@canonical/react-components 0.41.0 → 0.43.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 (151) hide show
  1. package/dist/__mocks__/nanoid.js +0 -2
  2. package/dist/components/Accordion/Accordion.js +13 -37
  3. package/dist/components/Accordion/AccordionSection/AccordionSection.js +8 -14
  4. package/dist/components/Accordion/AccordionSection/index.js +0 -2
  5. package/dist/components/Accordion/index.js +0 -2
  6. package/dist/components/ActionButton/ActionButton.js +36 -65
  7. package/dist/components/ActionButton/index.js +0 -2
  8. package/dist/components/ArticlePagination/ArticlePagination.js +5 -15
  9. package/dist/components/ArticlePagination/index.js +0 -2
  10. package/dist/components/Badge/Badge.js +10 -28
  11. package/dist/components/Badge/index.js +0 -2
  12. package/dist/components/Button/Button.js +12 -25
  13. package/dist/components/Button/index.js +0 -4
  14. package/dist/components/Card/Card.js +7 -18
  15. package/dist/components/Card/index.js +0 -2
  16. package/dist/components/CheckboxInput/CheckableInput/CheckableInput.js +6 -20
  17. package/dist/components/CheckboxInput/CheckableInput/index.js +0 -2
  18. package/dist/components/CheckboxInput/CheckboxInput.js +3 -13
  19. package/dist/components/CheckboxInput/index.js +0 -2
  20. package/dist/components/Chip/Chip.js +14 -30
  21. package/dist/components/Chip/index.js +0 -2
  22. package/dist/components/Code/Code.js +5 -23
  23. package/dist/components/Code/index.js +0 -2
  24. package/dist/components/CodeSnippet/CodeSnippet.js +2 -12
  25. package/dist/components/CodeSnippet/CodeSnippetBlock.js +10 -18
  26. package/dist/components/CodeSnippet/CodeSnippetDropdown.js +5 -14
  27. package/dist/components/CodeSnippet/index.js +0 -3
  28. package/dist/components/Col/Col.js +15 -25
  29. package/dist/components/Col/index.js +0 -4
  30. package/dist/components/ConfirmationButton/ConfirmationButton.d.ts +25 -0
  31. package/dist/components/ConfirmationButton/ConfirmationButton.js +59 -0
  32. package/dist/components/ConfirmationButton/index.d.ts +2 -0
  33. package/dist/components/ConfirmationButton/index.js +13 -0
  34. package/dist/components/ConfirmationModal/ConfirmationModal.d.ts +33 -0
  35. package/dist/components/ConfirmationModal/ConfirmationModal.js +38 -0
  36. package/dist/components/ConfirmationModal/index.d.ts +2 -0
  37. package/dist/components/ConfirmationModal/index.js +13 -0
  38. package/dist/components/ContextualMenu/ContextualMenu.d.ts +3 -3
  39. package/dist/components/ContextualMenu/ContextualMenu.js +66 -101
  40. package/dist/components/ContextualMenu/ContextualMenuDropdown/ContextualMenuDropdown.d.ts +2 -1
  41. package/dist/components/ContextualMenu/ContextualMenuDropdown/ContextualMenuDropdown.js +48 -85
  42. package/dist/components/ContextualMenu/ContextualMenuDropdown/index.js +0 -2
  43. package/dist/components/ContextualMenu/index.js +0 -2
  44. package/dist/components/EmptyState/EmptyState.d.ts +22 -0
  45. package/dist/components/EmptyState/EmptyState.js +27 -0
  46. package/dist/components/EmptyState/index.d.ts +2 -0
  47. package/dist/components/EmptyState/index.js +13 -0
  48. package/dist/components/Field/Field.js +35 -51
  49. package/dist/components/Field/index.js +0 -2
  50. package/dist/components/Form/Form.js +4 -14
  51. package/dist/components/Form/index.js +0 -2
  52. package/dist/components/Icon/Icon.js +3 -14
  53. package/dist/components/Icon/Icon.stories.scss +1 -0
  54. package/dist/components/Icon/index.js +0 -4
  55. package/dist/components/Input/Input.js +21 -39
  56. package/dist/components/Input/index.js +0 -2
  57. package/dist/components/Label/Label.js +7 -13
  58. package/dist/components/Label/index.js +0 -2
  59. package/dist/components/Link/Link.js +10 -22
  60. package/dist/components/Link/index.js +0 -2
  61. package/dist/components/List/List.d.ts +5 -5
  62. package/dist/components/List/List.js +17 -32
  63. package/dist/components/List/index.js +0 -2
  64. package/dist/components/Loader/Loader.js +0 -7
  65. package/dist/components/Loader/index.js +0 -2
  66. package/dist/components/MainTable/MainTable.js +59 -111
  67. package/dist/components/MainTable/index.js +0 -2
  68. package/dist/components/Modal/Modal.js +7 -34
  69. package/dist/components/Modal/index.js +0 -2
  70. package/dist/components/ModularTable/ModularTable.d.ts +9 -1
  71. package/dist/components/ModularTable/ModularTable.js +39 -46
  72. package/dist/components/ModularTable/index.js +0 -2
  73. package/dist/components/Navigation/Navigation.js +46 -82
  74. package/dist/components/Navigation/NavigationLink/NavigationLink.js +15 -30
  75. package/dist/components/Navigation/NavigationLink/index.js +0 -2
  76. package/dist/components/Navigation/NavigationMenu/NavigationMenu.js +12 -35
  77. package/dist/components/Navigation/NavigationMenu/index.js +0 -2
  78. package/dist/components/Navigation/index.js +0 -2
  79. package/dist/components/Notification/Notification.d.ts +6 -0
  80. package/dist/components/Notification/Notification.js +29 -42
  81. package/dist/components/Notification/index.js +0 -4
  82. package/dist/components/NotificationProvider/NotificationProvider.d.ts +5 -0
  83. package/dist/components/NotificationProvider/NotificationProvider.js +119 -0
  84. package/dist/components/NotificationProvider/index.d.ts +3 -0
  85. package/dist/components/NotificationProvider/index.js +49 -0
  86. package/dist/components/NotificationProvider/messageBuilder.d.ts +6 -0
  87. package/dist/components/NotificationProvider/messageBuilder.js +41 -0
  88. package/dist/components/NotificationProvider/types.d.ts +30 -0
  89. package/dist/components/NotificationProvider/types.js +5 -0
  90. package/dist/components/Pagination/Pagination.js +14 -44
  91. package/dist/components/Pagination/PaginationButton/PaginationButton.js +3 -10
  92. package/dist/components/Pagination/PaginationButton/index.js +0 -2
  93. package/dist/components/Pagination/PaginationItem/PaginationItem.js +3 -8
  94. package/dist/components/Pagination/PaginationItem/index.js +0 -2
  95. package/dist/components/Pagination/index.js +0 -2
  96. package/dist/components/PasswordToggle/PasswordToggle.js +16 -45
  97. package/dist/components/PasswordToggle/index.js +0 -2
  98. package/dist/components/RadioInput/RadioInput.js +1 -11
  99. package/dist/components/RadioInput/index.js +0 -2
  100. package/dist/components/Row/Row.js +2 -12
  101. package/dist/components/Row/index.js +0 -2
  102. package/dist/components/SearchAndFilter/FilterPanelSection/FilterPanelSection.js +27 -49
  103. package/dist/components/SearchAndFilter/FilterPanelSection/index.js +0 -2
  104. package/dist/components/SearchAndFilter/SearchAndFilter.d.ts +9 -1
  105. package/dist/components/SearchAndFilter/SearchAndFilter.js +68 -104
  106. package/dist/components/SearchAndFilter/index.js +0 -2
  107. package/dist/components/SearchAndFilter/utils.js +1 -7
  108. package/dist/components/SearchBox/SearchBox.js +14 -34
  109. package/dist/components/SearchBox/index.js +0 -2
  110. package/dist/components/Select/Select.js +20 -33
  111. package/dist/components/Select/index.js +0 -2
  112. package/dist/components/Slider/Slider.js +16 -32
  113. package/dist/components/Slider/index.js +0 -2
  114. package/dist/components/Spinner/Spinner.js +8 -19
  115. package/dist/components/Spinner/index.js +0 -2
  116. package/dist/components/StatusLabel/StatusLabel.js +4 -15
  117. package/dist/components/StatusLabel/index.js +0 -4
  118. package/dist/components/Strip/Strip.js +25 -36
  119. package/dist/components/Strip/index.js +0 -2
  120. package/dist/components/SummaryButton/SummaryButton.js +4 -10
  121. package/dist/components/SummaryButton/index.js +0 -2
  122. package/dist/components/Switch/Switch.js +3 -12
  123. package/dist/components/Switch/index.js +0 -2
  124. package/dist/components/Table/Table.js +6 -16
  125. package/dist/components/Table/index.js +0 -2
  126. package/dist/components/TableCell/TableCell.js +10 -20
  127. package/dist/components/TableCell/index.js +0 -2
  128. package/dist/components/TableHeader/TableHeader.js +2 -11
  129. package/dist/components/TableHeader/index.js +0 -2
  130. package/dist/components/TableRow/TableRow.js +1 -10
  131. package/dist/components/TableRow/index.js +0 -2
  132. package/dist/components/Tabs/Tabs.js +7 -17
  133. package/dist/components/Tabs/index.js +0 -2
  134. package/dist/components/Textarea/Textarea.js +23 -36
  135. package/dist/components/Textarea/index.js +0 -2
  136. package/dist/components/Tooltip/Tooltip.js +38 -88
  137. package/dist/components/Tooltip/index.js +0 -4
  138. package/dist/enums.js +0 -2
  139. package/dist/hooks/index.js +0 -8
  140. package/dist/hooks/useClickOutside.js +2 -7
  141. package/dist/hooks/useId.js +0 -4
  142. package/dist/hooks/useListener.js +0 -8
  143. package/dist/hooks/useOnEscapePressed.js +0 -3
  144. package/dist/hooks/usePagination.js +13 -25
  145. package/dist/hooks/usePrevious.js +0 -3
  146. package/dist/hooks/useThrottle.js +1 -15
  147. package/dist/hooks/useWindowFitment.js +6 -13
  148. package/dist/index.d.ts +8 -0
  149. package/dist/index.js +64 -52
  150. package/dist/utils.js +3 -10
  151. package/package.json +31 -28
