@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
@@ -28,12 +28,13 @@ var numberMetric = _utils.METRIC_TYPES[_utils.METRIC_TYPE_NUMERIC];
28
28
  var DuplicatePackagesWarning = function DuplicatePackagesWarning(props) {
29
29
  var className = props.className,
30
30
  duplicatePackagesCount = props.duplicatePackagesCount,
31
- CustomComponentLink = props.customComponentLink;
31
+ CustomComponentLink = props.customComponentLink,
32
+ showDelta = props.showDelta;
32
33
  var metricRunInfo = (0, _utils.getMetricRunInfo)(numberMetric, duplicatePackagesCount.current, duplicatePackagesCount.baseline);
33
34
  return /*#__PURE__*/_react["default"].createElement(_alert.Alert, {
34
35
  kind: "warning",
35
36
  className: (0, _classnames["default"])(_duplicatePackagesWarningModule["default"].root, className)
36
- }, "Bundle contains ", /*#__PURE__*/_react["default"].createElement(CustomComponentLink, _utils.BUNDLE_PACKAGES_DUPLICATE, metricRunInfo.value, metricRunInfo.delta !== 0 && /*#__PURE__*/_react["default"].createElement(_delta.Delta, {
37
+ }, "Bundle contains ", /*#__PURE__*/_react["default"].createElement(CustomComponentLink, _utils.BUNDLE_PACKAGES_DUPLICATE, metricRunInfo.value, showDelta && metricRunInfo.delta !== 0 && /*#__PURE__*/_react["default"].createElement(_delta.Delta, {
37
38
  className: _duplicatePackagesWarningModule["default"].titleDelta,
38
39
  inverted: true,
39
40
  displayValue: metricRunInfo.displayDelta,
@@ -48,9 +49,11 @@ DuplicatePackagesWarning.propTypes = {
48
49
  duplicatePackagesCount: _propTypes["default"].shape({
49
50
  current: _propTypes["default"].number,
50
51
  baseline: _propTypes["default"].number
51
- }).isRequired
52
+ }).isRequired,
53
+ showDelta: _propTypes["default"].bool
52
54
  };
53
55
  DuplicatePackagesWarning.defaultProps = {
54
56
  className: '',
55
- customComponentLink: _componentLink.ComponentLink
57
+ customComponentLink: _componentLink.ComponentLink,
58
+ showDelta: true
56
59
  };
@@ -12,15 +12,16 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
12
12
 
13
13
  var stories = (0, _react2.storiesOf)('Components/DuplicatePackagesWarning', module);
14
14
  stories.addDecorator((0, _stories.getWrapperDecorator)());
15
- stories.add('single duplicate packages', function () {
15
+ stories.add('single job', function () {
16
16
  return /*#__PURE__*/_react["default"].createElement(_.DuplicatePackagesWarning, {
17
17
  duplicatePackagesCount: {
18
18
  current: 1,
19
19
  baseline: 0
20
- }
20
+ },
21
+ showDelta: false
21
22
  });
22
23
  });
23
- stories.add('multiple duplicate packages', function () {
24
+ stories.add('multiple jobs', function () {
24
25
  return /*#__PURE__*/_react["default"].createElement(_.DuplicatePackagesWarning, {
25
26
  duplicatePackagesCount: {
26
27
  current: 2,
@@ -15,22 +15,16 @@ Object.defineProperty(exports, "BundleAssets", {
15
15
  return _bundleAssets.BundleAssets;
16
16
  }
17
17
  });
18
- Object.defineProperty(exports, "BundleAssetsTotalsTable", {
19
- enumerable: true,
20
- get: function get() {
21
- return _bundleAssetsTotalsTable.BundleAssetsTotalsTable;
22
- }
23
- });
24
18
  Object.defineProperty(exports, "BundleAssetsTotalsChartBars", {
25
19
  enumerable: true,
26
20
  get: function get() {
27
21
  return _bundleAssetsTotalsChartBars.BundleAssetsTotalsChartBars;
28
22
  }
29
23
  });
30
- Object.defineProperty(exports, "BundlePackages", {
24
+ Object.defineProperty(exports, "BundleAssetsTotalsTable", {
31
25
  enumerable: true,
32
26
  get: function get() {
33
- return _bundlePackages.BundlePackages;
27
+ return _bundleAssetsTotalsTable.BundleAssetsTotalsTable;
34
28
  }
35
29
  });
36
30
  Object.defineProperty(exports, "BundleModules", {
@@ -39,16 +33,16 @@ Object.defineProperty(exports, "BundleModules", {
39
33
  return _bundleModules.BundleModules;
40
34
  }
41
35
  });
42
- Object.defineProperty(exports, "ComponentLink", {
36
+ Object.defineProperty(exports, "BundlePackages", {
43
37
  enumerable: true,
44
38
  get: function get() {
45
- return _componentLink.ComponentLink;
39
+ return _bundlePackages.BundlePackages;
46
40
  }
47
41
  });
48
- Object.defineProperty(exports, "DuplicatePackagesWarning", {
42
+ Object.defineProperty(exports, "ComponentLink", {
49
43
  enumerable: true,
50
44
  get: function get() {
51
- return _duplicatePackagesWarning.DuplicatePackagesWarning;
45
+ return _componentLink.ComponentLink;
52
46
  }
53
47
  });
54
48
  Object.defineProperty(exports, "Delta", {
@@ -57,10 +51,10 @@ Object.defineProperty(exports, "Delta", {
57
51
  return _delta.Delta;
58
52
  }
59
53
  });
60
- Object.defineProperty(exports, "JobName", {
54
+ Object.defineProperty(exports, "DuplicatePackagesWarning", {
61
55
  enumerable: true,
62
56
  get: function get() {
63
- return _jobName.JobName;
57
+ return _duplicatePackagesWarning.DuplicatePackagesWarning;
64
58
  }
65
59
  });
66
60
  Object.defineProperty(exports, "JobHeader", {
@@ -69,6 +63,12 @@ Object.defineProperty(exports, "JobHeader", {
69
63
  return _jobHeader.JobHeader;
70
64
  }
71
65
  });
66
+ Object.defineProperty(exports, "JobName", {
67
+ enumerable: true,
68
+ get: function get() {
69
+ return _jobName.JobName;
70
+ }
71
+ });
72
72
  Object.defineProperty(exports, "JobsHeader", {
73
73
  enumerable: true,
74
74
  get: function get() {
@@ -117,16 +117,16 @@ Object.defineProperty(exports, "ModuleInfo", {
117
117
  return _moduleInfo.ModuleInfo;
118
118
  }
119
119
  });
120
- Object.defineProperty(exports, "SummaryItem", {
120
+ Object.defineProperty(exports, "Summary", {
121
121
  enumerable: true,
122
122
  get: function get() {
123
- return _summaryItem.SummaryItem;
123
+ return _summary.Summary;
124
124
  }
125
125
  });
126
- Object.defineProperty(exports, "Summary", {
126
+ Object.defineProperty(exports, "SummaryItem", {
127
127
  enumerable: true,
128
128
  get: function get() {
129
- return _summary.Summary;
129
+ return _summaryItem.SummaryItem;
130
130
  }
131
131
  });
132
132
  Object.defineProperty(exports, "TotalSizeTypeTitle", {
@@ -7,11 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.MetricsTable = void 0;
9
9
 
10
- var _sum2 = _interopRequireDefault(require("lodash/fp/sum"));
11
-
12
- var _map2 = _interopRequireDefault(require("lodash/fp/map"));
13
-
14
- var _flow2 = _interopRequireDefault(require("lodash/fp/flow"));
10
+ var _sum2 = _interopRequireDefault(require("lodash/sum"));
15
11
 
16
12
  var _isEmpty2 = _interopRequireDefault(require("lodash/isEmpty"));
17
13
 
@@ -56,9 +52,9 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
56
52
  var METRIC_TYPE_DATA = (0, _utils.getGlobalMetricType)(null, _utils.METRIC_TYPE_FILE_SIZE);
57
53
 
58
54
  var getRowsRunTotal = function getRowsRunTotal(rows, runIndex) {
59
- return (0, _flow2["default"])((0, _map2["default"])(function (row) {
55
+ return (0, _sum2["default"])(rows.map(function (row) {
60
56
  return (0, _get2["default"])(row, "runs[".concat(runIndex, "].value"), 0);
61
- }), _sum2["default"])(rows);
57
+ }));
62
58
  };
63
59
 
64
60
  var getHeaderLabelCells = function getHeaderLabelCells(rows) {
@@ -76,7 +76,8 @@ var MetricsTableSearch = function MetricsTableSearch(props) {
76
76
  placeholder: placeholder,
77
77
  onChange: handleChangeValue,
78
78
  value: value,
79
- size: "small"
79
+ size: "small",
80
+ autoComplete: "off"
80
81
  }), search && /*#__PURE__*/_react["default"].createElement("button", {
81
82
  className: _metricsTableSearchModule["default"].cancelButton,
82
83
  type: "button",
@@ -5,6 +5,7 @@
5
5
  }
6
6
 
7
7
  .input {
8
+ height: var(--space-large);
8
9
  border-color: var(--color-outline);
9
10
  }
10
11
 
@@ -26,7 +27,7 @@
26
27
  padding: var(--space-xxsmall);
27
28
  width: var(--space-large);
28
29
  height: var(--space-large);
29
- background: radial-gradient(var(--color-background), transparent 75%);
30
+ background: radial-gradient(var(--color-background) 50%, transparent);
30
31
  color: var(--color-text-ultra-light);
31
32
  transition: var(--transition-in);
32
33
  }
package/lib/constants.js CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.METRICS_WEBPACK_PACKAGES = exports.METRICS_WEBPACK_MODULES = exports.METRICS_WEBPACK_ASSETS = exports.METRICS_WEBPACK_GENERAL = exports.ASSETS_SIZES_FILE_TYPE_MAP = exports.SECTION_URLS = exports.URLS = exports.SPACES = exports.SPACE_XXXLARGE = exports.SPACE_XXLARGE = exports.SPACE_XLARGE = exports.SPACE_LARGE = exports.SPACE_MEDIUM = exports.SPACE_SMALL = exports.SPACE_XSMALL = exports.SPACE_XXSMALL = exports.SPACE_XXXSMALL = exports.NO_SPACE = void 0;
6
+ exports.URLS = exports.SPACE_XXXSMALL = exports.SPACE_XXXLARGE = exports.SPACE_XXSMALL = exports.SPACE_XXLARGE = exports.SPACE_XSMALL = exports.SPACE_XLARGE = exports.SPACE_SMALL = exports.SPACE_MEDIUM = exports.SPACE_LARGE = exports.SPACES = exports.SECTION_URLS = exports.NO_SPACE = exports.METRICS_WEBPACK_PACKAGES = exports.METRICS_WEBPACK_MODULES = exports.METRICS_WEBPACK_GENERAL = exports.METRICS_WEBPACK_ASSETS = exports.ASSETS_SIZES_FILE_TYPE_MAP = void 0;
7
7
 
8
8
  var _utils = require("@bundle-stats/utils");
9
9
 
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useRowsFilter = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ var useRowsFilter = function useRowsFilter(_ref) {
11
+ var rows = _ref.rows,
12
+ searchPattern = _ref.searchPattern,
13
+ filters = _ref.filters,
14
+ getRowFilter = _ref.getRowFilter;
15
+ var filteredRows = (0, _react.useMemo)(function () {
16
+ var filterRow = getRowFilter(filters);
17
+ return rows.filter(function (row) {
18
+ if (searchPattern && !searchPattern.test(row === null || row === void 0 ? void 0 : row.key)) {
19
+ return false;
20
+ }
21
+
22
+ return filterRow(row);
23
+ });
24
+ }, [rows, searchPattern, filters, getRowFilter]);
25
+ return filteredRows;
26
+ };
27
+
28
+ exports.useRowsFilter = useRowsFilter;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useRowsSort = void 0;
7
+
8
+ var _orderBy2 = _interopRequireDefault(require("lodash/orderBy"));
9
+
10
+ var _react = require("react");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
14
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
15
+
16
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
17
+
18
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
19
+
20
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
21
+
22
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
23
+
24
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
25
+
26
+ var useRowsSort = function useRowsSort(_ref) {
27
+ var rows = _ref.rows,
28
+ sortFields = _ref.sortFields,
29
+ _ref$sortBy = _ref.sortBy,
30
+ sortBy = _ref$sortBy === void 0 ? 'size' : _ref$sortBy,
31
+ _ref$sortDirection = _ref.sortDirection,
32
+ sortDirection = _ref$sortDirection === void 0 ? 'desc' : _ref$sortDirection,
33
+ getCustomSort = _ref.getCustomSort;
34
+
35
+ var _useState = (0, _react.useState)({
36
+ field: sortBy,
37
+ direction: sortDirection
38
+ }),
39
+ _useState2 = _slicedToArray(_useState, 2),
40
+ sort = _useState2[0],
41
+ updateSort = _useState2[1];
42
+
43
+ var orderedRows = (0, _react.useMemo)(function () {
44
+ return (0, _orderBy2["default"])(rows, getCustomSort(sort.field), sort.direction);
45
+ }, [rows, sort]);
46
+ return {
47
+ sortFields: sortFields,
48
+ sort: sort,
49
+ updateSort: updateSort,
50
+ items: orderedRows
51
+ };
52
+ };
53
+
54
+ exports.useRowsSort = useRowsSort;
@@ -1,30 +1,18 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
- exports.withSearch = exports.useSearch = exports.generateState = void 0;
9
-
10
- var _noop2 = _interopRequireDefault(require("lodash/noop"));
6
+ exports.useSearchParams = exports.generateState = void 0;
11
7
 
12
8
  var _merge2 = _interopRequireDefault(require("lodash/merge"));
13
9
 
14
10
  var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
15
11
 
16
- var _react = _interopRequireWildcard(require("react"));
17
-
18
- var _propTypes = _interopRequireDefault(require("prop-types"));
19
-
20
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
-
22
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
+ var _react = require("react");
23
13
 
24
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
25
15
 
26
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
-
28
16
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
29
17
 
30
18
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -145,13 +133,13 @@ var generateState = function generateState(filters, search) {
145
133
 
146
134
  exports.generateState = generateState;
147
135
 
148
- var useSearch = function useSearch(_ref2) {
149
- var setParentState = _ref2.setState,
150
- parentSearch = _ref2.search,
136
+ var useSearchParams = function useSearchParams(_ref2) {
137
+ var parentSearch = _ref2.search,
151
138
  parentFilters = _ref2.filters,
152
139
  defaultFilters = _ref2.defaultFilters,
153
- allEntriesFilters = _ref2.allEntriesFilters;
154
- // When we pass custom filters, set the other flags to true(allEntries)
140
+ allEntriesFilters = _ref2.allEntriesFilters,
141
+ setParentState = _ref2.setState;
142
+ // When we pass custom filters, set the other flags to true (allEntries)
155
143
  var initialFilters = parentFilters ? (0, _merge2["default"])({}, allEntriesFilters, parentFilters) : defaultFilters;
156
144
 
157
145
  var _useReducer = (0, _react.useReducer)(getSearchReducer({
@@ -167,7 +155,7 @@ var useSearch = function useSearch(_ref2) {
167
155
  dispatch = _useReducer2[1]; // Update state when the custom filters/search are changing - initial load or route updates
168
156
 
169
157
 
170
- (0, _react.useEffect)(function () {
158
+ (0, _react.useLayoutEffect)(function () {
171
159
  // Run a deep comparison to prevent circular setState triggering
172
160
  if (parentSearch === search || (0, _isEqual2["default"])(parentFilters, filters)) {
173
161
  return;
@@ -178,6 +166,8 @@ var useSearch = function useSearch(_ref2) {
178
166
  payload: generateState(initialFilters, parentSearch)
179
167
  });
180
168
  }, [search, filters, parentFilters, parentSearch]);
169
+ /** Callbacks */
170
+
181
171
  var handleUpdateSearch = (0, _react.useCallback)(function (newValue) {
182
172
  dispatch({
183
173
  type: ACTION_SET_SEARCH,
@@ -202,53 +192,14 @@ var useSearch = function useSearch(_ref2) {
202
192
  }, []);
203
193
  return {
204
194
  search: search,
205
- updateSearch: handleUpdateSearch,
206
195
  searchPattern: searchPattern,
196
+ filters: filters,
197
+ hasActiveFilters: !(0, _isEqual2["default"])(allEntriesFilters, filters),
198
+ updateSearch: handleUpdateSearch,
207
199
  updateFilters: handleUpdateFilters,
208
200
  resetFilters: handleResetFilters,
209
- resetAllFilters: handleResetAllFilters,
210
- filters: filters,
211
- hasActiveFilters: !(0, _isEqual2["default"])(allEntriesFilters, filters)
212
- };
213
- };
214
-
215
- exports.useSearch = useSearch;
216
-
217
- var withSearch = function withSearch() {
218
- return function (BaseComponent) {
219
- var WithSearch = function WithSearch(props) {
220
- var allEntriesFilters = props.allEntriesFilters,
221
- defaultFilters = props.defaultFilters,
222
- filters = props.filters,
223
- search = props.search,
224
- setState = props.setState;
225
- var searchProps = useSearch({
226
- search: search,
227
- filters: filters,
228
- setState: setState,
229
- defaultFilters: defaultFilters,
230
- allEntriesFilters: allEntriesFilters
231
- });
232
- return /*#__PURE__*/_react["default"].createElement(BaseComponent, _extends({}, props, searchProps));
233
- };
234
-
235
- WithSearch.defaultProps = {
236
- filters: null,
237
- setState: _noop2["default"],
238
- search: ''
239
- };
240
- WithSearch.propTypes = {
241
- allEntriesFilters: _propTypes["default"].object.isRequired,
242
- // eslint-disable-line react/forbid-prop-types
243
- defaultFilters: _propTypes["default"].object.isRequired,
244
- // eslint-disable-line react/forbid-prop-types
245
- filters: _propTypes["default"].object,
246
- // eslint-disable-line react/forbid-prop-types
247
- search: _propTypes["default"].string,
248
- setState: _propTypes["default"].func
249
- };
250
- return WithSearch;
201
+ resetAllFilters: handleResetAllFilters
251
202
  };
252
203
  };
253
204
 
254
- exports.withSearch = withSearch;
205
+ exports.useSearchParams = useSearchParams;
@@ -9,22 +9,22 @@ Object.defineProperty(exports, "Box", {
9
9
  return _box.Box;
10
10
  }
11
11
  });
12
- Object.defineProperty(exports, "Footer", {
12
+ Object.defineProperty(exports, "FlexStack", {
13
13
  enumerable: true,
14
14
  get: function get() {
15
- return _footer.Footer;
15
+ return _flexStack.FlexStack;
16
16
  }
17
17
  });
18
- Object.defineProperty(exports, "Header", {
18
+ Object.defineProperty(exports, "Footer", {
19
19
  enumerable: true,
20
20
  get: function get() {
21
- return _header.Header;
21
+ return _footer.Footer;
22
22
  }
23
23
  });
24
- Object.defineProperty(exports, "SubHeader", {
24
+ Object.defineProperty(exports, "Header", {
25
25
  enumerable: true,
26
26
  get: function get() {
27
- return _subHeader.SubHeader;
27
+ return _header.Header;
28
28
  }
29
29
  });
30
30
  Object.defineProperty(exports, "Stack", {
@@ -33,10 +33,10 @@ Object.defineProperty(exports, "Stack", {
33
33
  return _stack.Stack;
34
34
  }
35
35
  });
36
- Object.defineProperty(exports, "FlexStack", {
36
+ Object.defineProperty(exports, "SubHeader", {
37
37
  enumerable: true,
38
38
  get: function get() {
39
- return _flexStack.FlexStack;
39
+ return _subHeader.SubHeader;
40
40
  }
41
41
  });
42
42