@hazelcast/ui 1.3.2-next.23 → 1.3.2-next.26

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 (44) hide show
  1. package/lib/AutocompleteField.d.ts +4 -1
  2. package/lib/AutocompleteField.js +6 -7
  3. package/lib/AutocompleteField.js.map +1 -1
  4. package/lib/AutocompleteField.module.scss +16 -0
  5. package/lib/Calendar/components/CalendarTime.js +11 -3
  6. package/lib/Calendar/components/CalendarTime.js.map +1 -1
  7. package/lib/Select/SelectField.d.ts +1 -2
  8. package/lib/Table/Cell.d.ts +9 -1
  9. package/lib/Table/Cell.js +27 -8
  10. package/lib/Table/Cell.js.map +1 -1
  11. package/lib/Table/Cell.module.scss +8 -0
  12. package/lib/Table/CellWrapper.d.ts +11 -0
  13. package/lib/Table/CellWrapper.js +17 -0
  14. package/lib/Table/CellWrapper.js.map +1 -0
  15. package/lib/Table/Table.d.ts +5 -9
  16. package/lib/Table/Table.js +39 -109
  17. package/lib/Table/Table.js.map +1 -1
  18. package/lib/Table/TableContent.d.ts +26 -0
  19. package/lib/Table/TableContent.js +54 -0
  20. package/lib/Table/TableContent.js.map +1 -0
  21. package/lib/Table/constants.d.ts +2 -0
  22. package/lib/Table/constants.js +3 -0
  23. package/lib/Table/constants.js.map +1 -0
  24. package/lib/Table/features/columnsSelection/columnsSelection.d.ts +19 -0
  25. package/lib/Table/features/columnsSelection/columnsSelection.js +71 -0
  26. package/lib/Table/features/columnsSelection/columnsSelection.js.map +1 -0
  27. package/lib/Table/features/columnsSelection/helpers.d.ts +7 -0
  28. package/lib/Table/features/columnsSelection/helpers.js +26 -0
  29. package/lib/Table/features/columnsSelection/helpers.js.map +1 -0
  30. package/lib/Table/features/columnsSelection/index.d.ts +2 -0
  31. package/lib/Table/features/columnsSelection/index.js +3 -0
  32. package/lib/Table/features/columnsSelection/index.js.map +1 -0
  33. package/lib/hooks/index.d.ts +0 -1
  34. package/lib/hooks/index.js +0 -1
  35. package/lib/hooks/index.js.map +1 -1
  36. package/lib/index.d.ts +1 -1
  37. package/lib/index.js +1 -1
  38. package/lib/index.js.map +1 -1
  39. package/lib/utils/test.d.ts +3 -1
  40. package/lib/utils/test.js.map +1 -1
  41. package/package.json +2 -2
  42. package/lib/hooks/useTableCustomizableColumns.d.ts +0 -10
  43. package/lib/hooks/useTableCustomizableColumns.js +0 -21
  44. package/lib/hooks/useTableCustomizableColumns.js.map +0 -1
@@ -1,6 +1,8 @@
1
1
  import React, { FocusEvent, ReactNode } from 'react';
2
2
  import { HelpProps } from './Help';
3
3
  import { FormatOptionLabelMeta } from 'react-select/src/Select';