@@ -1,68 +1,40 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _Pagination = _interopRequireDefault(require("../Pagination"));
13
-
14
10
  var _Table = _interopRequireDefault(require("../Table"));
15
-
16
11
  var _TableRow = _interopRequireDefault(require("../TableRow"));
17
-
18
12
  var _TableHeader = _interopRequireDefault(require("../TableHeader"));
19
-
20
13
  var _TableCell = _interopRequireDefault(require("../TableCell"));
21
-
22
14
  var _hooks = require("../../hooks");
23
-
24
15
  var _excluded = ["content", "sortKey"],
25
- _excluded2 = ["columns", "expanded", "expandedContent", "key", "sortData"],
26
- _excluded3 = ["content"],
27
- _excluded4 = ["defaultSort", "defaultSortDirection", "emptyStateMsg", "expanding", "headers", "onUpdateSort", "paginate", "rows", "responsive", "sortable", "sortFunction", "hiddenCaption"];
28
-
16
+ _excluded2 = ["columns", "expanded", "expandedContent", "key", "sortData"],
17
+ _excluded3 = ["content"],
18
+ _excluded4 = ["defaultSort", "defaultSortDirection", "emptyStateMsg", "expanding", "headers", "onUpdateSort", "paginate", "rows", "responsive", "sortable", "sortFunction", "hiddenCaption"];
29
19
  var _this = void 0;
