@bundle-stats/ui 4.5.3-alpha.2 → 4.5.3-alpha.4

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 (106) hide show
  1. package/.babelrc.js +2 -0
  2. package/README.md +10 -10
  3. package/lib/app/app.js +8 -14
  4. package/lib/app/app.js.map +1 -1
  5. package/lib/components/metric-run-info/metric-run-info.js +1 -1
  6. package/lib/components/metric-run-info/metric-run-info.js.map +1 -1
  7. package/lib/components/metrics-table/metrics-table.js +1 -1
  8. package/lib/components/metrics-table/metrics-table.js.map +1 -1
  9. package/lib/components/metrics-table/metrics-table.module.css +8 -3
  10. package/lib/components/run-info/run-info.js +2 -2
  11. package/lib/components/run-info/run-info.js.map +1 -1
  12. package/lib/components/run-info/run-info.module.css +8 -9
  13. package/lib/components/summary/summary.js +10 -2
  14. package/lib/components/summary/summary.js.map +1 -1
  15. package/lib/components/summary/summary.module.css +13 -1
  16. package/lib/css/variables.css +25 -25
  17. package/lib/ui/dropdown/dropdown.module.css +4 -0
  18. package/lib/ui/filters/filters.module.css +28 -5
  19. package/lib-esm/app/app.js +9 -18
  20. package/lib-esm/app/app.js.map +1 -1
  21. package/lib-esm/components/metric-run-info/metric-run-info.js +1 -1
  22. package/lib-esm/components/metric-run-info/metric-run-info.js.map +1 -1
  23. package/lib-esm/components/metrics-table/metrics-table.js +1 -1
  24. package/lib-esm/components/metrics-table/metrics-table.js.map +1 -1
  25. package/lib-esm/components/metrics-table/metrics-table.module.css +8 -3
  26. package/lib-esm/components/run-info/run-info.js +2 -2
  27. package/lib-esm/components/run-info/run-info.js.map +1 -1
  28. package/lib-esm/components/run-info/run-info.module.css +8 -9
  29. package/lib-esm/components/summary/summary.js +11 -3
  30. package/lib-esm/components/summary/summary.js.map +1 -1
  31. package/lib-esm/components/summary/summary.module.css +13 -1
  32. package/lib-esm/css/variables.css +25 -25
  33. package/lib-esm/ui/dropdown/dropdown.module.css +4 -0
  34. package/lib-esm/ui/filters/filters.module.css +28 -5
  35. package/package.json +16 -20
  36. package/src/app/app.jsx +2 -34
  37. package/src/components/metric-run-info/metric-run-info.tsx +1 -1
  38. package/src/components/metrics-table/metrics-table.jsx +1 -1
  39. package/src/components/metrics-table/metrics-table.module.css +8 -3
  40. package/src/components/run-info/run-info.module.css +8 -9
  41. package/src/components/run-info/run-info.tsx +15 -4
  42. package/src/components/summary/summary.module.css +13 -1
  43. package/src/components/summary/summary.tsx +34 -9
  44. package/src/css/variables.css +25 -25
  45. package/src/ui/dropdown/dropdown.module.css +4 -0
  46. package/src/ui/filters/filters.module.css +28 -5
  47. package/types/app/app.d.ts +2 -1
  48. package/types/app/header/header.d.ts +1 -1
  49. package/types/assets/icons.svg.d.ts +2 -1
  50. package/types/components/asset-info/asset-info.d.ts +1 -1
  51. package/types/components/asset-not-predictive/asset-not-predictive.d.ts +1 -1
  52. package/types/components/browsertime-table/browsertime-table.d.ts +2 -1
  53. package/types/components/bundle-assets/bundle-assets.d.ts +2 -1
  54. package/types/components/bundle-assets/index.d.ts +2 -1
  55. package/types/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.d.ts +2 -1
  56. package/types/components/bundle-assets-totals-table/bundle-assets-totals-table.d.ts +2 -1
  57. package/types/components/bundle-modules/bundle-modules.d.ts +2 -1
  58. package/types/components/bundle-modules/index.d.ts +2 -1
  59. package/types/components/bundle-packages/bundle-packages.d.ts +2 -1
  60. package/types/components/bundle-packages/index.d.ts +2 -1
  61. package/types/components/component-link.d.ts +2 -1
  62. package/types/components/delta/delta.d.ts +2 -1
  63. package/types/components/entry-info/entry-info.d.ts +2 -2
  64. package/types/components/insight-icon/insight-icon.d.ts +1 -1
  65. package/types/components/insights/insights.d.ts +1 -1
  66. package/types/components/job-name/job-name.d.ts +2 -1
  67. package/types/components/jobs-header/jobs-header.d.ts +2 -2
  68. package/types/components/lighthouse-table/lighthouse-table.d.ts +2 -1
  69. package/types/components/metric/metric.d.ts +1 -1
  70. package/types/components/metric-run-info/metric-run-info.d.ts +1 -1
  71. package/types/components/metrics-table/index.d.ts +2 -1
  72. package/types/components/metrics-table/metrics-table.d.ts +2 -1
  73. package/types/components/metrics-table-options/metrics-table-options.d.ts +2 -1
  74. package/types/components/metrics-table-search/metrics-table-search.d.ts +2 -1
  75. package/types/components/metrics-table-title/metrics-table-title.d.ts +2 -1
  76. package/types/components/module-info/module-info.d.ts +1 -1
  77. package/types/components/package-info/package-info.d.ts +1 -1
  78. package/types/components/run-info/run-info.d.ts +1 -1
  79. package/types/components/sort-button/sort-button.d.ts +1 -1
  80. package/types/components/summary/summary.d.ts +1 -3
  81. package/types/components/total-size-type-title/total-size-type-title.d.ts +2 -1
  82. package/types/layout/box/box.d.ts +1 -1
  83. package/types/layout/flex-stack/flex-stack.d.ts +1 -1
  84. package/types/layout/footer/footer.d.ts +2 -1
  85. package/types/layout/stack/stack.d.ts +1 -1
  86. package/types/query-state.d.ts +2 -1
  87. package/types/stories/wrapper.d.ts +2 -1
  88. package/types/ui/alert/alert.d.ts +1 -1
  89. package/types/ui/container/container.d.ts +1 -1
  90. package/types/ui/dropdown/dropdown.d.ts +3 -2
  91. package/types/ui/empty-set/empty-set.d.ts +2 -1
  92. package/types/ui/file-name/file-name.d.ts +2 -1
  93. package/types/ui/filters/filters.d.ts +2 -1
  94. package/types/ui/filters/index.d.ts +2 -1
  95. package/types/ui/horizontal-bar-chart/horizontal-bar-chart.d.ts +2 -1
  96. package/types/ui/hover-card/hover-card.d.ts +1 -1
  97. package/types/ui/icon/icon.d.ts +1 -1
  98. package/types/ui/input/input.d.ts +2 -1
  99. package/types/ui/loader/loader.d.ts +2 -1
  100. package/types/ui/skeleton/skeleton.d.ts +2 -1
  101. package/types/ui/table/table.d.ts +1 -1
  102. package/types/ui/tabs/tabs.d.ts +3 -2
  103. package/types/ui/tag/tag.d.ts +1 -1
  104. package/types/ui/toolbar/toolbar.d.ts +2 -1
  105. package/types/ui/tooltip/tooltip.d.ts +1 -1
  106. package/types/utils.d.ts +2 -1