4
+ import { SelectFieldSize } from './Select/SelectField';
5
+ import { FieldHeaderProps } from './FieldHeader';
4
6
  export declare type AutocompleteFieldOption = {
5
7
  label: string;
6
8
  value: string;
@@ -8,6 +10,7 @@ export declare type AutocompleteFieldOption = {
8
10
  export declare type RenderOptionFunction<O = AutocompleteFieldOption> = (highlightedLabelText: ReactNode, option: O extends AutocompleteFieldOption ? O : never, labelMeta: FormatOptionLabelMeta<AutocompleteFieldOption>) => ReactNode;
9
11
  export declare type AutocompleteFieldProps = {
10
12
  'data-test'?: string;
13
+ size?: SelectFieldSize;
11
14
  className?: string;
12
15
  disabled?: boolean;
13
16
  error?: string;
@@ -28,7 +31,7 @@ export declare type AutocompleteFieldProps = {
28
31
  value?: string | null;
29
32
  placeholder?: string;
30
33
  openMenuOnClick?: boolean;
31
- };
34
+ } & Omit<FieldHeaderProps, 'id'>;
32
35
  declare type GetSelectedOptionFromValueProps = {
33
36
  value?: string | null;
34
37
  optionsMap: {
@@ -5,11 +5,10 @@ import cn from 'classnames';
5
5
  import { Search, X } from 'react-feather';
6
6
  import useIsomorphicLayoutEffect from 'react-use/lib/useIsomorphicLayoutEffect';
7
7
  import styles from './AutocompleteField.module.scss';
8
- import { Label } from './Label';
9
8
  import { Error, errorId } from './Error';
10
- import { Help } from './Help';
11
9
  import { canUseDOM } from './utils/ssr';
12
10
  import { IconButton } from './IconButton';
11
+ import { FieldHeader } from './FieldHeader';
13
12
  /**
14
13
  * Transforms the value passed to the Autocomplete component so that it's in a format as underlying react-select expects
15
14
  * @param value - single value or an array of values
@@ -54,7 +53,7 @@ export const highlightOptionText = (labelText, inputValue) => {
54
53
  }), key: val + `${i}` }, val)))
55
54
  : labelText;
56
55
  };
57
- export const AutocompleteField = ({ 'data-test': dataTest, className, disabled, error, errorClassName, isClearable, label, labelClassName, helperText, menuPortalTarget = 'body', name, onChange, onFocus, onBlur, onInputChange, options, required, value, placeholder = 'Search...', renderOption, openMenuOnClick = true, ...rest }) => {
56
+ export const AutocompleteField = ({ 'data-test': dataTest, className, disabled, error, errorClassName, isClearable, label, labelClassName, helperText, size = 'medium', menuPortalTarget = 'body', name, onChange, onFocus, onBlur, onInputChange, options, required, value, placeholder = 'Search...', showAriaLabel = false, renderOption, openMenuOnClick = true, ...rest }) => {
58
57
  // when the user clicks on an input with the value, the value should disappear,
59
58
  // but then it should appear after the user selects something or blurs the input
60
59
  const [isValueHidden, setValueHidden] = useState(false);
@@ -81,7 +80,7 @@ export const AutocompleteField = ({ 'data-test': dataTest, className, disabled,
81
80
  if (!openMenuOnClick) {
82
81
  setValueHidden(true);
83
82
  }
84
- }, [onFocus]);
83
+ }, [onFocus, openMenuOnClick]);
85
84
  const onBlurFn = React.useCallback((e) => {
86
85
  if (onBlur) {
87
86
  onBlur(e);
@@ -139,13 +138,14 @@ export const AutocompleteField = ({ 'data-test': dataTest, className, disabled,
139
138
  [styles.withError]: 'error' in props,
140
139
  [styles.disabled]: disabled,
141
140
  [styles.hasError]: error,
141
+ [styles.small]: size === 'small',
142
142
  [styles.empty]: !value,
143
143
  },
144
144
  // Menu container is either this select itself or any other element
145
145
  // We can always add this class to the select itself because even if the menu container is any parent it won't break it
146
146
  // However, if it is the select itself, it will properly add necessary specificity level to the menu styles.
147
147
  styles.menuContainer, className) },
148
- React.createElement(Label, { id: id, label: label, className: cn(styles.label, labelClassName) }),
148
+ React.createElement(FieldHeader, { label: label, id: id, size: size, helperText: helperText, showAriaLabel: showAriaLabel, labelClassName: labelClassName }),
149
149
  React.createElement("div", { className: styles.selectBlock },
150
150
  React.createElement(ReactSelect, { onInputChange: onInputChange, formatOptionLabel: formatOptionLabelFn, styles: {
151
151
  ...props.styles,
@@ -157,8 +157,7 @@ export const AutocompleteField = ({ 'data-test': dataTest, className, disabled,
157
157
  visibility: isValueHidden ? 'hidden' : 'visible',
158
158
  });
159
159
  },
160
- }, ...props }),
161
- helperText && React.createElement(Help, { parentId: id, helperText: helperText, className: styles.helperText })),
160
+ }, ...props })),
162
161
  React.createElement(Error, { truncated: true, error: error, className: cn(styles.errorContainer, errorClassName), inputId: id })));
163
162
  };
164
163
  //# sourceMappingURL=AutocompleteField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutocompleteField.js","sourceRoot":"","sources":["../src/AutocompleteField.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AutocompleteField.js","sourceRoot":"","sources":["../src/AutocompleteField.tsx"],"names":[],"mappings":"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"}
@@ -4,11 +4,26 @@
4
4
  $selectHorizontalPadding: c.$grid * 3;
5
5
  $menuMargin: c.$grid * 3;
6
6
  $select: ':global .hz-autocomplete-field__control';
7
+ $selectValueContainer: ':global .hz-autocomplete-field__value-container';
7
8
 
8
9
  .container {
9
10
  .label {
10
11
  display: block;
11
12
  margin-bottom: c.$grid;
13
+
14
+ &.small {
15
+ @include c.typographyBodySmall;
16
+ }
17
+ }
18
+
19
+ &.small {
20
+ #{$selectValueContainer} {
21
+ padding: 0;
22
+ }
23
+
24
+ #{$select} {
25
+ min-height: c.$inputHeightSmall;
26
+ }
12
27
  }
13
28
 
14
29
  .helperText {
@@ -56,6 +71,7 @@ $select: ':global .hz-autocomplete-field__control';
56
71
 
57
72
  .hz-autocomplete-field__dropdown-indicator {
58
73
  color: c.$colorNeutralLight;
74
+ padding: 0 c.$grid * 0.5;
59
75
  }
60
76
  }
61
77
 
@@ -4,6 +4,7 @@ import { Button } from '../../Button';
4
4
  import { timePoints } from '../helpers/consts';
5
5
  import { TimeField } from '../../TimeField';
6
6
  import styles from './CalendarTime.module.scss';
7
+ import { useRefValue } from '../../hooks';
7
8
  // Note: AM/PM 1-12 hours time
8
9
  const DATE_FORMAT = 'hh:mm a';
9
10
  // Note: 0-23 hours time
@@ -11,6 +12,7 @@ const DATE_FORMAT_NO_MERIDIEM = 'HH:mm';
11
12
  export const CalendarTimeInternal = ({ date, value, onChange }) => {
12
13
  const [time, setTime] = useState(value);
13
14
  const [timeInputError, setTimeInputError] = useState();
15
+ const getValue = useRefValue(value);
14
16
  /*
15
17
  * Note:
16
18
  * We cannot override how react-datepicker handles time values.
@@ -22,7 +24,7 @@ export const CalendarTimeInternal = ({ date, value, onChange }) => {
22
24
  * Furthermore, the package even does not handle potential thrown error by date-fns' parse.
23
25
  * Even the live demos do crash on an input like "10:10q" (See source 1. link below).
24
26
  *
25
- * For this reasons we need to provide our own wrapper around the functionality to achieve 2 things:
27
+ * For these reasons we need to provide our own wrapper around the functionality to achieve 2 things:
26
28
  * - Provide IE11 with a proper fallback
27
29
  * - Prevent the invalid input value crash
28
30
  * - Provide the user with an input error in case the value is invalid
@@ -50,11 +52,17 @@ export const CalendarTimeInternal = ({ date, value, onChange }) => {
50
52
  // Note: Output time, that we feed back to 'react-datetime' is in 'DATE_FORMAT_NO_MERIDIEM' format
51
53
  const timeStringWithoutAm = format(parsedDate, DATE_FORMAT_NO_MERIDIEM);
52
54
  onChange(timeStringWithoutAm);
53
- }, [onChange, date]);
55
+ // remove error because time from the list can not be invalid
56
+ setTimeInputError(undefined);
57
+ // restores input field value when we select the same time from the list
58
+ if (getValue() === timeStringWithoutAm) {
59
+ setTime(timeStringWithoutAm);
60
+ }
61
+ }, [onChange, getValue, date]);
54
62
  return (React.createElement("div", { "data-test": "calendar-time", className: styles.container },
55
63
  React.createElement("div", { "data-test": "calendar-time-header", className: styles.header },
56
64
  React.createElement(TimeField, { showAriaLabel: true, label: "Time Input", error: timeInputError, name: "time", value: time.toString(), onChange: handleTimeInputChange })),
57
- React.createElement("div", { "data-test": "calendar-time-timePoints", className: styles.timePoints }, timePoints.map((tP) => (React.createElement(Button, { className: styles.timePoint, bodyClassName: styles.timePointBody, key: tP, kind: "transparent", onClick: handleDateClick(tP) }, tP))))));
65
+ React.createElement("div", { "data-test": "calendar-time-timePoints", className: styles.timePoints }, timePoints.map((tP) => (React.createElement(Button, { className: styles.timePoint, bodyClassName: styles.timePointBody, key: tP, variant: "text", onClick: handleDateClick(tP) }, tP))))));
58
66
  };
59
67
  export const CalendarTime = (props) => {
60
68
  // Note: Cast the "unknown" props to the actual type
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarTime.js","sourceRoot":"","sources":["../../../src/Calendar/components/CalendarTime.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAmB,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,MAAM,MAAM,4BAA4B,CAAA;AAE/C,8BAA8B;AAC9B,MAAM,WAAW,GAAG,SAAS,CAAA;AAC7B,wBAAwB;AACxB,MAAM,uBAAuB,GAAG,OAAO,CAAA;AAQvC,MAAM,CAAC,MAAM,oBAAoB,GAAkC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC/F,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACvC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,EAAsB,CAAA;IAE1E;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,KAAK,CAAC,CAAA;IAChB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,MAAM,qBAAqB,GAAG,WAAW,CACvC,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAiC,EAAE,EAAE;QACvD,OAAO,CAAC,KAAK,CAAC,CAAA;QACd,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,EAAE,uBAAuB,EAAE,IAAI,CAAC,CAAA;QAE9D,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE;YAChC,iBAAiB,CAAC,SAAS,CAAC,CAAA;YAC5B,QAAQ,CAAC,KAAK,CAAC,CAAA;SAChB;aAAM;YACL,iBAAiB,CAAC,cAAc,CAAC,CAAA;SAClC;IACH,CAAC,EACD,CAAC,QAAQ,EAAE,IAAI,CAAC,CACjB,CAAA;IAED,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,EAAU,EAAE,EAAE,CAAC,GAAG,EAAE;QACnB,iEAAiE;QACjE,MAAM,UAAU,GAAG,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;QAC/C,kGAAkG;QAClG,MAAM,mBAAmB,GAAG,MAAM,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAA;QACvE,QAAQ,CAAC,mBAAmB,CAAC,CAAA;IAC/B,CAAC,EACD,CAAC,QAAQ,EAAE,IAAI,CAAC,CACjB,CAAA;IAED,OAAO,CACL,0CAAe,eAAe,EAAC,SAAS,EAAE,MAAM,CAAC,SAAS;QACxD,0CAAe,sBAAsB,EAAC,SAAS,EAAE,MAAM,CAAC,MAAM;YAC5D,oBAAC,SAAS,IACR,aAAa,QACb,KAAK,EAAC,YAAY,EAClB,KAAK,EAAE,cAAc,EACrB,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,EACtB,QAAQ,EAAE,qBAAqB,GAC/B,CACE;QACN,0CAAe,0BAA0B,EAAC,SAAS,EAAE,MAAM,CAAC,UAAU,IACnE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CACtB,oBAAC,MAAM,IACL,SAAS,EAAE,MAAM,CAAC,SAAS,EAC3B,aAAa,EAAE,MAAM,CAAC,aAAa,EACnC,GAAG,EAAE,EAAE,EACP,IAAI,EAAC,aAAa,EAClB,OAAO,EAAE,eAAe,CAAC,EAAE,CAAC,IAE3B,EAAE,CACI,CACV,CAAC,CACE,CACF,CACP,CAAA;AACH,CAAC,CAAA;AAUD,MAAM,CAAC,MAAM,YAAY,GAA0B,CAAC,KAAK,EAAE,EAAE;IAC3D,oDAAoD;IACpD,MAAM,UAAU,GAAG,KAAkC,CAAA;IAErD,OAAO,oBAAC,oBAAoB,OAAK,UAAU,GAAI,CAAA;AACjD,CAAC,CAAA"}
1
+ {"version":3,"file":"CalendarTime.js","sourceRoot":"","sources":["../../../src/Calendar/components/CalendarTime.tsx"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ export declare type SelectFieldIconLeftProps = {
23
23
  iconLeftClassName?: never;
24
24
  iconLeftContainerClassName?: never;
25
25
  };
26
- declare type SelectFieldSize = 'small' | 'medium';
26
+ export declare type SelectFieldSize = 'small' | 'medium';
27
27
  export declare type SelectFieldExtraProps<V> = {
28
28
  options: GroupedOptionsType<SelectFieldOption<V>> | OptionsType<SelectFieldOption<V>>;
29
29
  size?: SelectFieldSize;
@@ -40,4 +40,3 @@ export declare type SelectFieldExtraProps<V> = {
40
40
  } & DataTestProp & Pick<InputHTMLAttributes<HTMLElement>, 'autoFocus' | 'disabled' | 'required' | 'placeholder'> & Pick<ReactSelectProps, 'isSearchable' | 'isClearable' | 'menuIsOpen' | 'menuPlacement' | 'closeMenuOnScroll' | 'noOptionsMessage' | 'inputValue'> & SelectFieldIconLeftProps & Omit<FieldHeaderProps, 'id'>;
41
41
  export declare type SelectFieldProps<V> = SelectFieldCoreStaticProps<V> & SelectFieldExtraProps<V>;
42
42
  export declare const SelectField: <V extends string | number = string>(props: SelectFieldProps<V>) => React.ReactElement<SelectFieldProps<V>, string | React.JSXElementConstructor<any>>;
43
- export {};
@@ -1,4 +1,4 @@
1
- import { FC } from 'react';
1
+ import { FC, RefObject } from 'react';
2
2
  import { TableCellProps } from 'react-table';
3
3
  export declare type CellWarningProps = {
4
4
  align: 'left' | 'right';
@@ -11,7 +11,15 @@ export declare type CellProps = {
11
11
  * you to compare them or add them up quickly in your head.
12
12
  */
13
13
  align?: 'left' | 'right' | 'center';
14
+ selected?: boolean;
14
15
  warning?: string;
15
16
  colSpan?: number;
17
+ cellId?: string;
18
+ selectionStartedRef?: RefObject<boolean>;
19
+ onMouseEnterSelection?: (id: string) => void;
20
+ onClickSelection?: (id: string, modifiers: {
21
+ ctrl: boolean;
22
+ shift: boolean;
23
+ }) => void;
16
24
  } & Omit<TableCellProps, 'key'>;
17
25
  export declare const Cell: FC<CellProps>;
package/lib/Table/Cell.js CHANGED
@@ -13,12 +13,31 @@ export const CellWarning = ({ align, warning }) => {
13
13
  }) },
14
14
  React.createElement(Icon, { icon: AlertTriangle, ariaLabelledBy: id, size: "small" })))));
15
15
  };
