@hazelcast/ui 1.1.1 → 1.2.0

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 (178) hide show
  1. package/lib/Alert.d.ts +3 -2
  2. package/lib/Alert.js +23 -22
  3. package/lib/Alert.js.map +1 -1
  4. package/lib/Alert.module.scss +14 -6
  5. package/lib/AutocompleteField.d.ts +2 -1
  6. package/lib/AutocompleteField.js +41 -19
  7. package/lib/AutocompleteField.js.map +1 -1
  8. package/lib/AutocompleteField.module.scss +2 -4
  9. package/lib/AutocompleteFieldFormik.d.ts +2 -1
  10. package/lib/AutocompleteFieldFormik.js +11 -5
  11. package/lib/AutocompleteFieldFormik.js.map +1 -1
  12. package/lib/Button.d.ts +80 -13
  13. package/lib/Button.js +39 -12
  14. package/lib/Button.js.map +1 -1
  15. package/lib/Button.module.scss +119 -87
  16. package/lib/Calendar/Calendar.d.ts +1 -1
  17. package/lib/Calendar/Calendar.js +6 -1
  18. package/lib/Calendar/Calendar.js.map +1 -1
  19. package/lib/Calendar/Calendar.module.scss +132 -124
  20. package/lib/Calendar/components/CalendarTime.js +1 -1
  21. package/lib/Calendar/components/CalendarTime.js.map +1 -1
  22. package/lib/Card.d.ts +1 -0
  23. package/lib/Card.js +4 -3
  24. package/lib/Card.js.map +1 -1
  25. package/lib/Card.module.scss +15 -3
  26. package/lib/Checkbox.js +4 -3
  27. package/lib/Checkbox.js.map +1 -1
  28. package/lib/Checkbox.module.scss +15 -6
  29. package/lib/CheckboxFormik.d.ts +2 -1
  30. package/lib/CheckboxFormik.js +9 -4
  31. package/lib/CheckboxFormik.js.map +1 -1
  32. package/lib/CodeEditor.d.ts +3 -2
  33. package/lib/CodeEditor.js +3 -2
  34. package/lib/CodeEditor.js.map +1 -1
  35. package/lib/EmptyState.d.ts +6 -4
  36. package/lib/EmptyState.js +4 -6
  37. package/lib/EmptyState.js.map +1 -1
  38. package/lib/EmptyState.module.scss +0 -1
  39. package/lib/Error.d.ts +1 -0
  40. package/lib/Error.js +2 -1
  41. package/lib/Error.js.map +1 -1
  42. package/lib/FieldHeader.d.ts +20 -0
  43. package/lib/FieldHeader.js +15 -0
  44. package/lib/FieldHeader.js.map +1 -0
  45. package/lib/FieldHeader.module.scss +20 -0
  46. package/lib/Icon.d.ts +2 -2
  47. package/lib/IconButton.d.ts +13 -3
  48. package/lib/IconButton.js +2 -2
  49. package/lib/IconButton.js.map +1 -1
  50. package/lib/InteractiveList.d.ts +2 -1
  51. package/lib/InteractiveList.js.map +1 -1
  52. package/lib/Link.js +2 -3
  53. package/lib/Link.js.map +1 -1
  54. package/lib/Link.module.scss +6 -0
  55. package/lib/Loader.module.scss +3 -1
  56. package/lib/Modal.d.ts +2 -0
  57. package/lib/Modal.js +2 -2
  58. package/lib/Modal.js.map +1 -1
  59. package/lib/NumberField.js +11 -5
  60. package/lib/NumberField.js.map +1 -1
  61. package/lib/NumberFieldFormik.d.ts +2 -1
  62. package/lib/NumberFieldFormik.js +7 -4
  63. package/lib/NumberFieldFormik.js.map +1 -1
  64. package/lib/Overlay.d.ts +2 -1
  65. package/lib/Overlay.js +7 -5
  66. package/lib/Overlay.js.map +1 -1
  67. package/lib/Overlay.module.scss +16 -3
  68. package/lib/Pagination.d.ts +0 -3
  69. package/lib/Pagination.js +10 -13
  70. package/lib/Pagination.js.map +1 -1
  71. package/lib/Pagination.module.scss +2 -1
  72. package/lib/PasswordFieldFormik.d.ts +2 -1
  73. package/lib/PasswordFieldFormik.js +9 -4
  74. package/lib/PasswordFieldFormik.js.map +1 -1
  75. package/lib/Popover.d.ts +1 -0
  76. package/lib/Popover.js +2 -0
  77. package/lib/Popover.js.map +1 -0
  78. package/lib/RadioGroup.js +4 -3
  79. package/lib/RadioGroup.js.map +1 -1
  80. package/lib/RadioGroup.module.scss +2 -4
  81. package/lib/RadioGroupFormik.d.ts +2 -1
  82. package/lib/RadioGroupFormik.js +9 -4
  83. package/lib/RadioGroupFormik.js.map +1 -1
  84. package/lib/SegmentedControl.d.ts +8 -8
  85. package/lib/SegmentedControl.js.map +1 -1
  86. package/lib/SegmentedControl.module.scss +4 -2
  87. package/lib/SegmentedControlFormik.d.ts +4 -4
  88. package/lib/SegmentedControlFormik.js.map +1 -1
  89. package/lib/Select/CheckableSelectField.d.ts +31 -0
  90. package/lib/Select/CheckableSelectField.js +89 -0
  91. package/lib/Select/CheckableSelectField.js.map +1 -0
  92. package/lib/Select/CheckableSelectField.module.scss +79 -0
  93. package/lib/Select/CheckableSelectFieldFormik.d.ts +10 -0
  94. package/lib/Select/CheckableSelectFieldFormik.js +19 -0
  95. package/lib/Select/CheckableSelectFieldFormik.js.map +1 -0
  96. package/lib/Select/MultiSelectField.d.ts +5 -8
  97. package/lib/Select/MultiSelectField.js +11 -9
  98. package/lib/Select/MultiSelectField.js.map +1 -1
  99. package/lib/Select/MultiSelectField.module.scss +8 -0
  100. package/lib/Select/MultiSelectFieldFormik.d.ts +2 -1
  101. package/lib/Select/MultiSelectFieldFormik.js +11 -5
  102. package/lib/Select/MultiSelectFieldFormik.js.map +1 -1
  103. package/lib/Select/SelectField.d.ts +3 -7
  104. package/lib/Select/SelectField.js +8 -8
  105. package/lib/Select/SelectField.js.map +1 -1
  106. package/lib/Select/SelectField.module.scss +4 -4
  107. package/lib/Select/SelectFieldFormik.d.ts +2 -1
  108. package/lib/Select/SelectFieldFormik.js +10 -4
  109. package/lib/Select/SelectFieldFormik.js.map +1 -1
  110. package/lib/Select/index.d.ts +2 -0
  111. package/lib/Select/index.js +2 -0
  112. package/lib/Select/index.js.map +1 -1
  113. package/lib/Slider.d.ts +6 -5
  114. package/lib/Slider.js +35 -17
  115. package/lib/Slider.js.map +1 -1
  116. package/lib/Slider.module.scss +8 -8
  117. package/lib/Table/Cell.module.scss +11 -4
  118. package/lib/Table/EnhancedRenderers.d.ts +0 -7
  119. package/lib/Table/EnhancedRenderers.js +3 -14
  120. package/lib/Table/EnhancedRenderers.js.map +1 -1
  121. package/lib/Table/Header.js +9 -3
  122. package/lib/Table/Header.js.map +1 -1
  123. package/lib/Table/Header.module.scss +26 -35
  124. package/lib/Table/Row.js +2 -3
  125. package/lib/Table/Row.js.map +1 -1
  126. package/lib/Table/Row.module.scss +4 -10
  127. package/lib/Table/Table.d.ts +10 -4
  128. package/lib/Table/Table.js +66 -26
  129. package/lib/Table/Table.js.map +1 -1
  130. package/lib/Table/Table.module.scss +5 -5
  131. package/lib/Tabs/Tab.d.ts +9 -1
  132. package/lib/Tabs/Tab.js +5 -2
  133. package/lib/Tabs/Tab.js.map +1 -1
  134. package/lib/Tabs/Tab.module.scss +4 -0
  135. package/lib/TextArea.d.ts +2 -5
  136. package/lib/TextArea.js +7 -7
  137. package/lib/TextArea.js.map +1 -1
  138. package/lib/TextArea.module.scss +2 -4
  139. package/lib/TextField.d.ts +4 -7
  140. package/lib/TextField.js +9 -8
  141. package/lib/TextField.js.map +1 -1
  142. package/lib/TextField.module.scss +4 -22
  143. package/lib/TextFieldFormik.d.ts +4 -2
  144. package/lib/TextFieldFormik.js +15 -4
  145. package/lib/TextFieldFormik.js.map +1 -1
  146. package/lib/TimeField.d.ts +2 -11
  147. package/lib/TimeField.js +7 -6
  148. package/lib/TimeField.js.map +1 -1
  149. package/lib/TimeField.module.scss +6 -6
  150. package/lib/Toggle.js +4 -3
  151. package/lib/Toggle.js.map +1 -1
  152. package/lib/Toggle.module.scss +15 -14
  153. package/lib/Tooltip.d.ts +7 -1
  154. package/lib/Tooltip.js +38 -23
  155. package/lib/Tooltip.js.map +1 -1
  156. package/lib/Tooltip.module.scss +10 -5
  157. package/lib/TruncatedText.d.ts +1 -1
  158. package/lib/TruncatedText.js +1 -1
  159. package/lib/TruncatedText.js.map +1 -1
  160. package/lib/hooks/index.d.ts +1 -0
  161. package/lib/hooks/index.js +3 -0
  162. package/lib/hooks/index.js.map +1 -0
  163. package/lib/hooks/usePrevious.d.ts +1 -0
  164. package/lib/hooks/usePrevious.js +9 -0
  165. package/lib/hooks/usePrevious.js.map +1 -0
  166. package/lib/hooks/useTableCustomizableColumns.d.ts +9 -0
  167. package/lib/hooks/useTableCustomizableColumns.js +23 -0
  168. package/lib/hooks/useTableCustomizableColumns.js.map +1 -0
  169. package/lib/index.d.ts +2 -0
  170. package/lib/index.js +2 -0
  171. package/lib/index.js.map +1 -1
  172. package/package.json +13 -13
  173. package/styles/constants/_sizes.scss +5 -4
  174. package/styles/constants/_typography.scss +3 -3
  175. package/styles/fonts.css +29 -65
  176. package/styles/helpers/_a11y.scss +4 -0
  177. package/styles/helpers/_error.scss +17 -0
  178. package/styles/helpers/_index.scss +1 -0
