@cloudscape-design/components 3.0.589 → 3.0.591

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/internal/environment.js +1 -1
  2. package/internal/environment.json +1 -1
  3. package/internal/manifest.json +1 -1
  4. package/package.json +1 -1
  5. package/table/body-cell/disabled-inline-editor.d.ts.map +1 -1
  6. package/table/body-cell/disabled-inline-editor.js +1 -0
  7. package/table/body-cell/disabled-inline-editor.js.map +1 -1
  8. package/table/body-cell/index.d.ts.map +1 -1
  9. package/table/body-cell/index.js +4 -3
  10. package/table/body-cell/index.js.map +1 -1
  11. package/table/body-cell/styles.css.js +42 -29
  12. package/table/body-cell/styles.scoped.css +312 -87
  13. package/table/body-cell/styles.selectors.js +42 -29
  14. package/table/body-cell/td-element.d.ts +2 -0
  15. package/table/body-cell/td-element.d.ts.map +1 -1
  16. package/table/body-cell/td-element.js +11 -4
  17. package/table/body-cell/td-element.js.map +1 -1
  18. package/table/expandable-rows/expand-toggle-button.d.ts +4 -0
  19. package/table/expandable-rows/expand-toggle-button.d.ts.map +1 -0
  20. package/table/expandable-rows/expand-toggle-button.js +19 -0
  21. package/table/expandable-rows/expand-toggle-button.js.map +1 -0
  22. package/table/expandable-rows/expandable-rows-utils.d.ts +24 -0
  23. package/table/expandable-rows/expandable-rows-utils.d.ts.map +1 -0
  24. package/table/expandable-rows/expandable-rows-utils.js +58 -0
  25. package/table/expandable-rows/expandable-rows-utils.js.map +1 -0
  26. package/table/expandable-rows/styles.css.js +8 -0
  27. package/table/expandable-rows/styles.scoped.css +197 -0
  28. package/table/expandable-rows/styles.selectors.js +9 -0
  29. package/table/header-cell/index.d.ts +2 -1
  30. package/table/header-cell/index.d.ts.map +1 -1
  31. package/table/header-cell/index.js +3 -2
  32. package/table/header-cell/index.js.map +1 -1
  33. package/table/header-cell/styles.css.js +25 -24
  34. package/table/header-cell/styles.scoped.css +65 -46
  35. package/table/header-cell/styles.selectors.js +25 -24
  36. package/table/interfaces.d.ts +31 -3
  37. package/table/interfaces.d.ts.map +1 -1
  38. package/table/interfaces.js.map +1 -1
  39. package/table/internal.d.ts.map +1 -1
  40. package/table/internal.js +41 -15
  41. package/table/internal.js.map +1 -1
  42. package/table/table-role/grid-navigation.js +4 -1
  43. package/table/table-role/grid-navigation.js.map +1 -1
  44. package/table/table-role/interfaces.d.ts +1 -1
  45. package/table/table-role/interfaces.d.ts.map +1 -1
  46. package/table/table-role/interfaces.js.map +1 -1
  47. package/table/table-role/table-role-helper.d.ts +5 -0
  48. package/table/table-role/table-role-helper.d.ts.map +1 -1
  49. package/table/table-role/table-role-helper.js +11 -6
  50. package/table/table-role/table-role-helper.js.map +1 -1
  51. package/table/thead.d.ts +1 -0
  52. package/table/thead.d.ts.map +1 -1
  53. package/table/thead.js +5 -2
  54. package/table/thead.js.map +1 -1
  55. package/table/use-table-focus-navigation.d.ts +2 -3
  56. package/table/use-table-focus-navigation.d.ts.map +1 -1
  57. package/table/use-table-focus-navigation.js +3 -3
  58. package/table/use-table-focus-navigation.js.map +1 -1
  59. package/test-utils/dom/table/index.d.ts +12 -0
  60. package/test-utils/dom/table/index.js +28 -1
  61. package/test-utils/dom/table/index.js.map +1 -1
  62. package/test-utils/selectors/table/index.d.ts +6 -0
  63. package/test-utils/selectors/table/index.js +14 -0
  64. package/test-utils/selectors/table/index.js.map +1 -1
  65. package/test-utils/tsconfig.tsbuildinfo +1 -1