16
- export const Cell = ({ align = 'left', warning, colSpan, children, style, className, role }) => (React.createElement("div", { "data-test": "table-cell", className: cn(styles.td, {
17
- [styles.alignLeft]: align === 'left',
18
- [styles.alignRight]: align === 'right',
19
- [styles.alignCenter]: align === 'center',
20
- }, className), "aria-colspan": colSpan, style: style, role: role },
21
- warning && align === 'right' && React.createElement(CellWarning, { warning: warning, align: "right" }),
22
- children,
23
- warning && (align === 'left' || align === 'center') && React.createElement(CellWarning, { warning: warning, align: "left" })));
16
+ export const Cell = ({ align = 'left', warning, colSpan, children, style, className, role, cellId, onClickSelection, selected, onMouseEnterSelection, selectionStartedRef, }) => {
17
+ const handleClick = (e) => {
18
+ if (onClickSelection && cellId) {
19
+ onClickSelection(cellId, {
20
+ shift: e.shiftKey,
21
+ ctrl: e.ctrlKey || e.metaKey,
22
+ });
23
+ }
24
+ };
25
+ const handleMouseEnter = () => {
26
+ if (cellId && onMouseEnterSelection && (selectionStartedRef === null || selectionStartedRef === void 0 ? void 0 : selectionStartedRef.current)) {
27
+ onMouseEnterSelection(cellId);
28
+ }
29
+ };
30
+ return (
31
+ // eslint-disable-next-line jsx-a11y/click-events-have-key-events
32
+ React.createElement("div", { "data-test": "table-cell", className: cn(styles.td, {
33
+ [styles.alignLeft]: align === 'left',
34
+ [styles.alignRight]: align === 'right',
35
+ [styles.alignCenter]: align === 'center',
36
+ [styles.selectable]: onClickSelection,
37
+ [styles.selected]: selected,
38
+ }, className), "aria-colspan": colSpan, style: style, role: role, onMouseEnter: onClickSelection ? handleMouseEnter : undefined, onMouseDown: onClickSelection ? handleClick : undefined },
39
+ warning && align === 'right' && React.createElement(CellWarning, { warning: warning, align: "right" }),
40
+ children,
41
+ warning && (align === 'left' || align === 'center') && React.createElement(CellWarning, { warning: warning, align: "left" })));
42
+ };
24
43
  //# sourceMappingURL=Cell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Cell.js","sourceRoot":"","sources":["../../src/Table/Cell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,OAAO,MAAM,MAAM,oBAAoB,CAAA;AAOvC,MAAM,CAAC,MAAM,WAAW,GAAyB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;IACtE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAA;IAEnB,OAAO,CACL,oBAAC,OAAO,IAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,IAC9B,CAAC,UAAU,EAAE,EAAE,CAAC,CACf,0CACY,sBAAsB,EAChC,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE;YAChC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,MAAM;YAC/B,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,OAAO;SAClC,CAAC;QAEF,oBAAC,IAAI,IAAC,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAC,OAAO,GAAG,CAC1D,CACP,CACO,CACX,CAAA;AACH,CAAC,CAAA;AAYD,MAAM,CAAC,MAAM,IAAI,GAAkB,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAC7G,0CACY,YAAY,EACtB,SAAS,EAAE,EAAE,CACX,MAAM,CAAC,EAAE,EACT;QACE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,KAAK,MAAM;QACpC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,KAAK,KAAK,OAAO;QACtC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,KAAK,KAAK,QAAQ;KACzC,EACD,SAAS,CACV,kBACa,OAAO,EACrB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI;IAET,OAAO,IAAI,KAAK,KAAK,OAAO,IAAI,oBAAC,WAAW,IAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAC,OAAO,GAAG;IAC/E,QAAQ;IACR,OAAO,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,QAAQ,CAAC,IAAI,oBAAC,WAAW,IAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAC,MAAM,GAAG,CAClG,CACP,CAAA"}
1
+ {"version":3,"file":"Cell.js","sourceRoot":"","sources":["../../src/Table/Cell.tsx"],"names":[],"mappings":"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"}
@@ -26,6 +26,10 @@
26
26
  justify-content: center;
27
27
  }
28
28
 
29
+ &.selected {
30
+ background: lighten((c.$colorPrimary), 30) !important;
31
+ }
32
+
29
33
  &:not(:last-of-type) {
30
34
  border-right: c.$borderWidth solid c.$colorNeutral;
31
35
  }
@@ -42,3 +46,7 @@
42
46
  margin-right: c.$grid * 2;
43
47
  }
44
48
  }
49
+
50
+ .selectable {
51
+ user-select: none;
52
+ }
@@ -0,0 +1,11 @@
1
+ import { RefObject } from 'react';
2
+ import { ColumnInterface, ColumnInterfaceBasedOnValue, Cell, UseResizeColumnsState } from 'react-table';
3
+ import { CellProps } from './Cell';
4
+ export declare type CellWrapperProps<D extends object> = CellProps & {
5
+ cell: Cell<D>;
6
+ selectable?: boolean;
7
+ column?: ColumnInterface<D> & ColumnInterfaceBasedOnValue;
8
+ selectedColumnValuesRef?: RefObject<string[][]>;
9
+ columnResizing: UseResizeColumnsState<D>['columnResizing'];
10
+ };
11
+ export declare const CellWrapper: <D extends object>(props: CellWrapperProps<D>) => JSX.Element;
@@ -0,0 +1,17 @@
1
+ import React, { useEffect } from 'react';
2
+ import { ROW_EXPANDER_COLUMN_ID } from './constants';
3
+ import { Cell as TableCell } from './Cell';
4
+ import { EnhancedCellRenderer } from './EnhancedRenderers';
5
+ export const CellWrapper = (props) => {
6
+ const { selectable, column, cell, columnResizing, selectedColumnValuesRef, onClickSelection, onMouseEnterSelection, selectionStartedRef, ...rest } = props;
7
+ const isSelectable = selectable && (column === null || column === void 0 ? void 0 : column.id) !== ROW_EXPANDER_COLUMN_ID;
8
+ useEffect(() => {
9
+ if (rest.selected && rest.cellId && (selectedColumnValuesRef === null || selectedColumnValuesRef === void 0 ? void 0 : selectedColumnValuesRef.current)) {
10
+ const [rowIndex, cellIndex] = rest.cellId.split(':');
11
+ selectedColumnValuesRef.current[Number(rowIndex)][Number(cellIndex)] = typeof cell.value !== 'object' ? String(cell.value) : '';
12
+ }
13
+ }, [rest, cell, selectedColumnValuesRef]);
14
+ const content = column ? (React.createElement(EnhancedCellRenderer, { cell: cell, hasCellRenderer: !!column.Cell, columnResizing: columnResizing })) : (cell.render('Cell'));
15
+ return (React.createElement(TableCell, { onClickSelection: isSelectable ? onClickSelection : undefined, selectionStartedRef: isSelectable ? selectionStartedRef : undefined, onMouseEnterSelection: isSelectable ? onMouseEnterSelection : undefined, ...rest }, content));
16
+ };
17
+ //# sourceMappingURL=CellWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CellWrapper.js","sourceRoot":"","sources":["../../src/Table/CellWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAa,SAAS,EAAE,MAAM,OAAO,CAAA;AAGnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAa,IAAI,IAAI,SAAS,EAAE,MAAM,QAAQ,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAU1D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAmB,KAA0B,EAAE,EAAE;IAC1E,MAAM,EACJ,UAAU,EACV,MAAM,EACN,IAAI,EACJ,cAAc,EACd,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,GAAG,IAAI,EACR,GAAG,KAAK,CAAA;IAET,MAAM,YAAY,GAAG,UAAU,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,MAAK,sBAAsB,CAAA;IAExE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAI,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAE,OAAO,CAAA,EAAE;YACpE,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAA;YAExE,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;SAChI;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAA;IAEzC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CACvB,oBAAC,oBAAoB,IAAC,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,cAAc,GAAI,CACrG,CAAC,CAAC,CAAC,CACF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CACpB,CAAA;IAED,OAAO,CACL,oBAAC,SAAS,IACR,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,EAC7D,mBAAmB,EAAE,YAAY,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,EACnE,qBAAqB,EAAE,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,KACnE,IAAI,IAEP,OAAO,CACE,CACb,CAAA;AACH,CAAC,CAAA"}
@@ -1,10 +1,10 @@
1
1
  import { DataTestProp } from '@hazelcast/helpers';
2
2
  import { AnchorHTMLAttributes, FC, ReactChild, ReactElement, ReactNode } from 'react';
3
- import { TableOptions, Row as RowType, Cell as CellType, Column as ColumnType, TableState, IdType } from 'react-table';
3
+ import { TableOptions, Row as RowType, Cell as CellType, Column as ColumnType, TableInstance } from 'react-table';
4
4
  import { PaginationProps } from '../Pagination';
5
5
  import { CellProps } from './Cell';
6
6
  import { RowProps } from './Row';
7
- export type { Accessor, Cell, Renderer, Row, CellProps, HeaderGroup, TableInstance } from 'react-table';
7
+ export type { Accessor, Cell, Renderer, Row, CellProps, HeaderGroup, TableInstance, TableState } from 'react-table';
8
8
  export declare type Column<T extends object> = ColumnType<T> & {
9
9
  canHide?: boolean;
10
10
  };
@@ -76,16 +76,12 @@ declare type CustomTableProps<D extends object> = {
76
76
  onPageChange?: (newPage: number) => void;
77
77
  onRowSelect?: (ids: string[]) => void;
78
78
  columnsOrdering?: boolean;
79
- storageKey?: string;
80
- children?: (table: ReactElement, toggleColumnsControl: ReactElement) => ReactElement;
79
+ children?: (table: ReactElement, tableInstance: TableInstance<D>) => ReactElement;
81
80
  renderRowSubComponent?: (props: RowType<D>) => ReactNode;
81
+ onCopy?: (data: string[][]) => void;
82
82
  } & CustomTableRowClickProps<D> & DataTestProp;
83
83
  export declare type TableProps<D extends object> = TableOptions<D> & ExtendedPaginationProps & ControlledPaginationProps & CustomTableProps<D>;
84
84
  export type { ColumnType, RowType, CellType };
85
- export declare type TableLocalState<T extends object> = (TableState<T> & {
86
- columnOrder: IdType<T>[];
87
- columns: Column<T>[];
88
- }) | null;
89
85
  /**
90
86
  * ### Purpose
91
87
  * Table component allows to arrange data in rows and columns.
@@ -96,4 +92,4 @@ export declare type TableLocalState<T extends object> = (TableState<T> & {
96
92
  * - Rows can be clickable. If you supply Table with `getHref` function rows will become <a> tags!
97
93
  * - Is able to resize columns out of the box
98
94
  */
