@bundle-stats/ui 4.3.0 → 4.3.3

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 (129) hide show
  1. package/lib/app/app.module.css +7 -4
  2. package/lib/assets/icons.svg +3 -0
  3. package/lib/assets/icons.svg.js +2 -0
  4. package/lib/assets/icons.svg.js.map +1 -1
  5. package/lib/components/asset-info/asset-info.js +8 -1
  6. package/lib/components/asset-info/asset-info.js.map +1 -1
  7. package/lib/components/asset-info/asset-info.module.css +10 -0
  8. package/lib/components/bundle-assets/bundle-assets.utils.js +3 -1
  9. package/lib/components/bundle-assets/bundle-assets.utils.js.map +1 -1
  10. package/lib/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js +4 -2
  11. package/lib/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js.map +1 -1
  12. package/lib/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.module.css +1 -1
  13. package/lib/components/bundle-modules/bundle-modules.js +11 -11
  14. package/lib/components/bundle-modules/bundle-modules.js.map +1 -1
  15. package/lib/components/bundle-modules/bundle-modules.utils.js +5 -5
  16. package/lib/components/bundle-modules/bundle-modules.utils.js.map +1 -1
  17. package/lib/components/bundle-modules/index.js +1 -1
  18. package/lib/components/bundle-modules/index.js.map +1 -1
  19. package/lib/components/index.js +1 -3
  20. package/lib/components/index.js.map +1 -1
  21. package/lib/components/job-header/job-header.js +12 -11
  22. package/lib/components/job-header/job-header.js.map +1 -1
  23. package/lib/components/jobs-header/index.js.map +1 -1
  24. package/lib/components/jobs-header/jobs-header.js +21 -14
  25. package/lib/components/jobs-header/jobs-header.js.map +1 -1
  26. package/lib/components/jobs-header/jobs-header.module.css +51 -4
  27. package/lib/components/module-info/module-info.js +20 -9
  28. package/lib/components/module-info/module-info.js.map +1 -1
  29. package/lib/components/module-info/module-info.module.css +7 -2
  30. package/lib/components/package-info/package-info.js +15 -8
  31. package/lib/components/package-info/package-info.js.map +1 -1
  32. package/lib/components/package-info/package-info.module.css +10 -0
  33. package/lib/components/summary/summary.js +1 -2
  34. package/lib/components/summary/summary.js.map +1 -1
  35. package/lib/components/summary/summary.module.css +11 -2
  36. package/lib/ui/horizontal-bar-chart/horizontal-bar-chart.module.css +2 -0
  37. package/lib/ui/icon/icon.js +1 -0
  38. package/lib/ui/icon/icon.js.map +1 -1
  39. package/lib/ui/tooltip/tooltip.module.css +0 -1
  40. package/lib-esm/app/app.module.css +7 -4
  41. package/lib-esm/assets/icons.svg +3 -0
  42. package/lib-esm/assets/icons.svg.js +2 -0
  43. package/lib-esm/assets/icons.svg.js.map +1 -1
  44. package/lib-esm/components/asset-info/asset-info.js +9 -2
  45. package/lib-esm/components/asset-info/asset-info.js.map +1 -1
  46. package/lib-esm/components/asset-info/asset-info.module.css +10 -0
  47. package/lib-esm/components/bundle-assets/bundle-assets.utils.js +3 -1
  48. package/lib-esm/components/bundle-assets/bundle-assets.utils.js.map +1 -1
  49. package/lib-esm/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js +4 -2
  50. package/lib-esm/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js.map +1 -1
  51. package/lib-esm/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.module.css +1 -1
  52. package/lib-esm/components/bundle-modules/bundle-modules.js +11 -11
  53. package/lib-esm/components/bundle-modules/bundle-modules.js.map +1 -1
  54. package/lib-esm/components/bundle-modules/bundle-modules.utils.js +3 -3
  55. package/lib-esm/components/bundle-modules/bundle-modules.utils.js.map +1 -1
  56. package/lib-esm/components/bundle-modules/index.js +2 -2
  57. package/lib-esm/components/bundle-modules/index.js.map +1 -1
  58. package/lib-esm/components/index.js +0 -1
  59. package/lib-esm/components/index.js.map +1 -1
  60. package/lib-esm/components/job-header/job-header.js +12 -11
  61. package/lib-esm/components/job-header/job-header.js.map +1 -1
  62. package/lib-esm/components/jobs-header/index.js.map +1 -1
  63. package/lib-esm/components/jobs-header/jobs-header.js +20 -13
  64. package/lib-esm/components/jobs-header/jobs-header.js.map +1 -1
  65. package/lib-esm/components/jobs-header/jobs-header.module.css +51 -4
  66. package/lib-esm/components/module-info/module-info.js +21 -10
  67. package/lib-esm/components/module-info/module-info.js.map +1 -1
  68. package/lib-esm/components/module-info/module-info.module.css +7 -2
  69. package/lib-esm/components/package-info/package-info.js +15 -8
  70. package/lib-esm/components/package-info/package-info.js.map +1 -1
  71. package/lib-esm/components/package-info/package-info.module.css +10 -0
  72. package/lib-esm/components/summary/summary.js +1 -2
  73. package/lib-esm/components/summary/summary.js.map +1 -1
  74. package/lib-esm/components/summary/summary.module.css +11 -2
  75. package/lib-esm/ui/horizontal-bar-chart/horizontal-bar-chart.module.css +2 -0
  76. package/lib-esm/ui/icon/icon.js +1 -0
  77. package/lib-esm/ui/icon/icon.js.map +1 -1
  78. package/lib-esm/ui/tooltip/tooltip.module.css +0 -1
  79. package/package.json +5 -5
  80. package/src/app/app.module.css +7 -4
  81. package/src/assets/icons/external-link.svg +1 -0
  82. package/src/assets/icons.svg +3 -0
  83. package/src/assets/icons.svg.jsx +13 -0
  84. package/src/components/asset-info/asset-info.module.css +10 -0
  85. package/src/components/asset-info/asset-info.tsx +30 -9
  86. package/src/components/bundle-assets/bundle-assets.utils.js +3 -2
  87. package/src/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.jsx +3 -2
  88. package/src/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.module.css +1 -1
  89. package/src/components/bundle-modules/bundle-modules.jsx +12 -11
  90. package/src/components/bundle-modules/bundle-modules.utils.js +5 -3
  91. package/src/components/bundle-modules/index.jsx +2 -2
  92. package/src/components/index.js +0 -1
  93. package/src/components/job-header/job-header.jsx +16 -13
  94. package/src/components/jobs-header/jobs-header.module.css +51 -4
  95. package/src/components/jobs-header/jobs-header.stories.tsx +51 -0
  96. package/src/components/jobs-header/jobs-header.tsx +90 -0
  97. package/src/components/module-info/module-info.module.css +7 -2
  98. package/src/components/module-info/module-info.tsx +45 -3
  99. package/src/components/package-info/package-info.module.css +10 -0
  100. package/src/components/package-info/package-info.tsx +46 -17
  101. package/src/components/summary/summary.module.css +11 -2
  102. package/src/components/summary/summary.tsx +15 -15
  103. package/src/ui/horizontal-bar-chart/horizontal-bar-chart.module.css +2 -0
  104. package/src/ui/icon/icon.jsx +1 -0
  105. package/src/ui/tooltip/tooltip.module.css +0 -1
  106. package/types/components/asset-info/asset-info.d.ts +1 -0
  107. package/types/components/bundle-modules/bundle-modules.utils.d.ts +1 -1
  108. package/types/components/index.d.ts +0 -1
  109. package/types/components/jobs-header/index.d.ts +1 -1
  110. package/types/components/jobs-header/jobs-header.d.ts +18 -15
  111. package/types/components/module-info/module-info.d.ts +2 -0
  112. package/types/ui/icon/icon.d.ts +1 -0
  113. package/lib/components/job-meta/index.js +0 -18
  114. package/lib/components/job-meta/index.js.map +0 -1
  115. package/lib/components/job-meta/job-meta.js +0 -34
  116. package/lib/components/job-meta/job-meta.js.map +0 -1
  117. package/lib/components/job-meta/job-meta.module.css +0 -19
  118. package/lib-esm/components/job-meta/index.js +0 -2
  119. package/lib-esm/components/job-meta/index.js.map +0 -1
  120. package/lib-esm/components/job-meta/job-meta.js +0 -27
  121. package/lib-esm/components/job-meta/job-meta.js.map +0 -1
  122. package/lib-esm/components/job-meta/job-meta.module.css +0 -19
  123. package/src/components/job-meta/index.js +0 -1
  124. package/src/components/job-meta/job-meta.jsx +0 -47
  125. package/src/components/job-meta/job-meta.module.css +0 -19
  126. package/src/components/jobs-header/jobs-header.jsx +0 -43
  127. package/types/components/job-meta/index.d.ts +0 -1
  128. package/types/components/job-meta/job-meta.d.ts +0 -18
  129. /package/src/components/jobs-header/{index.js → index.ts} +0 -0