@@ -12,24 +12,29 @@
12
12
 
13
13
  /* columns */
14
14
  .metricName {
15
- width: 100%;
15
+ width: 55%;
16
16
  }
17
17
 
18
18
  .root .job {
19
- padding-right: calc(var(--space-xxxsmall) + var(--space-small));
20
19
  text-align: right;
21
20
  }
22
21
 
23
22
  .root .value {
24
- padding-left: var(--space-large);
25
23
  text-align: right;
26
24
  vertical-align: baseline;
25
+ width: 15%;
27
26
  }
28
27
 
29
28
  .root .delta {
30
29
  text-align: right;
31
30
  font-size: var(--size-xsmall);
32
31
  vertical-align: baseline;
32
+ width: 10%;
33
+ color: pink;
34
+ }
35
+
36
+ .root .deltaPercentage {
37
+ width: 5%;
33
38
  }
34
39
 
35
40
  .root tbody .delta {
@@ -3,7 +3,14 @@
3
3
  font-weight: bold;
4
4
  font-size: var(--size-xsmall);
5
5
  text-transform: uppercase;
6
+ }
7
+
8
+ .titleText {
9
+ max-width: 100%;
10
+ flex: 0 1 auto;
6
11
  white-space: nowrap;
12
+ overflow: hidden;
13
+ text-overflow: ellipsis;
7
14
  }
8
15
 
9
16
  .titleIcon {
@@ -55,16 +62,8 @@
55
62
  }