30
-
31
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
32
-
33
21
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
34
-
35
22
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
36
-
37
23
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
38
-
39
24
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
40
-
41
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
42
-
25
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
43
26
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
44
-
45
27
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
46
-
47
28
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
48
-
49
29
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
50
-
51
30
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
52
-
53
31
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
54
-
55
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
56
-
32
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
57
33
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
58
-
59
34
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
60
-
61
35
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
62
-
63
36
  var updateSort = function updateSort(setSortKey, setSortDirection, sortKey, sortDirection) {
64
37
  var newDirection = null;
65
-
66
38
  if (sortDirection === "none") {
67
39
  newDirection = "ascending";
68
40
  } else if (sortDirection === "ascending") {
@@ -70,19 +42,15 @@ var updateSort = function updateSort(setSortKey, setSortDirection, sortKey, sort
70
42
  } else {
71
43
  sortKey = null;
72
44
  }
73
-
74
45
  setSortKey(sortKey);
75
46
  setSortDirection(newDirection);
76
47
  };
77
-
78
48
  var generateHeaders = function generateHeaders(currentSortKey, currentSortDirection, expanding, headers, sortable, setSortKey, setSortDirection) {
79
49
  var headerItems = headers.map(function (_ref, index) {
80
50
  var content = _ref.content,
81
- sortKey = _ref.sortKey,
82
- props = _objectWithoutProperties(_ref, _excluded);
83
-
51
+ sortKey = _ref.sortKey,
52
+ props = _objectWithoutProperties(_ref, _excluded);
84
53
  var sortDirection;
85
-
86
54
  if (sortable && sortKey) {
87
55
  if (currentSortKey === sortKey) {
88
56
  sortDirection = currentSortDirection;
@@ -90,55 +58,49 @@ var generateHeaders = function generateHeaders(currentSortKey, currentSortDirect
90
58
  sortDirection = "none";
91
59
  }
92
60
  }
93
-
94
61
  return /*#__PURE__*/_react.default.createElement(_TableHeader.default, _extends({
95
62
  key: index,
96
63
  sort: sortDirection,
97
64
  onClick: sortable && sortKey ? updateSort.bind(_this, setSortKey, setSortDirection, sortKey, sortDirection) : undefined
98
65
  }, props), content);
99
- }); // When there is expanding content then provide an extra hidden header to
66
+ });
67
+ // When there is expanding content then provide an extra hidden header to
100
68
  // account for the extra cell in the body rows.
101
-
102
69
  return /*#__PURE__*/_react.default.createElement("thead", null, /*#__PURE__*/_react.default.createElement(_TableRow.default, null, headerItems, expanding && /*#__PURE__*/_react.default.createElement(_TableHeader.default, {
103
70
  "aria-hidden": "true"
104
71
  })));
105
72
  };