99
- export declare const Table: <D extends object>({ "data-test": dataTest, autoResetSortBy, columns: propColumns, data, defaultColumn, disableSortBy, onPaginationChange, manualPagination, onRenderedContentChange, autoResetPage, hidePagination, pageCount: controlledPageCount, defaultPageSize, paginationOptions, onRowClick, getHref, AnchorComponent, getCustomRowProps, getCustomCellProps, loading, noDataTitle, pageIndex: incomingPageIndex, initialState, className, headerClassName, contentClassName, footerClassName, searchValue, hideHeader, autoResetGlobalFilter, onPageChange, overlayLoading, onRowSelect, columnsOrdering, autoResetResize, autoResetSelectedRows, children, storageKey, renderRowSubComponent, autoResetExpanded, }: TableProps<D>) => ReactElement;
95
+ export declare const Table: <D extends object>({ "data-test": dataTest, autoResetSortBy, columns: propColumns, data, defaultColumn, disableSortBy, onPaginationChange, manualPagination, onRenderedContentChange, autoResetPage, hidePagination, pageCount: controlledPageCount, defaultPageSize, paginationOptions, onRowClick, getHref, AnchorComponent, getCustomRowProps, getCustomCellProps, loading, noDataTitle, pageIndex: incomingPageIndex, initialState, className, headerClassName, contentClassName, footerClassName, searchValue, hideHeader, autoResetGlobalFilter, onPageChange, overlayLoading, onRowSelect, columnsOrdering, autoResetResize, autoResetSelectedRows, children, renderRowSubComponent, autoResetExpanded, onCopy, }: TableProps<D>) => ReactElement;
@@ -4,50 +4,25 @@ import { useTable, usePagination, useSortBy, useAsyncDebounce, useResizeColumns,
4
4
  import { AlertTriangle, ChevronDown, ChevronUp } from 'react-feather';
5
5
  import { Pagination } from '../Pagination';
6
6
  import { Cell } from './Cell';
7
- import { EnhancedCellRenderer, EnhancedHeaderFooterRenderer } from './EnhancedRenderers';
7
+ import { EnhancedHeaderFooterRenderer } from './EnhancedRenderers';
8
8
  import { Header } from './Header';
9
- import { HeaderRow, LinkRow, Row } from './Row';
9
+ import { HeaderRow, Row } from './Row';
10
10
  import { Loader } from '../Loader';
11
11
  import { EmptyState } from '../EmptyState';
12
12
  import { usePrevious } from '../hooks/usePrevious';
13
- import { useTableCustomizableColumns } from '../hooks';
14
13
  import { Icon } from '../Icon';
14
+ import { TableContent } from './TableContent';
15
+ import { ROW_EXPANDER_COLUMN_ID } from './constants';
16
+ import { useColumnsSelection } from './features/columnsSelection';
17
+ import { useRefValue } from '../hooks';
15
18
  import styles from './Table.module.scss';
16
19
  import styleConsts from '../../styles/constants/export.module.scss';
17
- import { selectionColumnId } from '../hooks/useTableCustomizableColumns';
18
20
  const column = {
19
21
  // When using the useFlexLayout:
20
22
  minWidth: Number(styleConsts.tableColumnMinWidth),
21
23
  width: Number(styleConsts.tableColumnWidth),
22
24
  maxWidth: Number(styleConsts.tableColumnMaxWidth), // maxWidth is only used as a limit for resizing
23
25
  };
24
- const readStorage = (key) => {
25
- try {
26
- const data = window.localStorage.getItem(key);
27
- if (data) {
28
- return JSON.parse(data);
29
- }
30
- return null;
31
- }
32
- catch (e) {
33
- return null;
34
- }
35
- };
36
- const writeStorage = (key, value) => {
37
- try {
38
- const state = readStorage(key);
39
- const data = JSON.stringify({ ...(state || {}), ...value });
40
- if (data) {
41
- window.localStorage.setItem(key, data);
42
- }
43
- }
44
- catch (e) {
45
- return null;
46
- }
47
- };
48
- const clearStorage = (key) => {
49
- window.localStorage.removeItem(key);
50
- };
51
26
  /**
52
27
  * ### Purpose
53
28
  * Table component allows to arrange data in rows and columns.
@@ -59,9 +34,9 @@ const clearStorage = (key) => {
59
34
  * - Is able to resize columns out of the box
60
35
  */
61
36
  // Inspiration here: https://react-table.tanstack.com/docs/examples/basic
62
- export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns: propColumns, data, defaultColumn = column, disableSortBy, onPaginationChange, manualPagination, onRenderedContentChange, autoResetPage = false, hidePagination = false, pageCount: controlledPageCount, defaultPageSize = 10, paginationOptions, onRowClick, getHref, AnchorComponent, getCustomRowProps, getCustomCellProps, loading, noDataTitle = 'The table is empty', pageIndex: incomingPageIndex, initialState = { pageIndex: incomingPageIndex || 0, pageSize: defaultPageSize }, className = '', headerClassName = '', contentClassName = '', footerClassName = '', searchValue, hideHeader, autoResetGlobalFilter = false, onPageChange, overlayLoading, onRowSelect, columnsOrdering = false, autoResetResize = false, autoResetSelectedRows = false, children, storageKey, renderRowSubComponent, autoResetExpanded = false, }) => {
37
+ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns: propColumns, data, defaultColumn = column, disableSortBy, onPaginationChange, manualPagination, onRenderedContentChange, autoResetPage = false, hidePagination = false, pageCount: controlledPageCount, defaultPageSize = 10, paginationOptions, onRowClick, getHref, AnchorComponent, getCustomRowProps, getCustomCellProps, loading, noDataTitle = 'The table is empty', pageIndex: incomingPageIndex, initialState = { pageIndex: incomingPageIndex || 0, pageSize: defaultPageSize }, className = '', headerClassName = '', contentClassName = '', footerClassName = '', searchValue, hideHeader, autoResetGlobalFilter = false, onPageChange, overlayLoading, onRowSelect, columnsOrdering = false, autoResetResize = false, autoResetSelectedRows = false, children, renderRowSubComponent, autoResetExpanded = false, onCopy, }) => {
63
38
  var _a;
64
- const didMountRef = useRef(false);
39
+ const getOncopy = useRefValue(onCopy);
65
40
  const draggedColumnRef = useRef(null);
66
41
  const previousIncomingPageIndex = usePrevious(incomingPageIndex);
67
42
  // Debounce our `fetchData` call for 200ms.
@@ -72,8 +47,8 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns:
72
47
  return [
73
48
  {
74
49
  width: 60,
75
- id: 'expander',
76
50
  disableResizing: true,
51
+ id: ROW_EXPANDER_COLUMN_ID,
77
52
  Cell: ({ row }) => {
78
53
  return row.canExpand || renderRowSubComponent ? (React.createElement("div", { tabIndex: 0, role: "button", "data-test": "row-expander", className: styles.expander, ...row.getToggleRowExpandedProps() },
79
54
  React.createElement(Icon, { icon: row.isExpanded ? ChevronUp : ChevronDown, ariaLabel: "row-expander" }))) : null;
@@ -84,26 +59,9 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns:
84
59
  }
85
60
  return propColumns;
86
61
  }, [propColumns, data, renderRowSubComponent]);
87
- const savedInitialState = useMemo(() => {
88
- var _a;
89
- const state = storageKey ? readStorage(storageKey) : null;
90
- if (storageKey && state) {
91
- // delete saved state if columns are changed
92
- if (state.columns &&
93
- (state.columns.length !== columns.length ||
94
- ((_a = state.columns) === null || _a === void 0 ? void 0 : _a.every(({ id, accessor }) => columns.find((column) => (id && id in column) || (typeof accessor === 'string' && accessor in column)))))) {
95
- clearStorage(storageKey);
96
- return {};
97
- }
98
- }
99
- return state;
100
- //eslint-disable-next-line react-hooks/exhaustive-deps
101
- }, [storageKey]);
102
62
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
103
63
  const onPaginationChangeDebounced = useAsyncDebounce(onPaginationChange, 200);
104
- const { getTableProps, headerGroups, footerGroups, prepareRow, page, visibleColumns, allColumns, canPreviousPage, canNextPage, pageCount, gotoPage, nextPage, previousPage, setPageSize,
105
- // Get the state from the instance
106
- state: { pageIndex, pageSize, columnResizing, selectedRowIds }, setGlobalFilter, setHiddenColumns, setColumnOrder, } = useTable({
64
+ const tableInstance = useTable({
107
65
  columns,
108
66
  data,
109
67
  disableSortBy,
@@ -111,20 +69,7 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns:
111
69
  // https://react-table.tanstack.com/docs/faq#how-do-i-stop-my-table-state-from-automatically-resetting-when-my-data-changes
112
70
  autoResetSortBy,
113
71
  // Pass our hoisted table state
114
- initialState: useMemo(() => ({
115
- ...(savedInitialState || {}),
116
- ...initialState,
117
- }), [initialState, savedInitialState]),
118
- useControlledState: useCallback((state) => {
119
- var _a, _b;
120
- if (storageKey) {
121
- writeStorage(storageKey, {
122
- ...state,
123
- columnOrder: (_b = (_a = state) === null || _a === void 0 ? void 0 : _a.columnOrder) === null || _b === void 0 ? void 0 : _b.filter((id) => id !== selectionColumnId),
124
- });
125
- }
126
- return state;
127
- }, [storageKey]),
72
+ initialState,
128
73
  // Tell the usePagination hook that we'll handle our own data fetching
129
74
  manualPagination: manualPagination,
130
75
  // This means we'll also have to provide our own pageCount
@@ -137,11 +82,9 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns:
137
82
  autoResetExpanded,
138
83
  paginateExpandedRows: false,
139
84
  }, useGlobalFilter, useSortBy, useExpanded, usePagination, useFlexLayout, useResizeColumns, useColumnOrder);
140
- const toggleColumnsControl = useTableCustomizableColumns({
141
- columns: allColumns,
142
- visibleColumns,
143
- setHiddenColumns,
144
- });
85
+ const { getTableProps, headerGroups, footerGroups, prepareRow, page, visibleColumns, canPreviousPage, canNextPage, pageCount, gotoPage, nextPage, previousPage, setPageSize,
86
+ // Get the state from the instance
87
+ state: { pageIndex, pageSize, columnResizing, selectedRowIds }, setGlobalFilter, setColumnOrder, } = tableInstance;
145
88
  // drag and drop
146
89
  const onDragStart = useCallback((e) => {
147
90
  draggedColumnRef.current = Number(e.dataTransfer.getData('text/plain'));
@@ -155,6 +98,29 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns:
155
98
  setColumnOrder(newColumns.map(({ id, accessor }) => (id || accessor)));
156
99
  }
157
100
  }, [visibleColumns, setColumnOrder]);
101
+ const columnsSelectionProps = useColumnsSelection({
102
+ rowsPerPage: page.length,
103
+ columnsPerRow: columns.length,
104
+ });
105
+ const { onEndSelection, getSelectedColumns, selectedColumnValuesRef } = columnsSelectionProps;
106
+ const onKeyUp = useCallback((e) => {
107
+ const callback = getOncopy();
108
+ if (callback) {
109
+ const { columns, range } = getSelectedColumns();
110
+ if (columns.size || (range[0] !== undefined && range[0] !== undefined)) {
111
+ if ((e.ctrlKey || e.metaKey) && e.key === 'c') {
112
+ callback(selectedColumnValuesRef === null || selectedColumnValuesRef === void 0 ? void 0 : selectedColumnValuesRef.current);
113
+ }
114
+ }
115
+ }
116
+ }, [getOncopy, getSelectedColumns, selectedColumnValuesRef]);
117
+ useEffect(() => {
118
+ return () => {
119
+ document.body.removeEventListener('mouseup', onEndSelection);
120
+ document.body.removeEventListener('contextmenu', onEndSelection);
121
+ document.body.removeEventListener('keyup', onKeyUp);
122
+ };
123
+ }, [onKeyUp, onEndSelection]);
158
124
  // Listen for changes in pagination and use the state to fetch new data. This is a recommended way to fetch new data: https://react-table.tanstack.com/docs/faq#how-can-i-use-the-table-state-to-fetch-new-data
159
125
  useEffect(() => {
160
126
  if (onPaginationChange) {
@@ -193,12 +159,6 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns:
193
159
  onRowSelect(Object.keys(selectedRowIds));
194
160
  }
195
161
  }, [onRowSelect, selectedRowIds]);
196
- useEffect(() => {
197
- if (storageKey && didMountRef.current) {
198
- clearStorage(storageKey);
199
- }
200
- didMountRef.current = true;
201
- }, [columns, storageKey]);
202
162
  const hasData = data.length > 0;
203
163
  // If at least one of the columns has footer then we display the footer row
204
164
  const hasFooter = !loading && hasData && columns.some((col) => !!col.Footer);
@@ -224,37 +184,7 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns:
224
184
  }))),
