@cloudscape-design/components-themeable 3.0.1201 → 3.0.1202
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/lib/internal/manifest.json +1 -1
- package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +1 -1
- package/lib/internal/scss/table/body-cell/styles.scss +8 -0
- package/lib/internal/scss/table/test-classes/styles.scss +8 -0
- package/lib/internal/template/internal/base-component/styles.scoped.css +1 -1
- package/lib/internal/template/internal/environment.js +2 -2
- package/lib/internal/template/internal/environment.json +2 -2
- package/lib/internal/template/table/body-cell/styles.css.js +48 -47
- package/lib/internal/template/table/body-cell/styles.scoped.css +380 -374
- package/lib/internal/template/table/body-cell/styles.selectors.js +48 -47
- package/lib/internal/template/table/body-cell/td-element.d.ts +1 -0
- package/lib/internal/template/table/body-cell/td-element.d.ts.map +1 -1
- package/lib/internal/template/table/body-cell/td-element.js +7 -2
- package/lib/internal/template/table/body-cell/td-element.js.map +1 -1
- package/lib/internal/template/table/expandable-rows/expandable-rows-utils.d.ts +13 -5
- package/lib/internal/template/table/expandable-rows/expandable-rows-utils.d.ts.map +1 -1
- package/lib/internal/template/table/expandable-rows/expandable-rows-utils.js +19 -8
- package/lib/internal/template/table/expandable-rows/expandable-rows-utils.js.map +1 -1
- package/lib/internal/template/table/index.d.ts.map +1 -1
- package/lib/internal/template/table/index.js +4 -1
- package/lib/internal/template/table/index.js.map +1 -1
- package/lib/internal/template/table/interfaces.d.ts +75 -17
- package/lib/internal/template/table/interfaces.d.ts.map +1 -1
- package/lib/internal/template/table/interfaces.js.map +1 -1
- package/lib/internal/template/table/internal.d.ts.map +1 -1
- package/lib/internal/template/table/internal.js +50 -23
- package/lib/internal/template/table/internal.js.map +1 -1
- package/lib/internal/template/table/progressive-loading/loader-cell.d.ts +1 -1
- package/lib/internal/template/table/progressive-loading/loader-cell.d.ts.map +1 -1
- package/lib/internal/template/table/progressive-loading/loader-cell.js +3 -2
- package/lib/internal/template/table/progressive-loading/loader-cell.js.map +1 -1
- package/lib/internal/template/table/progressive-loading/progressive-loading-utils.d.ts +3 -8
- package/lib/internal/template/table/progressive-loading/progressive-loading-utils.d.ts.map +1 -1
- package/lib/internal/template/table/progressive-loading/progressive-loading-utils.js +6 -5
- package/lib/internal/template/table/progressive-loading/progressive-loading-utils.js.map +1 -1
- package/lib/internal/template/table/selection/index.d.ts +1 -1
- package/lib/internal/template/table/selection/index.d.ts.map +1 -1
- package/lib/internal/template/table/selection/index.js.map +1 -1
- package/lib/internal/template/table/selection/interfaces.d.ts +7 -1
- package/lib/internal/template/table/selection/interfaces.d.ts.map +1 -1
- package/lib/internal/template/table/selection/interfaces.js.map +1 -1
- package/lib/internal/template/table/selection/selection-cell.d.ts +2 -2
- package/lib/internal/template/table/selection/selection-cell.d.ts.map +1 -1
- package/lib/internal/template/table/selection/selection-cell.js.map +1 -1
- package/lib/internal/template/table/selection/selection-control.d.ts +2 -2
- package/lib/internal/template/table/selection/selection-control.d.ts.map +1 -1
- package/lib/internal/template/table/selection/selection-control.js.map +1 -1
- package/lib/internal/template/table/selection/use-group-selection.d.ts +12 -0
- package/lib/internal/template/table/selection/use-group-selection.d.ts.map +1 -0
- package/lib/internal/template/table/selection/use-group-selection.js +103 -0
- package/lib/internal/template/table/selection/use-group-selection.js.map +1 -0
- package/lib/internal/template/table/selection/use-selection-focus-move.d.ts +2 -2
- package/lib/internal/template/table/selection/use-selection-focus-move.d.ts.map +1 -1
- package/lib/internal/template/table/selection/use-selection-focus-move.js.map +1 -1
- package/lib/internal/template/table/selection/use-selection.d.ts +4 -8
- package/lib/internal/template/table/selection/use-selection.d.ts.map +1 -1
- package/lib/internal/template/table/selection/use-selection.js +17 -6
- package/lib/internal/template/table/selection/use-selection.js.map +1 -1
- package/lib/internal/template/table/selection/utils.d.ts +1 -1
- package/lib/internal/template/table/selection/utils.d.ts.map +1 -1
- package/lib/internal/template/table/selection/utils.js.map +1 -1
- package/lib/internal/template/table/test-classes/styles.css.js +6 -0
- package/lib/internal/template/table/test-classes/styles.scoped.css +7 -0
- package/lib/internal/template/table/test-classes/styles.selectors.js +7 -0
- package/lib/internal/template/table/thead.d.ts +4 -4
- package/lib/internal/template/table/thead.d.ts.map +1 -1
- package/lib/internal/template/table/thead.js.map +1 -1
- package/lib/internal/template/table/use-table-focus-navigation.d.ts +2 -2
- package/lib/internal/template/table/use-table-focus-navigation.d.ts.map +1 -1
- package/lib/internal/template/table/use-table-focus-navigation.js.map +1 -1
- package/lib/internal/template/test-utils/dom/table/index.d.ts +7 -0
- package/lib/internal/template/test-utils/dom/table/index.js +11 -0
- package/lib/internal/template/test-utils/dom/table/index.js.map +1 -1
- package/lib/internal/template/test-utils/selectors/table/index.d.ts +7 -0
- package/lib/internal/template/test-utils/selectors/table/index.js +11 -0
- package/lib/internal/template/test-utils/selectors/table/index.js.map +1 -1
- package/package.json +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_osqeh_145",
|
|
6
|
+
"body-cell": "awsui_body-cell_c6tup_osqeh_152",
|
|
7
|
+
"body-cell-content": "awsui_body-cell-content_c6tup_osqeh_160",
|
|
8
|
+
"expandable-level-0": "awsui_expandable-level-0_c6tup_osqeh_166",
|
|
9
|
+
"expandable-level-1": "awsui_expandable-level-1_c6tup_osqeh_173",
|
|
10
|
+
"expandable-level-2": "awsui_expandable-level-2_c6tup_osqeh_180",
|
|
11
|
+
"expandable-level-3": "awsui_expandable-level-3_c6tup_osqeh_187",
|
|
12
|
+
"expandable-level-4": "awsui_expandable-level-4_c6tup_osqeh_194",
|
|
13
|
+
"expandable-level-5": "awsui_expandable-level-5_c6tup_osqeh_201",
|
|
14
|
+
"expandable-level-6": "awsui_expandable-level-6_c6tup_osqeh_208",
|
|
15
|
+
"expandable-level-7": "awsui_expandable-level-7_c6tup_osqeh_215",
|
|
16
|
+
"expandable-level-8": "awsui_expandable-level-8_c6tup_osqeh_222",
|
|
17
|
+
"expandable-level-9": "awsui_expandable-level-9_c6tup_osqeh_229",
|
|
18
|
+
"expandable-level-next": "awsui_expandable-level-next_c6tup_osqeh_236",
|
|
19
|
+
"body-cell-align-top": "awsui_body-cell-align-top_c6tup_osqeh_254",
|
|
20
|
+
"body-cell-wrap": "awsui_body-cell-wrap_c6tup_osqeh_260",
|
|
21
|
+
"body-cell-counter": "awsui_body-cell-counter_c6tup_osqeh_265",
|
|
22
|
+
"is-visual-refresh": "awsui_is-visual-refresh_c6tup_osqeh_363",
|
|
23
|
+
"body-cell-edit-active": "awsui_body-cell-edit-active_c6tup_osqeh_453",
|
|
24
|
+
"body-cell-expandable": "awsui_body-cell-expandable_c6tup_osqeh_453",
|
|
25
|
+
"body-cell-editable": "awsui_body-cell-editable_c6tup_osqeh_453",
|
|
26
|
+
"has-striped-rows": "awsui_has-striped-rows_c6tup_osqeh_536",
|
|
27
|
+
"sticky-cell-pad-inline-start": "awsui_sticky-cell-pad-inline-start_c6tup_osqeh_702",
|
|
28
|
+
"has-selection": "awsui_has-selection_c6tup_osqeh_868",
|
|
29
|
+
"body-cell-first-row": "awsui_body-cell-first-row_c6tup_osqeh_1037",
|
|
30
|
+
"body-cell-last-row": "awsui_body-cell-last-row_c6tup_osqeh_1040",
|
|
31
|
+
"body-cell-selected": "awsui_body-cell-selected_c6tup_osqeh_1040",
|
|
32
|
+
"has-footer": "awsui_has-footer_c6tup_osqeh_1040",
|
|
33
|
+
"body-cell-shaded": "awsui_body-cell-shaded_c6tup_osqeh_1050",
|
|
34
|
+
"sticky-cell": "awsui_sticky-cell_c6tup_osqeh_702",
|
|
35
|
+
"table-variant-full-page": "awsui_table-variant-full-page_c6tup_osqeh_1101",
|
|
36
|
+
"sticky-cell-last-inline-end": "awsui_sticky-cell-last-inline-end_c6tup_osqeh_1118",
|
|
37
|
+
"sticky-cell-last-inline-start": "awsui_sticky-cell-last-inline-start_c6tup_osqeh_1127",
|
|
38
|
+
"body-cell-next-selected": "awsui_body-cell-next-selected_c6tup_osqeh_1149",
|
|
39
|
+
"body-cell-prev-selected": "awsui_body-cell-prev-selected_c6tup_osqeh_1156",
|
|
40
|
+
"body-cell-editor-wrapper": "awsui_body-cell-editor-wrapper_c6tup_osqeh_1182",
|
|
41
|
+
"body-cell-success": "awsui_body-cell-success_c6tup_osqeh_1187",
|
|
42
|
+
"body-cell-editor": "awsui_body-cell-editor_c6tup_osqeh_1182",
|
|
43
|
+
"body-cell-editor-disabled": "awsui_body-cell-editor-disabled_c6tup_osqeh_1212",
|
|
44
|
+
"body-cell-editor-row": "awsui_body-cell-editor-row_c6tup_osqeh_1221",
|
|
45
|
+
"body-cell-editor-controls": "awsui_body-cell-editor-controls_c6tup_osqeh_1231",
|
|
46
|
+
"body-cell-editor-row-editor": "awsui_body-cell-editor-row-editor_c6tup_osqeh_1234",
|
|
47
|
+
"body-cell-editor-focusable": "awsui_body-cell-editor-focusable_c6tup_osqeh_1237",
|
|
48
|
+
"body-cell-editor-icon": "awsui_body-cell-editor-icon_c6tup_osqeh_1261",
|
|
49
|
+
"resizable-columns": "awsui_resizable-columns_c6tup_osqeh_1373",
|
|
50
|
+
"expandable-cell-content": "awsui_expandable-cell-content_c6tup_osqeh_1376",
|
|
51
|
+
"body-cell-edit-disabled-popover": "awsui_body-cell-edit-disabled-popover_c6tup_osqeh_1427",
|
|
52
|
+
"body-cell-has-success": "awsui_body-cell-has-success_c6tup_osqeh_1430"
|
|
52
53
|
};
|
|
53
54
|
|
|
@@ -39,6 +39,7 @@ 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>>;
|
|
44
45
|
//# sourceMappingURL=td-element.d.ts.map
|
|
@@ -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,15 +15,21 @@ 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>({ items, expandableRows, trackBy, ariaLabels, }: {
|
|
17
29
|
items: readonly T[];
|
|
18
30
|
expandableRows?: TableProps.ExpandableRows<T>;
|
|
19
31
|
trackBy?: TableProps.TrackBy<T>;
|
|
20
32
|
ariaLabels?: TableProps.AriaLabels<T>;
|
|
21
|
-
}):
|
|
22
|
-
isExpandable: boolean;
|
|
23
|
-
allItems: readonly T[];
|
|
24
|
-
getExpandableItemProps: (item: T) => ExpandableItemProps<T>;
|
|
25
|
-
};
|
|
33
|
+
}): InternalExpandableRowsProps<T>;
|
|
26
34
|
export {};
|
|
27
35
|
//# sourceMappingURL=expandable-rows-utils.d.ts.map
|
|
@@ -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"]}
|
|
@@ -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"}
|
|
@@ -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),
|
|
@@ -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"]}
|