106
-
107
73
  var generateRows = function generateRows(_ref2) {
108
74
  var rows = _ref2.rows,
109
- headers = _ref2.headers,
110
- responsive = _ref2.responsive,
111
- expanding = _ref2.expanding;
75
+ headers = _ref2.headers,
76
+ responsive = _ref2.responsive,
77
+ expanding = _ref2.expanding;
112
78
  return rows.map(function (_ref3, index) {
113
79
  var columns = _ref3.columns,
114
- expanded = _ref3.expanded,
115
- expandedContent = _ref3.expandedContent,
116
- key = _ref3.key,
117
- sortData = _ref3.sortData,
118
- rowProps = _objectWithoutProperties(_ref3, _excluded2);
119
-
80
+ expanded = _ref3.expanded,
81
+ expandedContent = _ref3.expandedContent,
82
+ key = _ref3.key,
83
+ sortData = _ref3.sortData,
84
+ rowProps = _objectWithoutProperties(_ref3, _excluded2);
120
85
  var cellItems = columns === null || columns === void 0 ? void 0 : columns.map(function (_ref4, index) {
121
86
  var content = _ref4.content,
122
- cellProps = _objectWithoutProperties(_ref4, _excluded3);
123
-
87
+ cellProps = _objectWithoutProperties(_ref4, _excluded3);
124
88
  var headerContent = headers && headers[index]["content"];
125
89
  var headerReplacement = headers && headers[index]["heading"];
126
-
127
90
  if (responsive) {
128
91
  cellProps["data-heading"] = typeof headerContent === "string" ? headerContent : headerReplacement;
129
92
  }
130
-
131
93
  return /*#__PURE__*/_react.default.createElement(_TableCell.default, _extends({
132
94
  key: index
133
95
  }, cellProps), content);
134
- }); // if key was not provided as a prop, use row's index instead
135
-
96
+ });
97
+ // if key was not provided as a prop, use row's index instead
136
98
  if (key === null || typeof key === "undefined") {
137
99
  key = index;
138
- } // The expanding cell is alway created to match the correct number of
139
- // table cells in rows that do have expanding content.
140
-
100
+ }
141
101
 
102
+ // The expanding cell is alway created to match the correct number of
103
+ // table cells in rows that do have expanding content.
142
104
  return /*#__PURE__*/_react.default.createElement(_TableRow.default, _extends({
143
105
  key: key
144
106
  }, rowProps), cellItems, expanding && /*#__PURE__*/_react.default.createElement(_TableCell.default, {
@@ -147,86 +109,74 @@ var generateRows = function generateRows(_ref2) {
147
109
  }, expandedContent));
148
110
  });
149
111
  };
150
-
151
112
  var sortRows = function sortRows(_ref5) {
152
113
  var currentSortDirection = _ref5.currentSortDirection,
153
- currentSortKey = _ref5.currentSortKey,
154
- rows = _ref5.rows,
155
- sortable = _ref5.sortable,
156
- sortFunction = _ref5.sortFunction;
157
-
114
+ currentSortKey = _ref5.currentSortKey,
115
+ rows = _ref5.rows,
116
+ sortable = _ref5.sortable,
117
+ sortFunction = _ref5.sortFunction;
158
118
  if (!rows) {
159
119
  return [];
160
- } // Clone the rows so we can restore the original order.
161
-
162
-
120
+ }
121
+ // Clone the rows so we can restore the original order.
163
122
  var sortedRows = _toConsumableArray(rows);
164
-
165
123
  if (sortable && currentSortKey) {
166
124
  if (!sortFunction) {
167
125
  sortFunction = function sortFunction(a, b) {
168
126
  if (!a.sortData || !b.sortData) {
169
127
  return 0;
170
128
  }
171
-
172
129
  if (a.sortData[currentSortKey] > b.sortData[currentSortKey]) {
173
130
  return currentSortDirection === "ascending" ? 1 : -1;
174
131
  } else if (a.sortData[currentSortKey] < b.sortData[currentSortKey]) {
175
132
  return currentSortDirection === "ascending" ? -1 : 1;
176
133
  }
177
-
178
134
  return 0;
179
135
  };
180
136
  }
181
-
182
137
  sortedRows.sort(function (a, b) {
183
138
  return sortFunction(a, b, currentSortDirection, currentSortKey);
184
139
  });
185
140
  }
186
-
187
141
  return sortedRows;
188
142
  };
