@bundle-stats/ui 3.1.4-alpha.0 → 3.2.1-alpha.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 (276) hide show
  1. package/.babelrc.js +3 -3
  2. package/CHANGELOG.md +18 -1
  3. package/lib/app/app.js +2 -1
  4. package/lib/app/app.stories.js +2 -1
  5. package/lib/assets/icons/arrow.svg +1 -0
  6. package/lib/assets/icons/cancel.svg +1 -0
  7. package/lib/assets/icons/clock.svg +1 -0
  8. package/lib/assets/icons/close.svg +1 -0
  9. package/lib/assets/icons/commit.svg +1 -0
  10. package/lib/assets/icons/filter.svg +1 -0
  11. package/lib/assets/icons/help.svg +1 -0
  12. package/lib/assets/icons/menu.svg +1 -0
  13. package/lib/{ui/icon/assets → assets/icons}/sort.svg +0 -0
  14. package/lib/assets/icons/warning.svg +1 -0
  15. package/lib/assets/icons.svg +1 -0
  16. package/lib/components/bundle-assets/bundle-assets.constants.js +1 -1
  17. package/lib/components/bundle-assets/bundle-assets.js +3 -3
  18. package/lib/components/bundle-assets/bundle-assets.stories.js +19 -7
  19. package/lib/components/bundle-assets/bundle-assets.utils.js +95 -28
  20. package/lib/components/bundle-assets/index.js +115 -4
  21. package/lib/components/bundle-modules/bundle-modules.constants.js +1 -1
  22. package/lib/components/bundle-modules/bundle-modules.js +3 -3
  23. package/lib/components/bundle-modules/bundle-modules.utils.js +152 -0
  24. package/lib/components/bundle-modules/index.js +135 -4
  25. package/lib/components/bundle-packages/bundle-packages.constants.js +1 -1
  26. package/lib/components/bundle-packages/bundle-packages.js +27 -7
  27. package/lib/components/bundle-packages/bundle-packages.module.css +5 -0
  28. package/lib/components/bundle-packages/{bundle-packages.container.js → bundle-packages.utils.js} +8 -42
  29. package/lib/components/bundle-packages/index.js +111 -3
  30. package/lib/components/duplicate-packages-warning/duplicate-packages-warning.js +7 -4
  31. package/lib/components/duplicate-packages-warning/duplicate-packages-warning.stories.js +4 -3
  32. package/lib/components/index.js +18 -18
  33. package/lib/components/metrics-table/metrics-table.js +3 -7
  34. package/lib/components/metrics-table-search/metrics-table-search.js +2 -1
  35. package/lib/components/metrics-table-search/metrics-table-search.module.css +2 -1
  36. package/lib/constants.js +1 -1
  37. package/lib/hooks/rows-filter.js +28 -0
  38. package/lib/hooks/rows-sort.js +54 -0
  39. package/lib/{hocs/with-search.js → hooks/search-params.js} +15 -64
  40. package/lib/layout/index.js +8 -8
  41. package/lib/ui/icon/icon.js +4 -191
  42. package/lib/ui/logo/logo.constants.js +1 -1
  43. package/lib/ui/popover/popover.js +3 -1
  44. package/lib/ui/popover/popover.module.css +3 -3
  45. package/lib/ui/sort-dropdown/sort-dropdown.js +12 -13
  46. package/lib/ui/sort-dropdown/sort-dropdown.stories.js +2 -2
  47. package/lib/ui/tooltip/tooltip.js +2 -1
  48. package/lib-esm/app/app.js +89 -108
  49. package/lib-esm/app/app.stories.js +50 -70
  50. package/lib-esm/app/header/header.js +19 -20
  51. package/lib-esm/assets/icons/arrow.svg +1 -0
  52. package/lib-esm/assets/icons/cancel.svg +1 -0
  53. package/lib-esm/assets/icons/clock.svg +1 -0
  54. package/lib-esm/assets/icons/close.svg +1 -0
  55. package/lib-esm/assets/icons/commit.svg +1 -0
  56. package/lib-esm/assets/icons/filter.svg +1 -0
  57. package/lib-esm/assets/icons/help.svg +1 -0
  58. package/lib-esm/assets/icons/menu.svg +1 -0
  59. package/lib-esm/{ui/icon/assets → assets/icons}/sort.svg +0 -0
  60. package/lib-esm/assets/icons/warning.svg +1 -0
  61. package/lib-esm/assets/icons.svg +1 -0
  62. package/lib-esm/components/asset-info/asset-info.js +20 -18
  63. package/lib-esm/components/asset-info/asset-info.stories.js +29 -33
  64. package/lib-esm/components/browsertime-table/browsertime-table.js +6 -4
  65. package/lib-esm/components/browsertime-table/browsertime-table.stories.js +9 -13
  66. package/lib-esm/components/bundle-assets/bundle-assets.constants.js +17 -15
  67. package/lib-esm/components/bundle-assets/bundle-assets.js +148 -151
  68. package/lib-esm/components/bundle-assets/bundle-assets.stories.js +58 -63
  69. package/lib-esm/components/bundle-assets/bundle-assets.utils.js +65 -21
  70. package/lib-esm/components/bundle-assets/index.js +89 -2
  71. package/lib-esm/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js +46 -51
  72. package/lib-esm/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.stories.js +9 -13
  73. package/lib-esm/components/bundle-assets-totals-table/bundle-assets-totals-table.js +13 -13
  74. package/lib-esm/components/bundle-assets-totals-table/bundle-assets-totals-table.stories.js +13 -19
  75. package/lib-esm/components/bundle-modules/bundle-modules.constants.js +17 -15
  76. package/lib-esm/components/bundle-modules/bundle-modules.js +120 -133
  77. package/lib-esm/components/bundle-modules/bundle-modules.stories.js +46 -58
  78. package/lib-esm/components/bundle-modules/bundle-modules.utils.js +95 -0
  79. package/lib-esm/components/bundle-modules/index.js +111 -3
  80. package/lib-esm/components/bundle-packages/bundle-packages.constants.js +17 -15
  81. package/lib-esm/components/bundle-packages/bundle-packages.js +81 -77
  82. package/lib-esm/components/bundle-packages/bundle-packages.module.css +5 -0
  83. package/lib-esm/components/bundle-packages/bundle-packages.stories.js +34 -46
  84. package/lib-esm/components/bundle-packages/bundle-packages.utils.js +44 -0
  85. package/lib-esm/components/bundle-packages/index.js +87 -2
  86. package/lib-esm/components/component-link.js +9 -13
  87. package/lib-esm/components/delta/delta.js +7 -6
  88. package/lib-esm/components/delta/delta.stories.js +26 -38
  89. package/lib-esm/components/duplicate-packages-warning/duplicate-packages-warning.js +15 -10
  90. package/lib-esm/components/duplicate-packages-warning/duplicate-packages-warning.stories.js +20 -25
  91. package/lib-esm/components/job-header/job-header.js +14 -11
  92. package/lib-esm/components/job-header/job-header.stories.js +12 -18
  93. package/lib-esm/components/job-meta/job-meta.js +14 -18
  94. package/lib-esm/components/job-meta/job-meta.stories.js +10 -12
  95. package/lib-esm/components/job-name/job-name.js +11 -17
  96. package/lib-esm/components/job-name/job-name.stories.js +15 -23
  97. package/lib-esm/components/jobs-header/jobs-header.js +12 -12
  98. package/lib-esm/components/jobs-header/jobs-header.stories.js +80 -86
  99. package/lib-esm/components/lighthouse-table/lighthouse-table.js +6 -4
  100. package/lib-esm/components/lighthouse-table/lighthouse-table.stories.js +10 -14
  101. package/lib-esm/components/metric/metric.js +14 -19
  102. package/lib-esm/components/metric/metric.stories.js +36 -58
  103. package/lib-esm/components/metrics-table/metrics-table.js +128 -143
  104. package/lib-esm/components/metrics-table/metrics-table.stories.js +27 -35
  105. package/lib-esm/components/metrics-table-options/metrics-table-options.js +15 -20
  106. package/lib-esm/components/metrics-table-options/metrics-table-options.stories.js +6 -12
  107. package/lib-esm/components/metrics-table-search/metrics-table-search.js +17 -18
  108. package/lib-esm/components/metrics-table-search/metrics-table-search.module.css +2 -1
  109. package/lib-esm/components/metrics-table-search/metrics-table-search.stories.js +4 -9
  110. package/lib-esm/components/metrics-table-title/metrics-table-title.js +9 -7
  111. package/lib-esm/components/module-info/module-info.js +15 -13
  112. package/lib-esm/components/module-info/module-info.stories.js +20 -22
  113. package/lib-esm/components/summary/summary.js +38 -52
  114. package/lib-esm/components/summary/summary.stories.js +28 -46
  115. package/lib-esm/components/summary-item/summary-item.js +25 -29
  116. package/lib-esm/components/summary-item/summary-item.stories.js +40 -50
  117. package/lib-esm/components/total-size-type-title/total-size-type-title.js +14 -15
  118. package/lib-esm/constants.js +25 -30
  119. package/lib-esm/hooks/rows-filter.js +19 -0
  120. package/lib-esm/hooks/rows-sort.js +21 -0
  121. package/lib-esm/hooks/search-params.js +166 -0
  122. package/lib-esm/layout/box/box.js +12 -19
  123. package/lib-esm/layout/box/box.stories.js +34 -46
  124. package/lib-esm/layout/flex-stack/flex-stack.js +9 -12
  125. package/lib-esm/layout/flex-stack/flex-stack.stories.js +39 -49
  126. package/lib-esm/layout/footer/footer.js +34 -37
  127. package/lib-esm/layout/footer/footer.stories.js +7 -11
  128. package/lib-esm/layout/header/header.js +17 -24
  129. package/lib-esm/layout/header/header.stories.js +34 -43
  130. package/lib-esm/layout/stack/stack.js +8 -6
  131. package/lib-esm/layout/stack/stack.stories.js +39 -49
  132. package/lib-esm/layout/sub-header/sub-header.js +14 -12
  133. package/lib-esm/layout/sub-header/sub-header.stories.js +57 -69
  134. package/lib-esm/prototypes/typography.stories.js +48 -58
  135. package/lib-esm/query-state.js +13 -16
  136. package/lib-esm/stories/wrapper.js +14 -26
  137. package/lib-esm/ui/alert/alert.js +6 -4
  138. package/lib-esm/ui/alert/alert.stories.js +14 -24
  139. package/lib-esm/ui/container/container.js +9 -15
  140. package/lib-esm/ui/container/container.stories.js +15 -17
  141. package/lib-esm/ui/dropdown/dropdown.js +13 -11
  142. package/lib-esm/ui/dropdown/dropdown.stories.js +19 -26
  143. package/lib-esm/ui/empty-set/empty-set.js +12 -12
  144. package/lib-esm/ui/empty-set/empty-set.stories.js +11 -19
  145. package/lib-esm/ui/file-name/file-name.js +7 -8
  146. package/lib-esm/ui/file-name/file-name.stories.js +12 -16
  147. package/lib-esm/ui/filters/filters.container.js +52 -77
  148. package/lib-esm/ui/filters/filters.js +61 -89
  149. package/lib-esm/ui/filters/filters.stories.js +81 -100
  150. package/lib-esm/ui/filters/filters.utils.js +24 -28
  151. package/lib-esm/ui/filters/index.js +1 -1
  152. package/lib-esm/ui/horizontal-bar-chart/horizontal-bar-chart.js +67 -78
  153. package/lib-esm/ui/horizontal-bar-chart/horizontal-bar-chart.stories.js +67 -77
  154. package/lib-esm/ui/icon/icon.js +14 -206
  155. package/lib-esm/ui/icon/icon.stories.js +16 -24
  156. package/lib-esm/ui/input/input.js +6 -10
  157. package/lib-esm/ui/input/input.stories.js +8 -12
  158. package/lib-esm/ui/loader/loader.js +7 -13
  159. package/lib-esm/ui/loader/loader.stories.js +5 -9
  160. package/lib-esm/ui/logo/logo.constants.js +6 -6
  161. package/lib-esm/ui/logo/logo.js +14 -15
  162. package/lib-esm/ui/logo/logo.stories.js +14 -28
  163. package/lib-esm/ui/panels/panels.js +14 -27
  164. package/lib-esm/ui/panels/panels.stories.js +14 -16
  165. package/lib-esm/ui/popover/popover.js +13 -10
  166. package/lib-esm/ui/popover/popover.module.css +3 -3
  167. package/lib-esm/ui/popover/popover.stories.js +7 -11
  168. package/lib-esm/ui/skeleton/skeleton.js +6 -9
  169. package/lib-esm/ui/skeleton/skeleton.stories.js +2 -4
  170. package/lib-esm/ui/sort-dropdown/sort-dropdown.js +36 -39
  171. package/lib-esm/ui/sort-dropdown/sort-dropdown.stories.js +14 -16
  172. package/lib-esm/ui/table/table.js +25 -31
  173. package/lib-esm/ui/table/table.stories.js +84 -102
  174. package/lib-esm/ui/tabs/tabs.js +14 -25
  175. package/lib-esm/ui/tabs/tabs.stories.js +4 -6
  176. package/lib-esm/ui/toolbar/toolbar.js +7 -5
  177. package/lib-esm/ui/toolbar/toolbar.stories.js +11 -16
  178. package/lib-esm/ui/tooltip/tooltip.js +15 -17
  179. package/lib-esm/ui/tooltip/tooltip.stories.js +8 -12
  180. package/lib-esm/utils.js +15 -28
  181. package/package.json +19 -27
  182. package/src/app/app.jsx +4 -1
  183. package/src/assets/icons/arrow.svg +1 -0
  184. package/src/assets/icons/cancel.svg +1 -0
  185. package/src/assets/icons/clock.svg +1 -0
  186. package/src/assets/icons/close.svg +1 -0
  187. package/src/assets/icons/commit.svg +1 -0
  188. package/src/assets/icons/filter.svg +1 -0
  189. package/src/assets/icons/help.svg +1 -0
  190. package/src/assets/icons/menu.svg +1 -0
  191. package/src/{ui/icon/assets → assets/icons}/sort.svg +0 -0
  192. package/src/assets/icons/warning.svg +1 -0
  193. package/src/assets/icons.svg +1 -0
  194. package/src/components/bundle-assets/bundle-assets.jsx +3 -3
  195. package/src/components/bundle-assets/bundle-assets.utils.js +96 -17
  196. package/src/components/bundle-assets/index.jsx +89 -0
  197. package/src/components/bundle-modules/bundle-modules.jsx +3 -3
  198. package/src/components/bundle-modules/bundle-modules.utils.js +101 -0
  199. package/src/components/bundle-modules/index.jsx +107 -0
  200. package/src/components/bundle-packages/bundle-packages.jsx +21 -8
  201. package/src/components/bundle-packages/bundle-packages.module.css +5 -0
  202. package/src/components/bundle-packages/bundle-packages.utils.js +47 -0
  203. package/src/components/bundle-packages/index.jsx +84 -0
  204. package/src/components/duplicate-packages-warning/duplicate-packages-warning.jsx +9 -2
  205. package/src/components/metrics-table/metrics-table.jsx +2 -7
  206. package/src/components/metrics-table-search/metrics-table-search.jsx +1 -0
  207. package/src/components/metrics-table-search/metrics-table-search.module.css +2 -1
  208. package/src/hooks/rows-filter.js +16 -0
  209. package/src/hooks/rows-sort.js +24 -0
  210. package/src/hooks/search-params.js +153 -0
  211. package/src/ui/icon/icon.jsx +7 -42
  212. package/src/ui/popover/popover.jsx +1 -1
  213. package/src/ui/popover/popover.module.css +3 -3
  214. package/src/ui/sort-dropdown/sort-dropdown.jsx +11 -11
  215. package/src/ui/tooltip/tooltip.jsx +1 -1
  216. package/lib/components/bundle-assets/bundle-assets.container.js +0 -140
  217. package/lib/components/bundle-modules/bundle-modules.container.js +0 -222
  218. package/lib/hocs/with-custom-sort.js +0 -75
  219. package/lib/hocs/with-filtered-items.js +0 -54
  220. package/lib/ui/icon/assets/arrow.svg +0 -4
  221. package/lib/ui/icon/assets/branch.svg +0 -3
  222. package/lib/ui/icon/assets/cancel.svg +0 -4
  223. package/lib/ui/icon/assets/clock.svg +0 -3
  224. package/lib/ui/icon/assets/close.svg +0 -4
  225. package/lib/ui/icon/assets/commit.svg +0 -3
  226. package/lib/ui/icon/assets/filter.svg +0 -4
  227. package/lib/ui/icon/assets/help.svg +0 -4
  228. package/lib/ui/icon/assets/job.svg +0 -3
  229. package/lib/ui/icon/assets/menu.svg +0 -4
  230. package/lib/ui/icon/assets/package.svg +0 -3
  231. package/lib/ui/icon/assets/pull-request.svg +0 -3
  232. package/lib/ui/icon/assets/repository.svg +0 -3
  233. package/lib/ui/icon/assets/warning.svg +0 -4
  234. package/lib-esm/components/bundle-assets/bundle-assets.container.js +0 -119
  235. package/lib-esm/components/bundle-modules/bundle-modules.container.js +0 -175
  236. package/lib-esm/components/bundle-packages/bundle-packages.container.js +0 -91
  237. package/lib-esm/hocs/with-custom-sort.js +0 -43
  238. package/lib-esm/hocs/with-filtered-items.js +0 -35
  239. package/lib-esm/hocs/with-search.js +0 -214
  240. package/lib-esm/ui/icon/assets/arrow.svg +0 -4
  241. package/lib-esm/ui/icon/assets/branch.svg +0 -3
  242. package/lib-esm/ui/icon/assets/cancel.svg +0 -4
  243. package/lib-esm/ui/icon/assets/clock.svg +0 -3
  244. package/lib-esm/ui/icon/assets/close.svg +0 -4
  245. package/lib-esm/ui/icon/assets/commit.svg +0 -3
  246. package/lib-esm/ui/icon/assets/filter.svg +0 -4
  247. package/lib-esm/ui/icon/assets/help.svg +0 -4
  248. package/lib-esm/ui/icon/assets/job.svg +0 -3
  249. package/lib-esm/ui/icon/assets/menu.svg +0 -4
  250. package/lib-esm/ui/icon/assets/package.svg +0 -3
  251. package/lib-esm/ui/icon/assets/pull-request.svg +0 -3
  252. package/lib-esm/ui/icon/assets/repository.svg +0 -3
  253. package/lib-esm/ui/icon/assets/warning.svg +0 -4
  254. package/src/components/bundle-assets/bundle-assets.container.js +0 -146
  255. package/src/components/bundle-assets/index.js +0 -4
  256. package/src/components/bundle-modules/bundle-modules.container.js +0 -158
  257. package/src/components/bundle-modules/index.js +0 -4
  258. package/src/components/bundle-packages/bundle-packages.container.js +0 -93
  259. package/src/components/bundle-packages/index.js +0 -4
  260. package/src/hocs/with-custom-sort.jsx +0 -35
  261. package/src/hocs/with-filtered-items.jsx +0 -34
  262. package/src/hocs/with-search.jsx +0 -184
  263. package/src/ui/icon/assets/arrow.svg +0 -4
  264. package/src/ui/icon/assets/branch.svg +0 -3
  265. package/src/ui/icon/assets/cancel.svg +0 -4
  266. package/src/ui/icon/assets/clock.svg +0 -3
  267. package/src/ui/icon/assets/close.svg +0 -4
  268. package/src/ui/icon/assets/commit.svg +0 -3
  269. package/src/ui/icon/assets/filter.svg +0 -4
  270. package/src/ui/icon/assets/help.svg +0 -4
  271. package/src/ui/icon/assets/job.svg +0 -3
  272. package/src/ui/icon/assets/menu.svg +0 -4
  273. package/src/ui/icon/assets/package.svg +0 -3
  274. package/src/ui/icon/assets/pull-request.svg +0 -3
  275. package/src/ui/icon/assets/repository.svg +0 -3
  276. package/src/ui/icon/assets/warning.svg +0 -4