@@ -2,34 +2,47 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "body-cell": "awsui_body-cell_c6tup_6muoq_99",
6
- "sticky-cell": "awsui_sticky-cell_c6tup_6muoq_133",
7
- "body-cell-wrap": "awsui_body-cell-wrap_c6tup_6muoq_136",
8
- "is-visual-refresh": "awsui_is-visual-refresh_c6tup_6muoq_148",
9
- "has-striped-rows": "awsui_has-striped-rows_c6tup_6muoq_160",
10
- "body-cell-edit-active": "awsui_body-cell-edit-active_c6tup_6muoq_163",
11
- "body-cell-editable": "awsui_body-cell-editable_c6tup_6muoq_163",
12
- "has-striped-rows-sticky-cell-pad-left": "awsui_has-striped-rows-sticky-cell-pad-left_c6tup_6muoq_169",
13
- "has-selection": "awsui_has-selection_c6tup_6muoq_172",
14
- "body-cell-first-row": "awsui_body-cell-first-row_c6tup_6muoq_178",
15
- "body-cell-last-row": "awsui_body-cell-last-row_c6tup_6muoq_181",
16
- "body-cell-selected": "awsui_body-cell-selected_c6tup_6muoq_181",
17
- "has-footer": "awsui_has-footer_c6tup_6muoq_181",
18
- "body-cell-shaded": "awsui_body-cell-shaded_c6tup_6muoq_191",
19
- "sticky-cell-pad-left": "awsui_sticky-cell-pad-left_c6tup_6muoq_225",
20
- "sticky-cell-last-right": "awsui_sticky-cell-last-right_c6tup_6muoq_242",
21
- "sticky-cell-last-left": "awsui_sticky-cell-last-left_c6tup_6muoq_246",
22
- "body-cell-next-selected": "awsui_body-cell-next-selected_c6tup_6muoq_269",
23
- "body-cell-prev-selected": "awsui_body-cell-prev-selected_c6tup_6muoq_273",
24
- "body-cell-editor-wrapper": "awsui_body-cell-editor-wrapper_c6tup_6muoq_297",
25
- "body-cell-success": "awsui_body-cell-success_c6tup_6muoq_304",
26
- "body-cell-editor": "awsui_body-cell-editor_c6tup_6muoq_297",
27
- "body-cell-editor-disabled": "awsui_body-cell-editor-disabled_c6tup_6muoq_331",
28
- "body-cell-editor-form": "awsui_body-cell-editor-form_c6tup_6muoq_340",
29
- "body-cell-editor-row": "awsui_body-cell-editor-row_c6tup_6muoq_350",
30
- "body-cell-editor-controls": "awsui_body-cell-editor-controls_c6tup_6muoq_360",
31
- "body-cell-interactive": "awsui_body-cell-interactive_c6tup_6muoq_381",
32
- "body-cell-edit-disabled-popover": "awsui_body-cell-edit-disabled-popover_c6tup_6muoq_423",
33
- "body-cell-has-success": "awsui_body-cell-has-success_c6tup_6muoq_427"
5
+ "expandable-toggle-wrapper": "awsui_expandable-toggle-wrapper_c6tup_19jo8_99",
6
+ "body-cell": "awsui_body-cell_c6tup_19jo8_107",
7
+ "body-cell-expandable-level-1": "awsui_body-cell-expandable-level-1_c6tup_19jo8_121",
8
+ "body-cell-expandable-level-2": "awsui_body-cell-expandable-level-2_c6tup_19jo8_124",
9
+ "body-cell-expandable-level-3": "awsui_body-cell-expandable-level-3_c6tup_19jo8_127",
10
+ "body-cell-expandable-level-4": "awsui_body-cell-expandable-level-4_c6tup_19jo8_130",
11
+ "body-cell-expandable-level-5": "awsui_body-cell-expandable-level-5_c6tup_19jo8_133",
12
+ "body-cell-expandable-level-6": "awsui_body-cell-expandable-level-6_c6tup_19jo8_136",
13
+ "body-cell-expandable-level-7": "awsui_body-cell-expandable-level-7_c6tup_19jo8_139",
14
+ "body-cell-expandable-level-8": "awsui_body-cell-expandable-level-8_c6tup_19jo8_142",
15
+ "body-cell-expandable-level-9": "awsui_body-cell-expandable-level-9_c6tup_19jo8_145",
16
+ "body-cell-expandable-level-next": "awsui_body-cell-expandable-level-next_c6tup_19jo8_148",
17
+ "sticky-cell": "awsui_sticky-cell_c6tup_19jo8_172",
18
+ "body-cell-wrap": "awsui_body-cell-wrap_c6tup_19jo8_175",
19
+ "is-visual-refresh": "awsui_is-visual-refresh_c6tup_19jo8_187",
20
+ "has-striped-rows": "awsui_has-striped-rows_c6tup_19jo8_199",
21
+ "body-cell-edit-active": "awsui_body-cell-edit-active_c6tup_19jo8_232",
22
+ "body-cell-interactive": "awsui_body-cell-interactive_c6tup_19jo8_232",
23
+ "body-cell-editable": "awsui_body-cell-editable_c6tup_19jo8_232",
24
+ "has-striped-rows-sticky-cell-pad-left": "awsui_has-striped-rows-sticky-cell-pad-left_c6tup_19jo8_298",
25
+ "has-selection": "awsui_has-selection_c6tup_19jo8_331",
26
+ "body-cell-first-row": "awsui_body-cell-first-row_c6tup_19jo8_367",
27
+ "body-cell-last-row": "awsui_body-cell-last-row_c6tup_19jo8_370",
28
+ "body-cell-selected": "awsui_body-cell-selected_c6tup_19jo8_370",
29
+ "has-footer": "awsui_has-footer_c6tup_19jo8_370",
30
+ "body-cell-shaded": "awsui_body-cell-shaded_c6tup_19jo8_380",
31
+ "sticky-cell-pad-left": "awsui_sticky-cell-pad-left_c6tup_19jo8_414",
32
+ "sticky-cell-last-right": "awsui_sticky-cell-last-right_c6tup_19jo8_461",
33
+ "sticky-cell-last-left": "awsui_sticky-cell-last-left_c6tup_19jo8_465",
34
+ "body-cell-next-selected": "awsui_body-cell-next-selected_c6tup_19jo8_488",
35
+ "body-cell-prev-selected": "awsui_body-cell-prev-selected_c6tup_19jo8_492",
36
+ "body-cell-editor-wrapper": "awsui_body-cell-editor-wrapper_c6tup_19jo8_516",
37
+ "body-cell-success": "awsui_body-cell-success_c6tup_19jo8_523",
38
+ "body-cell-editor": "awsui_body-cell-editor_c6tup_19jo8_516",
39
+ "body-cell-editor-disabled": "awsui_body-cell-editor-disabled_c6tup_19jo8_550",
40
+ "body-cell-editor-form": "awsui_body-cell-editor-form_c6tup_19jo8_559",
41
+ "body-cell-editor-row": "awsui_body-cell-editor-row_c6tup_19jo8_569",
42
+ "body-cell-editor-controls": "awsui_body-cell-editor-controls_c6tup_19jo8_579",
43
+ "body-cell-expandable": "awsui_body-cell-expandable_c6tup_19jo8_121",
44
+ "expandable-cell-content": "awsui_expandable-cell-content_c6tup_19jo8_603",
45
+ "body-cell-edit-disabled-popover": "awsui_body-cell-edit-disabled-popover_c6tup_19jo8_648",
46
+ "body-cell-has-success": "awsui_body-cell-has-success_c6tup_19jo8_652"
34
47
  };
35
48
 
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { StickyColumnsModel } from '../sticky-columns';
3
3
  import { TableRole } from '../table-role';