@@ -1,15 +1,18 @@
1
1
  @use '../../styles/constants' as c;
2
+ @use '../../styles/helpers' as h;
2
3
 
3
4
  .td {
4
5
  position: relative;
5
6
  display: flex;
6
7
  align-items: center;
7
- padding-top: c.$grid * 2.5;
8
- padding-bottom: c.$grid * 2.5;
9
- padding-right: c.$grid * 3;
10
- padding-left: c.$grid * 3;
8
+ height: c.$grid * 7.5;
9
+ padding-right: c.$grid * 5;
10
+ padding-left: c.$grid * 5;
11
11
  color: c.$colorText;
12
+ background-color: inherit;
13
+
12
14
  @include c.typographyBodySmall;
15
+ @include h.overflowEllipsis;
13
16
 
14
17
  &.alignLeft {
15
18
  justify-content: flex-start;
@@ -22,6 +25,10 @@
22
25
  &.alignCenter {
23
26
  justify-content: center;
24
27
  }
28
+
29
+ &:not(:last-of-type) {
30
+ border-right: c.$borderWidth solid c.$colorNeutral;
31
+ }
25
32
  }
26
33
 
27
34
  .warningIcon {
@@ -21,10 +21,3 @@ export declare type EnhancedCellRendererProps<D extends object> = {
21
21
  columnResizing: UseResizeColumnsState<D>['columnResizing'];
22
22
  };
23
23
  export declare const EnhancedCellRenderer: <D extends object>({ cell, hasCellRenderer, columnResizing }: EnhancedCellRendererProps<D>) => JSX.Element;
24
- declare type TruncatedTextRendererProps<D extends object> = {
25
- id: string;
26
- text: ReactText | ((...arg: unknown[]) => string);
27
- columnResizing: UseResizeColumnsState<D>['columnResizing'];
28
- };
29
- export declare const TruncatedTextRenderer: <D extends object>({ id, text, columnResizing }: TruncatedTextRendererProps<D>) => JSX.Element;
30
- export {};
@@ -1,9 +1,9 @@
1
- import React, { useEffect, useState } from 'react';
1
+ import React from 'react';
2
2
  import { TruncatedText } from '../TruncatedText';
3
3
  export const EnhancedHeaderFooterRenderer = ({ column, columnResizing, type }) => {
4
4
  const value = column[type];
5
5
  if (typeof value === 'string') {
6
- return React.createElement(TruncatedTextRenderer, { id: column.id, text: value, columnResizing: columnResizing });
6
+ return React.createElement(TruncatedText, { text: value, forceUpdateToken: columnResizing.isResizingColumn });
7
7
  }
8
8
  return column.render(type);
9
9
  };
@@ -11,17 +11,6 @@ export const EnhancedCellRenderer = ({ cell, hasCellRenderer, columnResizing })
11
11
  if (hasCellRenderer) {
12
12
  return cell.render('Cell');
13
13
  }
14
- return React.createElement(TruncatedTextRenderer, { id: cell.column.id, text: cell.value, columnResizing: columnResizing });
15
- };
16
- export const TruncatedTextRenderer = ({ id, text, columnResizing }) => {
17
- const [width, setWidth] = useState();
18
- useEffect(() => {
19
- const currentColumnResized = columnResizing.isResizingColumn === id;
20
- if (currentColumnResized && !!columnResizing.columnWidths) {
21
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
22
- setWidth(columnResizing.columnWidths[id]);
23
- }
24
- }, [columnResizing.columnWidths, columnResizing.isResizingColumn, id]);
25
- return React.createElement(TruncatedText, { text: text, forceUpdateToken: width });
14
+ return React.createElement(TruncatedText, { text: cell.value, forceUpdateToken: columnResizing.isResizingColumn });
26
15
  };
27
16
  //# sourceMappingURL=EnhancedRenderers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EnhancedRenderers.js","sourceRoot":"","sources":["../../src/Table/EnhancedRenderers.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA2B,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAG3E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAkBhD,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAmB,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAwC,EAAE,EAAE;IACvI,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,oBAAC,qBAAqB,IAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,GAAI,CAAA;KAC7F;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAiB,CAAA;AAC5C,CAAC,CAAA;AAQD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAmB,EAAE,IAAI,EAAE,eAAe,EAAE,cAAc,EAAgC,EAAE,EAAE;IAChI,IAAI,eAAe,EAAE;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAiB,CAAA;KAC3C;IAED,OAAO,oBAAC,qBAAqB,IAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,cAAc,GAAI,CAAA;AACxG,CAAC,CAAA;AAQD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAiC,EAAE,EAAE;IACrH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAsB,CAAA;IACxD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,oBAAoB,GAAG,cAAc,CAAC,gBAAgB,KAAK,EAAE,CAAA;QACnE,IAAI,oBAAoB,IAAI,CAAC,CAAC,cAAc,CAAC,YAAY,EAAE;YACzD,sEAAsE;YACtE,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAA;SAC1C;IACH,CAAC,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,cAAc,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAA;IAEtE,OAAO,oBAAC,aAAa,IAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,GAAI,CAAA;AAC/D,CAAC,CAAA"}
1
+ {"version":3,"file":"EnhancedRenderers.js","sourceRoot":"","sources":["../../src/Table/EnhancedRenderers.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAA;AAGtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAkBhD,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAmB,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAwC,EAAE,EAAE;IACvI,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,oBAAC,aAAa,IAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,cAAc,CAAC,gBAAgB,GAAI,CAAA;KACzF;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAiB,CAAA;AAC5C,CAAC,CAAA;AAQD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAmB,EAAE,IAAI,EAAE,eAAe,EAAE,cAAc,EAAgC,EAAE,EAAE;IAChI,IAAI,eAAe,EAAE;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAiB,CAAA;KAC3C;IAED,OAAO,oBAAC,aAAa,IAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,gBAAgB,EAAE,cAAc,CAAC,gBAAgB,GAAI,CAAA;AAC/F,CAAC,CAAA"}
@@ -12,20 +12,26 @@ export const Header = ({ align = 'left', colSpan, children, canSort, isSorted, i
12
12
  const Chevron = useMemo(() => (React.createElement(Icon, { className: cn(styles.sortingIcon, {
13
13
  [styles.left]: align === 'left',
14
14
  [styles.right]: align === 'right',
15
- }), icon: !isSorted ? ChevronUp : isSortedDesc ? ChevronDown : ChevronUp, ariaLabel: !isSorted ? 'Not Sorted' : isSortedDesc ? 'Descending' : 'Ascending', size: "small" })), [align, isSorted, isSortedDesc]);
15
+ }), icon: !isSorted ? ChevronUp : isSortedDesc ? ChevronDown : ChevronUp, ariaLabel: !isSorted ? 'Not Sorted' : isSortedDesc ? 'Descending' : 'Ascending', size: "smallMedium" })), [align, isSorted, isSortedDesc]);
16
16
  const onKeyPress = useCallback((event) => {
17
17
  event.preventDefault();
18
18
  if (keyIsOneOf(event, 'Enter') && onClick) {
19
19
  onClick(event);
20
20
  }
21
21
  }, [onClick]);
