@bundle-stats/ui 3.2.0-beta.1 → 3.2.1-beta.3

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 (255) hide show
  1. package/.babelrc.js +3 -3
  2. package/CHANGELOG.md +20 -4
  3. package/lib/assets/icons/arrow.svg +1 -0
  4. package/lib/assets/icons/cancel.svg +1 -0
  5. package/lib/assets/icons/clock.svg +1 -0
  6. package/lib/assets/icons/close.svg +1 -0
  7. package/lib/assets/icons/commit.svg +1 -0
  8. package/lib/assets/icons/filter.svg +1 -0
  9. package/lib/assets/icons/help.svg +1 -0
  10. package/lib/assets/icons/menu.svg +1 -0
  11. package/lib/{ui/icon/assets → assets/icons}/sort.svg +0 -0
  12. package/lib/assets/icons/warning.svg +1 -0
  13. package/lib/assets/icons.svg +1 -0
  14. package/lib/components/bundle-assets/bundle-assets.js +3 -3
  15. package/lib/components/bundle-assets/bundle-assets.stories.js +19 -7
  16. package/lib/components/bundle-assets/bundle-assets.utils.js +95 -28
  17. package/lib/components/bundle-assets/index.js +115 -4
  18. package/lib/components/bundle-modules/bundle-modules.js +3 -3
  19. package/lib/components/bundle-modules/bundle-modules.utils.js +152 -0
  20. package/lib/components/bundle-modules/index.js +135 -4
  21. package/lib/components/bundle-packages/bundle-packages.js +3 -3
  22. package/lib/components/bundle-packages/{bundle-packages.container.js → bundle-packages.utils.js} +8 -42
  23. package/lib/components/bundle-packages/index.js +111 -3
  24. package/lib/components/metrics-table/metrics-table.js +3 -7
  25. package/lib/components/metrics-table-search/metrics-table-search.js +2 -1
  26. package/lib/components/metrics-table-search/metrics-table-search.module.css +2 -1
  27. package/lib/hooks/rows-filter.js +28 -0
  28. package/lib/hooks/rows-sort.js +54 -0
  29. package/lib/{hocs/with-search.js → hooks/search-params.js} +15 -64
  30. package/lib/ui/icon/icon.js +4 -191
  31. package/lib/ui/sort-dropdown/sort-dropdown.js +12 -13
  32. package/lib/ui/sort-dropdown/sort-dropdown.stories.js +2 -2
  33. package/lib/utils.js +6 -3
  34. package/lib-esm/app/app.js +60 -70
  35. package/lib-esm/app/app.stories.js +50 -71
  36. package/lib-esm/app/header/header.js +5 -3
  37. package/lib-esm/assets/icons/arrow.svg +1 -0
  38. package/lib-esm/assets/icons/cancel.svg +1 -0
  39. package/lib-esm/assets/icons/clock.svg +1 -0
  40. package/lib-esm/assets/icons/close.svg +1 -0
  41. package/lib-esm/assets/icons/commit.svg +1 -0
  42. package/lib-esm/assets/icons/filter.svg +1 -0
  43. package/lib-esm/assets/icons/help.svg +1 -0
  44. package/lib-esm/assets/icons/menu.svg +1 -0
  45. package/lib-esm/{ui/icon/assets → assets/icons}/sort.svg +0 -0
  46. package/lib-esm/assets/icons/warning.svg +1 -0
  47. package/lib-esm/assets/icons.svg +1 -0
  48. package/lib-esm/components/asset-info/asset-info.js +21 -17
  49. package/lib-esm/components/asset-info/asset-info.stories.js +29 -33
  50. package/lib-esm/components/browsertime-table/browsertime-table.js +6 -4
  51. package/lib-esm/components/browsertime-table/browsertime-table.stories.js +9 -13
  52. package/lib-esm/components/bundle-assets/bundle-assets.constants.js +17 -15
  53. package/lib-esm/components/bundle-assets/bundle-assets.js +107 -97
  54. package/lib-esm/components/bundle-assets/bundle-assets.stories.js +58 -63
  55. package/lib-esm/components/bundle-assets/bundle-assets.utils.js +65 -21
  56. package/lib-esm/components/bundle-assets/index.js +89 -2
  57. package/lib-esm/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js +49 -51
  58. package/lib-esm/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.stories.js +9 -13
  59. package/lib-esm/components/bundle-assets-totals-table/bundle-assets-totals-table.js +14 -13
  60. package/lib-esm/components/bundle-assets-totals-table/bundle-assets-totals-table.stories.js +13 -19
  61. package/lib-esm/components/bundle-modules/bundle-modules.constants.js +17 -15
  62. package/lib-esm/components/bundle-modules/bundle-modules.js +112 -110
  63. package/lib-esm/components/bundle-modules/bundle-modules.stories.js +46 -58
  64. package/lib-esm/components/bundle-modules/bundle-modules.utils.js +98 -0
  65. package/lib-esm/components/bundle-modules/index.js +114 -3
  66. package/lib-esm/components/bundle-packages/bundle-packages.constants.js +17 -15
  67. package/lib-esm/components/bundle-packages/bundle-packages.js +71 -69
  68. package/lib-esm/components/bundle-packages/bundle-packages.stories.js +34 -46
  69. package/lib-esm/components/bundle-packages/bundle-packages.utils.js +44 -0
  70. package/lib-esm/components/bundle-packages/index.js +87 -2
  71. package/lib-esm/components/component-link.js +10 -13
  72. package/lib-esm/components/delta/delta.js +8 -6
  73. package/lib-esm/components/delta/delta.stories.js +26 -38
  74. package/lib-esm/components/duplicate-packages-warning/duplicate-packages-warning.js +11 -9
  75. package/lib-esm/components/duplicate-packages-warning/duplicate-packages-warning.stories.js +20 -26
  76. package/lib-esm/components/job-header/job-header.js +14 -11
  77. package/lib-esm/components/job-header/job-header.stories.js +12 -18
  78. package/lib-esm/components/job-meta/job-meta.js +15 -18
  79. package/lib-esm/components/job-meta/job-meta.stories.js +10 -12
  80. package/lib-esm/components/job-name/job-name.js +9 -12
  81. package/lib-esm/components/job-name/job-name.stories.js +15 -23
  82. package/lib-esm/components/jobs-header/jobs-header.js +12 -12
  83. package/lib-esm/components/jobs-header/jobs-header.stories.js +80 -86
  84. package/lib-esm/components/lighthouse-table/lighthouse-table.js +6 -4
  85. package/lib-esm/components/lighthouse-table/lighthouse-table.stories.js +10 -14
  86. package/lib-esm/components/metric/metric.js +15 -19
  87. package/lib-esm/components/metric/metric.stories.js +36 -58
  88. package/lib-esm/components/metrics-table/metrics-table.js +128 -139
  89. package/lib-esm/components/metrics-table/metrics-table.stories.js +27 -35
  90. package/lib-esm/components/metrics-table-options/metrics-table-options.js +16 -19
  91. package/lib-esm/components/metrics-table-options/metrics-table-options.stories.js +6 -12
  92. package/lib-esm/components/metrics-table-search/metrics-table-search.js +17 -18
  93. package/lib-esm/components/metrics-table-search/metrics-table-search.module.css +2 -1
  94. package/lib-esm/components/metrics-table-search/metrics-table-search.stories.js +4 -9
  95. package/lib-esm/components/metrics-table-title/metrics-table-title.js +9 -7
  96. package/lib-esm/components/module-info/module-info.js +15 -13
  97. package/lib-esm/components/module-info/module-info.stories.js +20 -22
  98. package/lib-esm/components/summary/summary.js +25 -27
  99. package/lib-esm/components/summary/summary.stories.js +31 -46
  100. package/lib-esm/components/summary-item/summary-item.js +27 -28
  101. package/lib-esm/components/summary-item/summary-item.stories.js +40 -50
  102. package/lib-esm/components/total-size-type-title/total-size-type-title.js +4 -2
  103. package/lib-esm/constants.js +25 -30
  104. package/lib-esm/hooks/rows-filter.js +20 -0
  105. package/lib-esm/hooks/rows-sort.js +22 -0
  106. package/lib-esm/hooks/search-params.js +170 -0
  107. package/lib-esm/layout/box/box.js +12 -19
  108. package/lib-esm/layout/box/box.stories.js +34 -46
  109. package/lib-esm/layout/flex-stack/flex-stack.js +9 -12
  110. package/lib-esm/layout/flex-stack/flex-stack.stories.js +39 -49
  111. package/lib-esm/layout/footer/footer.js +11 -11
  112. package/lib-esm/layout/footer/footer.stories.js +7 -11
  113. package/lib-esm/layout/header/header.js +10 -14
  114. package/lib-esm/layout/header/header.stories.js +50 -44
  115. package/lib-esm/layout/stack/stack.js +8 -6
  116. package/lib-esm/layout/stack/stack.stories.js +39 -49
  117. package/lib-esm/layout/sub-header/sub-header.js +14 -12
  118. package/lib-esm/layout/sub-header/sub-header.stories.js +57 -69
  119. package/lib-esm/prototypes/typography.stories.js +49 -58
  120. package/lib-esm/query-state.js +13 -16
  121. package/lib-esm/stories/wrapper.js +6 -12
  122. package/lib-esm/ui/alert/alert.js +6 -4
  123. package/lib-esm/ui/alert/alert.stories.js +14 -24
  124. package/lib-esm/ui/container/container.js +6 -9
  125. package/lib-esm/ui/container/container.stories.js +15 -17
  126. package/lib-esm/ui/dropdown/dropdown.js +13 -11
  127. package/lib-esm/ui/dropdown/dropdown.stories.js +22 -26
  128. package/lib-esm/ui/empty-set/empty-set.js +12 -12
  129. package/lib-esm/ui/empty-set/empty-set.stories.js +11 -19
  130. package/lib-esm/ui/file-name/file-name.js +6 -4
  131. package/lib-esm/ui/file-name/file-name.stories.js +12 -16
  132. package/lib-esm/ui/filters/filters.container.js +57 -76
  133. package/lib-esm/ui/filters/filters.js +71 -77
  134. package/lib-esm/ui/filters/filters.stories.js +82 -100
  135. package/lib-esm/ui/filters/filters.utils.js +26 -24
  136. package/lib-esm/ui/filters/index.js +1 -1
  137. package/lib-esm/ui/horizontal-bar-chart/horizontal-bar-chart.js +68 -78
  138. package/lib-esm/ui/horizontal-bar-chart/horizontal-bar-chart.stories.js +67 -77
  139. package/lib-esm/ui/icon/icon.js +13 -202
  140. package/lib-esm/ui/icon/icon.stories.js +16 -24
  141. package/lib-esm/ui/input/input.js +7 -10
  142. package/lib-esm/ui/input/input.stories.js +8 -12
  143. package/lib-esm/ui/loader/loader.js +6 -9
  144. package/lib-esm/ui/loader/loader.stories.js +5 -9
  145. package/lib-esm/ui/logo/logo.constants.js +6 -6
  146. package/lib-esm/ui/logo/logo.js +15 -15
  147. package/lib-esm/ui/logo/logo.stories.js +14 -22
  148. package/lib-esm/ui/panels/panels.js +13 -23
  149. package/lib-esm/ui/panels/panels.stories.js +14 -16
  150. package/lib-esm/ui/popover/popover.js +11 -9
  151. package/lib-esm/ui/popover/popover.stories.js +7 -11
  152. package/lib-esm/ui/skeleton/skeleton.js +6 -9
  153. package/lib-esm/ui/skeleton/skeleton.stories.js +2 -4
  154. package/lib-esm/ui/sort-dropdown/sort-dropdown.js +38 -38
  155. package/lib-esm/ui/sort-dropdown/sort-dropdown.stories.js +14 -16
  156. package/lib-esm/ui/table/table.js +26 -31
  157. package/lib-esm/ui/table/table.stories.js +84 -102
  158. package/lib-esm/ui/tabs/tabs.js +13 -21
  159. package/lib-esm/ui/tabs/tabs.stories.js +4 -6
  160. package/lib-esm/ui/toolbar/toolbar.js +7 -5
  161. package/lib-esm/ui/toolbar/toolbar.stories.js +14 -16
  162. package/lib-esm/ui/tooltip/tooltip.js +13 -16
  163. package/lib-esm/ui/tooltip/tooltip.stories.js +8 -12
  164. package/lib-esm/utils.js +20 -24
  165. package/package.json +25 -33
  166. package/src/assets/icons/arrow.svg +1 -0
  167. package/src/assets/icons/cancel.svg +1 -0
  168. package/src/assets/icons/clock.svg +1 -0
  169. package/src/assets/icons/close.svg +1 -0
  170. package/src/assets/icons/commit.svg +1 -0
  171. package/src/assets/icons/filter.svg +1 -0
  172. package/src/assets/icons/help.svg +1 -0
  173. package/src/assets/icons/menu.svg +1 -0
  174. package/src/{ui/icon/assets → assets/icons}/sort.svg +0 -0
  175. package/src/assets/icons/warning.svg +1 -0
  176. package/src/assets/icons.svg +1 -0
  177. package/src/components/bundle-assets/bundle-assets.jsx +3 -3
  178. package/src/components/bundle-assets/bundle-assets.utils.js +96 -17
  179. package/src/components/bundle-assets/index.jsx +89 -0
  180. package/src/components/bundle-modules/bundle-modules.jsx +3 -3
  181. package/src/components/bundle-modules/bundle-modules.utils.js +101 -0
  182. package/src/components/bundle-modules/index.jsx +107 -0
  183. package/src/components/bundle-packages/bundle-packages.jsx +3 -3
  184. package/src/components/bundle-packages/bundle-packages.utils.js +47 -0
  185. package/src/components/bundle-packages/index.jsx +84 -0
  186. package/src/components/metrics-table/metrics-table.jsx +2 -7
  187. package/src/components/metrics-table-search/metrics-table-search.jsx +1 -0
  188. package/src/components/metrics-table-search/metrics-table-search.module.css +2 -1
  189. package/src/hooks/rows-filter.js +16 -0
  190. package/src/hooks/rows-sort.js +24 -0
  191. package/src/hooks/search-params.js +153 -0
  192. package/src/ui/icon/icon.jsx +7 -42
  193. package/src/ui/sort-dropdown/sort-dropdown.jsx +11 -11
  194. package/src/utils.jsx +5 -3
  195. package/lib/components/bundle-assets/bundle-assets.container.js +0 -140
  196. package/lib/components/bundle-modules/bundle-modules.container.js +0 -222
  197. package/lib/hocs/with-custom-sort.js +0 -75
  198. package/lib/hocs/with-filtered-items.js +0 -54
  199. package/lib/ui/icon/assets/arrow.svg +0 -4
  200. package/lib/ui/icon/assets/branch.svg +0 -3
  201. package/lib/ui/icon/assets/cancel.svg +0 -4
  202. package/lib/ui/icon/assets/clock.svg +0 -3
  203. package/lib/ui/icon/assets/close.svg +0 -4
  204. package/lib/ui/icon/assets/commit.svg +0 -3
  205. package/lib/ui/icon/assets/filter.svg +0 -4
  206. package/lib/ui/icon/assets/help.svg +0 -4
  207. package/lib/ui/icon/assets/job.svg +0 -3
  208. package/lib/ui/icon/assets/menu.svg +0 -4
  209. package/lib/ui/icon/assets/package.svg +0 -3
  210. package/lib/ui/icon/assets/pull-request.svg +0 -3
  211. package/lib/ui/icon/assets/repository.svg +0 -3
  212. package/lib/ui/icon/assets/warning.svg +0 -4
  213. package/lib-esm/components/bundle-assets/bundle-assets.container.js +0 -119
  214. package/lib-esm/components/bundle-modules/bundle-modules.container.js +0 -175
  215. package/lib-esm/components/bundle-packages/bundle-packages.container.js +0 -91
  216. package/lib-esm/hocs/with-custom-sort.js +0 -43
  217. package/lib-esm/hocs/with-filtered-items.js +0 -35
  218. package/lib-esm/hocs/with-search.js +0 -214
  219. package/lib-esm/ui/icon/assets/arrow.svg +0 -4
  220. package/lib-esm/ui/icon/assets/branch.svg +0 -3
  221. package/lib-esm/ui/icon/assets/cancel.svg +0 -4
  222. package/lib-esm/ui/icon/assets/clock.svg +0 -3
  223. package/lib-esm/ui/icon/assets/close.svg +0 -4
  224. package/lib-esm/ui/icon/assets/commit.svg +0 -3
  225. package/lib-esm/ui/icon/assets/filter.svg +0 -4
  226. package/lib-esm/ui/icon/assets/help.svg +0 -4
  227. package/lib-esm/ui/icon/assets/job.svg +0 -3
  228. package/lib-esm/ui/icon/assets/menu.svg +0 -4
  229. package/lib-esm/ui/icon/assets/package.svg +0 -3
  230. package/lib-esm/ui/icon/assets/pull-request.svg +0 -3
  231. package/lib-esm/ui/icon/assets/repository.svg +0 -3
  232. package/lib-esm/ui/icon/assets/warning.svg +0 -4
  233. package/src/components/bundle-assets/bundle-assets.container.js +0 -146
  234. package/src/components/bundle-assets/index.js +0 -4
  235. package/src/components/bundle-modules/bundle-modules.container.js +0 -158
  236. package/src/components/bundle-modules/index.js +0 -4
  237. package/src/components/bundle-packages/bundle-packages.container.js +0 -93
  238. package/src/components/bundle-packages/index.js +0 -4
  239. package/src/hocs/with-custom-sort.jsx +0 -35
  240. package/src/hocs/with-filtered-items.jsx +0 -34
  241. package/src/hocs/with-search.jsx +0 -184
  242. package/src/ui/icon/assets/arrow.svg +0 -4
  243. package/src/ui/icon/assets/branch.svg +0 -3
  244. package/src/ui/icon/assets/cancel.svg +0 -4
  245. package/src/ui/icon/assets/clock.svg +0 -3
  246. package/src/ui/icon/assets/close.svg +0 -4
  247. package/src/ui/icon/assets/commit.svg +0 -3
  248. package/src/ui/icon/assets/filter.svg +0 -4
  249. package/src/ui/icon/assets/help.svg +0 -4
  250. package/src/ui/icon/assets/job.svg +0 -3
  251. package/src/ui/icon/assets/menu.svg +0 -4
  252. package/src/ui/icon/assets/package.svg +0 -3
  253. package/src/ui/icon/assets/pull-request.svg +0 -3
  254. package/src/ui/icon/assets/repository.svg +0 -3
  255. package/src/ui/icon/assets/warning.svg +0 -4
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useRowsSort = void 0;
7
+
8
+ var _orderBy2 = _interopRequireDefault(require("lodash/orderBy"));
9
+
10
+ var _react = require("react");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
14
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
15
+
16
+ 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."); }
17
+
18
+ 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); }
19
+
20
+ 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; }
21
+
22
+ 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; }
23
+
24
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
25
+
26
+ var useRowsSort = function useRowsSort(_ref) {
27
+ var rows = _ref.rows,
28
+ sortFields = _ref.sortFields,
29
+ _ref$sortBy = _ref.sortBy,
30
+ sortBy = _ref$sortBy === void 0 ? 'size' : _ref$sortBy,
31
+ _ref$sortDirection = _ref.sortDirection,
32
+ sortDirection = _ref$sortDirection === void 0 ? 'desc' : _ref$sortDirection,
33
+ getCustomSort = _ref.getCustomSort;
34
+
35
+ var _useState = (0, _react.useState)({
36
+ field: sortBy,
37
+ direction: sortDirection
38
+ }),
39
+ _useState2 = _slicedToArray(_useState, 2),
40
+ sort = _useState2[0],
41
+ updateSort = _useState2[1];
42
+
43
+ var orderedRows = (0, _react.useMemo)(function () {
44
+ return (0, _orderBy2["default"])(rows, getCustomSort(sort.field), sort.direction);
45
+ }, [rows, sort]);
46
+ return {
47
+ sortFields: sortFields,
48
+ sort: sort,
49
+ updateSort: updateSort,
50
+ items: orderedRows
51
+ };
52
+ };
53
+
54
+ exports.useRowsSort = useRowsSort;
@@ -1,30 +1,18 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
- exports.withSearch = exports.useSearch = exports.generateState = void 0;
9
-
10
- var _noop2 = _interopRequireDefault(require("lodash/noop"));
6
+ exports.useSearchParams = exports.generateState = void 0;
11
7
 
