@bundle-stats/ui 4.4.0-beta.1 → 4.4.0-beta.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.
- package/globals.d.ts +4 -0
- package/lib/app/app.js +21 -9
- package/lib/app/app.js.map +1 -1
- package/lib/app/app.module.css +8 -5
- package/lib/app/header/header.js +9 -12
- package/lib/app/header/header.js.map +1 -1
- package/lib/app/header/header.module.css +27 -20
- package/lib/app/header/index.js.map +1 -1
- package/lib/assets/icons.svg +11 -4
- package/lib/assets/icons.svg.js +8 -3
- package/lib/assets/icons.svg.js.map +1 -1
- package/lib/components/asset-info/asset-info.js +48 -44
- package/lib/components/asset-info/asset-info.js.map +1 -1
- package/lib/components/asset-info/asset-info.module.css +28 -6
- package/lib/components/asset-info/index.js.map +1 -1
- package/lib/components/asset-not-predictive/asset-not-predictive.js +28 -0
- package/lib/components/asset-not-predictive/asset-not-predictive.js.map +1 -0
- package/lib/components/asset-not-predictive/asset-not-predictive.module.css +3 -0
- package/lib/components/asset-not-predictive/index.js +18 -0
- package/lib/components/asset-not-predictive/index.js.map +1 -0
- package/lib/components/bundle-assets/bundle-assets.js +31 -44
- package/lib/components/bundle-assets/bundle-assets.js.map +1 -1
- package/lib/components/bundle-assets/bundle-assets.module.css +20 -19
- package/lib/components/bundle-assets/bundle-assets.utils.js +3 -1
- package/lib/components/bundle-assets/bundle-assets.utils.js.map +1 -1
- package/lib/components/bundle-assets/index.js +4 -1
- package/lib/components/bundle-assets/index.js.map +1 -1
- package/lib/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js +11 -7
- package/lib/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js.map +1 -1
- package/lib/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.module.css +1 -1
- package/lib/components/bundle-modules/bundle-modules.js +30 -40
- package/lib/components/bundle-modules/bundle-modules.js.map +1 -1
- package/lib/components/bundle-modules/bundle-modules.module.css +11 -3
- package/lib/components/bundle-modules/bundle-modules.utils.js +5 -5
- package/lib/components/bundle-modules/bundle-modules.utils.js.map +1 -1
- package/lib/components/bundle-modules/index.js +5 -2
- package/lib/components/bundle-modules/index.js.map +1 -1
- package/lib/components/bundle-packages/bundle-packages.js +36 -61
- package/lib/components/bundle-packages/bundle-packages.js.map +1 -1
- package/lib/components/bundle-packages/bundle-packages.module.css +12 -14
- package/lib/components/bundle-packages/index.js +4 -1
- package/lib/components/bundle-packages/index.js.map +1 -1
- package/lib/components/delta/delta.module.css +2 -1
- package/lib/components/entry-info/entry-info.js +56 -0
- package/lib/components/entry-info/entry-info.js.map +1 -0
- package/lib/components/entry-info/entry-info.module.css +93 -0
- package/lib/components/{summary-item → entry-info}/index.js +1 -1
- package/lib/components/entry-info/index.js.map +1 -0
- package/lib/components/index.js +7 -5
- package/lib/components/index.js.map +1 -1
- package/lib/components/insight-icon/index.js +18 -0
- package/lib/components/insight-icon/index.js.map +1 -0
- package/lib/components/insight-icon/insight-icon.js +25 -0
- package/lib/components/insight-icon/insight-icon.js.map +1 -0
- package/lib/components/insight-icon/insight-icon.module.css +24 -0
- package/lib/components/insights/insights.js +6 -39
- package/lib/components/insights/insights.js.map +1 -1
- package/lib/components/insights/insights.module.css +1 -19
- package/lib/components/job-header/job-header.js +12 -11
- package/lib/components/job-header/job-header.js.map +1 -1
- package/lib/components/jobs-header/index.js.map +1 -1
- package/lib/components/jobs-header/jobs-header.js +21 -14
- package/lib/components/jobs-header/jobs-header.js.map +1 -1
- package/lib/components/jobs-header/jobs-header.module.css +51 -4
- package/lib/components/metric/index.js.map +1 -1
- package/lib/components/metric/metric.js +7 -64
- package/lib/components/metric/metric.js.map +1 -1
- package/lib/components/metric/metric.module.css +3 -3
- package/lib/components/metric-run-info/index.js +18 -0
- package/lib/components/metric-run-info/index.js.map +1 -0
- package/lib/components/metric-run-info/metric-run-info.js +64 -0
- package/lib/components/metric-run-info/metric-run-info.js.map +1 -0
- package/lib/components/metric-run-info/metric-run-info.module.css +18 -0
- package/lib/components/metrics-table-options/metrics-table-options.js +1 -1
- package/lib/components/metrics-table-options/metrics-table-options.js.map +1 -1
- package/lib/components/metrics-table-search/metrics-table-search.module.css +0 -6
- package/lib/components/metrics-table-title/metrics-table-title.module.css +1 -0
- package/lib/components/module-info/index.js.map +1 -1
- package/lib/components/module-info/module-info.js +47 -47
- package/lib/components/module-info/module-info.js.map +1 -1
- package/lib/components/module-info/module-info.module.css +8 -33
- package/lib/components/package-info/index.js +18 -0
- package/lib/components/package-info/index.js.map +1 -0
- package/lib/components/package-info/package-info.js +77 -0
- package/lib/components/package-info/package-info.js.map +1 -0
- package/lib/components/package-info/package-info.module.css +13 -0
- package/lib/components/{job-meta → run-info}/index.js +1 -1
- package/lib/components/run-info/index.js.map +1 -0
- package/lib/components/run-info/run-info.js +70 -0
- package/lib/components/run-info/run-info.js.map +1 -0
- package/lib/components/run-info/run-info.module.css +76 -0
- package/lib/components/summary/index.js.map +1 -1
- package/lib/components/summary/summary.js +10 -31
- package/lib/components/summary/summary.js.map +1 -1
- package/lib/components/summary/summary.module.css +27 -7
- package/lib/config.json +1 -1
- package/lib/constants.js +1 -23
- package/lib/constants.js.map +1 -1
- package/lib/css/variables.css +22 -15
- package/lib/layout/box/box.js +3 -23
- package/lib/layout/box/box.js.map +1 -1
- package/lib/layout/box/box.module.css +11 -0
- package/lib/layout/box/index.js +15 -3
- package/lib/layout/box/index.js.map +1 -1
- package/lib/layout/flex-stack/flex-stack.js +3 -19
- package/lib/layout/flex-stack/flex-stack.js.map +1 -1
- package/lib/layout/flex-stack/index.js.map +1 -1
- package/lib/layout/footer/footer.js +2 -4
- package/lib/layout/footer/footer.js.map +1 -1
- package/lib/layout/stack/index.js.map +1 -1
- package/lib/layout/stack/stack.js +3 -16
- package/lib/layout/stack/stack.js.map +1 -1
- package/lib/tokens.js +38 -0
- package/lib/tokens.js.map +1 -0
- package/lib/ui/alert/alert.js +2 -12
- package/lib/ui/alert/alert.js.map +1 -1
- package/lib/ui/alert/index.js.map +1 -1
- package/lib/ui/container/container.js +1 -10
- package/lib/ui/container/container.js.map +1 -1
- package/lib/ui/container/index.js +15 -3
- package/lib/ui/container/index.js.map +1 -1
- package/lib/ui/dropdown/dropdown.module.css +1 -2
- package/lib/ui/file-name/file-name.js +1 -1
- package/lib/ui/file-name/file-name.js.map +1 -1
- package/lib/ui/filters/filters.module.css +1 -5
- package/lib/ui/horizontal-bar-chart/horizontal-bar-chart.module.css +2 -0
- package/lib/ui/hover-card/hover-card.js +3 -21
- package/lib/ui/hover-card/hover-card.js.map +1 -1
- package/lib/ui/hover-card/index.js.map +1 -1
- package/lib/ui/icon/icon.js +14 -18
- package/lib/ui/icon/icon.js.map +1 -1
- package/lib/ui/icon/index.js.map +1 -1
- package/lib/ui/index.js +1 -3
- package/lib/ui/index.js.map +1 -1
- package/lib/ui/input/input.module.css +3 -4
- package/lib/ui/table/index.js.map +1 -1
- package/lib/ui/table/table.js +3 -17
- package/lib/ui/table/table.js.map +1 -1
- package/lib/ui/tag/index.js.map +1 -1
- package/lib/ui/tag/tag.js +5 -29
- package/lib/ui/tag/tag.js.map +1 -1
- package/lib/ui/tag/tag.module.css +15 -1
- package/lib/ui/tooltip/index.js.map +1 -1
- package/lib/ui/tooltip/tooltip.js +3 -23
- package/lib/ui/tooltip/tooltip.js.map +1 -1
- package/lib/ui/tooltip/tooltip.module.css +3 -4
- package/lib-esm/app/app.js +22 -10
- package/lib-esm/app/app.js.map +1 -1
- package/lib-esm/app/app.module.css +8 -5
- package/lib-esm/app/header/header.js +9 -12
- package/lib-esm/app/header/header.js.map +1 -1
- package/lib-esm/app/header/header.module.css +27 -20
- package/lib-esm/app/header/index.js.map +1 -1
- package/lib-esm/assets/icons.svg +11 -4
- package/lib-esm/assets/icons.svg.js +8 -3
- package/lib-esm/assets/icons.svg.js.map +1 -1
- package/lib-esm/components/asset-info/asset-info.js +27 -45
- package/lib-esm/components/asset-info/asset-info.js.map +1 -1
- package/lib-esm/components/asset-info/asset-info.module.css +28 -6
- package/lib-esm/components/asset-info/index.js.map +1 -1
- package/lib-esm/components/asset-not-predictive/asset-not-predictive.js +21 -0
- package/lib-esm/components/asset-not-predictive/asset-not-predictive.js.map +1 -0
- package/lib-esm/components/asset-not-predictive/asset-not-predictive.module.css +3 -0
- package/lib-esm/components/asset-not-predictive/index.js +2 -0
- package/lib-esm/components/asset-not-predictive/index.js.map +1 -0
- package/lib-esm/components/bundle-assets/bundle-assets.js +34 -49
- package/lib-esm/components/bundle-assets/bundle-assets.js.map +1 -1
- package/lib-esm/components/bundle-assets/bundle-assets.module.css +20 -19
- package/lib-esm/components/bundle-assets/bundle-assets.utils.js +3 -1
- package/lib-esm/components/bundle-assets/bundle-assets.utils.js.map +1 -1
- package/lib-esm/components/bundle-assets/index.js +5 -2
- package/lib-esm/components/bundle-assets/index.js.map +1 -1
- package/lib-esm/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js +10 -8
- package/lib-esm/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js.map +1 -1
- package/lib-esm/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.module.css +1 -1
- package/lib-esm/components/bundle-modules/bundle-modules.js +32 -42
- package/lib-esm/components/bundle-modules/bundle-modules.js.map +1 -1
- package/lib-esm/components/bundle-modules/bundle-modules.module.css +11 -3
- package/lib-esm/components/bundle-modules/bundle-modules.utils.js +3 -3
- package/lib-esm/components/bundle-modules/bundle-modules.utils.js.map +1 -1
- package/lib-esm/components/bundle-modules/index.js +7 -4
- package/lib-esm/components/bundle-modules/index.js.map +1 -1
- package/lib-esm/components/bundle-packages/bundle-packages.js +37 -62
- package/lib-esm/components/bundle-packages/bundle-packages.js.map +1 -1
- package/lib-esm/components/bundle-packages/bundle-packages.module.css +12 -14
- package/lib-esm/components/bundle-packages/index.js +5 -2
- package/lib-esm/components/bundle-packages/index.js.map +1 -1
- package/lib-esm/components/delta/delta.module.css +2 -1
- package/lib-esm/components/entry-info/entry-info.js +50 -0
- package/lib-esm/components/entry-info/entry-info.js.map +1 -0
- package/lib-esm/components/entry-info/entry-info.module.css +93 -0
- package/lib-esm/components/entry-info/index.js +2 -0
- package/lib-esm/components/entry-info/index.js.map +1 -0
- package/lib-esm/components/index.js +3 -2
- package/lib-esm/components/index.js.map +1 -1
- package/lib-esm/components/insight-icon/index.js +2 -0
- package/lib-esm/components/insight-icon/index.js.map +1 -0
- package/lib-esm/components/insight-icon/insight-icon.js +18 -0
- package/lib-esm/components/insight-icon/insight-icon.js.map +1 -0
- package/lib-esm/components/insight-icon/insight-icon.module.css +24 -0
- package/lib-esm/components/insights/insights.js +7 -40
- package/lib-esm/components/insights/insights.js.map +1 -1
- package/lib-esm/components/insights/insights.module.css +1 -19
- package/lib-esm/components/job-header/job-header.js +12 -11
- package/lib-esm/components/job-header/job-header.js.map +1 -1
- package/lib-esm/components/jobs-header/index.js.map +1 -1
- package/lib-esm/components/jobs-header/jobs-header.js +20 -13
- package/lib-esm/components/jobs-header/jobs-header.js.map +1 -1
- package/lib-esm/components/jobs-header/jobs-header.module.css +51 -4
- package/lib-esm/components/metric/index.js.map +1 -1
- package/lib-esm/components/metric/metric.js +7 -41
- package/lib-esm/components/metric/metric.js.map +1 -1
- package/lib-esm/components/metric/metric.module.css +3 -3
- package/lib-esm/components/metric-run-info/index.js +2 -0
- package/lib-esm/components/metric-run-info/index.js.map +1 -0
- package/lib-esm/components/metric-run-info/metric-run-info.js +34 -0
- package/lib-esm/components/metric-run-info/metric-run-info.js.map +1 -0
- package/lib-esm/components/metric-run-info/metric-run-info.module.css +18 -0
- package/lib-esm/components/metrics-table-options/metrics-table-options.js +1 -1
- package/lib-esm/components/metrics-table-options/metrics-table-options.js.map +1 -1
- package/lib-esm/components/metrics-table-search/metrics-table-search.module.css +0 -6
- package/lib-esm/components/metrics-table-title/metrics-table-title.module.css +1 -0
- package/lib-esm/components/module-info/index.js.map +1 -1
- package/lib-esm/components/module-info/module-info.js +26 -48
- package/lib-esm/components/module-info/module-info.js.map +1 -1
- package/lib-esm/components/module-info/module-info.module.css +8 -33
- package/lib-esm/components/package-info/index.js +2 -0
- package/lib-esm/components/package-info/index.js.map +1 -0
- package/lib-esm/components/package-info/package-info.js +48 -0
- package/lib-esm/components/package-info/package-info.js.map +1 -0
- package/lib-esm/components/package-info/package-info.module.css +13 -0
- package/lib-esm/components/run-info/index.js +2 -0
- package/lib-esm/components/run-info/index.js.map +1 -0
- package/lib-esm/components/run-info/run-info.js +40 -0
- package/lib-esm/components/run-info/run-info.js.map +1 -0
- package/lib-esm/components/run-info/run-info.module.css +76 -0
- package/lib-esm/components/summary/index.js.map +1 -1
- package/lib-esm/components/summary/summary.js +9 -30
- package/lib-esm/components/summary/summary.js.map +1 -1
- package/lib-esm/components/summary/summary.module.css +27 -7
- package/lib-esm/config.json +1 -1
- package/lib-esm/constants.js +0 -22
- package/lib-esm/constants.js.map +1 -1
- package/lib-esm/css/variables.css +22 -15
- package/lib-esm/layout/box/box.js +3 -23
- package/lib-esm/layout/box/box.js.map +1 -1
- package/lib-esm/layout/box/box.module.css +11 -0
- package/lib-esm/layout/box/index.js +1 -1
- package/lib-esm/layout/box/index.js.map +1 -1
- package/lib-esm/layout/flex-stack/flex-stack.js +3 -19
- package/lib-esm/layout/flex-stack/flex-stack.js.map +1 -1
- package/lib-esm/layout/flex-stack/index.js.map +1 -1
- package/lib-esm/layout/footer/footer.js +2 -4
- package/lib-esm/layout/footer/footer.js.map +1 -1
- package/lib-esm/layout/stack/index.js.map +1 -1
- package/lib-esm/layout/stack/stack.js +3 -16
- package/lib-esm/layout/stack/stack.js.map +1 -1
- package/lib-esm/tokens.js +35 -0
- package/lib-esm/tokens.js.map +1 -0
- package/lib-esm/ui/alert/alert.js +2 -12
- package/lib-esm/ui/alert/alert.js.map +1 -1
- package/lib-esm/ui/alert/index.js.map +1 -1
- package/lib-esm/ui/container/container.js +1 -10
- package/lib-esm/ui/container/container.js.map +1 -1
- package/lib-esm/ui/container/index.js +1 -1
- package/lib-esm/ui/container/index.js.map +1 -1
- package/lib-esm/ui/dropdown/dropdown.module.css +1 -2
- package/lib-esm/ui/file-name/file-name.js +1 -1
- package/lib-esm/ui/file-name/file-name.js.map +1 -1
- package/lib-esm/ui/filters/filters.module.css +1 -5
- package/lib-esm/ui/horizontal-bar-chart/horizontal-bar-chart.module.css +2 -0
- package/lib-esm/ui/hover-card/hover-card.js +3 -21
- package/lib-esm/ui/hover-card/hover-card.js.map +1 -1
- package/lib-esm/ui/hover-card/index.js.map +1 -1
- package/lib-esm/ui/icon/icon.js +14 -18
- package/lib-esm/ui/icon/icon.js.map +1 -1
- package/lib-esm/ui/icon/index.js.map +1 -1
- package/lib-esm/ui/index.js +0 -1
- package/lib-esm/ui/index.js.map +1 -1
- package/lib-esm/ui/input/input.module.css +3 -4
- package/lib-esm/ui/table/index.js.map +1 -1
- package/lib-esm/ui/table/table.js +3 -17
- package/lib-esm/ui/table/table.js.map +1 -1
- package/lib-esm/ui/tag/index.js.map +1 -1
- package/lib-esm/ui/tag/tag.js +4 -28
- package/lib-esm/ui/tag/tag.js.map +1 -1
- package/lib-esm/ui/tag/tag.module.css +15 -1
- package/lib-esm/ui/tooltip/index.js.map +1 -1
- package/lib-esm/ui/tooltip/tooltip.js +4 -23
- package/lib-esm/ui/tooltip/tooltip.js.map +1 -1
- package/lib-esm/ui/tooltip/tooltip.module.css +3 -4
- package/package.json +18 -22
- package/src/app/app.jsx +25 -10
- package/src/app/app.module.css +8 -5
- package/src/app/header/header.module.css +27 -20
- package/src/app/header/header.tsx +26 -0
- package/src/assets/icons/external-link.svg +1 -0
- package/src/assets/icons/github.svg +1 -0
- package/src/assets/icons/more-vertical.svg +5 -0
- package/src/assets/icons.svg +11 -4
- package/src/assets/icons.svg.jsx +35 -14
- package/src/components/asset-info/asset-info.module.css +28 -6
- package/src/components/asset-info/asset-info.stories.tsx +74 -0
- package/src/components/asset-info/asset-info.tsx +159 -0
- package/src/components/asset-not-predictive/asset-not-predictive.module.css +3 -0
- package/src/components/asset-not-predictive/asset-not-predictive.stories.tsx +23 -0
- package/src/components/asset-not-predictive/asset-not-predictive.tsx +44 -0
- package/src/components/asset-not-predictive/index.ts +1 -0
- package/src/components/bundle-assets/bundle-assets.jsx +94 -107
- package/src/components/bundle-assets/bundle-assets.module.css +20 -19
- package/src/components/bundle-assets/bundle-assets.utils.js +3 -2
- package/src/components/bundle-assets/index.jsx +7 -1
- package/src/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.jsx +21 -17
- package/src/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.module.css +1 -1
- package/src/components/bundle-modules/bundle-modules.jsx +91 -101
- package/src/components/bundle-modules/bundle-modules.module.css +11 -3
- package/src/components/bundle-modules/bundle-modules.utils.js +5 -3
- package/src/components/bundle-modules/index.jsx +9 -3
- package/src/components/bundle-packages/bundle-packages.jsx +116 -179
- package/src/components/bundle-packages/bundle-packages.module.css +12 -14
- package/src/components/bundle-packages/index.jsx +7 -1
- package/src/components/delta/delta.module.css +2 -1
- package/src/components/entry-info/entry-info.module.css +93 -0
- package/src/components/entry-info/entry-info.stories.tsx +75 -0
- package/src/components/entry-info/entry-info.tsx +134 -0
- package/src/components/entry-info/index.ts +1 -0
- package/src/components/index.js +3 -2
- package/src/components/insight-icon/index.ts +1 -0
- package/src/components/insight-icon/insight-icon.module.css +24 -0
- package/src/components/insight-icon/insight-icon.tsx +25 -0
- package/src/components/insights/insights.module.css +1 -19
- package/src/components/insights/insights.stories.tsx +26 -22
- package/src/components/insights/insights.tsx +8 -65
- package/src/components/job-header/job-header.jsx +16 -13
- package/src/components/jobs-header/jobs-header.module.css +51 -4
- package/src/components/jobs-header/jobs-header.stories.tsx +51 -0
- package/src/components/jobs-header/jobs-header.tsx +89 -0
- package/src/components/metric/metric.module.css +3 -3
- package/src/components/metric/metric.stories.tsx +41 -0
- package/src/components/metric/metric.tsx +42 -0
- package/src/components/metric-run-info/index.ts +1 -0
- package/src/components/metric-run-info/metric-run-info.module.css +18 -0
- package/src/components/metric-run-info/metric-run-info.stories.tsx +34 -0
- package/src/components/metric-run-info/metric-run-info.tsx +85 -0
- package/src/components/metrics-table-options/metrics-table-options.jsx +1 -1
- package/src/components/metrics-table-search/metrics-table-search.module.css +0 -6
- package/src/components/metrics-table-title/metrics-table-title.module.css +1 -0
- package/src/components/module-info/module-info.module.css +8 -33
- package/src/components/module-info/module-info.stories.tsx +44 -0
- package/src/components/module-info/module-info.tsx +116 -0
- package/src/components/package-info/index.ts +1 -0
- package/src/components/package-info/package-info.module.css +13 -0
- package/src/components/package-info/package-info.stories.tsx +36 -0
- package/src/components/package-info/package-info.tsx +135 -0
- package/src/components/run-info/index.ts +1 -0
- package/src/components/run-info/run-info.module.css +76 -0
- package/src/components/run-info/run-info.stories.tsx +58 -0
- package/src/components/run-info/run-info.tsx +111 -0
- package/src/components/summary/summary.module.css +27 -7
- package/src/components/summary/summary.stories.tsx +57 -0
- package/src/components/summary/summary.tsx +102 -0
- package/src/config.json +1 -1
- package/src/constants.js +0 -24
- package/src/css/variables.css +22 -15
- package/src/layout/box/box.module.css +11 -0
- package/src/layout/box/box.stories.tsx +49 -0
- package/src/layout/box/box.tsx +49 -0
- package/src/layout/box/index.ts +1 -0
- package/src/layout/flex-stack/flex-stack.stories.tsx +59 -0
- package/src/layout/flex-stack/flex-stack.tsx +43 -0
- package/src/layout/footer/footer.jsx +3 -4
- package/src/layout/stack/stack.stories.tsx +53 -0
- package/src/layout/stack/stack.tsx +22 -0
- package/src/tokens.ts +37 -0
- package/src/ui/alert/alert.stories.tsx +39 -0
- package/src/ui/alert/alert.tsx +23 -0
- package/src/ui/container/container.stories.tsx +29 -0
- package/src/ui/container/container.tsx +18 -0
- package/src/ui/container/index.ts +1 -0
- package/src/ui/dropdown/dropdown.module.css +1 -2
- package/src/ui/file-name/file-name.jsx +1 -1
- package/src/ui/filters/filters.module.css +1 -5
- package/src/ui/horizontal-bar-chart/horizontal-bar-chart.module.css +2 -0
- package/src/ui/hover-card/hover-card.stories.tsx +41 -0
- package/src/ui/hover-card/{hover-card.jsx → hover-card.tsx} +22 -30
- package/src/ui/icon/icon.stories.tsx +54 -0
- package/src/ui/icon/icon.tsx +56 -0
- package/src/ui/index.js +0 -1
- package/src/ui/input/input.module.css +3 -4
- package/src/ui/table/table.stories.tsx +238 -0
- package/src/ui/table/table.tsx +38 -0
- package/src/ui/tag/tag.module.css +15 -1
- package/src/ui/tag/tag.stories.tsx +32 -0
- package/src/ui/tag/tag.tsx +28 -0
- package/src/ui/tooltip/tooltip.module.css +3 -4
- package/src/ui/tooltip/tooltip.stories.tsx +30 -0
- package/src/ui/tooltip/tooltip.tsx +57 -0
- package/types/app/header/header.d.ts +6 -16
- package/types/app/header/index.d.ts +1 -1
- package/types/components/asset-info/asset-info.d.ts +20 -23
- package/types/components/asset-info/index.d.ts +1 -1
- package/types/components/asset-not-predictive/asset-not-predictive.d.ts +8 -0
- package/types/components/asset-not-predictive/index.d.ts +1 -0
- package/types/components/browsertime-table/browsertime-table.d.ts +5 -5
- package/types/components/bundle-assets/bundle-assets.constants.d.ts +6 -6
- package/types/components/bundle-assets/bundle-assets.d.ts +28 -20
- package/types/components/bundle-assets/index.d.ts +11 -11
- package/types/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.d.ts +6 -6
- package/types/components/bundle-assets-totals-table/bundle-assets-totals-table.d.ts +7 -7
- package/types/components/bundle-modules/bundle-modules.constants.d.ts +6 -6
- package/types/components/bundle-modules/bundle-modules.d.ts +28 -24
- package/types/components/bundle-modules/bundle-modules.utils.d.ts +1 -1
- package/types/components/bundle-modules/index.d.ts +11 -11
- package/types/components/bundle-packages/bundle-packages.constants.d.ts +6 -6
- package/types/components/bundle-packages/bundle-packages.d.ts +24 -20
- package/types/components/bundle-packages/index.d.ts +11 -11
- package/types/components/component-link.d.ts +6 -6
- package/types/components/delta/delta.d.ts +7 -7
- package/types/components/entry-info/entry-info.d.ts +25 -0
- package/types/components/entry-info/index.d.ts +1 -0
- package/types/components/index.d.ts +3 -2
- package/types/components/insight-icon/index.d.ts +1 -0
- package/types/components/insight-icon/insight-icon.d.ts +7 -0
- package/types/components/insights/insights.d.ts +2 -2
- package/types/components/job-header/job-header.d.ts +9 -9
- package/types/components/job-name/job-name.d.ts +9 -9
- package/types/components/jobs-header/index.d.ts +1 -1
- package/types/components/jobs-header/jobs-header.d.ts +18 -15
- package/types/components/lighthouse-table/lighthouse-table.d.ts +5 -5
- package/types/components/metric/index.d.ts +1 -1
- package/types/components/metric/metric.d.ts +6 -32
- package/types/components/metric-run-info/index.d.ts +1 -0
- package/types/components/metric-run-info/metric-run-info.d.ts +13 -0
- package/types/components/metrics-table/metrics-table.d.ts +14 -14
- package/types/components/metrics-table-options/metrics-table-options.d.ts +7 -7
- package/types/components/metrics-table-search/metrics-table-search.d.ts +7 -7
- package/types/components/metrics-table-title/metrics-table-title.d.ts +10 -10
- package/types/components/module-info/index.d.ts +1 -1
- package/types/components/module-info/module-info.d.ts +19 -34
- package/types/components/package-info/index.d.ts +1 -0
- package/types/components/package-info/package-info.d.ts +15 -0
- package/types/components/run-info/index.d.ts +1 -0
- package/types/components/run-info/run-info.d.ts +16 -0
- package/types/components/summary/index.d.ts +1 -1
- package/types/components/summary/summary.d.ts +25 -36
- package/types/components/total-size-type-title/total-size-type-title.d.ts +3 -3
- package/types/constants.d.ts +4 -15
- package/types/i18n.d.ts +15 -15
- package/types/layout/box/box.d.ts +12 -25
- package/types/layout/box/index.d.ts +1 -1
- package/types/layout/flex-stack/flex-stack.d.ts +10 -33
- package/types/layout/flex-stack/index.d.ts +1 -1
- package/types/layout/footer/footer.d.ts +5 -5
- package/types/layout/separator.d.ts +4 -4
- package/types/layout/stack/index.d.ts +1 -1
- package/types/layout/stack/stack.d.ts +7 -20
- package/types/tokens.d.ts +23 -0
- package/types/ui/alert/alert.d.ts +7 -14
- package/types/ui/alert/index.d.ts +1 -1
- package/types/ui/container/container.d.ts +5 -17
- package/types/ui/container/index.d.ts +1 -1
- package/types/ui/dropdown/dropdown.d.ts +16 -16
- package/types/ui/empty-set/empty-set.d.ts +7 -7
- package/types/ui/file-name/file-name.d.ts +7 -7
- package/types/ui/filters/filters.d.ts +6 -6
- package/types/ui/filters/filters.utils.d.ts +2 -2
- package/types/ui/filters/index.d.ts +4 -4
- package/types/ui/horizontal-bar-chart/horizontal-bar-chart.d.ts +6 -6
- package/types/ui/hover-card/hover-card.d.ts +12 -26
- package/types/ui/hover-card/index.d.ts +1 -1
- package/types/ui/icon/icon.d.ts +54 -38
- package/types/ui/icon/index.d.ts +1 -1
- package/types/ui/index.d.ts +0 -1
- package/types/ui/input/input.d.ts +5 -5
- package/types/ui/loader/loader.d.ts +8 -8
- package/types/ui/skeleton/skeleton.d.ts +7 -7
- package/types/ui/sort-dropdown/sort-dropdown.d.ts +11 -11
- package/types/ui/table/index.d.ts +1 -1
- package/types/ui/table/table.d.ts +14 -33
- package/types/ui/tabs/tabs.d.ts +10 -10
- package/types/ui/tag/index.d.ts +1 -1
- package/types/ui/tag/tag.d.ts +22 -33
- package/types/ui/toolbar/toolbar.d.ts +6 -6
- package/types/ui/tooltip/index.d.ts +1 -1
- package/types/ui/tooltip/tooltip.d.ts +10 -28
- package/lib/components/job-meta/index.js.map +0 -1
- package/lib/components/job-meta/job-meta.js +0 -34
- package/lib/components/job-meta/job-meta.js.map +0 -1
- package/lib/components/job-meta/job-meta.module.css +0 -19
- package/lib/components/summary-item/index.js.map +0 -1
- package/lib/components/summary-item/summary-item.js +0 -97
- package/lib/components/summary-item/summary-item.js.map +0 -1
- package/lib/components/summary-item/summary-item.module.css +0 -58
- package/lib/ui/panels/index.js +0 -6
- package/lib/ui/panels/index.js.map +0 -1
- package/lib/ui/panels/panels.js +0 -28
- package/lib/ui/panels/panels.js.map +0 -1
- package/lib/ui/panels/panels.module.css +0 -23
- package/lib-esm/components/job-meta/index.js +0 -2
- package/lib-esm/components/job-meta/index.js.map +0 -1
- package/lib-esm/components/job-meta/job-meta.js +0 -27
- package/lib-esm/components/job-meta/job-meta.js.map +0 -1
- package/lib-esm/components/job-meta/job-meta.module.css +0 -19
- package/lib-esm/components/summary-item/index.js +0 -2
- package/lib-esm/components/summary-item/index.js.map +0 -1
- package/lib-esm/components/summary-item/summary-item.js +0 -67
- package/lib-esm/components/summary-item/summary-item.js.map +0 -1
- package/lib-esm/components/summary-item/summary-item.module.css +0 -58
- package/lib-esm/ui/panels/index.js +0 -2
- package/lib-esm/ui/panels/index.js.map +0 -1
- package/lib-esm/ui/panels/panels.js +0 -21
- package/lib-esm/ui/panels/panels.js.map +0 -1
- package/lib-esm/ui/panels/panels.module.css +0 -23
- package/src/app/header/header.jsx +0 -25
- package/src/assets/icons/cancel.svg +0 -1
- package/src/components/asset-info/asset-info.jsx +0 -96
- package/src/components/job-meta/index.js +0 -1
- package/src/components/job-meta/job-meta.jsx +0 -47
- package/src/components/job-meta/job-meta.module.css +0 -19
- package/src/components/jobs-header/jobs-header.jsx +0 -43
- package/src/components/metric/metric.jsx +0 -63
- package/src/components/module-info/module-info.jsx +0 -123
- package/src/components/summary/summary.jsx +0 -73
- package/src/components/summary-item/index.js +0 -1
- package/src/components/summary-item/summary-item.jsx +0 -142
- package/src/components/summary-item/summary-item.module.css +0 -58
- package/src/layout/box/box.jsx +0 -67
- package/src/layout/box/index.js +0 -1
- package/src/layout/flex-stack/flex-stack.jsx +0 -49
- package/src/layout/stack/stack.jsx +0 -32
- package/src/ui/alert/alert.jsx +0 -27
- package/src/ui/container/container.jsx +0 -24
- package/src/ui/container/index.js +0 -1
- package/src/ui/icon/icon.jsx +0 -53
- package/src/ui/panels/index.js +0 -1
- package/src/ui/panels/panels.jsx +0 -39
- package/src/ui/panels/panels.module.css +0 -23
- package/src/ui/table/table.jsx +0 -37
- package/src/ui/tag/tag.jsx +0 -49
- package/src/ui/tooltip/tooltip.jsx +0 -67
- package/tsconfig.esm.json +0 -13
- package/tsconfig.json +0 -7
- package/tsconfig.lib.json +0 -9
- package/types/components/job-meta/index.d.ts +0 -1
- package/types/components/job-meta/job-meta.d.ts +0 -18
- package/types/components/summary-item/index.d.ts +0 -1
- package/types/components/summary-item/summary-item.d.ts +0 -40
- package/types/ui/panels/index.d.ts +0 -1
- package/types/ui/panels/panels.d.ts +0 -18
- /package/src/app/header/{index.js → index.ts} +0 -0
- /package/src/components/asset-info/{index.js → index.ts} +0 -0
- /package/src/components/jobs-header/{index.js → index.ts} +0 -0
- /package/src/components/metric/{index.js → index.ts} +0 -0
- /package/src/components/module-info/{index.js → index.ts} +0 -0
- /package/src/components/summary/{index.js → index.ts} +0 -0
- /package/src/layout/flex-stack/{index.js → index.ts} +0 -0
- /package/src/layout/stack/{index.js → index.ts} +0 -0
- /package/src/ui/alert/{index.js → index.ts} +0 -0
- /package/src/ui/hover-card/{index.js → index.ts} +0 -0
- /package/src/ui/icon/{index.js → index.ts} +0 -0
- /package/src/ui/table/{index.js → index.ts} +0 -0
- /package/src/ui/tag/{index.js → index.ts} +0 -0
- /package/src/ui/tooltip/{index.js → index.ts} +0 -0
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import React, { useCallback } from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import cx from 'classnames';
|
|
4
|
-
import { getGlobalMetricType, getMetricRunInfo } from '@bundle-stats/utils';
|
|
5
|
-
import { Icon } from '../../ui/icon';
|
|
6
|
-
import { HoverCard } from '../../ui/hover-card';
|
|
7
|
-
import { Skeleton } from '../../ui/skeleton';
|
|
8
|
-
import { FlexStack } from '../../layout/flex-stack';
|
|
9
|
-
import { Stack } from '../../layout/stack';
|
|
10
|
-
import { Metric } from '../metric';
|
|
11
|
-
import { Delta } from '../delta';
|
|
12
|
-
import css from './summary-item.module.css';
|
|
13
|
-
const MetricInfo = ({ description, url }) => {
|
|
14
|
-
const onClick = useCallback(() => {
|
|
15
|
-
if (url) {
|
|
16
|
-
window.open(url);
|
|
17
|
-
}
|
|
18
|
-
}, [url]);
|
|
19
|
-
return (React.createElement(Stack, { space: "xxxsmall" },
|
|
20
|
-
React.createElement("p", null, description),
|
|
21
|
-
url && (React.createElement("p", null,
|
|
22
|
-
React.createElement("button", { type: "button", onClick: onClick, className: css.readMoreLink }, "Read more")))));
|
|
23
|
-
};
|
|
24
|
-
MetricInfo.propTypes = {
|
|
25
|
-
description: PropTypes.string.isRequired,
|
|
26
|
-
url: PropTypes.string,
|
|
27
|
-
};
|
|
28
|
-
MetricInfo.defaultProps = {
|
|
29
|
-
url: '',
|
|
30
|
-
};
|
|
31
|
-
export const SummaryItem = ({ className, as: Component, size, id, data, loading, showDelta, showMetricDescription, ...props }) => {
|
|
32
|
-
const { baseline, current } = data || { baseline: 0, current: 0 };
|
|
33
|
-
const metric = getGlobalMetricType(id);
|
|
34
|
-
const runInfo = getMetricRunInfo(metric, current, baseline);
|
|
35
|
-
const showMetricDescriptionTooltip = showMetricDescription && (metric === null || metric === void 0 ? void 0 : metric.description);
|
|
36
|
-
const rootClassName = cx(css.root, className, css[size], showDelta && css.showDelta);
|
|
37
|
-
return (React.createElement(Stack, { space: "xxsmall", as: Component, className: rootClassName, ...props },
|
|
38
|
-
React.createElement(FlexStack, { space: "xxxsmall", alignItems: "center", as: "h3", className: css.title },
|
|
39
|
-
React.createElement("span", null, metric.label),
|
|
40
|
-
showMetricDescriptionTooltip && (React.createElement(HoverCard, { label: React.createElement(Icon, { glyph: Icon.ICONS.HELP }), className: css.titleIcon },
|
|
41
|
-
React.createElement(MetricInfo, { ...metric })))),
|
|
42
|
-
!loading ? (React.createElement(Stack, null,
|
|
43
|
-
React.createElement(Metric, { className: css.currentMetric, value: current, formatter: metric.formatter, enhanced: true, inline: true }, showDelta && (React.createElement(Delta, { className: css.delta, displayValue: runInfo.displayDeltaPercentage, deltaType: runInfo.deltaType }))),
|
|
44
|
-
React.createElement(Metric, { className: css.baselineMetric, value: baseline, formatter: metric.formatter }))) : (React.createElement(Stack, null,
|
|
45
|
-
React.createElement(Skeleton, { as: "p", className: cx(css.currentMetric, css.loading) }),
|
|
46
|
-
React.createElement(Skeleton, { as: "p", className: cx(css.baselineMetric, css.loading) })))));
|
|
47
|
-
};
|
|
48
|
-
SummaryItem.defaultProps = {
|
|
49
|
-
className: '',
|
|
50
|
-
as: 'div',
|
|
51
|
-
data: null,
|
|
52
|
-
size: 'medium',
|
|
53
|
-
loading: false,
|
|
54
|
-
showMetricDescription: false,
|
|
55
|
-
showDelta: true,
|
|
56
|
-
};
|
|
57
|
-
SummaryItem.propTypes = {
|
|
58
|
-
className: PropTypes.string,
|
|
59
|
-
as: PropTypes.elementType,
|
|
60
|
-
size: PropTypes.oneOf(['medium', 'large']),
|
|
61
|
-
id: PropTypes.string.isRequired,
|
|
62
|
-
loading: PropTypes.bool,
|
|
63
|
-
data: PropTypes.object,
|
|
64
|
-
showMetricDescription: PropTypes.bool,
|
|
65
|
-
showDelta: PropTypes.bool,
|
|
66
|
-
};
|
|
67
|
-
//# sourceMappingURL=summary-item.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"summary-item.js","sourceRoot":"","sources":["../../../src/components/summary-item/summary-item.jsx"],"names":[],"mappings":"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"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
.title {
|
|
2
|
-
color: var(--color-text-ultra-light);
|
|
3
|
-
font-weight: bold;
|
|
4
|
-
font-size: var(--size-xsmall);
|
|
5
|
-
text-transform: uppercase;
|
|
6
|
-
white-space: nowrap;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
.titleIcon {
|
|
10
|
-
margin-top: -4px !important;
|
|
11
|
-
margin-bottom: -4px !important;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.currentMetric {
|
|
15
|
-
color: var(--color-heading);
|
|
16
|
-
font-size: var(--size-large);
|
|
17
|
-
line-height: var(--line-height-heading);
|
|
18
|
-
white-space: nowrap;
|
|
19
|
-
font-weight: bold;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.baselineMetric {
|
|
23
|
-
color: var(--color-text-light);
|
|
24
|
-
font-size: var(--size-small);
|
|
25
|
-
line-height: var(--line-height-heading);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
.readMoreLink {
|
|
29
|
-
appearance: none;
|
|
30
|
-
background: none;
|
|
31
|
-
margin: 0;
|
|
32
|
-
border: 0;
|
|
33
|
-
padding: 0;
|
|
34
|
-
color: var(--color-primary);
|
|
35
|
-
text-decoration: underline;
|
|
36
|
-
cursor: pointer;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
.readMoreLink:hover,
|
|
40
|
-
.readMoreLink:active,
|
|
41
|
-
.readMoreLink:focus {
|
|
42
|
-
color: var(--color-primary-dark);
|
|
43
|
-
text-decoration: none;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
/* Loading state */
|
|
47
|
-
.loading.currentMetric {
|
|
48
|
-
width: 8em;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
.loading.baselineMetric {
|
|
52
|
-
width: 5em;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/* Size large */
|
|
56
|
-
.large .currentMetric {
|
|
57
|
-
font-size: var(--size-xxxlarge);
|
|
58
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/panels/index.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import cx from 'classnames';
|
|
4
|
-
import css from './panels.module.css';
|
|
5
|
-
const cloneElement = (element) => {
|
|
6
|
-
const { className, ...restProps } = element.props;
|
|
7
|
-
return React.cloneElement(element, {
|
|
8
|
-
...restProps,
|
|
9
|
-
className: cx(css.panel, className),
|
|
10
|
-
});
|
|
11
|
-
};
|
|
12
|
-
export const Panels = ({ className, children, ...restProps }) => (React.createElement("div", { className: cx(css.root, className), ...restProps }, React.Children.map(children, cloneElement)));
|
|
13
|
-
Panels.defaultProps = {
|
|
14
|
-
className: '',
|
|
15
|
-
children: null,
|
|
16
|
-
};
|
|
17
|
-
Panels.propTypes = {
|
|
18
|
-
className: PropTypes.string,
|
|
19
|
-
children: PropTypes.node,
|
|
20
|
-
};
|
|
21
|
-
//# sourceMappingURL=panels.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"panels.js","sourceRoot":"","sources":["../../../src/ui/panels/panels.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,qBAAqB,CAAC;AAEtC,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,EAAE;IAC/B,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;IAElD,OAAO,KAAK,CAAC,YAAY,CACvB,OAAO,EACP;QACE,GAAG,SAAS;QACZ,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC;KACpC,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC,CAC/D,6BACE,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,KAC9B,SAAS,IAEZ,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CACvC,CACP,CAAC;AAEF,MAAM,CAAC,YAAY,GAAG;IACpB,SAAS,EAAE,EAAE;IACb,QAAQ,EAAE,IAAI;CACf,CAAC;AAEF,MAAM,CAAC,SAAS,GAAG;IAEjB,SAAS,EAAE,SAAS,CAAC,MAAM;IAG3B,QAAQ,EAAE,SAAS,CAAC,IAAI;CACzB,CAAC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
.root {
|
|
2
|
-
display: flex;
|
|
3
|
-
flex-wrap: wrap;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
.panel {
|
|
7
|
-
flex: 1 1 100%;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.panel + .panel {
|
|
11
|
-
margin-top: var(--space-medium);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
@media (min-width: 768px) {
|
|
15
|
-
.root {
|
|
16
|
-
flex-wrap: nowrap;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.panel + .panel {
|
|
20
|
-
margin-top: 0;
|
|
21
|
-
margin-left: var(--space-medium);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import cx from 'classnames';
|
|
4
|
-
|
|
5
|
-
import { Container } from '../../ui/container';
|
|
6
|
-
import { JobsHeader } from '../../components/jobs-header';
|
|
7
|
-
import css from './header.module.css';
|
|
8
|
-
|
|
9
|
-
export const Header = ({ className, jobs }) => (
|
|
10
|
-
<Container as="header" className={cx(css.root, className)}>
|
|
11
|
-
<div className={css.inner}>
|
|
12
|
-
<JobsHeader className={css.jobs} jobs={jobs} />
|
|
13
|
-
</div>
|
|
14
|
-
</Container>
|
|
15
|
-
);
|
|
16
|
-
|
|
17
|
-
Header.propTypes = {
|
|
18
|
-
className: PropTypes.string,
|
|
19
|
-
jobs: PropTypes.arrayOf(PropTypes.object), // eslint-disable-line react/forbid-prop-types
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
Header.defaultProps = {
|
|
23
|
-
className: '',
|
|
24
|
-
jobs: null,
|
|
25
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-x-circle"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import cx from 'classnames';
|
|
4
|
-
import { getBundleModulesByChunk, getModuleFileType } from '@bundle-stats/utils';
|
|
5
|
-
|
|
6
|
-
import { Stack } from '../../layout/stack';
|
|
7
|
-
import { FileName } from '../../ui/file-name';
|
|
8
|
-
import { ComponentLink } from '../component-link';
|
|
9
|
-
import css from './asset-info.module.css';
|
|
10
|
-
|
|
11
|
-
const ChunkModulesLink = ({ as: Component, chunks, chunkId, name }) => {
|
|
12
|
-
const chunk = chunks?.find(({ id }) => id === chunkId );
|
|
13
|
-
|
|
14
|
-
if (!chunk) {
|
|
15
|
-
return null;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
const chunkIds = chunks?.map(({ id }) => id);
|
|
19
|
-
const fileType = getModuleFileType(name);
|
|
20
|
-
|
|
21
|
-
return (
|
|
22
|
-
<Component
|
|
23
|
-
className={css.viewModules}
|
|
24
|
-
{...getBundleModulesByChunk(chunkIds, chunkId, fileType)}
|
|
25
|
-
>
|
|
26
|
-
View chunk modules
|
|
27
|
-
</Component>
|
|
28
|
-
);
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
ChunkModulesLink.propTypes = {
|
|
32
|
-
as: PropTypes.elementType.isRequired,
|
|
33
|
-
chunks: PropTypes.array, // eslint-disable-line react/forbid-prop-types
|
|
34
|
-
chunkId: PropTypes.string,
|
|
35
|
-
name: PropTypes.string,
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
ChunkModulesLink.defaultProps = {
|
|
39
|
-
chunks: [],
|
|
40
|
-
chunkId: '',
|
|
41
|
-
name: '',
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
export const AssetInfo = (props) => {
|
|
45
|
-
const { className, chunks, item, labels, CustomComponentLink } = props;
|
|
46
|
-
|
|
47
|
-
return (
|
|
48
|
-
<Stack space="xsmall" className={cx(css.root, className)}>
|
|
49
|
-
{item.runs.map((run, index) => {
|
|
50
|
-
const Title = index !== 0 ? 'h4' : 'h3';
|
|
51
|
-
const key = `asset-info-${run?.name || index}-${index}`;
|
|
52
|
-
|
|
53
|
-
return (
|
|
54
|
-
<Stack space="xxxsmall" key={key}>
|
|
55
|
-
<Title>{labels[index]}</Title>
|
|
56
|
-
<FileName
|
|
57
|
-
className={css.fileName}
|
|
58
|
-
as='code'
|
|
59
|
-
name={run?.name || '-'}
|
|
60
|
-
/>
|
|
61
|
-
|
|
62
|
-
{index === 0 && (
|
|
63
|
-
<ChunkModulesLink
|
|
64
|
-
as={CustomComponentLink}
|
|
65
|
-
chunks={chunks}
|
|
66
|
-
chunkId={run?.chunkId}
|
|
67
|
-
name={run?.name}
|
|
68
|
-
/>
|
|
69
|
-
)}
|
|
70
|
-
</Stack>
|
|
71
|
-
);
|
|
72
|
-
})}
|
|
73
|
-
</Stack>
|
|
74
|
-
);
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
AssetInfo.propTypes = {
|
|
78
|
-
className: PropTypes.string,
|
|
79
|
-
item: PropTypes.shape({
|
|
80
|
-
runs: PropTypes.arrayOf(
|
|
81
|
-
PropTypes.shape({
|
|
82
|
-
name: PropTypes.string,
|
|
83
|
-
chunkId: PropTypes.string,
|
|
84
|
-
}),
|
|
85
|
-
),
|
|
86
|
-
}).isRequired,
|
|
87
|
-
labels: PropTypes.arrayOf(PropTypes.string).isRequired,
|
|
88
|
-
chunks: PropTypes.array, // eslint-disable-line react/forbid-prop-types
|
|
89
|
-
CustomComponentLink: PropTypes.elementType,
|
|
90
|
-
};
|
|
91
|
-
|
|
92
|
-
AssetInfo.defaultProps = {
|
|
93
|
-
className: '',
|
|
94
|
-
chunks: [],
|
|
95
|
-
CustomComponentLink: ComponentLink,
|
|
96
|
-
};
|
|
@@ -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,63 +0,0 @@
|
|
|
1
|
-
import React, { useMemo } from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import cx from 'classnames';
|
|
4
|
-
|
|
5
|
-
import css from './metric.module.css';
|
|
6
|
-
|
|
7
|
-
// Separate value and unit
|
|
8
|
-
const EXTRACT_VALUE_UNIT_PATTERN = /([\d|.|,| ]*)(\w*|%)$/;
|
|
9
|
-
|
|
10
|
-
export const Metric = ({ className, value, formatter, inline, children, enhanced }) => {
|
|
11
|
-
const { displayValue, displayUnit } = useMemo(() => {
|
|
12
|
-
const formattedValue = formatter?.(value);
|
|
13
|
-
|
|
14
|
-
if (!formattedValue) {
|
|
15
|
-
return { displayValue: value };
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
if (!enhanced) {
|
|
19
|
-
return { displayValue: formattedValue };
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const matches = formattedValue.match(EXTRACT_VALUE_UNIT_PATTERN);
|
|
23
|
-
|
|
24
|
-
if (!matches) {
|
|
25
|
-
return { displayValue: value };
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
return {
|
|
29
|
-
displayUnit: matches[2],
|
|
30
|
-
displayValue: matches[1],
|
|
31
|
-
};
|
|
32
|
-
}, [formatter, value]);
|
|
33
|
-
|
|
34
|
-
const rootClassName = cx(className, css.root, inline && css.inline);
|
|
35
|
-
|
|
36
|
-
return (
|
|
37
|
-
<div className={rootClassName}>
|
|
38
|
-
<div className={css.display}>
|
|
39
|
-
<span className={css.displayValue}>{displayValue}</span>
|
|
40
|
-
{displayUnit && <span className={css.displayUnit}>{displayUnit}</span>}
|
|
41
|
-
</div>
|
|
42
|
-
<div className={css.delta}>{children}</div>
|
|
43
|
-
</div>
|
|
44
|
-
);
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
Metric.defaultProps = {
|
|
48
|
-
className: '',
|
|
49
|
-
enhanced: false,
|
|
50
|
-
inline: false,
|
|
51
|
-
value: 0,
|
|
52
|
-
children: [],
|
|
53
|
-
formatter: (val) => val,
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
Metric.propTypes = {
|
|
57
|
-
className: PropTypes.string,
|
|
58
|
-
enhanced: PropTypes.bool,
|
|
59
|
-
inline: PropTypes.bool,
|
|
60
|
-
value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
61
|
-
formatter: PropTypes.func,
|
|
62
|
-
children: PropTypes.node,
|
|
63
|
-
};
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import cx from 'classnames';
|
|
4
|
-
import isEmpty from 'lodash/isEmpty';
|
|
5
|
-
import noop from 'lodash/noop';
|
|
6
|
-
import { getBundleModulesByChunk, getBundleModulesBySearch } from '@bundle-stats/utils';
|
|
7
|
-
|
|
8
|
-
import { Stack } from '../../layout/stack';
|
|
9
|
-
import { FlexStack } from '../../layout/flex-stack';
|
|
10
|
-
import { FileName } from '../../ui/file-name';
|
|
11
|
-
import { Tag } from '../../ui/tag';
|
|
12
|
-
import { ComponentLink } from '../component-link';
|
|
13
|
-
import css from './module-info.module.css';
|
|
14
|
-
|
|
15
|
-
export const ModuleInfo = (props) => {
|
|
16
|
-
const {
|
|
17
|
-
className,
|
|
18
|
-
item,
|
|
19
|
-
labels,
|
|
20
|
-
chunks,
|
|
21
|
-
chunkIds,
|
|
22
|
-
customComponentLink: CustomComponentLink,
|
|
23
|
-
onClick,
|
|
24
|
-
} = props;
|
|
25
|
-
|
|
26
|
-
return (
|
|
27
|
-
<Stack space="small" className={cx(css.root, className)}>
|
|
28
|
-
{item.runs.map((run, index) => (
|
|
29
|
-
<Stack space="xsmall" key={`module-info-${run?.name || index}-${index}`} className={css.run}>
|
|
30
|
-
<Stack space="xxxsmall">
|
|
31
|
-
<FlexStack space="xxxsmall" alignItems="center" as="h4" className={css.title}>
|
|
32
|
-
<span>{labels[index]}</span>
|
|
33
|
-
<Tag className={css.titleTag}>{index === 0 ? 'current' : 'baseline'}</Tag>
|
|
34
|
-
</FlexStack>
|
|
35
|
-
<FileName className={css.fileName} as="code" name={run?.name || '-'} />
|
|
36
|
-
</Stack>
|
|
37
|
-
|
|
38
|
-
{/**
|
|
39
|
-
* Render chunks only for the current run
|
|
40
|
-
* we do not have the correct chunk ids for baselines
|
|
41
|
-
*/}
|
|
42
|
-
{index === 0 && !isEmpty(run?.chunkIds) && (
|
|
43
|
-
<Stack className={css.chunks}>
|
|
44
|
-
<h5>Chunks</h5>
|
|
45
|
-
<ul className={css.list}>
|
|
46
|
-
{run.chunkIds.map((chunkId) => {
|
|
47
|
-
const chunk = chunks?.find(({ id }) => id === chunkId);
|
|
48
|
-
|
|
49
|
-
if (!chunk) {
|
|
50
|
-
return null;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
return (
|
|
54
|
-
<li>
|
|
55
|
-
<CustomComponentLink
|
|
56
|
-
{...getBundleModulesByChunk(chunkIds, chunkId)}
|
|
57
|
-
onClick={onClick}
|
|
58
|
-
className={css.chunksItem}
|
|
59
|
-
>
|
|
60
|
-
{chunk.name}
|
|
61
|
-
</CustomComponentLink>
|
|
62
|
-
</li>
|
|
63
|
-
);
|
|
64
|
-
})}
|
|
65
|
-
</ul>
|
|
66
|
-
</Stack>
|
|
67
|
-
)}
|
|
68
|
-
|
|
69
|
-
{run?.reasons && (
|
|
70
|
-
<Stack>
|
|
71
|
-
<h5>Reasons</h5>
|
|
72
|
-
<ul className={css.list}>
|
|
73
|
-
{run.reasons.map((reason) => (
|
|
74
|
-
<li key={reason}>
|
|
75
|
-
<CustomComponentLink
|
|
76
|
-
{...getBundleModulesBySearch(`^${reason}$`)}
|
|
77
|
-
onClick={onClick}
|
|
78
|
-
className={css.reasonLink}
|
|
79
|
-
>
|
|
80
|
-
<FileName name={reason} className={css.reason} />
|
|
81
|
-
</CustomComponentLink>
|
|
82
|
-
</li>
|
|
83
|
-
))}
|
|
84
|
-
</ul>
|
|
85
|
-
</Stack>
|
|
86
|
-
)}
|
|
87
|
-
</Stack>
|
|
88
|
-
))}
|
|
89
|
-
</Stack>
|
|
90
|
-
);
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
ModuleInfo.propTypes = {
|
|
94
|
-
className: PropTypes.string,
|
|
95
|
-
item: PropTypes.shape({
|
|
96
|
-
key: PropTypes.string,
|
|
97
|
-
runs: PropTypes.arrayOf(
|
|
98
|
-
PropTypes.shape({
|
|
99
|
-
key: PropTypes.string,
|
|
100
|
-
name: PropTypes.string,
|
|
101
|
-
chunkIds: PropTypes.arrayOf(PropTypes.string),
|
|
102
|
-
}),
|
|
103
|
-
),
|
|
104
|
-
}).isRequired,
|
|
105
|
-
labels: PropTypes.arrayOf(PropTypes.string).isRequired,
|
|
106
|
-
chunks: PropTypes.arrayOf(
|
|
107
|
-
PropTypes.shape({
|
|
108
|
-
id: PropTypes.string,
|
|
109
|
-
name: PropTypes.string,
|
|
110
|
-
}),
|
|
111
|
-
),
|
|
112
|
-
chunkIds: PropTypes.arrayOf(PropTypes.string),
|
|
113
|
-
customComponentLink: PropTypes.elementType,
|
|
114
|
-
onClick: PropTypes.func,
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
ModuleInfo.defaultProps = {
|
|
118
|
-
className: '',
|
|
119
|
-
chunks: [],
|
|
120
|
-
chunkIds: [],
|
|
121
|
-
customComponentLink: ComponentLink,
|
|
122
|
-
onClick: noop,
|
|
123
|
-
};
|