22
+ const buttonRoleProps = {
23
+ tabIndex: onClick ? 0 : undefined,
24
+ role: onClick ? 'button' : undefined,
25
+ onKeyPress: onClick ? onKeyPress : undefined,
26
+ onClick,
27
+ };
22
28
  return (React.createElement("div", { "data-test": "table-header-container", className: cn(styles.container, className), style: style, role: role, "aria-colspan": colSpan, "aria-sort": ariaSort },
23
- React.createElement("div", { "data-test": "table-header-content", className: cn(styles.th, {
29
+ React.createElement("div", Object.assign({ "data-test": "table-header-content", className: cn(styles.th, {
24
30
  [styles.sortable]: canSort,
25
31
  [styles.alignLeft]: align === 'left',
26
32
  [styles.alignRight]: align === 'right',
27
33
  [styles.alignCenter]: align === 'center',
28
- }), tabIndex: onClick ? 0 : undefined, role: onClick ? 'button' : undefined, onKeyPress: onClick ? onKeyPress : undefined, onClick: onClick },
34
+ }) }, buttonRoleProps),
29
35
  canSort && align === 'right' && Chevron,
30
36
  children,
31
37
  canSort && (align === 'left' || align === 'center') && Chevron),
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../src/Table/Header.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../src/Table/Header.tsx"],"names":[],"mappings":"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"}
@@ -3,58 +3,49 @@
3
3
 
4
4
  .container {
5
5
  position: relative;
6
- background-color: c.$colorNeutralLighter;
7
-
8
- :last-child {
9
- border-right: 0;
10
- }
11
6
 
12
7
  .th {
13
8
  display: flex;
14
9
  align-items: center;
15
- position: relative;
16
- padding-top: c.$grid * 2.5;
17
- padding-bottom: c.$grid * 2.5;
18
- padding-left: c.$grid * 3;
19
- padding-right: c.$grid * 3;
20
- color: c.$colorTextSecondary;
21
- @include c.typographyBodySmall;
10
+ height: c.$grid * 7.5;
11
+ padding-left: c.$grid * 5;
12
+ padding-right: c.$grid * 5;
13
+ color: c.$colorText;
14
+
15
+ @include c.typographyBodySmall('bold');
16
+ @include h.overflowEllipsis;
22
17
 
23
18
  .sortingIcon {
24
19
  flex-shrink: 0;
20
+ color: c.$colorPrimary;
25
21
 
26
22
  &.left {
27
- margin-left: c.$grid * 2;
23
+ margin-left: c.$grid * 1.25;
28
24
  }
29
25
 
30
26
  &.right {
31
- margin-right: c.$grid * 2;
27
+ margin-right: c.$grid * 1.25;
32
28
  }
33
29
  }
34
30
 
35
- &:focus {
36
- // Do not remove outline for high-contrast modes
37
- // https://stackoverflow.com/a/52616313
38
- outline: c.$outlineWidth solid transparent;
39
- @include h.outlineSimple;
40
- // Put outline over resizer
41
- z-index: 10;
31
+ &.sortable {
32
+ cursor: pointer;
42
33
 
43
- .sortingIcon {
44
- color: c.$colorPrimary;
34
+ &:focus {
35
+ // Do not remove outline for high-contrast modes
36
+ // https://stackoverflow.com/a/52616313
37
+ outline: c.$outlineWidth solid transparent;
38
+ @include h.outlineSimple;
39
+ // Put outline over resizer
40
+ z-index: c.$zIndex1000;
41
+ background-color: c.$colorNeutralLighter;
45
42
  }
46
- }
47
43
 
48
- &:hover {
49
- .sortingIcon {
50
- color: c.$colorPrimary;
44
+ &:hover {
45
+ background-color: c.$colorNeutralLighter;
51
46
  }
52
47
  }
53
48
 
54
- &.sortable {
55
- cursor: pointer;
56
- }
57
-
58
49
  &.alignLeft {
59
50
  justify-content: flex-start;
60
51
  }
@@ -74,11 +65,11 @@
74
65
  display: flex;
75
66
  justify-content: center;
76
67
  align-items: center;
77
- width: c.$grid * 6;
68
+ width: c.$grid * 5;
78
69
  height: 100%;
79
70
  top: 0;
80
- right: -(c.$grid * 3);
81
- z-index: 1;
71
+ right: -(c.$grid * 2.5);
72
+ z-index: c.$zIndex100;
82
73
  cursor: col-resize;
83
74
  // Prevents from scrolling while dragging on touch devices
84
75
  /* doiuse-disable css-touch-action */
@@ -93,6 +84,6 @@
93
84
 
94
85
  .resizing,
95
86
  &:hover .separator {
96
- background-color: c.$colorTextSecondary;
87
+ background-color: c.$colorPrimary;
97
88
  }
98
89
  }
package/lib/Table/Row.js CHANGED
@@ -11,12 +11,11 @@ export const Row = ({ children, className, style, role, ariaRowIndex, onClick })
11
11
  }, [onClick]);
12
12
  return (React.createElement("div", { "data-test": "table-cell-row", className: cn(styles.row, {
13
13
  [styles.clickable]: !!onClick,
14
- }, className), "aria-rowindex": ariaRowIndex, role: role, tabIndex: onClick ? 0 : undefined, onKeyPress: onClick ? onKeyPress : undefined, onClick: onClick
14
+ }, className), style: style, "aria-rowindex": ariaRowIndex, role: role, tabIndex: onClick ? 0 : undefined, onKeyPress: onClick ? onKeyPress : undefined, onClick: onClick
15
15
  ? () => {
16
16
  onClick();
17
17
  }
18
- : undefined },
19
- React.createElement("div", { style: style }, children)));
18
+ : undefined }, children));
20
19
  };