@@ -6,21 +6,24 @@ import { Alert } from '../../ui/alert';
6
6
  import { ComponentLink } from '../component-link';
7
7
  import { Delta } from '../delta';
8
8
  import css from './duplicate-packages-warning.module.css';
9
- var numberMetric = METRIC_TYPES[METRIC_TYPE_NUMERIC];
10
- export var DuplicatePackagesWarning = function DuplicatePackagesWarning(props) {
11
- var className = props.className,
12
- duplicatePackagesCount = props.duplicatePackagesCount,
13
- CustomComponentLink = props.customComponentLink;
14
- var metricRunInfo = getMetricRunInfo(numberMetric, duplicatePackagesCount.current, duplicatePackagesCount.baseline);
9
+ const numberMetric = METRIC_TYPES[METRIC_TYPE_NUMERIC];
10
+ export const DuplicatePackagesWarning = props => {
11
+ const {
12
+ className,
13
+ duplicatePackagesCount,
14
+ customComponentLink: CustomComponentLink,
15
+ showDelta
16
+ } = props;
17
+ const metricRunInfo = getMetricRunInfo(numberMetric, duplicatePackagesCount.current, duplicatePackagesCount.baseline);
15
18
  return /*#__PURE__*/React.createElement(Alert, {
16
19
  kind: "warning",
17
20
  className: cx(css.root, className)
18
- }, "Bundle contains ", /*#__PURE__*/React.createElement(CustomComponentLink, BUNDLE_PACKAGES_DUPLICATE, metricRunInfo.value, metricRunInfo.delta !== 0 && /*#__PURE__*/React.createElement(Delta, {
21
+ }, `Bundle contains `, /*#__PURE__*/React.createElement(CustomComponentLink, BUNDLE_PACKAGES_DUPLICATE, metricRunInfo.value, showDelta && metricRunInfo.delta !== 0 && /*#__PURE__*/React.createElement(Delta, {
19
22
  className: css.titleDelta,
20
23
  inverted: true,
21
24
  displayValue: metricRunInfo.displayDelta,
22
25
  deltaType: metricRunInfo.deltaType
23
- }), " duplicate " + (metricRunInfo.value === 1 ? 'package' : 'packages') + "."));
26
+ }), ` duplicate ${metricRunInfo.value === 1 ? 'package' : 'packages'}.`));
24
27
  };