12
8
  var _merge2 = _interopRequireDefault(require("lodash/merge"));
13
9
 
14
10
  var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
15
11
 
16
- var _react = _interopRequireWildcard(require("react"));
17
-
18
- var _propTypes = _interopRequireDefault(require("prop-types"));
19
-
20
- 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); }
21
-
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; }
12
+ var _react = require("react");
23
13
 
24
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
25
15
 
26
- function _extends() { _extends = Object.assign || 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
16
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
29
17
 
30
18
  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."); }
@@ -145,13 +133,13 @@ var generateState = function generateState(filters, search) {
145
133
 
146
134
  exports.generateState = generateState;
147
135
 
148
- var useSearch = function useSearch(_ref2) {
149
- var setParentState = _ref2.setState,
150
- parentSearch = _ref2.search,
136
+ var useSearchParams = function useSearchParams(_ref2) {
137
+ var parentSearch = _ref2.search,
151
138
  parentFilters = _ref2.filters,
152
139
  defaultFilters = _ref2.defaultFilters,
153
- allEntriesFilters = _ref2.allEntriesFilters;
154
- // When we pass custom filters, set the other flags to true(allEntries)
140
+ allEntriesFilters = _ref2.allEntriesFilters,
141
+ setParentState = _ref2.setState;
142
+ // When we pass custom filters, set the other flags to true (allEntries)
155
143
  var initialFilters = parentFilters ? (0, _merge2["default"])({}, allEntriesFilters, parentFilters) : defaultFilters;
156
144
 
157
145
  var _useReducer = (0, _react.useReducer)(getSearchReducer({
@@ -167,7 +155,7 @@ var useSearch = function useSearch(_ref2) {
167
155
  dispatch = _useReducer2[1]; // Update state when the custom filters/search are changing - initial load or route updates
168
156
 
169
157
 
170
- (0, _react.useEffect)(function () {
158
+ (0, _react.useLayoutEffect)(function () {
171
159
  // Run a deep comparison to prevent circular setState triggering
172
160
  if (parentSearch === search || (0, _isEqual2["default"])(parentFilters, filters)) {
173
161
  return;
@@ -178,6 +166,8 @@ var useSearch = function useSearch(_ref2) {
178
166
  payload: generateState(initialFilters, parentSearch)
179
167
  });
180
168
  }, [search, filters, parentFilters, parentSearch]);
169
+ /** Callbacks */
170
+
181
171
  var handleUpdateSearch = (0, _react.useCallback)(function (newValue) {
182
172
  dispatch({
183
173
  type: ACTION_SET_SEARCH,
@@ -202,53 +192,14 @@ var useSearch = function useSearch(_ref2) {
202
192
  }, []);
203
193
  return {
204
194
  search: search,
205
- updateSearch: handleUpdateSearch,
206
195
  searchPattern: searchPattern,
196
+ filters: filters,
197
+ hasActiveFilters: !(0, _isEqual2["default"])(allEntriesFilters, filters),
198
+ updateSearch: handleUpdateSearch,
207
199
  updateFilters: handleUpdateFilters,
208
200
  resetFilters: handleResetFilters,
209
- resetAllFilters: handleResetAllFilters,
210
- filters: filters,
211
- hasActiveFilters: !(0, _isEqual2["default"])(allEntriesFilters, filters)
212
- };
213
- };
214
-
215
- exports.useSearch = useSearch;
216
-
217
- var withSearch = function withSearch() {
218
- return function (BaseComponent) {
219
- var WithSearch = function WithSearch(props) {
220
- var allEntriesFilters = props.allEntriesFilters,
221
- defaultFilters = props.defaultFilters,
222
- filters = props.filters,
223
- search = props.search,
224
- setState = props.setState;
225
- var searchProps = useSearch({
226
- search: search,
227
- filters: filters,
228
- setState: setState,
229
- defaultFilters: defaultFilters,
230
- allEntriesFilters: allEntriesFilters
231
- });
232
- return /*#__PURE__*/_react["default"].createElement(BaseComponent, _extends({}, props, searchProps));
233
- };
234
-
235
- WithSearch.defaultProps = {
236
- filters: null,
237
- setState: _noop2["default"],
238
- search: ''
239
- };
240
- WithSearch.propTypes = {
241
- allEntriesFilters: _propTypes["default"].object.isRequired,
242
- // eslint-disable-line react/forbid-prop-types
243
- defaultFilters: _propTypes["default"].object.isRequired,
244
- // eslint-disable-line react/forbid-prop-types
245
- filters: _propTypes["default"].object,
246
- // eslint-disable-line react/forbid-prop-types
247
- search: _propTypes["default"].string,
248
- setState: _propTypes["default"].func
249
- };
250
- return WithSearch;
201
+ resetAllFilters: handleResetAllFilters
251
202
  };
252
203
  };
253
204
 
254
- exports.withSearch = withSearch;
205
+ exports.useSearchParams = useSearchParams;
@@ -15,8 +15,6 @@ var _iconModule = _interopRequireDefault(require("./icon.module.css"));
15
15
 
16
16
  var _excluded = ["className", "glyph", "as", "size"];
17
17
 
18
- var _ICON_MAP;
19
-
20
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
19
 
22
20
  function _extends() { _extends = Object.assign || 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,191 +23,8 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
25
23
 
26
24
  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; }
27
25
 
28
- 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; }
29
-
30
- var ArrowIcon = function ArrowIcon(props) {
31
- return /*#__PURE__*/_react["default"].createElement("svg", props, /*#__PURE__*/_react["default"].createElement("path", {
32
- fill: "none",
33
- d: "M0 0h24v24H0V0z"
34
- }), /*#__PURE__*/_react["default"].createElement("path", {
35
- d: "M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"
36
- }));
37
- };
38
-
39
- ArrowIcon.defaultProps = {
40
- viewBox: "0 0 24 24",
41
- xmlns: "http://www.w3.org/2000/svg",
42
- fill: "currentColor"
43
- };
44
-
45
- var BranchIcon = function BranchIcon(props) {
46
- return /*#__PURE__*/_react["default"].createElement("svg", props, /*#__PURE__*/_react["default"].createElement("path", {
47
- d: "M512 192c-70.625 0-128 57.344-128 128 0 47.219 25.875 88.062 64 110.281V448s0 128-128 128c-53.062 0-94.656 11.375-128 28.812V302.281c38.156-22.219 64-63.062 64-110.281 0-70.656-57.344-128-128-128S0 121.344 0 192c0 47.219 25.844 88.062 64 110.281V721.75C25.844 743.938 0 784.75 0 832c0 70.625 57.344 128 128 128s128-57.375 128-128c0-33.5-13.188-63.75-34.25-86.625C240.375 722.5 270.656 704 320 704c254 0 256-256 256-256v-17.719c38.125-22.219 64-63.062 64-110.281 0-70.656-57.375-128-128-128zm-384-64c35.406 0 64 28.594 64 64s-28.594 64-64 64-64-28.594-64-64 28.594-64 64-64zm0 768c-35.406 0-64-28.625-64-64 0-35.312 28.594-64 64-64s64 28.688 64 64c0 35.375-28.594 64-64 64zm384-512c-35.375 0-64-28.594-64-64s28.625-64 64-64 64 28.594 64 64-28.625 64-64 64z"
48
- }));
49
- };
50
-
51
- BranchIcon.defaultProps = {
52
- viewBox: "0 0 640 1024",
53
- xmlns: "http://www.w3.org/2000/svg",
54
- fill: "currentColor"
55
- };
56
-
57
- var CancelIcon = function CancelIcon(props) {
58
- return /*#__PURE__*/_react["default"].createElement("svg", props, /*#__PURE__*/_react["default"].createElement("path", {
59
- d: "M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"
60
- }), /*#__PURE__*/_react["default"].createElement("path", {
61
- d: "M0 0h24v24H0z",
62
- fill: "none"
63
- }));
64
- };
65
-
66
- CancelIcon.defaultProps = {
67
- xmlns: "http://www.w3.org/2000/svg",
68
- height: "24",
69
- viewBox: "0 0 24 24",
70
- width: "24",
71
- fill: "currentColor"
72
- };
73
-
74
- var ClockIcon = function ClockIcon(props) {
75
- return /*#__PURE__*/_react["default"].createElement("svg", props, /*#__PURE__*/_react["default"].createElement("path", {
76
- fillRule: "evenodd",
77
- d: "M8 8h3v2H7c-.55 0-1-.45-1-1V4h2v4zM7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7z"
78
- }));
79
- };
80
-
81
- ClockIcon.defaultProps = {
82
- viewBox: "0 0 14 16",
83
- fill: "currentColor"
84
- };
85
-
86
- var CloseIcon = function CloseIcon(props) {
87
- return /*#__PURE__*/_react["default"].createElement("svg", props, /*#__PURE__*/_react["default"].createElement("path", {
88
- d: "M0 0h24v24H0z",
89
- fill: "none"
90
- }), /*#__PURE__*/_react["default"].createElement("path", {
91
- d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
92
- }));
93
- };
94
-
95
- CloseIcon.defaultProps = {
96
- xmlns: "http://www.w3.org/2000/svg",
97
- viewBox: "0 0 24 24",
98
- fill: "currentColor"
99
- };
100
-
101
- var CommitIcon = function CommitIcon(props) {
102
- return /*#__PURE__*/_react["default"].createElement("svg", props, /*#__PURE__*/_react["default"].createElement("path", {
103
- d: "M694.875 448C666.375 337.781 567.125 256 448 256c-119.094 0-218.375 81.781-246.906 192H0v128h201.094C229.625 686.25 328.906 768 448 768c119.125 0 218.375-81.75 246.875-192H896V448H694.875zM448 640c-70.656 0-128-57.375-128-128 0-70.656 57.344-128 128-128 70.625 0 128 57.344 128 128 0 70.625-57.375 128-128 128z"
104
- }));
105
- };
106
-
107
- CommitIcon.defaultProps = {
108
- viewBox: "0 0 896 1024",
109
- xmlns: "http://www.w3.org/2000/svg",
110
- fill: "currentColor"
111
- };
112
-
113
- var FilterIcon = function FilterIcon(props) {
114
- return /*#__PURE__*/_react["default"].createElement("svg", props, /*#__PURE__*/_react["default"].createElement("path", {
115
- d: "M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"
116
- }), /*#__PURE__*/_react["default"].createElement("path", {
117
- d: "M0 0h24v24H0z",
118
- fill: "none"
119
- }));
120
- };
121
-
122
- FilterIcon.defaultProps = {
123
- viewBox: "0 0 24 24",
124
- xmlns: "http://www.w3.org/2000/svg",
125
- fill: "currentColor"
126
- };
127
-
128
- var HelpIcon = function HelpIcon(props) {
129
- return /*#__PURE__*/_react["default"].createElement("svg", props, /*#__PURE__*/_react["default"].createElement("path", {
130
- d: "M0 0h24v24H0z",
131
- fill: "none"
132
- }), /*#__PURE__*/_react["default"].createElement("path", {
133
- d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z"
134
- }));
135
- };
136
-
137
- HelpIcon.defaultProps = {
138
- viewBox: "0 0 24 24",
139
- fill: "currentColor"
140
- };
141
-
142
- var MenuIcon = function MenuIcon(props) {
143
- return /*#__PURE__*/_react["default"].createElement("svg", props, /*#__PURE__*/_react["default"].createElement("path", {
144
- d: "M0 0h24v24H0z",
145
- fill: "none"
146
- }), /*#__PURE__*/_react["default"].createElement("path", {
147
- d: "M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"
148
- }));
149
- };
150
-
151
- MenuIcon.defaultProps = {
152
- viewBox: "0 0 24 24",
153
- xmlns: "http://www.w3.org/2000/svg",
154
- fill: "currentColor"
155
- };
156
-
157
- var PackageIcon = function PackageIcon(props) {
158
- return /*#__PURE__*/_react["default"].createElement("svg", props, /*#__PURE__*/_react["default"].createElement("path", {
159
- d: "M480 64L0 192v576l480 128 480-128V192L480 64zM63.875 720.934L63.5 288l384.498 102.533.001 432.833L63.875 720.934zM63.5 224l160.254-42.734L640 292.265v.135l-160 42.667L63.5 224zm832.625 496.934L512.001 823.366l.001-432.833L640 356.4v156l128-34.135V322.267L896.5 288l-.375 432.934zM768 258.267v-.125L351.734 147.138 480 112.934 896.5 224 768 258.267z"
160
- }));
161
- };
162
-
163
- PackageIcon.defaultProps = {
164
- viewBox: "0 0 1024 1024",
165
- xmlns: "http://www.w3.org/2000/svg",
166
- fill: "currentColor"
167
- };
168
-
169
- var PullRequestIcon = function PullRequestIcon(props) {
170
- return /*#__PURE__*/_react["default"].createElement("svg", props, /*#__PURE__*/_react["default"].createElement("path", {
171
- d: "M128 64C57.344 64 0 121.344 0 192c0 47.219 25.906 88.062 64 110.281V721.75C25.906 743.938 0 784.75 0 832c0 70.625 57.344 128 128 128s128-57.375 128-128c0-47.25-25.844-88.062-64-110.25V302.281c38.156-22.219 64-63.062 64-110.281 0-70.656-57.344-128-128-128zm0 832c-35.312 0-64-28.625-64-64 0-35.312 28.688-64 64-64 35.406 0 64 28.688 64 64 0 35.375-28.594 64-64 64zm0-640c-35.312 0-64-28.594-64-64s28.688-64 64-64c35.406 0 64 28.594 64 64s-28.594 64-64 64zm576 465.75V320c0-192.5-192-192-192-192h-64V0L256 192l192 192V256h64c56.438 0 64 64 64 64v401.75c-38.125 22.188-64 62.938-64 110.25 0 70.625 57.375 128 128 128s128-57.375 128-128c0-47.25-25.875-88.062-64-110.25zM640 896c-35.312 0-64-28.625-64-64 0-35.312 28.688-64 64-64 35.375 0 64 28.688 64 64 0 35.375-28.625 64-64 64z"
172
- }));
173
- };
174
-
175
- PullRequestIcon.defaultProps = {
176
- viewBox: "0 0 768 1024",
177
- xmlns: "http://www.w3.org/2000/svg",
178
- fill: "currentColor"
179
- };
180
-
181
- var SortIcon = function SortIcon(props) {
182
- return /*#__PURE__*/_react["default"].createElement("svg", props, /*#__PURE__*/_react["default"].createElement("path", {
183
- d: "M3 18h6v-2H3v2zM3 6v2h18V6H3zm0 7h12v-2H3v2z"
184
- }), /*#__PURE__*/_react["default"].createElement("path", {
185
- d: "M0 0h24v24H0z",
186
- fill: "none"
187
- }));
188
- };
189
-
190
- SortIcon.defaultProps = {
191
- viewBox: "0 0 24 24",
192
- xmlns: "http://www.w3.org/2000/svg",
193
- fill: "currentColor"
194
- };
195
-
196
- var WarningIcon = function WarningIcon(props) {
197
- return /*#__PURE__*/_react["default"].createElement("svg", props, /*#__PURE__*/_react["default"].createElement("path", {
198
- d: "M0 0h24v24H0z",
199
- fill: "none"
200
- }), /*#__PURE__*/_react["default"].createElement("path", {
201
- d: "M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"
202
- }));
203
- };
204
-
205
- WarningIcon.defaultProps = {
206
- viewBox: "0 0 24 24",
207
- xmlns: "http://www.w3.org/2000/svg",
208
- fill: "currentColor"
209
- };
210
26
  var ICONS = {
211
27
  ARROW: 'arrow',
212
- BRANCH: 'branch',
213
28
  CANCEL: 'cancel',
214
29
  CLOSE: 'close',
215
30
  CLOCK: 'clock',
@@ -217,12 +32,9 @@ var ICONS = {
217
32
  FILTER: 'filter',
218
33
  HELP: 'help',
219
34
  MENU: 'menu',
220
- PACKAGE: 'package',
221
- PR: 'pr',
222
35
  SORT: 'sort',
223
36
  WARNING: 'warning'
224
37
  };
225
- var ICON_MAP = (_ICON_MAP = {}, _defineProperty(_ICON_MAP, ICONS.ARROW, ArrowIcon), _defineProperty(_ICON_MAP, ICONS.BRANCH, BranchIcon), _defineProperty(_ICON_MAP, ICONS.CANCEL, CancelIcon), _defineProperty(_ICON_MAP, ICONS.CLOCK, ClockIcon), _defineProperty(_ICON_MAP, ICONS.CLOSE, CloseIcon), _defineProperty(_ICON_MAP, ICONS.COMMIT, CommitIcon), _defineProperty(_ICON_MAP, ICONS.FILTER, FilterIcon), _defineProperty(_ICON_MAP, ICONS.HELP, HelpIcon), _defineProperty(_ICON_MAP, ICONS.MENU, MenuIcon), _defineProperty(_ICON_MAP, ICONS.PACKAGE, PackageIcon), _defineProperty(_ICON_MAP, ICONS.PR, PullRequestIcon), _defineProperty(_ICON_MAP, ICONS.SORT, SortIcon), _defineProperty(_ICON_MAP, ICONS.WARNING, WarningIcon), _ICON_MAP);
226
38
 
227
39
  var Icon = function Icon(_ref) {
228
40
  var className = _ref.className,
@@ -231,12 +43,13 @@ var Icon = function Icon(_ref) {
231
43
  size = _ref.size,
232
44
  restProps = _objectWithoutProperties(_ref, _excluded);
233
45
 
234
- var Svg = typeof glyph === 'string' ? ICON_MAP[glyph] : glyph;
235
46
  return /*#__PURE__*/_react["default"].createElement(Component, _extends({
236
47
  className: (0, _classnames["default"])(_iconModule["default"].root, className, _iconModule["default"][size])
237
- }, restProps), /*#__PURE__*/_react["default"].createElement(Svg, {
48
+ }, restProps), /*#__PURE__*/_react["default"].createElement("svg", {
238
49
  className: _iconModule["default"].icon
239
- }));
50
+ }, /*#__PURE__*/_react["default"].createElement("use", {
51
+ xlinkHref: "#".concat(glyph)
52
+ })));
240
53
  };
241
54
 
242
55
  exports.Icon = Icon;
@@ -38,12 +38,12 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
38
38
  var SortDropdown = function SortDropdown(props) {
39
39
  var className = props.className,
40
40
  label = props.label,
41
- items = props.items,
42
- sortBy = props.sortBy,
41
+ fields = props.fields,
42
+ field = props.field,
43
43
  direction = props.direction,
44
44
  onChange = props.onChange;
45
45
  var rootClassName = (0, _classnames["default"])(_sortDropdownModule["default"].root, className);
46
- var customLabel = items[sortBy] ? "Ordered by ".concat(items[sortBy].label) : label;
46
+ var customLabel = fields[field] ? "Ordered by ".concat(fields[field].label) : label;
47
47
  return /*#__PURE__*/_react["default"].createElement(_dropdown.Dropdown, {
48
48
  className: rootClassName,
49
49
  label: customLabel,
@@ -55,10 +55,10 @@ var SortDropdown = function SortDropdown(props) {
55
55
  menuItemClassName = _ref.menuItemClassName,
56
56
  menuItemActiveClassName = _ref.menuItemActiveClassName;
57
57
 
58
- var getButtonOnClick = function getButtonOnClick(newSortBy, newDirection) {
58
+ var getButtonOnClick = function getButtonOnClick(newField, newDirection) {
59
59
  return function () {
60
60
  onChange({
61
- sortBy: newSortBy,
61
+ field: newField,
62
62
  direction: newDirection
63
63
  });
64
64
  menu.toggle();
@@ -67,25 +67,24 @@ var SortDropdown = function SortDropdown(props) {
67
67
 
68
68
  return /*#__PURE__*/_react["default"].createElement("div", {
69
69
  className: _sortDropdownModule["default"].items
70
- }, Object.entries(items).map(function (_ref2) {
70
+ }, Object.entries(fields).map(function (_ref2) {
71
71
  var _ref3 = _slicedToArray(_ref2, 2),
72
72
  key = _ref3[0],
73
73
  item = _ref3[1];
74
74
 
75
75
  var buttonProps = direction === 'asc' ? {
76
- className: (0, _classnames["default"])(_sortDropdownModule["default"].itemButton, _sortDropdownModule["default"].itemAsc),
76
+ className: _sortDropdownModule["default"].itemAsc,
77
77
  onClick: getButtonOnClick(key, 'desc'),
78
78
  title: "Order data by ".concat(item.label, " descending")
79
79
  } : {
80
- className: _sortDropdownModule["default"].itemButton,
81
80
  onClick: getButtonOnClick(key, 'asc'),
82
81
  title: "Order data by ".concat(item.label, " ascending")
83
82
  };
84
- var isActive = sortBy === key;
83
+ var isActive = field === key;
85
84
  return /*#__PURE__*/_react["default"].createElement(MenuItem, _extends({
86
85
  key: key
87
86
  }, menu, buttonProps, {
88
- className: (0, _classnames["default"])(menuItemClassName, _sortDropdownModule["default"].item, isActive && menuItemActiveClassName, isActive && _sortDropdownModule["default"].active)
87
+ className: (0, _classnames["default"])(buttonProps.className, menuItemClassName, _sortDropdownModule["default"].item, isActive && menuItemActiveClassName, isActive && _sortDropdownModule["default"].active)
89
88
  }), /*#__PURE__*/_react["default"].createElement("span", {
90
89
  className: _sortDropdownModule["default"].itemLabel
91
90
  }, item.label), /*#__PURE__*/_react["default"].createElement(_icon.Icon, {
@@ -101,14 +100,14 @@ SortDropdown.defaultProps = {
101
100
  className: '',
102
101
  label: 'Order by',
103
102
  onChange: function onChange() {},
104
- sortBy: '',
103
+ field: '',
105
104
  direction: 'asc'
106
105
  };
107
106
  SortDropdown.propTypes = {
108
107
  className: _propTypes["default"].string,
109
108
  label: _propTypes["default"].string,
110
- items: _propTypes["default"].shape(_defineProperty({}, _propTypes["default"].string, _propTypes["default"].string)).isRequired,
109
+ fields: _propTypes["default"].shape(_defineProperty({}, _propTypes["default"].string, _propTypes["default"].string)).isRequired,
111
110
  onChange: _propTypes["default"].func,
112
- sortBy: _propTypes["default"].string,
111
+ field: _propTypes["default"].string,
113
112
  direction: _propTypes["default"].string
114
113
  };
@@ -19,7 +19,7 @@ stories.add('default', function () {
19
19
  onChange: function onChange(state) {
20
20
  console.log(state); // eslint-disable-line no-console
21
21
  },
22
- items: {
22
+ fields: {
23
23
  filename: {
24
24
  label: 'Filename'
25
25
  },
@@ -27,6 +27,6 @@ stories.add('default', function () {
27
27
  label: 'Size'
28
28
  }
29
29
  },
30
- sortBy: "size"
30
+ field: "size"
31
31
  });
32
32
  });
package/lib/utils.js CHANGED
@@ -45,14 +45,17 @@ var getRenderChildWithClassName = function getRenderChildWithClassName(className
45
45
  return null;
46
46
  }
47
47
 
48
- if (!(child !== null && child !== void 0 && child.props)) {
48
+ var props = child.props;
49
+
50
+ if (!props) {
49
51
  return /*#__PURE__*/_react["default"].createElement("div", {
50
52
  className: className
51
53
  }, child);
52
54
  }
53
55
 
54
- return /*#__PURE__*/_react["default"].cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {
55
- className: (0, _classnames["default"])(className, child.props.className)
56
+ return /*#__PURE__*/_react["default"].cloneElement(child, _objectSpread(_objectSpread({}, props), {}, {
57
+ className: (0, _classnames["default"])(className, props.className) // eslint-disable-line react/prop-types
58
+
56
59
  }));
57
60
  };
58
61
  };