21
20
  // eslint-disable-next-line jsx-a11y/anchor-has-content
22
21
  const DefaultAnchor = (props) => React.createElement("a", Object.assign({}, props));
@@ -1 +1 @@
1
- {"version":3,"file":"Row.js","sourceRoot":"","sources":["../../src/Table/Row.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAM,WAAW,EAAuC,MAAM,OAAO,CAAA;AACnF,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAO9C,MAAM,CAAC,MAAM,GAAG,GAAiB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE;IAC/F,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,KAAoC,EAAE,EAAE;QACvC,KAAK,CAAC,cAAc,EAAE,CAAA;QACtB,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,OAAO,EAAE;YACzC,OAAO,EAAE,CAAA;SACV;IACH,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAA;IAED,OAAO,CACL,0CACY,gBAAgB,EAC1B,SAAS,EAAE,EAAE,CACX,MAAM,CAAC,GAAG,EACV;YACE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO;SAC9B,EACD,SAAS,CACV,mBACc,YAAY,EAC3B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EACjC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAC5C,OAAO,EACL,OAAO;YACL,CAAC,CAAC,GAAG,EAAE;gBACH,OAAO,EAAE,CAAA;YACX,CAAC;YACH,CAAC,CAAC,SAAS;QAGf,6BAAK,KAAK,EAAE,KAAK,IAAG,QAAQ,CAAO,CAC/B,CACP,CAAA;AACH,CAAC,CAAA;AAED,uDAAuD;AACvD,MAAM,aAAa,GAAgD,CAAC,KAAK,EAAE,EAAE,CAAC,2CAAO,KAAK,EAAI,CAAA;AAE9F,MAAM,CAAC,MAAM,OAAO,GAAqB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,GAAG,aAAa,EAAE,EAAE,EAAE,CAAC,CACtI,0CAAe,gBAAgB,EAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,mBAAiB,YAAY;IAC/G,oBAAC,eAAe,IAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,IAC9D,QAAQ,CACO,CACd,CACP,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAuB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CACnG,0CAAe,kBAAkB,EAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,mBAAiB,YAAY,IAChI,QAAQ,CACL,CACP,CAAA"}
1
+ {"version":3,"file":"Row.js","sourceRoot":"","sources":["../../src/Table/Row.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAM,WAAW,EAAuC,MAAM,OAAO,CAAA;AACnF,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAO9C,MAAM,CAAC,MAAM,GAAG,GAAiB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE;IAC/F,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,KAAoC,EAAE,EAAE;QACvC,KAAK,CAAC,cAAc,EAAE,CAAA;QACtB,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,OAAO,EAAE;YACzC,OAAO,EAAE,CAAA;SACV;IACH,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAA;IAED,OAAO,CACL,0CACY,gBAAgB,EAC1B,SAAS,EAAE,EAAE,CACX,MAAM,CAAC,GAAG,EACV;YACE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO;SAC9B,EACD,SAAS,CACV,EACD,KAAK,EAAE,KAAK,mBACG,YAAY,EAC3B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EACjC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAC5C,OAAO,EACL,OAAO;YACL,CAAC,CAAC,GAAG,EAAE;gBACH,OAAO,EAAE,CAAA;YACX,CAAC;YACH,CAAC,CAAC,SAAS,IAGd,QAAQ,CACL,CACP,CAAA;AACH,CAAC,CAAA;AAED,uDAAuD;AACvD,MAAM,aAAa,GAAgD,CAAC,KAAK,EAAE,EAAE,CAAC,2CAAO,KAAK,EAAI,CAAA;AAE9F,MAAM,CAAC,MAAM,OAAO,GAAqB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,GAAG,aAAa,EAAE,EAAE,EAAE,CAAC,CACtI,0CAAe,gBAAgB,EAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,mBAAiB,YAAY;IAC/G,oBAAC,eAAe,IAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,IAC9D,QAAQ,CACO,CACd,CACP,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAuB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CACnG,0CAAe,kBAAkB,EAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,mBAAiB,YAAY,IAChI,QAAQ,CACL,CACP,CAAA"}
@@ -2,20 +2,13 @@
2
2
  @use '../../styles/helpers' as h;
3
3
 
4
4
  @mixin rowBase {
5
- border-bottom: c.$borderWidth solid c.$colorNeutralWhite;
6
-
7
- > *:not(:last-child) {
8
- border-right: c.$borderWidth solid c.$colorNeutralWhite;
9
- }
5
+ background-color: c.$colorNeutralLighter;
6
+ margin-bottom: c.$grid * 1.25;
10
7
  }
11
8
 
12
9
  .row {
13
10
  @include rowBase;
14
11
 
15
- &:hover {
16
- background-color: c.$colorNeutralLighter;
17
- }
18
-
19
12
  &.clickable {
20
13
  cursor: pointer;
21
14
 
@@ -41,6 +34,7 @@
41
34
 
42
35
  .link {
43
36
  text-decoration: none;
37
+ background-color: inherit;
44
38
 
45
39
  &:focus {
46
40
  @include h.outlineSimple;
@@ -58,5 +52,5 @@
58
52
  }
59
53
 
60
54
  .headerRow {
61
- @include rowBase;
55
+ margin-bottom: c.$grid * 1.25;
62
56
  }
@@ -1,8 +1,10 @@
1
1
  import { DataTestProp } from '@hazelcast/helpers';
2
- import { AnchorHTMLAttributes, FC, ReactElement, ReactNode } from 'react';
2
+ import { AnchorHTMLAttributes, FC, ReactChild, ReactElement } from 'react';
3
3
  import { TableOptions, Row as RowType, Cell as CellType, Column as ColumnType } from 'react-table';
4
4
  import { PaginationProps } from '../Pagination';
5
5
  import { CellProps } from './Cell';
6
+ import { RowProps } from './Row';
7
+ export type { Accessor, Column, Cell, Renderer, Row, CellProps, HeaderGroup, TableInstance } from 'react-table';
6
8
  declare module 'react-table' {
7
9
  interface TableOptions<D extends object = {}> extends UsePaginationOptions<D>, UseSortByOptions<D>, UseFiltersOptions<D>, UseRowSelectOptions<D>, UseGroupByOptions<D>, UseResizeColumnsOptions<D>, Record<string, any> {
8
10
  }
@@ -48,7 +50,7 @@ declare type CustomTableRowClickProps<D extends object> = {
48
50
  getHref?: never;
49
51
  AnchorComponent?: never;
50
52
  } | {
51
- getHref?: (rowInfo: RowType<D>) => string;
53
+ getHref?: (rowInfo: RowType<D>) => string | undefined;
52
54
  onRowClick?: never;
53
55
  AnchorComponent?: FC<AnchorHTMLAttributes<HTMLAnchorElement>>;
54
56
  };
@@ -61,9 +63,13 @@ declare type CustomTableProps<D extends object> = {
61
63
  paginationClassName?: string;
62
64
  footerClassName?: string;
63
65
  contentClassName?: string;
64
- noDataTitle?: string | ReactNode;
66
+ noDataTitle?: ReactChild;
67
+ getCustomRowProps?: (rowInfo: RowType<D>) => RowProps;
65
68
  getCustomCellProps?: (cellInfo: CellType<D>) => CellProps;
66
69
  onRenderedContentChange?: (newPage: RowType<D>[]) => void;
70
+ autoResetGlobalFilter?: boolean;
71
+ pageIndex?: number;
72
+ onPageChange?: (newPage: number) => void;
67
73
  } & CustomTableRowClickProps<D> & DataTestProp;
68
74
  export declare type TableProps<D extends object> = TableOptions<D> & ExtendedPaginationProps & ControlledPaginationProps & CustomTableProps<D>;
69
75
  export type { ColumnType, RowType, CellType };
@@ -77,4 +83,4 @@ export type { ColumnType, RowType, CellType };
77
83
  * - Rows can be clickable. If you supply Table with `getHref` function rows will become <a> tags!
78
84
  * - Is able to resize columns out of the box
79
85
  */
80
- export declare const Table: <D extends object>({ "data-test": dataTest, autoResetSortBy, columns, data, defaultColumn, disableSortBy, onPaginationChange, manualPagination, onRenderedContentChange, autoResetPage, hidePagination, pageCount: controlledPageCount, defaultPageSize, paginationOptions, onRowClick, getHref, AnchorComponent, getCustomCellProps, loading, noDataTitle, initialState, className, headerClassName, contentClassName, footerClassName, searchValue, hideHeader, }: TableProps<D>) => ReactElement;
86
+ export declare const Table: <D extends object>({ "data-test": dataTest, autoResetSortBy, columns, 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, }: TableProps<D>) => ReactElement;
@@ -1,14 +1,17 @@
1
1
  import React, { useEffect } from 'react';
2
2
  import cn from 'classnames';
3
3
  import { useTable, usePagination, useSortBy, useAsyncDebounce, useResizeColumns, useFlexLayout, useGlobalFilter, } from 'react-table';
4
+ import { AlertTriangle } from 'react-feather';
4
5
  import { Pagination } from '../Pagination';
5
6
  import { Cell } from './Cell';
6
7
  import { EnhancedCellRenderer, EnhancedHeaderFooterRenderer } from './EnhancedRenderers';
7
8
  import { Header } from './Header';
8
9
  import { HeaderRow, LinkRow, Row } from './Row';
10
+ import { Loader } from '../Loader';
11
+ import { EmptyState } from '../EmptyState';
12
+ import { usePrevious } from '../hooks/usePrevious';
9
13
  import styles from './Table.module.scss';
10
14
  import styleConsts from '../../styles/constants/export.module.scss';
11
- import { Loader } from '../Loader';
12
15
  const column = {
13
16
  // When using the useFlexLayout:
14
17
  minWidth: Number(styleConsts.tableColumnMinWidth),
@@ -26,8 +29,9 @@ const column = {
26
29
  * - Is able to resize columns out of the box
27
30
  */
28
31
  // Inspiration here: https://react-table.tanstack.com/docs/examples/basic
29
- export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns, data, defaultColumn = column, disableSortBy, onPaginationChange, manualPagination, onRenderedContentChange, autoResetPage = false, hidePagination = false, pageCount: controlledPageCount, defaultPageSize = 10, paginationOptions, onRowClick, getHref, AnchorComponent, getCustomCellProps, loading, noDataTitle = 'No data available in table', initialState = { pageIndex: 0, pageSize: defaultPageSize }, className = '', headerClassName = '', contentClassName = '', footerClassName = '', searchValue, hideHeader, }) => {
32
+ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns, 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, }) => {
30
33
  var _a;
34
+ const previousIncomingPageIndex = usePrevious(incomingPageIndex);
31
35
  const { getTableProps, headerGroups, footerGroups, prepareRow, page, canPreviousPage, canNextPage, pageCount, gotoPage, nextPage, previousPage, setPageSize,
32
36
  // Get the state from the instance
33
37
  state: { pageIndex, pageSize, columnResizing }, setGlobalFilter, } = useTable({
@@ -45,6 +49,7 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns,
45
49
  pageCount: controlledPageCount,
46
50
  autoResetPage,
47
51
  defaultColumn,
52
+ autoResetGlobalFilter,
48
53
  }, useGlobalFilter, useSortBy, usePagination, useFlexLayout, useResizeColumns);
49
54
  // Debounce our `fetchData` call for 200ms.
50
55
  // We can use non-null assertion here since we're checking existence of `fetchData` in the `useEffect` below
@@ -73,6 +78,16 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns,
73
78
  setGlobalFilter(searchValue);
74
79
  }
75
80
  }, [searchValue, setGlobalFilter]);
81
+ useEffect(() => {
82
+ if (pageCount < pageIndex + 1) {
83
+ gotoPage(pageCount - 1);
84
+ }
85
+ }, [pageIndex, pageCount, gotoPage]);
86
+ useEffect(() => {
87
+ if (incomingPageIndex !== undefined && incomingPageIndex !== previousIncomingPageIndex) {
88
+ gotoPage(incomingPageIndex);
89
+ }
90
+ }, [gotoPage, incomingPageIndex, previousIncomingPageIndex]);
76
91
  const hasData = data.length > 0;
77
92
  // If at least one of the columns has footer then we display the footer row
78
93
  const hasFooter = !loading && hasData && columns.some((col) => !!col.Footer);
@@ -84,9 +99,9 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns,
84
99
  const rowCount = data.length + headerIndex + (hasFooter ? 1 : 0);
85
100
  return (React.createElement("div", { "data-test": dataTest !== null && dataTest !== void 0 ? dataTest : 'table-wrapper', className: className },
86
101
  React.createElement("div", { className: cn(styles.container, {
87
- [styles.margin]: !hidePagination,
102
+ [styles.spaceBottom]: !hidePagination,
88
103
  }) },
89
- React.createElement("div", Object.assign({ "data-test": "table" }, getTableProps(), { className: styles.table, "aria-rowcount": rowCount }),
104
+ React.createElement("div", Object.assign({ "data-test": "table" }, getTableProps(), { "aria-rowcount": rowCount }),
90
105
  !hideHeader && (React.createElement("div", { "data-test": "table-header-row-group", role: "rowgroup", className: headerClassName }, headerGroups.map((headerGroup) => {
91
106
  const { key: headerGroupKey, ...restHeaderGroupProps } = headerGroup.getHeaderGroupProps();
92
107
  return (React.createElement(HeaderRow, Object.assign({ key: headerGroupKey }, restHeaderGroupProps, { ariaRowIndex: headerIndex }), headerGroup.headers.map((column, i) => {
@@ -95,28 +110,32 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns,
95
110
  React.createElement(EnhancedHeaderFooterRenderer, { column: column, columnResizing: columnResizing, type: "Header" })));
96
111
  })));
97
112
  }))),
98
- React.createElement("div", { "data-test": "table-cell-row-group", role: "rowgroup", className: contentClassName }, loading ? (React.createElement(Row, { role: "row" },
113
+ loading ? (React.createElement(Row, { role: "row" },
99
114
  React.createElement(Cell, { role: "cell", align: "center", colSpan: columns.length, "data-test": "table-loader-cell" },
100
- React.createElement(Loader, null)))) : (React.createElement(React.Fragment, null,
101
- page.map((row) => {
102
- prepareRow(row);
103
- const { key: rowKey, ...restRowProps } = row.getRowProps();
104
- const cells = row.cells.map((cell, i) => {
105
- const { key: cellKey, ...restCellProps } = cell.getCellProps();
106
- const customCellProps = getCustomCellProps ? getCustomCellProps(cell) : {};
107
- // We don't want to use cell.column.Cell as that is a ColumnInstance which already has a cell renderer
108
- const column = columns[i];
109
- return (React.createElement(Cell, Object.assign({ key: cellKey, align: cell.column.align }, restCellProps, customCellProps),
110
- React.createElement(EnhancedCellRenderer, { cell: cell, hasCellRenderer: !!column.Cell, columnResizing: columnResizing })));
111
- });
112
- return getHref ? (React.createElement(LinkRow, Object.assign({ key: rowKey, AnchorComponent: AnchorComponent }, restRowProps, { ariaRowIndex: row.index + 1 + cellIndexOffset, href: getHref(row) }), cells)) : (React.createElement(Row, Object.assign({ key: rowKey }, restRowProps, { ariaRowIndex: row.index + 1 + cellIndexOffset, onClick: onRowClick
113
- ? () => {
114
- onRowClick(row);
115
- }
116
- : undefined }), cells));
117
- }),
118
- !hasData && (React.createElement(Row, { role: "row" },
119
- React.createElement(Cell, { role: "cell", align: "center", colSpan: columns.length, "data-test": "table-noData-cell" }, noDataTitle)))))),
115
+ React.createElement(Loader, null)))) : hasData ? (React.createElement("div", { "data-test": "table-cell-row-group", role: "rowgroup", className: contentClassName }, page.map((row) => {
116
+ prepareRow(row);
117
+ const { key: rowKey, ...restRowProps } = row.getRowProps(getCustomRowProps === null || getCustomRowProps === void 0 ? void 0 : getCustomRowProps(row));
118
+ const cells = row.cells.map((cell, i) => {
119
+ const { key: cellKey, ...restCellProps } = cell.getCellProps(getCustomCellProps === null || getCustomCellProps === void 0 ? void 0 : getCustomCellProps(cell));
120
+ // We don't want to use cell.column.Cell as that is a ColumnInstance which already has a cell renderer
121
+ const column = columns[i];
122
+ return (React.createElement(Cell, Object.assign({ key: cellKey, align: cell.column.align }, restCellProps),
123
+ React.createElement(EnhancedCellRenderer, { cell: cell, hasCellRenderer: !!column.Cell, columnResizing: columnResizing })));
124
+ });
125
+ if (getHref) {
126
+ const href = getHref(row);
127
+ if (href) {
128
+ return (React.createElement(LinkRow, Object.assign({ key: rowKey, AnchorComponent: AnchorComponent }, restRowProps, { ariaRowIndex: row.index + 1 + cellIndexOffset, href: href }), cells));
129
+ }
130
+ }
131
+ return (React.createElement(Row, Object.assign({ key: rowKey }, restRowProps, { ariaRowIndex: row.index + 1 + cellIndexOffset, onClick: onRowClick
132
+ ? () => {
133
+ onRowClick(row);
134
+ }
135
+ : undefined }), cells));
136
+ }))) : (React.createElement("div", { role: "row" },
137
+ React.createElement("div", { role: "cell" },
138
+ React.createElement(EmptyState, { "data-test": "table-no-data", className: styles.empty, title: noDataTitle, icon: AlertTriangle, iconLabel: "Alert" })))),
120
139
  hasFooter && (React.createElement("div", { "data-test": "table-footer-row-group", role: "rowgroup", className: footerClassName }, footerGroups.map((group) => {
121
140
  const { key: footerGroupKey, ...restFooterGroupProps } = group.getFooterGroupProps();
122
141
  return (
@@ -129,6 +148,27 @@ export const Table = ({ 'data-test': dataTest, autoResetSortBy = false, columns,
129
148
  React.createElement(EnhancedHeaderFooterRenderer, { column: column, columnResizing: columnResizing, type: "Footer" })));
130
149
  })));
131
150
  }))))),