189
-
190
143
  var MainTable = function MainTable(_ref6) {
191
144
  var defaultSort = _ref6.defaultSort,
192
- defaultSortDirection = _ref6.defaultSortDirection,
193
- _ref6$emptyStateMsg = _ref6.emptyStateMsg,
194
- emptyStateMsg = _ref6$emptyStateMsg === void 0 ? "" : _ref6$emptyStateMsg,
195
- expanding = _ref6.expanding,
196
- headers = _ref6.headers,
197
- onUpdateSort = _ref6.onUpdateSort,
198
- paginate = _ref6.paginate,
199
- rows = _ref6.rows,
200
- responsive = _ref6.responsive,
201
- sortable = _ref6.sortable,
202
- sortFunction = _ref6.sortFunction,
203
- hiddenCaption = _ref6.hiddenCaption,
204
- props = _objectWithoutProperties(_ref6, _excluded4);
205
-
145
+ defaultSortDirection = _ref6.defaultSortDirection,
146
+ _ref6$emptyStateMsg = _ref6.emptyStateMsg,
147
+ emptyStateMsg = _ref6$emptyStateMsg === void 0 ? "" : _ref6$emptyStateMsg,
148
+ expanding = _ref6.expanding,
149
+ headers = _ref6.headers,
150
+ onUpdateSort = _ref6.onUpdateSort,
151
+ paginate = _ref6.paginate,
152
+ rows = _ref6.rows,
153
+ responsive = _ref6.responsive,
154
+ sortable = _ref6.sortable,
155
+ sortFunction = _ref6.sortFunction,
156
+ hiddenCaption = _ref6.hiddenCaption,
157
+ props = _objectWithoutProperties(_ref6, _excluded4);
206
158
  var _useState = (0, _react.useState)(defaultSort),
207
- _useState2 = _slicedToArray(_useState, 2),
208
- currentSortKey = _useState2[0],
209
- setSortKey = _useState2[1];
210
-
159
+ _useState2 = _slicedToArray(_useState, 2),
160
+ currentSortKey = _useState2[0],
161
+ setSortKey = _useState2[1];
211
162
  var _useState3 = (0, _react.useState)(defaultSortDirection),
212
- _useState4 = _slicedToArray(_useState3, 2),
213
- currentSortDirection = _useState4[0],
214
- setSortDirection = _useState4[1]; // Update the current sort state if the prop changes.
215
-
163
+ _useState4 = _slicedToArray(_useState3, 2),
164
+ currentSortDirection = _useState4[0],
165
+ setSortDirection = _useState4[1];
216
166
 
167
+ // Update the current sort state if the prop changes.
217
168
  (0, _react.useEffect)(function () {
218
169
  setSortKey(defaultSort);
219
- }, [defaultSort]); // Update the current sort direction state if the prop changes.
170
+ }, [defaultSort]);
220
171
 
172
+ // Update the current sort direction state if the prop changes.
221
173
  (0, _react.useEffect)(function () {
222
174
  setSortDirection(defaultSortDirection);
223
175
  }, [defaultSortDirection]);
224
-
225
176
  var updateSort = function updateSort(newSort) {
226
177
  setSortKey(newSort);
227
178
  onUpdateSort && onUpdateSort(newSort);
228
179
  };
229
-
230
180
  var sortedRows = (0, _react.useMemo)(function () {
231
181
  return sortRows({
232
182
  currentSortDirection: currentSortDirection,
@@ -236,15 +186,13 @@ var MainTable = function MainTable(_ref6) {
236
186
  sortFunction: sortFunction
237
187
  });
238
188
  }, [currentSortDirection, currentSortKey, rows, sortable, sortFunction]);
239
-
240
189
  var _usePagination = (0, _hooks.usePagination)(sortedRows, {
241
- itemsPerPage: paginate,
242
- autoResetPage: true
243
- }),
244
- finalRows = _usePagination.pageData,
245
- currentPage = _usePagination.currentPage,
246
- setCurrentPage = _usePagination.paginate;
247
-
190
+ itemsPerPage: paginate,
191
+ autoResetPage: true
192
+ }),
193
+ finalRows = _usePagination.pageData,
194
+ currentPage = _usePagination.currentPage,
195
+ setCurrentPage = _usePagination.paginate;
248
196
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Table.default, _extends({
249
197
  expanding: expanding,
250
198
  responsive: responsive
@@ -258,7 +206,8 @@ var MainTable = function MainTable(_ref6) {
258
206
  top: "auto",
259
207
  width: "1px"
260
208
  }
261
- }, hiddenCaption), !!headers && generateHeaders(currentSortKey, currentSortDirection, expanding, headers, sortable, updateSort, setSortDirection), // If the table has no rows, return empty state message
209
+ }, hiddenCaption), !!headers && generateHeaders(currentSortKey, currentSortDirection, expanding, headers, sortable, updateSort, setSortDirection),
210
+ // If the table has no rows, return empty state message
262
211
  Object.entries(finalRows).length === 0 && emptyStateMsg ? /*#__PURE__*/_react.default.createElement("caption", null, emptyStateMsg) : /*#__PURE__*/_react.default.createElement("tbody", null, generateRows({
263
212
  rows: finalRows,
264
213
  headers: headers,
@@ -274,6 +223,5 @@ var MainTable = function MainTable(_ref6) {
274
223
  totalItems: rows.length
275
224
  }));
276
225
  };
