@bundle-stats/ui 4.12.1 → 4.13.0-beta.2

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 (182) hide show
  1. package/lib/app/app.js +3 -7
  2. package/lib/app/app.js.map +1 -1
  3. package/lib/assets/icons.svg +26 -20
  4. package/lib/assets/icons.svg.js +27 -23
  5. package/lib/assets/icons.svg.js.map +1 -1
  6. package/lib/components/bundle-assets/bundle-assets.js +11 -3
  7. package/lib/components/bundle-assets/bundle-assets.js.map +1 -1
  8. package/lib/components/bundle-assets/index.js +3 -4
  9. package/lib/components/bundle-assets/index.js.map +1 -1
  10. package/lib/components/bundle-assets-totals/bundle-assets-totals.js +77 -0
  11. package/lib/components/bundle-assets-totals/bundle-assets-totals.js.map +1 -0
  12. package/lib/components/bundle-assets-totals/bundle-assets-totals.module.css +7 -0
  13. package/lib/{ui/horizontal-bar-chart → components/bundle-assets-totals}/index.js +1 -1
  14. package/lib/components/bundle-assets-totals/index.js.map +1 -0
  15. package/lib/components/bundle-modules/bundle-modules.js +9 -2
  16. package/lib/components/bundle-modules/bundle-modules.js.map +1 -1
  17. package/lib/components/bundle-modules/index.js +3 -4
  18. package/lib/components/bundle-modules/index.js.map +1 -1
  19. package/lib/components/bundle-packages/bundle-packages.js +10 -2
  20. package/lib/components/bundle-packages/bundle-packages.js.map +1 -1
  21. package/lib/components/bundle-packages/index.js +3 -4
  22. package/lib/components/bundle-packages/index.js.map +1 -1
  23. package/lib/components/index.js +3 -5
  24. package/lib/components/index.js.map +1 -1
  25. package/lib/components/{bundle-assets-totals-table → metrics-display-selector}/index.js +1 -1
  26. package/lib/components/metrics-display-selector/index.js.map +1 -0
  27. package/lib/components/metrics-display-selector/metrics-display-selector.js +21 -0
  28. package/lib/components/metrics-display-selector/metrics-display-selector.js.map +1 -0
  29. package/lib/components/metrics-display-selector/metrics-display-selector.module.css +10 -0
  30. package/lib/components/{bundle-assets-totals-chart-bars → metrics-treemap}/index.js +1 -1
  31. package/lib/components/metrics-treemap/index.js.map +1 -0
  32. package/lib/components/metrics-treemap/metrics-treemap.js +168 -0
  33. package/lib/components/metrics-treemap/metrics-treemap.js.map +1 -0
  34. package/lib/components/metrics-treemap/metrics-treemap.module.css +184 -0
  35. package/lib/constants.js +6 -1
  36. package/lib/constants.js.map +1 -1
  37. package/lib/hooks/entry-info.js +12 -0
  38. package/lib/hooks/entry-info.js.map +1 -0
  39. package/lib/hooks/metrics-display-type.js +40 -0
  40. package/lib/hooks/metrics-display-type.js.map +1 -0
  41. package/lib/query-state.js +1 -1
  42. package/lib/query-state.js.map +1 -1
  43. package/lib/ui/button/button.module.css +1 -0
  44. package/lib/ui/icon/icon.js +2 -0
  45. package/lib/ui/icon/icon.js.map +1 -1
  46. package/lib/ui/index.js +1 -3
  47. package/lib/ui/index.js.map +1 -1
  48. package/lib-esm/app/app.js +3 -7
  49. package/lib-esm/app/app.js.map +1 -1
  50. package/lib-esm/assets/icons.svg +26 -20
  51. package/lib-esm/assets/icons.svg.js +27 -23
  52. package/lib-esm/assets/icons.svg.js.map +1 -1
  53. package/lib-esm/components/bundle-assets/bundle-assets.js +11 -3
  54. package/lib-esm/components/bundle-assets/bundle-assets.js.map +1 -1
  55. package/lib-esm/components/bundle-assets/index.js +5 -6
  56. package/lib-esm/components/bundle-assets/index.js.map +1 -1
  57. package/lib-esm/components/bundle-assets-totals/bundle-assets-totals.js +47 -0
  58. package/lib-esm/components/bundle-assets-totals/bundle-assets-totals.js.map +1 -0
  59. package/lib-esm/components/bundle-assets-totals/bundle-assets-totals.module.css +7 -0
  60. package/lib-esm/components/bundle-assets-totals/index.js +2 -0
  61. package/lib-esm/components/bundle-assets-totals/index.js.map +1 -0
  62. package/lib-esm/components/bundle-modules/bundle-modules.js +9 -2
  63. package/lib-esm/components/bundle-modules/bundle-modules.js.map +1 -1
  64. package/lib-esm/components/bundle-modules/index.js +3 -4
  65. package/lib-esm/components/bundle-modules/index.js.map +1 -1
  66. package/lib-esm/components/bundle-packages/bundle-packages.js +10 -2
  67. package/lib-esm/components/bundle-packages/bundle-packages.js.map +1 -1
  68. package/lib-esm/components/bundle-packages/index.js +5 -6
  69. package/lib-esm/components/bundle-packages/index.js.map +1 -1
  70. package/lib-esm/components/index.js +1 -2
  71. package/lib-esm/components/index.js.map +1 -1
  72. package/lib-esm/components/metrics-display-selector/index.js +2 -0
  73. package/lib-esm/components/metrics-display-selector/index.js.map +1 -0
  74. package/lib-esm/components/metrics-display-selector/metrics-display-selector.js +14 -0
  75. package/lib-esm/components/metrics-display-selector/metrics-display-selector.js.map +1 -0
  76. package/lib-esm/components/metrics-display-selector/metrics-display-selector.module.css +10 -0
  77. package/lib-esm/components/metrics-treemap/index.js +2 -0
  78. package/lib-esm/components/metrics-treemap/index.js.map +1 -0
  79. package/lib-esm/components/metrics-treemap/metrics-treemap.js +140 -0
  80. package/lib-esm/components/metrics-treemap/metrics-treemap.js.map +1 -0
  81. package/lib-esm/components/metrics-treemap/metrics-treemap.module.css +184 -0
  82. package/lib-esm/constants.js +5 -0
  83. package/lib-esm/constants.js.map +1 -1
  84. package/lib-esm/hooks/entry-info.js +8 -0
  85. package/lib-esm/hooks/entry-info.js.map +1 -0
  86. package/lib-esm/hooks/metrics-display-type.js +36 -0
  87. package/lib-esm/hooks/metrics-display-type.js.map +1 -0
  88. package/lib-esm/query-state.js +1 -1
  89. package/lib-esm/query-state.js.map +1 -1
  90. package/lib-esm/ui/button/button.module.css +1 -0
  91. package/lib-esm/ui/icon/icon.js +2 -0
  92. package/lib-esm/ui/icon/icon.js.map +1 -1
  93. package/lib-esm/ui/index.js +0 -1
  94. package/lib-esm/ui/index.js.map +1 -1
  95. package/package.json +7 -4
  96. package/src/app/app.jsx +4 -8
  97. package/src/assets/icons/table.svg +3 -0
  98. package/src/assets/icons/treemap.svg +4 -0
  99. package/src/assets/icons.svg +26 -20
  100. package/src/assets/icons.svg.jsx +91 -55
  101. package/src/components/bundle-assets/bundle-assets.jsx +25 -11
  102. package/src/components/bundle-assets/index.jsx +10 -5
  103. package/src/components/bundle-assets-totals/bundle-assets-totals.jsx +94 -0
  104. package/src/components/bundle-assets-totals/bundle-assets-totals.module.css +7 -0
  105. package/src/components/bundle-assets-totals/index.js +1 -0
  106. package/src/components/bundle-modules/bundle-modules.tsx +26 -12
  107. package/src/components/bundle-modules/index.tsx +4 -3
  108. package/src/components/bundle-packages/bundle-packages.jsx +24 -10
  109. package/src/components/bundle-packages/index.jsx +10 -5
  110. package/src/components/index.js +1 -2
  111. package/src/components/metrics-display-selector/index.tsx +1 -0
  112. package/src/components/metrics-display-selector/metrics-display-selector.module.css +10 -0
  113. package/src/components/metrics-display-selector/metrics-display-selector.tsx +47 -0
  114. package/src/components/metrics-treemap/index.ts +1 -0
  115. package/src/components/metrics-treemap/metrics-treemap.module.css +184 -0
  116. package/src/components/metrics-treemap/metrics-treemap.stories.tsx +23 -0
  117. package/src/components/metrics-treemap/metrics-treemap.tsx +308 -0
  118. package/src/{constants.js → constants.ts} +5 -0
  119. package/src/hooks/entry-info.ts +19 -0
  120. package/src/hooks/metrics-display-type.ts +56 -0
  121. package/src/query-state.tsx +1 -1
  122. package/src/types.d.ts +2 -0
  123. package/src/ui/button/button.module.css +1 -0
  124. package/src/ui/icon/icon.tsx +2 -0
  125. package/src/ui/index.js +0 -1
  126. package/types/components/bundle-assets/bundle-assets.d.ts +2 -1
  127. package/types/components/{bundle-assets-totals-table/bundle-assets-totals-table.d.ts → bundle-assets-totals/bundle-assets-totals.d.ts} +2 -2
  128. package/types/components/bundle-assets-totals/index.d.ts +1 -0
  129. package/types/components/bundle-modules/bundle-modules.d.ts +2 -1
  130. package/types/components/bundle-modules/index.d.ts +1 -1
  131. package/types/components/bundle-packages/bundle-packages.d.ts +1 -0
  132. package/types/components/index.d.ts +1 -2
  133. package/types/components/metrics-display-selector/index.d.ts +1 -0
  134. package/types/components/metrics-display-selector/metrics-display-selector.d.ts +9 -0
  135. package/types/components/metrics-treemap/index.d.ts +1 -0
  136. package/types/components/metrics-treemap/metrics-treemap.d.ts +9 -0
  137. package/types/constants.d.ts +19 -15
  138. package/types/hooks/entry-info.d.ts +8 -0
  139. package/types/hooks/metrics-display-type.d.ts +4 -0
  140. package/types/ui/icon/icon.d.ts +4 -0
  141. package/types/ui/index.d.ts +0 -1
  142. package/lib/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js +0 -95
  143. package/lib/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js.map +0 -1
  144. package/lib/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.module.css +0 -42
  145. package/lib/components/bundle-assets-totals-chart-bars/index.js.map +0 -1
  146. package/lib/components/bundle-assets-totals-table/bundle-assets-totals-table.js +0 -57
  147. package/lib/components/bundle-assets-totals-table/bundle-assets-totals-table.js.map +0 -1
  148. package/lib/components/bundle-assets-totals-table/bundle-assets-totals-table.module.css +0 -3
  149. package/lib/components/bundle-assets-totals-table/index.js.map +0 -1
  150. package/lib/ui/horizontal-bar-chart/horizontal-bar-chart.js +0 -102
  151. package/lib/ui/horizontal-bar-chart/horizontal-bar-chart.js.map +0 -1
  152. package/lib/ui/horizontal-bar-chart/horizontal-bar-chart.module.css +0 -42
  153. package/lib/ui/horizontal-bar-chart/index.js.map +0 -1
  154. package/lib-esm/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js +0 -66
  155. package/lib-esm/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js.map +0 -1
  156. package/lib-esm/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.module.css +0 -42
  157. package/lib-esm/components/bundle-assets-totals-chart-bars/index.js +0 -2
  158. package/lib-esm/components/bundle-assets-totals-chart-bars/index.js.map +0 -1
  159. package/lib-esm/components/bundle-assets-totals-table/bundle-assets-totals-table.js +0 -27
  160. package/lib-esm/components/bundle-assets-totals-table/bundle-assets-totals-table.js.map +0 -1
  161. package/lib-esm/components/bundle-assets-totals-table/bundle-assets-totals-table.module.css +0 -3
  162. package/lib-esm/components/bundle-assets-totals-table/index.js +0 -2
  163. package/lib-esm/components/bundle-assets-totals-table/index.js.map +0 -1
  164. package/lib-esm/ui/horizontal-bar-chart/horizontal-bar-chart.js +0 -96
  165. package/lib-esm/ui/horizontal-bar-chart/horizontal-bar-chart.js.map +0 -1
  166. package/lib-esm/ui/horizontal-bar-chart/horizontal-bar-chart.module.css +0 -42
  167. package/lib-esm/ui/horizontal-bar-chart/index.js +0 -2
  168. package/lib-esm/ui/horizontal-bar-chart/index.js.map +0 -1
  169. package/src/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.jsx +0 -106
  170. package/src/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.module.css +0 -42
  171. package/src/components/bundle-assets-totals-chart-bars/index.js +0 -1
  172. package/src/components/bundle-assets-totals-table/bundle-assets-totals-table.jsx +0 -55
  173. package/src/components/bundle-assets-totals-table/bundle-assets-totals-table.module.css +0 -3
  174. package/src/components/bundle-assets-totals-table/index.js +0 -1
  175. package/src/ui/horizontal-bar-chart/horizontal-bar-chart.jsx +0 -156
  176. package/src/ui/horizontal-bar-chart/horizontal-bar-chart.module.css +0 -42
  177. package/src/ui/horizontal-bar-chart/index.js +0 -1
  178. package/types/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.d.ts +0 -22
  179. package/types/components/bundle-assets-totals-chart-bars/index.d.ts +0 -1
  180. package/types/components/bundle-assets-totals-table/index.d.ts +0 -1
  181. package/types/ui/horizontal-bar-chart/horizontal-bar-chart.d.ts +0 -23
  182. package/types/ui/horizontal-bar-chart/index.d.ts +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"horizontal-bar-chart.js","sourceRoot":"","sources":["../../../src/ui/horizontal-bar-chart/horizontal-bar-chart.jsx"],"names":[],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- .root {
2
- background: var(--color-highlight);
3
- display: flex;
4
- align-items: stretch;
5
- justify-content: flex-start;
6
- width: 100%;
7
- overflow: hidden;
8
- }
9
-
10
- .item {
11
- flex: 0 1 auto;
12
- background: var(--color-text);
13
- display: inline-flex;
14
- min-width: var(--space-xxxsmall);
15
- min-height: var(--space-medium);
16
- }
17
-
18
- .itemContent {
19
- display: flex;
20
- width: 100%;
21
- height: 100%;
22
- padding: var(--space-xxsmall);
23
- align-items: center;
24
- justify-content: center;
25
-
26
- color: var(--color-background);
27
- font-weight: bold;
28
- text-overflow: ellipsis;
29
- text-align: center;
30
- }
31
-
32
- .itemLabel {
33
- position: absolute;
34
- left: 50%;
35
- top: 50%;
36
- transform: translate(-50%, -50%);
37
- visibility: visible;
38
- }
39
-
40
- .textOverflowed .itemLabel {
41
- visibility: hidden;
42
- }
@@ -1,2 +0,0 @@
1
- export * from './horizontal-bar-chart';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/horizontal-bar-chart/index.js"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
@@ -1,106 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import cx from 'classnames';
4
- import map from 'lodash/map';
5
- import max from 'lodash/max';
6
- import sum from 'lodash/sum';
7
- import * as webpack from '@bundle-stats/utils/lib-esm/webpack';
8
- import { getBundleAssetsFileTypeComponentLink, getGlobalMetricType, getMetricRunInfo } from '@bundle-stats/utils';
9
-
10
- import { ASSETS_SIZES_FILE_TYPE_MAP } from '../../constants';
11
- import { HorizontalBarChart } from '../../ui/horizontal-bar-chart';
12
- import { ComponentLink } from '../component-link'
13
- import { getColors } from '../../utils';
14
- import { Stack } from '../../layout/stack';
15
- import { JobName } from '../job-name';
16
- import { MetricRunInfo } from '../metric-run-info';
17
- import css from './bundle-assets-totals-chart-bars.module.css';
18
-
19
- const getTooltip = (items, jobs, itemIndex, runIndex) => () => {
20
- const metricId = items?.[itemIndex]?.key;
21
- const current = items?.[itemIndex]?.runs?.[runIndex]?.value || 0;
22
- const baseline = items?.[itemIndex]?.runs?.[runIndex + 1]?.value;
23
-
24
- return (
25
- <MetricRunInfo
26
- className={css.itemTooltip}
27
- metricId={metricId}
28
- current={current}
29
- baseline={baseline}
30
- showMetridDescription={false}
31
- size="large"
32
- />
33
- );
34
- };
35
-
36
- export const BundleAssetsTotalsChartBars = ({
37
- className,
38
- jobs,
39
- customComponentLink: CustomComponentLink,
40
- }) => {
41
- const rootClassName = cx(css.root, className);
42
- const items = webpack.compareBySection.sizes(jobs);
43
-
44
- const dataGraphs = [];
45
-
46
- items.forEach(({ runs }) => {
47
- runs.forEach((run, runIndex) => {
48
- dataGraphs[runIndex] = [...(dataGraphs[runIndex] || []), run?.value || 0];
49
- });
50
- });
51
-
52
- const maxValues = max(map(dataGraphs, (values) => sum(values)));
53
- const maxValue = max(maxValues);
54
-
55
- const labels = items.map(({ key, label }) => {
56
- const fileType = ASSETS_SIZES_FILE_TYPE_MAP[key];
57
- const componentData = getBundleAssetsFileTypeComponentLink(fileType, label);
58
- return (
59
- <CustomComponentLink className={css.itemLink} {...componentData}>
60
- {label}
61
- </CustomComponentLink>
62
- );
63
- });
64
- const colors = getColors(max(map(dataGraphs, (values) => values.length)));
65
-
66
- return (
67
- <Stack className={rootClassName} space="small">
68
- {dataGraphs.map((data, runIndex) => {
69
- const { internalBuildNumber } = jobs[runIndex];
70
-
71
- const values = data.map((value, valueIndex) => ({
72
- value,
73
- color: colors[valueIndex],
74
- label: labels[valueIndex],
75
- getItemTooltip: getTooltip(items, jobs, valueIndex, runIndex),
76
- }));
77
-
78
- return (
79
- <div key={internalBuildNumber || runIndex} className={css.item}>
80
- <h3 className={css.itemTitle}><JobName internalBuildNumber={internalBuildNumber} /></h3>
81
- <HorizontalBarChart
82
- className={css.itemChart}
83
- data={{ labels, values }}
84
- maxValue={maxValue}
85
- />
86
- </div>
87
- );
88
- })}
89
- </Stack>
90
- );
91
- };
92
-
93
- BundleAssetsTotalsChartBars.defaultProps = {
94
- className: '',
95
- customComponentLink: ComponentLink,
96
- };
97
-
98
- BundleAssetsTotalsChartBars.propTypes = {
99
- className: PropTypes.string,
100
- jobs: PropTypes.arrayOf(
101
- PropTypes.shape({
102
- internalBuildNumber: PropTypes.number,
103
- }),
104
- ).isRequired,
105
- customComponentLink: PropTypes.elementType,
106
- };
@@ -1,42 +0,0 @@
1
- .item {
2
- position: relative;
3
- }
4
-
5
- .itemTitle {
6
- position: absolute;
7
- right: 0;
8
- bottom: 100%;
9
- margin: 0 0 2px;
10
-
11
- color: var(--color-text-light);
12
- font-size: var(--size-xsmall);
13
- font-weight: bold;
14
- line-height: 1.1;
15
- text-transform: uppercase;
16
- }
17
-
18
- .item:hover .itemTitle {
19
- color: var(--color-text);
20
- }
21
-
22
- .itemChart {
23
- height: var(--space-large);
24
- }
25
-
26
- .itemTooltip {
27
- padding: var(--space-xxsmall) var(--space-xxxsmall);
28
- min-width: 240px;
29
- text-align: left;
30
- font-size: var(--size-medium);
31
- line-height: var(--line-height);
32
- }
33
-
34
- .itemLink {
35
- color: inherit;
36
- text-decoration: none;
37
- }
38
-
39
- .itemLink:hover {
40
- color: inherit;
41
- text-decoration: underline;
42
- }
@@ -1 +0,0 @@
1
- export * from './bundle-assets-totals-chart-bars';
@@ -1,55 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { getBundleAssetsFileTypeComponentLink } from '@bundle-stats/utils';
4
- import * as webpack from '@bundle-stats/utils/lib-esm/webpack';
5
-
6
- import { ASSETS_SIZES_FILE_TYPE_MAP } from '../../constants';
7
- import { MetricsTable } from '../metrics-table';
8
- import { ComponentLink } from '../component-link';
9
-
10
- export const BundleAssetsTotalsTable = ({
11
- className,
12
- jobs,
13
- customComponentLink: CustomComponentLink,
14
- ...restProps
15
- }) => {
16
- const items = webpack.compareBySection.sizes(jobs);
17
-
18
- const renderRowHeader = (item) => {
19
- const fileType = ASSETS_SIZES_FILE_TYPE_MAP[item.key];
20
- const { section, title, params } = getBundleAssetsFileTypeComponentLink(fileType, item.label);
21
-
22
- return (
23
- <CustomComponentLink section={section} title={title} params={params}>
24
- {item.label}
25
- </CustomComponentLink>
26
- );
27
- };
28
-
29
- return (
30
- <MetricsTable
31
- className={className}
32
- runs={jobs}
33
- items={items}
34
- renderRowHeader={renderRowHeader}
35
- showHeaderSum
36
- {...restProps}
37
- />
38
- );
39
- };
40
-
41
- BundleAssetsTotalsTable.defaultProps = {
42
- className: '',
43
- jobs: [],
44
- customComponentLink: ComponentLink,
45
- };
46
-
47
- BundleAssetsTotalsTable.propTypes = {
48
- /** Addopted child class name */
49
- className: PropTypes.string,
50
-
51
- /** Jobs data */
52
- jobs: PropTypes.array, // eslint-disable-line react/forbid-prop-types
53
-
54
- customComponentLink: PropTypes.elementType,
55
- };
@@ -1,3 +0,0 @@
1
- .title {
2
- color: var(--color-text-light);
3
- }
@@ -1 +0,0 @@
1
- export * from './bundle-assets-totals-table';
@@ -1,156 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import round from 'lodash/round';
4
- import sum from 'lodash/sum';
5
- import cx from 'classnames';
6
-
7
- import { getColors } from '../../utils';
8
- import { Tooltip } from '../tooltip';
9
- import css from './horizontal-bar-chart.module.css';
10
-
11
- class HorizontalBarChartItem extends React.Component {
12
- constructor(props) {
13
- super(props);
14
-
15
- this.textRef = React.createRef();
16
- this.ref = React.createRef();
17
-
18
- this.state = {
19
- isTextOverflowing: true,
20
- };
21
- }
22
-
23
- componentDidMount() {
24
- const wrapperWidth = this.ref?.current?.clientWidth || 0;
25
- const textWidth = this.textRef?.current?.scrollWidth || 0;
26
-
27
- if (wrapperWidth >= (textWidth + 2 * 4)) {
28
- this.setState({ isTextOverflowing: false });
29
- }
30
- }
31
-
32
- render() {
33
- const {
34
- color, label, getItemTooltip, width,
35
- } = this.props;
36
- const { isTextOverflowing } = this.state;
37
- const tooltipContent = getItemTooltip();
38
-
39
- return (
40
- <span
41
- className={cx(css.item, isTextOverflowing && css.textOverflowed)}
42
- style={{
43
- width,
44
- background: color,
45
- }}
46
- ref={this.ref}
47
- >
48
- <Tooltip
49
- className={css.itemContent}
50
- title={tooltipContent}
51
- darkMode={false}
52
- >
53
- <span className={css.itemLabel} ref={this.textRef}>
54
- {label}
55
- </span>
56
- </Tooltip>
57
- </span>
58
- );
59
- }
60
- }
61
-
62
- HorizontalBarChartItem.propTypes = {
63
- width: PropTypes.string.isRequired,
64
- color: PropTypes.string.isRequired,
65
- label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,
66
- getItemTooltip: PropTypes.func,
67
- };
68
-
69
- HorizontalBarChartItem.defaultProps = {
70
- getItemTooltip: () => null,
71
- };
72
-
73
- const getTotalValues = (values) => sum(values.map((entry) => {
74
- if (typeof entry === 'object') {
75
- return entry.value;
76
- }
77
-
78
- return entry;
79
- }));
80
-
81
- export const HorizontalBarChart = (props) => {
82
- const { className, data, maxValue } = props;
83
- const { labels, values } = data;
84
-
85
- const defaultColors = getColors(labels.length);
86
- const total = maxValue || getTotalValues(values);
87
-
88
- const entries = values.reduce((agg, entry, index) => {
89
- const {
90
- value,
91
- color = defaultColors[index],
92
- label = labels[index],
93
- getItemTooltip,
94
- } = typeof entry === 'object' ? entry : { value: entry };
95
-
96
- const width = `${round((value / total) * 100, 2)}%`;
97
-
98
- return [
99
- ...agg,
100
- {
101
- value,
102
- width,
103
- color,
104
- label,
105
- getItemTooltip,
106
- },
107
- ];
108
- }, []);
109
-
110
- return (
111
- <div className={cx(css.root, className)}>
112
- {entries.map(({
113
- color, getItemTooltip, label, width,
114
- }, index) => {
115
- const key = index;
116
-
117
- return (
118
- <HorizontalBarChartItem
119
- key={key}
120
- width={width}
121
- color={color}
122
- label={label}
123
- getItemTooltip={getItemTooltip}
124
- className={css.item}
125
- />
126
- );
127
- })}
128
- </div>
129
- );
130
- };
131
-
132
- HorizontalBarChart.defaultProps = {
133
- className: '',
134
- maxValue: null,
135
- };
136
-
137
- HorizontalBarChart.propTypes = {
138
- /** Adopted child class name */
139
- className: PropTypes.string,
140
-
141
- /** Data */
142
- data: PropTypes.shape({
143
- labels: PropTypes.arrayOf(PropTypes.string),
144
- values: PropTypes.arrayOf(PropTypes.oneOfType([
145
- PropTypes.number,
146
- PropTypes.shape({
147
- value: PropTypes.number,
148
- color: PropTypes.string,
149
- label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
150
- }),
151
- ])),
152
- }).isRequired,
153
-
154
- /** Mac value */
155
- maxValue: PropTypes.number,
156
- };
@@ -1,42 +0,0 @@
1
- .root {
2
- background: var(--color-highlight);
3
- display: flex;
4
- align-items: stretch;
5
- justify-content: flex-start;
6
- width: 100%;
7
- overflow: hidden;
8
- }
9
-
10
- .item {
11
- flex: 0 1 auto;
12
- background: var(--color-text);
13
- display: inline-flex;
14
- min-width: var(--space-xxxsmall);
15
- min-height: var(--space-medium);
16
- }
17
-
18
- .itemContent {
19
- display: flex;
20
- width: 100%;
21
- height: 100%;
22
- padding: var(--space-xxsmall);
23
- align-items: center;
24
- justify-content: center;
25
-
26
- color: var(--color-background);
27
- font-weight: bold;
28
- text-overflow: ellipsis;
29
- text-align: center;
30
- }
31
-
32
- .itemLabel {
33
- position: absolute;
34
- left: 50%;
35
- top: 50%;
36
- transform: translate(-50%, -50%);
37
- visibility: visible;
38
- }
39
-
40
- .textOverflowed .itemLabel {
41
- visibility: hidden;
42
- }
@@ -1 +0,0 @@
1
- export * from './horizontal-bar-chart';
@@ -1,22 +0,0 @@
1
- export function BundleAssetsTotalsChartBars({ className, jobs, customComponentLink: CustomComponentLink, }: {
2
- className: any;
3
- jobs: any;
4
- customComponentLink: any;
5
- }): React.JSX.Element;
6
- export namespace BundleAssetsTotalsChartBars {
7
- namespace defaultProps {
8
- export let className: string;
9
- export { ComponentLink as customComponentLink };
10
- }
11
- namespace propTypes {
12
- let className_1: PropTypes.Requireable<string>;
13
- export { className_1 as className };
14
- export let jobs: PropTypes.Validator<(PropTypes.InferProps<{
15
- internalBuildNumber: PropTypes.Requireable<number>;
16
- }> | null | undefined)[]>;
17
- export let customComponentLink: PropTypes.Requireable<PropTypes.ReactComponentLike>;
18
- }
19
- }
20
- import React from 'react';
21
- import { ComponentLink } from '../component-link';
22
- import PropTypes from 'prop-types';
@@ -1 +0,0 @@
1
- export * from "./bundle-assets-totals-chart-bars";
@@ -1 +0,0 @@
1
- export * from "./bundle-assets-totals-table";
@@ -1,23 +0,0 @@
1
- export function HorizontalBarChart(props: any): React.JSX.Element;
2
- export namespace HorizontalBarChart {
3
- namespace defaultProps {
4
- let className: string;
5
- let maxValue: null;
6
- }
7
- namespace propTypes {
8
- let className_1: PropTypes.Requireable<string>;
9
- export { className_1 as className };
10
- export let data: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
11
- labels: PropTypes.Requireable<(string | null | undefined)[]>;
12
- values: PropTypes.Requireable<(NonNullable<number | PropTypes.InferProps<{
13
- value: PropTypes.Requireable<number>;
14
- color: PropTypes.Requireable<string>;
15
- label: PropTypes.Requireable<NonNullable<string | PropTypes.ReactElementLike | null | undefined>>;
16
- }> | null | undefined> | null | undefined)[]>;
17
- }>>>;
18
- let maxValue_1: PropTypes.Requireable<number>;
19
- export { maxValue_1 as maxValue };
20
- }
21
- }
22
- import React from 'react';
23
- import PropTypes from 'prop-types';
@@ -1 +0,0 @@
1
- export * from "./horizontal-bar-chart";