132
- !hidePagination && hasData && (React.createElement(Pagination, { pageCount: pageCount, currentPage: pageIndex + 1, canPreviousPage: canPreviousPage, canNextPage: canNextPage, goToPage: (p) => gotoPage(p - 1), nextPage: nextPage, previousPage: previousPage, 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] }))));
151
+ !hidePagination && hasData && (React.createElement(Pagination, { pageCount: pageCount, currentPage: pageIndex + 1, canPreviousPage: canPreviousPage, canNextPage: canNextPage, goToPage: (p) => {
152
+ if (onPageChange) {
153
+ onPageChange(p - 1);
154
+ }
155
+ else {
156
+ gotoPage(p - 1);
157
+ }
158
+ }, nextPage: () => {
159
+ if (onPageChange) {
160
+ onPageChange(pageIndex + 1);
161
+ }
162
+ else {
163
+ nextPage();
164
+ }
165
+ }, previousPage: () => {
166
+ if (onPageChange) {
167
+ onPageChange(pageIndex - 1);
168
+ }
169
+ else {
170
+ previousPage();
171
+ }
172
+ }, 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] }))));
133
173
  };
134
174
  //# sourceMappingURL=Table.js.map
@@ -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":"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"}
@@ -1,14 +1,14 @@
1
1
  @use '../../styles/constants' as c;