225
185
  !overlayLoading && loading ? (React.createElement(Row, { role: "row" },
226
186
  React.createElement(Cell, { role: "cell", align: "center", colSpan: columns.length, "data-test": "table-loader-cell" },
227
- React.createElement(Loader, null)))) : hasData ? (React.createElement("div", { "data-test": "table-cell-row-group", role: "rowgroup", className: cn(styles.content, contentClassName) },
228
- page.map((row) => {
229
- prepareRow(row);
230
- const { key: rowKey, ...restRowProps } = row.getRowProps(getCustomRowProps === null || getCustomRowProps === void 0 ? void 0 : getCustomRowProps(row));
231
- const cells = row.cells.map((cell, i) => {
232
- const { key: cellKey, ...restCellProps } = cell.getCellProps(getCustomCellProps === null || getCustomCellProps === void 0 ? void 0 : getCustomCellProps(cell));
233
- // We don't want to use cell.column.Cell as that is a ColumnInstance which already has a cell renderer
234
- const column = columns[i];
235
- // columns added via react-table hooks
236
- if (!column) {
237
- return (React.createElement(Cell, { key: cellKey, align: cell.column.align, ...restCellProps }, cell.render('Cell')));
238
- }
239
- return (React.createElement(Cell, { key: cellKey, align: cell.column.align, ...restCellProps },
240
- React.createElement(EnhancedCellRenderer, { cell: cell, hasCellRenderer: !!column.Cell, columnResizing: columnResizing })));
241
- });
242
- if (getHref) {
243
- const href = getHref(row);
244
- if (href) {
245
- return (React.createElement(LinkRow, { key: rowKey, AnchorComponent: AnchorComponent, ...restRowProps, ariaRowIndex: row.index + 1 + cellIndexOffset, href: href }, cells));
246
- }
247
- }
248
- return (React.createElement(React.Fragment, { key: rowKey },
249
- React.createElement(Row, { ...restRowProps, ariaRowIndex: row.index + 1 + cellIndexOffset, onClick: onRowClick
250
- ? () => {
251
- onRowClick(row);
252
- }
253
- : undefined }, cells),
254
- row.isExpanded ? renderRowSubComponent && React.createElement("div", null, renderRowSubComponent(row)) : null));
255
- }),
256
- overlayLoading && loading && (React.createElement("div", { className: styles.overlayLoading },
257
- React.createElement(Loader, null))))) : (React.createElement("div", { role: "row" },
187
+ React.createElement(Loader, null)))) : hasData ? (React.createElement(TableContent, { page: page, onCopy: onCopy, getHref: getHref, columns: columns, onKeyUp: onKeyUp, ...columnsSelectionProps, onRowClick: onRowClick, prepareRow: prepareRow, className: contentClassName, columnResizing: columnResizing, AnchorComponent: AnchorComponent, cellIndexOffset: cellIndexOffset, getCustomRowProps: getCustomRowProps, getCustomCellProps: getCustomCellProps, renderRowSubComponent: renderRowSubComponent })) : (React.createElement("div", { role: "row" },
258
188
  React.createElement("div", { role: "cell" },
259
189
  React.createElement(EmptyState, { "data-test": "table-no-data", className: styles.empty, title: noDataTitle, icon: AlertTriangle, iconLabel: "Alert" })))),
260
190
  hasFooter && (React.createElement("div", { "data-test": "table-footer-row-group", role: "rowgroup", className: footerClassName }, footerGroups.map((group) => {
@@ -292,7 +222,7 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns:
292
222
  }
293
223
  }, pageSize: pageSize, setPageSize: setPageSize, numberOfItems: data.length, pageSizeOptions: (_a = paginationOptions === null || paginationOptions === void 0 ? void 0 : paginationOptions.pageSizeOptions) !== null && _a !== void 0 ? _a : [5, 10, 20] }))));
294
224
  if (children) {
295
- return children(content, toggleColumnsControl);
225
+ return children(content, tableInstance);
296
226
  }
297
227
  return content;
