@bundle-stats/ui 3.2.1-beta.7 → 3.2.2-beta.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 (63) hide show
  1. package/CHANGELOG.md +14 -3
  2. package/lib/app/app.stories.js +8 -1
  3. package/lib/assets/icons/arrow-right-circle.svg +1 -0
  4. package/lib/assets/icons/close.svg +1 -1
  5. package/lib/assets/icons.svg +42 -1
  6. package/lib/components/browsertime-table/browsertime-table.stories.js +1 -0
  7. package/lib/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js +17 -18
  8. package/lib/components/bundle-assets-totals-table/bundle-assets-totals-table.stories.js +39 -43
  9. package/lib/components/job-meta/job-meta.js +1 -1
  10. package/lib/components/summary/summary.js +13 -22
  11. package/lib/components/summary/summary.module.css +31 -14
  12. package/lib/components/summary-item/summary-item.js +9 -9
  13. package/lib/components/summary-item/summary-item.module.css +3 -9
  14. package/lib/components/summary-item/summary-item.stories.js +35 -18
  15. package/lib/css/variables.css +15 -11
  16. package/lib/hooks/search-params.js +1 -1
  17. package/lib/layout/box/box.js +2 -2
  18. package/lib/layout/stack/stack.js +13 -3
  19. package/lib/ui/icon/icon.js +1 -0
  20. package/lib/ui/icon/icon.stories.js +40 -22
  21. package/lib/ui/popover/popover.js +2 -2
  22. package/lib/ui/popover/popover.module.css +2 -1
  23. package/lib/ui/tooltip/tooltip.module.css +1 -0
  24. package/lib-esm/app/app.stories.js +8 -1
  25. package/lib-esm/assets/icons/arrow-right-circle.svg +1 -0
  26. package/lib-esm/assets/icons/close.svg +1 -1
  27. package/lib-esm/assets/icons.svg +42 -1
  28. package/lib-esm/components/browsertime-table/browsertime-table.stories.js +2 -1
  29. package/lib-esm/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js +14 -14
  30. package/lib-esm/components/bundle-assets-totals-table/bundle-assets-totals-table.stories.js +28 -21
  31. package/lib-esm/components/job-meta/job-meta.js +1 -1
  32. package/lib-esm/components/summary/summary.js +12 -17
  33. package/lib-esm/components/summary/summary.module.css +31 -14
  34. package/lib-esm/components/summary-item/summary-item.js +9 -9
  35. package/lib-esm/components/summary-item/summary-item.module.css +3 -9
  36. package/lib-esm/components/summary-item/summary-item.stories.js +14 -16
  37. package/lib-esm/css/variables.css +15 -11
  38. package/lib-esm/hooks/search-params.js +1 -1
  39. package/lib-esm/layout/box/box.js +2 -2
  40. package/lib-esm/layout/stack/stack.js +6 -3
  41. package/lib-esm/ui/icon/icon.js +1 -0
  42. package/lib-esm/ui/icon/icon.stories.js +22 -11
  43. package/lib-esm/ui/popover/popover.js +2 -2
  44. package/lib-esm/ui/popover/popover.module.css +2 -1
  45. package/lib-esm/ui/tooltip/tooltip.module.css +1 -0
  46. package/package.json +15 -13
  47. package/src/assets/icons/arrow-right-circle.svg +1 -0
  48. package/src/assets/icons/close.svg +1 -1
  49. package/src/assets/icons.svg +42 -1
  50. package/src/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.jsx +15 -15
  51. package/src/components/job-meta/job-meta.jsx +1 -3
  52. package/src/components/summary/summary.jsx +19 -22
  53. package/src/components/summary/summary.module.css +31 -14
  54. package/src/components/summary-item/summary-item.jsx +13 -22
  55. package/src/components/summary-item/summary-item.module.css +3 -9
  56. package/src/css/variables.css +15 -11
  57. package/src/hooks/search-params.js +1 -1
  58. package/src/layout/box/box.jsx +1 -1
  59. package/src/layout/stack/stack.jsx +2 -2
  60. package/src/ui/icon/icon.jsx +1 -0
  61. package/src/ui/popover/popover.jsx +3 -3
  62. package/src/ui/popover/popover.module.css +2 -1
  63. package/src/ui/tooltip/tooltip.module.css +1 -0