25
28
  DuplicatePackagesWarning.propTypes = {
26
29
  className: PropTypes.string,
@@ -28,9 +31,11 @@ DuplicatePackagesWarning.propTypes = {
28
31
  duplicatePackagesCount: PropTypes.shape({
29
32
  current: PropTypes.number,
30
33
  baseline: PropTypes.number
31
- }).isRequired
34
+ }).isRequired,
35
+ showDelta: PropTypes.bool
32
36
  };
33
37
  DuplicatePackagesWarning.defaultProps = {
34
38
  className: '',
35
- customComponentLink: ComponentLink
39
+ customComponentLink: ComponentLink,
40
+ showDelta: true
36
41
  };
@@ -2,29 +2,24 @@ import React from 'react';
2
2
  import { storiesOf } from '@storybook/react';
3
3
  import { getWrapperDecorator } from '../../stories';
4
4
  import { DuplicatePackagesWarning } from '.';
5
- var stories = storiesOf('Components/DuplicatePackagesWarning', module);
5
+ const stories = storiesOf('Components/DuplicatePackagesWarning', module);
6
6
  stories.addDecorator(getWrapperDecorator());
7
- stories.add('single duplicate packages', function () {
8
- return /*#__PURE__*/React.createElement(DuplicatePackagesWarning, {
9
- duplicatePackagesCount: {
10
- current: 1,
11
- baseline: 0
12
- }
13
- });
14
- });
15
- stories.add('multiple duplicate packages', function () {
16
- return /*#__PURE__*/React.createElement(DuplicatePackagesWarning, {
17
- duplicatePackagesCount: {
18
- current: 2,
19
- baseline: 3
20
- }
21
- });
22
- });
23
- stories.add('no changes', function () {
24
- return /*#__PURE__*/React.createElement(DuplicatePackagesWarning, {
25
- duplicatePackagesCount: {
26
- current: 2,
27
- baseline: 2
28
- }
29
- });
30
- });
7
+ stories.add('single job', () => /*#__PURE__*/React.createElement(DuplicatePackagesWarning, {
8
+ duplicatePackagesCount: {
9
+ current: 1,
10
+ baseline: 0
11
+ },
12
+ showDelta: false
13
+ }));
14
+ stories.add('multiple jobs', () => /*#__PURE__*/React.createElement(DuplicatePackagesWarning, {
15
+ duplicatePackagesCount: {
16
+ current: 2,
17
+ baseline: 3
18
+ }
19
+ }));
20
+ stories.add('no changes', () => /*#__PURE__*/React.createElement(DuplicatePackagesWarning, {
21
+ duplicatePackagesCount: {
22
+ current: 2,
23
+ baseline: 2
24
+ }
25
+ }));
@@ -8,30 +8,33 @@ import { FlexStack } from '../../layout/flex-stack';
8
8
  import { Stack } from '../../layout/stack';