298
228
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","sourceRoot":"","sources":["../../src/Table/Table.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Table.js","sourceRoot":"","sources":["../../src/Table/Table.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAKZ,WAAW,EACX,SAAS,EACT,MAAM,EAEN,OAAO,GAER,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EACL,QAAQ,EACR,aAAa,EAEb,SAAS,EAGT,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EAEb,eAAe,EACf,cAAc,EACd,WAAW,GAEZ,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAErE,OAAO,EAAE,UAAU,EAAmB,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAE,IAAI,EAAa,MAAM,QAAQ,CAAA;AACxC,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAY,MAAM,OAAO,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAEtC,OAAO,MAAM,MAAM,qBAAqB,CAAA;AACxC,OAAO,WAAW,MAAM,2CAA2C,CAAA;AAgLnE,MAAM,MAAM,GAAG;IACb,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC;IACjD,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE,gDAAgD;CACpG,CAAA;AAED;;;;;;;;;GASG;AACH,yEAAyE;AACzE,MAAM,CAAC,MAAM,KAAK,GAAG,CAAmB,EACtC,WAAW,EAAE,QAAQ,EACrB,eAAe,GAAG,KAAK,EACvB,OAAO,EAAE,WAAW,EACpB,IAAI,EACJ,aAAa,GAAG,MAAM,EACtB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,aAAa,GAAG,KAAK,EACrB,cAAc,GAAG,KAAK,EACtB,SAAS,EAAE,mBAAmB,EAC9B,eAAe,GAAG,EAAE,EACpB,iBAAiB,EACjB,UAAU,EACV,OAAO,EACP,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,OAAO,EACP,WAAW,GAAG,oBAAoB,EAClC,SAAS,EAAE,iBAAiB,EAC5B,YAAY,GAAG,EAAE,SAAS,EAAE,iBAAiB,IAAI,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,EAC/E,SAAS,GAAG,EAAE,EACd,eAAe,GAAG,EAAE,EACpB,gBAAgB,GAAG,EAAE,EACrB,eAAe,GAAG,EAAE,EACpB,WAAW,EACX,UAAU,EACV,qBAAqB,GAAG,KAAK,EAC7B,YAAY,EACZ,cAAc,EACd,WAAW,EACX,eAAe,GAAG,KAAK,EACvB,eAAe,GAAG,KAAK,EACvB,qBAAqB,GAAG,KAAK,EAC7B,QAAQ,EACR,qBAAqB,EACrB,iBAAiB,GAAG,KAAK,EACzB,MAAM,GACQ,EAAgB,EAAE;;IAChC,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IACrC,MAAM,gBAAgB,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAA;IACpD,MAAM,yBAAyB,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAA;IAChE,2CAA2C;IAC3C,4GAA4G;IAC5G,oEAAoE;IAEpE,MAAM,OAAO,GAAG,OAAO,CAAuB,GAAG,EAAE;QACjD,IAAI,qBAAqB,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE;YACnE,OAAO;gBACL;oBACE,KAAK,EAAE,EAAE;oBACT,eAAe,EAAE,IAAI;oBACrB,EAAE,EAAE,sBAAsB;oBAC1B,IAAI,EAAE,CAAC,EAAE,GAAG,EAAuB,EAAE,EAAE;wBACrC,OAAO,GAAG,CAAC,SAAS,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAC9C,6BAAK,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAC,QAAQ,eAAW,cAAc,EAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,KAAM,GAAG,CAAC,yBAAyB,EAAE;4BACtH,oBAAC,IAAI,IAAC,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,SAAS,EAAC,cAAc,GAAG,CAC7E,CACP,CAAC,CAAC,CAAC,IAAI,CAAA;oBACV,CAAC;iBACF;gBACD,GAAG,WAAW;aACf,CAAA;SACF;QAED,OAAO,WAAW,CAAA;IACpB,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAA;IAE9C,oEAAoE;IACpE,MAAM,2BAA2B,GAAG,gBAAgB,CAAyD,kBAAmB,EAAE,GAAG,CAAC,CAAA;IAEtI,MAAM,aAAa,GAAG,QAAQ,CAC5B;QACE,OAAO;QACP,IAAI;QACJ,aAAa;QACb,gBAAgB,EAAE,IAAI;QACtB,2HAA2H;QAC3H,eAAe;QACf,+BAA+B;QAC/B,YAAY;QACZ,sEAAsE;QACtE,gBAAgB,EAAE,gBAAgB;QAClC,0DAA0D;QAC1D,SAAS,EAAE,mBAAmB;QAC9B,aAAa;QACb,aAAa;QACb,qBAAqB;QACrB,eAAe;QACf,qBAAqB;QACrB,iBAAiB;QACjB,oBAAoB,EAAE,KAAK;KAC5B,EACD,eAAe,EACf,SAAS,EACT,WAAW,EACX,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,cAAc,CACf,CAAA;IAED,MAAM,EACJ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,IAAI,EACJ,cAAc,EACd,eAAe,EACf,WAAW,EACX,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,WAAW;IACX,kCAAkC;IAClC,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,EAC9D,eAAe,EACf,cAAc,GACf,GAAG,aAAa,CAAA;IAEjB,gBAAgB;IAChB,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAY,EAAE,EAAE;QAC/C,gBAAgB,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA;IACzE,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,MAAM,GAAG,WAAW,CACxB,CAAC,CAAY,EAAE,WAAmB,EAAE,EAAE;QACpC,IAAI,gBAAgB,CAAC,OAAO,KAAK,IAAI,IAAI,WAAW,KAAK,gBAAgB,CAAC,OAAO,EAAE;YACjF,MAAM,UAAU,GAAG,CAAC,GAAG,cAAc,CAAC,CAAA;YACtC,UAAU,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;YAClE,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,CAAA;YAElE,6DAA6D;YAC7D,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAa,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAW,CAAC,CAAC,CAAA;SAC5F;IACH,CAAC,EACD,CAAC,cAAc,EAAE,cAAc,CAAC,CACjC,CAAA;IAED,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;QAChD,WAAW,EAAE,IAAI,CAAC,MAAM;QACxB,aAAa,EAAE,OAAO,CAAC,MAAM;KAC9B,CAAC,CAAA;IACF,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,GAAG,qBAAqB,CAAA;IAE7F,MAAM,OAAO,GAAG,WAAW,CACzB,CAAC,CAAgB,EAAE,EAAE;QACnB,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAA;QAE5B,IAAI,QAAQ,EAAE;YACZ,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,kBAAkB,EAAE,CAAA;YAE/C,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,EAAE;gBACtE,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE;oBAC7C,QAAQ,CAAC,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAE,OAAO,CAAC,CAAA;iBAC3C;aACF;SACF;IACH,CAAC,EACD,CAAC,SAAS,EAAE,kBAAkB,EAAE,uBAAuB,CAAC,CACzD,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;YAC5D,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;YAChE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACrD,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAA;IAE7B,+MAA+M;IAC/M,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,kBAAkB,EAAE;YACtB,2BAA2B,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAA;SACrD;IACH,CAAC,EAAE,CAAC,kBAAkB,EAAE,2BAA2B,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;IAE1E,2CAA2C;IAC3C,4GAA4G;IAC5G,oEAAoE;IACpE,MAAM,gCAAgC,GAAG,gBAAgB,CAAkC,uBAAwB,EAAE,GAAG,CAAC,CAAA;IAEzH,+MAA+M;IAC/M,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,uBAAuB,EAAE;YAC3B,gCAAgC,CAAC,IAAI,CAAC,CAAA;SACvC;IACH,CAAC,EAAE,CAAC,uBAAuB,EAAE,gCAAgC,EAAE,IAAI,CAAC,CAAC,CAAA;IAErE,+CAA+C;IAC/C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,KAAK,SAAS,EAAE;YAC7B,CAAC;YAAC,eAA2C,CAAC,WAAW,CAAC,CAAA;SAC3D;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAA;IAElC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,SAAS,GAAG,CAAC,EAAE;YAC7B,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;SACxB;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;IAEpC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,KAAK,yBAAyB,EAAE;YACtF,QAAQ,CAAC,iBAAiB,CAAC,CAAA;SAC5B;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,yBAAyB,CAAC,CAAC,CAAA;IAE5D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,EAAE;YACf,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAA;SACzC;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAA;IAEjC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;IAE/B,2EAA2E;IAC3E,MAAM,SAAS,GAAG,CAAC,OAAO,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAE5E,2CAA2C;IAC3C,MAAM,WAAW,GAAG,CAAC,CAAA;IACrB,yFAAyF;IACzF,MAAM,eAAe,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAA;IAC1D,mBAAmB;IACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,WAAW,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAEhE,MAAM,OAAO,GAAG,CACd,0CAAgB,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,eAAe,EAAE,SAAS,EAAE,SAAS;QAC/D,6BACE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE;gBAC9B,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,cAAc;aACtC,CAAC;YAEF,0CAAe,OAAO,KAAK,aAAa,EAAE,mBAAiB,QAAQ;gBAChE,CAAC,UAAU,IAAI,CACd,0CAAe,wBAAwB,EAAC,IAAI,EAAC,UAAU,EAAC,SAAS,EAAE,eAAe,IAC/E,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;oBAChC,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,oBAAoB,EAAE,GAAG,WAAW,CAAC,mBAAmB,EAAE,CAAA;oBAE1F,OAAO,CACL,oBAAC,SAAS,IAAC,GAAG,EAAE,cAAc,KAAM,oBAAoB,EAAE,YAAY,EAAE,WAAW,IAChF,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACrC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,eAAe,EAAE,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAA;wBACnG,MAAM,WAAW,GAAG,eAAe,IAAI,MAAM,CAAC,EAAE,KAAK,UAAU,CAAA;wBAE/D,OAAO,CACL,oBAAC,MAAM,IACL,KAAK,EAAE,CAAC,EACR,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,YAAY,EAAE,MAAM,CAAC,YAAY,EACjC,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,EAClD,SAAS,EAAE,MAAM,CAAC,SAAS,EAC3B,UAAU,EAAE,MAAM,CAAC,UAAU,EAC7B,eAAe,EAAE,MAAM,CAAC,eAAe,EACvC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EACxC,WAAW,EAAE,WAAW,KACpB,eAAe;4BAEnB,oBAAC,4BAA4B,IAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,IAAI,EAAC,QAAQ,GAAG,CACvF,CACV,CAAA;oBACH,CAAC,CAAC,CACQ,CACb,CAAA;gBACH,CAAC,CAAC,CACE,CACP;gBACA,CAAC,cAAc,IAAI,OAAO,CAAC,CAAC,CAAC,CAC5B,oBAAC,GAAG,IAAC,IAAI,EAAC,KAAK;oBACb,oBAAC,IAAI,IAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAE,OAAO,CAAC,MAAM,eAAY,mBAAmB;wBACrF,oBAAC,MAAM,OAAG,CACL,CACH,CACP,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CACZ,oBAAC,YAAY,IACX,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,KACZ,qBAAqB,EACzB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,gBAAgB,EAC3B,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,EACpC,kBAAkB,EAAE,kBAAkB,EACtC,qBAAqB,EAAE,qBAAqB,GAC5C,CACH,CAAC,CAAC,CAAC,CACF,6BAAK,IAAI,EAAC,KAAK;oBACb,6BAAK,IAAI,EAAC,MAAM;wBACd,oBAAC,UAAU,iBAAW,eAAe,EAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAC,OAAO,GAAG,CACxH,CACF,CACP;gBACA,SAAS,IAAI,CACZ,0CAAe,wBAAwB,EAAC,IAAI,EAAC,UAAU,EAAC,SAAS,EAAE,eAAe,IAC/E,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC1B,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,oBAAoB,EAAE,GAAG,KAAK,CAAC,mBAAmB,EAAE,CAAA;oBACpF,OAAO;oBACL,sDAAsD;oBACtD,oBAAC,GAAG,IAAC,GAAG,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,KAAM,oBAAoB,EAAE,IAAI,EAAC,KAAK,IACnF,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;wBAC5B,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,eAAe,EAAE,GAAG,MAAM,CAAC,cAAc,EAAE,CAAA;wBACtE,OAAO;wBACL,sDAAsD;wBACtD,oBAAC,IAAI,IAAC,GAAG,EAAE,SAAS,KAAM,eAAe,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAC,MAAM;4BACzE,oBAAC,4BAA4B,IAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,IAAI,EAAC,QAAQ,GAAG,CACzF,CACR,CAAA;oBACH,CAAC,CAAC,CACE,CACP,CAAA;gBACH,CAAC,CAAC,CACE,CACP,CACG,CACF;QAEL,CAAC,cAAc,IAAI,OAAO,IAAI,CAC7B,oBAAC,UAAU,IACT,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,SAAS,GAAG,CAAC,EAC1B,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;gBACd,IAAI,YAAY,EAAE;oBAChB,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;iBACpB;qBAAM;oBACL,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;iBAChB;YACH,CAAC,EACD,QAAQ,EAAE,GAAG,EAAE;gBACb,IAAI,YAAY,EAAE;oBAChB,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;iBAC5B;qBAAM;oBACL,QAAQ,EAAE,CAAA;iBACX;YACH,CAAC,EACD,YAAY,EAAE,GAAG,EAAE;gBACjB,IAAI,YAAY,EAAE;oBAChB,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;iBAC5B;qBAAM;oBACL,YAAY,EAAE,CAAA;iBACf;YACH,CAAC,EACD,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,IAAI,CAAC,MAAM,EAC1B,eAAe,EAAE,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,eAAe,mCAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAClE,CACH,CACG,CACP,CAAA;IAED,IAAI,QAAQ,EAAE;QACZ,OAAO,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;KACxC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { AnchorHTMLAttributes, FC, MutableRefObject, ReactNode } from 'react';
2
+ import { Cell as CellType, Row as RowType, Column, UseResizeColumnsState } from 'react-table';
3
+ import { CellProps } from './Cell';
4
+ import { RowProps } from './Row';
5
+ import { useColumnsSelection } from './features/columnsSelection';
6
+ export declare type TableContentProps<D extends object> = {
7
+ loading?: boolean;
8
+ page: RowType<D>[];
9
+ className?: string;
10
+ cellIndexOffset: number;
11
+ overlayLoading?: boolean;
12
+ onEndSelection: () => void;
13
+ columns: readonly Column<D>[];
14
+ onKeyUp: (e: KeyboardEvent) => void;
15
+ onCopy?: (value: string[][]) => void;
16
+ prepareRow: (row: RowType<D>) => void;
17
+ onRowClick?: (row: RowType<D>) => void;
18
+ selectionStartedRef: MutableRefObject<boolean>;
19
+ getHref?: (row: RowType<D>) => string | undefined;
20
+ getCustomRowProps?: (row: RowType<D>) => RowProps;
21
+ renderRowSubComponent?: (props: RowType<D>) => ReactNode;
22
+ getCustomCellProps?: (cellInfo: CellType<D>) => CellProps;
23
+ columnResizing: UseResizeColumnsState<D>['columnResizing'];
24
+ AnchorComponent?: FC<AnchorHTMLAttributes<HTMLAnchorElement>>;
25
+ } & ReturnType<typeof useColumnsSelection>;
26
+ export declare const TableContent: <D extends object>(props: TableContentProps<D>) => JSX.Element;
@@ -0,0 +1,54 @@
1
+ import cn from 'classnames';
2
+ import React, { useRef } from 'react';
3
+ import { Loader } from '../Loader';
4
+ import { CellWrapper } from './CellWrapper';
5
+ import { LinkRow, Row } from './Row';
6
+ import { isCellSelected } from './features/columnsSelection';
7
+ import styles from './Table.module.scss';
8
+ import { useOnClickOutside } from '../hooks';
9
+ export const TableContent = (props) => {
10
+ const { page, onCopy, columns, onKeyUp, getHref, loading, className, prepareRow, onRowClick, columnResizing, overlayLoading, onEndSelection, AnchorComponent, cellIndexOffset, selectedColumns, onClickSelection, getCustomRowProps, getCustomCellProps, selectionStartedRef, renderRowSubComponent, onMouseEnterSelection, selectedColumnValuesRef, } = props;
11
+ const rootRef = useRef(null);
12
+ useOnClickOutside(!!onCopy, {
13
+ target: rootRef.current,
14
+ handler: () => {
15
+ document.body.removeEventListener('keyup', onKeyUp);
16
+ },
17
+ });
18
+ return (
19
+ // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
20
+ React.createElement("div", { ref: rootRef, role: "rowgroup", "data-test": "table-cell-row-group", className: cn(styles.content, className), onMouseDown: () => {
21
+ selectionStartedRef.current = true;
22
+ document.body.addEventListener('mouseup', onEndSelection);
23
+ document.body.addEventListener('contextmenu', onEndSelection);
24
+ document.body.addEventListener('keyup', onKeyUp);
25
+ } },
26
+ page.map((row, rowIndex) => {
27
+ prepareRow(row);
28
+ const { key: rowKey, ...restRowProps } = row.getRowProps(getCustomRowProps === null || getCustomRowProps === void 0 ? void 0 : getCustomRowProps(row));
29
+ const cells = row.cells.map((cell, i) => {
30
+ const { key: cellKey, ...restCellProps } = cell.getCellProps(getCustomCellProps === null || getCustomCellProps === void 0 ? void 0 : getCustomCellProps(cell));
31
+ // We don't want to use cell.column.Cell as that is a ColumnInstance which already has a cell renderer
32
+ const column = columns[i];
33
+ const cellId = `${rowIndex}:${i}`;
34
+ const selected = isCellSelected(cellId, selectedColumns);
35
+ return (React.createElement(CellWrapper, { cell: cell, key: cellKey, cellId: cellId, column: column, selected: selected, selectable: !!onCopy, align: cell.column.align, columnResizing: columnResizing, onClickSelection: onClickSelection, selectionStartedRef: selectionStartedRef, onMouseEnterSelection: onMouseEnterSelection, selectedColumnValuesRef: selectedColumnValuesRef, ...restCellProps }));
36
+ });
37
+ if (getHref) {
38
+ const href = getHref(row);
39
+ if (href) {
40
+ return (React.createElement(LinkRow, { key: rowKey, AnchorComponent: AnchorComponent, ...restRowProps, ariaRowIndex: row.index + 1 + cellIndexOffset, href: href }, cells));
41
+ }
42
+ }
43
+ return (React.createElement(React.Fragment, { key: rowKey },
44
+ React.createElement(Row, { ...restRowProps, ariaRowIndex: row.index + 1 + cellIndexOffset, onClick: onRowClick
45
+ ? () => {
46
+ onRowClick(row);
47
+ }
48
+ : undefined }, cells),
49
+ row.isExpanded ? renderRowSubComponent && React.createElement("div", null, renderRowSubComponent(row)) : null));
50
+ }),
51
+ overlayLoading && loading && (React.createElement("div", { className: styles.overlayLoading },
52
+ React.createElement(Loader, null)))));
53
+ };
54
+ //# sourceMappingURL=TableContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableContent.js","sourceRoot":"","sources":["../../src/Table/TableContent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,KAAK,EAAE,EAAyD,MAAM,EAAE,MAAM,OAAO,CAAA;AAG5F,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,GAAG,EAAY,MAAM,OAAO,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAuB,MAAM,6BAA6B,CAAA;AAEjF,OAAO,MAAM,MAAM,qBAAqB,CAAA;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAuB5C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAmB,KAA2B,EAAE,EAAE;IAC5E,MAAM,EACJ,IAAI,EACJ,MAAM,EACN,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,SAAS,EACT,UAAU,EACV,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,GACxB,GAAG,KAAK,CAAA;IACT,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAE5C,iBAAiB,CAAC,CAAC,CAAC,MAAM,EAAE;QAC1B,MAAM,EAAE,OAAO,CAAC,OAAO;QACvB,OAAO,EAAE,GAAG,EAAE;YACZ,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACrD,CAAC;KACF,CAAC,CAAA;IAEF,OAAO;IACL,2EAA2E;IAC3E,6BACE,GAAG,EAAE,OAAO,EACZ,IAAI,EAAC,UAAU,eACL,sBAAsB,EAChC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,EACxC,WAAW,EAAE,GAAG,EAAE;YAChB,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAA;YAClC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;YACzD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;YAC7D,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAClD,CAAC;QAEA,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;YAC1B,UAAU,CAAC,GAAG,CAAC,CAAA;YACf,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAG,GAAG,CAAC,CAAC,CAAA;YAClF,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;gBACtC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAG,IAAI,CAAC,CAAC,CAAA;gBACxF,sGAAsG;gBACtG,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAmC,CAAA;gBAC3D,MAAM,MAAM,GAAG,GAAG,QAAQ,IAAI,CAAC,EAAE,CAAA;gBACjC,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;gBAExD,OAAO,CACL,oBAAC,WAAW,IACV,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,CAAC,CAAC,MAAM,EACpB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EACxB,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,EAAE,mBAAmB,EACxC,qBAAqB,EAAE,qBAAqB,EAC5C,uBAAuB,EAAE,uBAAuB,KAC5C,aAAa,GACjB,CACH,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,IAAI,OAAO,EAAE;gBACX,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;gBACzB,IAAI,IAAI,EAAE;oBACR,OAAO,CACL,oBAAC,OAAO,IACN,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,eAAe,KAC5B,YAAY,EAChB,YAAY,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,eAAe,EAC7C,IAAI,EAAE,IAAI,IAET,KAAK,CACE,CACX,CAAA;iBACF;aACF;YAED,OAAO,CACL,oBAAC,KAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,MAAM;gBACzB,oBAAC,GAAG,OACE,YAAY,EAChB,YAAY,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,eAAe,EAC7C,OAAO,EACL,UAAU;wBACR,CAAC,CAAC,GAAG,EAAE;4BACH,UAAU,CAAC,GAAG,CAAC,CAAA;wBACjB,CAAC;wBACH,CAAC,CAAC,SAAS,IAGd,KAAK,CACF;gBACL,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,qBAAqB,IAAI,iCAAM,qBAAqB,CAAC,GAAG,CAAC,CAAO,CAAC,CAAC,CAAC,IAAI,CAC1E,CAClB,CAAA;QACH,CAAC,CAAC;QACD,cAAc,IAAI,OAAO,IAAI,CAC5B,6BAAK,SAAS,EAAE,MAAM,CAAC,cAAc;YACnC,oBAAC,MAAM,OAAG,CACN,CACP,CACG,CACP,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const ROW_SELECTOR_COLUMN_ID = "row-selector";
2
+ export declare const ROW_EXPANDER_COLUMN_ID = "row-expander";
@@ -0,0 +1,3 @@
1
+ export const ROW_SELECTOR_COLUMN_ID = 'row-selector';
2
+ export const ROW_EXPANDER_COLUMN_ID = 'row-expander';
3
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/Table/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAA;AACpD,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAA"}
@@ -0,0 +1,19 @@
1
+ /// <reference types="react" />
2
+ import { SelectedColumnsState } from './helpers';
3
+ export declare type ColumnsSelectionProps = {
4
+ rowsPerPage: number;
5
+ columnsPerRow: number;
6
+ };
7
+ export declare const useColumnsSelection: (props: ColumnsSelectionProps) => {
8
+ onEndSelection: () => void;
9
+ selectedColumns: SelectedColumnsState;
10
+ onClickSelection: (id: string, modifiers: {
11
+ ctrl: boolean;
12
+ shift: boolean;
13
+ }) => void;
14
+ setSelectedColumns: import("react").Dispatch<import("react").SetStateAction<SelectedColumnsState>>;
15
+ getSelectedColumns: () => SelectedColumnsState;
16
+ selectionStartedRef: import("react").MutableRefObject<boolean>;
17
+ onMouseEnterSelection: (id: string) => void;
18
+ selectedColumnValuesRef: import("react").MutableRefObject<string[][]>;
19
+ };
@@ -0,0 +1,71 @@
1
+ import { useCallback, useRef, useState } from 'react';
2
+ import { useRefValue } from '../../../hooks';
3
+ const initialSelectedColumnsState = {
4
+ columns: new Set(),
5
+ range: [undefined, undefined],
6
+ };
7
+ export const useColumnsSelection = (props) => {
8
+ const { columnsPerRow, rowsPerPage } = props;
9
+ const [selectedColumns, setSelectedColumns] = useState(initialSelectedColumnsState);
10
+ const selectionStartedRef = useRef(false);
11
+ const selectedColumnValuesRef = useRef([]);
12
+ const getColumnsPerRow = useRefValue(columnsPerRow);
13
+ const getRowsPerPage = useRefValue(rowsPerPage);
14
+ const getSelectedColumns = useRefValue(selectedColumns);
15
+ const clearSelectedColumnsValue = useCallback(() => {
16
+ selectedColumnValuesRef.current = Array.from(Array(getRowsPerPage()), () => new Array(getColumnsPerRow()));
17
+ }, [selectedColumnValuesRef, getRowsPerPage, getColumnsPerRow]);
18
+ const onEndSelection = useCallback(() => {
19
+ document.body.removeEventListener('mouseup', onEndSelection);
20
+ document.body.removeEventListener('contextmenu', onEndSelection);
21
+ selectionStartedRef.current = false;
22
+ }, []);
23
+ const onClickSelection = useCallback((id, modifiers) => {
24
+ setSelectedColumns((currentValue) => {
25
+ if (modifiers.ctrl) {
26
+ return {
27
+ ...currentValue,
28
+ columns: new Set(currentValue.columns.add(id)),
29
+ };
30
+ }
31
+ if (modifiers.shift && currentValue.columns.size === 1) {
32
+ const firstItem = currentValue.columns.values().next();
33
+ return {
34
+ columns: new Set(),
35
+ range: [firstItem.value, id],
36
+ };
37
+ }
38
+ clearSelectedColumnsValue();
39
+ return {
40
+ range: [undefined, undefined],
41
+ columns: new Set([id]),
42
+ };
43
+ });
44
+ }, [clearSelectedColumnsValue]);
45
+ const onMouseEnterSelection = useCallback((id) => {
46
+ setSelectedColumns((currentValue) => {
47
+ if (currentValue.columns.size === 1 && currentValue.range[0] === undefined) {
48
+ const firstItem = currentValue.columns.values().next();
49
+ return {
50
+ columns: new Set(),
51
+ range: [firstItem.value, id],
52
+ };
53
+ }
54
+ return {
55
+ ...currentValue,
56
+ range: [currentValue.range[0], id],
57
+ };
58
+ });
59
+ }, []);
60
+ return {
61
+ onEndSelection,
62
+ selectedColumns,
63
+ onClickSelection,
64
+ setSelectedColumns,
65
+ getSelectedColumns,
66
+ selectionStartedRef,
67
+ onMouseEnterSelection,
68
+ selectedColumnValuesRef,
69
+ };
70
+ };
71
+ //# sourceMappingURL=columnsSelection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnsSelection.js","sourceRoot":"","sources":["../../../../src/Table/features/columnsSelection/columnsSelection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare type SelectedColumnsState = {
2
+ range: [string | undefined, string | undefined];
3
+ columns: Set<string>;
4
+ };
5
+ export declare const cellIdToNumbersArray: (cellId: string) => [number, number];
6
+ export declare const inRange: (cellId: string, range: [string | undefined, string | undefined]) => boolean;
7
+ export declare const isCellSelected: (cellId: string, selectedColumns: SelectedColumnsState) => boolean;
@@ -0,0 +1,26 @@
1
+ export const cellIdToNumbersArray = (cellId) => {
2
+ const values = cellId.split(':');
3
+ return [Number(values[0]), Number(values[1])];
4
+ };
5
+ export const inRange = (cellId, range) => {
6
+ const start = range[0];
7
+ const end = range[1];
8
+ if (start) {
9
+ if (end) {
10
+ const cellValues = cellIdToNumbersArray(cellId);
11
+ const startValues = cellIdToNumbersArray(start);
12
+ const endValues = cellIdToNumbersArray(end);
13
+ const minRowIndex = Math.min(startValues[0], endValues[0]);
14
+ const maxRowIndex = Math.max(startValues[0], endValues[0]);
15
+ const minCellIndex = Math.min(startValues[1], endValues[1]);
16
+ const maxCellIndex = Math.max(startValues[1], endValues[1]);
17
+ return cellValues[0] >= minRowIndex && cellValues[0] <= maxRowIndex && cellValues[1] >= minCellIndex && cellValues[1] <= maxCellIndex;
18
+ }
19
+ return cellId === start;
20
+ }
21
+ return false;
22
+ };
23
+ export const isCellSelected = (cellId, selectedColumns) => {
24
+ return selectedColumns.columns.has(cellId) || inRange(cellId, selectedColumns.range);
25
+ };
26
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/Table/features/columnsSelection/helpers.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAc,EAAoB,EAAE;IACvE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEhC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC/C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,KAA+C,EAAW,EAAE;IAClG,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IACtB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IAEpB,IAAI,KAAK,EAAE;QACT,IAAI,GAAG,EAAE;YACP,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;YAC/C,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;YAC/C,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAA;YAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;YAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;YAE3D,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,YAAY,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,YAAY,CAAA;SACtI;QAED,OAAO,MAAM,KAAK,KAAK,CAAA;KACxB;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,eAAqC,EAAW,EAAE;IAC/F,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,CAAA;AACtF,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './columnsSelection';
2
+ export * from './helpers';
@@ -0,0 +1,3 @@
1
+ export * from './columnsSelection';
2
+ export * from './helpers';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Table/features/columnsSelection/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,WAAW,CAAA"}
@@ -1,4 +1,3 @@
1
- export { useTableCustomizableColumns } from './useTableCustomizableColumns';
2
1
  export { useOnClickOutside, containsElement } from './useOnClickOutside';