2
2
 
3
3
  .container {
4
- display: flex;
4
+ display: block;
5
5
  overflow-x: auto;
6
6
 
7
- &.margin {
8
- margin-bottom: c.$grid * 3;
7
+ &.spaceBottom {
8
+ margin-bottom: c.$grid * 2;
9
9
  }
10
10
 
11
- .table {
12
- flex-grow: 1;
11
+ .empty {
12
+ margin-top: c.$grid * 8;
13
13
  }
14
14
  }
package/lib/Tabs/Tab.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { FC, MouseEvent, KeyboardEvent } from 'react';
2
+ import { IconProps } from '../Icon';
2
3
  export declare type AnchorTabProps = {
3
4
  component: 'a';
4
5
  href: string;
@@ -8,12 +9,19 @@ export declare type ButtonTabProps = {
8
9
  href?: never;
9
10
  };
10
11
  declare type TabTypeProps = AnchorTabProps | ButtonTabProps;
12
+ declare type TabIconProps = {
13
+ icon: IconProps['icon'];
14
+ iconAriaLabel: string;
15
+ } | {
16
+ icon?: never;
17
+ iconAriaLabel?: never;
18
+ };
11
19
  export declare type TabCommonProps = {
12
20
  label: string;
13
21
  value: number;
14
22
  onClick?: (event: MouseEvent<HTMLButtonElement | HTMLAnchorElement> | KeyboardEvent<HTMLButtonElement | HTMLAnchorElement>) => void;
15
23
  };
16
- export declare type TabProps<T = TabTypeProps> = TabCommonProps & T;
24
+ export declare type TabProps<T = TabTypeProps> = TabCommonProps & T & TabIconProps;
17
25
  /**
18
26
  * ### Purpose
19
27
  * A single tab implementation that works together with TabContext and TabList components.
package/lib/Tabs/Tab.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import React, { useCallback } from 'react';
2
2
  import cn from 'classnames';
3
+ import { Icon } from '../Icon';
3
4
  import { useTabContext, getTabId, getPanelId } from './TabContext';
4
5
  import { keyIsOneOf } from '../utils/keyboard';
5
6
  import styles from './Tab.module.scss';
@@ -14,7 +15,7 @@ import styles from './Tab.module.scss';
14
15
  * More info - https://www.w3.org/TR/wai-aria-practices/#kbd_selection_follows_focus
15
16
  *
16
17
  */
17
- export const Tab = ({ component: Component = 'button', label, value, href, onClick }) => {
18
+ export const Tab = ({ component: Component = 'button', label, value, href, onClick, icon, iconAriaLabel }) => {
18
19
  const { onChange, value: activeValue, idPrefix, fullWidth } = useTabContext();
19
20
  const selected = value === activeValue;
20
21
  const handleClick = useCallback((event) => {
@@ -34,6 +35,8 @@ export const Tab = ({ component: Component = 'button', label, value, href, onCli
34
35
  handleClick(event);
35
36
  }
36
37
  }, [handleClick]);
37
- return (React.createElement(Component, { className: cn(styles.tab, { [styles.selected]: selected, [styles.fullWidth]: fullWidth }), role: "tab", id: getTabId(idPrefix, value.toString()), "aria-controls": getPanelId(idPrefix, value.toString()), "aria-selected": selected, tabIndex: selected ? 0 : -1, onKeyPress: onKeyPress, onClick: handleClick, href: selected ? undefined : href }, label));
38
+ return (React.createElement(Component, { className: cn(styles.tab, { [styles.selected]: selected, [styles.fullWidth]: fullWidth }), role: "tab", id: getTabId(idPrefix, value.toString()), "aria-controls": getPanelId(idPrefix, value.toString()), "aria-selected": selected, tabIndex: selected ? 0 : -1, onKeyPress: onKeyPress, onClick: handleClick, href: selected ? undefined : href },
39
+ icon && iconAriaLabel && React.createElement(Icon, { icon: icon, ariaLabel: iconAriaLabel, className: styles.icon }),
40
+ label));
38
41
  };
39
42
  //# sourceMappingURL=Tab.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.js","sourceRoot":"","sources":["../../src/Tabs/Tab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAM,WAAW,EAA6B,MAAM,OAAO,CAAA;AACzE,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,MAAM,MAAM,mBAAmB,CAAA;AAsBtC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,GAAG,GAAiB,CAAC,EAAE,SAAS,EAAE,SAAS,GAAG,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;IACpG,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,aAAa,EAAE,CAAA;IAC7E,MAAM,QAAQ,GAAG,KAAK,KAAK,WAAW,CAAA;IAEtC,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,KAA+G,EAAE,EAAE;QAClH,IAAI,QAAQ,EAAE;YACZ,OAAM;SACP;QAED,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,KAAK,CAAC,CAAA;SACf;QAED,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjB,CAAC,EACD,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CACrC,CAAA;IAED,wDAAwD;IACxD,+DAA+D;IAC/D,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,KAA2D,EAAE,EAAE;QAC9D,KAAK,CAAC,cAAc,EAAE,CAAA;QAEtB,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;YACvC,WAAW,CAAC,KAAK,CAAC,CAAA;SACnB;IACH,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAA;IAED,OAAO,CACL,oBAAC,SAAS,IACR,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,EACzF,IAAI,EAAC,KAAK,EACV,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,mBACzB,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,mBACtC,QAAQ,EACvB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3B,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAEhC,KAAK,CACI,CACb,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"Tab.js","sourceRoot":"","sources":["../../src/Tabs/Tab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAM,WAAW,EAA6B,MAAM,OAAO,CAAA;AACzE,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,EAAE,IAAI,EAAa,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,MAAM,MAAM,mBAAmB,CAAA;AA+BtC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,GAAG,GAAiB,CAAC,EAAE,SAAS,EAAE,SAAS,GAAG,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE;IACzH,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,aAAa,EAAE,CAAA;IAC7E,MAAM,QAAQ,GAAG,KAAK,KAAK,WAAW,CAAA;IAEtC,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,KAA+G,EAAE,EAAE;QAClH,IAAI,QAAQ,EAAE;YACZ,OAAM;SACP;QAED,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,KAAK,CAAC,CAAA;SACf;QAED,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjB,CAAC,EACD,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CACrC,CAAA;IAED,wDAAwD;IACxD,+DAA+D;IAC/D,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,KAA2D,EAAE,EAAE;QAC9D,KAAK,CAAC,cAAc,EAAE,CAAA;QAEtB,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;YACvC,WAAW,CAAC,KAAK,CAAC,CAAA;SACnB;IACH,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAA;IAED,OAAO,CACL,oBAAC,SAAS,IACR,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,EACzF,IAAI,EAAC,KAAK,EACV,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,mBACzB,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,mBACtC,QAAQ,EACvB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3B,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;QAEhC,IAAI,IAAI,aAAa,IAAI,oBAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,GAAI;QAC/F,KAAK,CACI,CACb,CAAA;AACH,CAAC,CAAA"}