56
63
 
57
64
  /* Size variation */
58
- .small .info {
59
- margin-top: var(--space-xxxsmall);
60
- }
61
-
62
65
  .small .currentMetric {
63
- font-size: var(--size-xlarge);
64
- }
65
-
66
- .large .info {
67
- margin-top: var(--space-xxsmall);
66
+ font-size: var(--size-large);
68
67
  }
69
68
 
70
69
  .large .currentMetric {
@@ -59,7 +59,12 @@ export const RunInfo = ({
59
59
  enhance = false,
60
60
  ...restProps
61
61
  }: RunInfoProps & React.ComponentProps<'div'>) => {
62
- const rootClassName = cx(css.root, className, css[size], (delta || deltaPercentage) && css.showDelta);
62
+ const rootClassName = cx(
63
+ css.root,
64
+ className,
65
+ css[size],
66
+ (delta || deltaPercentage) && css.showDelta,
67
+ );
63
68
 
64
69
  const currentValueParams: [React.ReactNode, string?] = useMemo(() => {
65
70
  if (!enhance || typeof current !== 'string') {
@@ -73,7 +78,7 @@ export const RunInfo = ({
73
78
  <Component className={rootClassName} {...restProps}>
74
79
  {title && (
75
80
  <FlexStack space="xxxsmall" alignItems="center" as="h3" className={css.title}>
76
- <span>{title}</span>
81
+ <span className={css.titleText}>{title}</span>
77
82
  {titleHoverCard && (
78
83
  <HoverCard
79
84
  label={<Icon glyph={Icon.ICONS.HELP} />}
@@ -102,11 +107,17 @@ export const RunInfo = ({
102
107
  <FlexStack space="xxxsmall" alignItems="center">
103
108
  {deltaPercentage && (
104
109
  <FlexStack space="xxxsmall" alignItems="center">
105
- <Delta className={css.delta} displayValue={deltaPercentage} deltaType={deltaType} />
110
+ <Delta
111
+ className={css.delta}
112
+ displayValue={deltaPercentage}
113
+ deltaType={deltaType}
114
+ />
106
115
  {' / '}
107
116
  </FlexStack>
108
117
  )}
109
- {delta && <Delta className={css.delta} displayValue={delta} deltaType={deltaType} />}
118
+ {delta && (
119
+ <Delta className={css.delta} displayValue={delta} deltaType={deltaType} />
120
+ )}
110
121
  </FlexStack>
111
122
  )}
112
123
  </Metric>
@@ -3,6 +3,14 @@
3
3
  width: 100%;
4
4
  }
5
5
 
6
+ .wrapper {
7
+ width: 100%;
8
+ }
9
+
10
+ .wrapper + .wrapper {
11
+ margin-top: var(--summary-gap);
12
+ }
13
+
6
14
  .items {
7
15
  display: flex;
8
16
  flex-wrap: wrap;
@@ -14,10 +22,14 @@
14
22
  .item {
15
23
  margin: var(--summary-gap) 0 0 var(--summary-gap);
16
24
  flex: 1 0 10%; /* force equal sizes */
17
- min-width: 14em;
25
+ min-width: 12em;
18
26
  text-decoration: none;
19
27
  }
20
28
 
29
+ .itemSmall {
30
+ min-width: 8em;
31
+ }
32
+
21
33
  .readMoreLink {
22
34
  appearance: none;
23
35
  background: none;
@@ -3,12 +3,23 @@ import cx from 'classnames';
3
3
  import get from 'lodash/get';
4
4
  import { METRIC_COMPONENT_LINKS } from '@bundle-stats/utils';
5
5
 
6
- import { METRICS_WEBPACK_GENERAL } from '../../constants';
6
+ import {
7
+ METRICS_WEBPACK_ASSETS,
8
+ METRICS_WEBPACK_GENERAL,
9
+ METRICS_WEBPACK_MODULES,
10
+ METRICS_WEBPACK_PACKAGES,
11
+ } from '../../constants';
7
12
  import { Box } from '../../layout/box';
8
13
  import { ComponentLink } from '../component-link';
9
14
  import { MetricRunInfo, MetricRunInfoProps } from '../metric-run-info';
10
15
  import css from './summary.module.css';
11
16
 
17
+ const METRICS_WEBPACK_OTHERS = [
18
+ ...METRICS_WEBPACK_ASSETS,
19
+ ...METRICS_WEBPACK_MODULES,
20
+ ...METRICS_WEBPACK_PACKAGES,
21
+ ];
22
+
12
23
  interface SummaryItemProps {
13
24
  metricId: string;
14
25
  data?: Record<string, SummaryItemData> | null;
@@ -63,8 +74,6 @@ interface SummaryItemData {
63
74
  }
64
75
 
65
76
  interface SummaryProps {
66
- size?: MetricRunInfoProps['size'];
67
- keys?: Array<string>;
68
77
  data?: SummaryItemProps['data'];
69
78
  loading?: boolean;
70
79
  showSummaryItemDelta?: SummaryItemProps['showDelta'];
@@ -74,8 +83,6 @@ interface SummaryProps {
74
83
 
75
84
  export const Summary = ({
76
85
  className = '',
77
- size = 'medium',
78
- keys = METRICS_WEBPACK_GENERAL,
79
86
  data = null,
80
87
  loading = false,
81
88
  showSummaryItemDelta = true,
@@ -83,20 +90,38 @@ export const Summary = ({
83
90
  summaryItemLink = ComponentLink,
84
91
  }: SummaryProps & React.ComponentProps<'div'>) => (
85
92
  <Box className={cx(css.root, className)}>
86
- <div className={css.items}>
87
- {keys.map((metricId) => (
93
+ <div className={css.wrapper}>
94
+ <div className={css.items}>
95
+ {METRICS_WEBPACK_GENERAL.map((metricId) => (
88
96
  <SummaryItem
89
97
  key={metricId}
90
98
  className={css.item}
91
99
  metricId={metricId}
92
100
  data={data}
93
- customLink={summaryItemLink}
94
- size={size}
95
101
  loading={loading}
102
+ customLink={summaryItemLink}
96
103
  showDelta={showSummaryItemDelta}
97
104
  showBaseline={showSummaryItemBaseline}
98
105
  />
99
106
  ))}
100
107
  </div>
108
+ </div>
109
+ <div className={css.wrapper}>
110
+ <div className={css.items}>
111
+ {METRICS_WEBPACK_OTHERS.map((metricId) => (
112
+ <SummaryItem
113
+ key={metricId}
114
+ className={cx(css.item, css.itemSmall)}
115
+ metricId={metricId}
116
+ data={data}
117
+ customLink={summaryItemLink}
118
+ size="small"
119
+ loading={loading}
120
+ showDelta={showSummaryItemDelta}
121
+ showBaseline={false}
122
+ />
123
+ ))}
124
+ </div>
125
+ </div>
101
126
  </Box>
102
127
  );
@@ -29,20 +29,20 @@
29
29
  /*
30
30
  * Color scheme:
31
31
  * https://coolors.co/287acc-da444e-55b950-f6e179-192339
32
- * http://mcg.mbitson.com/#!?mcgpalette0=%23da444e&mcgpalette1=%2355b950&mcgpalette2=%23f6e179&mcgpalette3=%23505861&mcgpalette4=%23287acc&themename=mcgtheme
32
+ * http://mcg.mbitson.com/#!?mcgpalette0=%23da444e&mcgpalette1=%2355b950&mcgpalette2=%23f3d966&mcgpalette3=%23353138&mcgpalette4=%23287acc&themename=mcgtheme
33
+ * https://hihayk.github.io/scale/#4/5/50/90/-51/0/0/14/353138/53/49/56/white
33
34
  */
34
- --color-gray-25: #f7f7f9;
35
- --color-gray-50: #ececee;
36
- --color-gray-100: #ced0d4;
37
- --color-gray-200: #aeb1b7;
38
- --color-gray-300: #8e929a;
39
- --color-gray-400: #757a85;
40
- --color-gray-500: #5d636f;
41
- --color-gray-600: #555b67;
42
- --color-gray-700: #4b515c;
43
- --color-gray-800: #414752;
44
- --color-gray-900: #303540;
45
-
35
+ --color-gray-25: #f9f9fa;
36
+ --color-gray-50: #e8e8e9;
37
+ --color-gray-100: #c6c5c7;
38
+ --color-gray-200: #a2a0a4;
39
+ --color-gray-300: #7e7b80;
40
+ --color-gray-400: #59565c;
41
+ --color-gray-500: #353138;
42
+ --color-gray-600: #302b31;
43
+ --color-gray-700: #2a252a;
44
+ --color-gray-800: #231e22;
45
+ --color-gray-900: #1c181b;
46
46
 
47
47
  --color-gray-ultra-light: var(--color-gray-200);
48
48
  --color-gray-light: var(--color-gray-300);
@@ -103,17 +103,17 @@
103
103
  --color-green-dark: var(--color-green-700);
104
104
  --color-green-ultra-dark: var(--color-green-900);
105
105
 
106
- --color-yellow-25: #FFFDF2;
107
- --color-yellow-50: #fefbef;
108
- --color-yellow-100: #fcf6d7;
109
- --color-yellow-200: #fbf0bc;
110
- --color-yellow-300: #f9eaa1;
111
- --color-yellow-400: #f7e68d;
112
- --color-yellow-500: #f6e179;
113
- --color-yellow-600: #f5dd71;
114
- --color-yellow-700: #f3d966;
115
- --color-yellow-800: #f2d55c;
116
- --color-yellow-900: #efcd49;
106
+ --color-yellow-25: #fffdf2;
107
+ --color-yellow-50: #fefaed;
108
+ --color-yellow-100: #fbf4d1;
109
+ --color-yellow-200: #f9ecb3;
110
+ --color-yellow-300: #f7e494;
111
+ --color-yellow-400: #f5df7d;
112
+ --color-yellow-500: #f3d966;
113
+ --color-yellow-600: #f1d55e;
114
+ --color-yellow-700: #efcf53;
115
+ --color-yellow-800: #edca49;
116
+ --color-yellow-900: #eac038;
117
117
 
118
118
  --color-yellow-light-background: var(--color-yellow-25);
119
119
  --color-yellow-ultra-light: var(--color-yellow-100);
@@ -196,7 +196,7 @@
196
196
  --outline-hover: 0 0 0 3px var(--color-highlight);
197
197
 
198
198
  /** Layout */
199
- --max-width: 80rem;
199
+ --max-width: 94rem;
200
200
  --entry-info-width: 640px;
201
201
  --entry-info-top: var(--header-height);
202
202
  }
@@ -62,6 +62,10 @@
62
62
  text-decoration: none;
63
63
  }
64
64
 
65
+ .item + .item {
66
+ margin-top: calc(var(--space-xxxsmall) / 2);
67
+ }
68
+
65
69
  .item[data-active-item],
66
70
  .item:hover,
67
71
  .item:focus,
@@ -28,20 +28,43 @@
28
28
  }
29
29
 
30
30
  .filterOnlyButton {
31
- padding: var(--space-xxxsmall);
31
+ padding: calc(var(--space-xxxsmall) / 2 - 1px) var(--space-xxxsmall);
32
32
  display: none;
33
33
  appearance: none;
34
34
  border: none;
35
- background: linear-gradient(90deg, rgba(255, 255, 255, 0), var(--color-highlight) 30%);
35
+ border-radius: var(--radius-small);
36
36
  cursor: pointer;
37
37
  position: absolute;
38
- right: 0;
39
- top: 0;
40
- bottom: 0;
38
+ right: 1px;
39
+ top: 1px;
40
+ bottom: 1px;
41
+ transition: var(--transition-in);
42
+ background: var(--color-info);
43
+ color: var(--color-background);
41
44
  font-size: var(--size-small);
42
45
  line-height: var(--space-xsmall);
43
46
  }
44
47
 
48
+ .filterOnlyButton:hover,
49
+ .filterOnlyButton:active,
50
+ .filterOnlyButton:focus {
51
+ transition: var(--transition-out);
52
+ background: var(--color-info-dark);
53
+ color: var(--color-background);
54
+ }
55
+
56
+ /** cover item text */
57
+ .filterOnlyButton::before {
58
+ content: ' ';
59
+ display: block;
60
+ position: absolute;
61
+ top: 0;
62
+ right: 100%;
63
+ bottom: 0;
64
+ width: var(--space-medium);
65
+ background: linear-gradient(90deg, rgba(255, 255, 255, 0), var(--color-highlight) 75%);
66
+ }
67
+
45
68
  /** filter disabled state */
46
69
  .filterInput[disabled] + .filterLabel {
47
70
  color: var(--color-text-light);
@@ -1 +1,2 @@
1
- export function App(props: any): JSX.Element;
1
+ export function App(props: any): React.JSX.Element;
2
+ import React from 'react';
@@ -3,5 +3,5 @@ import { JobsHeader } from '../../components/jobs-header';
3
3
  interface HeaderProps {
4
4
  jobs: React.ComponentProps<typeof JobsHeader>['jobs'];
5
5
  }
6
- export declare const Header: ({ className, jobs }: HeaderProps & React.ComponentProps<'header'>) => JSX.Element;
6
+ export declare const Header: ({ className, jobs }: HeaderProps & React.ComponentProps<'header'>) => React.JSX.Element;
7
7
  export {};
@@ -1 +1,2 @@
1
- export function SvgIcons(props: any): JSX.Element;
1
+ export function SvgIcons(props: any): React.JSX.Element;
2
+ import * as React from 'react';
@@ -17,5 +17,5 @@ interface AssetInfoProps {
17
17
  customComponentLink?: React.ElementType;
18
18
  onClose: () => void;
19
19
  }
20
- export declare const AssetInfo: (props: AssetInfoProps & React.ComponentProps<'div'>) => JSX.Element;
20
+ export declare const AssetInfo: (props: AssetInfoProps & React.ComponentProps<'div'>) => React.JSX.Element;
21
21
  export {};
@@ -4,5 +4,5 @@ interface AssetNotPredictiveProps {
4
4
  runs?: Array<Asset>;
5
5
  labels?: Array<string>;
6
6
  }
7
- export declare const AssetNotPredictive: (props: AssetNotPredictiveProps & React.ComponentProps<'div'>) => JSX.Element;
7
+ export declare const AssetNotPredictive: (props: AssetNotPredictiveProps & React.ComponentProps<'div'>) => React.JSX.Element;
8
8
  export {};
@@ -1,4 +1,4 @@
1
- export function BrowsertimeTable(props: any): JSX.Element;
1
+ export function BrowsertimeTable(props: any): React.JSX.Element;
2
2
  export namespace BrowsertimeTable {
3
3
  namespace defaultProps {
4
4
  let className: string;
@@ -11,4 +11,5 @@ export namespace BrowsertimeTable {
11
11
  export { jobs_1 as jobs };
12
12
  }
13
13
  }
14
+ import React from 'react';
14
15
  import PropTypes from 'prop-types';
@@ -1,4 +1,4 @@
1
- export function BundleAssets(props: any): JSX.Element;
1
+ export function BundleAssets(props: any): React.JSX.Element;
2
2
  export namespace BundleAssets {
3
3
  namespace defaultProps {
4
4
  export let className: string;
@@ -54,5 +54,6 @@ export namespace BundleAssets {
54
54
  export let hideEntryInfo: PropTypes.Validator<(...args: any[]) => any>;
55
55
  }
56
56
  }
57
+ import React from 'react';
57
58
  import { ComponentLink } from '../component-link';
58
59
  import PropTypes from 'prop-types';
@@ -1,4 +1,4 @@
1
- export function BundleAssets(props: any): JSX.Element;
1
+ export function BundleAssets(props: any): React.JSX.Element;
2
2
  export namespace BundleAssets {
3
3
  namespace propTypes {
4
4
  let jobs: PropTypes.Validator<(object | null | undefined)[]>;
@@ -19,4 +19,5 @@ export namespace BundleAssets {
19
19
  export { direction_1 as direction };
20
20
  }
21
21
  }
22
+ import React from 'react';
22
23
  import PropTypes from 'prop-types';
@@ -2,7 +2,7 @@ export function BundleAssetsTotalsChartBars({ className, jobs, customComponentLi
2
2
  className: any;
3
3
  jobs: any;
4
4
  customComponentLink: any;
5
- }): JSX.Element;
5
+ }): React.JSX.Element;
6
6
  export namespace BundleAssetsTotalsChartBars {
7
7
  namespace defaultProps {
8
8
  export let className: string;
@@ -17,5 +17,6 @@ export namespace BundleAssetsTotalsChartBars {
17
17
  export let customComponentLink: PropTypes.Requireable<PropTypes.ReactComponentLike>;
18
18
  }
19
19
  }
20
+ import React from 'react';
20
21
  import { ComponentLink } from '../component-link';
21
22
  import PropTypes from 'prop-types';
@@ -3,7 +3,7 @@ export function BundleAssetsTotalsTable({ className, jobs, customComponentLink:
3
3
  className: any;
4
4
  jobs: any;
5
5
  customComponentLink: any;
6
- }): JSX.Element;
6
+ }): React.JSX.Element;
7
7
  export namespace BundleAssetsTotalsTable {
8
8
  namespace defaultProps {
9
9
  export let className: string;
@@ -18,5 +18,6 @@ export namespace BundleAssetsTotalsTable {
18
18
  export let customComponentLink: PropTypes.Requireable<PropTypes.ReactComponentLike>;
19
19
  }
20
20
  }
21
+ import React from 'react';
21
22
  import { ComponentLink } from '../component-link';
22
23
  import PropTypes from 'prop-types';
@@ -17,7 +17,7 @@ export function BundleModules({ className, jobs, items, chunks, totalRowCount, u
17
17
  customComponentLink: any;
18
18
  allItems: any;
19
19
  hideEntryInfo: any;
20
- }): JSX.Element;
20
+ }): React.JSX.Element;
21
21
  export namespace BundleModules {
22
22
  namespace defaultProps {
23
23
  export let className: string;
@@ -59,5 +59,6 @@ export namespace BundleModules {
59
59
  export let hideEntryInfo: PropTypes.Validator<(...args: any[]) => any>;
60
60
  }
61
61
  }
62
+ import React from 'react';
62
63
  import { ComponentLink } from '../component-link';
63
64
  import PropTypes from 'prop-types';
@@ -1,4 +1,4 @@
1
- export function BundleModules(props: any): JSX.Element;
1
+ export function BundleModules(props: any): React.JSX.Element;
2
2
  export namespace BundleModules {
3
3
  namespace propTypes {
4
4
  let jobs: PropTypes.Validator<(object | null | undefined)[]>;
@@ -19,4 +19,5 @@ export namespace BundleModules {
19
19
  export { direction_1 as direction };
20
20
  }
21
21
  }
22
+ import React from 'react';
22
23
  import PropTypes from 'prop-types';
@@ -1,4 +1,4 @@
1
- export function BundlePackages(props: any): JSX.Element;
1
+ export function BundlePackages(props: any): React.JSX.Element;
2
2
  export namespace BundlePackages {
3
3
  namespace defaultProps {
4
4
  export let className: string;
@@ -44,5 +44,6 @@ export namespace BundlePackages {
44
44
  export let hideEntryInfo: PropTypes.Validator<(...args: any[]) => any>;
45
45
  }
46
46
  }
47
+ import React from 'react';
47
48
  import { ComponentLink } from '../component-link';
48
49
  import PropTypes from 'prop-types';
@@ -1,4 +1,4 @@
1
- export function BundlePackages(props: any): JSX.Element;
1
+ export function BundlePackages(props: any): React.JSX.Element;
2
2
  export namespace BundlePackages {
3
3
  namespace propTypes {
4
4
  let jobs: PropTypes.Validator<(object | null | undefined)[]>;
@@ -19,4 +19,5 @@ export namespace BundlePackages {
19
19
  export { direction_1 as direction };
20
20
  }
21
21
  }
22
+ import React from 'react';
22
23
  import PropTypes from 'prop-types';
@@ -3,7 +3,7 @@ export function ComponentLink({ section, title, params, ...props }: {
3
3
  section: any;
4
4
  title: any;
5
5
  params: any;
6
- }): JSX.Element;
6
+ }): React.JSX.Element;
7
7
  export namespace ComponentLink {
8
8
  namespace propTypes {
9
9
  let section: PropTypes.Validator<string>;
@@ -17,4 +17,5 @@ export namespace ComponentLink {
17
17
  export { params_1 as params };
18
18
  }
19
19
  }
20
+ import React from 'react';
20
21
  import PropTypes from 'prop-types';
@@ -3,7 +3,7 @@ export function Delta({ className, displayValue, deltaType, inverted }: {
3
3
  displayValue: any;
4
4
  deltaType: any;
5
5
  inverted: any;
6
- }): JSX.Element;
6
+ }): React.JSX.Element;
7
7
  export namespace Delta {
8
8
  namespace defaultProps {
9
9
  let className: string;
@@ -18,4 +18,5 @@ export namespace Delta {
18
18
  export { inverted_1 as inverted };
19
19
  }
20
20
  }
21
+ import React from 'react';
21
22
  import PropTypes from 'prop-types';
@@ -19,7 +19,7 @@ interface EntryInfoProps {
19
19
  onClose: () => void;
20
20
  }
21
21
  export declare const EntryInfo: {
22
- (props: EntryInfoProps & React.ComponentProps<'div'>): JSX.Element;
23
- Meta: ({ className, label, children, }: EntryInfoMetaProps & React.ComponentProps<'p'>) => JSX.Element;
22
+ (props: EntryInfoProps & React.ComponentProps<'div'>): React.JSX.Element;
23
+ Meta: ({ className, label, children, }: EntryInfoMetaProps & React.ComponentProps<'p'>) => React.JSX.Element;
24
24
  };
25
25
  export {};
@@ -3,5 +3,5 @@ import { InsightType } from '@bundle-stats/utils';
3
3
  interface InsightIconProps extends React.HTMLAttributes<'span'> {
4
4
  type: InsightType;
5
5
  }
6
- export declare const InsightIcon: (props: InsightIconProps) => JSX.Element;
6
+ export declare const InsightIcon: (props: InsightIconProps) => React.JSX.Element;
7
7
  export {};
@@ -4,5 +4,5 @@ interface InsightsProps extends React.HTMLAttributes<HTMLDivElement> {
4
4
  insights: JobInsightsInfo;
5
5
  customComponentLink?: React.ElementType;
6
6
  }
7
- export declare const Insights: (props: InsightsProps) => JSX.Element;
7
+ export declare const Insights: (props: InsightsProps) => React.JSX.Element;
8
8
  export {};
@@ -4,7 +4,7 @@ export function JobName({ as: Component, title, internalBuildNumber, children, .
4
4
  title: any;
5
5
  internalBuildNumber: any;
6
6
  children: any;
7
- }): JSX.Element;
7
+ }): React.JSX.Element;
8
8
  export namespace JobName {
9
9
  namespace defaultProps {
10
10
  let as: string;
@@ -23,4 +23,5 @@ export namespace JobName {
23
23
  export { children_1 as children };
24
24
  }
25
25
  }
26
+ import React from 'react';
26
27
  import PropTypes from 'prop-types';
@@ -11,9 +11,9 @@ interface ItemProps {
11
11
  };
12
12
  tag: string;
13
13
  }
14
- export declare const Item: (props: ItemProps & React.ComponentProps<'div'>) => JSX.Element;
14
+ export declare const Item: (props: ItemProps & React.ComponentProps<'div'>) => React.JSX.Element;
15
15
  interface JobsHeaderProps {
16
16
  jobs?: Array<ItemProps['job']> | null;
17
17
  }
18
- export declare const JobsHeader: (props: JobsHeaderProps & React.ComponentProps<'header'>) => JSX.Element;
18
+ export declare const JobsHeader: (props: JobsHeaderProps & React.ComponentProps<'header'>) => React.JSX.Element;
19
19
  export {};
@@ -1,4 +1,4 @@
1
- export function LighthouseTable(props: any): JSX.Element;
1
+ export function LighthouseTable(props: any): React.JSX.Element;
2
2
  export namespace LighthouseTable {
3
3
  namespace defaultProps {
4
4
  let className: string;
@@ -11,4 +11,5 @@ export namespace LighthouseTable {
11
11
  export { jobs_1 as jobs };
12
12
  }
13
13
  }
14
+ import React from 'react';
14
15
  import PropTypes from 'prop-types';
@@ -4,4 +4,4 @@ export interface MetricProps {
4
4
  unit?: string;
5
5
  inline?: boolean;
6
6
  }
7
- export declare const Metric: (props: MetricProps & React.ComponentProps<'div'>) => JSX.Element;
7
+ export declare const Metric: (props: MetricProps & React.ComponentProps<'div'>) => React.JSX.Element;
@@ -10,4 +10,4 @@ export interface MetricRunInfoProps {
10
10
  size?: RunInfoProps['size'];
11
11
  loading?: RunInfoProps['loading'];
12
12
  }
13
- export declare const MetricRunInfo: (props: MetricRunInfoProps & React.ComponentProps<'div'>) => JSX.Element;
13
+ export declare const MetricRunInfo: (props: MetricRunInfoProps & React.ComponentProps<'div'>) => React.JSX.Element;
@@ -1 +1,2 @@
1
- export function MetricsTable(props: any): JSX.Element;
1
+ export function MetricsTable(props: any): React.JSX.Element;
2
+ import React from 'react';
@@ -11,7 +11,7 @@ export function MetricsTable({ className, renderRowHeader, runs, items, emptyMes
11
11
  setShowAllItems: any;
12
12
  sort: any;
13
13
  updateSort: any;
14
- }): JSX.Element;
14
+ }): React.JSX.Element;
15
15
  export namespace MetricsTable {
16
16
  namespace defaultProps {
17
17
  let className: string;
@@ -44,4 +44,5 @@ export namespace MetricsTable {
44
44
  export { title_1 as title };
45
45
  }
46
46
  }
47
+ import React from 'react';
47
48
  import PropTypes from 'prop-types';