3
2
  export { useIsMounted } from './useIsMounted';
4
3
  export { useRefValue } from './useRefValue';
@@ -1,5 +1,4 @@
1
1
  /* export only hooks for external usage */
2
- export { useTableCustomizableColumns } from './useTableCustomizableColumns';
3
2
  export { useOnClickOutside, containsElement } from './useOnClickOutside';
4
3
  export { useIsMounted } from './useIsMounted';
5
4
  export { useRefValue } from './useRefValue';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAC3E,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA"}
package/lib/index.d.ts CHANGED
@@ -49,4 +49,4 @@ export { Toggle } from './Toggle';
49
49
  export { ToggleFormik } from './ToggleFormik';
50
50
  export { Tooltip } from './Tooltip';
51
51
  export { TruncatedText } from './TruncatedText';
52
- export { useTableCustomizableColumns, useOpenCloseState, useRefValue, useIsMounted, useOnClickOutside, containsElement } from './hooks';
52
+ export { useOpenCloseState, useRefValue, useIsMounted, useOnClickOutside, containsElement } from './hooks';
package/lib/index.js CHANGED
@@ -49,5 +49,5 @@ export { Toggle } from './Toggle';
49
49
  export { ToggleFormik } from './ToggleFormik';
50
50
  export { Tooltip } from './Tooltip';
