@cloudscape-design/components 3.0.1194 → 3.0.1196
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/cards/index.d.ts.map +1 -1
- package/cards/index.js +8 -10
- package/cards/index.js.map +1 -1
- package/cards/styles.css.js +38 -39
- package/cards/styles.scoped.css +43 -158
- package/cards/styles.selectors.js +38 -39
- package/internal/base-component/styles.scoped.css +1 -1
- package/internal/components/card/index.d.ts +14 -0
- package/internal/components/card/index.d.ts.map +1 -0
- package/internal/components/card/index.js +16 -0
- package/internal/components/card/index.js.map +1 -0
- package/internal/components/card/interfaces.d.ts +44 -0
- package/internal/components/card/interfaces.d.ts.map +1 -0
- package/internal/components/card/interfaces.js +2 -0
- package/internal/components/card/interfaces.js.map +1 -0
- package/internal/components/card/styles.css.js +16 -0
- package/internal/components/card/styles.scoped.css +316 -0
- package/internal/components/card/styles.selectors.js +17 -0
- package/internal/environment.js +2 -2
- package/internal/environment.json +2 -2
- package/internal/manifest.json +1 -1
- package/package.json +1 -1
- package/table/body-cell/styles.css.js +48 -47
- package/table/body-cell/styles.scoped.css +380 -374
- package/table/body-cell/styles.selectors.js +48 -47
- package/table/body-cell/td-element.d.ts +1 -0
- package/table/body-cell/td-element.d.ts.map +1 -1
- package/table/body-cell/td-element.js +7 -2
- package/table/body-cell/td-element.js.map +1 -1
- package/table/expandable-rows/expandable-rows-utils.d.ts +13 -5
- package/table/expandable-rows/expandable-rows-utils.d.ts.map +1 -1
- package/table/expandable-rows/expandable-rows-utils.js +19 -8
- package/table/expandable-rows/expandable-rows-utils.js.map +1 -1
- package/table/index.d.ts.map +1 -1
- package/table/index.js +4 -1
- package/table/index.js.map +1 -1
- package/table/interfaces.d.ts +75 -17
- package/table/interfaces.d.ts.map +1 -1
- package/table/interfaces.js.map +1 -1
- package/table/internal.d.ts.map +1 -1
- package/table/internal.js +50 -23
- package/table/internal.js.map +1 -1
- package/table/progressive-loading/loader-cell.d.ts +1 -0
- package/table/progressive-loading/loader-cell.d.ts.map +1 -1
- package/table/progressive-loading/loader-cell.js +3 -2
- package/table/progressive-loading/loader-cell.js.map +1 -1
- package/table/progressive-loading/progressive-loading-utils.d.ts +3 -9
- package/table/progressive-loading/progressive-loading-utils.d.ts.map +1 -1
- package/table/progressive-loading/progressive-loading-utils.js +6 -5
- package/table/progressive-loading/progressive-loading-utils.js.map +1 -1
- package/table/selection/index.d.ts +1 -1
- package/table/selection/index.d.ts.map +1 -1
- package/table/selection/index.js.map +1 -1
- package/table/selection/interfaces.d.ts +7 -1
- package/table/selection/interfaces.d.ts.map +1 -1
- package/table/selection/interfaces.js.map +1 -1
- package/table/selection/selection-cell.d.ts +2 -2
- package/table/selection/selection-cell.d.ts.map +1 -1
- package/table/selection/selection-cell.js.map +1 -1
- package/table/selection/selection-control.d.ts +2 -2
- package/table/selection/selection-control.d.ts.map +1 -1
- package/table/selection/selection-control.js.map +1 -1
- package/table/selection/use-group-selection.d.ts +22 -0
- package/table/selection/use-group-selection.d.ts.map +1 -0
- package/table/selection/use-group-selection.js +103 -0
- package/table/selection/use-group-selection.js.map +1 -0
- package/table/selection/use-selection-focus-move.d.ts +2 -2
- package/table/selection/use-selection-focus-move.d.ts.map +1 -1
- package/table/selection/use-selection-focus-move.js.map +1 -1
- package/table/selection/use-selection.d.ts +4 -8
- package/table/selection/use-selection.d.ts.map +1 -1
- package/table/selection/use-selection.js +17 -6
- package/table/selection/use-selection.js.map +1 -1
- package/table/selection/utils.d.ts +1 -1
- package/table/selection/utils.d.ts.map +1 -1
- package/table/selection/utils.js.map +1 -1
- package/table/test-classes/styles.css.js +6 -0
- package/table/test-classes/styles.scoped.css +7 -0
- package/table/test-classes/styles.selectors.js +7 -0
- package/table/thead.d.ts +4 -4
- package/table/thead.d.ts.map +1 -1
- package/table/thead.js.map +1 -1
- package/table/use-table-focus-navigation.d.ts +2 -2
- package/table/use-table-focus-navigation.d.ts.map +1 -1
- package/table/use-table-focus-navigation.js.map +1 -1
- package/test-utils/dom/cards/index.d.ts +0 -5
- package/test-utils/dom/cards/index.js +0 -5
- package/test-utils/dom/cards/index.js.map +1 -1
- package/test-utils/dom/table/index.d.ts +7 -0
- package/test-utils/dom/table/index.js +11 -0
- package/test-utils/dom/table/index.js.map +1 -1
- package/test-utils/selectors/cards/index.d.ts +0 -5
- package/test-utils/selectors/cards/index.js +0 -5
- package/test-utils/selectors/cards/index.js.map +1 -1
- package/test-utils/selectors/table/index.d.ts +7 -0
- package/test-utils/selectors/table/index.js +11 -0
- package/test-utils/selectors/table/index.js.map +1 -1
|
@@ -2,52 +2,53 @@
|
|
|
2
2
|
// es-module interop with Babel and Typescript
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
module.exports.default = {
|
|
5
|
-
"expandable-toggle-wrapper": "awsui_expandable-toggle-
|
|
6
|
-
"body-cell": "awsui_body-
|
|
7
|
-
"body-cell-content": "awsui_body-cell-
|
|
8
|
-
"expandable-level-0": "awsui_expandable-level-
|
|
9
|
-
"expandable-level-1": "awsui_expandable-level-
|
|
10
|
-
"expandable-level-2": "awsui_expandable-level-
|
|
11
|
-
"expandable-level-3": "awsui_expandable-level-
|
|
12
|
-
"expandable-level-4": "awsui_expandable-level-
|
|
13
|
-
"expandable-level-5": "awsui_expandable-level-
|
|
14
|
-
"expandable-level-6": "awsui_expandable-level-
|
|
15
|
-
"expandable-level-7": "awsui_expandable-level-
|
|
16
|
-
"expandable-level-8": "awsui_expandable-level-
|
|
17
|
-
"expandable-level-9": "awsui_expandable-level-
|
|
18
|
-
"expandable-level-next": "awsui_expandable-level-
|
|
19
|
-
"body-cell-align-top": "awsui_body-cell-align-
|
|
20
|
-
"body-cell-wrap": "awsui_body-cell-
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"body-cell-
|
|
24
|
-
"body-cell-
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"body-cell-
|
|
30
|
-
"body-cell-
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"sticky-cell-last-inline-
|
|
37
|
-
"
|
|
38
|
-
"body-cell-
|
|
39
|
-
"body-cell-
|
|
40
|
-
"body-cell-
|
|
41
|
-
"body-cell-
|
|
42
|
-
"body-cell-editor
|
|
43
|
-
"body-cell-editor-
|
|
44
|
-
"body-cell-editor-
|
|
45
|
-
"body-cell-editor-
|
|
46
|
-
"body-cell-editor-
|
|
47
|
-
"body-cell-editor-
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"body-cell-
|
|
5
|
+
"expandable-toggle-wrapper": "awsui_expandable-toggle-wrapper_c6tup_hvmkg_145",
|
|
6
|
+
"body-cell": "awsui_body-cell_c6tup_hvmkg_152",
|
|
7
|
+
"body-cell-content": "awsui_body-cell-content_c6tup_hvmkg_160",
|
|
8
|
+
"expandable-level-0": "awsui_expandable-level-0_c6tup_hvmkg_166",
|
|
9
|
+
"expandable-level-1": "awsui_expandable-level-1_c6tup_hvmkg_173",
|
|
10
|
+
"expandable-level-2": "awsui_expandable-level-2_c6tup_hvmkg_180",
|
|
11
|
+
"expandable-level-3": "awsui_expandable-level-3_c6tup_hvmkg_187",
|
|
12
|
+
"expandable-level-4": "awsui_expandable-level-4_c6tup_hvmkg_194",
|
|
13
|
+
"expandable-level-5": "awsui_expandable-level-5_c6tup_hvmkg_201",
|
|
14
|
+
"expandable-level-6": "awsui_expandable-level-6_c6tup_hvmkg_208",
|
|
15
|
+
"expandable-level-7": "awsui_expandable-level-7_c6tup_hvmkg_215",
|
|
16
|
+
"expandable-level-8": "awsui_expandable-level-8_c6tup_hvmkg_222",
|
|
17
|
+
"expandable-level-9": "awsui_expandable-level-9_c6tup_hvmkg_229",
|
|
18
|
+
"expandable-level-next": "awsui_expandable-level-next_c6tup_hvmkg_236",
|
|
19
|
+
"body-cell-align-top": "awsui_body-cell-align-top_c6tup_hvmkg_254",
|
|
20
|
+
"body-cell-wrap": "awsui_body-cell-wrap_c6tup_hvmkg_260",
|
|
21
|
+
"body-cell-counter": "awsui_body-cell-counter_c6tup_hvmkg_265",
|
|
22
|
+
"is-visual-refresh": "awsui_is-visual-refresh_c6tup_hvmkg_363",
|
|
23
|
+
"body-cell-edit-active": "awsui_body-cell-edit-active_c6tup_hvmkg_453",
|
|
24
|
+
"body-cell-expandable": "awsui_body-cell-expandable_c6tup_hvmkg_453",
|
|
25
|
+
"body-cell-editable": "awsui_body-cell-editable_c6tup_hvmkg_453",
|
|
26
|
+
"has-striped-rows": "awsui_has-striped-rows_c6tup_hvmkg_536",
|
|
27
|
+
"sticky-cell-pad-inline-start": "awsui_sticky-cell-pad-inline-start_c6tup_hvmkg_702",
|
|
28
|
+
"has-selection": "awsui_has-selection_c6tup_hvmkg_868",
|
|
29
|
+
"body-cell-first-row": "awsui_body-cell-first-row_c6tup_hvmkg_1037",
|
|
30
|
+
"body-cell-last-row": "awsui_body-cell-last-row_c6tup_hvmkg_1040",
|
|
31
|
+
"body-cell-selected": "awsui_body-cell-selected_c6tup_hvmkg_1040",
|
|
32
|
+
"has-footer": "awsui_has-footer_c6tup_hvmkg_1040",
|
|
33
|
+
"body-cell-shaded": "awsui_body-cell-shaded_c6tup_hvmkg_1050",
|
|
34
|
+
"sticky-cell": "awsui_sticky-cell_c6tup_hvmkg_702",
|
|
35
|
+
"table-variant-full-page": "awsui_table-variant-full-page_c6tup_hvmkg_1101",
|
|
36
|
+
"sticky-cell-last-inline-end": "awsui_sticky-cell-last-inline-end_c6tup_hvmkg_1118",
|
|
37
|
+
"sticky-cell-last-inline-start": "awsui_sticky-cell-last-inline-start_c6tup_hvmkg_1127",
|
|
38
|
+
"body-cell-next-selected": "awsui_body-cell-next-selected_c6tup_hvmkg_1149",
|
|
39
|
+
"body-cell-prev-selected": "awsui_body-cell-prev-selected_c6tup_hvmkg_1156",
|
|
40
|
+
"body-cell-editor-wrapper": "awsui_body-cell-editor-wrapper_c6tup_hvmkg_1182",
|
|
41
|
+
"body-cell-success": "awsui_body-cell-success_c6tup_hvmkg_1187",
|
|
42
|
+
"body-cell-editor": "awsui_body-cell-editor_c6tup_hvmkg_1182",
|
|
43
|
+
"body-cell-editor-disabled": "awsui_body-cell-editor-disabled_c6tup_hvmkg_1212",
|
|
44
|
+
"body-cell-editor-row": "awsui_body-cell-editor-row_c6tup_hvmkg_1221",
|
|
45
|
+
"body-cell-editor-controls": "awsui_body-cell-editor-controls_c6tup_hvmkg_1231",
|
|
46
|
+
"body-cell-editor-row-editor": "awsui_body-cell-editor-row-editor_c6tup_hvmkg_1234",
|
|
47
|
+
"body-cell-editor-focusable": "awsui_body-cell-editor-focusable_c6tup_hvmkg_1237",
|
|
48
|
+
"body-cell-editor-icon": "awsui_body-cell-editor-icon_c6tup_hvmkg_1261",
|
|
49
|
+
"resizable-columns": "awsui_resizable-columns_c6tup_hvmkg_1373",
|
|
50
|
+
"expandable-cell-content": "awsui_expandable-cell-content_c6tup_hvmkg_1376",
|
|
51
|
+
"body-cell-edit-disabled-popover": "awsui_body-cell-edit-disabled-popover_c6tup_hvmkg_1427",
|
|
52
|
+
"body-cell-has-success": "awsui_body-cell-has-success_c6tup_hvmkg_1430"
|
|
52
53
|
};
|
|
53
54
|
|
|
@@ -39,5 +39,6 @@ export interface TableTdElementProps {
|
|
|
39
39
|
isEditingDisabled?: boolean;
|
|
40
40
|
hasSuccessIcon?: boolean;
|
|
41
41
|
tableVariant?: string;
|
|
42
|
+
counter?: React.ReactNode;
|
|
42
43
|
}
|
|
43
44
|
export declare const TableTdElement: React.ForwardRefExoticComponent<TableTdElementProps & React.RefAttributes<HTMLTableCellElement>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"td-element.d.ts","sourceRoot":"","sources":["../../../../src/table/body-cell/td-element.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAStC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAuB,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAyB,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"td-element.d.ts","sourceRoot":"","sources":["../../../../src/table/body-cell/td-element.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAStC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAuB,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAyB,SAAS,EAAE,MAAM,eAAe,CAAC;AAOjE,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,IAAI,CACrB,KAAK,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,EAC3F,OAAO,GAAG,WAAW,GAAG,SAAS,CAClC,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,kBAAkB,CAAC;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC;IACzC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,cAAc,kGAuH1B,CAAC"}
|
|
@@ -11,8 +11,9 @@ import { useStickyCellStyles } from '../sticky-columns';
|
|
|
11
11
|
import { getTableCellRoleProps } from '../table-role';
|
|
12
12
|
import { getStickyClassNames } from '../utils';
|
|
13
13
|
import tableStyles from '../styles.css.js';
|
|
14
|
+
import testUtilStyles from '../test-classes/styles.css.js';
|
|
14
15
|
import styles from './styles.css.js';
|
|
15
|
-
export const TableTdElement = React.forwardRef(({ children, wrapLines, isRowHeader, isFirstRow, isLastRow, isSelected, isNextSelected, isPrevSelected, nativeAttributes, onClick, onFocus, onBlur, isEvenRow, stripedRows, isSelection, hasSelection, hasFooter, columnId, colIndex, stickyState, tableRole, level, isExpandable, isExpanded, onExpandableItemToggle, expandButtonLabel, collapseButtonLabel, verticalAlign, resizableColumns, resizableStyle, isEditable, isEditing, isEditingDisabled, hasSuccessIcon, tableVariant, ...rest }, ref) => {
|
|
16
|
+
export const TableTdElement = React.forwardRef(({ children, wrapLines, isRowHeader, isFirstRow, isLastRow, isSelected, isNextSelected, isPrevSelected, nativeAttributes, onClick, onFocus, onBlur, isEvenRow, stripedRows, isSelection, hasSelection, hasFooter, columnId, colIndex, stickyState, tableRole, level, isExpandable, isExpanded, onExpandableItemToggle, expandButtonLabel, collapseButtonLabel, verticalAlign, resizableColumns, resizableStyle, isEditable, isEditing, isEditingDisabled, hasSuccessIcon, tableVariant, counter, ...rest }, ref) => {
|
|
16
17
|
const Element = isRowHeader ? 'th' : 'td';
|
|
17
18
|
const isVisualRefresh = useVisualRefresh();
|
|
18
19
|
resizableStyle = resizableColumns ? {} : resizableStyle;
|
|
@@ -29,7 +30,11 @@ export const TableTdElement = React.forwardRef(({ children, wrapLines, isRowHead
|
|
|
29
30
|
return (React.createElement(Element, { style: { ...resizableStyle, ...stickyStyles.style }, className: clsx(styles['body-cell'], isFirstRow && styles['body-cell-first-row'], isLastRow && styles['body-cell-last-row'], isSelected && styles['body-cell-selected'], isNextSelected && styles['body-cell-next-selected'], isPrevSelected && styles['body-cell-prev-selected'], !isEvenRow && stripedRows && styles['body-cell-shaded'], stripedRows && styles['has-striped-rows'], isVisualRefresh && styles['is-visual-refresh'], isSelection && tableStyles['selection-control'], hasSelection && styles['has-selection'], hasFooter && styles['has-footer'], resizableColumns && styles['resizable-columns'], verticalAlign === 'top' && styles['body-cell-align-top'], isEditable && styles['body-cell-editable'], isEditing && !isEditingDisabled && styles['body-cell-edit-active'], isEditing && isEditingDisabled && styles['body-cell-edit-disabled-popover'], hasSuccessIcon && styles['body-cell-has-success'], level !== undefined && !isEditingActive && styles['body-cell-expandable'], level !== undefined && !isEditingActive && styles[`expandable-level-${getLevelClassSuffix(level)}`], tableVariant && styles[`table-variant-${tableVariant}`], stickyStyles.className), onClick: onClick, onFocus: onFocus, onBlur: onBlur, ref: mergedRef, ...nativeAttributes, tabIndex: cellTabIndex === -1 ? undefined : cellTabIndex, ...copyAnalyticsMetadataAttribute(rest) },
|
|
30
31
|
level !== undefined && isExpandable && !isEditingActive && (React.createElement("div", { className: styles['expandable-toggle-wrapper'] },
|
|
31
32
|
React.createElement(ExpandToggleButton, { isExpanded: isExpanded, onExpandableItemToggle: onExpandableItemToggle, expandButtonLabel: expandButtonLabel, collapseButtonLabel: collapseButtonLabel }))),
|
|
32
|
-
React.createElement("div", { className: clsx(styles['body-cell-content'], wrapLines && styles['body-cell-wrap']) },
|
|
33
|
+
React.createElement("div", { className: clsx(styles['body-cell-content'], wrapLines && styles['body-cell-wrap']) },
|
|
34
|
+
children,
|
|
35
|
+
counter ? (React.createElement("div", { className: styles['body-cell-counter'] },
|
|
36
|
+
' ',
|
|
37
|
+
React.createElement("span", { className: testUtilStyles['body-cell-counter'] }, counter))) : null)));
|
|
33
38
|
});
|
|
34
39
|
function getLevelClassSuffix(level) {
|
|
35
40
|
return 0 <= level && level <= 9 ? level : 'next';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"td-element.js","sourceRoot":"","sources":["../../../../src/table/body-cell/td-element.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useMergeRefs } from '@cloudscape-design/component-toolkit/internal';\nimport { useSingleTabStopNavigation } from '@cloudscape-design/component-toolkit/internal';\nimport { copyAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport { ExpandToggleButton } from '../../internal/components/expand-toggle-button';\nimport { useVisualRefresh } from '../../internal/hooks/use-visual-mode';\nimport { ColumnWidthStyle } from '../column-widths-utils';\nimport { TableProps } from '../interfaces.js';\nimport { StickyColumnsModel, useStickyCellStyles } from '../sticky-columns';\nimport { getTableCellRoleProps, TableRole } from '../table-role';\nimport { getStickyClassNames } from '../utils';\n\nimport tableStyles from '../styles.css.js';\nimport styles from './styles.css.js';\n\nexport interface TableTdElementProps {\n wrapLines: boolean | undefined;\n isRowHeader?: boolean;\n isFirstRow: boolean;\n isLastRow: boolean;\n isSelected: boolean;\n isNextSelected: boolean;\n isPrevSelected: boolean;\n nativeAttributes?: Omit<\n React.TdHTMLAttributes<HTMLTableCellElement> | React.ThHTMLAttributes<HTMLTableCellElement>,\n 'style' | 'className' | 'onClick'\n >;\n onClick?: () => void;\n onFocus?: () => void;\n onBlur?: () => void;\n children?: React.ReactNode;\n isEvenRow?: boolean;\n stripedRows?: boolean;\n isSelection?: boolean;\n hasSelection?: boolean;\n hasFooter?: boolean;\n columnId: PropertyKey;\n colIndex: number;\n stickyState: StickyColumnsModel;\n tableRole: TableRole;\n level?: number;\n isExpandable?: boolean;\n isExpanded?: boolean;\n onExpandableItemToggle?: () => void;\n expandButtonLabel?: string;\n collapseButtonLabel?: string;\n verticalAlign?: TableProps.VerticalAlign;\n resizableColumns?: boolean;\n resizableStyle?: ColumnWidthStyle;\n isEditable: boolean;\n isEditing: boolean;\n isEditingDisabled?: boolean;\n hasSuccessIcon?: boolean;\n tableVariant?: string;\n}\n\nexport const TableTdElement = React.forwardRef<HTMLTableCellElement, TableTdElementProps>(\n (\n {\n children,\n wrapLines,\n isRowHeader,\n isFirstRow,\n isLastRow,\n isSelected,\n isNextSelected,\n isPrevSelected,\n nativeAttributes,\n onClick,\n onFocus,\n onBlur,\n isEvenRow,\n stripedRows,\n isSelection,\n hasSelection,\n hasFooter,\n columnId,\n colIndex,\n stickyState,\n tableRole,\n level,\n isExpandable,\n isExpanded,\n onExpandableItemToggle,\n expandButtonLabel,\n collapseButtonLabel,\n verticalAlign,\n resizableColumns,\n resizableStyle,\n isEditable,\n isEditing,\n isEditingDisabled,\n hasSuccessIcon,\n tableVariant,\n ...rest\n },\n ref\n ) => {\n const Element = isRowHeader ? 'th' : 'td';\n const isVisualRefresh = useVisualRefresh();\n\n resizableStyle = resizableColumns ? {} : resizableStyle;\n\n nativeAttributes = { ...nativeAttributes, ...getTableCellRoleProps({ tableRole, isRowHeader, colIndex }) };\n\n const stickyStyles = useStickyCellStyles({\n stickyColumns: stickyState,\n columnId,\n getClassName: props => getStickyClassNames(styles, props),\n });\n\n const cellRefObject = useRef<HTMLTableCellElement>(null);\n const mergedRef = useMergeRefs(stickyStyles.ref, ref, cellRefObject);\n const { tabIndex: cellTabIndex } = useSingleTabStopNavigation(cellRefObject);\n const isEditingActive = isEditing && !isEditingDisabled;\n\n return (\n <Element\n style={{ ...resizableStyle, ...stickyStyles.style }}\n className={clsx(\n styles['body-cell'],\n isFirstRow && styles['body-cell-first-row'],\n isLastRow && styles['body-cell-last-row'],\n isSelected && styles['body-cell-selected'],\n isNextSelected && styles['body-cell-next-selected'],\n isPrevSelected && styles['body-cell-prev-selected'],\n !isEvenRow && stripedRows && styles['body-cell-shaded'],\n stripedRows && styles['has-striped-rows'],\n isVisualRefresh && styles['is-visual-refresh'],\n isSelection && tableStyles['selection-control'],\n hasSelection && styles['has-selection'],\n hasFooter && styles['has-footer'],\n resizableColumns && styles['resizable-columns'],\n verticalAlign === 'top' && styles['body-cell-align-top'],\n isEditable && styles['body-cell-editable'],\n isEditing && !isEditingDisabled && styles['body-cell-edit-active'],\n isEditing && isEditingDisabled && styles['body-cell-edit-disabled-popover'],\n hasSuccessIcon && styles['body-cell-has-success'],\n level !== undefined && !isEditingActive && styles['body-cell-expandable'],\n level !== undefined && !isEditingActive && styles[`expandable-level-${getLevelClassSuffix(level)}`],\n tableVariant && styles[`table-variant-${tableVariant}`],\n stickyStyles.className\n )}\n onClick={onClick}\n onFocus={onFocus}\n onBlur={onBlur}\n ref={mergedRef}\n {...nativeAttributes}\n tabIndex={cellTabIndex === -1 ? undefined : cellTabIndex}\n {...copyAnalyticsMetadataAttribute(rest)}\n >\n {level !== undefined && isExpandable && !isEditingActive && (\n <div className={styles['expandable-toggle-wrapper']}>\n <ExpandToggleButton\n isExpanded={isExpanded}\n onExpandableItemToggle={onExpandableItemToggle}\n expandButtonLabel={expandButtonLabel}\n collapseButtonLabel={collapseButtonLabel}\n />\n </div>\n )}\n\n <div className={clsx(styles['body-cell-content'], wrapLines && styles['body-cell-wrap'])}>{children}</div>\n </Element>\n );\n }\n);\n\nfunction getLevelClassSuffix(level: number) {\n return 0 <= level && level <= 9 ? level : 'next';\n}\n"]}
|
|
1
|
+
{"version":3,"file":"td-element.js","sourceRoot":"","sources":["../../../../src/table/body-cell/td-element.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useMergeRefs } from '@cloudscape-design/component-toolkit/internal';\nimport { useSingleTabStopNavigation } from '@cloudscape-design/component-toolkit/internal';\nimport { copyAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport { ExpandToggleButton } from '../../internal/components/expand-toggle-button';\nimport { useVisualRefresh } from '../../internal/hooks/use-visual-mode';\nimport { ColumnWidthStyle } from '../column-widths-utils';\nimport { TableProps } from '../interfaces.js';\nimport { StickyColumnsModel, useStickyCellStyles } from '../sticky-columns';\nimport { getTableCellRoleProps, TableRole } from '../table-role';\nimport { getStickyClassNames } from '../utils';\n\nimport tableStyles from '../styles.css.js';\nimport testUtilStyles from '../test-classes/styles.css.js';\nimport styles from './styles.css.js';\n\nexport interface TableTdElementProps {\n wrapLines: boolean | undefined;\n isRowHeader?: boolean;\n isFirstRow: boolean;\n isLastRow: boolean;\n isSelected: boolean;\n isNextSelected: boolean;\n isPrevSelected: boolean;\n nativeAttributes?: Omit<\n React.TdHTMLAttributes<HTMLTableCellElement> | React.ThHTMLAttributes<HTMLTableCellElement>,\n 'style' | 'className' | 'onClick'\n >;\n onClick?: () => void;\n onFocus?: () => void;\n onBlur?: () => void;\n children?: React.ReactNode;\n isEvenRow?: boolean;\n stripedRows?: boolean;\n isSelection?: boolean;\n hasSelection?: boolean;\n hasFooter?: boolean;\n columnId: PropertyKey;\n colIndex: number;\n stickyState: StickyColumnsModel;\n tableRole: TableRole;\n level?: number;\n isExpandable?: boolean;\n isExpanded?: boolean;\n onExpandableItemToggle?: () => void;\n expandButtonLabel?: string;\n collapseButtonLabel?: string;\n verticalAlign?: TableProps.VerticalAlign;\n resizableColumns?: boolean;\n resizableStyle?: ColumnWidthStyle;\n isEditable: boolean;\n isEditing: boolean;\n isEditingDisabled?: boolean;\n hasSuccessIcon?: boolean;\n tableVariant?: string;\n counter?: React.ReactNode;\n}\n\nexport const TableTdElement = React.forwardRef<HTMLTableCellElement, TableTdElementProps>(\n (\n {\n children,\n wrapLines,\n isRowHeader,\n isFirstRow,\n isLastRow,\n isSelected,\n isNextSelected,\n isPrevSelected,\n nativeAttributes,\n onClick,\n onFocus,\n onBlur,\n isEvenRow,\n stripedRows,\n isSelection,\n hasSelection,\n hasFooter,\n columnId,\n colIndex,\n stickyState,\n tableRole,\n level,\n isExpandable,\n isExpanded,\n onExpandableItemToggle,\n expandButtonLabel,\n collapseButtonLabel,\n verticalAlign,\n resizableColumns,\n resizableStyle,\n isEditable,\n isEditing,\n isEditingDisabled,\n hasSuccessIcon,\n tableVariant,\n counter,\n ...rest\n },\n ref\n ) => {\n const Element = isRowHeader ? 'th' : 'td';\n const isVisualRefresh = useVisualRefresh();\n\n resizableStyle = resizableColumns ? {} : resizableStyle;\n\n nativeAttributes = { ...nativeAttributes, ...getTableCellRoleProps({ tableRole, isRowHeader, colIndex }) };\n\n const stickyStyles = useStickyCellStyles({\n stickyColumns: stickyState,\n columnId,\n getClassName: props => getStickyClassNames(styles, props),\n });\n\n const cellRefObject = useRef<HTMLTableCellElement>(null);\n const mergedRef = useMergeRefs(stickyStyles.ref, ref, cellRefObject);\n const { tabIndex: cellTabIndex } = useSingleTabStopNavigation(cellRefObject);\n const isEditingActive = isEditing && !isEditingDisabled;\n\n return (\n <Element\n style={{ ...resizableStyle, ...stickyStyles.style }}\n className={clsx(\n styles['body-cell'],\n isFirstRow && styles['body-cell-first-row'],\n isLastRow && styles['body-cell-last-row'],\n isSelected && styles['body-cell-selected'],\n isNextSelected && styles['body-cell-next-selected'],\n isPrevSelected && styles['body-cell-prev-selected'],\n !isEvenRow && stripedRows && styles['body-cell-shaded'],\n stripedRows && styles['has-striped-rows'],\n isVisualRefresh && styles['is-visual-refresh'],\n isSelection && tableStyles['selection-control'],\n hasSelection && styles['has-selection'],\n hasFooter && styles['has-footer'],\n resizableColumns && styles['resizable-columns'],\n verticalAlign === 'top' && styles['body-cell-align-top'],\n isEditable && styles['body-cell-editable'],\n isEditing && !isEditingDisabled && styles['body-cell-edit-active'],\n isEditing && isEditingDisabled && styles['body-cell-edit-disabled-popover'],\n hasSuccessIcon && styles['body-cell-has-success'],\n level !== undefined && !isEditingActive && styles['body-cell-expandable'],\n level !== undefined && !isEditingActive && styles[`expandable-level-${getLevelClassSuffix(level)}`],\n tableVariant && styles[`table-variant-${tableVariant}`],\n stickyStyles.className\n )}\n onClick={onClick}\n onFocus={onFocus}\n onBlur={onBlur}\n ref={mergedRef}\n {...nativeAttributes}\n tabIndex={cellTabIndex === -1 ? undefined : cellTabIndex}\n {...copyAnalyticsMetadataAttribute(rest)}\n >\n {level !== undefined && isExpandable && !isEditingActive && (\n <div className={styles['expandable-toggle-wrapper']}>\n <ExpandToggleButton\n isExpanded={isExpanded}\n onExpandableItemToggle={onExpandableItemToggle}\n expandButtonLabel={expandButtonLabel}\n collapseButtonLabel={collapseButtonLabel}\n />\n </div>\n )}\n\n <div className={clsx(styles['body-cell-content'], wrapLines && styles['body-cell-wrap'])}>\n {children}\n {counter ? (\n <div className={styles['body-cell-counter']}>\n {' '}\n <span className={testUtilStyles['body-cell-counter']}>{counter}</span>\n </div>\n ) : null}\n </div>\n </Element>\n );\n }\n);\n\nfunction getLevelClassSuffix(level: number) {\n return 0 <= level && level <= 9 ? level : 'next';\n}\n"]}
|
|
@@ -5,6 +5,8 @@ interface ExpandableItemProps<T> extends ExpandableItemDetail<T> {
|
|
|
5
5
|
onExpandableItemToggle: () => void;
|
|
6
6
|
expandButtonLabel?: string;
|
|
7
7
|
collapseButtonLabel?: string;
|
|
8
|
+
itemsCount?: number;
|
|
9
|
+
selectedItemsCount?: number;
|
|
8
10
|
}
|
|
9
11
|
interface ExpandableItemDetail<T> {
|
|
10
12
|
level: number;
|
|
@@ -13,6 +15,16 @@ interface ExpandableItemDetail<T> {
|
|
|
13
15
|
parent: null | T;
|
|
14
16
|
children: readonly T[];
|
|
15
17
|
}
|
|
18
|
+
export interface InternalExpandableRowsProps<T> {
|
|
19
|
+
isExpandable: boolean;
|
|
20
|
+
allItems: readonly T[];
|
|
21
|
+
getExpandableItemProps(item: T): ExpandableItemProps<T>;
|
|
22
|
+
hasGroupSelection: boolean;
|
|
23
|
+
groupSelection: TableProps.GroupSelectionState<T>;
|
|
24
|
+
onGroupSelectionChange?: TableProps.OnGroupSelectionChange<T>;
|
|
25
|
+
totalItemsCount?: number;
|
|
26
|
+
totalSelectedItemsCount?: number;
|
|
27
|
+
}
|
|
16
28
|
export declare function useExpandableTableProps<T>({
|
|
17
29
|
items,
|
|
18
30
|
expandableRows,
|
|
@@ -23,9 +35,5 @@ export declare function useExpandableTableProps<T>({
|
|
|
23
35
|
expandableRows?: TableProps.ExpandableRows<T>;
|
|
24
36
|
trackBy?: TableProps.TrackBy<T>;
|
|
25
37
|
ariaLabels?: TableProps.AriaLabels<T>;
|
|
26
|
-
}):
|
|
27
|
-
isExpandable: boolean;
|
|
28
|
-
allItems: readonly T[];
|
|
29
|
-
getExpandableItemProps: (item: T) => ExpandableItemProps<T>;
|
|
30
|
-
};
|
|
38
|
+
}): InternalExpandableRowsProps<T>;
|
|
31
39
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expandable-rows-utils.d.ts","sourceRoot":"","sources":["../../../../src/table/expandable-rows/expandable-rows-utils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,UAAU,mBAAmB,CAAC,CAAC,CAAE,SAAQ,oBAAoB,CAAC,CAAC,CAAC;IAC9D,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,sBAAsB,EAAE,MAAM,IAAI,CAAC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"expandable-rows-utils.d.ts","sourceRoot":"","sources":["../../../../src/table/expandable-rows/expandable-rows-utils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,UAAU,mBAAmB,CAAC,CAAC,CAAE,SAAQ,oBAAoB,CAAC,CAAC,CAAC;IAC9D,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,sBAAsB,EAAE,MAAM,IAAI,CAAC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,UAAU,oBAAoB,CAAC,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,2BAA2B,CAAC,CAAC;IAC5C,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;IACvB,sBAAsB,CAAC,IAAI,EAAE,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACxD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAClD,sBAAsB,CAAC,EAAE,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAC9D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,EACzC,KAAK,EACL,cAAc,EACd,OAAO,EACP,UAAU,GACX,EAAE;IACD,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;IACpB,cAAc,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;CACvC,GAAG,2BAA2B,CAAC,CAAC,CAAC,CA8EjC"}
|
|
@@ -4,7 +4,7 @@ import { useInternalI18n } from '../../i18n/context';
|
|
|
4
4
|
import { fireNonCancelableEvent } from '../../internal/events';
|
|
5
5
|
import { ItemSet } from '../selection/utils';
|
|
6
6
|
export function useExpandableTableProps({ items, expandableRows, trackBy, ariaLabels, }) {
|
|
7
|
-
var _a;
|
|
7
|
+
var _a, _b;
|
|
8
8
|
const i18n = useInternalI18n('table');
|
|
9
9
|
const isExpandable = !!expandableRows;
|
|
10
10
|
const expandedSet = new ItemSet(trackBy, (_a = expandableRows === null || expandableRows === void 0 ? void 0 : expandableRows.expandedItems) !== null && _a !== void 0 ? _a : []);
|
|
@@ -13,15 +13,15 @@ export function useExpandableTableProps({ items, expandableRows, trackBy, ariaLa
|
|
|
13
13
|
const getItemLevel = (item) => { var _a, _b; return (_b = (_a = itemToDetail.get(item)) === null || _a === void 0 ? void 0 : _a.level) !== null && _b !== void 0 ? _b : 0; };
|
|
14
14
|
if (isExpandable) {
|
|
15
15
|
const visibleItems = new Array();
|
|
16
|
-
const traverse = (item, detail) => {
|
|
16
|
+
const traverse = (item, detail, visible) => {
|
|
17
17
|
const children = expandableRows.getItemChildren(item);
|
|
18
18
|
itemToDetail.set(item, { ...detail, children });
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
children.forEach((child, index) => traverse(child, { level: detail.level + 1, setSize: children.length, posInSet: index + 1, parent: item }));
|
|
19
|
+
if (visible) {
|
|
20
|
+
visibleItems.push(item);
|
|
22
21
|
}
|
|
22
|
+
children.forEach((child, index) => traverse(child, { level: detail.level + 1, setSize: children.length, posInSet: index + 1, parent: item }, visible && expandedSet.has(item)));
|
|
23
23
|
};
|
|
24
|
-
items.forEach((item, index) => traverse(item, { level: 1, setSize: items.length, posInSet: index + 1, parent: null }));
|
|
24
|
+
items.forEach((item, index) => traverse(item, { level: 1, setSize: items.length, posInSet: index + 1, parent: null }, true));
|
|
25
25
|
for (let index = 0; index < visibleItems.length; index++) {
|
|
26
26
|
const item = visibleItems[index];
|
|
27
27
|
if (expandedSet.has(item)) {
|
|
@@ -38,7 +38,7 @@ export function useExpandableTableProps({ items, expandableRows, trackBy, ariaLa
|
|
|
38
38
|
allItems = visibleItems;
|
|
39
39
|
}
|
|
40
40
|
const getExpandableItemProps = (item) => {
|
|
41
|
-
var _a, _b, _c, _d;
|
|
41
|
+
var _a, _b, _c, _d, _e, _f;
|
|
42
42
|
const { level = 1, setSize = 1, posInSet = 1, parent = null, children = [] } = (_a = itemToDetail.get(item)) !== null && _a !== void 0 ? _a : {};
|
|
43
43
|
return {
|
|
44
44
|
level,
|
|
@@ -51,8 +51,19 @@ export function useExpandableTableProps({ items, expandableRows, trackBy, ariaLa
|
|
|
51
51
|
collapseButtonLabel: i18n('ariaLabels.collapseButtonLabel', (_d = ariaLabels === null || ariaLabels === void 0 ? void 0 : ariaLabels.collapseButtonLabel) === null || _d === void 0 ? void 0 : _d.call(ariaLabels, item)),
|
|
52
52
|
parent,
|
|
53
53
|
children,
|
|
54
|
+
itemsCount: (_e = expandableRows === null || expandableRows === void 0 ? void 0 : expandableRows.getItemsCount) === null || _e === void 0 ? void 0 : _e.call(expandableRows, item),
|
|
55
|
+
selectedItemsCount: (_f = expandableRows === null || expandableRows === void 0 ? void 0 : expandableRows.getSelectedItemsCount) === null || _f === void 0 ? void 0 : _f.call(expandableRows, item),
|
|
54
56
|
};
|
|
55
57
|
};
|
|
56
|
-
return {
|
|
58
|
+
return {
|
|
59
|
+
isExpandable,
|
|
60
|
+
allItems,
|
|
61
|
+
getExpandableItemProps,
|
|
62
|
+
hasGroupSelection: !!(expandableRows === null || expandableRows === void 0 ? void 0 : expandableRows.groupSelection),
|
|
63
|
+
groupSelection: (_b = expandableRows === null || expandableRows === void 0 ? void 0 : expandableRows.groupSelection) !== null && _b !== void 0 ? _b : { inverted: false, toggledItems: [] },
|
|
64
|
+
onGroupSelectionChange: expandableRows === null || expandableRows === void 0 ? void 0 : expandableRows.onGroupSelectionChange,
|
|
65
|
+
totalItemsCount: expandableRows === null || expandableRows === void 0 ? void 0 : expandableRows.totalItemsCount,
|
|
66
|
+
totalSelectedItemsCount: expandableRows === null || expandableRows === void 0 ? void 0 : expandableRows.totalSelectedItemsCount,
|
|
67
|
+
};
|
|
57
68
|
}
|
|
58
69
|
//# sourceMappingURL=expandable-rows-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expandable-rows-utils.js","sourceRoot":"","sources":["../../../../src/table/expandable-rows/expandable-rows-utils.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"expandable-rows-utils.js","sourceRoot":"","sources":["../../../../src/table/expandable-rows/expandable-rows-utils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useInternalI18n } from '../../i18n/context';\nimport { fireNonCancelableEvent } from '../../internal/events';\nimport { TableProps } from '../interfaces';\nimport { ItemSet } from '../selection/utils';\n\ninterface ExpandableItemProps<T> extends ExpandableItemDetail<T> {\n isExpandable: boolean;\n isExpanded: boolean;\n onExpandableItemToggle: () => void;\n expandButtonLabel?: string;\n collapseButtonLabel?: string;\n itemsCount?: number;\n selectedItemsCount?: number;\n}\n\ninterface ExpandableItemDetail<T> {\n level: number;\n setSize: number;\n posInSet: number;\n parent: null | T;\n children: readonly T[];\n}\n\nexport interface InternalExpandableRowsProps<T> {\n isExpandable: boolean;\n allItems: readonly T[];\n getExpandableItemProps(item: T): ExpandableItemProps<T>;\n hasGroupSelection: boolean;\n groupSelection: TableProps.GroupSelectionState<T>;\n onGroupSelectionChange?: TableProps.OnGroupSelectionChange<T>;\n totalItemsCount?: number;\n totalSelectedItemsCount?: number;\n}\n\nexport function useExpandableTableProps<T>({\n items,\n expandableRows,\n trackBy,\n ariaLabels,\n}: {\n items: readonly T[];\n expandableRows?: TableProps.ExpandableRows<T>;\n trackBy?: TableProps.TrackBy<T>;\n ariaLabels?: TableProps.AriaLabels<T>;\n}): InternalExpandableRowsProps<T> {\n const i18n = useInternalI18n('table');\n const isExpandable = !!expandableRows;\n\n const expandedSet = new ItemSet(trackBy, expandableRows?.expandedItems ?? []);\n\n let allItems = items;\n const itemToDetail = new Map<T, ExpandableItemDetail<T>>();\n const getItemLevel = (item: T) => itemToDetail.get(item)?.level ?? 0;\n\n if (isExpandable) {\n const visibleItems = new Array<T>();\n\n const traverse = (item: T, detail: Omit<ExpandableItemDetail<T>, 'children'>, visible: boolean) => {\n const children = expandableRows.getItemChildren(item);\n itemToDetail.set(item, { ...detail, children });\n\n if (visible) {\n visibleItems.push(item);\n }\n children.forEach((child, index) =>\n traverse(\n child,\n { level: detail.level + 1, setSize: children.length, posInSet: index + 1, parent: item },\n visible && expandedSet.has(item)\n )\n );\n };\n items.forEach((item, index) =>\n traverse(item, { level: 1, setSize: items.length, posInSet: index + 1, parent: null }, true)\n );\n\n for (let index = 0; index < visibleItems.length; index++) {\n const item = visibleItems[index];\n if (expandedSet.has(item)) {\n let insertionIndex = index + 1;\n for (insertionIndex; insertionIndex < visibleItems.length; insertionIndex++) {\n const insertionItem = visibleItems[insertionIndex];\n if (getItemLevel(item) >= getItemLevel(insertionItem)) {\n break;\n }\n }\n insertionIndex--;\n }\n }\n\n allItems = visibleItems;\n }\n\n const getExpandableItemProps = (item: T): ExpandableItemProps<T> => {\n const { level = 1, setSize = 1, posInSet = 1, parent = null, children = [] } = itemToDetail.get(item) ?? {};\n return {\n level,\n setSize,\n posInSet,\n isExpandable: expandableRows?.isItemExpandable(item) ?? true,\n isExpanded: expandedSet.has(item),\n onExpandableItemToggle: () =>\n fireNonCancelableEvent(expandableRows?.onExpandableItemToggle, { item, expanded: !expandedSet.has(item) }),\n expandButtonLabel: i18n('ariaLabels.expandButtonLabel', ariaLabels?.expandButtonLabel?.(item)),\n collapseButtonLabel: i18n('ariaLabels.collapseButtonLabel', ariaLabels?.collapseButtonLabel?.(item)),\n parent,\n children,\n itemsCount: expandableRows?.getItemsCount?.(item),\n selectedItemsCount: expandableRows?.getSelectedItemsCount?.(item),\n };\n };\n\n return {\n isExpandable,\n allItems,\n getExpandableItemProps,\n hasGroupSelection: !!expandableRows?.groupSelection,\n groupSelection: expandableRows?.groupSelection ?? { inverted: false, toggledItems: [] },\n onGroupSelectionChange: expandableRows?.onGroupSelectionChange,\n totalItemsCount: expandableRows?.totalItemsCount,\n totalSelectedItemsCount: expandableRows?.totalSelectedItemsCount,\n };\n}\n"]}
|
package/table/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/table/index.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/D,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,QAAA,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/table/index.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/D,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,QAAA,MAAM,KAAK,EAiHN,mBAAmB,CAAC;AAGzB,eAAe,KAAK,CAAC"}
|
package/table/index.js
CHANGED
|
@@ -11,7 +11,7 @@ import { applyDisplayName } from '../internal/utils/apply-display-name';
|
|
|
11
11
|
import { getSortingColumnId } from './header-cell/utils';
|
|
12
12
|
import InternalTable, { InternalTableAsSubstep } from './internal';
|
|
13
13
|
const Table = React.forwardRef(({ items = [], selectedItems = [], variant = 'container', contentDensity = 'comfortable', cellVerticalAlign = 'middle', firstIndex = 1, ...props }, ref) => {
|
|
14
|
-
var _a, _b, _c;
|
|
14
|
+
var _a, _b, _c, _d;
|
|
15
15
|
const analyticsMetadata = getAnalyticsMetadataProps(props);
|
|
16
16
|
const hasHiddenColumns = (props.visibleColumns && props.visibleColumns.length < props.columnDefinitions.length) ||
|
|
17
17
|
((_a = props.columnDisplay) === null || _a === void 0 ? void 0 : _a.some(col => !col.visible));
|
|
@@ -33,6 +33,9 @@ const Table = React.forwardRef(({ items = [], selectedItems = [], variant = 'con
|
|
|
33
33
|
metadata: {
|
|
34
34
|
expandableRows: !!props.expandableRows,
|
|
35
35
|
progressiveLoading: !!props.getLoadingStatus,
|
|
36
|
+
groupSelection: !!((_d = props.expandableRows) === null || _d === void 0 ? void 0 : _d.groupSelection),
|
|
37
|
+
cellCounters: props.columnDefinitions.filter(dev => !!dev.counter).length,
|
|
38
|
+
loaderCounters: !!props.renderLoaderCounter,
|
|
36
39
|
inlineEdit: props.columnDefinitions.some(def => !!def.editConfig),
|
|
37
40
|
disabledInlineEdit: props.columnDefinitions.some(def => { var _a; return !!((_a = def.editConfig) === null || _a === void 0 ? void 0 : _a.disabledReason); }),
|
|
38
41
|
hasSortableColumns: props.columnDefinitions.some(def => def.sortingField || def.sortingComparator),
|
package/table/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/table/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n'use client';\nimport React from 'react';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport { AnalyticsFunnelSubStep } from '../internal/analytics/components/analytics-funnel';\nimport { BasePropsWithAnalyticsMetadata, getAnalyticsMetadataProps } from '../internal/base-component';\nimport { CollectionPreferencesMetadata } from '../internal/context/collection-preferences-metadata-context';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { GeneratedAnalyticsMetadataTableComponent } from './analytics-metadata/interfaces';\nimport { getSortingColumnId } from './header-cell/utils';\nimport { TableForwardRefType, TableProps } from './interfaces';\nimport InternalTable, { InternalTableAsSubstep } from './internal';\n\nexport { TableProps };\nconst Table = React.forwardRef(\n <T,>(\n {\n items = [],\n selectedItems = [],\n variant = 'container',\n contentDensity = 'comfortable',\n cellVerticalAlign = 'middle',\n firstIndex = 1,\n ...props\n }: TableProps<T>,\n ref: React.Ref<TableProps.Ref>\n ) => {\n const analyticsMetadata = getAnalyticsMetadataProps(props as BasePropsWithAnalyticsMetadata);\n const hasHiddenColumns =\n (props.visibleColumns && props.visibleColumns.length < props.columnDefinitions.length) ||\n props.columnDisplay?.some(col => !col.visible);\n const hasStickyColumns = !!props.stickyColumns?.first || !!props.stickyColumns?.last;\n const baseComponentProps = useBaseComponent(\n 'Table',\n {\n props: {\n contentDensity,\n resizableColumns: props.resizableColumns,\n selectionType: props.selectionType,\n stickyHeader: props.stickyHeader,\n stripedRows: props.stripedRows,\n variant,\n wrapLines: props.wrapLines,\n enableKeyboardNavigation: props.enableKeyboardNavigation,\n totalItemsCount: props.totalItemsCount,\n flowType: analyticsMetadata.flowType,\n cellVerticalAlign,\n },\n metadata: {\n expandableRows: !!props.expandableRows,\n progressiveLoading: !!props.getLoadingStatus,\n inlineEdit: props.columnDefinitions.some(def => !!def.editConfig),\n disabledInlineEdit: props.columnDefinitions.some(def => !!def.editConfig?.disabledReason),\n hasSortableColumns: props.columnDefinitions.some(def => def.sortingField || def.sortingComparator),\n hasHiddenColumns,\n hasStickyColumns,\n hasFilterSlot: !!props.filter,\n hasPaginationSlot: !!props.pagination,\n itemsCount: items.length,\n hasInstanceIdentifier: Boolean(analyticsMetadata?.instanceIdentifier),\n hasResourceType: Boolean(analyticsMetadata?.resourceType),\n usesVisibleColumns: !!props.visibleColumns,\n usesColumnDisplay: !!props.columnDisplay,\n usesColumnDefinitionsVerticalAlign: props.columnDefinitions.some(\n def => def.verticalAlign !== cellVerticalAlign\n ),\n },\n },\n analyticsMetadata\n );\n\n const analyticsComponentMetadata: GeneratedAnalyticsMetadataTableComponent = {\n name: 'awsui.Table',\n label: { root: 'self' },\n properties: {\n selectionType: props.selectionType || 'none',\n itemsCount: `${items.length}`,\n selectedItemsCount: `${selectedItems.length}`,\n variant,\n },\n };\n\n const sortingColumnId = getSortingColumnId(props.columnDefinitions, props.sortingColumn);\n if (sortingColumnId) {\n analyticsComponentMetadata.properties.sortingColumnId = sortingColumnId;\n analyticsComponentMetadata.properties.sortingDescending = `${props.sortingDescending || false}`;\n }\n\n const tableProps: Parameters<typeof InternalTable<T>>[0] = {\n items,\n selectedItems,\n variant,\n contentDensity,\n firstIndex,\n cellVerticalAlign,\n ...props,\n ...baseComponentProps,\n ref,\n ...getAnalyticsMetadataAttribute({ component: analyticsComponentMetadata }),\n };\n\n const collectionPreferencesMetadata = {\n tableContentDensity: contentDensity,\n tableHasStripedRows: !!props.stripedRows,\n tableHasHiddenColumns: hasHiddenColumns,\n tableHasStickyColumns: hasStickyColumns,\n };\n\n if (variant === 'borderless' || variant === 'embedded') {\n return (\n <CollectionPreferencesMetadata.Provider value={collectionPreferencesMetadata}>\n <InternalTable {...tableProps} />\n </CollectionPreferencesMetadata.Provider>\n );\n }\n\n return (\n <CollectionPreferencesMetadata.Provider value={collectionPreferencesMetadata}>\n <AnalyticsFunnelSubStep>\n <InternalTableAsSubstep {...tableProps} />\n </AnalyticsFunnelSubStep>\n </CollectionPreferencesMetadata.Provider>\n );\n }\n) as TableForwardRefType;\n\napplyDisplayName(Table, 'Table');\nexport default Table;\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/table/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n'use client';\nimport React from 'react';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport { AnalyticsFunnelSubStep } from '../internal/analytics/components/analytics-funnel';\nimport { BasePropsWithAnalyticsMetadata, getAnalyticsMetadataProps } from '../internal/base-component';\nimport { CollectionPreferencesMetadata } from '../internal/context/collection-preferences-metadata-context';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { GeneratedAnalyticsMetadataTableComponent } from './analytics-metadata/interfaces';\nimport { getSortingColumnId } from './header-cell/utils';\nimport { TableForwardRefType, TableProps } from './interfaces';\nimport InternalTable, { InternalTableAsSubstep } from './internal';\n\nexport { TableProps };\nconst Table = React.forwardRef(\n <T,>(\n {\n items = [],\n selectedItems = [],\n variant = 'container',\n contentDensity = 'comfortable',\n cellVerticalAlign = 'middle',\n firstIndex = 1,\n ...props\n }: TableProps<T>,\n ref: React.Ref<TableProps.Ref>\n ) => {\n const analyticsMetadata = getAnalyticsMetadataProps(props as BasePropsWithAnalyticsMetadata);\n const hasHiddenColumns =\n (props.visibleColumns && props.visibleColumns.length < props.columnDefinitions.length) ||\n props.columnDisplay?.some(col => !col.visible);\n const hasStickyColumns = !!props.stickyColumns?.first || !!props.stickyColumns?.last;\n const baseComponentProps = useBaseComponent(\n 'Table',\n {\n props: {\n contentDensity,\n resizableColumns: props.resizableColumns,\n selectionType: props.selectionType,\n stickyHeader: props.stickyHeader,\n stripedRows: props.stripedRows,\n variant,\n wrapLines: props.wrapLines,\n enableKeyboardNavigation: props.enableKeyboardNavigation,\n totalItemsCount: props.totalItemsCount,\n flowType: analyticsMetadata.flowType,\n cellVerticalAlign,\n },\n metadata: {\n expandableRows: !!props.expandableRows,\n progressiveLoading: !!props.getLoadingStatus,\n groupSelection: !!props.expandableRows?.groupSelection,\n cellCounters: props.columnDefinitions.filter(dev => !!dev.counter).length,\n loaderCounters: !!props.renderLoaderCounter,\n inlineEdit: props.columnDefinitions.some(def => !!def.editConfig),\n disabledInlineEdit: props.columnDefinitions.some(def => !!def.editConfig?.disabledReason),\n hasSortableColumns: props.columnDefinitions.some(def => def.sortingField || def.sortingComparator),\n hasHiddenColumns,\n hasStickyColumns,\n hasFilterSlot: !!props.filter,\n hasPaginationSlot: !!props.pagination,\n itemsCount: items.length,\n hasInstanceIdentifier: Boolean(analyticsMetadata?.instanceIdentifier),\n hasResourceType: Boolean(analyticsMetadata?.resourceType),\n usesVisibleColumns: !!props.visibleColumns,\n usesColumnDisplay: !!props.columnDisplay,\n usesColumnDefinitionsVerticalAlign: props.columnDefinitions.some(\n def => def.verticalAlign !== cellVerticalAlign\n ),\n },\n },\n analyticsMetadata\n );\n\n const analyticsComponentMetadata: GeneratedAnalyticsMetadataTableComponent = {\n name: 'awsui.Table',\n label: { root: 'self' },\n properties: {\n selectionType: props.selectionType || 'none',\n itemsCount: `${items.length}`,\n selectedItemsCount: `${selectedItems.length}`,\n variant,\n },\n };\n\n const sortingColumnId = getSortingColumnId(props.columnDefinitions, props.sortingColumn);\n if (sortingColumnId) {\n analyticsComponentMetadata.properties.sortingColumnId = sortingColumnId;\n analyticsComponentMetadata.properties.sortingDescending = `${props.sortingDescending || false}`;\n }\n\n const tableProps: Parameters<typeof InternalTable<T>>[0] = {\n items,\n selectedItems,\n variant,\n contentDensity,\n firstIndex,\n cellVerticalAlign,\n ...props,\n ...baseComponentProps,\n ref,\n ...getAnalyticsMetadataAttribute({ component: analyticsComponentMetadata }),\n };\n\n const collectionPreferencesMetadata = {\n tableContentDensity: contentDensity,\n tableHasStripedRows: !!props.stripedRows,\n tableHasHiddenColumns: hasHiddenColumns,\n tableHasStickyColumns: hasStickyColumns,\n };\n\n if (variant === 'borderless' || variant === 'embedded') {\n return (\n <CollectionPreferencesMetadata.Provider value={collectionPreferencesMetadata}>\n <InternalTable {...tableProps} />\n </CollectionPreferencesMetadata.Provider>\n );\n }\n\n return (\n <CollectionPreferencesMetadata.Provider value={collectionPreferencesMetadata}>\n <AnalyticsFunnelSubStep>\n <InternalTableAsSubstep {...tableProps} />\n </AnalyticsFunnelSubStep>\n </CollectionPreferencesMetadata.Provider>\n );\n }\n) as TableForwardRefType;\n\napplyDisplayName(Table, 'Table');\nexport default Table;\n"]}
|
package/table/interfaces.d.ts
CHANGED
|
@@ -82,6 +82,8 @@ export interface TableProps<T = any> extends BaseComponentProps {
|
|
|
82
82
|
* to reorder the items. This property accepts a custom comparator that is used to compare two items.
|
|
83
83
|
* The comparator must implement ascending ordering, and the output is inverted automatically in case of descending order.
|
|
84
84
|
* If present, the `sortingField` property is ignored.
|
|
85
|
+
* * `counter` ((ItemCounterData) => string) - Specifies secondary cell content, displayed next to the primary. Use it to display
|
|
86
|
+
* resource counters in the first column of expandable tables with data grouping.
|
|
85
87
|
* * `editConfig` (EditConfig) - Enables inline editing in column when present. The value is used to configure the editing behavior.
|
|
86
88
|
* * `editConfig.ariaLabel` (string) - Specifies a label for the edit control. Visually hidden but read by screen readers.
|
|
87
89
|
* * `editConfig.errorIconAriaLabel` (string) - Specifies an ariaLabel for the error icon that is displayed when the validation fails.
|
|
@@ -154,11 +156,19 @@ export interface TableProps<T = any> extends BaseComponentProps {
|
|
|
154
156
|
resizableColumns?: boolean;
|
|
155
157
|
/**
|
|
156
158
|
* Specifies alternative text for the selection components (checkboxes and radio buttons) as follows:
|
|
157
|
-
* * `itemSelectionLabel` ((SelectionState, Item) => string) - Specifies the alternative text for an item.
|
|
158
|
-
* You can use the first argument of type `SelectionState` to access the current selection state of the component
|
|
159
|
-
* (for example, the `selectedItems` list). The second argument is the corresponding `Item` object.
|
|
160
|
-
* * `allItemsSelectionLabel` ((SelectionState) => string) - Specifies the alternative text for multi-selection column header.
|
|
161
159
|
* * `selectionGroupLabel` (string) - Specifies the alternative text for the whole selection and single-selection column header.
|
|
160
|
+
* * `itemSelectionLabel` ((SelectionState, Item) => string) - Specifies the alternative text for item selection controls.
|
|
161
|
+
* The selection state includes:
|
|
162
|
+
* * `selectedItems` (Item[]) - corresponds to table's `selectedItems`.
|
|
163
|
+
* * `itemsCount` (optional, number) - corresponds to table's `expandableRows.getItemsCount(item)`.
|
|
164
|
+
* * `selectedItemsCount` (optional, number) - corresponds to table's `expandableRows.getItemsCount(item)`.
|
|
165
|
+
* * `allItemsSelectionLabel` ((SelectionState) => string) - Specifies the alternative text for all items selection control.
|
|
166
|
+
* The selection state includes:
|
|
167
|
+
* * `selectedItems` (Item[]) - corresponds to table's `selectedItems`.
|
|
168
|
+
* * `itemsCount` (optional, number) - corresponds to `expandableRows.totalItemsCount` or `totalItemsCount`.
|
|
169
|
+
* * `selectedItemsCount` (optional, number) - corresponds to `expandableRows.totalSelectedItemsCount` or `selectedItems.length`.
|
|
170
|
+
* * `itemLoaderSelectionLabel`: ((SelectionState, Item) => string) - Specifies the alternative text for resource loader selector
|
|
171
|
+
* in tables with data grouping.
|
|
162
172
|
* * `tableLabel` (string) - Provides an alternative text for the table. If you use a header for this table, you may reuse the string
|
|
163
173
|
* to provide a caption-like description. For example, tableLabel=Instances will be announced as 'Instances table'.
|
|
164
174
|
* * `resizerRoleDescription` (string) - Provides role description for table column resizer buttons.
|
|
@@ -232,7 +242,7 @@ export interface TableProps<T = any> extends BaseComponentProps {
|
|
|
232
242
|
onSortingChange?: NonCancelableEventHandler<TableProps.SortingState<T>>;
|
|
233
243
|
/**
|
|
234
244
|
* Fired when a user interaction triggers a change in the list of selected items.
|
|
235
|
-
* The event `detail` contains the
|
|
245
|
+
* The event `detail` contains the new state for `selectedItems`.
|
|
236
246
|
*/
|
|
237
247
|
onSelectionChange?: NonCancelableEventHandler<TableProps.SelectionChangeDetail<T>>;
|
|
238
248
|
/**
|
|
@@ -284,8 +294,8 @@ export interface TableProps<T = any> extends BaseComponentProps {
|
|
|
284
294
|
*/
|
|
285
295
|
totalItemsCount?: number;
|
|
286
296
|
/**
|
|
287
|
-
*
|
|
288
|
-
*
|
|
297
|
+
* Use this property to inform screen readers which range of items is currently displayed in the table.
|
|
298
|
+
* It specifies the index (1-based) of the first item in the table.
|
|
289
299
|
*/
|
|
290
300
|
firstIndex?: number;
|
|
291
301
|
/**
|
|
@@ -320,7 +330,22 @@ export interface TableProps<T = any> extends BaseComponentProps {
|
|
|
320
330
|
* * `getItemChildren` ((Item) => Item[]) - Use it to define nested data that are shown when an item gets expanded.
|
|
321
331
|
* * `isItemExpandable` ((Item) => boolean) - Use it for items that can be expanded to show nested data.
|
|
322
332
|
* * `expandedItems` (Item[]) - Use it to represent the expanded state of items.
|
|
323
|
-
* * `onExpandableItemToggle` (TableProps.OnExpandableItemToggle<
|
|
333
|
+
* * `onExpandableItemToggle` (TableProps.OnExpandableItemToggle<Item>) - Called when an item's expand toggle is clicked.
|
|
334
|
+
* * `groupSelection` (optional, GroupSelectionState<Item>) - Tree-like selection state for tables with grouped data. When defined, the
|
|
335
|
+
* properties `selectionType` and `selectedItems` no longer apply. It reads as (assuming item "a.1" is nested under "a"):
|
|
336
|
+
* * `{ inverted: false, toggledItems: [] }` - no items are selected;
|
|
337
|
+
* * `{ inverted: true, toggledItems: [] }` - all items are selected;
|
|
338
|
+
* * `{ inverted: false, toggledItems: ["a", "a.1"] }` - all items nested under "a", unless also nested under "a.1", are selected.
|
|
339
|
+
* * `{ inverted: true, toggledItems: ["a", "a.1"] }` - the opposite of above.
|
|
340
|
+
* * `onGroupSelectionChange` (optional, TableProps.OnGroupSelectionChange<Item>) - Called when group selection changes.
|
|
341
|
+
* * `getItemsCount` (optional, (Item) => number) - Use it to indicate the number of resources nested under the given item.
|
|
342
|
+
* The value is passed as `itemsCount` property to the `columnDefinitions[index].counter` and `ariaLabels.itemSelectionLabel` functions.
|
|
343
|
+
* * `totalItemsCount` (optional, number) - Use it to indicate the total number of resources in the table.
|
|
344
|
+
* The value is passed as `itemsCount` property to the `ariaLabels.allItemsSelectionLabel`.
|
|
345
|
+
* * `getSelectedItemsCount` (optional, (Item) => number) - Use it to indicate the number of selected resources nested under the given item.
|
|
346
|
+
* The value is passed as `selectedItemsCount` property to the `columnDefinitions[index].counter` and `ariaLabels.itemSelectionLabel` functions.
|
|
347
|
+
* * `totalSelectedItemsCount` (optional, number) - Use it to indicate the total number of selected resources in the table.
|
|
348
|
+
* The value is passed as `selectedItemsCount` property to the `ariaLabels.allItemsSelectionLabel`.
|
|
324
349
|
*/
|
|
325
350
|
expandableRows?: TableProps.ExpandableRows<T>;
|
|
326
351
|
/**
|
|
@@ -352,6 +377,10 @@ export interface TableProps<T = any> extends BaseComponentProps {
|
|
|
352
377
|
* the table items array is empty.
|
|
353
378
|
*/
|
|
354
379
|
renderLoaderEmpty?: (detail: TableProps.RenderLoaderEmptyDetail<T>) => React.ReactNode;
|
|
380
|
+
/**
|
|
381
|
+
* Renders loader counter that is appended to the loader content in all loader states.
|
|
382
|
+
*/
|
|
383
|
+
renderLoaderCounter?: (detail: TableProps.RenderLoaderCounterDetail<T>) => React.ReactNode;
|
|
355
384
|
}
|
|
356
385
|
export declare namespace TableProps {
|
|
357
386
|
interface AnalyticsMetadata {
|
|
@@ -407,19 +436,25 @@ export declare namespace TableProps {
|
|
|
407
436
|
*/
|
|
408
437
|
disableNativeForm?: boolean;
|
|
409
438
|
}
|
|
410
|
-
type ColumnDefinition<
|
|
439
|
+
type ColumnDefinition<T> = {
|
|
411
440
|
id?: string;
|
|
412
441
|
header: React.ReactNode;
|
|
413
442
|
ariaLabel?(data: LabelData): string;
|
|
414
443
|
width?: number | string;
|
|
415
444
|
minWidth?: number | string;
|
|
416
445
|
maxWidth?: number | string;
|
|
417
|
-
|
|
446
|
+
counter?(props: ItemCounterData<T>): React.ReactNode;
|
|
447
|
+
editConfig?: EditConfig<T>;
|
|
418
448
|
isRowHeader?: boolean;
|
|
419
449
|
verticalAlign?: VerticalAlign;
|
|
420
450
|
hasDynamicContent?: boolean;
|
|
421
|
-
cell(item:
|
|
422
|
-
} & SortingColumn<
|
|
451
|
+
cell(item: T): React.ReactNode;
|
|
452
|
+
} & SortingColumn<T>;
|
|
453
|
+
interface ItemCounterData<T> {
|
|
454
|
+
item: T;
|
|
455
|
+
itemsCount?: number;
|
|
456
|
+
selectedItemsCount?: number;
|
|
457
|
+
}
|
|
423
458
|
interface StickyColumns {
|
|
424
459
|
first?: number;
|
|
425
460
|
last?: number;
|
|
@@ -429,14 +464,17 @@ export declare namespace TableProps {
|
|
|
429
464
|
type Variant = 'container' | 'embedded' | 'borderless' | 'stacked' | 'full-page';
|
|
430
465
|
interface SelectionState<T> {
|
|
431
466
|
selectedItems: ReadonlyArray<T>;
|
|
467
|
+
itemsCount?: number;
|
|
468
|
+
selectedItemsCount?: number;
|
|
432
469
|
}
|
|
433
470
|
interface SelectionChangeDetail<T> {
|
|
434
471
|
selectedItems: T[];
|
|
435
472
|
}
|
|
436
473
|
type IsItemDisabled<T> = (item: T) => boolean;
|
|
437
474
|
interface AriaLabels<T> {
|
|
438
|
-
allItemsSelectionLabel?: (data:
|
|
439
|
-
itemSelectionLabel?: (data:
|
|
475
|
+
allItemsSelectionLabel?: (data: SelectionState<T>) => string;
|
|
476
|
+
itemSelectionLabel?: (data: SelectionState<T>, row: T) => string;
|
|
477
|
+
itemLoaderSelectionLabel?: (data: SelectionState<T>, row: null | T) => string;
|
|
440
478
|
selectionGroupLabel?: string;
|
|
441
479
|
tableLabel?: string;
|
|
442
480
|
resizerRoleDescription?: string;
|
|
@@ -501,18 +539,37 @@ export declare namespace TableProps {
|
|
|
501
539
|
getItemChildren: (item: T) => readonly T[];
|
|
502
540
|
isItemExpandable: (item: T) => boolean;
|
|
503
541
|
expandedItems: ReadonlyArray<T>;
|
|
504
|
-
onExpandableItemToggle:
|
|
542
|
+
onExpandableItemToggle: OnExpandableItemToggle<T>;
|
|
543
|
+
groupSelection?: GroupSelectionState<T>;
|
|
544
|
+
onGroupSelectionChange?: OnGroupSelectionChange<T>;
|
|
545
|
+
getItemsCount?: (item: T) => number;
|
|
546
|
+
totalItemsCount?: number;
|
|
547
|
+
getSelectedItemsCount?: (item: T) => number;
|
|
548
|
+
totalSelectedItemsCount?: number;
|
|
505
549
|
}
|
|
506
|
-
type OnExpandableItemToggle<T> = NonCancelableEventHandler<
|
|
550
|
+
type OnExpandableItemToggle<T> = NonCancelableEventHandler<ExpandableItemToggleDetail<T>>;
|
|
507
551
|
interface ExpandableItemToggleDetail<T> {
|
|
508
552
|
item: T;
|
|
509
553
|
expanded: boolean;
|
|
510
554
|
}
|
|
511
|
-
type
|
|
555
|
+
type OnGroupSelectionChange<T> = NonCancelableEventHandler<GroupSelectionChangeDetail<T>>;
|
|
556
|
+
interface GroupSelectionChangeDetail<T> {
|
|
557
|
+
groupSelection: GroupSelectionState<T>;
|
|
558
|
+
}
|
|
559
|
+
interface GroupSelectionState<T> {
|
|
560
|
+
inverted: boolean;
|
|
561
|
+
toggledItems: readonly T[];
|
|
562
|
+
}
|
|
563
|
+
type GetLoadingStatus<T> = (item: null | T) => LoadingStatus;
|
|
512
564
|
type LoadingStatus = 'pending' | 'loading' | 'error' | 'finished';
|
|
513
565
|
interface RenderLoaderDetail<T> {
|
|
514
566
|
item: null | T;
|
|
515
567
|
}
|
|
568
|
+
interface RenderLoaderCounterDetail<T> {
|
|
569
|
+
loadingStatus: LoadingStatus;
|
|
570
|
+
selected: boolean;
|
|
571
|
+
item: null | T;
|
|
572
|
+
}
|
|
516
573
|
interface RenderLoaderEmptyDetail<T> {
|
|
517
574
|
item: T;
|
|
518
575
|
}
|
|
@@ -529,4 +586,5 @@ interface TableLoaderRow<T> {
|
|
|
529
586
|
status: TableProps.LoadingStatus;
|
|
530
587
|
from: number;
|
|
531
588
|
}
|
|
589
|
+
export type InternalSelectionType = TableProps.SelectionType | 'group';
|
|
532
590
|
export {};
|