277
-
278
226
  var _default = MainTable;
279
227
  exports.default = _default;
@@ -9,7 +9,5 @@ Object.defineProperty(exports, "default", {
9
9
  return _MainTable.default;
10
10
  }
11
11
  });
12
-
13
12
  var _MainTable = _interopRequireDefault(require("./MainTable"));
14
-
15
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -1,40 +1,27 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = exports.Modal = void 0;
9
-
10
8
  var _classnames = _interopRequireDefault(require("classnames"));
11
-
12
9
  var _react = _interopRequireWildcard(require("react"));
13
-
14
10
  var _useId = require("../../hooks/useId");
15
-
16
11
  var _excluded = ["buttonRow", "children", "className", "close", "title"];
17
-
18
12
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
-
20
13
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
-
22
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
-
24
15
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
25
-
26
16
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
27
-
28
17
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
29
-
30
18
  var Modal = function Modal(_ref) {
31
19
  var buttonRow = _ref.buttonRow,
32
- children = _ref.children,
33
- className = _ref.className,
34
- close = _ref.close,
35
- title = _ref.title,
36
- wrapperProps = _objectWithoutProperties(_ref, _excluded);
37
-
20
+ children = _ref.children,
21
+ className = _ref.className,
22
+ close = _ref.close,
23
+ title = _ref.title,
24
+ wrapperProps = _objectWithoutProperties(_ref, _excluded);
38
25
  // list of focusable selectors is based on this Stack Overflow answer:
39
26
  // https://stackoverflow.com/a/30753870/3732840
40
27
  var focusableElementSelectors = 'a[href]:not([tabindex="-1"]), button:not([disabled]), textarea:not([disabled]):not([tabindex="-1"]), input:not([disabled]):not([tabindex="-1"]), select:not([disabled]):not([tabindex="-1"]), area[href]:not([tabindex="-1"]), iframe:not([tabindex="-1"]), [tabindex]:not([tabindex="-1"]), [contentEditable=true]:not([tabindex="-1"])';
@@ -43,43 +30,36 @@ var Modal = function Modal(_ref) {
43
30
  var shouldClose = (0, _react.useRef)(false);
44
31
  var modalRef = (0, _react.useRef)(null);
45
32
  var focusableModalElements = (0, _react.useRef)(null);
46
-
47
33
  var handleTabKey = function handleTabKey(e) {
48
34
  if (focusableModalElements.current.length > 0) {
49
35
  var firstElement = focusableModalElements.current[0];
50
36
  var lastElement = focusableModalElements.current[focusableModalElements.current.length - 1];
51
-
52
37
  if (!e.shiftKey && document.activeElement === lastElement) {
53
38
  firstElement.focus();
54
39
  e.preventDefault();
55
40
  }
56
-
57
41
  if (e.shiftKey && document.activeElement === firstElement) {
58
42
  lastElement.focus();
59
43
  return e.preventDefault();
60
44
  }
61
45
  }
62
46
  };
63
-
64
47
  var handleEscKey = function handleEscKey(e) {
65
48
  e.nativeEvent.stopImmediatePropagation();
66
49
  close();
67
50
  };
68
-
69
51
  var keyListenersMap = new Map([["Escape", handleEscKey], ["Tab", handleTabKey]]);
70
52
  (0, _react.useEffect)(function () {
71
53
  modalRef.current.focus();
72
54
  }, [modalRef]);
73
55
  (0, _react.useEffect)(function () {
74
56
  var _focusableModalElemen;
75
-
76
57
  focusableModalElements.current = modalRef.current.querySelectorAll(focusableElementSelectors);
77
- var focusIndex = 0; // when the close button is rendered, focus on the 2nd content element and not the close btn.
78
-
58
+ var focusIndex = 0;
59
+ // when the close button is rendered, focus on the 2nd content element and not the close btn.
79
60
  if (close && focusableModalElements.current.length > 1) {
80
61
  focusIndex = 1;
81
62
  }
82
-
83
63
  (_focusableModalElemen = focusableModalElements.current[focusIndex]) === null || _focusableModalElemen === void 0 ? void 0 : _focusableModalElemen.focus();
84
64
  }, []);
85
65
  (0, _react.useEffect)(function () {
@@ -87,33 +67,27 @@ var Modal = function Modal(_ref) {
87
67
  var listener = keyListenersMap.get(e.code);
88
68
  return listener && listener(e);
89
69
  };
90
-
91
70
  document.addEventListener("keydown", keyDown);
92
71
  return function () {
93
72
  document.removeEventListener("keydown", keyDown);
94
73
  };
95
74
  });
96
-
97
75
  var handleContentOnMouseDown = function handleContentOnMouseDown() {
98
76
  shouldClose.current = false;
99
77
  };
100
-
101
78
  var handleContentOnMouseUp = function handleContentOnMouseUp() {
102
79
  shouldClose.current = false;
103
80
  };
104
-
105
81
  var handleOverlayOnMouseDown = function handleOverlayOnMouseDown(event) {
106
82
  if (event.target === modalRef.current) {
107
83
  shouldClose.current = true;
108
84
  }
109
85
  };
110
-
111
86
  var handleOverlayOnClick = function handleOverlayOnClick() {
112
87
  if (shouldClose.current) {
113
88
  close();
114
89
  }
115
90
  };
116
-
117
91
  return /*#__PURE__*/_react.default.createElement("div", _extends({
118
92
  className: (0, _classnames.default)("p-modal", className),
119
93
  onClick: handleOverlayOnClick,
@@ -143,7 +117,6 @@ var Modal = function Modal(_ref) {
143
117
  className: "p-modal__footer"
144
118
  }, buttonRow)));
145
119
  };
146
-
147
120
  exports.Modal = Modal;
148
121
  var _default = Modal;
149
122
  exports.default = _default;
@@ -9,7 +9,5 @@ Object.defineProperty(exports, "default", {
9
9
  return _Modal.default;
10
10
  }
11
11
  });