51
51
  export { TruncatedText } from './TruncatedText';
52
- export { useTableCustomizableColumns, useOpenCloseState, useRefValue, useIsMounted, useOnClickOutside, containsElement } from './hooks';
52
+ export { useOpenCloseState, useRefValue, useIsMounted, useOnClickOutside, containsElement } from './hooks';
53
53
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EACL,UAAU,EACV,QAAQ,EACR,GAAG,EACH,OAAO,EACP,kBAAkB,EAClB,4BAA4B,EAC5B,UAAU,EACV,QAAQ,EACR,aAAa,EACb,sBAAsB,GACvB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA"}
@@ -1 +1,3 @@
1
- export declare const waitForComponentToPaint: (wrapper: any) => Promise<void>;
1
+ import { ReactWrapper } from 'enzyme';
2
+ import { Component } from 'react';
3
+ export declare const waitForComponentToPaint: <T = Component<{}, {}, any>>(wrapper: ReactWrapper<T, {}, Component<{}, {}, any>>) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/utils/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAG1C,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAAE,OAAY,EAAE,EAAE;IAC5D,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CACrD;QAAC,OAA6B,CAAC,MAAM,EAAE,CAAA;IAC1C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/utils/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAI1C,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAAiB,OAAwB,EAAE,EAAE;IACvF,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;QACtD,OAAO,CAAC,MAAM,EAAE,CAAA;IAClB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hazelcast/ui",
3
- "version": "1.3.2-next.23+99aeaa2",
3
+ "version": "1.3.2-next.26+b1c5a06",
4
4
  "description": "Hazelcast design system components",
5
5
  "author": "",
6
6
  "homepage": "https://github.com/hazelcast/frontend-shared#readme",
@@ -109,5 +109,5 @@
109
109
  "webpack": "^5.65.0",
110
110
  "yup": "^0.32.11"
111
111
  },
112
- "gitHead": "99aeaa23e4e34c54dd293fa54882a24b53eb2955"
112
+ "gitHead": "b1c5a066589e73fc463d3c5afdea8a55489f10b2"
113
113
  }
@@ -1,10 +0,0 @@
1
- /// <reference types="react" />
2
- import { ColumnInstance, IdType } from 'react-table';
3
- import { Column } from '../Table/Table';
4
- export declare const selectionColumnId = "selection";
5
- export declare function useTableCustomizableColumns<T extends object>({ columns, visibleColumns, setHiddenColumns, dataTest, }: {
6
- dataTest?: string;
7
- columns: Column<T>[];
8
- visibleColumns: ColumnInstance<T>[];
9
- setHiddenColumns: (columns: IdType<T>[]) => void;
10
- }): JSX.Element;
@@ -1,21 +0,0 @@
1
- import React, { useCallback, useMemo, useState } from 'react';
2
- import { CheckableSelectField } from '../Select';
3
- export const selectionColumnId = 'selection';
4
- export function useTableCustomizableColumns({ columns, visibleColumns, setHiddenColumns, dataTest = 'table-custom-columns', }) {
5
- // Header is used as a label
6
- const toggleableColumns = useMemo(() => columns.filter(({ Header, id, accessor, canHide = true }) => canHide && !!Header && (!!id || !!accessor)), [columns]);
7
- const options = useMemo(() => toggleableColumns.map(({ Header, id, accessor }) => ({
8
- value: String(id || accessor),
9
- label: String(Header),
10
- })), [toggleableColumns]);
11
- const onChange = useCallback((value) => {
12
- const visibleColumns = new Set(value);
13
- setHiddenColumns(toggleableColumns
14
- .filter(({ id, accessor }) => !visibleColumns.has((id || accessor)))
15
- .map(({ id, accessor }) => (id || accessor)));
16
- setValue(value);
17
- }, [setHiddenColumns, toggleableColumns]);
18
- const [value, setValue] = useState(visibleColumns.filter(({ id }) => id !== selectionColumnId).map(({ id }) => id));
19
- return (React.createElement(CheckableSelectField, { name: "custom-columns", options: options, value: value, "data-test": dataTest, label: "Columns", onChange: onChange }));
20
- }
21
- //# sourceMappingURL=useTableCustomizableColumns.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTableCustomizableColumns.js","sourceRoot":"","sources":["../../src/hooks/useTableCustomizableColumns.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAI7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAGhD,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAA;AAE5C,MAAM,UAAU,2BAA2B,CAAmB,EAC5D,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,QAAQ,GAAG,sBAAsB,GAMlC;IACC,4BAA4B;IAC5B,MAAM,iBAAiB,GAAG,OAAO,CAC/B,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAC/G,CAAC,OAAO,CAAC,CACV,CAAA;IACD,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CACH,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QACnD,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,QAAQ,CAAC;QAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;KACtB,CAAC,CAAC,EACL,CAAC,iBAAiB,CAAC,CACpB,CAAA;IAED,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,KAAe,EAAE,EAAE;QAClB,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;QAErC,gBAAgB,CACd,iBAAiB;aACd,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAW,CAAC,CAAC;aAC7E,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAW,CAAC,CACzD,CAAA;QACD,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjB,CAAC,EACD,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CACtC,CAAA;IACD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAW,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAE7H,OAAO,CACL,oBAAC,oBAAoB,IACnB,IAAI,EAAC,gBAAgB,EACrB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,eACD,QAAQ,EACnB,KAAK,EAAC,SAAS,EACf,QAAQ,EAAE,QAAQ,GAClB,CACH,CAAA;AACH,CAAC"}