@ds-mo/ui 15.4.1 → 15.5.1
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 +53 -6
- package/dist/angular/ds-select.d.ts +1 -1
- package/dist/angular/ds-select.js +3 -3
- package/dist/angular/ds-table.d.ts +7 -1
- package/dist/angular/ds-table.js +11 -5
- package/dist/components/ds-agent-questionnaire.js +1 -1
- 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-page-title.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-button-filled.js +1 -1
- package/dist/components/ds-button-unfilled.js +1 -1
- package/dist/components/ds-calendar.js +1 -1
- package/dist/components/ds-card-action-center.js +1 -1
- package/dist/components/ds-card-chart.js +1 -1
- package/dist/components/ds-card-setting.js +1 -1
- package/dist/components/ds-code-block.js +1 -1
- package/dist/components/ds-data-customize.js +1 -1
- package/dist/components/ds-data-filter.js +1 -1
- package/dist/components/ds-data-group.js +1 -1
- package/dist/components/ds-data-preferences.js +1 -1
- package/dist/components/ds-data-saved-views.js +1 -1
- package/dist/components/ds-data-search.js +1 -1
- package/dist/components/ds-data-sort.js +1 -1
- package/dist/components/ds-data-toolbar.js +1 -1
- package/dist/components/ds-divider.js +1 -1
- package/dist/components/ds-filter-menu.js +1 -1
- package/dist/components/ds-input-date.js +1 -1
- package/dist/components/ds-input-date.js.map +1 -1
- package/dist/components/ds-input-time.js +1 -1
- package/dist/components/ds-input-time.js.map +1 -1
- package/dist/components/ds-input.js +1 -1
- package/dist/components/ds-map-entity-marker.js +1 -1
- package/dist/components/ds-map-entity-marker.js.map +1 -1
- package/dist/components/ds-markdown.js +1 -1
- package/dist/components/ds-message-actions.js +1 -1
- package/dist/components/ds-message-bubble.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-header.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-pagination.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-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-tile.js +1 -1
- package/dist/components/ds-radio.js +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-shell-app.js +1 -1
- package/dist/components/ds-shell-tools.js +1 -1
- package/dist/components/ds-tab-group.js +1 -1
- package/dist/components/ds-table.js +1 -1
- package/dist/components/ds-table.js.map +1 -1
- package/dist/components/ds-textarea.js +1 -1
- package/dist/components/ds-textarea.js.map +1 -1
- package/dist/components/ds-toast.js +1 -1
- package/dist/components/{p-YYiDYQhS.js → p--VQc5GDy.js} +2 -2
- package/dist/components/{p-LENgfPDe.js → p-7MwoWtTJ.js} +2 -2
- package/dist/components/p-B95UP66y.js +2 -0
- package/dist/components/p-B95UP66y.js.map +1 -0
- package/dist/components/{p-D-J7GgjY.js → p-BLeHHoVb.js} +2 -2
- package/dist/components/{p-D-J7GgjY.js.map → p-BLeHHoVb.js.map} +1 -1
- package/dist/components/{p-CXGjCWSh.js → p-BfVMaZZE.js} +2 -2
- package/dist/components/{p-wRhYxngW.js → p-BlbfbYg6.js} +2 -2
- package/dist/components/{p-PtxCwf5S.js → p-BuDxlhnQ.js} +2 -2
- package/dist/components/p-BuGlC5r8.js +2 -0
- package/dist/components/p-BuGlC5r8.js.map +1 -0
- package/dist/components/{p-BkvAqrXg.js → p-C1ZfBbJ_.js} +2 -2
- package/dist/components/{p-BcpIK9S6.js → p-C35Tki38.js} +2 -2
- package/dist/components/{p-jwVzQaTZ.js → p-C378wwRj.js} +2 -2
- package/dist/components/{p-B6TX55c5.js → p-C9H-3JOA.js} +2 -2
- package/dist/components/{p-COD1C3Gj.js → p-CNeDJTGX.js} +2 -2
- package/dist/components/p-CXlklL-0.js +2 -0
- package/dist/components/{p-dUti7zhW.js.map → p-CXlklL-0.js.map} +1 -1
- package/dist/components/{p-D7wLvTHz.js → p-CcwxySms.js} +2 -2
- package/dist/components/p-CzdE3M3g.js +2 -0
- package/dist/components/p-CzdE3M3g.js.map +1 -0
- package/dist/components/{p-DQfKS7dz.js → p-D9_iDlkT.js} +2 -2
- package/dist/components/{p-DkxhNqT-.js → p-DPwptvZl.js} +2 -2
- package/dist/components/{p-Dg6hnCc2.js → p-DVsGfz7J.js} +2 -2
- package/dist/components/{p-Dg6hnCc2.js.map → p-DVsGfz7J.js.map} +1 -1
- package/dist/components/{p--STJbKuN.js → p-DYsRXun3.js} +2 -2
- package/dist/components/{p-BYeG0b5N.js → p-DZLtFn-r.js} +2 -2
- package/dist/components/{p-B0BQCVkq.js → p-D_iZPukF.js} +2 -2
- package/dist/components/p-Da3aFRk2.js +2 -0
- package/dist/components/p-Da3aFRk2.js.map +1 -0
- package/dist/components/{p-BK_4OHJO.js → p-Df9S0aWi.js} +2 -2
- package/dist/components/{p-YDMY8T0d.js → p-a-cIN_BX.js} +2 -2
- package/dist/components/{p-YDMY8T0d.js.map → p-a-cIN_BX.js.map} +1 -1
- package/dist/components/{p-C_9VGgPf.js → p-bQE1NZVe.js} +2 -2
- package/dist/components/{p-CcZSzCfs.js → p-sDm8BEMy.js} +2 -2
- package/dist/docs/components.json +417 -74
- package/dist/lint/index.js +1 -1
- package/dist/mcp-data/registry/button-filled.json +1 -1
- package/dist/mcp-data/registry/map-entity-marker.json +5 -5
- package/dist/mcp-data/registry/registry.json +52 -5
- package/dist/mcp-data/registry/select.json +54 -3
- package/dist/mcp-data/registry/table.json +138 -12
- package/dist/react/ds-table.d.ts +3 -1
- package/dist/react/ds-table.js +2 -0
- package/dist/styles/table.css +399 -8
- package/dist/types/components/MapEntityMarker/MapEntityMarker.d.ts +1 -1
- package/dist/types/components/Select/Select.d.ts +6 -0
- package/dist/types/components/Table/Table.d.ts +35 -0
- package/dist/types/components/Table/index.d.ts +1 -1
- package/dist/types/components/Table/table-body-renderer.d.ts +1 -0
- package/dist/types/components/Table/table-cell-editor.d.ts +4 -0
- package/dist/types/components/Table/table-grid-model.d.ts +23 -0
- package/dist/types/components/Table/table-layout-controller.d.ts +1 -0
- package/dist/types/components/Table/table-review-fixtures.d.ts +10 -0
- package/dist/types/components/Table/table-row-view.d.ts +11 -2
- package/dist/types/components/Table/table-skeleton-view.d.ts +3 -1
- package/dist/types/components/Table/table-structure.d.ts +38 -0
- package/dist/types/components/Table/table-types.d.ts +71 -1
- package/dist/types/components/Table/table-virtual-controller.d.ts +1 -0
- package/dist/types/components.d.ts +80 -4
- package/dist/types/utils/select-controller.d.ts +1 -0
- package/dist/vue/ds-select.js +3 -0
- package/dist/vue/ds-table.js +8 -0
- package/package.json +1 -1
- package/dist/components/p-buM-T4vF.js +0 -2
- package/dist/components/p-buM-T4vF.js.map +0 -1
- package/dist/components/p-dUti7zhW.js +0 -2
- /package/dist/components/{p-YYiDYQhS.js.map → p--VQc5GDy.js.map} +0 -0
- /package/dist/components/{p-LENgfPDe.js.map → p-7MwoWtTJ.js.map} +0 -0
- /package/dist/components/{p-CXGjCWSh.js.map → p-BfVMaZZE.js.map} +0 -0
- /package/dist/components/{p-wRhYxngW.js.map → p-BlbfbYg6.js.map} +0 -0
- /package/dist/components/{p-PtxCwf5S.js.map → p-BuDxlhnQ.js.map} +0 -0
- /package/dist/components/{p-BkvAqrXg.js.map → p-C1ZfBbJ_.js.map} +0 -0
- /package/dist/components/{p-BcpIK9S6.js.map → p-C35Tki38.js.map} +0 -0
- /package/dist/components/{p-jwVzQaTZ.js.map → p-C378wwRj.js.map} +0 -0
- /package/dist/components/{p-B6TX55c5.js.map → p-C9H-3JOA.js.map} +0 -0
- /package/dist/components/{p-COD1C3Gj.js.map → p-CNeDJTGX.js.map} +0 -0
- /package/dist/components/{p-D7wLvTHz.js.map → p-CcwxySms.js.map} +0 -0
- /package/dist/components/{p-DQfKS7dz.js.map → p-D9_iDlkT.js.map} +0 -0
- /package/dist/components/{p-DkxhNqT-.js.map → p-DPwptvZl.js.map} +0 -0
- /package/dist/components/{p--STJbKuN.js.map → p-DYsRXun3.js.map} +0 -0
- /package/dist/components/{p-BYeG0b5N.js.map → p-DZLtFn-r.js.map} +0 -0
- /package/dist/components/{p-B0BQCVkq.js.map → p-D_iZPukF.js.map} +0 -0
- /package/dist/components/{p-BK_4OHJO.js.map → p-Df9S0aWi.js.map} +0 -0
- /package/dist/components/{p-C_9VGgPf.js.map → p-bQE1NZVe.js.map} +0 -0
- /package/dist/components/{p-CcZSzCfs.js.map → p-sDm8BEMy.js.map} +0 -0
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
import type { TableRenderModel } from './table-render-model';
|
|
2
2
|
import { type TableHighlightMatcher } from './table-highlight';
|
|
3
3
|
import type { TableCellActionDetail, TableColumn, TableRow } from './table-types';
|
|
4
|
+
import type { TableColumnLayout, TableSpanCell } from './table-structure';
|
|
4
5
|
export interface TableRowViewOptions {
|
|
6
|
+
pins?: Map<string, TableColumnLayout>;
|
|
7
|
+
spans?: Map<string, TableSpanCell>;
|
|
8
|
+
headerId?: (id: string) => string;
|
|
9
|
+
responsiveCards?: boolean;
|
|
10
|
+
cellAttributes?: (row: TableRow, column: TableColumn) => Record<string, unknown>;
|
|
11
|
+
renderEditor?: (row: TableRow, column: TableColumn) => unknown;
|
|
12
|
+
renderEditTrigger?: (row: TableRow, column: TableColumn) => unknown;
|
|
13
|
+
grid?: boolean;
|
|
5
14
|
row: TableRow;
|
|
6
15
|
model: TableRenderModel;
|
|
7
16
|
visibleColumns: TableColumn[];
|
|
@@ -23,7 +32,7 @@ export interface TableRowViewOptions {
|
|
|
23
32
|
intrinsicBlockSize?: number;
|
|
24
33
|
rowKey?: string;
|
|
25
34
|
renderSelectionControl: (label: string, checked: boolean, indeterminate: boolean, disabled: boolean, onActivate: () => void) => unknown;
|
|
26
|
-
renderStickyEdge: (sticky: TableColumn['sticky']) => unknown;
|
|
35
|
+
renderStickyEdge: (sticky: TableColumn['sticky'], shadow?: boolean) => unknown;
|
|
27
36
|
onRowActivate: (row: TableRow, event: Event) => void;
|
|
28
37
|
onRowKeyDown: (row: TableRow, event: KeyboardEvent) => void;
|
|
29
38
|
onRowSelection: (row: TableRow) => void;
|
|
@@ -31,5 +40,5 @@ export interface TableRowViewOptions {
|
|
|
31
40
|
onActionMenuToggle: (row: TableRow, column: TableColumn, event: MouseEvent) => void;
|
|
32
41
|
}
|
|
33
42
|
/** Render one semantic body row and the complete declarative table-cell vocabulary. */
|
|
34
|
-
export declare function renderTableRow({ row, model, visibleColumns, emptyCellLabel, actionMenuElementId, actionMenu, actionMenuSurface, highlightMatcher, highlightFieldIds, surfaceOpenRowId, ariaRowIndex, variableVirtualSize, intrinsicBlockSize, rowKey, renderSelectionControl, renderStickyEdge, onRowActivate, onRowKeyDown, onRowSelection, onCellAction, onActionMenuToggle, }: TableRowViewOptions): any;
|
|
43
|
+
export declare function renderTableRow({ pins, spans, headerId, responsiveCards, cellAttributes, renderEditor, renderEditTrigger, grid, row, model, visibleColumns, emptyCellLabel, actionMenuElementId, actionMenu, actionMenuSurface, highlightMatcher, highlightFieldIds, surfaceOpenRowId, ariaRowIndex, variableVirtualSize, intrinsicBlockSize, rowKey, renderSelectionControl, renderStickyEdge, onRowActivate, onRowKeyDown, onRowSelection, onCellAction, onActionMenuToggle, }: TableRowViewOptions): any;
|
|
35
44
|
//# sourceMappingURL=table-row-view.d.ts.map
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type { TableRenderModel } from './table-render-model';
|
|
2
2
|
import type { TableColumn } from './table-types';
|
|
3
|
+
import type { TableColumnLayout } from './table-structure';
|
|
3
4
|
interface TableSkeletonViewOptions {
|
|
5
|
+
pins?: Map<string, TableColumnLayout>;
|
|
4
6
|
model: TableRenderModel;
|
|
5
7
|
visibleColumns: TableColumn[];
|
|
6
8
|
skeletonRows: number;
|
|
7
|
-
renderStickyEdge: (sticky: TableColumn['sticky']) => unknown;
|
|
9
|
+
renderStickyEdge: (sticky: TableColumn['sticky'], shadow?: boolean) => unknown;
|
|
8
10
|
}
|
|
9
11
|
/** Render the loading body from the same cell recipes used by loaded rows. */
|
|
10
12
|
export declare function renderTableSkeletonBody(options: TableSkeletonViewOptions): any;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { TableCellSpan, TableColumn, TableRow } from './table-types';
|
|
2
|
+
export interface TableColumnLayout {
|
|
3
|
+
style: Record<string, string>;
|
|
4
|
+
edge?: 'start' | 'end';
|
|
5
|
+
}
|
|
6
|
+
/** Column-only work. Never measure cells or scan rows while scrolling. */
|
|
7
|
+
export declare function tablePinnedColumns(columns: TableColumn[], selectable: boolean): Map<string, TableColumnLayout>;
|
|
8
|
+
export interface TableHeaderBand {
|
|
9
|
+
key: string;
|
|
10
|
+
label?: string;
|
|
11
|
+
start: number;
|
|
12
|
+
span: number;
|
|
13
|
+
firstColumnId?: string;
|
|
14
|
+
lastColumnId?: string;
|
|
15
|
+
sticky?: 'start' | 'end';
|
|
16
|
+
}
|
|
17
|
+
/** Split at visibility, reorder, selection, spacer and pin boundaries. Never span an unrelated column. */
|
|
18
|
+
export declare function tableHeaderBands(columns: TableColumn[], selectable: boolean, spacer?: number): TableHeaderBand[];
|
|
19
|
+
export type TableSpanCell = {
|
|
20
|
+
rowSpan: number;
|
|
21
|
+
colSpan: number;
|
|
22
|
+
columnStart: number;
|
|
23
|
+
columnIds: string[];
|
|
24
|
+
} | 'covered';
|
|
25
|
+
export interface TableSpanModel {
|
|
26
|
+
cells: Map<string, Map<string, TableSpanCell>>;
|
|
27
|
+
issues: string[];
|
|
28
|
+
hasRowSpans: boolean;
|
|
29
|
+
}
|
|
30
|
+
/** Validate the complete rectangle before covering any cells. Invalid spans leave all data visible. */
|
|
31
|
+
export declare function tableSpanModel(spans: TableCellSpan[], rows: TableRow[], columns: TableColumn[], options: {
|
|
32
|
+
windowed: boolean;
|
|
33
|
+
grouped: boolean;
|
|
34
|
+
grid: boolean;
|
|
35
|
+
selectable: boolean;
|
|
36
|
+
spacer?: number;
|
|
37
|
+
}): TableSpanModel;
|
|
38
|
+
//# sourceMappingURL=table-structure.d.ts.map
|
|
@@ -4,6 +4,7 @@ import type { IconColor } from '../Icon/Icon';
|
|
|
4
4
|
import type { SafetyScoreLevel } from '../Score/score-types';
|
|
5
5
|
import type { TextColor } from '../Text/text-types';
|
|
6
6
|
import type { PaginationState } from '../Pagination/pagination-types';
|
|
7
|
+
import type { SelectOption } from '../Select/Select';
|
|
7
8
|
export type DataSortDirection = 'asc' | 'desc';
|
|
8
9
|
export type TableSelectionMode = 'none' | 'multiple';
|
|
9
10
|
export type TableCellAlign = 'start' | 'center' | 'end';
|
|
@@ -293,7 +294,42 @@ export type TableCellSkeleton = {
|
|
|
293
294
|
} | {
|
|
294
295
|
kind: 'blank';
|
|
295
296
|
};
|
|
297
|
+
/** Scalar editors compose the shared borderless controls; the cell owns interaction chrome. */
|
|
298
|
+
export type TableCellEditor = {
|
|
299
|
+
required?: boolean;
|
|
300
|
+
} & ({
|
|
301
|
+
type: 'text' | 'textarea';
|
|
302
|
+
minLength?: number;
|
|
303
|
+
maxLength?: number;
|
|
304
|
+
} | {
|
|
305
|
+
type: 'number';
|
|
306
|
+
min?: number;
|
|
307
|
+
max?: number;
|
|
308
|
+
step?: number;
|
|
309
|
+
showStepper?: boolean;
|
|
310
|
+
} | {
|
|
311
|
+
type: 'select';
|
|
312
|
+
options: SelectOption[];
|
|
313
|
+
searchable?: boolean;
|
|
314
|
+
} | {
|
|
315
|
+
type: 'date';
|
|
316
|
+
min?: string;
|
|
317
|
+
max?: string;
|
|
318
|
+
} | {
|
|
319
|
+
type: 'time';
|
|
320
|
+
min?: string;
|
|
321
|
+
max?: string;
|
|
322
|
+
step?: number;
|
|
323
|
+
hourFormat?: '12' | '24';
|
|
324
|
+
});
|
|
296
325
|
export interface TableColumn extends DataField {
|
|
326
|
+
/** Optional super-header identity and label. Adjacent matching identities form one band. */
|
|
327
|
+
group?: {
|
|
328
|
+
id: string;
|
|
329
|
+
label: string;
|
|
330
|
+
};
|
|
331
|
+
/** Opt-in scalar editor used in edit (pencil) or grid (worksheet) interaction modes. */
|
|
332
|
+
editor?: TableCellEditor;
|
|
297
333
|
segments?: TableHeaderSegment[];
|
|
298
334
|
/** Supplementary header help. Does not replace the visible or accessible column name. */
|
|
299
335
|
help?: string;
|
|
@@ -310,7 +346,7 @@ export interface TableColumn extends DataField {
|
|
|
310
346
|
wrap?: boolean;
|
|
311
347
|
/** Clamp wrapping text after 1, 2, or 3 lines. Omit with wrap for unlimited wrap. */
|
|
312
348
|
maxLines?: TableCellMaxLines;
|
|
313
|
-
/** Pin
|
|
349
|
+
/** Pin an explicitly sized column. Visible pinned columns accumulate in display order. */
|
|
314
350
|
sticky?: TableColumnSticky;
|
|
315
351
|
/**
|
|
316
352
|
* Declare a trailing application-action lane. Action columns keep fixed
|
|
@@ -324,6 +360,8 @@ export interface TableRow {
|
|
|
324
360
|
/** Stable identity, unique across all groups. */
|
|
325
361
|
id: string;
|
|
326
362
|
cells: Record<string, TableCellValue>;
|
|
363
|
+
/** Presentation is separate from cell values; omitted alignment preserves first-track alignment. */
|
|
364
|
+
cellPresentation?: Record<string, TableCellDecoration>;
|
|
327
365
|
/** Accessible row name used by its selection control. Falls back to the first cell. */
|
|
328
366
|
selectionLabel?: string;
|
|
329
367
|
/** Exclude this row from selection without muting its content. */
|
|
@@ -333,6 +371,38 @@ export interface TableRow {
|
|
|
333
371
|
/** Make the complete row a keyboard- and pointer-activatable application target. */
|
|
334
372
|
interactive?: boolean;
|
|
335
373
|
}
|
|
374
|
+
export interface TableCellDecoration {
|
|
375
|
+
verticalAlign?: 'top' | 'middle' | 'bottom';
|
|
376
|
+
/** Left-edge intent outline with an accessible, non-color-only explanation. */
|
|
377
|
+
highlight?: {
|
|
378
|
+
intent: TableGroupIntent;
|
|
379
|
+
label: string;
|
|
380
|
+
};
|
|
381
|
+
borders?: Array<'start' | 'end' | 'top' | 'bottom'>;
|
|
382
|
+
flag?: {
|
|
383
|
+
label: string;
|
|
384
|
+
icon?: string;
|
|
385
|
+
};
|
|
386
|
+
}
|
|
387
|
+
/** A rectangular merge anchored at the first row/column. Covered values remain in application data. */
|
|
388
|
+
export interface TableCellSpan {
|
|
389
|
+
rowIds: string[];
|
|
390
|
+
columnIds: string[];
|
|
391
|
+
}
|
|
392
|
+
export interface TableCellAddress {
|
|
393
|
+
rowId: string;
|
|
394
|
+
columnId: string;
|
|
395
|
+
}
|
|
396
|
+
export interface TableCellRange {
|
|
397
|
+
anchor: TableCellAddress;
|
|
398
|
+
focus: TableCellAddress;
|
|
399
|
+
}
|
|
400
|
+
export interface TableCellsChangeDetail {
|
|
401
|
+
changes: Array<TableCellAddress & {
|
|
402
|
+
value: string | number | null;
|
|
403
|
+
}>;
|
|
404
|
+
reason: 'edit' | 'paste';
|
|
405
|
+
}
|
|
336
406
|
/** Supporting copy on a group section header's second track. */
|
|
337
407
|
export interface TableGroupAccessory {
|
|
338
408
|
text: string;
|
|
@@ -40,7 +40,7 @@ import { MenuItemData, MenuReorderDetail, MenuSection } from "./components/Menu/
|
|
|
40
40
|
import { DataCustomizeChangeDetail } from "./components/DataCustomize/DataCustomize";
|
|
41
41
|
import { FilterMenuChangeDetail, FilterMenuFilter, FilterMenuMatchModeChangeDetail, FilterMenuMatchModes, FilterMenuValues } from "./components/FilterMenu/FilterMenu";
|
|
42
42
|
import { DataGroupOption } from "./components/DataGroup/DataGroup";
|
|
43
|
-
import { DataFieldsConfigChangeDetail, DataGroup, DataGroupingState, DataSortChangeDetail, DataSortState, TableCaptionVisibility, TableCellActionDetail, TableColumn, TableDataMode, TableDataModeChangeDetail, TableGroupCollapseChangeDetail, TableGroupLoadMoreDetail, TableLoadMoreDetail, TableLoadMoreMode, TablePaginationState, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode } from "./components/Table/table-types";
|
|
43
|
+
import { DataFieldsConfigChangeDetail, DataGroup, DataGroupingState, DataSortChangeDetail, DataSortState, TableCaptionVisibility, TableCellActionDetail, TableCellRange, TableCellsChangeDetail, TableCellSpan, TableColumn, TableDataMode, TableDataModeChangeDetail, TableGroupCollapseChangeDetail, TableGroupLoadMoreDetail, TableLoadMoreDetail, TableLoadMoreMode, TablePaginationState, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode } from "./components/Table/table-types";
|
|
44
44
|
import { DataGroupOption as DataGroupOption1 } from "./components/DataGroup/DataGroup";
|
|
45
45
|
import { PreferencesTab } from "./components/DataPreferences/DataPreferences";
|
|
46
46
|
import { DataSavedView, DataSavedViewChangeDetail, DataSavedViewCreateDetail, DataSavedViewDiscardDetail, DataSavedViewRemoveDetail, DataSavedViewRenameDetail, DataSavedViewSaveDetail } from "./components/DataSavedViews/data-saved-views-types";
|
|
@@ -128,7 +128,7 @@ export { MenuItemData, MenuReorderDetail, MenuSection } from "./components/Menu/
|
|
|
128
128
|
export { DataCustomizeChangeDetail } from "./components/DataCustomize/DataCustomize";
|
|
129
129
|
export { FilterMenuChangeDetail, FilterMenuFilter, FilterMenuMatchModeChangeDetail, FilterMenuMatchModes, FilterMenuValues } from "./components/FilterMenu/FilterMenu";
|
|
130
130
|
export { DataGroupOption } from "./components/DataGroup/DataGroup";
|
|
131
|
-
export { DataFieldsConfigChangeDetail, DataGroup, DataGroupingState, DataSortChangeDetail, DataSortState, TableCaptionVisibility, TableCellActionDetail, TableColumn, TableDataMode, TableDataModeChangeDetail, TableGroupCollapseChangeDetail, TableGroupLoadMoreDetail, TableLoadMoreDetail, TableLoadMoreMode, TablePaginationState, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode } from "./components/Table/table-types";
|
|
131
|
+
export { DataFieldsConfigChangeDetail, DataGroup, DataGroupingState, DataSortChangeDetail, DataSortState, TableCaptionVisibility, TableCellActionDetail, TableCellRange, TableCellsChangeDetail, TableCellSpan, TableColumn, TableDataMode, TableDataModeChangeDetail, TableGroupCollapseChangeDetail, TableGroupLoadMoreDetail, TableLoadMoreDetail, TableLoadMoreMode, TablePaginationState, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode } from "./components/Table/table-types";
|
|
132
132
|
export { DataGroupOption as DataGroupOption1 } from "./components/DataGroup/DataGroup";
|
|
133
133
|
export { PreferencesTab } from "./components/DataPreferences/DataPreferences";
|
|
134
134
|
export { DataSavedView, DataSavedViewChangeDetail, DataSavedViewCreateDetail, DataSavedViewDiscardDetail, DataSavedViewRemoveDetail, DataSavedViewRenameDetail, DataSavedViewSaveDetail } from "./components/DataSavedViews/data-saved-views-types";
|
|
@@ -2557,7 +2557,7 @@ export namespace Components {
|
|
|
2557
2557
|
*/
|
|
2558
2558
|
"dimmed": boolean;
|
|
2559
2559
|
/**
|
|
2560
|
-
* Canonical IcoMo icon name for the represented map entity. Immobilized
|
|
2560
|
+
* Canonical IcoMo icon name for the represented map entity. Immobilized vehicles use MapKey.
|
|
2561
2561
|
* @default 'MapEntityTravelGroup'
|
|
2562
2562
|
*/
|
|
2563
2563
|
"icon": string;
|
|
@@ -3595,6 +3595,10 @@ export namespace Components {
|
|
|
3595
3595
|
* @default true
|
|
3596
3596
|
*/
|
|
3597
3597
|
"allowClear": boolean;
|
|
3598
|
+
/**
|
|
3599
|
+
* Optional popup positioning anchor; the trigger still owns focus and accessibility.
|
|
3600
|
+
*/
|
|
3601
|
+
"anchor": HTMLElement | undefined;
|
|
3598
3602
|
/**
|
|
3599
3603
|
* Additional IDs that describe the combobox.
|
|
3600
3604
|
*/
|
|
@@ -3658,6 +3662,16 @@ export namespace Components {
|
|
|
3658
3662
|
* @default true
|
|
3659
3663
|
*/
|
|
3660
3664
|
"hasBorder": boolean;
|
|
3665
|
+
/**
|
|
3666
|
+
* Disable only when a containing surface supplies a visible focus indicator.
|
|
3667
|
+
* @default true
|
|
3668
|
+
*/
|
|
3669
|
+
"hasFocusRing": boolean;
|
|
3670
|
+
/**
|
|
3671
|
+
* Disable only when a containing surface owns hover and press feedback.
|
|
3672
|
+
* @default true
|
|
3673
|
+
*/
|
|
3674
|
+
"hasInteractionFill": boolean;
|
|
3661
3675
|
/**
|
|
3662
3676
|
* Optional trigger prefix icon name.
|
|
3663
3677
|
*/
|
|
@@ -4342,6 +4356,16 @@ export namespace Components {
|
|
|
4342
4356
|
* @default 'hidden'
|
|
4343
4357
|
*/
|
|
4344
4358
|
"captionVisibility": TableCaptionVisibility;
|
|
4359
|
+
/**
|
|
4360
|
+
* Controlled rectangular cell selection, independent of row checkbox selection.
|
|
4361
|
+
* @default null
|
|
4362
|
+
*/
|
|
4363
|
+
"cellRange": TableCellRange | null;
|
|
4364
|
+
/**
|
|
4365
|
+
* Explicit report merges; invalid combinations leave the original cells visible.
|
|
4366
|
+
* @default []
|
|
4367
|
+
*/
|
|
4368
|
+
"cellSpans": TableCellSpan[];
|
|
4345
4369
|
/**
|
|
4346
4370
|
* Replace opted-in table-owned caption controls with same-size visual skeletons.
|
|
4347
4371
|
* @default false
|
|
@@ -4498,6 +4522,11 @@ export namespace Components {
|
|
|
4498
4522
|
* @default 'Infinite scroll'
|
|
4499
4523
|
*/
|
|
4500
4524
|
"infiniteModeLabel": string;
|
|
4525
|
+
/**
|
|
4526
|
+
* Table is read-only; edit uses per-cell pencil buttons; grid adds cell selection and keyboard navigation. Grouped tables remain read-only.
|
|
4527
|
+
* @default 'table'
|
|
4528
|
+
*/
|
|
4529
|
+
"interactionMode": 'table' | 'edit' | 'grid';
|
|
4501
4530
|
/**
|
|
4502
4531
|
* Reset key for a new query/group/sort dataset.
|
|
4503
4532
|
* @default 'default'
|
|
@@ -4543,6 +4572,11 @@ export namespace Components {
|
|
|
4543
4572
|
* @default 'Pagination + Infinite groups'
|
|
4544
4573
|
*/
|
|
4545
4574
|
"paginationModeLabel": string;
|
|
4575
|
+
/**
|
|
4576
|
+
* Opt-in native card presentation below the 768px table container breakpoint.
|
|
4577
|
+
* @default 'scroll'
|
|
4578
|
+
*/
|
|
4579
|
+
"responsiveLayout": 'scroll' | 'cards';
|
|
4546
4580
|
/**
|
|
4547
4581
|
* Supports {displayed} and {total} placeholders.
|
|
4548
4582
|
* @default 'Displaying {displayed} of {total}'
|
|
@@ -6697,6 +6731,8 @@ declare global {
|
|
|
6697
6731
|
new (): HTMLDsTabGroupElement;
|
|
6698
6732
|
};
|
|
6699
6733
|
interface HTMLDsTableElementEventMap {
|
|
6734
|
+
"dsCellRangeChange": TableCellRange;
|
|
6735
|
+
"dsCellsChange": TableCellsChangeDetail;
|
|
6700
6736
|
"dsCustomizeOptionChange": string;
|
|
6701
6737
|
"dsSortChange": DataSortChangeDetail;
|
|
6702
6738
|
"dsGroupCollapseChange": TableGroupCollapseChangeDetail;
|
|
@@ -9536,7 +9572,7 @@ declare namespace LocalJSX {
|
|
|
9536
9572
|
*/
|
|
9537
9573
|
"dimmed"?: boolean;
|
|
9538
9574
|
/**
|
|
9539
|
-
* Canonical IcoMo icon name for the represented map entity. Immobilized
|
|
9575
|
+
* Canonical IcoMo icon name for the represented map entity. Immobilized vehicles use MapKey.
|
|
9540
9576
|
* @default 'MapEntityTravelGroup'
|
|
9541
9577
|
*/
|
|
9542
9578
|
"icon"?: string;
|
|
@@ -10659,6 +10695,10 @@ declare namespace LocalJSX {
|
|
|
10659
10695
|
* @default true
|
|
10660
10696
|
*/
|
|
10661
10697
|
"allowClear"?: boolean;
|
|
10698
|
+
/**
|
|
10699
|
+
* Optional popup positioning anchor; the trigger still owns focus and accessibility.
|
|
10700
|
+
*/
|
|
10701
|
+
"anchor"?: HTMLElement | undefined;
|
|
10662
10702
|
/**
|
|
10663
10703
|
* Additional IDs that describe the combobox.
|
|
10664
10704
|
*/
|
|
@@ -10722,6 +10762,16 @@ declare namespace LocalJSX {
|
|
|
10722
10762
|
* @default true
|
|
10723
10763
|
*/
|
|
10724
10764
|
"hasBorder"?: boolean;
|
|
10765
|
+
/**
|
|
10766
|
+
* Disable only when a containing surface supplies a visible focus indicator.
|
|
10767
|
+
* @default true
|
|
10768
|
+
*/
|
|
10769
|
+
"hasFocusRing"?: boolean;
|
|
10770
|
+
/**
|
|
10771
|
+
* Disable only when a containing surface owns hover and press feedback.
|
|
10772
|
+
* @default true
|
|
10773
|
+
*/
|
|
10774
|
+
"hasInteractionFill"?: boolean;
|
|
10725
10775
|
/**
|
|
10726
10776
|
* Optional trigger prefix icon name.
|
|
10727
10777
|
*/
|
|
@@ -11498,6 +11548,16 @@ declare namespace LocalJSX {
|
|
|
11498
11548
|
* @default 'hidden'
|
|
11499
11549
|
*/
|
|
11500
11550
|
"captionVisibility"?: TableCaptionVisibility;
|
|
11551
|
+
/**
|
|
11552
|
+
* Controlled rectangular cell selection, independent of row checkbox selection.
|
|
11553
|
+
* @default null
|
|
11554
|
+
*/
|
|
11555
|
+
"cellRange"?: TableCellRange | null;
|
|
11556
|
+
/**
|
|
11557
|
+
* Explicit report merges; invalid combinations leave the original cells visible.
|
|
11558
|
+
* @default []
|
|
11559
|
+
*/
|
|
11560
|
+
"cellSpans"?: TableCellSpan[];
|
|
11501
11561
|
/**
|
|
11502
11562
|
* Replace opted-in table-owned caption controls with same-size visual skeletons.
|
|
11503
11563
|
* @default false
|
|
@@ -11654,6 +11714,11 @@ declare namespace LocalJSX {
|
|
|
11654
11714
|
* @default 'Infinite scroll'
|
|
11655
11715
|
*/
|
|
11656
11716
|
"infiniteModeLabel"?: string;
|
|
11717
|
+
/**
|
|
11718
|
+
* Table is read-only; edit uses per-cell pencil buttons; grid adds cell selection and keyboard navigation. Grouped tables remain read-only.
|
|
11719
|
+
* @default 'table'
|
|
11720
|
+
*/
|
|
11721
|
+
"interactionMode"?: 'table' | 'edit' | 'grid';
|
|
11657
11722
|
/**
|
|
11658
11723
|
* Reset key for a new query/group/sort dataset.
|
|
11659
11724
|
* @default 'default'
|
|
@@ -11691,6 +11756,8 @@ declare namespace LocalJSX {
|
|
|
11691
11756
|
*/
|
|
11692
11757
|
"maxHeight"?: string | number | undefined;
|
|
11693
11758
|
"onDsCellAction"?: (event: DsTableCustomEvent<TableCellActionDetail>) => void;
|
|
11759
|
+
"onDsCellRangeChange"?: (event: DsTableCustomEvent<TableCellRange>) => void;
|
|
11760
|
+
"onDsCellsChange"?: (event: DsTableCustomEvent<TableCellsChangeDetail>) => void;
|
|
11694
11761
|
"onDsCustomizeOptionChange"?: (event: DsTableCustomEvent<string>) => void;
|
|
11695
11762
|
"onDsDataModeChange"?: (event: DsTableCustomEvent<TableDataModeChangeDetail>) => void;
|
|
11696
11763
|
"onDsFieldsConfigChange"?: (event: DsTableCustomEvent<DataFieldsConfigChangeDetail>) => void;
|
|
@@ -11710,6 +11777,11 @@ declare namespace LocalJSX {
|
|
|
11710
11777
|
* @default 'Pagination + Infinite groups'
|
|
11711
11778
|
*/
|
|
11712
11779
|
"paginationModeLabel"?: string;
|
|
11780
|
+
/**
|
|
11781
|
+
* Opt-in native card presentation below the 768px table container breakpoint.
|
|
11782
|
+
* @default 'scroll'
|
|
11783
|
+
*/
|
|
11784
|
+
"responsiveLayout"?: 'scroll' | 'cards';
|
|
11713
11785
|
/**
|
|
11714
11786
|
* Supports {displayed} and {total} placeholders.
|
|
11715
11787
|
* @default 'Displaying {displayed} of {total}'
|
|
@@ -13018,6 +13090,8 @@ declare namespace LocalJSX {
|
|
|
13018
13090
|
"collapseLabel": boolean;
|
|
13019
13091
|
"iconOnly": boolean;
|
|
13020
13092
|
"hasBorder": boolean;
|
|
13093
|
+
"hasInteractionFill": boolean;
|
|
13094
|
+
"hasFocusRing": boolean;
|
|
13021
13095
|
"rounded": boolean;
|
|
13022
13096
|
"icon": string | undefined;
|
|
13023
13097
|
"indicator": SelectIndicator;
|
|
@@ -13156,6 +13230,8 @@ declare namespace LocalJSX {
|
|
|
13156
13230
|
"ariaLabelledby": string | undefined;
|
|
13157
13231
|
}
|
|
13158
13232
|
interface DsTableAttributes {
|
|
13233
|
+
"responsiveLayout": 'scroll' | 'cards';
|
|
13234
|
+
"interactionMode": 'table' | 'edit' | 'grid';
|
|
13159
13235
|
"caption": string;
|
|
13160
13236
|
"captionVisibility": TableCaptionVisibility;
|
|
13161
13237
|
"columnCustomizer": boolean;
|
|
@@ -13,6 +13,7 @@ export interface SelectControllerState<T extends ChoiceOption> {
|
|
|
13
13
|
readonly preferredIndex: number;
|
|
14
14
|
readonly popupAlign: 'start' | 'end';
|
|
15
15
|
readonly boundary: HTMLElement | undefined;
|
|
16
|
+
readonly anchor?: HTMLElement;
|
|
16
17
|
open: boolean;
|
|
17
18
|
activeIndex: number;
|
|
18
19
|
searchTerm: string;
|
package/dist/vue/ds-select.js
CHANGED
|
@@ -24,6 +24,7 @@ export const DsSelect = /*@__PURE__*/ defineContainer('ds-select', defineDsSelec
|
|
|
24
24
|
'width',
|
|
25
25
|
'popupAlign',
|
|
26
26
|
'boundary',
|
|
27
|
+
'anchor',
|
|
27
28
|
'isInactive',
|
|
28
29
|
'isLoading',
|
|
29
30
|
'neutralTrigger',
|
|
@@ -31,6 +32,8 @@ export const DsSelect = /*@__PURE__*/ defineContainer('ds-select', defineDsSelec
|
|
|
31
32
|
'collapseLabel',
|
|
32
33
|
'iconOnly',
|
|
33
34
|
'hasBorder',
|
|
35
|
+
'hasInteractionFill',
|
|
36
|
+
'hasFocusRing',
|
|
34
37
|
'rounded',
|
|
35
38
|
'icon',
|
|
36
39
|
'indicator',
|
package/dist/vue/ds-table.js
CHANGED
|
@@ -5,6 +5,10 @@ import { defineContainer } from './vue-runtime.js';
|
|
|
5
5
|
import { defineCustomElement as defineDsTable } from '@ds-mo/ui/components/ds-table.js';
|
|
6
6
|
export const DsTable = /*@__PURE__*/ defineContainer('ds-table', defineDsTable, [
|
|
7
7
|
'columns',
|
|
8
|
+
'responsiveLayout',
|
|
9
|
+
'cellSpans',
|
|
10
|
+
'interactionMode',
|
|
11
|
+
'cellRange',
|
|
8
12
|
'customizeOptions',
|
|
9
13
|
'rows',
|
|
10
14
|
'groups',
|
|
@@ -68,6 +72,8 @@ export const DsTable = /*@__PURE__*/ defineContainer('ds-table', defineDsTable,
|
|
|
68
72
|
'groupLoadingMoreLabel',
|
|
69
73
|
'groupEndOfResultsLabel',
|
|
70
74
|
'groupRowsLoadedLabel',
|
|
75
|
+
'dsCellRangeChange',
|
|
76
|
+
'dsCellsChange',
|
|
71
77
|
'dsCustomizeOptionChange',
|
|
72
78
|
'dsSortChange',
|
|
73
79
|
'dsGroupCollapseChange',
|
|
@@ -80,6 +86,8 @@ export const DsTable = /*@__PURE__*/ defineContainer('ds-table', defineDsTable,
|
|
|
80
86
|
'dsFieldsConfigChange',
|
|
81
87
|
'dsDataModeChange'
|
|
82
88
|
], [
|
|
89
|
+
'dsCellRangeChange',
|
|
90
|
+
'dsCellsChange',
|
|
83
91
|
'dsCustomizeOptionChange',
|
|
84
92
|
'dsSortChange',
|
|
85
93
|
'dsGroupCollapseChange',
|