@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.
- package/.babelrc.js +3 -3
- package/CHANGELOG.md +20 -4
- package/lib/assets/icons/arrow.svg +1 -0
- package/lib/assets/icons/cancel.svg +1 -0
- package/lib/assets/icons/clock.svg +1 -0
- package/lib/assets/icons/close.svg +1 -0
- package/lib/assets/icons/commit.svg +1 -0
- package/lib/assets/icons/filter.svg +1 -0
- package/lib/assets/icons/help.svg +1 -0
- package/lib/assets/icons/menu.svg +1 -0
- package/lib/{ui/icon/assets → assets/icons}/sort.svg +0 -0
- package/lib/assets/icons/warning.svg +1 -0
- package/lib/assets/icons.svg +1 -0
- package/lib/components/bundle-assets/bundle-assets.js +3 -3
- package/lib/components/bundle-assets/bundle-assets.stories.js +19 -7
- package/lib/components/bundle-assets/bundle-assets.utils.js +95 -28
- package/lib/components/bundle-assets/index.js +115 -4
- package/lib/components/bundle-modules/bundle-modules.js +3 -3
- package/lib/components/bundle-modules/bundle-modules.utils.js +152 -0
- package/lib/components/bundle-modules/index.js +135 -4
- package/lib/components/bundle-packages/bundle-packages.js +3 -3
- package/lib/components/bundle-packages/{bundle-packages.container.js → bundle-packages.utils.js} +8 -42
- package/lib/components/bundle-packages/index.js +111 -3
- package/lib/components/metrics-table/metrics-table.js +3 -7
- package/lib/components/metrics-table-search/metrics-table-search.js +2 -1
- package/lib/components/metrics-table-search/metrics-table-search.module.css +2 -1
- package/lib/hooks/rows-filter.js +28 -0
- package/lib/hooks/rows-sort.js +54 -0
- package/lib/{hocs/with-search.js → hooks/search-params.js} +15 -64
- package/lib/ui/icon/icon.js +4 -191
- package/lib/ui/sort-dropdown/sort-dropdown.js +12 -13
- package/lib/ui/sort-dropdown/sort-dropdown.stories.js +2 -2
- package/lib/utils.js +6 -3
- package/lib-esm/app/app.js +60 -70
- package/lib-esm/app/app.stories.js +50 -71
- package/lib-esm/app/header/header.js +5 -3
- package/lib-esm/assets/icons/arrow.svg +1 -0
- package/lib-esm/assets/icons/cancel.svg +1 -0
- package/lib-esm/assets/icons/clock.svg +1 -0
- package/lib-esm/assets/icons/close.svg +1 -0
- package/lib-esm/assets/icons/commit.svg +1 -0
- package/lib-esm/assets/icons/filter.svg +1 -0
- package/lib-esm/assets/icons/help.svg +1 -0
- package/lib-esm/assets/icons/menu.svg +1 -0
- package/lib-esm/{ui/icon/assets → assets/icons}/sort.svg +0 -0
- package/lib-esm/assets/icons/warning.svg +1 -0
- package/lib-esm/assets/icons.svg +1 -0
- package/lib-esm/components/asset-info/asset-info.js +21 -17
- package/lib-esm/components/asset-info/asset-info.stories.js +29 -33
- package/lib-esm/components/browsertime-table/browsertime-table.js +6 -4
- package/lib-esm/components/browsertime-table/browsertime-table.stories.js +9 -13
- package/lib-esm/components/bundle-assets/bundle-assets.constants.js +17 -15
- package/lib-esm/components/bundle-assets/bundle-assets.js +107 -97
- package/lib-esm/components/bundle-assets/bundle-assets.stories.js +58 -63
- package/lib-esm/components/bundle-assets/bundle-assets.utils.js +65 -21
- package/lib-esm/components/bundle-assets/index.js +89 -2
- package/lib-esm/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js +49 -51
- package/lib-esm/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.stories.js +9 -13
- package/lib-esm/components/bundle-assets-totals-table/bundle-assets-totals-table.js +14 -13
- package/lib-esm/components/bundle-assets-totals-table/bundle-assets-totals-table.stories.js +13 -19
- package/lib-esm/components/bundle-modules/bundle-modules.constants.js +17 -15
- package/lib-esm/components/bundle-modules/bundle-modules.js +112 -110
- package/lib-esm/components/bundle-modules/bundle-modules.stories.js +46 -58
- package/lib-esm/components/bundle-modules/bundle-modules.utils.js +98 -0
- package/lib-esm/components/bundle-modules/index.js +114 -3
- package/lib-esm/components/bundle-packages/bundle-packages.constants.js +17 -15
- package/lib-esm/components/bundle-packages/bundle-packages.js +71 -69
- package/lib-esm/components/bundle-packages/bundle-packages.stories.js +34 -46
- package/lib-esm/components/bundle-packages/bundle-packages.utils.js +44 -0
- package/lib-esm/components/bundle-packages/index.js +87 -2
- package/lib-esm/components/component-link.js +10 -13
- package/lib-esm/components/delta/delta.js +8 -6
- package/lib-esm/components/delta/delta.stories.js +26 -38
- package/lib-esm/components/duplicate-packages-warning/duplicate-packages-warning.js +11 -9
- package/lib-esm/components/duplicate-packages-warning/duplicate-packages-warning.stories.js +20 -26
- package/lib-esm/components/job-header/job-header.js +14 -11
- package/lib-esm/components/job-header/job-header.stories.js +12 -18
- package/lib-esm/components/job-meta/job-meta.js +15 -18
- package/lib-esm/components/job-meta/job-meta.stories.js +10 -12
- package/lib-esm/components/job-name/job-name.js +9 -12
- package/lib-esm/components/job-name/job-name.stories.js +15 -23
- package/lib-esm/components/jobs-header/jobs-header.js +12 -12
- package/lib-esm/components/jobs-header/jobs-header.stories.js +80 -86
- package/lib-esm/components/lighthouse-table/lighthouse-table.js +6 -4
- package/lib-esm/components/lighthouse-table/lighthouse-table.stories.js +10 -14
- package/lib-esm/components/metric/metric.js +15 -19
- package/lib-esm/components/metric/metric.stories.js +36 -58
- package/lib-esm/components/metrics-table/metrics-table.js +128 -139
- package/lib-esm/components/metrics-table/metrics-table.stories.js +27 -35
- package/lib-esm/components/metrics-table-options/metrics-table-options.js +16 -19
- package/lib-esm/components/metrics-table-options/metrics-table-options.stories.js +6 -12
- package/lib-esm/components/metrics-table-search/metrics-table-search.js +17 -18
- package/lib-esm/components/metrics-table-search/metrics-table-search.module.css +2 -1
- package/lib-esm/components/metrics-table-search/metrics-table-search.stories.js +4 -9
- package/lib-esm/components/metrics-table-title/metrics-table-title.js +9 -7
- package/lib-esm/components/module-info/module-info.js +15 -13
- package/lib-esm/components/module-info/module-info.stories.js +20 -22
- package/lib-esm/components/summary/summary.js +25 -27
- package/lib-esm/components/summary/summary.stories.js +31 -46
- package/lib-esm/components/summary-item/summary-item.js +27 -28
- package/lib-esm/components/summary-item/summary-item.stories.js +40 -50
- package/lib-esm/components/total-size-type-title/total-size-type-title.js +4 -2
- package/lib-esm/constants.js +25 -30
- package/lib-esm/hooks/rows-filter.js +20 -0
- package/lib-esm/hooks/rows-sort.js +22 -0
- package/lib-esm/hooks/search-params.js +170 -0
- package/lib-esm/layout/box/box.js +12 -19
- package/lib-esm/layout/box/box.stories.js +34 -46
- package/lib-esm/layout/flex-stack/flex-stack.js +9 -12
- package/lib-esm/layout/flex-stack/flex-stack.stories.js +39 -49
- package/lib-esm/layout/footer/footer.js +11 -11
- package/lib-esm/layout/footer/footer.stories.js +7 -11
- package/lib-esm/layout/header/header.js +10 -14
- package/lib-esm/layout/header/header.stories.js +50 -44
- package/lib-esm/layout/stack/stack.js +8 -6
- package/lib-esm/layout/stack/stack.stories.js +39 -49
- package/lib-esm/layout/sub-header/sub-header.js +14 -12
- package/lib-esm/layout/sub-header/sub-header.stories.js +57 -69
- package/lib-esm/prototypes/typography.stories.js +49 -58
- package/lib-esm/query-state.js +13 -16
- package/lib-esm/stories/wrapper.js +6 -12
- package/lib-esm/ui/alert/alert.js +6 -4
- package/lib-esm/ui/alert/alert.stories.js +14 -24
- package/lib-esm/ui/container/container.js +6 -9
- package/lib-esm/ui/container/container.stories.js +15 -17
- package/lib-esm/ui/dropdown/dropdown.js +13 -11
- package/lib-esm/ui/dropdown/dropdown.stories.js +22 -26
- package/lib-esm/ui/empty-set/empty-set.js +12 -12
- package/lib-esm/ui/empty-set/empty-set.stories.js +11 -19
- package/lib-esm/ui/file-name/file-name.js +6 -4
- package/lib-esm/ui/file-name/file-name.stories.js +12 -16
- package/lib-esm/ui/filters/filters.container.js +57 -76
- package/lib-esm/ui/filters/filters.js +71 -77
- package/lib-esm/ui/filters/filters.stories.js +82 -100
- package/lib-esm/ui/filters/filters.utils.js +26 -24
- package/lib-esm/ui/filters/index.js +1 -1
- package/lib-esm/ui/horizontal-bar-chart/horizontal-bar-chart.js +68 -78
- package/lib-esm/ui/horizontal-bar-chart/horizontal-bar-chart.stories.js +67 -77
- package/lib-esm/ui/icon/icon.js +13 -202
- package/lib-esm/ui/icon/icon.stories.js +16 -24
- package/lib-esm/ui/input/input.js +7 -10
- package/lib-esm/ui/input/input.stories.js +8 -12
- package/lib-esm/ui/loader/loader.js +6 -9
- package/lib-esm/ui/loader/loader.stories.js +5 -9
- package/lib-esm/ui/logo/logo.constants.js +6 -6
- package/lib-esm/ui/logo/logo.js +15 -15
- package/lib-esm/ui/logo/logo.stories.js +14 -22
- package/lib-esm/ui/panels/panels.js +13 -23
- package/lib-esm/ui/panels/panels.stories.js +14 -16
- package/lib-esm/ui/popover/popover.js +11 -9
- package/lib-esm/ui/popover/popover.stories.js +7 -11
- package/lib-esm/ui/skeleton/skeleton.js +6 -9
- package/lib-esm/ui/skeleton/skeleton.stories.js +2 -4
- package/lib-esm/ui/sort-dropdown/sort-dropdown.js +38 -38
- package/lib-esm/ui/sort-dropdown/sort-dropdown.stories.js +14 -16
- package/lib-esm/ui/table/table.js +26 -31
- package/lib-esm/ui/table/table.stories.js +84 -102
- package/lib-esm/ui/tabs/tabs.js +13 -21
- package/lib-esm/ui/tabs/tabs.stories.js +4 -6
- package/lib-esm/ui/toolbar/toolbar.js +7 -5
- package/lib-esm/ui/toolbar/toolbar.stories.js +14 -16
- package/lib-esm/ui/tooltip/tooltip.js +13 -16
- package/lib-esm/ui/tooltip/tooltip.stories.js +8 -12
- package/lib-esm/utils.js +20 -24
- package/package.json +25 -33
- package/src/assets/icons/arrow.svg +1 -0
- package/src/assets/icons/cancel.svg +1 -0
- package/src/assets/icons/clock.svg +1 -0
- package/src/assets/icons/close.svg +1 -0
- package/src/assets/icons/commit.svg +1 -0
- package/src/assets/icons/filter.svg +1 -0
- package/src/assets/icons/help.svg +1 -0
- package/src/assets/icons/menu.svg +1 -0
- package/src/{ui/icon/assets → assets/icons}/sort.svg +0 -0
- package/src/assets/icons/warning.svg +1 -0
- package/src/assets/icons.svg +1 -0
- package/src/components/bundle-assets/bundle-assets.jsx +3 -3
- package/src/components/bundle-assets/bundle-assets.utils.js +96 -17
- package/src/components/bundle-assets/index.jsx +89 -0
- package/src/components/bundle-modules/bundle-modules.jsx +3 -3
- package/src/components/bundle-modules/bundle-modules.utils.js +101 -0
- package/src/components/bundle-modules/index.jsx +107 -0
- package/src/components/bundle-packages/bundle-packages.jsx +3 -3
- package/src/components/bundle-packages/bundle-packages.utils.js +47 -0
- package/src/components/bundle-packages/index.jsx +84 -0
- package/src/components/metrics-table/metrics-table.jsx +2 -7
- package/src/components/metrics-table-search/metrics-table-search.jsx +1 -0
- package/src/components/metrics-table-search/metrics-table-search.module.css +2 -1
- package/src/hooks/rows-filter.js +16 -0
- package/src/hooks/rows-sort.js +24 -0
- package/src/hooks/search-params.js +153 -0
- package/src/ui/icon/icon.jsx +7 -42
- package/src/ui/sort-dropdown/sort-dropdown.jsx +11 -11
- package/src/utils.jsx +5 -3
- package/lib/components/bundle-assets/bundle-assets.container.js +0 -140
- package/lib/components/bundle-modules/bundle-modules.container.js +0 -222
- package/lib/hocs/with-custom-sort.js +0 -75
- package/lib/hocs/with-filtered-items.js +0 -54
- package/lib/ui/icon/assets/arrow.svg +0 -4
- package/lib/ui/icon/assets/branch.svg +0 -3
- package/lib/ui/icon/assets/cancel.svg +0 -4
- package/lib/ui/icon/assets/clock.svg +0 -3
- package/lib/ui/icon/assets/close.svg +0 -4
- package/lib/ui/icon/assets/commit.svg +0 -3
- package/lib/ui/icon/assets/filter.svg +0 -4
- package/lib/ui/icon/assets/help.svg +0 -4
- package/lib/ui/icon/assets/job.svg +0 -3
- package/lib/ui/icon/assets/menu.svg +0 -4
- package/lib/ui/icon/assets/package.svg +0 -3
- package/lib/ui/icon/assets/pull-request.svg +0 -3
- package/lib/ui/icon/assets/repository.svg +0 -3
- package/lib/ui/icon/assets/warning.svg +0 -4
- package/lib-esm/components/bundle-assets/bundle-assets.container.js +0 -119
- package/lib-esm/components/bundle-modules/bundle-modules.container.js +0 -175
- package/lib-esm/components/bundle-packages/bundle-packages.container.js +0 -91
- package/lib-esm/hocs/with-custom-sort.js +0 -43
- package/lib-esm/hocs/with-filtered-items.js +0 -35
- package/lib-esm/hocs/with-search.js +0 -214
- package/lib-esm/ui/icon/assets/arrow.svg +0 -4
- package/lib-esm/ui/icon/assets/branch.svg +0 -3
- package/lib-esm/ui/icon/assets/cancel.svg +0 -4
- package/lib-esm/ui/icon/assets/clock.svg +0 -3
- package/lib-esm/ui/icon/assets/close.svg +0 -4
- package/lib-esm/ui/icon/assets/commit.svg +0 -3
- package/lib-esm/ui/icon/assets/filter.svg +0 -4
- package/lib-esm/ui/icon/assets/help.svg +0 -4
- package/lib-esm/ui/icon/assets/job.svg +0 -3
- package/lib-esm/ui/icon/assets/menu.svg +0 -4
- package/lib-esm/ui/icon/assets/package.svg +0 -3
- package/lib-esm/ui/icon/assets/pull-request.svg +0 -3
- package/lib-esm/ui/icon/assets/repository.svg +0 -3
- package/lib-esm/ui/icon/assets/warning.svg +0 -4
- package/src/components/bundle-assets/bundle-assets.container.js +0 -146
- package/src/components/bundle-assets/index.js +0 -4
- package/src/components/bundle-modules/bundle-modules.container.js +0 -158
- package/src/components/bundle-modules/index.js +0 -4
- package/src/components/bundle-packages/bundle-packages.container.js +0 -93
- package/src/components/bundle-packages/index.js +0 -4
- package/src/hocs/with-custom-sort.jsx +0 -35
- package/src/hocs/with-filtered-items.jsx +0 -34
- package/src/hocs/with-search.jsx +0 -184
- package/src/ui/icon/assets/arrow.svg +0 -4
- package/src/ui/icon/assets/branch.svg +0 -3
- package/src/ui/icon/assets/cancel.svg +0 -4
- package/src/ui/icon/assets/clock.svg +0 -3
- package/src/ui/icon/assets/close.svg +0 -4
- package/src/ui/icon/assets/commit.svg +0 -3
- package/src/ui/icon/assets/filter.svg +0 -4
- package/src/ui/icon/assets/help.svg +0 -4
- package/src/ui/icon/assets/job.svg +0 -3
- package/src/ui/icon/assets/menu.svg +0 -4
- package/src/ui/icon/assets/package.svg +0 -3
- package/src/ui/icon/assets/pull-request.svg +0 -3
- package/src/ui/icon/assets/repository.svg +0 -3
- 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.
|
|
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 =
|
|
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
|
|
149
|
-
var
|
|
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
|
-
|
|
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.
|
|
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.
|
|
205
|
+
exports.useSearchParams = useSearchParams;
|
package/lib/ui/icon/icon.js
CHANGED
|
@@ -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(
|
|
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
|
-
|
|
42
|
-
|
|
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 =
|
|
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(
|
|
58
|
+
var getButtonOnClick = function getButtonOnClick(newField, newDirection) {
|
|
59
59
|
return function () {
|
|
60
60
|
onChange({
|
|
61
|
-
|
|
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(
|
|
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:
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
109
|
+
fields: _propTypes["default"].shape(_defineProperty({}, _propTypes["default"].string, _propTypes["default"].string)).isRequired,
|
|
111
110
|
onChange: _propTypes["default"].func,
|
|
112
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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({},
|
|
55
|
-
className: (0, _classnames["default"])(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
|
};
|