package/CHANGELOG.md CHANGED
@@ -3,21 +3,32 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ## [3.2.1-beta.7](https://github.com/relative-ci/bundle-stats/compare/v3.2.1-beta.6...v3.2.1-beta.7) (2021-11-21)
6
+ ## [3.2.2-beta.0](https://github.com/relative-ci/bundle-stats/compare/v3.2.1...v3.2.2-beta.0) (2021-12-08)
7
7
 
8
- **Note:** Version bump only for package @bundle-stats/ui
8
+
9
+ ### Bug Fixes
10
+
11
+ * **ui:** Icons sprite - no prefix ([b0cd04f](https://github.com/relative-ci/bundle-stats/commit/b0cd04f7f11b9a76cc98d6edf0b306ba2d89ea1b))
12
+ * **ui:** SummaryItem - remove unused styles ([f9cb800](https://github.com/relative-ci/bundle-stats/commit/f9cb800515aa943b6e932f056fbd8a8887b00791))
13
+
14
+
15
+ ### Features
16
+
17
+ * **ui:** Icon - add arrow-right-circle ([4c58204](https://github.com/relative-ci/bundle-stats/commit/4c582045fb4aa25c717204a8eafb562679266583))
18
+ * **ui:** Summary - use read more icon to navigate ([71578bd](https://github.com/relative-ci/bundle-stats/commit/71578bd0679504d7290087368ce592e8ad81036e))
9
19
 
10
20
 
11
21
 
12
22
 
13
23
 
14
- ## [3.2.1-beta.6](https://github.com/relative-ci/bundle-stats/compare/v3.2.0...v3.2.1-beta.6) (2021-11-21)
24
+ ## [3.2.1](https://github.com/relative-ci/bundle-stats/compare/v3.2.0...v3.2.1) (2021-11-23)
15
25
 
16
26
 
17
27
  ### Bug Fixes
18
28
 
19
29
  * **ui:** Regenerate package-lock.json ([8632b07](https://github.com/relative-ci/bundle-stats/commit/8632b072ffc240a1961056c08c165fbf1d986fc8))
20
30
  * **ui:** Remove unused icons ([8c337da](https://github.com/relative-ci/bundle-stats/commit/8c337da68a9628d9ef4c9d27f11747b0bc548f29))
31
+ * **ui:** Stack - past rest props ([fb3bea5](https://github.com/relative-ci/bundle-stats/commit/fb3bea55941aeb7cf3b6aa0dc43c33d40e0cfca2))
21
32
 
22
33
 
23
34
 
@@ -44,7 +44,14 @@ var BASELINE_SOURCE = {
44
44
  hash: _jobBaseline["default"].hash
45
45
  }, _jobBaseline["default"].rawData.webpack)
46
46
  };
47
- var JOBS = (0, _utils.createJobs)([CURRENT_SOURCE, BASELINE_SOURCE]);
47
+ var JOBS = (0, _utils.createJobs)([CURRENT_SOURCE, BASELINE_SOURCE], {
48
+ webpack: {
49
+ budgets: [{
50
+ metric: 'totalSizeByTypeALL',
51
+ value: 1024 * 1024
52
+ }]
53
+ }
54
+ });
48
55
  var NO_BASELINE_JOBS = (0, _utils.createJobs)([CURRENT_SOURCE]);
49
56
  var MULTIPLE_JOBS = (0, _utils.createJobs)([CURRENT_SOURCE, BASELINE_SOURCE, {
50
57
  webpack: _objectSpread(_objectSpread({
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-right-circle"><circle cx="12" cy="12" r="10"></circle><polyline points="12 16 16 12 12 8"></polyline><line x1="8" y1="12" x2="16" y2="12"></line></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-x"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-x-circle"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>
@@ -1 +1,42 @@
1
- <svg width="16" height="16"><symbol viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="afeather afeather-arrow-down" id="arrow" xmlns="http://www.w3.org/2000/svg"><path d="M12 5v14M19 12l-7 7-7-7"/></symbol><symbol viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="bfeather bfeather-x-circle" id="cancel" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="10"/><path d="M15 9l-6 6M9 9l6 6"/></symbol><symbol viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="cfeather cfeather-clock" id="clock" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="10"/><path d="M12 6v6l4 2"/></symbol><symbol viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="dfeather dfeather-x" id="close" xmlns="http://www.w3.org/2000/svg"><path d="M18 6L6 18M6 6l12 12"/></symbol><symbol viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="efeather efeather-git-commit" id="commit" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="4"/><path d="M1.05 12H7M17.01 12h5.95"/></symbol><symbol viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="ffeather ffeather-bar-chart" id="filter" xmlns="http://www.w3.org/2000/svg"><path d="M12 20V10M18 20V4M6 20v-4"/></symbol><symbol viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="gfeather gfeather-help-circle" id="help" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="10"/><path d="M9.09 9a3 3 0 015.83 1c0 2-3 3-3 3M12 17h.01"/></symbol><symbol viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="hfeather hfeather-menu" id="menu" xmlns="http://www.w3.org/2000/svg"><path d="M3 12h18M3 6h18M3 18h18"/></symbol><symbol viewBox="0 0 24 24" fill="currentColor" id="sort" xmlns="http://www.w3.org/2000/svg"><path d="M3 18h6v-2H3v2zM3 6v2h18V6H3zm0 7h12v-2H3v2z"/><path d="M0 0h24v24H0z" fill="none"/></symbol><symbol viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="jfeather jfeather-alert-triangle" id="warning" xmlns="http://www.w3.org/2000/svg"><path d="M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0zM12 9v4M12 17h.01"/></symbol></svg>
1
+ <svg width="16" height="16">
2
+ <symbol viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-down" id="arrow" xmlns="http://www.w3.org/2000/svg">
3
+ <path d="M12 5v14M19 12l-7 7-7-7"/>
4
+ </symbol>
5
+ <symbol fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-right-circle" viewBox="0 0 24 24" id="arrow-right-circle" xmlns="http://www.w3.org/2000/svg">
6
+ <circle cx="12" cy="12" r="10"/>
7
+ <path d="M12 16l4-4-4-4M8 12h8"/>
8
+ </symbol>
9
+ <symbol viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-x-circle" id="cancel" xmlns="http://www.w3.org/2000/svg">
10
+ <circle cx="12" cy="12" r="10"/>
11
+ <path d="M15 9l-6 6M9 9l6 6"/>
12
+ </symbol>
13
+ <symbol viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-clock" id="clock" xmlns="http://www.w3.org/2000/svg">
14
+ <circle cx="12" cy="12" r="10"/>
15
+ <path d="M12 6v6l4 2"/>
16
+ </symbol>
17
+ <symbol fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-x-circle" viewBox="0 0 24 24" id="close" xmlns="http://www.w3.org/2000/svg">
18
+ <circle cx="12" cy="12" r="10"/>
19
+ <path d="M15 9l-6 6M9 9l6 6"/>
20
+ </symbol>
21
+ <symbol viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-git-commit" id="commit" xmlns="http://www.w3.org/2000/svg">
22
+ <circle cx="12" cy="12" r="4"/>
23
+ <path d="M1.05 12H7M17.01 12h5.95"/>
24
+ </symbol>
25
+ <symbol viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-bar-chart" id="filter" xmlns="http://www.w3.org/2000/svg">
26
+ <path d="M12 20V10M18 20V4M6 20v-4"/>
27
+ </symbol>
28
+ <symbol viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-help-circle" id="help" xmlns="http://www.w3.org/2000/svg">
29
+ <circle cx="12" cy="12" r="10"/>
30
+ <path d="M9.09 9a3 3 0 015.83 1c0 2-3 3-3 3M12 17h.01"/>
31
+ </symbol>
32
+ <symbol viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-menu" id="menu" xmlns="http://www.w3.org/2000/svg">
33
+ <path d="M3 12h18M3 6h18M3 18h18"/>
34
+ </symbol>
35
+ <symbol viewBox="0 0 24 24" fill="currentColor" id="sort" xmlns="http://www.w3.org/2000/svg">
36
+ <path d="M3 18h6v-2H3v2zM3 6v2h18V6H3zm0 7h12v-2H3v2z"/>
37
+ <path d="M0 0h24v24H0z" fill="none"/>
38
+ </symbol>
39
+ <symbol viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-alert-triangle" id="warning" xmlns="http://www.w3.org/2000/svg">
40
+ <path d="M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0zM12 9v4M12 17h.01"/>
41
+ </symbol>
42
+ </svg>
@@ -22,6 +22,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
22
22
 
23
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
24
24
 
25
+ // eslint-disable-next-line import/no-relative-packages
25
26
  var browsertimeFixtures = browsertime.filter(_browsertime2["default"]);
26
27
  var JOBS = (0, _utils.createJobs)([{
27
28
  browsertime: browsertimeFixtures
@@ -59,6 +59,22 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
59
59
 
60
60
  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; }
61
61
 
62
+ var getTooltip = function getTooltip(items, jobs, itemIndex, runIndex) {
63
+ return function () {
64
+ return /*#__PURE__*/_react["default"].createElement(_summaryItem.SummaryItem, {
65
+ className: _bundleAssetsTotalsChartBarsModule["default"].itemTooltip,
66
+ id: (0, _get2["default"])(items, [itemIndex, 'key']),
67
+ data: {
68
+ current: (0, _get2["default"])(items, [itemIndex, 'runs', runIndex, 'value'], 0),
69
+ baseline: (0, _get2["default"])(items, [itemIndex, 'runs', runIndex + 1, 'value'], 0)
70
+ },
71
+ showDelta: runIndex < jobs.length - 1,
72
+ showBaselineValue: runIndex < jobs.length - 1,
73
+ size: "large"
74
+ });
75
+ };
76
+ };
77
+
62
78
  var BundleAssetsTotalsChartBars = function BundleAssetsTotalsChartBars(_ref) {
63
79
  var className = _ref.className,
64
80
  jobs = _ref.jobs,
@@ -88,23 +104,6 @@ var BundleAssetsTotalsChartBars = function BundleAssetsTotalsChartBars(_ref) {
88
104
  var colors = (0, _utils2.getColors)((0, _max2["default"])((0, _map2["default"])(dataGraphs, function (values) {
89
105
  return values.length;
90
106
  })));
91
-
92
- var getTooltip = function getTooltip(itemIndex, runIndex) {
93
- return function () {
94
- return /*#__PURE__*/_react["default"].createElement(_summaryItem.SummaryItem, {
95
- className: _bundleAssetsTotalsChartBarsModule["default"].itemTooltip,
96
- id: (0, _get2["default"])(items, [itemIndex, 'key']),
97
- data: {
98
- current: (0, _get2["default"])(items, [itemIndex, 'runs', runIndex, 'value'], 0),
99
- baseline: (0, _get2["default"])(items, [itemIndex, 'runs', runIndex + 1, 'value'], 0)
100
- },
101
- showDelta: runIndex < jobs.length - 1,
102
- showBaselineValue: runIndex < jobs.length - 1,
103
- size: "large"
104
- });
105
- };
106
- };
107
-
108
107
  return /*#__PURE__*/_react["default"].createElement(_stack.Stack, {
109
108
  className: rootClassName,
110
109
  space: "medium"
@@ -115,7 +114,7 @@ var BundleAssetsTotalsChartBars = function BundleAssetsTotalsChartBars(_ref) {
115
114
  value: value,
116
115
  color: colors[valueIndex],
117
116
  label: labels[valueIndex],
118
- getItemTooltip: getTooltip(valueIndex, runIndex)
117
+ getItemTooltip: getTooltip(items, jobs, valueIndex, runIndex)
119
118
  };
120
119
  });
121
120
  return /*#__PURE__*/_react["default"].createElement("div", {
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
2
 
3
- var _react = _interopRequireDefault(require("react"));
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.SingleJob = exports.MultipleJobs = exports.EmptyBaseline = void 0;
4
7
 
5
- var _react2 = require("@storybook/react");
8
+ var _react = _interopRequireDefault(require("react"));
6
9
 
7
10
  var _utils = require("@bundle-stats/utils");
8
11
 
@@ -16,44 +19,37 @@ var _ = require(".");
16
19
 
17
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
18
21
 
19
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
20
-
21
- 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."); }
22
-
23
- 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); }
24
-
25
- 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; }
26
-
27
- 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; }
28
-
29
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
30
-
31
- var JOBS = (0, _utils.createJobs)([{
32
- webpack: _webpackStatsCurrent["default"]
33
- }, {
34
- webpack: _webpackStatsBaseline["default"]
35
- }]);
36
-
37
- var _JOBS = _slicedToArray(JOBS, 1),
38
- currentJob = _JOBS[0];
39
-
40
- var stories = (0, _react2.storiesOf)('Components/BundleAssetsTotalsTable', module);
41
- stories.addDecorator((0, _stories.getWrapperDecorator)());
42
- stories.add('default', function () {
43
- return /*#__PURE__*/_react["default"].createElement(_.BundleAssetsTotalsTable, {
44
- jobs: [currentJob]
45
- });
46
- });
47
- stories.add('multiple jobs', function () {
48
- return /*#__PURE__*/_react["default"].createElement(_.BundleAssetsTotalsTable, {
49
- jobs: JOBS
50
- });
51
- });
52
- var JOBS_EMPTY_BASELINE = (0, _utils.createJobs)([{
53
- webpack: _webpackStatsCurrent["default"]
54
- }, null]);
55
- stories.add('empty baseline', function () {
56
- return /*#__PURE__*/_react["default"].createElement(_.BundleAssetsTotalsTable, {
57
- jobs: JOBS_EMPTY_BASELINE
58
- });
59
- });
22
+ var _default = {
23
+ title: 'Components/BundleAssetsTotalsTable',
24
+ component: _.BundleAssetsTotalsTable,
25
+ decorators: [(0, _stories.getWrapperDecorator)()]
26
+ };
27
+ exports["default"] = _default;
28
+
29
+ var Template = function Template(args) {
30
+ return /*#__PURE__*/_react["default"].createElement(_.BundleAssetsTotalsTable, args);
31
+ };
32
+
33
+ var SingleJob = Template.bind();
34
+ exports.SingleJob = SingleJob;
35
+ SingleJob.args = {
36
+ jobs: (0, _utils.createJobs)([{
37
+ webpack: _webpackStatsCurrent["default"]
38
+ }])
39
+ };
40
+ var MultipleJobs = Template.bind();
41
+ exports.MultipleJobs = MultipleJobs;
42
+ MultipleJobs.args = {
43
+ jobs: (0, _utils.createJobs)([{
44
+ webpack: _webpackStatsCurrent["default"]
45
+ }, {
46
+ webpack: _webpackStatsBaseline["default"]
47
+ }])
48
+ };
49
+ var EmptyBaseline = Template.bind();
50
+ exports.EmptyBaseline = EmptyBaseline;
51
+ EmptyBaseline.args = {
52
+ jobs: (0, _utils.createJobs)([{
53
+ webpack: _webpackStatsCurrent["default"]
54
+ }, null])
55
+ };
@@ -42,7 +42,7 @@ var JobMeta = function JobMeta(props) {
42
42
  }, title && /*#__PURE__*/_react["default"].createElement("h2", {
43
43
  className: _jobMetaModule["default"].itemTitle
44
44
  }, title), content.map(function (item) {
45
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, item);
45
+ return item;
46
46
  }));
47
47
  }));
48
48
  };
@@ -17,6 +17,8 @@ var _utils = require("@bundle-stats/utils");
17
17
 
18
18
  var _constants = require("../../constants");
19
19
 
20
+ var _icon = require("../../ui/icon");
21
+
20
22
  var _box = require("../../layout/box");
21
23
 
22
24
  var _flexStack = require("../../layout/flex-stack");
@@ -27,18 +29,12 @@ var _summaryItem = require("../summary-item");
27
29
 
28
30
  var _summaryModule = _interopRequireDefault(require("./summary.module.css"));
29
31
 
30
- var _excluded = ["className"];
31
-
32
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
33
33
 
34
34
  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; }
35
35
 
36
36
  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); }
37
37
 
38
- 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; }
39
-
40
- 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; }
41
-
42
38
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
43
39
 
44
40
  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."); }
@@ -74,27 +70,22 @@ var Summary = function Summary(_ref) {
74
70
  metricId = _ref5[0],
75
71
  metricOptions = _ref5[1];
76
72
 
77
- return /*#__PURE__*/_react["default"].createElement(_summaryItem.SummaryItem, {
78
- as: function as(_ref6) {
79
- var itemClassName = _ref6.className,
80
- itemProps = _objectWithoutProperties(_ref6, _excluded);
81
-
82
- return /*#__PURE__*/_react["default"].createElement(_box.Box, _extends({
83
- padding: ['xsmall', 'small'],
84
- className: (0, _classnames["default"])(itemClassName, _summaryModule["default"].summaryItemLink)
85
- }, itemProps, {
86
- as: SummaryItemCustomLink
87
- }, metricOptions.link));
88
- },
89
- size: size,
73
+ return /*#__PURE__*/_react["default"].createElement("div", {
90
74
  key: metricId,
75
+ className: _summaryModule["default"].item
76
+ }, /*#__PURE__*/_react["default"].createElement(_summaryItem.SummaryItem, {
77
+ size: size,
91
78
  id: metricId,
92
79
  data: (0, _get2["default"])(data, metricId),
93
80
  loading: loading,
94
81
  showMetricDescription: true,
95
- showDelta: showSummaryItemDelta && metricOptions.showDelta !== false,
96
- className: _summaryModule["default"].item
97
- });
82
+ showDelta: showSummaryItemDelta && metricOptions.showDelta !== false
83
+ }), !loading && /*#__PURE__*/_react["default"].createElement(SummaryItemCustomLink, _extends({}, metricOptions.link, {
84
+ className: _summaryModule["default"].readMore
85
+ }), /*#__PURE__*/_react["default"].createElement(_icon.Icon, {
86
+ className: _summaryModule["default"].readMoreIcon,
87
+ glyph: _icon.Icon.ICONS.ARROW_RIGHT_CIRLCE
88
+ })));
98
89
  })));
99
90
  };
100
91
 
@@ -3,35 +3,52 @@
3
3
  overflow: auto;
4
4
  }
5
5
 
6
- .items {}
7
-
8
6
  .item {
7
+ padding: var(--space-small) var(--space-xxlarge) var(--space-small) var(--space-small);
9
8
  flex: 1 0 25%; /* force equal sizes */
10
9
  position: relative;
11
10
  z-index: 1;
12
11
  }
13
12
 
14
- .item:focus-visible {
15
- background: var(--color-highlight);
16
- outline: none;
17
- }
18
-
19
13
  .item::before {
20
14
  content: '';
21
15
  display: block;
22
16
  width: 1px;
23
17
  position: absolute;
24
18
  left: -1px;
25
- top: var(--space-xsmall);
26
- bottom: var(--space-xsmall);
19
+ top: var(--space-small);
20
+ bottom: var(--space-small);
27
21
  background: var(--color-outline);
28
22
  }
29
23
 
30
- .item:hover {
31
- background: var(--color-highlight);
24
+ .readMore {
25
+ display: block;
26
+ position: absolute;
27
+ right: 0;
28
+ bottom: 0;
29
+ padding: var(--space-small);
30
+ color: var(--color-text-ultra-light);
31
+ transition: var(--transition-out);
32
+ }
33
+
34
+ .readMore:hover,
35
+ .readMore:focus {
36
+ color: var(--color-primary);
37
+ transition: var(--transition-in);
38
+ }
39
+
40
+ .readMoreIcon {
41
+ display: block;
42
+ }
43
+
44
+ /** hover state */
45
+ .readMore {
46
+ opacity: 0;
32
47
  }
33
48
 
34
- .summaryItemLink {
35
- color: inherit;
36
- text-decoration: none;
49
+ .item:hover .readMore,
50
+ .item:active .readMore,
51
+ .item:focus .readMore {
52
+ opacity: 1;
53
+ transition: var(--transition-in);
37
54
  }
@@ -37,7 +37,7 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
37
37
 
38
38
  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; }
39
39
 
40
- var MetricInfo = function MetricInfo(_ref) {
40
+ var MetricInfoPopover = function MetricInfoPopover(_ref) {
41
41
  var description = _ref.description,
42
42
  url = _ref.url;
43
43
 
@@ -55,11 +55,11 @@ var MetricInfo = function MetricInfo(_ref) {
55
55
  }, "Read more")));
56
56
  };
57
57
 
58
- MetricInfo.propTypes = {
58
+ MetricInfoPopover.propTypes = {
59
59
  description: _propTypes["default"].string.isRequired,
60
60
  url: _propTypes["default"].string
61
61
  };
62
- MetricInfo.defaultProps = {
62
+ MetricInfoPopover.defaultProps = {
63
63
  url: ''
64
64
  };
65
65
 
@@ -84,7 +84,7 @@ var SummaryItem = function SummaryItem(_ref2) {
84
84
  var metric = (0, _utils.getGlobalMetricType)(id);
85
85
  var runInfo = (0, _utils.getMetricRunInfo)(metric, current, baseline);
86
86
  var showMetricDescriptionTooltip = showMetricDescription && (metric === null || metric === void 0 ? void 0 : metric.description);
87
- var rootClassName = (0, _classnames["default"])(_summaryItemModule["default"].root, className, _summaryItemModule["default"][size], showMetricDescription && _summaryItemModule["default"].showMetricDescription, showMetricDescriptionTooltip && _summaryItemModule["default"].showMetricDescription, showDelta && _summaryItemModule["default"].showDelta);
87
+ var rootClassName = (0, _classnames["default"])(_summaryItemModule["default"].root, className, _summaryItemModule["default"][size], showDelta && _summaryItemModule["default"].showDelta);
88
88
  return /*#__PURE__*/_react["default"].createElement(_stack.Stack, _extends({
89
89
  space: "xxsmall",
90
90
  as: Component,
@@ -96,7 +96,7 @@ var SummaryItem = function SummaryItem(_ref2) {
96
96
  }, /*#__PURE__*/_react["default"].createElement("span", null, metric.label), showMetricDescriptionTooltip && /*#__PURE__*/_react["default"].createElement(_popover.Popover, {
97
97
  className: _summaryItemModule["default"].icon,
98
98
  icon: "help"
99
- }, /*#__PURE__*/_react["default"].createElement(MetricInfo, metric))), /*#__PURE__*/_react["default"].createElement(_stack.Stack, null, !loading ? /*#__PURE__*/_react["default"].createElement(_metric.Metric, {
99
+ }, /*#__PURE__*/_react["default"].createElement(MetricInfoPopover, metric))), !loading ? /*#__PURE__*/_react["default"].createElement(_stack.Stack, null, /*#__PURE__*/_react["default"].createElement(_metric.Metric, {
100
100
  className: _summaryItemModule["default"].currentMetric,
101
101
  value: current,
102
102
  formatter: metric.formatter,
@@ -106,13 +106,13 @@ var SummaryItem = function SummaryItem(_ref2) {
106
106
  className: _summaryItemModule["default"].delta,
107
107
  displayValue: runInfo.displayDeltaPercentage,
108
108
  deltaType: runInfo.deltaType
109
- })) : /*#__PURE__*/_react["default"].createElement(_skeleton.Skeleton, {
110
- className: (0, _classnames["default"])(_summaryItemModule["default"].currentMetric, _summaryItemModule["default"].loading)
111
- }), !loading ? /*#__PURE__*/_react["default"].createElement(_metric.Metric, {
109
+ })), /*#__PURE__*/_react["default"].createElement(_metric.Metric, {
112
110
  className: _summaryItemModule["default"].baselineMetric,
113
111
  value: baseline,
114
112
  formatter: metric.formatter
115
- }) : /*#__PURE__*/_react["default"].createElement(_skeleton.Skeleton, {
113
+ })) : /*#__PURE__*/_react["default"].createElement(_stack.Stack, null, /*#__PURE__*/_react["default"].createElement(_skeleton.Skeleton, {
114
+ className: (0, _classnames["default"])(_summaryItemModule["default"].currentMetric, _summaryItemModule["default"].loading)
115
+ }), /*#__PURE__*/_react["default"].createElement(_skeleton.Skeleton, {
116
116
  className: (0, _classnames["default"])(_summaryItemModule["default"].baselineMetric, _summaryItemModule["default"].loading)
117
117
  })));
118
118
  };
@@ -1,5 +1,4 @@
1
1
  .title {
2
- margin: 0;
3
2
  color: var(--color-text-ultra-light);
4
3
  font-weight: bold;
5
4
  font-size: var(--size-xsmall);
@@ -31,20 +30,20 @@
31
30
  display: block;
32
31
  color: var(--color-heading);
33
32
  font-size: var(--size-large);
34
- line-height: 1.3;
33
+ line-height: var(--space-medium);
35
34
  white-space: nowrap;
36
35
  font-weight: bold;
37
36
  }
38
37
 
39
38
  .delta {
40
- margin: var(--space-xxxsmall) 0 0;
41
39
  font-size: var(--size-small);
40
+ line-height: var(--space-medium);
42
41
  }
43
42
 
44
43
  .baselineMetric {
45
44
  color: var(--color-text-light);
46
45
  font-size: var(--size-small);
47
- line-height: 1.3;
46
+ line-height: var(--space-small);
48
47
  }
49
48
 
50
49
  /* Loading state */
@@ -60,9 +59,4 @@
60
59
  .large .currentMetric {
61
60
  font-size: var(--size-xxxlarge);
62
61
  line-height: var(--space-medium);
63
- min-height: var(--space-medium);
64
- }
65
-
66
- .large .baselineMetric {
67
- font-size: var(--size-medium);
68
62
  }
@@ -1,20 +1,23 @@
1
1
  "use strict";
2
2
 
3
- var _react = _interopRequireDefault(require("react"));
4
-
5
- var _react2 = require("@storybook/react");
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.Standard = exports.SizeLarge = exports.ShowMetricDescription = exports.ShowDeltaFalse = exports.Loading = void 0;
6
7
 
7
- var _stories = require("../../stories");
8
+ var _react = _interopRequireDefault(require("react"));
8
9
 
9
10
  var _summaryItem = require("./summary-item");
10
11
 
11
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
12
13
 
13
- var stories = (0, _react2.storiesOf)('Components/SummaryItem', module);
14
- stories.addDecorator((0, _stories.getWrapperDecorator)({
15
- maxWidth: '320px'
16
- }));
17
- stories.add('default', function () {
14
+ var _default = {
15
+ title: 'Components/SummaryItem',
16
+ component: _summaryItem.SummaryItem
17
+ };
18
+ exports["default"] = _default;
19
+
20
+ var Standard = function Standard() {
18
21
  return /*#__PURE__*/_react["default"].createElement(_summaryItem.SummaryItem, {
19
22
  loading: false,
20
23
  id: "webpack.totalSizeByTypeALL",
@@ -23,8 +26,11 @@ stories.add('default', function () {
23
26
  baseline: 100 * 1000
24
27
  }
25
28
  });
26
- });
27
- stories.add('size large', function () {
29
+ };
30
+
31
+ exports.Standard = Standard;
32
+
33
+ var SizeLarge = function SizeLarge() {
28
34
  return /*#__PURE__*/_react["default"].createElement(_summaryItem.SummaryItem, {
29
35
  size: "large",
30
36
  loading: false,
@@ -34,8 +40,11 @@ stories.add('size large', function () {
34
40
  baseline: 100 * 1000
35
41
  }
36
42
  });
37
- });
38
- stories.add('showMetricDescription', function () {
43
+ };
44
+
45
+ exports.SizeLarge = SizeLarge;
46
+
47
+ var ShowMetricDescription = function ShowMetricDescription() {
39
48
  return /*#__PURE__*/_react["default"].createElement(_summaryItem.SummaryItem, {
40
49
  loading: false,
41
50
  id: "webpack.totalSizeByTypeALL",
@@ -45,8 +54,11 @@ stories.add('showMetricDescription', function () {
45
54
  },
46
55
  showMetricDescription: true
47
56
  });
48
- });
49
- stories.add('showDelta false', function () {
57
+ };
58
+
59
+ exports.ShowMetricDescription = ShowMetricDescription;
60
+
61
+ var ShowDeltaFalse = function ShowDeltaFalse() {
50
62
  return /*#__PURE__*/_react["default"].createElement(_summaryItem.SummaryItem, {
51
63
  loading: false,
52
64
  id: "webpack.totalSizeByTypeALL",
@@ -56,10 +68,15 @@ stories.add('showDelta false', function () {
56
68
  },
57
69
  showDelta: false
58
70
  });
59
- });
60
- stories.add('loading', function () {
71
+ };
72
+
73
+ exports.ShowDeltaFalse = ShowDeltaFalse;
74
+
75
+ var Loading = function Loading() {
61
76
  return /*#__PURE__*/_react["default"].createElement(_summaryItem.SummaryItem, {
62
77
  loading: true,
63
78
  id: "webpack.totalSizeByTypeALL"
64
79
  });
65
- });
80
+ };
81
+
82
+ exports.Loading = Loading;