9
9
  import { Icon } from '../../ui/icon';
10
10
  import css from './job-header.module.css';
11
- export var JobHeader = function JobHeader(props) {
12
- var className = props.className,
13
- tag = props.tag,
14
- job = props.job,
15
- children = props.children;
11
+ export const JobHeader = props => {
12
+ const {
13
+ className,
14
+ tag,
15
+ job,
16
+ children
17
+ } = props;
16
18
 
17
- var _get2 = _get(job, "meta." + SOURCE_PATH_WEBPACK_STATS, {}),
18
- builtAt = _get2.builtAt,
19
- hash = _get2.hash;
19
+ const {
20
+ builtAt,
21
+ hash
22
+ } = _get(job, `meta.${SOURCE_PATH_WEBPACK_STATS}`, {});
20
23
 
21
- var rootClassName = cx(css.root, className);
24
+ const rootClassName = cx(css.root, className);
22
25
  return /*#__PURE__*/React.createElement(Stack, {
23
26
  className: rootClassName,
24
27
  space: "xxsmall"
25
28
  }, /*#__PURE__*/React.createElement("h1", {
26
29
  className: css.title
27
- }, /*#__PURE__*/React.createElement("span", null, "#" + job.internalBuildNumber), tag && /*#__PURE__*/React.createElement("span", {
30
+ }, /*#__PURE__*/React.createElement("span", null, `#${job.internalBuildNumber}`), tag && /*#__PURE__*/React.createElement("span", {
28
31
  className: css.tag
29
32
  }, tag)), /*#__PURE__*/React.createElement(FlexStack, {
30
33
  className: css.meta,
31
34
  space: "xxsmall"
32
35
  }, builtAt && /*#__PURE__*/React.createElement("span", {
33
36
  className: css.metaItem,
34
- title: formatDate(builtAt) + " " + formatTime(builtAt)
37
+ title: `${formatDate(builtAt)} ${formatTime(builtAt)}`
35
38
  }, /*#__PURE__*/React.createElement(Icon, {
36
39
  glyph: "clock",
37
40
  className: css.metaIcon
@@ -2,9 +2,9 @@ import React from 'react';
2
2
  import { storiesOf } from '@storybook/react';
3
3
  import { getWrapperDecorator } from '../../stories';
4
4
  import { JobHeader } from '.';
5
- var stories = storiesOf('Components/JobHeader', module);
5
+ const stories = storiesOf('Components/JobHeader', module);
6
6
  stories.addDecorator(getWrapperDecorator());
7
- var JOB = {
7
+ const JOB = {
8
8
  internalBuildNumber: 1,
9
9
  meta: {
10
10
  webpack: {
@@ -21,19 +21,13 @@ var JOB = {
21
21
  }
22
22
  }
23
23
  };
24
- stories.add('default', function () {
25
- return /*#__PURE__*/React.createElement(JobHeader, {
26
- job: JOB
27
- });
28
- });
29
- stories.add('with tag', function () {
30
- return /*#__PURE__*/React.createElement(JobHeader, {
31
- job: JOB,
32
- tag: "current"
33
- });
34
- });
35
- stories.add('with custom content', function () {
36
- return /*#__PURE__*/React.createElement(JobHeader, {
37
- job: JOB
38
- }, /*#__PURE__*/React.createElement("p", null, "Lorem ipsum dolor sit amed"));
39
- });
24
+ stories.add('default', () => /*#__PURE__*/React.createElement(JobHeader, {
25
+ job: JOB
26
+ }));
27
+ stories.add('with tag', () => /*#__PURE__*/React.createElement(JobHeader, {
28
+ job: JOB,
29
+ tag: "current"
30
+ }));
31
+ stories.add('with custom content', () => /*#__PURE__*/React.createElement(JobHeader, {
32
+ job: JOB
33
+ }, /*#__PURE__*/React.createElement("p", null, "Lorem ipsum dolor sit amed")));
@@ -1,34 +1,30 @@
1
- var _excluded = ["as", "className", "meta"];
2
-
3
1
  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); }
4
2
 
5
- 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; }
6
-
7
3
  import React from 'react';
8
4
  import PropTypes from 'prop-types';
9
5
  import cx from 'classnames';
10
6
  import css from './job-meta.module.css';
11
- export var JobMeta = function JobMeta(props) {
12
- var Component = props.as,
13
- className = props.className,
14
- meta = props.meta,
15
- restProps = _objectWithoutPropertiesLoose(props, _excluded);
16
-
17
- var rootClassName = cx(css.root, className);
7
+ export const JobMeta = props => {
8
+ const {
9
+ as: Component,
10
+ className,
11
+ meta,
12
+ ...restProps
13
+ } = props;
14
+ const rootClassName = cx(css.root, className);
18
15
  return /*#__PURE__*/React.createElement(Component, _extends({
19
16
  className: rootClassName
20
- }, restProps), meta.map(function (_ref, index) {
21
- var title = _ref.title,
22
- content = _ref.content;
23
- var key = index;
17
+ }, restProps), meta.map(({
18
+ title,
19
+ content
20
+ }, index) => {
21
+ const key = index;
24
22
  return /*#__PURE__*/React.createElement("div", {
25
23
  className: css.item,
26
24
  key: key
27
25
  }, title && /*#__PURE__*/React.createElement("h2", {
28
26
  className: css.itemTitle
29
- }, title), content.map(function (item) {
30
- return /*#__PURE__*/React.createElement(React.Fragment, null, item);
31
- }));
27
+ }, title), content.map(item => /*#__PURE__*/React.createElement(React.Fragment, null, item)));
32
28
  }));
33
29
  };
34
30
  JobMeta.propTypes = {
@@ -2,16 +2,14 @@ import React from 'react';
2
2
  import { storiesOf } from '@storybook/react';
3
3
  import { getWrapperDecorator } from '../../stories';
4
4
  import { JobMeta } from '.';
5
- var stories = storiesOf('Components/JobMeta', module);
5
+ const stories = storiesOf('Components/JobMeta', module);
6
6
  stories.addDecorator(getWrapperDecorator());
7
- stories.add('default', function () {
8
- return /*#__PURE__*/React.createElement(JobMeta, {
9
- meta: [{
10
- title: '#123',
11
- content: [/*#__PURE__*/React.createElement("p", null, "July 3th ")]
12
- }, {
13
- title: '#122',
14
- content: [/*#__PURE__*/React.createElement("p", null, "July 4th")]
15
- }]
16
- });
17
- });
7
+ stories.add('default', () => /*#__PURE__*/React.createElement(JobMeta, {
8
+ meta: [{
9
+ title: '#123',
10
+ content: [/*#__PURE__*/React.createElement("p", null, "July 3th ")]
11
+ }, {
12
+ title: '#122',
13
+ content: [/*#__PURE__*/React.createElement("p", null, "July 4th")]
14
+ }]
15
+ }));
@@ -1,26 +1,20 @@
1
- var _excluded = ["as", "title", "internalBuildNumber", "children"];
2
-
3
1
  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); }
4
2
 
5
- 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; }
6
-
7
3
  import React from 'react';
8
4
  import PropTypes from 'prop-types';
9
5
  import { Tooltip } from '../../ui/tooltip';
10
6
  import css from './job-name.module.css';
11
- export var JobName = function JobName(_ref) {
12
- var Component = _ref.as,
13
- title = _ref.title,
14
- internalBuildNumber = _ref.internalBuildNumber,
15
- children = _ref.children,
16
- restProps = _objectWithoutPropertiesLoose(_ref, _excluded);
17
-
18
- return /*#__PURE__*/React.createElement(Tooltip, _extends({
19
- className: css.root,
20
- as: Component,
21
- title: title
22
- }, restProps), children || "Job #" + internalBuildNumber);
23
- };
7
+ export const JobName = ({
8
+ as: Component,
9
+ title,
10
+ internalBuildNumber,
11
+ children,
12
+ ...restProps
13
+ }) => /*#__PURE__*/React.createElement(Tooltip, _extends({
14
+ className: css.root,
15
+ as: Component,
16
+ title: title
17
+ }, restProps), children || `Job #${internalBuildNumber}`);
24
18
  JobName.defaultProps = {
25
19
  as: 'span',
26
20
  title: '',
@@ -2,29 +2,21 @@ import React from 'react';
2
2
  import { storiesOf } from '@storybook/react';
3
3
  import { getWrapperDecorator } from '../../stories';
4
4
  import { JobName } from '.';
5
- var stories = storiesOf('Components/JobName', module);
5
+ const stories = storiesOf('Components/JobName', module);
6
6
  stories.addDecorator(getWrapperDecorator({
7
7
  padding: '64px'
8
8
  }));
9
- stories.add('default', function () {
10
- return /*#__PURE__*/React.createElement(JobName, {
11
- title: "View job details",
12
- internalBuildNumber: 10
13
- });
14
- });
15
- stories.add('custom component', function () {
16
- return /*#__PURE__*/React.createElement(JobName, {
17
- title: "View job details",
18
- internalBuildNumber: 10,
19
- as: function as(props) {
20
- return /*#__PURE__*/React.createElement("strong", props);
21
- }
22
- });
23
- });
24
- stories.add('render', function () {
25
- return /*#__PURE__*/React.createElement(JobName, {
26
- title: "View job details"
27
- }, /*#__PURE__*/React.createElement("a", {
28
- href: "https://relative-ci.com/test"
29
- }, "#10"));
30
- });
9
+ stories.add('default', () => /*#__PURE__*/React.createElement(JobName, {
10
+ title: "View job details",
11
+ internalBuildNumber: 10
12
+ }));
13
+ stories.add('custom component', () => /*#__PURE__*/React.createElement(JobName, {
14
+ title: "View job details",
15
+ internalBuildNumber: 10,
16
+ as: props => /*#__PURE__*/React.createElement("strong", props)
17
+ }));
18
+ stories.add('render', () => /*#__PURE__*/React.createElement(JobName, {
19
+ title: "View job details"
20
+ }, /*#__PURE__*/React.createElement("a", {
21
+ href: "https://relative-ci.com/test"
22
+ }, "#10")));
@@ -5,21 +5,21 @@ import I18N from '../../i18n';
5
5
  import { FlexStack } from '../../layout/flex-stack';
6
6
  import { JobHeader } from '../job-header';
7
7
  import css from './jobs-header.module.css';
8
- export var JobsHeader = function JobsHeader(props) {
9
- var className = props.className,
10
- jobs = props.jobs;
11
- var rootClassName = cx(css.root, className);
8
+ export const JobsHeader = props => {
9
+ const {
10
+ className,
11
+ jobs
12
+ } = props;
13
+ const rootClassName = cx(css.root, className);
12
14
  return /*#__PURE__*/React.createElement(FlexStack, {
13
15
  className: rootClassName,
14
16
  space: "none"
15
- }, jobs == null ? void 0 : jobs.map(function (job, index) {
16
- return /*#__PURE__*/React.createElement(JobHeader, {
17
- key: job.internalBuildNumber || index,
18
- className: css.item,
19
- job: job,
20
- tag: index === 0 ? I18N.CURRENT : I18N.BASELINE
21
- });
22
- }));
17
+ }, jobs == null ? void 0 : jobs.map((job, index) => /*#__PURE__*/React.createElement(JobHeader, {
18
+ key: job.internalBuildNumber || index,
19
+ className: css.item,
20
+ job: job,
21
+ tag: index === 0 ? I18N.CURRENT : I18N.BASELINE
22
+ })));
23
23
  };
24
24
  JobsHeader.propTypes = {
25
25
  /** Adopted child classname */
@@ -2,100 +2,94 @@ import React from 'react';
2
2
  import { storiesOf } from '@storybook/react';
3
3
  import { getWrapperDecorator } from '../../stories';
4
4
  import { JobsHeader } from '.';
5
- var stories = storiesOf('Components/JobsHeader', module);
5
+ const stories = storiesOf('Components/JobsHeader', module);
6
6
  stories.addDecorator(getWrapperDecorator());
7
- stories.add('default', function () {
8
- return /*#__PURE__*/React.createElement(JobsHeader, {
9
- jobs: [{
10
- internalBuildNumber: 1,
11
- meta: {
12
- webpack: {
13
- builtAt: '2019-01-01T00:00:00.000Z',
14
- hash: 'abcd1234'
15
- }
16
- },
17
- summary: {
18
- webpack: {
19
- totalSizeByTypeALL: {
20
- current: 1000000,
21
- baseline: 900000
22
- }
23
- }
7
+ stories.add('default', () => /*#__PURE__*/React.createElement(JobsHeader, {
8
+ jobs: [{
9
+ internalBuildNumber: 1,
10
+ meta: {
11
+ webpack: {
12
+ builtAt: '2019-01-01T00:00:00.000Z',
13
+ hash: 'abcd1234'
24
14
  }
25
- }]
26
- });
27
- });
28
- stories.add('multiple jobs', function () {
29
- return /*#__PURE__*/React.createElement(JobsHeader, {
30
- jobs: [{
31
- internalBuildNumber: 1,
32
- meta: {
33
- webpack: {
34
- builtAt: '2019-01-01T00:00:00.000Z',
35
- hash: 'abcd1234'
36
- }
37
- },
38
- summary: {
39
- webpack: {
40
- totalSizeByTypeALL: {
41
- current: 1000000,
42
- baseline: 900000
43
- }
15
+ },
16
+ summary: {
17
+ webpack: {
18
+ totalSizeByTypeALL: {
19
+ current: 1000000,
20
+ baseline: 900000
44
21
  }
45
22
  }
46
- }, {
47
- internalBuildNumber: 2,
48
- meta: {
49
- webpack: {
50
- builtAt: '2019-01-02T00:00:00.000Z',
51
- hash: 'efgh1234'
52
- }
53
- },
54
- summary: {
55
- webpack: {
56
- totalSizeByTypeALL: {
57
- current: 900000,
58
- baseline: 0
59
- }
60
- }
23
+ }
24
+ }]
25
+ }));
26
+ stories.add('multiple jobs', () => /*#__PURE__*/React.createElement(JobsHeader, {
27
+ jobs: [{
28
+ internalBuildNumber: 1,
29
+ meta: {
30
+ webpack: {
31
+ builtAt: '2019-01-01T00:00:00.000Z',
32
+ hash: 'abcd1234'
61
33
  }
62
- }]
63
- });
64
- });
65
- stories.add('multiple equal jobs', function () {
66
- return /*#__PURE__*/React.createElement(JobsHeader, {
67
- jobs: [{
68
- internalBuildNumber: 1,
69
- meta: {
70
- webpack: {
71
- builtAt: '2019-01-01T00:00:00.000Z',
72
- hash: 'abcd1234'
34
+ },
35
+ summary: {
36
+ webpack: {
37
+ totalSizeByTypeALL: {
38
+ current: 1000000,
39
+ baseline: 900000
73
40
  }
74
- },
75
- summary: {
76
- webpack: {
77
- totalSizeByTypeALL: {
78
- current: 1000000,
79
- baseline: 1000000
80
- }
41
+ }
42
+ }
43
+ }, {
44
+ internalBuildNumber: 2,
45
+ meta: {
46
+ webpack: {
47
+ builtAt: '2019-01-02T00:00:00.000Z',
48
+ hash: 'efgh1234'
49
+ }
50
+ },
51
+ summary: {
52
+ webpack: {
53
+ totalSizeByTypeALL: {
54
+ current: 900000,
55
+ baseline: 0
81
56
  }
82
57
  }
83
- }, {
84
- internalBuildNumber: 2,
85
- meta: {
86
- webpack: {
87
- builtAt: '2019-01-02T00:00:00.000Z',
88
- hash: 'efgh1234'
58
+ }
59
+ }]
60
+ }));
61
+ stories.add('multiple equal jobs', () => /*#__PURE__*/React.createElement(JobsHeader, {
62
+ jobs: [{
63
+ internalBuildNumber: 1,
64
+ meta: {
65
+ webpack: {
66
+ builtAt: '2019-01-01T00:00:00.000Z',
67
+ hash: 'abcd1234'
68
+ }
69
+ },
70
+ summary: {
71
+ webpack: {
72
+ totalSizeByTypeALL: {
73
+ current: 1000000,
74
+ baseline: 1000000
89
75
  }
90
- },
91
- summary: {
92
- webpack: {
93
- totalSizeByTypeALL: {
94
- current: 1000000,
95
- baseline: 1000000
96
- }
76
+ }
77
+ }
78
+ }, {
79
+ internalBuildNumber: 2,
80
+ meta: {
81
+ webpack: {
82
+ builtAt: '2019-01-02T00:00:00.000Z',
83
+ hash: 'efgh1234'
84
+ }
85
+ },
86
+ summary: {
87
+ webpack: {
88
+ totalSizeByTypeALL: {
89
+ current: 1000000,
90
+ baseline: 1000000
97
91
  }
98
92
  }
99
- }]
100
- });
101
- });
93
+ }
94
+ }]
95
+ }));
@@ -2,10 +2,12 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import * as lighthouse from '@bundle-stats/utils/lib-esm/lighthouse';
4
4
  import { MetricsTable } from '../metrics-table';
5
- export var LighthouseTable = function LighthouseTable(props) {
6
- var className = props.className,
7
- jobs = props.jobs;
8
- var items = lighthouse.compare(jobs);
5
+ export const LighthouseTable = props => {
6
+ const {
7
+ className,
8
+ jobs
9
+ } = props;
10
+ const items = lighthouse.compare(jobs);
9
11
  return /*#__PURE__*/React.createElement(MetricsTable, {
10
12
  className: className,
11
13
  runs: jobs,
@@ -4,20 +4,16 @@ import { createJobs } from '@bundle-stats/utils';
4
4
  import lighthouse from '../../../__mocks__/lighthouse.json';
5
5
  import { getWrapperDecorator } from '../../stories';
6
6
  import { LighthouseTable } from '.';
7
- var stories = storiesOf('Components/LighthouseTable', module);
7
+ const stories = storiesOf('Components/LighthouseTable', module);
8
8
  stories.addDecorator(getWrapperDecorator());
9
- var JOBS = createJobs([{
10
- lighthouse: lighthouse
9
+ const JOBS = createJobs([{
10
+ lighthouse
11
11
  }, {
12
- lighthouse: lighthouse
12
+ lighthouse
13
13
  }]);
14
- stories.add('default', function () {
15
- return /*#__PURE__*/React.createElement(LighthouseTable, {
16
- jobs: JOBS
17
- });
18
- });
19
- stories.add('no baseline', function () {
20
- return /*#__PURE__*/React.createElement(LighthouseTable, {
21
- jobs: [JOBS[1]]
22
- });
23
- });
14
+ stories.add('default', () => /*#__PURE__*/React.createElement(LighthouseTable, {
15
+ jobs: JOBS
16
+ }));
17
+ stories.add('no baseline', () => /*#__PURE__*/React.createElement(LighthouseTable, {
18
+ jobs: [JOBS[1]]
19
+ }));