12
-
13
12
  var _Modal = _interopRequireDefault(require("./Modal"));
14
-
15
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -36,6 +36,14 @@ export type Props<D extends Record<string, unknown>> = PropsWithSpread<{
36
36
  */
37
37
  getCellProps?: (cell: Cell<D>) => Partial<TableCellProps & HTMLProps<HTMLTableCellElement>>;
38
38
  getRowId?: UseTableOptions<D>["getRowId"];
39
+ /**
40
+ * The column that the table will be sorted by (this should match a cell selector).
41
+ */
42
+ initialSortColumn?: string;
43
+ /**
44
+ * The direction of the initial sort.
45
+ */
46
+ initialSortDirection?: "ascending" | "descending";
39
47
  }, HTMLProps<HTMLTableElement>>;
40
- declare function ModularTable<D extends Record<string, unknown>>({ data, columns, emptyMsg, footer, sortable, getHeaderProps, getRowProps, getCellProps, getRowId, ...props }: Props<D>): JSX.Element;
48
+ declare function ModularTable<D extends Record<string, unknown>>({ data, columns, emptyMsg, footer, sortable, getHeaderProps, getRowProps, getCellProps, getRowId, initialSortColumn, initialSortDirection, ...props }: Props<D>): JSX.Element;
41
49
  export default ModularTable;
@@ -4,40 +4,28 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
- var _react = _interopRequireDefault(require("react"));
9
-
7
+ var _react = _interopRequireWildcard(require("react"));
10
8
  var _reactTable = require("react-table");
11
-
12
9
  var _Table = _interopRequireDefault(require("../Table"));
13
-
14
10
  var _TableRow = _interopRequireDefault(require("../TableRow"));
15
-
16
11
  var _TableHeader = _interopRequireDefault(require("../TableHeader"));
17
-
18
12
  var _TableCell = _interopRequireDefault(require("../TableCell"));
19
-
20
13
  var _Icon = _interopRequireDefault(require("../Icon"));