@@ -17,6 +17,7 @@ import { FileName } from '../../ui/file-name';
17
17
  import { Tag } from '../../ui/tag';
18
18
  import { EntryInfo } from '../entry-info';
19
19
  import css from './package-info.module.css';
20
+ import { Icon } from '../../ui';
20
21
 
21
22
  interface PackageInfoProps {
22
23
  name: string;
@@ -36,19 +37,29 @@ export const PackageInfo = (props: PackageInfoProps & React.ComponentProps<'div'
36
37
  item,
37
38
  labels,
38
39
  customComponentLink: CustomComponentLink = ComponentLink,
39
- onClick = noop
40
+ onClick = noop,
40
41
  } = props;
41
42
 
42
- const fallbackPackagePath = `node_modules/${item.label.split(PACKAGES_SEPARATOR).join('/node_modules/')}`;
43
+ const fallbackPackagePath = `node_modules/${item.label
44
+ .split(PACKAGES_SEPARATOR)
45
+ .join('/node_modules/')}`;
43
46
  const normalizedPackagePath = `${item.runs?.[0]?.path || fallbackPackagePath}/`;
44
47
  const [normalizedName, packageId] = name.split(PACKAGE_ID_SEPARATOR);
45
48
 
46
- const packageTitle = useMemo(() => (
47
- <span className={css.packageTitle}>
48
- <span className={css.packageTitleText}>{normalizedName}</span>
49
- {packageId && <span className={css.packageTitleId}>{PACKAGE_ID_SEPARATOR}{packageId}</span>}
50
- </span>
51
- ), [normalizedName, packageId]);
49
+ const packageTitle = useMemo(
50
+ () => (
51
+ <span className={css.packageTitle}>
52
+ <span className={css.packageTitleText}>{normalizedName}</span>
53
+ {packageId && (
54
+ <span className={css.packageTitleId}>
55
+ {PACKAGE_ID_SEPARATOR}
56
+ {packageId}
57
+ </span>
58
+ )}
59
+ </span>
60
+ ),
61
+ [normalizedName, packageId],
62
+ );
52
63
 
53
64
  const tags = useMemo(() => {
54
65
  if (!item.duplicate) {
@@ -57,7 +68,14 @@ export const PackageInfo = (props: PackageInfoProps & React.ComponentProps<'div'
57
68
 
58
69
  return (
59
70
  <div>
60
- <Tag as={CustomComponentLink} {...BUNDLE_PACKAGES_DUPLICATE} onClick={onClick} kind="danger">Duplicate</Tag>
71
+ <Tag
72
+ as={CustomComponentLink}
73
+ {...BUNDLE_PACKAGES_DUPLICATE}
74
+ onClick={onClick}
75
+ kind="danger"
76
+ >
77
+ Duplicate
78
+ </Tag>
61
79
  </div>
62
80
  );
63
81
  }, [item]);
@@ -72,12 +90,15 @@ export const PackageInfo = (props: PackageInfoProps & React.ComponentProps<'div'
72
90
  className={className}
73
91
  >
74
92
  <Stack space="small">
75
- <p>Path: <FileName name={normalizedPackagePath} className={css.fileName} /></p>
93
+ <p>
94
+ <span className={css.label}>Path</span>
95
+ <FileName name={normalizedPackagePath} className={css.fileName} />
96
+ </p>
76
97
 
77
98
  <Stack space="xxxsmall">
78
99
  {item.duplicate && (
79
100
  <div>
80
- <CustomComponentLink {...getBundlePackagesByNameComponentLink(normalizedName)}>
101
+ <CustomComponentLink {...getBundlePackagesByNameComponentLink(normalizedName)} onClick={onClick}>
81
102
  View all duplicate instances
82
103
  </CustomComponentLink>
83
104
  </div>
@@ -89,22 +110,30 @@ export const PackageInfo = (props: PackageInfoProps & React.ComponentProps<'div'
89
110
  </Stack>
90
111
 
91
112
  <FlexStack space="xsmall" alignItems="center" className={css.external}>
92
- <a
113
+ <FlexStack
114
+ space="xxxsmall"
115
+ alignItems="center"
116
+ as="a"
93
117
  href={`https://www.npmjs.com/package/${normalizedName}`}
94
118
  target="_blank"
95
119
  rel="noreferrer"
96
120
  className={css.externalLink}
97
121
  >
98
- npmjs.com
99
- </a>
100
- <a
122
+ <span>npmjs.com</span>
123
+ <Icon glyph={Icon.ICONS.EXTERNAL_LINK} size="small" />
124
+ </FlexStack>
125
+ <FlexStack
126
+ space="xxxsmall"
127
+ alignItems="center"
128
+ as="a"
101
129
  href={`https://bundlephobia.com/result?p=${normalizedName}`}
102
130
  target="_blank"
103
131
  rel="noreferrer"
104
132
  className={css.externalLink}
105
133
  >
106
- bundlephobia.com
107
- </a>
134
+ <span>bundlephobia.com</span>
135
+ <Icon glyph={Icon.ICONS.EXTERNAL_LINK} size="small" />
136
+ </FlexStack>
108
137
  </FlexStack>
109
138
  </Stack>
110
139
  </EntryInfo>
@@ -1,10 +1,20 @@
1
1
  .root {
2
+ --summary-gap: var(--space-small);
2
3
  width: 100%;
3
4
  }
4
5
 
6
+ .items {
7
+ display: flex;
8
+ flex-wrap: wrap;
9
+ width: calc(100% + var(--summary-gap));
10
+ margin-top: calc(0px - var(--summary-gap));
11
+ margin-left: calc(0px - var(--summary-gap));
12
+ }
13
+
5
14
  .item {
15
+ margin: var(--summary-gap) 0 0 var(--summary-gap);
6
16
  flex: 1 0 10%; /* force equal sizes */
7
- min-width: 16em;
17
+ min-width: 14em;
8
18
  text-decoration: none;
9
19
  }
10
20
 
@@ -25,4 +35,3 @@
25
35
  color: var(--color-primary-dark);
26
36
  text-decoration: none;
27
37
  }
28
-
@@ -84,20 +84,20 @@ export const Summary = ({
84
84
  summaryItemLink = ComponentLink,
85
85
  }: SummaryProps & React.ComponentProps<'div'>) => (
86
86
  <Box className={cx(css.root, className)}>
87
- <FlexStack space="small" className={css.items}>
88
- {keys.map((metricId) => (
89
- <SummaryItem
90
- key={metricId}
91
- className={css.item}
92
- metricId={metricId}
93
- data={data}
94
- customLink={summaryItemLink}
95
- size={size}
96
- loading={loading}
97
- showDelta={showSummaryItemDelta}
98
- showBaseline={showSummaryItemBaseline}
99
- />
100
- ))}
101
- </FlexStack>
87
+ <div className={css.items}>
88
+ {keys.map((metricId) => (
89
+ <SummaryItem
90
+ key={metricId}
91
+ className={css.item}
92
+ metricId={metricId}
93
+ data={data}
94
+ customLink={summaryItemLink}
95
+ size={size}
96
+ loading={loading}
97
+ showDelta={showSummaryItemDelta}
98
+ showBaseline={showSummaryItemBaseline}
99
+ />
100
+ ))}
101
+ </div>
102
102
  </Box>
103
103
  );
@@ -3,6 +3,8 @@
3
3
  display: flex;
4
4
  align-items: stretch;
5
5
  justify-content: flex-start;
6
+ width: 100%;
7
+ overflow: hidden;
6
8
  }
7
9
 
8
10
  .item {
@@ -12,6 +12,7 @@ const ICONS = {
12
12
  CLOCK: 'clock',
13
13
  COMMIT: 'commit',
14
14
  ERROR: 'error',
15
+ EXTERNAL_LINK: 'external-link',
15
16
  FILTER: 'filter',
16
17
  INFO: 'info',
17
18
  HELP: 'help',
@@ -19,7 +19,6 @@
19
19
  filter: drop-shadow(var(--shadow-layer));
20
20
  will-change: filter;
21
21
  font-size: var(--size-xsmall);
22
- text-align: center;
23
22
  }
24
23
 
25
24
  .arrow svg {
@@ -9,6 +9,7 @@ interface AssetInfoProps {
9
9
  isEntry?: boolean;
10
10
  isInitial?: boolean;
11
11
  isNotPredicative?: boolean;
12
+ fileType?: string;
12
13
  runs: Array<Asset & MetricRunInfo>;
13
14
  };
14
15
  chunks?: Array<MetaChunk>;
@@ -1,4 +1,4 @@
1
- export function addRowSourceFlag(row: any): any;
1
+ export function addRowFlags(row: any): any;
2
2
  export function getCustomSort(sortBy: any): (item: any) => any;
3
3
  export function getRowFilter(filters: any): (row: any) => boolean;
4
4
  export function useModuleFilterByChunk({ jobs, filters, chunkIds }: {
@@ -9,7 +9,6 @@ export { Delta } from "./delta";
9
9
  export { InsightIcon } from "./insight-icon";
10
10
  export { Insights } from "./insights";
11
11
  export { JobName } from "./job-name";
12
- export { JobHeader } from "./job-header";
13
12
  export { JobsHeader } from "./jobs-header";
14
13
  export { LighthouseTable } from "./lighthouse-table";
15
14
  export { Metric } from "./metric";
@@ -1 +1 @@
1
- export * from "./jobs-header";
1
+ export * from './jobs-header';
@@ -1,16 +1,19 @@
1
- export function JobsHeader(props: any): JSX.Element;
2
- export namespace JobsHeader {
3
- namespace propTypes {
4
- const className: PropTypes.Requireable<string>;
5
- const jobs: PropTypes.Requireable<(PropTypes.InferProps<{
6
- internalBuildNumber: PropTypes.Requireable<number>;
7
- }> | null | undefined)[]>;
8
- }
9
- namespace defaultProps {
10
- const className_1: string;
11
- export { className_1 as className };
12
- const jobs_1: null;
13
- export { jobs_1 as jobs };
14
- }
1
+ import React from 'react';
2
+ interface ItemProps {
3
+ job: {
4
+ internalBuildNumber: number;
5
+ meta?: {
6
+ webpack?: {
7
+ builtAt?: string;
8
+ hash?: string;
9
+ };
10
+ };
11
+ };
12
+ tag: string;
15
13
  }
16
- import PropTypes from 'prop-types';
14
+ export declare const Item: (props: ItemProps & React.ComponentProps<'div'>) => JSX.Element;
15
+ interface JobsHeaderProps {
16
+ jobs?: Array<ItemProps['job']> | null;
17
+ }
18
+ export declare const JobsHeader: (props: JobsHeaderProps & React.ComponentProps<'header'>) => JSX.Element;
19
+ export {};
@@ -6,6 +6,8 @@ interface ModuleInfoProps {
6
6
  label: string;
7
7
  changed?: boolean;
8
8
  duplicated?: boolean;
9
+ thirdParty?: boolean;
10
+ fileType?: string;
9
11
  runs: Array<Module & MetricRunInfo>;
10
12
  };
11
13
  chunks?: Array<MetaChunk>;
@@ -29,6 +29,7 @@ declare namespace ICONS {
29
29
  const CLOCK: string;
30
30
  const COMMIT: string;
31
31
  const ERROR: string;
32
+ const EXTERNAL_LINK: string;
32
33
  const FILTER: string;
33
34
  const INFO: string;
34
35
  const HELP: string;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./job-meta"), exports);
18
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/job-meta/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B"}
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.JobMeta = void 0;
7
- const react_1 = __importDefault(require("react"));
8
- const prop_types_1 = __importDefault(require("prop-types"));
9
- const classnames_1 = __importDefault(require("classnames"));
10
- const job_meta_module_css_1 = __importDefault(require("./job-meta.module.css"));
11
- const JobMeta = (props) => {
12
- const { as: Component, className, meta, ...restProps } = props;
13
- const rootClassName = (0, classnames_1.default)(job_meta_module_css_1.default.root, className);
14
- return (react_1.default.createElement(Component, { className: rootClassName, ...restProps }, meta.map(({ title, content }, index) => {
15
- const key = index;
16
- return (react_1.default.createElement("div", { className: job_meta_module_css_1.default.item, key: key },
17
- title && (react_1.default.createElement("h2", { className: job_meta_module_css_1.default.itemTitle }, title)),
18
- content.map((item) => item)));
19
- })));
20
- };
21
- exports.JobMeta = JobMeta;
22
- exports.JobMeta.propTypes = {
23
- className: prop_types_1.default.string,
24
- meta: prop_types_1.default.arrayOf(prop_types_1.default.shape({
25
- title: prop_types_1.default.oneOfType([prop_types_1.default.string, prop_types_1.default.element]),
26
- content: prop_types_1.default.arrayOf(prop_types_1.default.oneOfType([prop_types_1.default.string, prop_types_1.default.element])),
27
- })).isRequired,
28
- as: prop_types_1.default.oneOfType([prop_types_1.default.string, prop_types_1.default.element]),
29
- };
30
- exports.JobMeta.defaultProps = {
31
- className: '',
32
- as: 'div',
33
- };
34
- //# sourceMappingURL=job-meta.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"job-meta.js","sourceRoot":"","sources":["../../../src/components/job-meta/job-meta.jsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,4DAAmC;AACnC,4DAA4B;AAE5B,gFAAwC;AAEjC,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;IAC/B,MAAM,EACJ,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,SAAS,EAC7C,GAAG,KAAK,CAAC;IAEV,MAAM,aAAa,GAAG,IAAA,oBAAE,EAAC,6BAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAE9C,OAAO,CACL,8BAAC,SAAS,IAAC,SAAS,EAAE,aAAa,KAAM,SAAS,IAC/C,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE;QACtC,MAAM,GAAG,GAAG,KAAK,CAAC;QAElB,OAAO,CACL,uCAAK,SAAS,EAAE,6BAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG;YAC/B,KAAK,IAAI,CAAC,sCAAI,SAAS,EAAE,6BAAG,CAAC,SAAS,IAAG,KAAK,CAAM,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CACxB,CACP,CAAC;IACJ,CAAC,CAAC,CACQ,CACb,CAAC;AACJ,CAAC,CAAC;AArBW,QAAA,OAAO,WAqBlB;AAEF,eAAO,CAAC,SAAS,GAAG;IAElB,SAAS,EAAE,oBAAS,CAAC,MAAM;IAG3B,IAAI,EAAE,oBAAS,CAAC,OAAO,CAAC,oBAAS,CAAC,KAAK,CAAC;QACtC,KAAK,EAAE,oBAAS,CAAC,SAAS,CAAC,CAAC,oBAAS,CAAC,MAAM,EAAE,oBAAS,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,EAAE,oBAAS,CAAC,OAAO,CAAC,oBAAS,CAAC,SAAS,CAAC,CAAC,oBAAS,CAAC,MAAM,EAAE,oBAAS,CAAC,OAAO,CAAC,CAAC,CAAC;KACvF,CAAC,CAAC,CAAC,UAAU;IAGd,EAAE,EAAE,oBAAS,CAAC,SAAS,CAAC,CAAC,oBAAS,CAAC,MAAM,EAAE,oBAAS,CAAC,OAAO,CAAC,CAAC;CAC/D,CAAC;AAEF,eAAO,CAAC,YAAY,GAAG;IACrB,SAAS,EAAE,EAAE;IACb,EAAE,EAAE,KAAK;CACV,CAAC"}
@@ -1,19 +0,0 @@
1
- .root {
2
- padding: var(--space-xsmall) var(--space-small);
3
- display: flex;
4
- }
5
-
6
- .item {
7
- flex: 1 1 100%;
8
- }
9
-
10
- .itemTitle {
11
- margin: 0;
12
- font-size: 1em;
13
- font-weight: bold;
14
- color: var(--color-text-light);
15
- }
16
-
17
- .item + .item {
18
- margin-left: var(--space-xsmall);
19
- }
@@ -1,2 +0,0 @@
1
- export * from './job-meta';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/job-meta/index.js"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -1,27 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import cx from 'classnames';
4
- import css from './job-meta.module.css';
5
- export const JobMeta = (props) => {
6
- const { as: Component, className, meta, ...restProps } = props;
7
- const rootClassName = cx(css.root, className);
8
- return (React.createElement(Component, { className: rootClassName, ...restProps }, meta.map(({ title, content }, index) => {
9
- const key = index;
10
- return (React.createElement("div", { className: css.item, key: key },
11
- title && (React.createElement("h2", { className: css.itemTitle }, title)),
12
- content.map((item) => item)));
13
- })));
14
- };
15
- JobMeta.propTypes = {
16
- className: PropTypes.string,
17
- meta: PropTypes.arrayOf(PropTypes.shape({
18
- title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
19
- content: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.element])),
20
- })).isRequired,
21
- as: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
22
- };
23
- JobMeta.defaultProps = {
24
- className: '',
25
- as: 'div',
26
- };
27
- //# sourceMappingURL=job-meta.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"job-meta.js","sourceRoot":"","sources":["../../../src/components/job-meta/job-meta.jsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,GAAG,MAAM,uBAAuB,CAAC;AAExC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;IAC/B,MAAM,EACJ,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,SAAS,EAC7C,GAAG,KAAK,CAAC;IAEV,MAAM,aAAa,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAE9C,OAAO,CACL,oBAAC,SAAS,IAAC,SAAS,EAAE,aAAa,KAAM,SAAS,IAC/C,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE;QACtC,MAAM,GAAG,GAAG,KAAK,CAAC;QAElB,OAAO,CACL,6BAAK,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG;YAC/B,KAAK,IAAI,CAAC,4BAAI,SAAS,EAAE,GAAG,CAAC,SAAS,IAAG,KAAK,CAAM,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CACxB,CACP,CAAC;IACJ,CAAC,CAAC,CACQ,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,CAAC,SAAS,GAAG;IAElB,SAAS,EAAE,SAAS,CAAC,MAAM;IAG3B,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC;QACtC,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;KACvF,CAAC,CAAC,CAAC,UAAU;IAGd,EAAE,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;CAC/D,CAAC;AAEF,OAAO,CAAC,YAAY,GAAG;IACrB,SAAS,EAAE,EAAE;IACb,EAAE,EAAE,KAAK;CACV,CAAC"}
@@ -1,19 +0,0 @@
1
- .root {
2
- padding: var(--space-xsmall) var(--space-small);
3
- display: flex;
4
- }
5
-
6
- .item {
7
- flex: 1 1 100%;
8
- }
9
-
10
- .itemTitle {
11
- margin: 0;
12
- font-size: 1em;
13
- font-weight: bold;
14
- color: var(--color-text-light);
15
- }
16
-
17
- .item + .item {
18
- margin-left: var(--space-xsmall);
19
- }
@@ -1 +0,0 @@
1
- export * from './job-meta';
@@ -1,47 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import cx from 'classnames';
4
-
5
- import css from './job-meta.module.css';
6
-
7
- export const JobMeta = (props) => {
8
- const {
9
- as: Component, className, meta, ...restProps
10
- } = props;
11
-
12
- const rootClassName = cx(css.root, className);
13
-
14
- return (
15
- <Component className={rootClassName} {...restProps}>
16
- {meta.map(({ title, content }, index) => {
17
- const key = index;
18
-
19
- return (
20
- <div className={css.item} key={key}>
21
- {title && (<h2 className={css.itemTitle}>{title}</h2>)}
22
- {content.map((item) => item)}
23
- </div>
24
- );
25
- })}
26
- </Component>
27
- );
28
- };
29
-
30
- JobMeta.propTypes = {
31
- /** Adopted child class name */
32
- className: PropTypes.string,
33
-
34
- /** Contrnt */
35
- meta: PropTypes.arrayOf(PropTypes.shape({
36
- title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
37
- content: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.element])),
38
- })).isRequired,
39
-
40
- /** Render component */
41
- as: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
42
- };
43
-
44
- JobMeta.defaultProps = {
45
- className: '',
46
- as: 'div',
47
- };
@@ -1,19 +0,0 @@
1
- .root {
2
- padding: var(--space-xsmall) var(--space-small);
3
- display: flex;
4
- }
5
-
6
- .item {
7
- flex: 1 1 100%;
8
- }
9
-
10
- .itemTitle {
11
- margin: 0;
12
- font-size: 1em;
13
- font-weight: bold;
14
- color: var(--color-text-light);
15
- }
16
-
17
- .item + .item {
18
- margin-left: var(--space-xsmall);
19
- }
@@ -1,43 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import cx from 'classnames';
4
-
5
- import I18N from '../../i18n';
6
- import { FlexStack } from '../../layout/flex-stack';
7
- import { JobHeader } from '../job-header';
8
- import css from './jobs-header.module.css';
9
-
10
- export const JobsHeader = (props) => {
11
- const { className, jobs } = props;
12
- const rootClassName = cx(css.root, className);
13
-
14
- return (
15
- <FlexStack className={rootClassName} space="none">
16
- {jobs?.map((job, index) => (
17
- <JobHeader
18
- key={job.internalBuildNumber || index}
19
- className={css.item}
20
- job={job}
21
- tag={index === 0 ? I18N.CURRENT : I18N.BASELINE}
22
- />
23
- ))}
24
- </FlexStack>
25
- );
26
- };
27
-
28
- JobsHeader.propTypes = {
29
- /** Adopted child classname */
30
- className: PropTypes.string,
31
-
32
- /** Jobs data */
33
- jobs: PropTypes.arrayOf(
34
- PropTypes.shape({
35
- internalBuildNumber: PropTypes.number,
36
- }),
37
- ),
38
- };
39
-
40
- JobsHeader.defaultProps = {
41
- className: '',
42
- jobs: null,
43
- };
@@ -1 +0,0 @@
1
- export * from "./job-meta";
@@ -1,18 +0,0 @@
1
- export function JobMeta(props: any): JSX.Element;
2
- export namespace JobMeta {
3
- namespace propTypes {
4
- const className: PropTypes.Requireable<string>;
5
- const meta: PropTypes.Validator<(PropTypes.InferProps<{
6
- title: PropTypes.Requireable<NonNullable<string | PropTypes.ReactElementLike | null | undefined>>;
7
- content: PropTypes.Requireable<(NonNullable<string | PropTypes.ReactElementLike | null | undefined> | null | undefined)[]>;
8
- }> | null | undefined)[]>;
9
- const as: PropTypes.Requireable<NonNullable<string | PropTypes.ReactElementLike | null | undefined>>;
10
- }
11
- namespace defaultProps {
12
- const className_1: string;
13
- export { className_1 as className };
14
- const as_1: string;
15
- export { as_1 as as };
16
- }
17
- }
18
- import PropTypes from 'prop-types';