4
+ import { ExpandableItemProps } from '../expandable-rows/expandable-rows-utils';
4
5
  export interface TableTdElementProps {
5
6
  className?: string;
6
7
  style?: React.CSSProperties;
@@ -25,6 +26,7 @@ export interface TableTdElementProps {
25
26
  stickyState: StickyColumnsModel;
26
27
  isVisualRefresh?: boolean;
27
28
  tableRole: TableRole;
29
+ expandableProps?: ExpandableItemProps;
28
30
  }
29
31
  export declare const TableTdElement: React.ForwardRefExoticComponent<TableTdElementProps & React.RefAttributes<HTMLTableCellElement>>;
30
32
  //# 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":"AAGA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAE,kBAAkB,EAAuB,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAyB,MAAM,eAAe,CAAC;AAIjE,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,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,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,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,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,kGAyE1B,CAAC"}
1
+ {"version":3,"file":"td-element.d.ts","sourceRoot":"","sources":["../../../../src/table/body-cell/td-element.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAE,kBAAkB,EAAuB,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAyB,MAAM,eAAe,CAAC;AAIjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAE/E,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,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,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,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,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,CAAC,EAAE,mBAAmB,CAAC;CACvC;AAED,eAAO,MAAM,cAAc,kGAiF1B,CAAC"}
@@ -6,9 +6,10 @@ import styles from './styles.css.js';
6
6
  import { getStickyClassNames } from '../utils';
7
7
  import { useStickyCellStyles } from '../sticky-columns';
8
8
  import { getTableCellRoleProps } from '../table-role';
9
- import { useMergeRefs } from '../../internal/hooks/use-merge-refs/index.js';
10
- import { useSingleTabStopNavigation } from '../../internal/context/single-tab-stop-navigation-context.js';
11
- export const TableTdElement = React.forwardRef(({ className, style, children, wrapLines, isRowHeader, isFirstRow, isLastRow, isSelected, isNextSelected, isPrevSelected, nativeAttributes, onClick, onMouseEnter, onMouseLeave, isEvenRow, stripedRows, isVisualRefresh, hasSelection, hasFooter, columnId, colIndex, stickyState, tableRole, }, ref) => {
9
+ import { useMergeRefs } from '../../internal/hooks/use-merge-refs';
10
+ import { useSingleTabStopNavigation } from '../../internal/context/single-tab-stop-navigation-context';
11
+ import { ExpandToggle } from '../expandable-rows/expand-toggle-button';
12
+ export const TableTdElement = React.forwardRef(({ className, style, children, wrapLines, isRowHeader, isFirstRow, isLastRow, isSelected, isNextSelected, isPrevSelected, nativeAttributes, onClick, onMouseEnter, onMouseLeave, isEvenRow, stripedRows, isVisualRefresh, hasSelection, hasFooter, columnId, colIndex, stickyState, tableRole, expandableProps, }, ref) => {
12
13
  const Element = isRowHeader ? 'th' : 'td';
13
14
  nativeAttributes = Object.assign(Object.assign({}, nativeAttributes), getTableCellRoleProps({ tableRole, isRowHeader, colIndex }));
14
15
  const stickyStyles = useStickyCellStyles({
@@ -19,6 +20,12 @@ export const TableTdElement = React.forwardRef(({ className, style, children, wr
19
20
  const cellRefObject = useRef(null);
20
21
  const mergedRef = useMergeRefs(stickyStyles.ref, ref, cellRefObject);
21
22
  const { tabIndex: cellTabIndex } = useSingleTabStopNavigation(cellRefObject);
22
- return (React.createElement(Element, Object.assign({ style: Object.assign(Object.assign({}, style), stickyStyles.style), className: clsx(className, styles['body-cell'], wrapLines && styles['body-cell-wrap'], 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'], hasSelection && styles['has-selection'], hasFooter && styles['has-footer'], stickyStyles.className), onClick: onClick, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, ref: mergedRef }, nativeAttributes, { tabIndex: cellTabIndex }), children));
23
+ return (React.createElement(Element, Object.assign({ style: Object.assign(Object.assign({}, style), stickyStyles.style), className: clsx(className, styles['body-cell'], wrapLines && styles['body-cell-wrap'], 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'], hasSelection && styles['has-selection'], hasFooter && styles['has-footer'], !!expandableProps && styles['body-cell-expandable'], !!expandableProps && styles[`body-cell-expandable-level-${getLevelClassSuffix(expandableProps.level)}`], stickyStyles.className), onClick: onClick, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, ref: mergedRef }, nativeAttributes, { tabIndex: cellTabIndex }),
24
+ expandableProps && (React.createElement("div", { className: styles['expandable-toggle-wrapper'] },
25
+ React.createElement(ExpandToggle, Object.assign({}, expandableProps)))),
26
+ children));
23
27
  });
28
+ function getLevelClassSuffix(level) {
29
+ return 1 <= level && level <= 9 ? level : 'next';
30
+ }
24
31
  //# sourceMappingURL=td-element.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"td-element.js","sourceRoot":"","sources":["../../../../src/table/body-cell/td-element.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAsB,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAa,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8DAA8D,CAAC;AA+B1G,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAC5C,CACE,EACE,SAAS,EACT,KAAK,EACL,QAAQ,EACR,SAAS,EACT,WAAW,EACX,UAAU,EACV,SAAS,EACT,UAAU,EACV,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,WAAW,EACX,eAAe,EACf,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,SAAS,GACV,EACD,GAAG,EACH,EAAE;IACF,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAE1C,gBAAgB,mCAAQ,gBAAgB,GAAK,qBAAqB,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAE,CAAC;IAE3G,MAAM,YAAY,GAAG,mBAAmB,CAAC;QACvC,aAAa,EAAE,WAAW;QAC1B,QAAQ;QACR,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC;KAC1D,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,MAAM,CAAuB,IAAI,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;IACrE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,0BAA0B,CAAC,aAAa,CAAC,CAAC;IAE7E,OAAO,CACL,oBAAC,OAAO,kBACN,KAAK,kCAAO,KAAK,GAAK,YAAY,CAAC,KAAK,GACxC,SAAS,EAAE,IAAI,CACb,SAAS,EACT,MAAM,CAAC,WAAW,CAAC,EACnB,SAAS,IAAI,MAAM,CAAC,gBAAgB,CAAC,EACrC,UAAU,IAAI,MAAM,CAAC,qBAAqB,CAAC,EAC3C,SAAS,IAAI,MAAM,CAAC,oBAAoB,CAAC,EACzC,UAAU,IAAI,MAAM,CAAC,oBAAoB,CAAC,EAC1C,cAAc,IAAI,MAAM,CAAC,yBAAyB,CAAC,EACnD,cAAc,IAAI,MAAM,CAAC,yBAAyB,CAAC,EACnD,CAAC,SAAS,IAAI,WAAW,IAAI,MAAM,CAAC,kBAAkB,CAAC,EACvD,WAAW,IAAI,MAAM,CAAC,kBAAkB,CAAC,EACzC,eAAe,IAAI,MAAM,CAAC,mBAAmB,CAAC,EAC9C,YAAY,IAAI,MAAM,CAAC,eAAe,CAAC,EACvC,SAAS,IAAI,MAAM,CAAC,YAAY,CAAC,EACjC,YAAY,CAAC,SAAS,CACvB,EACD,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,SAAS,IACV,gBAAgB,IACpB,QAAQ,EAAE,YAAY,KAErB,QAAQ,CACD,CACX,CAAC;AACJ,CAAC,CACF,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport clsx from 'clsx';\nimport React, { useRef } from 'react';\nimport styles from './styles.css.js';\nimport { getStickyClassNames } from '../utils';\nimport { StickyColumnsModel, useStickyCellStyles } from '../sticky-columns';\nimport { TableRole, getTableCellRoleProps } from '../table-role';\nimport { useMergeRefs } from '../../internal/hooks/use-merge-refs/index.js';\nimport { useSingleTabStopNavigation } from '../../internal/context/single-tab-stop-navigation-context.js';\n\nexport interface TableTdElementProps {\n className?: string;\n style?: React.CSSProperties;\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 onMouseEnter?: () => void;\n onMouseLeave?: () => void;\n children?: React.ReactNode;\n isEvenRow?: boolean;\n stripedRows?: boolean;\n hasSelection?: boolean;\n hasFooter?: boolean;\n columnId: PropertyKey;\n colIndex: number;\n stickyState: StickyColumnsModel;\n isVisualRefresh?: boolean;\n tableRole: TableRole;\n}\n\nexport const TableTdElement = React.forwardRef<HTMLTableCellElement, TableTdElementProps>(\n (\n {\n className,\n style,\n children,\n wrapLines,\n isRowHeader,\n isFirstRow,\n isLastRow,\n isSelected,\n isNextSelected,\n isPrevSelected,\n nativeAttributes,\n onClick,\n onMouseEnter,\n onMouseLeave,\n isEvenRow,\n stripedRows,\n isVisualRefresh,\n hasSelection,\n hasFooter,\n columnId,\n colIndex,\n stickyState,\n tableRole,\n },\n ref\n ) => {\n const Element = isRowHeader ? 'th' : 'td';\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\n return (\n <Element\n style={{ ...style, ...stickyStyles.style }}\n className={clsx(\n className,\n styles['body-cell'],\n wrapLines && styles['body-cell-wrap'],\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 hasSelection && styles['has-selection'],\n hasFooter && styles['has-footer'],\n stickyStyles.className\n )}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n ref={mergedRef}\n {...nativeAttributes}\n tabIndex={cellTabIndex}\n >\n {children}\n </Element>\n );\n }\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 clsx from 'clsx';\nimport React, { useRef } from 'react';\nimport styles from './styles.css.js';\nimport { getStickyClassNames } from '../utils';\nimport { StickyColumnsModel, useStickyCellStyles } from '../sticky-columns';\nimport { TableRole, getTableCellRoleProps } from '../table-role';\nimport { useMergeRefs } from '../../internal/hooks/use-merge-refs';\nimport { useSingleTabStopNavigation } from '../../internal/context/single-tab-stop-navigation-context';\nimport { ExpandToggle } from '../expandable-rows/expand-toggle-button';\nimport { ExpandableItemProps } from '../expandable-rows/expandable-rows-utils';\n\nexport interface TableTdElementProps {\n className?: string;\n style?: React.CSSProperties;\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 onMouseEnter?: () => void;\n onMouseLeave?: () => void;\n children?: React.ReactNode;\n isEvenRow?: boolean;\n stripedRows?: boolean;\n hasSelection?: boolean;\n hasFooter?: boolean;\n columnId: PropertyKey;\n colIndex: number;\n stickyState: StickyColumnsModel;\n isVisualRefresh?: boolean;\n tableRole: TableRole;\n expandableProps?: ExpandableItemProps;\n}\n\nexport const TableTdElement = React.forwardRef<HTMLTableCellElement, TableTdElementProps>(\n (\n {\n className,\n style,\n children,\n wrapLines,\n isRowHeader,\n isFirstRow,\n isLastRow,\n isSelected,\n isNextSelected,\n isPrevSelected,\n nativeAttributes,\n onClick,\n onMouseEnter,\n onMouseLeave,\n isEvenRow,\n stripedRows,\n isVisualRefresh,\n hasSelection,\n hasFooter,\n columnId,\n colIndex,\n stickyState,\n tableRole,\n expandableProps,\n },\n ref\n ) => {\n const Element = isRowHeader ? 'th' : 'td';\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\n return (\n <Element\n style={{ ...style, ...stickyStyles.style }}\n className={clsx(\n className,\n styles['body-cell'],\n wrapLines && styles['body-cell-wrap'],\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 hasSelection && styles['has-selection'],\n hasFooter && styles['has-footer'],\n !!expandableProps && styles['body-cell-expandable'],\n !!expandableProps && styles[`body-cell-expandable-level-${getLevelClassSuffix(expandableProps.level)}`],\n stickyStyles.className\n )}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n ref={mergedRef}\n {...nativeAttributes}\n tabIndex={cellTabIndex}\n >\n {expandableProps && (\n <div className={styles['expandable-toggle-wrapper']}>\n <ExpandToggle {...expandableProps} />\n </div>\n )}\n {children}\n </Element>\n );\n }\n);\n\nfunction getLevelClassSuffix(level: number) {\n return 1 <= level && level <= 9 ? level : 'next';\n}\n"]}
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { ExpandableItemProps } from './expandable-rows-utils';
3
+ export declare function ExpandToggle({ isExpandable, ...props }: ExpandableItemProps): JSX.Element | null;
4
+ //# sourceMappingURL=expand-toggle-button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expand-toggle-button.d.ts","sourceRoot":"","sources":["../../../../src/table/expandable-rows/expand-toggle-button.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,wBAAgB,YAAY,CAAC,EAAE,YAAY,EAAE,GAAG,KAAK,EAAE,EAAE,mBAAmB,sBAE3E"}
@@ -0,0 +1,19 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { __rest } from "tslib";
4
+ import React, { useRef } from 'react';
5
+ import { useSingleTabStopNavigation } from '../../internal/context/single-tab-stop-navigation-context';
6
+ import styles from './styles.css.js';
7
+ import InternalIcon from '../../icon/internal';
8
+ import clsx from 'clsx';
9
+ export function ExpandToggle(_a) {
10
+ var { isExpandable } = _a, props = __rest(_a, ["isExpandable"]);
11
+ return isExpandable ? React.createElement(ExpandToggleButton, Object.assign({}, props)) : null;
12
+ }
13
+ function ExpandToggleButton({ isExpanded, onExpandableItemToggle, expandButtonLabel, collapseButtonLabel, }) {
14
+ const buttonRef = useRef(null);
15
+ const { tabIndex } = useSingleTabStopNavigation(buttonRef);
16
+ return (React.createElement("button", { ref: buttonRef, tabIndex: tabIndex, "aria-label": isExpanded ? collapseButtonLabel : expandButtonLabel, "aria-expanded": isExpanded, className: styles['expand-toggle'], onClick: onExpandableItemToggle },
17
+ React.createElement(InternalIcon, { size: "small", name: "caret-down-filled", className: clsx(styles['expand-toggle-icon'], isExpanded && styles['expand-toggle-icon-expanded']) })));
18
+ }
19
+ //# sourceMappingURL=expand-toggle-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expand-toggle-button.js","sourceRoot":"","sources":["../../../../src/table/expandable-rows/expand-toggle-button.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;;AAEtC,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,0BAA0B,EAAE,MAAM,2DAA2D,CAAC;AACvG,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAE/C,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,UAAU,YAAY,CAAC,EAA+C;QAA/C,EAAE,YAAY,OAAiC,EAA5B,KAAK,cAAxB,gBAA0B,CAAF;IACnD,OAAO,YAAY,CAAC,CAAC,CAAC,oBAAC,kBAAkB,oBAAK,KAAK,EAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACjE,CAAC;AAED,SAAS,kBAAkB,CAAC,EAC1B,UAAU,EACV,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,GACuB;IAC1C,MAAM,SAAS,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;IAC3D,OAAO,CACL,gCACE,GAAG,EAAE,SAAS,EACd,QAAQ,EAAE,QAAQ,gBACN,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,iBAAiB,mBACjD,UAAU,EACzB,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,EAClC,OAAO,EAAE,sBAAsB;QAE/B,oBAAC,YAAY,IACX,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,mBAAmB,EACxB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,UAAU,IAAI,MAAM,CAAC,6BAA6B,CAAC,CAAC,GAClG,CACK,CACV,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport React, { useRef } from 'react';\nimport { useSingleTabStopNavigation } from '../../internal/context/single-tab-stop-navigation-context';\nimport styles from './styles.css.js';\nimport InternalIcon from '../../icon/internal';\nimport { ExpandableItemProps } from './expandable-rows-utils';\nimport clsx from 'clsx';\n\nexport function ExpandToggle({ isExpandable, ...props }: ExpandableItemProps) {\n return isExpandable ? <ExpandToggleButton {...props} /> : null;\n}\n\nfunction ExpandToggleButton({\n isExpanded,\n onExpandableItemToggle,\n expandButtonLabel,\n collapseButtonLabel,\n}: Omit<ExpandableItemProps, 'isExpandable'>) {\n const buttonRef = useRef<HTMLButtonElement>(null);\n const { tabIndex } = useSingleTabStopNavigation(buttonRef);\n return (\n <button\n ref={buttonRef}\n tabIndex={tabIndex}\n aria-label={isExpanded ? collapseButtonLabel : expandButtonLabel}\n aria-expanded={isExpanded}\n className={styles['expand-toggle']}\n onClick={onExpandableItemToggle}\n >\n <InternalIcon\n size=\"small\"\n name=\"caret-down-filled\"\n className={clsx(styles['expand-toggle-icon'], isExpanded && styles['expand-toggle-icon-expanded'])}\n />\n </button>\n );\n}\n"]}
@@ -0,0 +1,24 @@
1
+ import { TableProps } from '../interfaces';
2
+ export interface ExpandableItemProps extends ExpandableItemPlacement {
3
+ isExpandable: boolean;
4
+ isExpanded: boolean;
5
+ onExpandableItemToggle: () => void;
6
+ expandButtonLabel?: string;
7
+ collapseButtonLabel?: string;
8
+ }
9
+ export interface ExpandableItemPlacement {
10
+ level: number;
11
+ setSize: number;
12
+ posInSet: number;
13
+ }
14
+ export declare function useExpandableTableProps<T>({ items, expandableRows, trackBy, ariaLabels, }: {
15
+ items: readonly T[];
16
+ expandableRows?: TableProps.ExpandableRows<T>;
17
+ trackBy?: TableProps.TrackBy<T>;
18
+ ariaLabels?: TableProps.AriaLabels<T>;
19
+ }): {
20
+ isExpandable: boolean;
21
+ allItems: readonly T[];
22
+ getExpandableItemProps: (item: T) => ExpandableItemProps;
23
+ };
24
+ //# sourceMappingURL=expandable-rows-utils.d.ts.map
@@ -0,0 +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,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAClE,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;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;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;;;mCA6CuC,CAAC,KAAG,mBAAmB;EAgB9D"}
@@ -0,0 +1,58 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { useInternalI18n } from '../../i18n/context';
4
+ import { fireNonCancelableEvent } from '../../internal/events';
5
+ import { ItemSet } from '../selection/utils';
6
+ export function useExpandableTableProps({ items, expandableRows, trackBy, ariaLabels, }) {
7
+ var _a;
8
+ const i18n = useInternalI18n('table');
9
+ const isExpandable = !!expandableRows;
10
+ const expandedSet = new ItemSet(trackBy, (_a = expandableRows === null || expandableRows === void 0 ? void 0 : expandableRows.expandedItems) !== null && _a !== void 0 ? _a : []);
11
+ let allItems = items;
12
+ const itemToPlacement = new Map();
13
+ const getItemLevel = (item) => { var _a, _b; return (_b = (_a = itemToPlacement.get(item)) === null || _a === void 0 ? void 0 : _a.level) !== null && _b !== void 0 ? _b : 0; };
14
+ if (isExpandable) {
15
+ const visibleItems = new Array();
16
+ const traverse = (item, placement) => {
17
+ itemToPlacement.set(item, placement);
18
+ visibleItems.push(item);
19
+ if (expandedSet.has(item)) {
20
+ const children = expandableRows.getItemChildren(item);
21
+ expandableRows
22
+ .getItemChildren(item)
23
+ .forEach((child, index) => traverse(child, { level: placement.level + 1, setSize: children.length, posInSet: index + 1 }));
24
+ }
25
+ };
26
+ items.forEach((item, index) => traverse(item, { level: 1, setSize: items.length, posInSet: index + 1 }));
27
+ for (let index = 0; index < visibleItems.length; index++) {
28
+ const item = visibleItems[index];
29
+ if (expandedSet.has(item)) {
30
+ let insertionIndex = index + 1;
31
+ for (insertionIndex; insertionIndex < visibleItems.length; insertionIndex++) {
32
+ const insertionItem = visibleItems[insertionIndex];
33
+ if (getItemLevel(item) >= getItemLevel(insertionItem)) {
34
+ break;
35
+ }
36
+ }
37
+ insertionIndex--;
38
+ }
39
+ }
40
+ allItems = visibleItems;
41
+ }
42
+ const getExpandableItemProps = (item) => {
43
+ var _a, _b, _c, _d;
44
+ const { level, setSize, posInSet } = (_a = itemToPlacement.get(item)) !== null && _a !== void 0 ? _a : { level: 1, setSize: 1, posInSet: 1 };
45
+ return {
46
+ level,
47
+ setSize,
48
+ posInSet,
49
+ isExpandable: (_b = expandableRows === null || expandableRows === void 0 ? void 0 : expandableRows.isItemExpandable(item)) !== null && _b !== void 0 ? _b : true,
50
+ isExpanded: expandedSet.has(item),
51
+ onExpandableItemToggle: () => fireNonCancelableEvent(expandableRows === null || expandableRows === void 0 ? void 0 : expandableRows.onExpandableItemToggle, { item, expanded: !expandedSet.has(item) }),
52
+ expandButtonLabel: i18n('ariaLabels.expandButtonLabel', (_c = ariaLabels === null || ariaLabels === void 0 ? void 0 : ariaLabels.expandButtonLabel) === null || _c === void 0 ? void 0 : _c.call(ariaLabels, item)),
53
+ collapseButtonLabel: i18n('ariaLabels.collapseButtonLabel', (_d = ariaLabels === null || ariaLabels === void 0 ? void 0 : ariaLabels.collapseButtonLabel) === null || _d === void 0 ? void 0 : _d.call(ariaLabels, item)),
54
+ };
55
+ };
56
+ return { isExpandable, allItems, getExpandableItemProps };
57
+ }
58
+ //# sourceMappingURL=expandable-rows-utils.js.map
@@ -0,0 +1 @@
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\nexport interface ExpandableItemProps extends ExpandableItemPlacement {\n isExpandable: boolean;\n isExpanded: boolean;\n onExpandableItemToggle: () => void;\n expandButtonLabel?: string;\n collapseButtonLabel?: string;\n}\n\nexport interface ExpandableItemPlacement {\n level: number;\n setSize: number;\n posInSet: 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}) {\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 itemToPlacement = new Map<T, ExpandableItemPlacement>();\n const getItemLevel = (item: T) => itemToPlacement.get(item)?.level ?? 0;\n\n if (isExpandable) {\n const visibleItems = new Array<T>();\n\n const traverse = (item: T, placement: ExpandableItemPlacement) => {\n itemToPlacement.set(item, placement);\n\n visibleItems.push(item);\n if (expandedSet.has(item)) {\n const children = expandableRows.getItemChildren(item);\n expandableRows\n .getItemChildren(item)\n .forEach((child, index) =>\n traverse(child, { level: placement.level + 1, setSize: children.length, posInSet: index + 1 })\n );\n }\n };\n items.forEach((item, index) => traverse(item, { level: 1, setSize: items.length, posInSet: index + 1 }));\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 => {\n const { level, setSize, posInSet } = itemToPlacement.get(item) ?? { level: 1, setSize: 1, posInSet: 1 };\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 };\n };\n\n return { isExpandable, allItems, getExpandableItemProps };\n}\n"]}
@@ -0,0 +1,8 @@
1
+
2
+ import './styles.scoped.css';
3
+ export default {
4
+ "expand-toggle-icon": "awsui_expand-toggle-icon_1ss49_1izvf_99",
5
+ "expand-toggle-icon-expanded": "awsui_expand-toggle-icon-expanded_1ss49_1izvf_120",
6
+ "expand-toggle": "awsui_expand-toggle_1ss49_1izvf_99"
7
+ };
8
+
@@ -0,0 +1,197 @@
1
+ /*
2
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ /* stylelint-disable plugin/no-unsupported-browser-features */
6
+ /* stylelint-enable plugin/no-unsupported-browser-features */
7
+ /*
8
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
9
+ SPDX-License-Identifier: Apache-2.0
10
+ */
11
+ /*
12
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
13
+ SPDX-License-Identifier: Apache-2.0
14
+ */
15
+ /*
16
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
17
+ SPDX-License-Identifier: Apache-2.0
18
+ */
19
+ /*
20
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
21
+ SPDX-License-Identifier: Apache-2.0
22
+ */
23
+ /*
24
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
25
+ SPDX-License-Identifier: Apache-2.0
26
+ */
27
+ /*
28
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
29
+ SPDX-License-Identifier: Apache-2.0
30
+ */
31
+ /*
32
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
33
+ SPDX-License-Identifier: Apache-2.0
34
+ */
35
+ /*
36
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
37
+ SPDX-License-Identifier: Apache-2.0
38
+ */
39
+ /*
40
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
41
+ SPDX-License-Identifier: Apache-2.0
42
+ */
43
+ /*
44
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
45
+ SPDX-License-Identifier: Apache-2.0
46
+ */
47
+ /*
48
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
49
+ SPDX-License-Identifier: Apache-2.0
50
+ */
51
+ /*
52
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
53
+ SPDX-License-Identifier: Apache-2.0
54
+ */
55
+ /*
56
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
57
+ SPDX-License-Identifier: Apache-2.0
58
+ */
59
+ /*
60
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
61
+ SPDX-License-Identifier: Apache-2.0
62
+ */
63
+ /*
64
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
65
+ SPDX-License-Identifier: Apache-2.0
66
+ */
67
+ /*
68
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
69
+ SPDX-License-Identifier: Apache-2.0
70
+ */
71
+ /* stylelint-disable @cloudscape-design/no-motion-outside-of-mixin, selector-combinator-disallowed-list, selector-pseudo-class-no-unknown, selector-class-pattern */
72
+ /* stylelint-enable @cloudscape-design/no-motion-outside-of-mixin, selector-combinator-disallowed-list, selector-pseudo-class-no-unknown, selector-class-pattern */
73
+ /*
74
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
75
+ SPDX-License-Identifier: Apache-2.0
76
+ */
77
+ /*
78
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
79
+ SPDX-License-Identifier: Apache-2.0
80
+ */
81
+ /*
82
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
83
+ SPDX-License-Identifier: Apache-2.0
84
+ */
85
+ /*
86
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
87
+ SPDX-License-Identifier: Apache-2.0
88
+ */
89
+ /* Style used for links in slots/components that are text heavy, to help links stand out among
90
+ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F73#description */
91
+ /*
92
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
93
+ SPDX-License-Identifier: Apache-2.0
94
+ */
95
+ /*
96
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
97
+ SPDX-License-Identifier: Apache-2.0
98
+ */
99
+ .awsui_expand-toggle-icon_1ss49_1izvf_99:not(#\9) {
100
+ transition: transform var(--motion-duration-rotate-90-4ry26y, 135ms) var(--motion-easing-rotate-90-sb4dk7, cubic-bezier(0.165, 0.84, 0.44, 1));
101
+ }
102
+ @media (prefers-reduced-motion: reduce) {
103
+ .awsui_expand-toggle-icon_1ss49_1izvf_99:not(#\9) {
104
+ animation: none;
105
+ transition: none;
106
+ }
107
+ }
108
+ .awsui-motion-disabled .awsui_expand-toggle-icon_1ss49_1izvf_99:not(#\9), .awsui-mode-entering .awsui_expand-toggle-icon_1ss49_1izvf_99:not(#\9) {
109
+ animation: none;
110
+ transition: none;
111
+ }
112
+
113
+ /*
114
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
115
+ SPDX-License-Identifier: Apache-2.0
116
+ */
117
+ .awsui_expand-toggle-icon_1ss49_1izvf_99:not(#\9) {
118
+ transform: rotate(-90deg);
119
+ }
120
+ .awsui_expand-toggle-icon-expanded_1ss49_1izvf_120:not(#\9) {
121
+ transform: rotate(0deg);
122
+ }
123
+
124
+ .awsui_expand-toggle_1ss49_1izvf_99:not(#\9) {
125
+ border-collapse: separate;
126
+ border-spacing: 0;
127
+ box-sizing: border-box;
128
+ caption-side: top;
129
+ cursor: auto;
130
+ direction: inherit;
131
+ empty-cells: show;
132
+ font-family: serif;
133
+ font-size: medium;
134
+ font-style: normal;
135
+ font-variant: normal;
136
+ font-weight: 400;
137
+ font-stretch: normal;
138
+ line-height: normal;
139
+ -webkit-hyphens: none;
140
+ hyphens: none;
141
+ letter-spacing: normal;
142
+ list-style: disc outside none;
143
+ tab-size: 8;
144
+ text-align: start;
145
+ text-indent: 0;
146
+ text-shadow: none;
147
+ text-transform: none;
148
+ visibility: visible;
149
+ white-space: normal;
150
+ word-spacing: normal;
151
+ font-size: var(--font-size-body-m-x4okxb, 14px);
152
+ line-height: var(--line-height-body-m-30ar75, 20px);
153
+ color: var(--color-text-body-default-at06ol, #000716);
154
+ font-weight: 400;
155
+ font-family: var(--font-family-base-dnvic8, "Open Sans", "Helvetica Neue", Roboto, Arial, sans-serif);
156
+ -webkit-font-smoothing: auto;
157
+ -moz-osx-font-smoothing: auto;
158
+ cursor: pointer;
159
+ inline-size: var(--space-m-udix3p, 16px);
160
+ block-size: var(--space-m-udix3p, 16px);
161
+ border-block: 0;
162
+ border-inline: 0;
163
+ margin-block: 0;
164
+ margin-inline: 0;
165
+ padding-block: 0;
166
+ padding-inline: 0;
167
+ background: none;
168
+ outline: 0;
169
+ color: var(--color-text-interactive-default-lnx6lk, #414d5c);
170
+ }
171
+ body[data-awsui-focus-visible=true] .awsui_expand-toggle_1ss49_1izvf_99:not(#\9):focus {
172
+ position: relative;
173
+ }
174
+ body[data-awsui-focus-visible=true] .awsui_expand-toggle_1ss49_1izvf_99:not(#\9):focus {
175
+ outline: 2px dotted transparent;
176
+ outline-offset: calc(var(--space-button-inline-icon-focus-outline-gutter-vk4r2v, 0px) - 1px);
177
+ }
178
+ body[data-awsui-focus-visible=true] .awsui_expand-toggle_1ss49_1izvf_99:not(#\9):focus::before {
179
+ content: " ";
180
+ display: block;
181
+ position: absolute;
182
+ inset-inline-start: calc(-1 * var(--space-button-inline-icon-focus-outline-gutter-vk4r2v, 0px));
183
+ inset-block-start: calc(-1 * var(--space-button-inline-icon-focus-outline-gutter-vk4r2v, 0px));
184
+ inline-size: calc(100% + 2 * var(--space-button-inline-icon-focus-outline-gutter-vk4r2v, 0px));
185
+ block-size: calc(100% + 2 * var(--space-button-inline-icon-focus-outline-gutter-vk4r2v, 0px));
186
+ border-start-start-radius: var(--border-radius-control-default-focus-ring-u8zbsz, 4px);
187
+ border-start-end-radius: var(--border-radius-control-default-focus-ring-u8zbsz, 4px);
188
+ border-end-start-radius: var(--border-radius-control-default-focus-ring-u8zbsz, 4px);
189
+ border-end-end-radius: var(--border-radius-control-default-focus-ring-u8zbsz, 4px);
190
+ box-shadow: 0 0 0 2px var(--color-border-item-focused-b2ntyl, #0972d3);
191
+ }
192
+ .awsui_expand-toggle_1ss49_1izvf_99:not(#\9):hover {
193
+ color: var(--color-text-interactive-hover-mj8add, #000716);
194
+ }
195
+ .awsui_expand-toggle_1ss49_1izvf_99:not(#\9):active {
196
+ color: var(--color-text-interactive-active-ox3ozh, #000716);
197
+ }
@@ -0,0 +1,9 @@
1
+
2
+ // es-module interop with Babel and Typescript
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ module.exports.default = {
5
+ "expand-toggle-icon": "awsui_expand-toggle-icon_1ss49_1izvf_99",
6
+ "expand-toggle-icon-expanded": "awsui_expand-toggle-icon-expanded_1ss49_1izvf_120",
7
+ "expand-toggle": "awsui_expand-toggle_1ss49_1izvf_99"
8
+ };
9
+
@@ -24,7 +24,8 @@ interface TableHeaderCellProps<ItemType> {
24
24
  focusedComponent?: null | string;
25
25
  tableRole: TableRole;
26
26
  resizerRoleDescription?: string;
27
+ isExpandable?: boolean;
27
28
  }
28
- export declare function TableHeaderCell<ItemType>({ className, style, tabIndex, column, activeSortingColumn, sortingDescending, sortingDisabled, wrapLines, focusedComponent, hidden, onClick, colIndex, updateColumn, resizableColumns, onResizeFinish, isEditable, columnId, stickyState, cellRef, tableRole, resizerRoleDescription, }: TableHeaderCellProps<ItemType>): JSX.Element;
29
+ export declare function TableHeaderCell<ItemType>({ className, style, tabIndex, column, activeSortingColumn, sortingDescending, sortingDisabled, wrapLines, focusedComponent, hidden, onClick, colIndex, updateColumn, resizableColumns, onResizeFinish, isEditable, columnId, stickyState, cellRef, tableRole, resizerRoleDescription, isExpandable, }: TableHeaderCellProps<ItemType>): JSX.Element;
29
30
  export {};
30
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/table/header-cell/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAM3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI1C,UAAU,oBAAoB,CAAC,QAAQ;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC9C,mBAAmB,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACpD,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,WAAW,CAAC;IACtB,WAAW,EAAE,kBAAkB,CAAC;IAChC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACxC,gBAAgB,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACjC,SAAS,EAAE,SAAS,CAAC;IACrB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,EACxC,SAAS,EACT,KAAK,EACL,QAAQ,EACR,MAAM,EACN,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,MAAM,EACN,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,QAAQ,EACR,WAAW,EACX,OAAO,EACP,SAAS,EACT,sBAAsB,GACvB,EAAE,oBAAoB,CAAC,QAAQ,CAAC,eAmGhC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/table/header-cell/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAM3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI1C,UAAU,oBAAoB,CAAC,QAAQ;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC9C,mBAAmB,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACpD,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,WAAW,CAAC;IACtB,WAAW,EAAE,kBAAkB,CAAC;IAChC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACxC,gBAAgB,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACjC,SAAS,EAAE,SAAS,CAAC;IACrB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,EACxC,SAAS,EACT,KAAK,EACL,QAAQ,EACR,MAAM,EACN,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,MAAM,EACN,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,QAAQ,EACR,WAAW,EACX,OAAO,EACP,SAAS,EACT,sBAAsB,EACtB,YAAY,GACb,EAAE,oBAAoB,CAAC,QAAQ,CAAC,eAoGhC"}
@@ -11,7 +11,7 @@ import { useUniqueId } from '../../internal/hooks/use-unique-id';
11
11
  import { useInternalI18n } from '../../i18n/context';
12
12
  import { TableThElement } from './th-element';
13
13
  import { useSingleTabStopNavigation } from '../../internal/context/single-tab-stop-navigation-context';
14
- export function TableHeaderCell({ className, style, tabIndex, column, activeSortingColumn, sortingDescending, sortingDisabled, wrapLines, focusedComponent, hidden, onClick, colIndex, updateColumn, resizableColumns, onResizeFinish, isEditable, columnId, stickyState, cellRef, tableRole, resizerRoleDescription, }) {
14
+ export function TableHeaderCell({ className, style, tabIndex, column, activeSortingColumn, sortingDescending, sortingDisabled, wrapLines, focusedComponent, hidden, onClick, colIndex, updateColumn, resizableColumns, onResizeFinish, isEditable, columnId, stickyState, cellRef, tableRole, resizerRoleDescription, isExpandable, }) {
15
15
  var _a;
16
16
  const i18n = useInternalI18n('table');
17
17
  const sortable = !!column.sortingComparator || !!column.sortingField;
@@ -37,6 +37,7 @@ export function TableHeaderCell({ className, style, tabIndex, column, activeSort
37
37
  return (React.createElement(TableThElement, { className: className, style: style, cellRef: cellRef, sortingStatus: sortingStatus, sortingDisabled: sortingDisabled, focusedComponent: focusedComponent, hidden: hidden, colIndex: colIndex, columnId: columnId, stickyState: stickyState, tableRole: tableRole },
38
38
  React.createElement("div", Object.assign({ ref: clickableHeaderRef, "data-focus-id": `sorting-control-${String(columnId)}`, className: clsx(styles['header-cell-content'], {
39
39
  [styles['header-cell-fake-focus']]: focusedComponent === `sorting-control-${String(columnId)}`,
40
+ [styles['header-cell-content-expandable']]: isExpandable,
40
41
  }), "aria-label": column.ariaLabel
41
42
  ? column.ariaLabel({
42
43
  sorted: sorted,
@@ -53,7 +54,7 @@ export function TableHeaderCell({ className, style, tabIndex, column, activeSort
53
54
  : {})),
54
55
  React.createElement("div", { className: clsx(styles['header-cell-text'], wrapLines && styles['header-cell-text-wrap']), id: headerId },
55
56
  column.header,
56
- isEditable ? (React.createElement("span", { className: styles['edit-icon'], role: "img", "aria-label": i18n('columnDefinitions.editConfig.editIconAriaLabel', (_a = column.editConfig) === null || _a === void 0 ? void 0 : _a.editIconAriaLabel) },
57
+ isEditable && !isExpandable ? (React.createElement("span", { className: styles['edit-icon'], role: "img", "aria-label": i18n('columnDefinitions.editConfig.editIconAriaLabel', (_a = column.editConfig) === null || _a === void 0 ? void 0 : _a.editIconAriaLabel) },
57
58
  React.createElement(InternalIcon, { name: "edit" }))) : null),
58
59
  sortingStatus && (React.createElement("span", { className: styles['sorting-icon'] },
59
60
  React.createElement(InternalIcon, { name: getSortingIconName(sortingStatus) })))),