21
-
22
- var _excluded = ["data", "columns", "emptyMsg", "footer", "sortable", "getHeaderProps", "getRowProps", "getCellProps", "getRowId"];
23
-
14
+ var _excluded = ["data", "columns", "emptyMsg", "footer", "sortable", "getHeaderProps", "getRowProps", "getCellProps", "getRowId", "initialSortColumn", "initialSortDirection"];
24
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
26
19
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
-
28
20
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
29
-
30
21
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
31
-
32
22
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
33
-
34
23
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
35
-
36
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
37
-
24
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
25
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
26
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
38
27
  var generateCell = function generateCell(cell, getCellProps) {
39
28
  var _cell$column$getCellI, _cell$column;
40
-
41
29
  var hasColumnIcon = cell.column.getCellIcon;
42
30
  var iconName = hasColumnIcon && ((_cell$column$getCellI = (_cell$column = cell.column).getCellIcon) === null || _cell$column$getCellI === void 0 ? void 0 : _cell$column$getCellI.call(_cell$column, cell));
43
31
  return /*#__PURE__*/_react.default.createElement(_TableCell.default, cell.getCellProps([{
@@ -48,12 +36,10 @@ var generateCell = function generateCell(cell, getCellProps) {
48
36
  name: iconName
49
37
  }), cell.render("Cell"));
50
38
  };
51
-
52
39
  var generateRows = function generateRows(rows, prepareRow, getRowProps, getCellProps) {
53
40
  var tableRows = [];
54
41
  rows.forEach(function (row) {
55
42
  var _row$subRows;
56
-
57
43
  // This function is responsible for lazily preparing a row for rendering.
58
44
  // Any row that you intend to render in your table needs to be passed to this function before every render.
59
45
  // see: https://react-table.tanstack.com/docs/api/useTable#instance-properties
@@ -61,37 +47,44 @@ var generateRows = function generateRows(rows, prepareRow, getRowProps, getCellP
61
47
  tableRows.push( /*#__PURE__*/_react.default.createElement(_TableRow.default, row.getRowProps(getRowProps === null || getRowProps === void 0 ? void 0 : getRowProps(row)), row.cells.map(function (cell) {
62
48
  return generateCell(cell, getCellProps);
63
49
  })));
64
-
65
50
  if ((_row$subRows = row.subRows) !== null && _row$subRows !== void 0 && _row$subRows.length) {
66
51
  tableRows = tableRows.concat(generateRows(row.subRows, prepareRow, getRowProps, getCellProps));
67
52
  }
68
53
  });
69
54
  return tableRows;
70
55
  };
71
-
72
56
  function ModularTable(_ref) {
73
57
  var data = _ref.data,
74
- columns = _ref.columns,
75
- emptyMsg = _ref.emptyMsg,
76
- footer = _ref.footer,
77
- sortable = _ref.sortable,
78
- getHeaderProps = _ref.getHeaderProps,
79
- getRowProps = _ref.getRowProps,
80
- getCellProps = _ref.getCellProps,
81
- getRowId = _ref.getRowId,
82
- props = _objectWithoutProperties(_ref, _excluded);
83
-
58
+ columns = _ref.columns,
59
+ emptyMsg = _ref.emptyMsg,
60
+ footer = _ref.footer,
61
+ sortable = _ref.sortable,
62
+ getHeaderProps = _ref.getHeaderProps,
63
+ getRowProps = _ref.getRowProps,
64
+ getCellProps = _ref.getCellProps,
65
+ getRowId = _ref.getRowId,
66
+ initialSortColumn = _ref.initialSortColumn,
67
+ initialSortDirection = _ref.initialSortDirection,
68
+ props = _objectWithoutProperties(_ref, _excluded);
69
+ var sortBy = (0, _react.useMemo)(function () {
70
+ return initialSortColumn ? [{
71
+ id: initialSortColumn,
72
+ desc: initialSortDirection === "descending"
73
+ }] : [];
74
+ }, [initialSortColumn, initialSortDirection]);
84
75
  var _useTable = (0, _reactTable.useTable)({
85
- columns: columns,
86
- data: data,
87
- getRowId: getRowId || undefined
88
- }, sortable ? _reactTable.useSortBy : undefined),
89
- getTableProps = _useTable.getTableProps,
90
- getTableBodyProps = _useTable.getTableBodyProps,
91
- headerGroups = _useTable.headerGroups,
92
- rows = _useTable.rows,
93
- prepareRow = _useTable.prepareRow;
94
-
76
+ columns: columns,
77
+ data: data,
78
+ getRowId: getRowId || undefined,
79
+ initialState: {
80
+ sortBy: sortBy
81
+ }
82
+ }, sortable ? _reactTable.useSortBy : undefined),
83
+ getTableProps = _useTable.getTableProps,
84
+ getTableBodyProps = _useTable.getTableBodyProps,
85
+ headerGroups = _useTable.headerGroups,
86
+ rows = _useTable.rows,
87
+ prepareRow = _useTable.prepareRow;
95
88
  var showEmpty = !!emptyMsg && (!rows || rows.length === 0);
96
89
  return /*#__PURE__*/_react.default.createElement(_Table.default, _extends({}, getTableProps(), props), /*#__PURE__*/_react.default.createElement("thead", null, headerGroups.map(function (headerGroup) {
97
90
  return /*#__PURE__*/_react.default.createElement(_TableRow.default, headerGroup.getHeaderGroupProps(), headerGroup.headers.map(function (column) {
@@ -101,7 +94,8 @@ function ModularTable(_ref) {
101
94
  className: column.className
102
95
  }, {
103
96
  className: column.getCellIcon ? "p-table__cell--icon-placeholder" : ""
104
- }, _objectSpread({}, getHeaderProps === null || getHeaderProps === void 0 ? void 0 : getHeaderProps(column)), // Only call this if we want it to be sortable too.
97
+ }, _objectSpread({}, getHeaderProps === null || getHeaderProps === void 0 ? void 0 : getHeaderProps(column)),
98
+ // Only call this if we want it to be sortable too.
105
99
  sortable ? column.getSortByToggleProps({
106
100
  title: undefined
107
101
  }) : {}])), column.render("Header"));
@@ -112,6 +106,5 @@ function ModularTable(_ref) {
112
106
  colSpan: columns.length
113
107
  }, footer))));
114
108
  }
115
-
116
109
  var _default = ModularTable;
117
110
  exports.default = _default;
@@ -9,7 +9,5 @@ Object.defineProperty(exports, "default", {
9
9
  return _ModularTable.default;
10
10
  }
11
11
  });
12
-
13
12
  var _ModularTable = _interopRequireDefault(require("./ModularTable"));
14
-
15
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }