@bundle-stats/ui 4.2.2 → 4.2.3-beta.1

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 (1202) hide show
  1. package/.babelrc.js +2 -0
  2. package/README.md +34 -2
  3. package/globals.d.ts +4 -0
  4. package/lib/app/app.js +42 -44
  5. package/lib/app/app.js.map +1 -1
  6. package/lib/app/app.module.css +10 -7
  7. package/lib/app/header/header.js +10 -12
  8. package/lib/app/header/header.js.map +1 -1
  9. package/lib/app/header/header.module.css +28 -20
  10. package/lib/app/header/index.js.map +1 -1
  11. package/lib/assets/icons.svg +43 -7
  12. package/lib/assets/icons.svg.js +60 -25
  13. package/lib/assets/icons.svg.js.map +1 -1
  14. package/lib/components/asset-info/asset-info.i18n.js +11 -0
  15. package/lib/components/asset-info/asset-info.i18n.js.map +1 -0
  16. package/lib/components/asset-info/asset-info.js +70 -47
  17. package/lib/components/asset-info/asset-info.js.map +1 -1
  18. package/lib/components/asset-info/asset-info.module.css +36 -5
  19. package/lib/components/asset-info/index.js.map +1 -1
  20. package/lib/components/asset-meta-tag/asset-meta-tag.js +17 -0
  21. package/lib/components/asset-meta-tag/asset-meta-tag.js.map +1 -0
  22. package/lib/components/asset-meta-tag/asset-meta-tag.module.css +56 -0
  23. package/lib/components/asset-meta-tag/index.js +18 -0
  24. package/lib/components/asset-meta-tag/index.js.map +1 -0
  25. package/lib/components/asset-name/asset-name.js +31 -0
  26. package/lib/components/asset-name/asset-name.js.map +1 -0
  27. package/lib/components/asset-name/asset-name.module.css +32 -0
  28. package/lib/components/{job-header → asset-name}/index.js +1 -1
  29. package/lib/components/asset-name/index.js.map +1 -0
  30. package/lib/components/asset-not-predictive/asset-not-predictive.js +30 -0
  31. package/lib/components/asset-not-predictive/asset-not-predictive.js.map +1 -0
  32. package/lib/components/asset-not-predictive/asset-not-predictive.module.css +8 -0
  33. package/lib/components/{metrics-table-search → asset-not-predictive}/index.js +1 -1
  34. package/lib/components/asset-not-predictive/index.js.map +1 -0
  35. package/lib/components/browsertime-table/browsertime-table.js +17 -7
  36. package/lib/components/browsertime-table/browsertime-table.js.map +1 -1
  37. package/lib/components/bundle-assets/bundle-assets.i18n.js +14 -0
  38. package/lib/components/bundle-assets/bundle-assets.i18n.js.map +1 -0
  39. package/lib/components/bundle-assets/bundle-assets.js +97 -171
  40. package/lib/components/bundle-assets/bundle-assets.js.map +1 -1
  41. package/lib/components/bundle-assets/bundle-assets.module.css +8 -76
  42. package/lib/components/bundle-assets/bundle-assets.utils.js +209 -63
  43. package/lib/components/bundle-assets/bundle-assets.utils.js.map +1 -1
  44. package/lib/components/bundle-assets/index.js +32 -37
  45. package/lib/components/bundle-assets/index.js.map +1 -1
  46. package/lib/components/bundle-assets-totals/bundle-assets-totals.js +112 -0
  47. package/lib/components/bundle-assets-totals/bundle-assets-totals.js.map +1 -0
  48. package/lib/components/bundle-assets-totals/index.js +18 -0
  49. package/lib/components/bundle-assets-totals/index.js.map +1 -0
  50. package/lib/components/bundle-modules/bundle-modules.i18n.js +12 -0
  51. package/lib/components/bundle-modules/bundle-modules.i18n.js.map +1 -0
  52. package/lib/components/bundle-modules/bundle-modules.js +116 -133
  53. package/lib/components/bundle-modules/bundle-modules.js.map +1 -1
  54. package/lib/components/bundle-modules/bundle-modules.module.css +17 -6
  55. package/lib/components/bundle-modules/bundle-modules.utils.js +160 -70
  56. package/lib/components/bundle-modules/bundle-modules.utils.js.map +1 -1
  57. package/lib/components/bundle-modules/index.js +60 -66
  58. package/lib/components/bundle-modules/index.js.map +1 -1
  59. package/lib/components/bundle-packages/bundle-packages.i18n.js +5 -0
  60. package/lib/components/bundle-packages/bundle-packages.i18n.js.map +1 -0
  61. package/lib/components/bundle-packages/bundle-packages.js +128 -80
  62. package/lib/components/bundle-packages/bundle-packages.js.map +1 -1
  63. package/lib/components/bundle-packages/bundle-packages.module.css +12 -19
  64. package/lib/components/bundle-packages/bundle-packages.utils.js +1 -13
  65. package/lib/components/bundle-packages/bundle-packages.utils.js.map +1 -1
  66. package/lib/components/bundle-packages/index.js +23 -12
  67. package/lib/components/bundle-packages/index.js.map +1 -1
  68. package/lib/components/delta/delta.js +1 -1
  69. package/lib/components/delta/delta.js.map +1 -1
  70. package/lib/components/delta/delta.module.css +12 -2
  71. package/lib/components/entry-info/entry-info.i18n.js +7 -0
  72. package/lib/components/entry-info/entry-info.i18n.js.map +1 -0
  73. package/lib/components/entry-info/entry-info.js +107 -0
  74. package/lib/components/entry-info/entry-info.js.map +1 -0
  75. package/lib/components/entry-info/entry-info.module.css +136 -0
  76. package/lib/components/{summary-item → entry-info}/index.js +1 -1
  77. package/lib/components/entry-info/index.js.map +1 -0
  78. package/lib/components/index.js +7 -13
  79. package/lib/components/index.js.map +1 -1
  80. package/lib/components/insight-icon/insight-icon.js.map +1 -1
  81. package/lib/components/insight-icon/insight-icon.module.css +1 -1
  82. package/lib/components/insights/insights.js.map +1 -1
  83. package/lib/components/insights/insights.module.css +1 -0
  84. package/lib/components/job-name/job-name.js +1 -1
  85. package/lib/components/job-name/job-name.js.map +1 -1
  86. package/lib/components/jobs-header/index.js.map +1 -1
  87. package/lib/components/jobs-header/jobs-header.js +21 -14
  88. package/lib/components/jobs-header/jobs-header.js.map +1 -1
  89. package/lib/components/jobs-header/jobs-header.module.css +48 -4
  90. package/lib/components/lighthouse-table/lighthouse-table.js +17 -7
  91. package/lib/components/lighthouse-table/lighthouse-table.js.map +1 -1
  92. package/lib/components/metric/index.js.map +1 -1
  93. package/lib/components/metric/metric.js +7 -64
  94. package/lib/components/metric/metric.js.map +1 -1
  95. package/lib/components/metric/metric.module.css +5 -4
  96. package/lib/components/metric-run-info/index.js +18 -0
  97. package/lib/components/metric-run-info/index.js.map +1 -0
  98. package/lib/components/metric-run-info/metric-run-info.js +92 -0
  99. package/lib/components/metric-run-info/metric-run-info.js.map +1 -0
  100. package/lib/components/metric-run-info/metric-run-info.module.css +17 -0
  101. package/lib/components/metrics-display-selector/index.js +18 -0
  102. package/lib/components/metrics-display-selector/index.js.map +1 -0
  103. package/lib/components/metrics-display-selector/metrics-display-selector.js +61 -0
  104. package/lib/components/metrics-display-selector/metrics-display-selector.js.map +1 -0
  105. package/lib/components/metrics-display-selector/metrics-display-selector.module.css +63 -0
  106. package/lib/components/metrics-table/index.js +18 -8
  107. package/lib/components/metrics-table/index.js.map +1 -1
  108. package/lib/components/metrics-table/metrics-table.i18n.js +7 -0
  109. package/lib/components/metrics-table/metrics-table.i18n.js.map +1 -0
  110. package/lib/components/metrics-table/metrics-table.js +44 -142
  111. package/lib/components/metrics-table/metrics-table.js.map +1 -1
  112. package/lib/components/metrics-table/metrics-table.module.css +10 -65
  113. package/lib/components/metrics-table-export/index.js +18 -0
  114. package/lib/components/metrics-table-export/index.js.map +1 -0
  115. package/lib/components/metrics-table-export/metrics-table-export.js +98 -0
  116. package/lib/components/metrics-table-export/metrics-table-export.js.map +1 -0
  117. package/lib/components/metrics-table-export/metrics-table-export.module.css +4 -0
  118. package/lib/components/metrics-table-header/index.js +18 -0
  119. package/lib/components/metrics-table-header/index.js.map +1 -0
  120. package/lib/components/metrics-table-header/metrics-table-header.i18n.js +9 -0
  121. package/lib/components/metrics-table-header/metrics-table-header.i18n.js.map +1 -0
  122. package/lib/components/metrics-table-header/metrics-table-header.js +89 -0
  123. package/lib/components/metrics-table-header/metrics-table-header.js.map +1 -0
  124. package/lib/components/metrics-table-header/metrics-table-header.module.css +51 -0
  125. package/lib/components/metrics-table-options/index.js.map +1 -1
  126. package/lib/components/metrics-table-options/metrics-table-options.js +9 -15
  127. package/lib/components/metrics-table-options/metrics-table-options.js.map +1 -1
  128. package/lib/components/metrics-table-options/metrics-table-options.module.css +15 -0
  129. package/lib/components/metrics-table-title/metrics-table-title.js +4 -3
  130. package/lib/components/metrics-table-title/metrics-table-title.js.map +1 -1
  131. package/lib/components/metrics-table-title/metrics-table-title.module.css +5 -20
  132. package/lib/components/{bundle-assets-totals-chart-bars → metrics-treemap}/index.js +5 -1
  133. package/lib/components/metrics-treemap/index.js.map +1 -0
  134. package/lib/components/metrics-treemap/metrics-treemap.constants.js +10 -0
  135. package/lib/components/metrics-treemap/metrics-treemap.constants.js.map +1 -0
  136. package/lib/components/metrics-treemap/metrics-treemap.i18n.js +6 -0
  137. package/lib/components/metrics-treemap/metrics-treemap.i18n.js.map +1 -0
  138. package/lib/components/metrics-treemap/metrics-treemap.js +210 -0
  139. package/lib/components/metrics-treemap/metrics-treemap.js.map +1 -0
  140. package/lib/components/metrics-treemap/metrics-treemap.module.css +325 -0
  141. package/lib/components/metrics-treemap/metrics-treemap.utils.js +173 -0
  142. package/lib/components/metrics-treemap/metrics-treemap.utils.js.map +1 -0
  143. package/lib/components/module-info/index.js.map +1 -1
  144. package/lib/components/module-info/module-info.js +136 -47
  145. package/lib/components/module-info/module-info.js.map +1 -1
  146. package/lib/components/module-info/module-info.module.css +30 -10
  147. package/lib/{ui/sort-dropdown → components/package-info}/index.js +1 -1
  148. package/lib/components/package-info/index.js.map +1 -0
  149. package/lib/components/package-info/package-info.js +87 -0
  150. package/lib/components/package-info/package-info.js.map +1 -0
  151. package/lib/components/package-info/package-info.module.css +13 -0
  152. package/lib/components/preview-source/index.js +18 -0
  153. package/lib/components/preview-source/index.js.map +1 -0
  154. package/lib/components/preview-source/preview-source.js +28 -0
  155. package/lib/components/preview-source/preview-source.js.map +1 -0
  156. package/lib/components/preview-source/preview-source.module.css +40 -0
  157. package/lib/components/{job-meta → run-info}/index.js +1 -1
  158. package/lib/components/run-info/index.js.map +1 -0
  159. package/lib/components/run-info/run-info.js +82 -0
  160. package/lib/components/run-info/run-info.js.map +1 -0
  161. package/lib/components/run-info/run-info.module.css +94 -0
  162. package/lib/components/sort-button/index.js +18 -0
  163. package/lib/components/sort-button/index.js.map +1 -0
  164. package/lib/components/sort-button/sort-button.js +93 -0
  165. package/lib/components/sort-button/sort-button.js.map +1 -0
  166. package/lib/components/sort-button/sort-button.module.css +83 -0
  167. package/lib/components/summary/index.js.map +1 -1
  168. package/lib/components/summary/summary.js +18 -31
  169. package/lib/components/summary/summary.js.map +1 -1
  170. package/lib/components/summary/summary.module.css +21 -7
  171. package/lib/config.json +1 -1
  172. package/lib/constants.js +37 -23
  173. package/lib/constants.js.map +1 -1
  174. package/lib/css/default.css +0 -67
  175. package/lib/css/variables.css +48 -32
  176. package/lib/hooks/entry-info.js +11 -0
  177. package/lib/hooks/entry-info.js.map +1 -0
  178. package/lib/hooks/metrics-display-type.js +62 -0
  179. package/lib/hooks/metrics-display-type.js.map +1 -0
  180. package/lib/hooks/rows-filter.js.map +1 -1
  181. package/lib/hooks/rows-sort.js +29 -5
  182. package/lib/hooks/rows-sort.js.map +1 -1
  183. package/lib/hooks/search-params.js +2 -1
  184. package/lib/hooks/search-params.js.map +1 -1
  185. package/lib/i18n.js +13 -4
  186. package/lib/i18n.js.map +1 -1
  187. package/lib/layout/box/box.js +3 -23
  188. package/lib/layout/box/box.js.map +1 -1
  189. package/lib/layout/box/box.module.css +15 -2
  190. package/lib/layout/box/index.js +15 -3
  191. package/lib/layout/box/index.js.map +1 -1
  192. package/lib/layout/flex-stack/flex-stack.js +5 -22
  193. package/lib/layout/flex-stack/flex-stack.js.map +1 -1
  194. package/lib/layout/flex-stack/flex-stack.module.css +19 -23
  195. package/lib/layout/flex-stack/index.js.map +1 -1
  196. package/lib/layout/footer/footer.js +4 -5
  197. package/lib/layout/footer/footer.js.map +1 -1
  198. package/lib/layout/stack/index.js.map +1 -1
  199. package/lib/layout/stack/stack.js +3 -16
  200. package/lib/layout/stack/stack.js.map +1 -1
  201. package/lib/query-state.js +29 -23
  202. package/lib/query-state.js.map +1 -1
  203. package/lib/stories/wrapper.js +5 -2
  204. package/lib/stories/wrapper.js.map +1 -1
  205. package/lib/tokens.js +38 -0
  206. package/lib/tokens.js.map +1 -0
  207. package/lib/ui/alert/alert.js +2 -12
  208. package/lib/ui/alert/alert.js.map +1 -1
  209. package/lib/ui/alert/index.js.map +1 -1
  210. package/lib/ui/button/button.js +38 -0
  211. package/lib/ui/button/button.js.map +1 -0
  212. package/lib/ui/button/button.module.css +366 -0
  213. package/lib/ui/button/index.js +18 -0
  214. package/lib/ui/button/index.js.map +1 -0
  215. package/lib/ui/container/container.js +1 -10
  216. package/lib/ui/container/container.js.map +1 -1
  217. package/lib/ui/container/index.js +15 -3
  218. package/lib/ui/container/index.js.map +1 -1
  219. package/lib/ui/control-group/control-group.js +16 -0
  220. package/lib/ui/control-group/control-group.js.map +1 -0
  221. package/lib/ui/control-group/control-group.module.css +23 -0
  222. package/lib/ui/control-group/index.js +18 -0
  223. package/lib/ui/control-group/index.js.map +1 -0
  224. package/lib/ui/copy-to-clipboard/copy-to-clipboard.js +66 -0
  225. package/lib/ui/copy-to-clipboard/copy-to-clipboard.js.map +1 -0
  226. package/lib/ui/copy-to-clipboard/copy-to-clipboard.module.css +15 -0
  227. package/lib/ui/copy-to-clipboard/index.js +18 -0
  228. package/lib/ui/copy-to-clipboard/index.js.map +1 -0
  229. package/lib/ui/dialog/dialog.js +27 -0
  230. package/lib/ui/dialog/dialog.js.map +1 -0
  231. package/lib/ui/dialog/dialog.module.css +93 -0
  232. package/lib/ui/dialog/index.js +18 -0
  233. package/lib/ui/dialog/index.js.map +1 -0
  234. package/lib/ui/dropdown/dropdown.js +12 -44
  235. package/lib/ui/dropdown/dropdown.js.map +1 -1
  236. package/lib/ui/dropdown/dropdown.module.css +7 -31
  237. package/lib/ui/dropdown/index.js.map +1 -1
  238. package/lib/ui/empty-set/empty-set.js +4 -3
  239. package/lib/ui/empty-set/empty-set.js.map +1 -1
  240. package/lib/ui/empty-set/empty-set.module.css +0 -17
  241. package/lib/ui/file-name/file-name.js +1 -1
  242. package/lib/ui/file-name/file-name.js.map +1 -1
  243. package/lib/ui/file-name/file-name.module.css +2 -0
  244. package/lib/ui/filters/filters.i18n.js +10 -0
  245. package/lib/ui/filters/filters.i18n.js.map +1 -0
  246. package/lib/ui/filters/filters.js +62 -75
  247. package/lib/ui/filters/filters.js.map +1 -1
  248. package/lib/ui/filters/filters.module.css +71 -85
  249. package/lib/ui/filters/filters.utils.js +27 -11
  250. package/lib/ui/filters/filters.utils.js.map +1 -1
  251. package/lib/ui/filters/index.js +17 -15
  252. package/lib/ui/filters/index.js.map +1 -1
  253. package/lib/ui/hover-card/hover-card.js +21 -29
  254. package/lib/ui/hover-card/hover-card.js.map +1 -1
  255. package/lib/ui/hover-card/hover-card.module.css +2 -1
  256. package/lib/ui/hover-card/index.js.map +1 -1
  257. package/lib/ui/icon/icon.js +23 -19
  258. package/lib/ui/icon/icon.js.map +1 -1
  259. package/lib/ui/icon/index.js.map +1 -1
  260. package/lib/ui/index.js +15 -7
  261. package/lib/ui/index.js.map +1 -1
  262. package/lib/ui/input/index.js.map +1 -1
  263. package/lib/ui/input/input.js +2 -10
  264. package/lib/ui/input/input.js.map +1 -1
  265. package/lib/ui/input/input.module.css +2 -3
  266. package/lib/ui/input-search/index.js +18 -0
  267. package/lib/ui/input-search/index.js.map +1 -0
  268. package/lib/ui/input-search/input-search.js +73 -0
  269. package/lib/ui/input-search/input-search.js.map +1 -0
  270. package/lib/ui/input-search/input-search.module.css +18 -0
  271. package/lib/ui/loader/loader.js +1 -1
  272. package/lib/ui/loader/loader.js.map +1 -1
  273. package/lib/ui/markdown/index.js +18 -0
  274. package/lib/ui/markdown/index.js.map +1 -0
  275. package/lib/ui/markdown/markdown.js +50 -0
  276. package/lib/ui/markdown/markdown.js.map +1 -0
  277. package/lib/ui/markdown/markdown.module.css +7 -0
  278. package/lib/ui/skeleton/skeleton.module.css +4 -3
  279. package/lib/ui/table/index.js.map +1 -1
  280. package/lib/ui/table/table.js +3 -17
  281. package/lib/ui/table/table.js.map +1 -1
  282. package/lib/ui/table/table.module.css +30 -0
  283. package/lib/ui/tabs/index.js +15 -3
  284. package/lib/ui/tabs/index.js.map +1 -1
  285. package/lib/ui/tabs/tabs.js +9 -20
  286. package/lib/ui/tabs/tabs.js.map +1 -1
  287. package/lib/ui/tabs/tabs.module.css +6 -5
  288. package/lib/ui/tag/index.js.map +1 -1
  289. package/lib/ui/tag/tag.js +5 -29
  290. package/lib/ui/tag/tag.js.map +1 -1
  291. package/lib/ui/tag/tag.module.css +18 -4
  292. package/lib/ui/textarea/index.js +18 -0
  293. package/lib/ui/textarea/index.js.map +1 -0
  294. package/lib/ui/textarea/textarea.js +16 -0
  295. package/lib/ui/textarea/textarea.js.map +1 -0
  296. package/lib/ui/textarea/textarea.module.css +56 -0
  297. package/lib/ui/toolbar/toolbar.module.css +1 -3
  298. package/lib/ui/tooltip/index.js.map +1 -1
  299. package/lib/ui/tooltip/tooltip.js +4 -24
  300. package/lib/ui/tooltip/tooltip.js.map +1 -1
  301. package/lib/ui/tooltip/tooltip.module.css +7 -15
  302. package/lib/ui/tooltip/tooltip.stories.module.css +8 -0
  303. package/lib/utils/colors.js +21 -0
  304. package/lib/utils/colors.js.map +1 -0
  305. package/lib/{utils.js → utils/components.js} +2 -17
  306. package/lib/utils/components.js.map +1 -0
  307. package/lib/{components/bundle-assets-totals-table → utils}/index.js +3 -1
  308. package/lib/utils/index.js.map +1 -0
  309. package/lib/utils/jobs.js +17 -0
  310. package/lib/utils/jobs.js.map +1 -0
  311. package/lib-esm/app/app.js +26 -41
  312. package/lib-esm/app/app.js.map +1 -1
  313. package/lib-esm/app/app.module.css +10 -7
  314. package/lib-esm/app/header/header.js +10 -12
  315. package/lib-esm/app/header/header.js.map +1 -1
  316. package/lib-esm/app/header/header.module.css +28 -20
  317. package/lib-esm/app/header/index.js.map +1 -1
  318. package/lib-esm/assets/icons.svg +43 -7
  319. package/lib-esm/assets/icons.svg.js +43 -18
  320. package/lib-esm/assets/icons.svg.js.map +1 -1
  321. package/lib-esm/components/asset-info/asset-info.i18n.js +8 -0
  322. package/lib-esm/components/asset-info/asset-info.i18n.js.map +1 -0
  323. package/lib-esm/components/asset-info/asset-info.js +39 -48
  324. package/lib-esm/components/asset-info/asset-info.js.map +1 -1
  325. package/lib-esm/components/asset-info/asset-info.module.css +36 -5
  326. package/lib-esm/components/asset-info/index.js.map +1 -1
  327. package/lib-esm/components/asset-meta-tag/asset-meta-tag.js +10 -0
  328. package/lib-esm/components/asset-meta-tag/asset-meta-tag.js.map +1 -0
  329. package/lib-esm/components/asset-meta-tag/asset-meta-tag.module.css +56 -0
  330. package/lib-esm/components/asset-meta-tag/index.js +2 -0
  331. package/lib-esm/components/asset-meta-tag/index.js.map +1 -0
  332. package/lib-esm/components/asset-name/asset-name.js +24 -0
  333. package/lib-esm/components/asset-name/asset-name.js.map +1 -0
  334. package/lib-esm/components/asset-name/asset-name.module.css +32 -0
  335. package/lib-esm/components/asset-name/index.js +2 -0
  336. package/lib-esm/components/asset-name/index.js.map +1 -0
  337. package/lib-esm/components/asset-not-predictive/asset-not-predictive.js +23 -0
  338. package/lib-esm/components/asset-not-predictive/asset-not-predictive.js.map +1 -0
  339. package/lib-esm/components/asset-not-predictive/asset-not-predictive.module.css +8 -0
  340. package/lib-esm/components/asset-not-predictive/index.js +2 -0
  341. package/lib-esm/components/asset-not-predictive/index.js.map +1 -0
  342. package/lib-esm/components/bundle-assets/bundle-assets.i18n.js +11 -0
  343. package/lib-esm/components/bundle-assets/bundle-assets.i18n.js.map +1 -0
  344. package/lib-esm/components/bundle-assets/bundle-assets.js +81 -168
  345. package/lib-esm/components/bundle-assets/bundle-assets.js.map +1 -1
  346. package/lib-esm/components/bundle-assets/bundle-assets.module.css +8 -76
  347. package/lib-esm/components/bundle-assets/bundle-assets.utils.js +170 -59
  348. package/lib-esm/components/bundle-assets/bundle-assets.utils.js.map +1 -1
  349. package/lib-esm/components/bundle-assets/index.js +16 -28
  350. package/lib-esm/components/bundle-assets/index.js.map +1 -1
  351. package/lib-esm/components/bundle-assets-totals/bundle-assets-totals.js +72 -0
  352. package/lib-esm/components/bundle-assets-totals/bundle-assets-totals.js.map +1 -0
  353. package/lib-esm/components/bundle-assets-totals/index.js +2 -0
  354. package/lib-esm/components/bundle-assets-totals/index.js.map +1 -0
  355. package/lib-esm/components/bundle-modules/bundle-modules.i18n.js +9 -0
  356. package/lib-esm/components/bundle-modules/bundle-modules.i18n.js.map +1 -0
  357. package/lib-esm/components/bundle-modules/bundle-modules.js +100 -127
  358. package/lib-esm/components/bundle-modules/bundle-modules.js.map +1 -1
  359. package/lib-esm/components/bundle-modules/bundle-modules.module.css +17 -6
  360. package/lib-esm/components/bundle-modules/bundle-modules.utils.js +124 -67
  361. package/lib-esm/components/bundle-modules/bundle-modules.utils.js.map +1 -1
  362. package/lib-esm/components/bundle-modules/index.js +46 -59
  363. package/lib-esm/components/bundle-modules/index.js.map +1 -1
  364. package/lib-esm/components/bundle-packages/bundle-packages.i18n.js +2 -0
  365. package/lib-esm/components/bundle-packages/bundle-packages.i18n.js.map +1 -0
  366. package/lib-esm/components/bundle-packages/bundle-packages.js +112 -74
  367. package/lib-esm/components/bundle-packages/bundle-packages.js.map +1 -1
  368. package/lib-esm/components/bundle-packages/bundle-packages.module.css +12 -19
  369. package/lib-esm/components/bundle-packages/bundle-packages.utils.js +1 -14
  370. package/lib-esm/components/bundle-packages/bundle-packages.utils.js.map +1 -1
  371. package/lib-esm/components/bundle-packages/index.js +7 -6
  372. package/lib-esm/components/bundle-packages/index.js.map +1 -1
  373. package/lib-esm/components/delta/delta.js +1 -1
  374. package/lib-esm/components/delta/delta.js.map +1 -1
  375. package/lib-esm/components/delta/delta.module.css +12 -2
  376. package/lib-esm/components/entry-info/entry-info.i18n.js +4 -0
  377. package/lib-esm/components/entry-info/entry-info.i18n.js.map +1 -0
  378. package/lib-esm/components/entry-info/entry-info.js +67 -0
  379. package/lib-esm/components/entry-info/entry-info.js.map +1 -0
  380. package/lib-esm/components/entry-info/entry-info.module.css +136 -0
  381. package/lib-esm/components/entry-info/index.js +2 -0
  382. package/lib-esm/components/entry-info/index.js.map +1 -0
  383. package/lib-esm/components/index.js +3 -6
  384. package/lib-esm/components/index.js.map +1 -1
  385. package/lib-esm/components/insight-icon/insight-icon.js.map +1 -1
  386. package/lib-esm/components/insight-icon/insight-icon.module.css +1 -1
  387. package/lib-esm/components/insights/insights.js.map +1 -1
  388. package/lib-esm/components/insights/insights.module.css +1 -0
  389. package/lib-esm/components/job-name/job-name.js +1 -1
  390. package/lib-esm/components/job-name/job-name.js.map +1 -1
  391. package/lib-esm/components/jobs-header/index.js.map +1 -1
  392. package/lib-esm/components/jobs-header/jobs-header.js +20 -13
  393. package/lib-esm/components/jobs-header/jobs-header.js.map +1 -1
  394. package/lib-esm/components/jobs-header/jobs-header.module.css +48 -4
  395. package/lib-esm/components/metric/index.js.map +1 -1
  396. package/lib-esm/components/metric/metric.js +7 -41
  397. package/lib-esm/components/metric/metric.js.map +1 -1
  398. package/lib-esm/components/metric/metric.module.css +5 -4
  399. package/lib-esm/components/metric-run-info/index.js +2 -0
  400. package/lib-esm/components/metric-run-info/index.js.map +1 -0
  401. package/lib-esm/components/metric-run-info/metric-run-info.js +52 -0
  402. package/lib-esm/components/metric-run-info/metric-run-info.js.map +1 -0
  403. package/lib-esm/components/metric-run-info/metric-run-info.module.css +17 -0
  404. package/lib-esm/components/metrics-display-selector/index.js +2 -0
  405. package/lib-esm/components/metrics-display-selector/index.js.map +1 -0
  406. package/lib-esm/components/metrics-display-selector/metrics-display-selector.js +54 -0
  407. package/lib-esm/components/metrics-display-selector/metrics-display-selector.js.map +1 -0
  408. package/lib-esm/components/metrics-display-selector/metrics-display-selector.module.css +63 -0
  409. package/lib-esm/components/metrics-table/index.js +1 -1
  410. package/lib-esm/components/metrics-table/index.js.map +1 -1
  411. package/lib-esm/components/metrics-table/metrics-table.i18n.js +4 -0
  412. package/lib-esm/components/metrics-table/metrics-table.i18n.js.map +1 -0
  413. package/lib-esm/components/metrics-table/metrics-table.js +29 -137
  414. package/lib-esm/components/metrics-table/metrics-table.js.map +1 -1
  415. package/lib-esm/components/metrics-table/metrics-table.module.css +10 -65
  416. package/lib-esm/components/metrics-table-export/index.js +2 -0
  417. package/lib-esm/components/metrics-table-export/index.js.map +1 -0
  418. package/lib-esm/components/metrics-table-export/metrics-table-export.js +63 -0
  419. package/lib-esm/components/metrics-table-export/metrics-table-export.js.map +1 -0
  420. package/lib-esm/components/metrics-table-export/metrics-table-export.module.css +4 -0
  421. package/lib-esm/components/metrics-table-header/index.js +2 -0
  422. package/lib-esm/components/metrics-table-header/index.js.map +1 -0
  423. package/lib-esm/components/metrics-table-header/metrics-table-header.i18n.js +6 -0
  424. package/lib-esm/components/metrics-table-header/metrics-table-header.i18n.js.map +1 -0
  425. package/lib-esm/components/metrics-table-header/metrics-table-header.js +49 -0
  426. package/lib-esm/components/metrics-table-header/metrics-table-header.js.map +1 -0
  427. package/lib-esm/components/metrics-table-header/metrics-table-header.module.css +51 -0
  428. package/lib-esm/components/metrics-table-options/index.js.map +1 -1
  429. package/lib-esm/components/metrics-table-options/metrics-table-options.js +10 -16
  430. package/lib-esm/components/metrics-table-options/metrics-table-options.js.map +1 -1
  431. package/lib-esm/components/metrics-table-options/metrics-table-options.module.css +15 -0
  432. package/lib-esm/components/metrics-table-title/metrics-table-title.js +4 -3
  433. package/lib-esm/components/metrics-table-title/metrics-table-title.js.map +1 -1
  434. package/lib-esm/components/metrics-table-title/metrics-table-title.module.css +5 -20
  435. package/lib-esm/components/metrics-treemap/index.js +3 -0
  436. package/lib-esm/components/metrics-treemap/index.js.map +1 -0
  437. package/lib-esm/components/metrics-treemap/metrics-treemap.constants.js +7 -0
  438. package/lib-esm/components/metrics-treemap/metrics-treemap.constants.js.map +1 -0
  439. package/lib-esm/components/metrics-treemap/metrics-treemap.i18n.js +3 -0
  440. package/lib-esm/components/metrics-treemap/metrics-treemap.i18n.js.map +1 -0
  441. package/lib-esm/components/metrics-treemap/metrics-treemap.js +172 -0
  442. package/lib-esm/components/metrics-treemap/metrics-treemap.js.map +1 -0
  443. package/lib-esm/components/metrics-treemap/metrics-treemap.module.css +325 -0
  444. package/lib-esm/components/metrics-treemap/metrics-treemap.utils.js +168 -0
  445. package/lib-esm/components/metrics-treemap/metrics-treemap.utils.js.map +1 -0
  446. package/lib-esm/components/module-info/index.js.map +1 -1
  447. package/lib-esm/components/module-info/module-info.js +105 -47
  448. package/lib-esm/components/module-info/module-info.js.map +1 -1
  449. package/lib-esm/components/module-info/module-info.module.css +30 -10
  450. package/lib-esm/components/package-info/index.js +2 -0
  451. package/lib-esm/components/package-info/index.js.map +1 -0
  452. package/lib-esm/components/package-info/package-info.js +48 -0
  453. package/lib-esm/components/package-info/package-info.js.map +1 -0
  454. package/lib-esm/components/package-info/package-info.module.css +13 -0
  455. package/lib-esm/components/preview-source/index.js +2 -0
  456. package/lib-esm/components/preview-source/index.js.map +1 -0
  457. package/lib-esm/components/preview-source/preview-source.js +21 -0
  458. package/lib-esm/components/preview-source/preview-source.js.map +1 -0
  459. package/lib-esm/components/preview-source/preview-source.module.css +40 -0
  460. package/lib-esm/components/run-info/index.js +2 -0
  461. package/lib-esm/components/run-info/index.js.map +1 -0
  462. package/lib-esm/components/run-info/run-info.js +42 -0
  463. package/lib-esm/components/run-info/run-info.js.map +1 -0
  464. package/lib-esm/components/run-info/run-info.module.css +94 -0
  465. package/lib-esm/components/sort-button/index.js +2 -0
  466. package/lib-esm/components/sort-button/index.js.map +1 -0
  467. package/lib-esm/components/sort-button/sort-button.js +53 -0
  468. package/lib-esm/components/sort-button/sort-button.js.map +1 -0
  469. package/lib-esm/components/sort-button/sort-button.module.css +83 -0
  470. package/lib-esm/components/summary/index.js.map +1 -1
  471. package/lib-esm/components/summary/summary.js +18 -31
  472. package/lib-esm/components/summary/summary.js.map +1 -1
  473. package/lib-esm/components/summary/summary.module.css +21 -7
  474. package/lib-esm/config.json +1 -1
  475. package/lib-esm/constants.js +36 -22
  476. package/lib-esm/constants.js.map +1 -1
  477. package/lib-esm/css/default.css +0 -67
  478. package/lib-esm/css/variables.css +48 -32
  479. package/lib-esm/hooks/entry-info.js +8 -0
  480. package/lib-esm/hooks/entry-info.js.map +1 -0
  481. package/lib-esm/hooks/metrics-display-type.js +59 -0
  482. package/lib-esm/hooks/metrics-display-type.js.map +1 -0
  483. package/lib-esm/hooks/rows-filter.js.map +1 -1
  484. package/lib-esm/hooks/rows-sort.js +28 -5
  485. package/lib-esm/hooks/rows-sort.js.map +1 -1
  486. package/lib-esm/hooks/search-params.js +2 -1
  487. package/lib-esm/hooks/search-params.js.map +1 -1
  488. package/lib-esm/i18n.js +13 -4
  489. package/lib-esm/i18n.js.map +1 -1
  490. package/lib-esm/layout/box/box.js +3 -23
  491. package/lib-esm/layout/box/box.js.map +1 -1
  492. package/lib-esm/layout/box/box.module.css +15 -2
  493. package/lib-esm/layout/box/index.js +1 -1
  494. package/lib-esm/layout/box/index.js.map +1 -1
  495. package/lib-esm/layout/flex-stack/flex-stack.js +5 -22
  496. package/lib-esm/layout/flex-stack/flex-stack.js.map +1 -1
  497. package/lib-esm/layout/flex-stack/flex-stack.module.css +19 -23
  498. package/lib-esm/layout/flex-stack/index.js.map +1 -1
  499. package/lib-esm/layout/footer/footer.js +4 -5
  500. package/lib-esm/layout/footer/footer.js.map +1 -1
  501. package/lib-esm/layout/stack/index.js.map +1 -1
  502. package/lib-esm/layout/stack/stack.js +3 -16
  503. package/lib-esm/layout/stack/stack.js.map +1 -1
  504. package/lib-esm/query-state.js +13 -17
  505. package/lib-esm/query-state.js.map +1 -1
  506. package/lib-esm/stories/wrapper.js +5 -2
  507. package/lib-esm/stories/wrapper.js.map +1 -1
  508. package/lib-esm/tokens.js +35 -0
  509. package/lib-esm/tokens.js.map +1 -0
  510. package/lib-esm/ui/alert/alert.js +2 -12
  511. package/lib-esm/ui/alert/alert.js.map +1 -1
  512. package/lib-esm/ui/alert/index.js.map +1 -1
  513. package/lib-esm/ui/button/button.js +32 -0
  514. package/lib-esm/ui/button/button.js.map +1 -0
  515. package/lib-esm/ui/button/button.module.css +366 -0
  516. package/lib-esm/ui/button/index.js +2 -0
  517. package/lib-esm/ui/button/index.js.map +1 -0
  518. package/lib-esm/ui/container/container.js +1 -10
  519. package/lib-esm/ui/container/container.js.map +1 -1
  520. package/lib-esm/ui/container/index.js +1 -1
  521. package/lib-esm/ui/container/index.js.map +1 -1
  522. package/lib-esm/ui/control-group/control-group.js +9 -0
  523. package/lib-esm/ui/control-group/control-group.js.map +1 -0
  524. package/lib-esm/ui/control-group/control-group.module.css +23 -0
  525. package/lib-esm/ui/control-group/index.js +2 -0
  526. package/lib-esm/ui/control-group/index.js.map +1 -0
  527. package/lib-esm/ui/copy-to-clipboard/copy-to-clipboard.js +26 -0
  528. package/lib-esm/ui/copy-to-clipboard/copy-to-clipboard.js.map +1 -0
  529. package/lib-esm/ui/copy-to-clipboard/copy-to-clipboard.module.css +15 -0
  530. package/lib-esm/ui/copy-to-clipboard/index.js +2 -0
  531. package/lib-esm/ui/copy-to-clipboard/index.js.map +1 -0
  532. package/lib-esm/ui/dialog/dialog.js +19 -0
  533. package/lib-esm/ui/dialog/dialog.js.map +1 -0
  534. package/lib-esm/ui/dialog/dialog.module.css +93 -0
  535. package/lib-esm/ui/dialog/index.js +2 -0
  536. package/lib-esm/ui/dialog/index.js.map +1 -0
  537. package/lib-esm/ui/dropdown/dropdown.js +10 -43
  538. package/lib-esm/ui/dropdown/dropdown.js.map +1 -1
  539. package/lib-esm/ui/dropdown/dropdown.module.css +7 -31
  540. package/lib-esm/ui/dropdown/index.js.map +1 -1
  541. package/lib-esm/ui/empty-set/empty-set.js +4 -3
  542. package/lib-esm/ui/empty-set/empty-set.js.map +1 -1
  543. package/lib-esm/ui/empty-set/empty-set.module.css +0 -17
  544. package/lib-esm/ui/file-name/file-name.js +1 -1
  545. package/lib-esm/ui/file-name/file-name.js.map +1 -1
  546. package/lib-esm/ui/file-name/file-name.module.css +2 -0
  547. package/lib-esm/ui/filters/filters.i18n.js +7 -0
  548. package/lib-esm/ui/filters/filters.i18n.js.map +1 -0
  549. package/lib-esm/ui/filters/filters.js +47 -70
  550. package/lib-esm/ui/filters/filters.js.map +1 -1
  551. package/lib-esm/ui/filters/filters.module.css +71 -85
  552. package/lib-esm/ui/filters/filters.utils.js +27 -11
  553. package/lib-esm/ui/filters/filters.utils.js.map +1 -1
  554. package/lib-esm/ui/filters/index.js +0 -8
  555. package/lib-esm/ui/filters/index.js.map +1 -1
  556. package/lib-esm/ui/hover-card/hover-card.js +4 -22
  557. package/lib-esm/ui/hover-card/hover-card.js.map +1 -1
  558. package/lib-esm/ui/hover-card/hover-card.module.css +2 -1
  559. package/lib-esm/ui/hover-card/index.js.map +1 -1
  560. package/lib-esm/ui/icon/icon.js +23 -19
  561. package/lib-esm/ui/icon/icon.js.map +1 -1
  562. package/lib-esm/ui/icon/index.js.map +1 -1
  563. package/lib-esm/ui/index.js +7 -3
  564. package/lib-esm/ui/index.js.map +1 -1
  565. package/lib-esm/ui/input/index.js.map +1 -1
  566. package/lib-esm/ui/input/input.js +2 -10
  567. package/lib-esm/ui/input/input.js.map +1 -1
  568. package/lib-esm/ui/input/input.module.css +2 -3
  569. package/lib-esm/ui/input-search/index.js +2 -0
  570. package/lib-esm/ui/input-search/index.js.map +1 -0
  571. package/lib-esm/ui/input-search/input-search.js +33 -0
  572. package/lib-esm/ui/input-search/input-search.js.map +1 -0
  573. package/lib-esm/ui/input-search/input-search.module.css +18 -0
  574. package/lib-esm/ui/loader/loader.js +1 -1
  575. package/lib-esm/ui/loader/loader.js.map +1 -1
  576. package/lib-esm/ui/markdown/index.js +2 -0
  577. package/lib-esm/ui/markdown/index.js.map +1 -0
  578. package/lib-esm/ui/markdown/markdown.js +10 -0
  579. package/lib-esm/ui/markdown/markdown.js.map +1 -0
  580. package/lib-esm/ui/markdown/markdown.module.css +7 -0
  581. package/lib-esm/ui/skeleton/skeleton.module.css +4 -3
  582. package/lib-esm/ui/table/index.js.map +1 -1
  583. package/lib-esm/ui/table/table.js +3 -17
  584. package/lib-esm/ui/table/table.js.map +1 -1
  585. package/lib-esm/ui/table/table.module.css +30 -0
  586. package/lib-esm/ui/tabs/index.js +1 -1
  587. package/lib-esm/ui/tabs/index.js.map +1 -1
  588. package/lib-esm/ui/tabs/tabs.js +7 -19
  589. package/lib-esm/ui/tabs/tabs.js.map +1 -1
  590. package/lib-esm/ui/tabs/tabs.module.css +6 -5
  591. package/lib-esm/ui/tag/index.js.map +1 -1
  592. package/lib-esm/ui/tag/tag.js +4 -28
  593. package/lib-esm/ui/tag/tag.js.map +1 -1
  594. package/lib-esm/ui/tag/tag.module.css +18 -4
  595. package/lib-esm/ui/textarea/index.js +2 -0
  596. package/lib-esm/ui/textarea/index.js.map +1 -0
  597. package/lib-esm/ui/textarea/textarea.js +9 -0
  598. package/lib-esm/ui/textarea/textarea.js.map +1 -0
  599. package/lib-esm/ui/textarea/textarea.module.css +56 -0
  600. package/lib-esm/ui/toolbar/toolbar.module.css +1 -3
  601. package/lib-esm/ui/tooltip/index.js.map +1 -1
  602. package/lib-esm/ui/tooltip/tooltip.js +5 -24
  603. package/lib-esm/ui/tooltip/tooltip.js.map +1 -1
  604. package/lib-esm/ui/tooltip/tooltip.module.css +7 -15
  605. package/lib-esm/ui/tooltip/tooltip.stories.module.css +8 -0
  606. package/lib-esm/utils/colors.js +15 -0
  607. package/lib-esm/utils/colors.js.map +1 -0
  608. package/lib-esm/utils/components.js +16 -0
  609. package/lib-esm/utils/components.js.map +1 -0
  610. package/lib-esm/utils/index.js +4 -0
  611. package/lib-esm/utils/index.js.map +1 -0
  612. package/lib-esm/utils/jobs.js +11 -0
  613. package/lib-esm/utils/jobs.js.map +1 -0
  614. package/package.json +40 -45
  615. package/src/app/app-gladys.stories.tsx +47 -0
  616. package/src/app/app-home-assistant.stories.tsx +47 -0
  617. package/src/app/app-outline.stories.tsx +47 -0
  618. package/src/app/app-trans-masc-futures.stories.tsx +47 -0
  619. package/src/app/app.jsx +27 -70
  620. package/src/app/app.module.css +10 -7
  621. package/src/app/app.stories.tsx +127 -0
  622. package/src/app/header/header.module.css +28 -20
  623. package/src/app/header/header.tsx +34 -0
  624. package/src/assets/icons/check.svg +4 -0
  625. package/src/assets/icons/chevron-down.svg +1 -0
  626. package/src/assets/icons/chevron-up.svg +1 -0
  627. package/src/assets/icons/clipboard-check.svg +5 -0
  628. package/src/assets/icons/clipboard.svg +5 -0
  629. package/src/assets/icons/download.svg +4 -0
  630. package/src/assets/icons/external-link.svg +1 -0
  631. package/src/assets/icons/github.svg +1 -0
  632. package/src/assets/icons/more-vertical.svg +5 -0
  633. package/src/assets/icons/table.svg +3 -0
  634. package/src/assets/icons/treemap.svg +4 -0
  635. package/src/assets/icons.svg +43 -7
  636. package/src/assets/icons.svg.jsx +160 -53
  637. package/src/components/asset-info/asset-info.i18n.ts +7 -0
  638. package/src/components/asset-info/asset-info.module.css +36 -5
  639. package/src/components/asset-info/asset-info.stories.tsx +74 -0
  640. package/src/components/asset-info/asset-info.tsx +193 -0
  641. package/src/components/asset-meta-tag/asset-meta-tag.module.css +56 -0
  642. package/src/components/asset-meta-tag/asset-meta-tag.tsx +34 -0
  643. package/src/components/asset-meta-tag/index.ts +1 -0
  644. package/src/components/asset-name/asset-name.module.css +32 -0
  645. package/src/components/asset-name/asset-name.stories.tsx +85 -0
  646. package/src/components/asset-name/asset-name.tsx +59 -0
  647. package/src/components/asset-name/index.ts +1 -0
  648. package/src/components/asset-not-predictive/asset-not-predictive.module.css +8 -0
  649. package/src/components/asset-not-predictive/asset-not-predictive.stories.tsx +23 -0
  650. package/src/components/asset-not-predictive/asset-not-predictive.tsx +48 -0
  651. package/src/components/asset-not-predictive/index.ts +1 -0
  652. package/src/components/bundle-assets/__tests__/add-metric-report-asset-row-data.ts +235 -0
  653. package/src/components/bundle-assets/__tests__/get-asset-meta-status.ts +21 -0
  654. package/src/components/bundle-assets/__tests__/get-is-not-predictive.ts +119 -0
  655. package/src/components/bundle-assets/bundle-assets.i18n.ts +10 -0
  656. package/src/components/bundle-assets/bundle-assets.module.css +8 -76
  657. package/src/components/bundle-assets/bundle-assets.stories.tsx +99 -0
  658. package/src/components/bundle-assets/bundle-assets.tsx +323 -0
  659. package/src/components/bundle-assets/bundle-assets.utils.ts +276 -0
  660. package/src/components/bundle-assets/index.tsx +112 -0
  661. package/src/components/bundle-assets-totals/bundle-assets-totals.jsx +157 -0
  662. package/src/components/bundle-assets-totals/index.js +1 -0
  663. package/src/components/bundle-modules/bundle-modules.i18n.ts +8 -0
  664. package/src/components/bundle-modules/bundle-modules.module.css +17 -6
  665. package/src/components/bundle-modules/bundle-modules.tsx +396 -0
  666. package/src/components/bundle-modules/bundle-modules.utils.ts +220 -0
  667. package/src/components/bundle-modules/index.tsx +148 -0
  668. package/src/components/bundle-packages/bundle-packages.i18n.ts +1 -0
  669. package/src/components/bundle-packages/bundle-packages.jsx +269 -195
  670. package/src/components/bundle-packages/bundle-packages.module.css +12 -19
  671. package/src/components/bundle-packages/bundle-packages.utils.js +1 -17
  672. package/src/components/bundle-packages/index.jsx +15 -5
  673. package/src/components/delta/delta.jsx +1 -1
  674. package/src/components/delta/delta.module.css +12 -2
  675. package/src/components/entry-info/entry-info.i18n.ts +3 -0
  676. package/src/components/entry-info/entry-info.module.css +136 -0
  677. package/src/components/entry-info/entry-info.stories.tsx +75 -0
  678. package/src/components/entry-info/entry-info.tsx +186 -0
  679. package/src/components/entry-info/index.ts +1 -0
  680. package/src/components/index.js +3 -6
  681. package/src/components/insight-icon/insight-icon.module.css +1 -1
  682. package/src/components/insight-icon/insight-icon.tsx +2 -4
  683. package/src/components/insights/insights.module.css +1 -0
  684. package/src/components/insights/insights.tsx +0 -1
  685. package/src/components/job-name/job-name.jsx +7 -1
  686. package/src/components/jobs-header/jobs-header.module.css +48 -4
  687. package/src/components/jobs-header/jobs-header.stories.tsx +51 -0
  688. package/src/components/jobs-header/jobs-header.tsx +89 -0
  689. package/src/components/metric/metric.module.css +5 -4
  690. package/src/components/metric/metric.stories.tsx +41 -0
  691. package/src/components/metric/metric.tsx +42 -0
  692. package/src/components/metric-run-info/index.ts +1 -0
  693. package/src/components/metric-run-info/metric-run-info.module.css +17 -0
  694. package/src/components/metric-run-info/metric-run-info.stories.tsx +61 -0
  695. package/src/components/metric-run-info/metric-run-info.tsx +120 -0
  696. package/src/components/metrics-display-selector/index.tsx +1 -0
  697. package/src/components/metrics-display-selector/metrics-display-selector.module.css +63 -0
  698. package/src/components/metrics-display-selector/metrics-display-selector.stories.tsx +33 -0
  699. package/src/components/metrics-display-selector/metrics-display-selector.tsx +135 -0
  700. package/src/components/metrics-table/index.tsx +14 -0
  701. package/src/components/metrics-table/metrics-table.i18n.ts +3 -0
  702. package/src/components/metrics-table/metrics-table.module.css +10 -65
  703. package/src/components/metrics-table/metrics-table.stories.tsx +225 -0
  704. package/src/components/metrics-table/metrics-table.tsx +168 -0
  705. package/src/components/metrics-table-export/index.ts +1 -0
  706. package/src/components/metrics-table-export/metrics-table-export.module.css +4 -0
  707. package/src/components/metrics-table-export/metrics-table-export.stories.tsx +30 -0
  708. package/src/components/metrics-table-export/metrics-table-export.tsx +113 -0
  709. package/src/components/metrics-table-header/index.ts +1 -0
  710. package/src/components/metrics-table-header/metrics-table-header.i18n.ts +6 -0
  711. package/src/components/metrics-table-header/metrics-table-header.module.css +51 -0
  712. package/src/components/metrics-table-header/metrics-table-header.tsx +172 -0
  713. package/src/components/metrics-table-options/metrics-table-options.module.css +15 -0
  714. package/src/components/metrics-table-options/metrics-table-options.stories.tsx +22 -0
  715. package/src/components/metrics-table-options/metrics-table-options.tsx +33 -0
  716. package/src/components/metrics-table-title/metrics-table-title.jsx +8 -4
  717. package/src/components/metrics-table-title/metrics-table-title.module.css +5 -20
  718. package/src/components/metrics-treemap/__tests__/metrics-treemap.utils.ts +188 -0
  719. package/src/components/metrics-treemap/index.ts +2 -0
  720. package/src/components/metrics-treemap/metrics-treemap.constants.ts +63 -0
  721. package/src/components/metrics-treemap/metrics-treemap.i18n.ts +2 -0
  722. package/src/components/metrics-treemap/metrics-treemap.module.css +325 -0
  723. package/src/components/metrics-treemap/metrics-treemap.stories.tsx +57 -0
  724. package/src/components/metrics-treemap/metrics-treemap.tsx +577 -0
  725. package/src/components/metrics-treemap/metrics-treemap.utils.ts +274 -0
  726. package/src/components/module-info/module-info.module.css +30 -10
  727. package/src/components/module-info/module-info.stories.tsx +98 -0
  728. package/src/components/module-info/module-info.tsx +312 -0
  729. package/src/components/package-info/index.ts +1 -0
  730. package/src/components/package-info/package-info.module.css +13 -0
  731. package/src/components/package-info/package-info.stories.tsx +36 -0
  732. package/src/components/package-info/package-info.tsx +134 -0
  733. package/src/components/preview-source/index.ts +1 -0
  734. package/src/components/preview-source/preview-source.module.css +40 -0
  735. package/src/components/preview-source/preview-source.stories.tsx +53 -0
  736. package/src/components/preview-source/preview-source.tsx +66 -0
  737. package/src/components/run-info/index.ts +1 -0
  738. package/src/components/run-info/run-info.module.css +94 -0
  739. package/src/components/run-info/run-info.stories.tsx +65 -0
  740. package/src/components/run-info/run-info.tsx +131 -0
  741. package/src/components/sort-button/index.ts +1 -0
  742. package/src/components/sort-button/sort-button.module.css +83 -0
  743. package/src/components/sort-button/sort-button.tsx +109 -0
  744. package/src/components/summary/summary.module.css +21 -7
  745. package/src/components/summary/summary.stories.tsx +59 -0
  746. package/src/components/summary/summary.tsx +127 -0
  747. package/src/config.json +1 -1
  748. package/src/{constants.js → constants.ts} +40 -24
  749. package/src/css/default.css +0 -67
  750. package/src/css/variables.css +48 -32
  751. package/src/hooks/entry-info.ts +19 -0
  752. package/src/hooks/metrics-display-type.ts +109 -0
  753. package/src/hooks/rows-sort.ts +88 -0
  754. package/src/hooks/search-params.js +2 -2
  755. package/src/i18n.js +15 -4
  756. package/src/layout/box/box.module.css +15 -2
  757. package/src/layout/box/box.stories.tsx +49 -0
  758. package/src/layout/box/box.tsx +49 -0
  759. package/src/layout/box/index.ts +1 -0
  760. package/src/layout/flex-stack/flex-stack.module.css +19 -23
  761. package/src/layout/flex-stack/flex-stack.stories.tsx +59 -0
  762. package/src/layout/flex-stack/flex-stack.tsx +37 -0
  763. package/src/layout/footer/footer.jsx +9 -9
  764. package/src/layout/stack/stack.stories.tsx +53 -0
  765. package/src/layout/stack/stack.tsx +22 -0
  766. package/src/query-state.tsx +37 -0
  767. package/src/stories/wrapper.jsx +21 -15
  768. package/src/tokens.ts +37 -0
  769. package/src/types.d.ts +63 -0
  770. package/src/ui/alert/alert.stories.tsx +39 -0
  771. package/src/ui/alert/alert.tsx +23 -0
  772. package/src/ui/button/button.module.css +366 -0
  773. package/src/ui/button/button.stories.tsx +234 -0
  774. package/src/ui/button/button.tsx +97 -0
  775. package/src/ui/button/index.ts +1 -0
  776. package/src/ui/container/container.stories.tsx +29 -0
  777. package/src/ui/container/container.tsx +18 -0
  778. package/src/ui/container/index.ts +1 -0
  779. package/src/ui/control-group/control-group.module.css +23 -0
  780. package/src/ui/control-group/control-group.stories.tsx +24 -0
  781. package/src/ui/control-group/control-group.tsx +17 -0
  782. package/src/ui/control-group/index.ts +1 -0
  783. package/src/ui/copy-to-clipboard/copy-to-clipboard.module.css +15 -0
  784. package/src/ui/copy-to-clipboard/copy-to-clipboard.stories.tsx +33 -0
  785. package/src/ui/copy-to-clipboard/copy-to-clipboard.tsx +53 -0
  786. package/src/ui/copy-to-clipboard/index.ts +1 -0
  787. package/src/ui/dialog/dialog.module.css +93 -0
  788. package/src/ui/dialog/dialog.stories.tsx +78 -0
  789. package/src/ui/dialog/dialog.tsx +62 -0
  790. package/src/ui/dialog/index.ts +1 -0
  791. package/src/ui/dropdown/dropdown.module.css +7 -31
  792. package/src/ui/dropdown/dropdown.stories.tsx +25 -0
  793. package/src/ui/dropdown/dropdown.tsx +72 -0
  794. package/src/ui/empty-set/empty-set.jsx +6 -5
  795. package/src/ui/empty-set/empty-set.module.css +0 -17
  796. package/src/ui/file-name/file-name.jsx +1 -1
  797. package/src/ui/file-name/file-name.module.css +2 -0
  798. package/src/ui/filters/__tests__/filters.utils.ts +98 -0
  799. package/src/ui/filters/filters.i18n.ts +6 -0
  800. package/src/ui/filters/filters.module.css +71 -85
  801. package/src/ui/filters/filters.stories.tsx +109 -0
  802. package/src/ui/filters/filters.tsx +234 -0
  803. package/src/ui/filters/{filters.utils.js → filters.utils.ts} +38 -21
  804. package/src/ui/filters/{index.jsx → index.tsx} +14 -17
  805. package/src/ui/hover-card/hover-card.module.css +2 -1
  806. package/src/ui/hover-card/hover-card.stories.tsx +41 -0
  807. package/src/ui/hover-card/{hover-card.jsx → hover-card.tsx} +22 -31
  808. package/src/ui/icon/icon.stories.tsx +54 -0
  809. package/src/ui/icon/icon.tsx +64 -0
  810. package/src/ui/index.js +7 -3
  811. package/src/ui/input/input.module.css +2 -3
  812. package/src/ui/input/input.stories.tsx +13 -0
  813. package/src/ui/input/input.tsx +16 -0
  814. package/src/ui/input-search/index.ts +1 -0
  815. package/src/ui/input-search/input-search.module.css +18 -0
  816. package/src/ui/input-search/input-search.tsx +86 -0
  817. package/src/ui/loader/loader.jsx +1 -1
  818. package/src/ui/markdown/index.ts +1 -0
  819. package/src/ui/markdown/markdown.module.css +7 -0
  820. package/src/ui/markdown/markdown.stories.tsx +29 -0
  821. package/src/ui/markdown/markdown.tsx +24 -0
  822. package/src/ui/skeleton/skeleton.module.css +4 -3
  823. package/src/ui/table/table.module.css +30 -0
  824. package/src/ui/table/table.stories.tsx +238 -0
  825. package/src/ui/table/table.tsx +38 -0
  826. package/src/ui/tabs/index.ts +1 -0
  827. package/src/ui/tabs/tabs.module.css +6 -5
  828. package/src/ui/tabs/tabs.stories.tsx +25 -0
  829. package/src/ui/tabs/tabs.tsx +32 -0
  830. package/src/ui/tag/tag.module.css +18 -4
  831. package/src/ui/tag/tag.stories.tsx +32 -0
  832. package/src/ui/tag/tag.tsx +29 -0
  833. package/src/ui/textarea/index.ts +1 -0
  834. package/src/ui/textarea/textarea.module.css +56 -0
  835. package/src/ui/textarea/textarea.stories.tsx +37 -0
  836. package/src/ui/textarea/textarea.tsx +17 -0
  837. package/src/ui/toolbar/toolbar.module.css +1 -3
  838. package/src/ui/tooltip/tooltip.module.css +7 -15
  839. package/src/ui/tooltip/tooltip.stories.module.css +8 -0
  840. package/src/ui/tooltip/tooltip.stories.tsx +35 -0
  841. package/src/ui/tooltip/tooltip.tsx +52 -0
  842. package/src/utils/colors.ts +19 -0
  843. package/src/utils/components.tsx +19 -0
  844. package/src/utils/index.ts +3 -0
  845. package/src/utils/jobs.ts +22 -0
  846. package/types/app/app.d.ts +2 -1
  847. package/types/app/header/header.d.ts +6 -16
  848. package/types/app/header/index.d.ts +1 -1
  849. package/types/assets/icons.svg.d.ts +2 -1
  850. package/types/components/asset-info/asset-info.d.ts +12 -23
  851. package/types/components/asset-info/asset-info.i18n.d.ts +7 -0
  852. package/types/components/asset-info/index.d.ts +1 -1
  853. package/types/components/asset-meta-tag/asset-meta-tag.d.ts +8 -0
  854. package/types/components/asset-meta-tag/index.d.ts +1 -0
  855. package/types/components/asset-name/asset-name.d.ts +8 -0
  856. package/types/components/asset-name/index.d.ts +1 -0
  857. package/types/components/asset-not-predictive/asset-not-predictive.d.ts +8 -0
  858. package/types/components/asset-not-predictive/index.d.ts +1 -0
  859. package/types/components/browsertime-table/browsertime-table.d.ts +7 -6
  860. package/types/components/bundle-assets/bundle-assets.d.ts +24 -50
  861. package/types/components/bundle-assets/bundle-assets.i18n.d.ts +10 -0
  862. package/types/components/bundle-assets/bundle-assets.utils.d.ts +17 -5
  863. package/types/components/bundle-assets/index.d.ts +11 -22
  864. package/types/components/bundle-assets-totals/bundle-assets-totals.d.ts +27 -0
  865. package/types/components/bundle-assets-totals/index.d.ts +1 -0
  866. package/types/components/bundle-modules/bundle-modules.d.ts +26 -59
  867. package/types/components/bundle-modules/bundle-modules.i18n.d.ts +8 -0
  868. package/types/components/bundle-modules/bundle-modules.utils.d.ts +22 -8
  869. package/types/components/bundle-modules/index.d.ts +14 -21
  870. package/types/components/bundle-packages/bundle-packages.d.ts +30 -22
  871. package/types/components/bundle-packages/bundle-packages.i18n.d.ts +1 -0
  872. package/types/components/bundle-packages/bundle-packages.utils.d.ts +1 -1
  873. package/types/components/bundle-packages/index.d.ts +13 -12
  874. package/types/components/component-link.d.ts +8 -7
  875. package/types/components/delta/delta.d.ts +11 -10
  876. package/types/components/entry-info/entry-info.d.ts +33 -0
  877. package/types/components/entry-info/entry-info.i18n.d.ts +3 -0
  878. package/types/components/entry-info/index.d.ts +1 -0
  879. package/types/components/index.d.ts +3 -6
  880. package/types/components/insight-icon/insight-icon.d.ts +1 -1
  881. package/types/components/insights/insights.d.ts +1 -1
  882. package/types/components/job-name/job-name.d.ts +12 -11
  883. package/types/components/jobs-header/index.d.ts +1 -1
  884. package/types/components/jobs-header/jobs-header.d.ts +18 -15
  885. package/types/components/lighthouse-table/lighthouse-table.d.ts +7 -6
  886. package/types/components/metric/index.d.ts +1 -1
  887. package/types/components/metric/metric.d.ts +6 -32
  888. package/types/components/metric-run-info/index.d.ts +1 -0
  889. package/types/components/metric-run-info/metric-run-info.d.ts +14 -0
  890. package/types/components/metrics-display-selector/index.d.ts +1 -0
  891. package/types/components/metrics-display-selector/metrics-display-selector.d.ts +11 -0
  892. package/types/components/metrics-table/index.d.ts +5 -1
  893. package/types/components/metrics-table/metrics-table.d.ts +20 -50
  894. package/types/components/metrics-table/metrics-table.i18n.d.ts +3 -0
  895. package/types/components/metrics-table-export/index.d.ts +1 -0
  896. package/types/components/metrics-table-export/metrics-table-export.d.ts +11 -0
  897. package/types/components/metrics-table-header/index.d.ts +1 -0
  898. package/types/components/metrics-table-header/metrics-table-header.d.ts +14 -0
  899. package/types/components/metrics-table-header/metrics-table-header.i18n.d.ts +5 -0
  900. package/types/components/metrics-table-options/index.d.ts +1 -1
  901. package/types/components/metrics-table-options/metrics-table-options.d.ts +10 -17
  902. package/types/components/metrics-table-title/metrics-table-title.d.ts +12 -11
  903. package/types/components/metrics-treemap/index.d.ts +2 -0
  904. package/types/components/metrics-treemap/metrics-treemap.constants.d.ts +28 -0
  905. package/types/components/metrics-treemap/metrics-treemap.d.ts +11 -0
  906. package/types/components/metrics-treemap/metrics-treemap.i18n.d.ts +2 -0
  907. package/types/components/metrics-treemap/metrics-treemap.utils.d.ts +15 -0
  908. package/types/components/module-info/index.d.ts +1 -1
  909. package/types/components/module-info/module-info.d.ts +13 -34
  910. package/types/components/package-info/index.d.ts +1 -0
  911. package/types/components/package-info/package-info.d.ts +15 -0
  912. package/types/components/preview-source/index.d.ts +1 -0
  913. package/types/components/preview-source/preview-source.d.ts +9 -0
  914. package/types/components/run-info/index.d.ts +1 -0
  915. package/types/components/run-info/run-info.d.ts +17 -0
  916. package/types/components/sort-button/index.d.ts +1 -0
  917. package/types/components/sort-button/sort-button.d.ts +10 -0
  918. package/types/components/summary/index.d.ts +1 -1
  919. package/types/components/summary/summary.d.ts +23 -36
  920. package/types/constants.d.ts +49 -23
  921. package/types/hooks/entry-info.d.ts +8 -0
  922. package/types/hooks/metrics-display-type.d.ts +10 -0
  923. package/types/hooks/rows-sort.d.ts +19 -18
  924. package/types/i18n.d.ts +24 -15
  925. package/types/layout/box/box.d.ts +12 -25
  926. package/types/layout/box/index.d.ts +1 -1
  927. package/types/layout/flex-stack/flex-stack.d.ts +10 -33
  928. package/types/layout/flex-stack/index.d.ts +1 -1
  929. package/types/layout/footer/footer.d.ts +7 -6
  930. package/types/layout/separator.d.ts +4 -4
  931. package/types/layout/stack/index.d.ts +1 -1
  932. package/types/layout/stack/stack.d.ts +7 -20
  933. package/types/query-state.d.ts +7 -2
  934. package/types/stories/wrapper.d.ts +2 -1
  935. package/types/tokens.d.ts +23 -0
  936. package/types/ui/alert/alert.d.ts +7 -14
  937. package/types/ui/alert/index.d.ts +1 -1
  938. package/types/ui/button/button.d.ts +58 -0
  939. package/types/ui/button/index.d.ts +1 -0
  940. package/types/ui/container/container.d.ts +5 -17
  941. package/types/ui/container/index.d.ts +1 -1
  942. package/types/ui/control-group/control-group.d.ts +3 -0
  943. package/types/ui/control-group/index.d.ts +1 -0
  944. package/types/ui/copy-to-clipboard/copy-to-clipboard.d.ts +7 -0
  945. package/types/ui/copy-to-clipboard/index.d.ts +1 -0
  946. package/types/ui/dialog/dialog.d.ts +13 -0
  947. package/types/ui/dialog/index.d.ts +1 -0
  948. package/types/ui/dropdown/dropdown.d.ts +15 -43
  949. package/types/ui/dropdown/index.d.ts +1 -1
  950. package/types/ui/empty-set/empty-set.d.ts +9 -8
  951. package/types/ui/file-name/file-name.d.ts +9 -8
  952. package/types/ui/filters/filters.d.ts +19 -13
  953. package/types/ui/filters/filters.i18n.d.ts +6 -0
  954. package/types/ui/filters/filters.utils.d.ts +7 -6
  955. package/types/ui/filters/index.d.ts +8 -11
  956. package/types/ui/hover-card/hover-card.d.ts +12 -26
  957. package/types/ui/hover-card/index.d.ts +1 -1
  958. package/types/ui/icon/icon.d.ts +70 -38
  959. package/types/ui/icon/index.d.ts +1 -1
  960. package/types/ui/index.d.ts +7 -3
  961. package/types/ui/input/index.d.ts +1 -1
  962. package/types/ui/input/input.d.ts +5 -17
  963. package/types/ui/input-search/index.d.ts +1 -0
  964. package/types/ui/input-search/input-search.d.ts +9 -0
  965. package/types/ui/loader/loader.d.ts +12 -11
  966. package/types/ui/markdown/index.d.ts +1 -0
  967. package/types/ui/markdown/markdown.d.ts +7 -0
  968. package/types/ui/skeleton/skeleton.d.ts +9 -8
  969. package/types/ui/table/index.d.ts +1 -1
  970. package/types/ui/table/table.d.ts +14 -33
  971. package/types/ui/tabs/index.d.ts +1 -1
  972. package/types/ui/tabs/tabs.d.ts +12 -41
  973. package/types/ui/tag/index.d.ts +1 -1
  974. package/types/ui/tag/tag.d.ts +23 -34
  975. package/types/ui/textarea/index.d.ts +1 -0
  976. package/types/ui/textarea/textarea.d.ts +6 -0
  977. package/types/ui/toolbar/toolbar.d.ts +8 -7
  978. package/types/ui/tooltip/index.d.ts +1 -1
  979. package/types/ui/tooltip/tooltip.d.ts +9 -28
  980. package/types/utils/colors.d.ts +1 -0
  981. package/types/utils/components.d.ts +2 -0
  982. package/types/utils/index.d.ts +3 -0
  983. package/types/utils/jobs.d.ts +7 -0
  984. package/CHANGELOG.md +0 -576
  985. package/lib/components/bundle-assets/bundle-assets.constants.js +0 -21
  986. package/lib/components/bundle-assets/bundle-assets.constants.js.map +0 -1
  987. package/lib/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js +0 -91
  988. package/lib/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js.map +0 -1
  989. package/lib/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.module.css +0 -42
  990. package/lib/components/bundle-assets-totals-chart-bars/index.js.map +0 -1
  991. package/lib/components/bundle-assets-totals-table/bundle-assets-totals-table.js +0 -57
  992. package/lib/components/bundle-assets-totals-table/bundle-assets-totals-table.js.map +0 -1
  993. package/lib/components/bundle-assets-totals-table/bundle-assets-totals-table.module.css +0 -3
  994. package/lib/components/bundle-assets-totals-table/index.js.map +0 -1
  995. package/lib/components/bundle-modules/bundle-modules.constants.js +0 -21
  996. package/lib/components/bundle-modules/bundle-modules.constants.js.map +0 -1
  997. package/lib/components/bundle-packages/bundle-packages.constants.js +0 -21
  998. package/lib/components/bundle-packages/bundle-packages.constants.js.map +0 -1
  999. package/lib/components/job-header/index.js.map +0 -1
  1000. package/lib/components/job-header/job-header.js +0 -53
  1001. package/lib/components/job-header/job-header.js.map +0 -1
  1002. package/lib/components/job-header/job-header.module.css +0 -19
  1003. package/lib/components/job-meta/index.js.map +0 -1
  1004. package/lib/components/job-meta/job-meta.js +0 -34
  1005. package/lib/components/job-meta/job-meta.js.map +0 -1
  1006. package/lib/components/job-meta/job-meta.module.css +0 -19
  1007. package/lib/components/metrics-table-search/index.js.map +0 -1
  1008. package/lib/components/metrics-table-search/metrics-table-search.js +0 -73
  1009. package/lib/components/metrics-table-search/metrics-table-search.js.map +0 -1
  1010. package/lib/components/metrics-table-search/metrics-table-search.module.css +0 -47
  1011. package/lib/components/summary-item/index.js.map +0 -1
  1012. package/lib/components/summary-item/summary-item.js +0 -97
  1013. package/lib/components/summary-item/summary-item.js.map +0 -1
  1014. package/lib/components/summary-item/summary-item.module.css +0 -58
  1015. package/lib/components/total-size-type-title/index.js +0 -18
  1016. package/lib/components/total-size-type-title/index.js.map +0 -1
  1017. package/lib/components/total-size-type-title/total-size-type-title.js +0 -31
  1018. package/lib/components/total-size-type-title/total-size-type-title.js.map +0 -1
  1019. package/lib/components/total-size-type-title/total-size-type-title.module.css +0 -32
  1020. package/lib/ui/horizontal-bar-chart/horizontal-bar-chart.js +0 -102
  1021. package/lib/ui/horizontal-bar-chart/horizontal-bar-chart.js.map +0 -1
  1022. package/lib/ui/horizontal-bar-chart/horizontal-bar-chart.module.css +0 -40
  1023. package/lib/ui/horizontal-bar-chart/index.js +0 -18
  1024. package/lib/ui/horizontal-bar-chart/index.js.map +0 -1
  1025. package/lib/ui/panels/index.js +0 -6
  1026. package/lib/ui/panels/index.js.map +0 -1
  1027. package/lib/ui/panels/panels.js +0 -28
  1028. package/lib/ui/panels/panels.js.map +0 -1
  1029. package/lib/ui/panels/panels.module.css +0 -23
  1030. package/lib/ui/sort-dropdown/index.js.map +0 -1
  1031. package/lib/ui/sort-dropdown/sort-dropdown.js +0 -101
  1032. package/lib/ui/sort-dropdown/sort-dropdown.js.map +0 -1
  1033. package/lib/ui/sort-dropdown/sort-dropdown.module.css +0 -22
  1034. package/lib/utils.js.map +0 -1
  1035. package/lib-esm/components/bundle-assets/bundle-assets.constants.js +0 -18
  1036. package/lib-esm/components/bundle-assets/bundle-assets.constants.js.map +0 -1
  1037. package/lib-esm/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js +0 -64
  1038. package/lib-esm/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js.map +0 -1
  1039. package/lib-esm/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.module.css +0 -42
  1040. package/lib-esm/components/bundle-assets-totals-chart-bars/index.js +0 -2
  1041. package/lib-esm/components/bundle-assets-totals-chart-bars/index.js.map +0 -1
  1042. package/lib-esm/components/bundle-assets-totals-table/bundle-assets-totals-table.js +0 -27
  1043. package/lib-esm/components/bundle-assets-totals-table/bundle-assets-totals-table.js.map +0 -1
  1044. package/lib-esm/components/bundle-assets-totals-table/bundle-assets-totals-table.module.css +0 -3
  1045. package/lib-esm/components/bundle-assets-totals-table/index.js +0 -2
  1046. package/lib-esm/components/bundle-assets-totals-table/index.js.map +0 -1
  1047. package/lib-esm/components/bundle-modules/bundle-modules.constants.js +0 -18
  1048. package/lib-esm/components/bundle-modules/bundle-modules.constants.js.map +0 -1
  1049. package/lib-esm/components/bundle-packages/bundle-packages.constants.js +0 -18
  1050. package/lib-esm/components/bundle-packages/bundle-packages.constants.js.map +0 -1
  1051. package/lib-esm/components/job-header/index.js +0 -2
  1052. package/lib-esm/components/job-header/index.js.map +0 -1
  1053. package/lib-esm/components/job-header/job-header.js +0 -46
  1054. package/lib-esm/components/job-header/job-header.js.map +0 -1
  1055. package/lib-esm/components/job-header/job-header.module.css +0 -19
  1056. package/lib-esm/components/job-meta/index.js +0 -2
  1057. package/lib-esm/components/job-meta/index.js.map +0 -1
  1058. package/lib-esm/components/job-meta/job-meta.js +0 -27
  1059. package/lib-esm/components/job-meta/job-meta.js.map +0 -1
  1060. package/lib-esm/components/job-meta/job-meta.module.css +0 -19
  1061. package/lib-esm/components/metrics-table-search/index.js +0 -2
  1062. package/lib-esm/components/metrics-table-search/index.js.map +0 -1
  1063. package/lib-esm/components/metrics-table-search/metrics-table-search.js +0 -43
  1064. package/lib-esm/components/metrics-table-search/metrics-table-search.js.map +0 -1
  1065. package/lib-esm/components/metrics-table-search/metrics-table-search.module.css +0 -47
  1066. package/lib-esm/components/summary-item/index.js +0 -2
  1067. package/lib-esm/components/summary-item/index.js.map +0 -1
  1068. package/lib-esm/components/summary-item/summary-item.js +0 -67
  1069. package/lib-esm/components/summary-item/summary-item.js.map +0 -1
  1070. package/lib-esm/components/summary-item/summary-item.module.css +0 -58
  1071. package/lib-esm/components/total-size-type-title/index.js +0 -2
  1072. package/lib-esm/components/total-size-type-title/index.js.map +0 -1
  1073. package/lib-esm/components/total-size-type-title/total-size-type-title.js +0 -24
  1074. package/lib-esm/components/total-size-type-title/total-size-type-title.js.map +0 -1
  1075. package/lib-esm/components/total-size-type-title/total-size-type-title.module.css +0 -32
  1076. package/lib-esm/ui/horizontal-bar-chart/horizontal-bar-chart.js +0 -96
  1077. package/lib-esm/ui/horizontal-bar-chart/horizontal-bar-chart.js.map +0 -1
  1078. package/lib-esm/ui/horizontal-bar-chart/horizontal-bar-chart.module.css +0 -40
  1079. package/lib-esm/ui/horizontal-bar-chart/index.js +0 -2
  1080. package/lib-esm/ui/horizontal-bar-chart/index.js.map +0 -1
  1081. package/lib-esm/ui/panels/index.js +0 -2
  1082. package/lib-esm/ui/panels/index.js.map +0 -1
  1083. package/lib-esm/ui/panels/panels.js +0 -21
  1084. package/lib-esm/ui/panels/panels.js.map +0 -1
  1085. package/lib-esm/ui/panels/panels.module.css +0 -23
  1086. package/lib-esm/ui/sort-dropdown/index.js +0 -2
  1087. package/lib-esm/ui/sort-dropdown/index.js.map +0 -1
  1088. package/lib-esm/ui/sort-dropdown/sort-dropdown.js +0 -71
  1089. package/lib-esm/ui/sort-dropdown/sort-dropdown.js.map +0 -1
  1090. package/lib-esm/ui/sort-dropdown/sort-dropdown.module.css +0 -22
  1091. package/lib-esm/utils.js +0 -30
  1092. package/lib-esm/utils.js.map +0 -1
  1093. package/src/app/header/header.jsx +0 -25
  1094. package/src/assets/icons/cancel.svg +0 -1
  1095. package/src/components/asset-info/asset-info.jsx +0 -96
  1096. package/src/components/bundle-assets/bundle-assets.constants.js +0 -18
  1097. package/src/components/bundle-assets/bundle-assets.jsx +0 -347
  1098. package/src/components/bundle-assets/bundle-assets.utils.js +0 -95
  1099. package/src/components/bundle-assets/index.jsx +0 -89
  1100. package/src/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.jsx +0 -102
  1101. package/src/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.module.css +0 -42
  1102. package/src/components/bundle-assets-totals-chart-bars/index.js +0 -1
  1103. package/src/components/bundle-assets-totals-table/bundle-assets-totals-table.jsx +0 -55
  1104. package/src/components/bundle-assets-totals-table/bundle-assets-totals-table.module.css +0 -3
  1105. package/src/components/bundle-assets-totals-table/index.js +0 -1
  1106. package/src/components/bundle-modules/bundle-modules.constants.js +0 -18
  1107. package/src/components/bundle-modules/bundle-modules.jsx +0 -303
  1108. package/src/components/bundle-modules/bundle-modules.utils.js +0 -119
  1109. package/src/components/bundle-modules/index.jsx +0 -123
  1110. package/src/components/bundle-packages/bundle-packages.constants.js +0 -18
  1111. package/src/components/job-header/index.js +0 -1
  1112. package/src/components/job-header/job-header.jsx +0 -66
  1113. package/src/components/job-header/job-header.module.css +0 -19
  1114. package/src/components/job-meta/index.js +0 -1
  1115. package/src/components/job-meta/job-meta.jsx +0 -47
  1116. package/src/components/job-meta/job-meta.module.css +0 -19
  1117. package/src/components/jobs-header/jobs-header.jsx +0 -43
  1118. package/src/components/metric/metric.jsx +0 -63
  1119. package/src/components/metrics-table/index.jsx +0 -11
  1120. package/src/components/metrics-table/metrics-table.jsx +0 -299
  1121. package/src/components/metrics-table-options/metrics-table-options.jsx +0 -36
  1122. package/src/components/metrics-table-search/index.js +0 -1
  1123. package/src/components/metrics-table-search/metrics-table-search.jsx +0 -72
  1124. package/src/components/metrics-table-search/metrics-table-search.module.css +0 -47
  1125. package/src/components/module-info/module-info.jsx +0 -93
  1126. package/src/components/summary/summary.jsx +0 -73
  1127. package/src/components/summary-item/index.js +0 -1
  1128. package/src/components/summary-item/summary-item.jsx +0 -142
  1129. package/src/components/summary-item/summary-item.module.css +0 -58
  1130. package/src/components/total-size-type-title/index.js +0 -1
  1131. package/src/components/total-size-type-title/total-size-type-title.jsx +0 -39
  1132. package/src/components/total-size-type-title/total-size-type-title.module.css +0 -32
  1133. package/src/hooks/rows-sort.js +0 -24
  1134. package/src/layout/box/box.jsx +0 -67
  1135. package/src/layout/box/index.js +0 -1
  1136. package/src/layout/flex-stack/flex-stack.jsx +0 -49
  1137. package/src/layout/stack/stack.jsx +0 -32
  1138. package/src/query-state.jsx +0 -41
  1139. package/src/ui/alert/alert.jsx +0 -27
  1140. package/src/ui/container/container.jsx +0 -24
  1141. package/src/ui/container/index.js +0 -1
  1142. package/src/ui/dropdown/dropdown.jsx +0 -79
  1143. package/src/ui/filters/__tests__/filters-dropdown.utils.js +0 -74
  1144. package/src/ui/filters/filters.jsx +0 -234
  1145. package/src/ui/horizontal-bar-chart/horizontal-bar-chart.jsx +0 -156
  1146. package/src/ui/horizontal-bar-chart/horizontal-bar-chart.module.css +0 -40
  1147. package/src/ui/horizontal-bar-chart/index.js +0 -1
  1148. package/src/ui/icon/icon.jsx +0 -53
  1149. package/src/ui/input/input.jsx +0 -20
  1150. package/src/ui/panels/index.js +0 -1
  1151. package/src/ui/panels/panels.jsx +0 -39
  1152. package/src/ui/panels/panels.module.css +0 -23
  1153. package/src/ui/sort-dropdown/index.js +0 -1
  1154. package/src/ui/sort-dropdown/sort-dropdown.jsx +0 -121
  1155. package/src/ui/sort-dropdown/sort-dropdown.module.css +0 -22
  1156. package/src/ui/table/table.jsx +0 -37
  1157. package/src/ui/tabs/index.js +0 -1
  1158. package/src/ui/tabs/tabs.jsx +0 -39
  1159. package/src/ui/tag/tag.jsx +0 -49
  1160. package/src/ui/tooltip/tooltip.jsx +0 -67
  1161. package/src/utils.jsx +0 -38
  1162. package/types/components/bundle-assets/bundle-assets.constants.d.ts +0 -21
  1163. package/types/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.d.ts +0 -21
  1164. package/types/components/bundle-assets-totals-chart-bars/index.d.ts +0 -1
  1165. package/types/components/bundle-assets-totals-table/bundle-assets-totals-table.d.ts +0 -22
  1166. package/types/components/bundle-assets-totals-table/index.d.ts +0 -1
  1167. package/types/components/bundle-modules/bundle-modules.constants.d.ts +0 -21
  1168. package/types/components/bundle-packages/bundle-packages.constants.d.ts +0 -21
  1169. package/types/components/job-header/index.d.ts +0 -1
  1170. package/types/components/job-header/job-header.d.ts +0 -26
  1171. package/types/components/job-meta/index.d.ts +0 -1
  1172. package/types/components/job-meta/job-meta.d.ts +0 -18
  1173. package/types/components/metrics-table-search/index.d.ts +0 -1
  1174. package/types/components/metrics-table-search/metrics-table-search.d.ts +0 -16
  1175. package/types/components/summary-item/index.d.ts +0 -1
  1176. package/types/components/summary-item/summary-item.d.ts +0 -40
  1177. package/types/components/total-size-type-title/index.d.ts +0 -1
  1178. package/types/components/total-size-type-title/total-size-type-title.d.ts +0 -13
  1179. package/types/ui/horizontal-bar-chart/horizontal-bar-chart.d.ts +0 -22
  1180. package/types/ui/horizontal-bar-chart/index.d.ts +0 -1
  1181. package/types/ui/panels/index.d.ts +0 -1
  1182. package/types/ui/panels/panels.d.ts +0 -18
  1183. package/types/ui/sort-dropdown/index.d.ts +0 -1
  1184. package/types/ui/sort-dropdown/sort-dropdown.d.ts +0 -24
  1185. package/types/utils.d.ts +0 -2
  1186. /package/src/app/header/{index.js → index.ts} +0 -0
  1187. /package/src/components/asset-info/{index.js → index.ts} +0 -0
  1188. /package/src/components/jobs-header/{index.js → index.ts} +0 -0
  1189. /package/src/components/metric/{index.js → index.ts} +0 -0
  1190. /package/src/components/metrics-table-options/{index.js → index.ts} +0 -0
  1191. /package/src/components/module-info/{index.js → index.ts} +0 -0
  1192. /package/src/components/summary/{index.js → index.ts} +0 -0
  1193. /package/src/layout/flex-stack/{index.js → index.ts} +0 -0
  1194. /package/src/layout/stack/{index.js → index.ts} +0 -0
  1195. /package/src/ui/alert/{index.js → index.ts} +0 -0
  1196. /package/src/ui/dropdown/{index.js → index.ts} +0 -0
  1197. /package/src/ui/hover-card/{index.js → index.ts} +0 -0
  1198. /package/src/ui/icon/{index.js → index.ts} +0 -0
  1199. /package/src/ui/input/{index.js → index.ts} +0 -0
  1200. /package/src/ui/table/{index.js → index.ts} +0 -0
  1201. /package/src/ui/tag/{index.js → index.ts} +0 -0
  1202. /package/src/ui/tooltip/{index.js → index.ts} +0 -0
@@ -0,0 +1,325 @@
1
+ .root {
2
+ position: relative;
3
+ aspect-ratio: 16/9;
4
+ background: var(--color-background);
5
+ border-bottom-left-radius: inherit;
6
+ border-bottom-right-radius: inherit;
7
+ overflow: hidden;
8
+ }
9
+
10
+ .canvas {
11
+ position: absolute;
12
+ left: 0;
13
+ top: 0;
14
+ width: 100%;
15
+ height: 100%;
16
+ background: var(--color-background);
17
+ }
18
+
19
+ /**
20
+ * Tile group
21
+ */
22
+ .tileGroup {
23
+ position: absolute;
24
+ }
25
+
26
+ .tileGroupTitle {
27
+ width: 100%;
28
+ cursor: default;
29
+ }
30
+
31
+ .tileGroupTitleContent {
32
+ width: 100%;
33
+ padding: var(--space-xxxsmall) 2px var(--space-xxxsmall) var(--space-xxsmall);
34
+ display: flex;
35
+ align-items: center;
36
+ color: var(--color-text);
37
+ font-family: var(--font-family-fixed);
38
+ font-size: 10px;
39
+ line-height: var(--space-small);
40
+ overflow: hidden;
41
+ white-space: nowrap;
42
+ text-overflow: ellipsis;
43
+ }
44
+
45
+ .tileGroupTitleText,
46
+ .tileGroupTitleTotal {
47
+ flex: 0 0 auto;
48
+ min-width: 0;
49
+ }
50
+
51
+ .tileGroupTitleTotal {
52
+ margin-left: var(--space-xxsmall);
53
+ color: var(--color-text-light);
54
+ }
55
+
56
+ .tileGroupTitle {
57
+ transition: var(--transition-out);
58
+ }
59
+
60
+ .tileGroupTitle:hover .tileGroupTitleText {
61
+ text-decoration: underline;
62
+ transition: var(--transition-in);
63
+ }
64
+
65
+ /** Tile group size variation */
66
+ .tileGroup {
67
+ transition: var(--transition-out);
68
+ transition-property: background-color, outline;
69
+ }
70
+
71
+ .tileGroup--minimal .tileGroupTitle,
72
+ .tileGroup--small .tileGroupTitle {
73
+ height: 100%; /* full height when title is missing or we do not render any children */
74
+ }
75
+
76
+ .tileGroup--minimal .tileGroupTitleContent,
77
+ .tileGroup--small .tileGroupTitleContent {
78
+ min-height: 100%;
79
+ }
80
+
81
+ /** Tile group nested variation */
82
+ .nested .tileGroup {
83
+ background-color: rgba(27, 26, 33, 0.03);
84
+ outline: 1px solid rgba(255, 255, 255, 0.8);
85
+ }
86
+
87
+ .nested .tileGroup:has(> .tileGroupTitle:hover),
88
+ .nested .tileGroup:has(> .tile:hover) {
89
+ background-color: rgba(27, 26, 33, 0.06);
90
+ outline: 1px solid rgba(255, 255, 255, 1);
91
+ transition: var(--transition-in);
92
+ transition-property: background-color, outline;
93
+ }
94
+
95
+ .nested .tileGroup--NEGATIVE {
96
+ background-color: rgba(194, 31, 37, 0.04);
97
+ }
98
+
99
+ .nested .tileGroup--NEGATIVE:has(> .tileGroupTitle:hover),
100
+ .nested .tileGroup--NEGATIVE:has(> .tile:hover) {
101
+ background-color: rgba(194, 31, 37, 0.1);
102
+ }
103
+
104
+ .nested .tileGroup--POSITIVE {
105
+ background-color: rgba(42, 147, 39, 0.04);
106
+ }
107
+
108
+ .nested .tileGroup--POSITIVE:has(> .tileGroupTitle:hover),
109
+ .nested .tileGroup--POSITIVE:has(> .tile:hover) {
110
+ background-color: rgba(42, 147, 39, 0.1);
111
+ }
112
+
113
+ /* reset bacground color when having a not changed group */
114
+ .nested .tileGroup--POSITIVE > .tileGroup--NO_CHANGE,
115
+ .nested .tileGroup--NEGATIVE > .tileGroup--NO_CHANGE {
116
+ background-color: var(--color-background);
117
+ background-image: linear-gradient(rgba(27, 26, 33, 0.1), rgba(27, 26, 33, 0.1));
118
+ }
119
+
120
+ .nested .tileGroup--POSITIVE > .tileGroup--NO_CHANGE:has(> .tileGroupTitle:hover),
121
+ .nested .tileGroup--POSITIVE > .tileGroup--NO_CHANGE:has(> .tile:hover),
122
+ .nested .tileGroup--NEGATIVE > .tileGroup--NO_CHANGE:has(> .tileGroupTitle:hover),
123
+ .nested .tileGroup--NEGATIVE > .tileGroup--NEGATIVE > .tileGroup--NO_CHANGE:has(> .tile:hover) {
124
+ background-color: var(--color-background);
125
+ background-image: linear-gradient(rgba(27, 26, 33, 0.1), rgba(27, 26, 33, 0.1));
126
+ }
127
+
128
+ /** Leaf wrapper button */
129
+ .tile {
130
+ position: absolute;
131
+ appearance: none;
132
+ border: 0;
133
+ border-radius: 0;
134
+ padding: 0;
135
+ background: var(--color-background);
136
+ display: flex;
137
+ align-items: center;
138
+ font-family: var(--font-family-fixed);
139
+ font-size: var(--size-small);
140
+ line-height: var(--line-height-heading);
141
+ text-align: left;
142
+ transition: var(--transition-out);
143
+ transition-property: opacity, background-color;
144
+ }
145
+
146
+ .tile::before {
147
+ content: "";
148
+ display: block;
149
+ position: absolute;
150
+ z-index: 1;
151
+ left: 0;
152
+ top: 0;
153
+ width: 100%;
154
+ height: 100%;
155
+ background-color: currentColor;
156
+ }
157
+
158
+ .tileContent {
159
+ position: relative;
160
+ z-index: 1;
161
+ width: 100%;
162
+ height: 100%;
163
+ display: flex;
164
+ flex-flow: column;
165
+ justify-content: center;
166
+ padding: var(--space-xxsmall) var(--space-xxsmall);
167
+ gap: var(--space-xxxsmall);
168
+ line-height: var(--line-height-heading);
169
+ }
170
+
171
+ /** Align label to other elements on the first column cells */
172
+ .tileFirstCol .tileContent {
173
+ padding-left: var(--space-small);
174
+ }
175
+
176
+ .tileContentLabel {
177
+ flex: 0 1 auto;
178
+ width: 100%;
179
+ min-width: 0;
180
+ line-height: var(--line-height-heading);
181
+ max-height: calc(2em * var(--line-height-heading)); /* render max 2 rows */
182
+ overflow-wrap: break-word;
183
+ word-wrap: break-word;
184
+ word-break: break-all;
185
+ word-break: break-word;
186
+ hyphens: auto;
187
+ white-space: normal;
188
+ overflow: hidden;
189
+ }
190
+
191
+ .tileContentValue {
192
+ flex: 0 0 auto;
193
+ max-width: calc(100% + var(--space-xxsmall));
194
+ white-space: nowrap;
195
+ overflow: hidden;
196
+ }
197
+
198
+ .tileContentMetric {
199
+ font-weight: bold;
200
+ }
201
+
202
+ .tileContentDelta {
203
+ margin-left: var(--space-xxxsmall);
204
+ }
205
+
206
+ /** Tile size variation */
207
+ .tileSizeSmall .tileContent {
208
+ padding: var(--space-xxxsmall);
209
+ font-size: 10px;
210
+ }
211
+
212
+ .tileSizeSmall .tileContentLabel {
213
+ margin-top: 0;
214
+ }
215
+
216
+ /** Tile diff variation */
217
+ .tile {
218
+ outline: 1px solid rgba(255, 255, 255, 1);
219
+ color: var(--color-text);
220
+ }
221
+
222
+ .tile::before {
223
+ color: var(--color-highlight);
224
+ transition: var(--transition-out);
225
+ transition-property: opacity;
226
+ opacity: 0.6;
227
+ }
228
+
229
+ .tile:hover::before {
230
+ transition: var(--transition-in);
231
+ transition-property: opacity;
232
+ opacity: 0.4;
233
+ }
234
+
235
+ .tile:hover .tileContentLabel {
236
+ text-decoration: underline;
237
+ }
238
+
239
+ .tile-NO_CHANGE {
240
+ color: var(--color-text-light);
241
+ }
242
+
243
+ .tile-NO_CHANGE::before {
244
+ color: var(--color-gray-50);
245
+ opacity: 0.4;
246
+ }
247
+
248
+ .tile-NO_CHANGE:hover::before {
249
+ opacity: 0.2;
250
+ }
251
+
252
+ .tile-HIGH_NEGATIVE::before {
253
+ color: var(--color-red-100);
254
+ }
255
+
256
+ .tile-NEGATIVE::before {
257
+ color: var(--color-red-50);
258
+ }
259
+
260
+ .tile-LOW_NEGATIVE::before {
261
+ color: var(--color-red-50);
262
+ }
263
+
264
+ .tile-LOW_POSITIVE::before {
265
+ color: var(--color-green-50);
266
+ }
267
+
268
+ .tile-POSITIVE::before {
269
+ color: var(--color-green-50);
270
+ }
271
+
272
+ .tile-HIGH_POSITIVE::before {
273
+ color: var(--color-green-100);
274
+ }
275
+
276
+ /** empty message */
277
+ .emptyMessage {
278
+ position: absolute;
279
+ left: 0;
280
+ top: 0;
281
+ width: 100%;
282
+ height: 100%;
283
+ display: flex;
284
+ align-items: center;
285
+ justify-content: center;
286
+ }
287
+
288
+ .emptyMessageWrapper {
289
+ max-width: 100%;
290
+ text-align: center;
291
+ }
292
+
293
+ /** tooltip */
294
+ .tileContentTooltipAnchor {
295
+ width: 100%;
296
+ height: 100%;
297
+ }
298
+
299
+ .tooltip {
300
+ z-index: var(--layer-xxhigh);
301
+ padding: var(--space-xsmall) var(--space-small);
302
+ border-radius: var(--radius-medium);
303
+ width: calc(100vw - 2 * var(--space-small));
304
+ max-width: 340px;
305
+ outline: none;
306
+ filter: drop-shadow(var(--shadow-layer-high));
307
+ will-change: filter;
308
+ background: var(--color-light);
309
+ font-size: var(--size-small);
310
+ pointer-events: none;
311
+ }
312
+
313
+ .tileTooltipArrow svg {
314
+ display: block;
315
+ fill: var(--color-background) !important;
316
+ }
317
+
318
+ .tileTooltipContentTitle {
319
+ font-size: var(--size-small);
320
+ }
321
+
322
+ /* prevent tooltip portal wrapper from capturing events */
323
+ div[role="presentation"]:has(.tooltip) {
324
+ pointer-events: none;
325
+ }
@@ -0,0 +1,168 @@
1
+ import { useCallback } from 'react';
2
+ import { useDebounce, useMouseHovered } from 'react-use';
3
+ import { useTooltipState } from 'ariakit/tooltip';
4
+ import { DeltaType, } from '@bundle-stats/utils';
5
+ import { NESTED_PADDING_TOP, } from './metrics-treemap.constants';
6
+ const ROOT_LABEL = '(root)';
7
+ function getReportMetricRowMaxValue(item) {
8
+ const values = item.runs.map((run) => (run === null || run === void 0 ? void 0 : run.value) || 0);
9
+ return Math.max(...values);
10
+ }
11
+ export function getTreemapNodes(items) {
12
+ const rootChildren = items.map((item) => ({
13
+ id: item.key,
14
+ label: item.label,
15
+ value: getReportMetricRowMaxValue(item),
16
+ item,
17
+ }));
18
+ return {
19
+ id: '',
20
+ label: ROOT_LABEL,
21
+ value: 0,
22
+ children: rootChildren,
23
+ };
24
+ }
25
+ function getItemValues(runs) {
26
+ var _a, _b;
27
+ const runCount = runs === null || runs === void 0 ? void 0 : runs.length;
28
+ const current = ((_a = runs[0]) === null || _a === void 0 ? void 0 : _a.value) || 0;
29
+ if (runs.length < 2) {
30
+ return { current, baseline: undefined };
31
+ }
32
+ return {
33
+ current,
34
+ baseline: (_b = runs === null || runs === void 0 ? void 0 : runs[runCount - 1]) === null || _b === void 0 ? void 0 : _b.value,
35
+ };
36
+ }
37
+ function setTreeNode(nodes, slugs, currentSlugId, newNode) {
38
+ var _a, _b, _c;
39
+ const baseSlugs = slugs.slice(0, currentSlugId);
40
+ const [currentSlug, ...restSlug] = slugs.slice(currentSlugId);
41
+ if (!currentSlug) {
42
+ nodes.push(newNode);
43
+ return getItemValues(newNode.item.runs);
44
+ }
45
+ const currentNodePath = [...baseSlugs, currentSlug].join('/');
46
+ let parentNode = nodes.find((treeNode) => treeNode.id === currentNodePath);
47
+ const nodeValues = getItemValues((_a = newNode === null || newNode === void 0 ? void 0 : newNode.item) === null || _a === void 0 ? void 0 : _a.runs);
48
+ const hasBaseline = typeof nodeValues.baseline !== 'undefined';
49
+ if (!parentNode) {
50
+ parentNode = {
51
+ id: currentNodePath,
52
+ label: currentSlug,
53
+ value: 0,
54
+ children: [],
55
+ total: {
56
+ current: 0,
57
+ baseline: hasBaseline ? 0 : undefined,
58
+ },
59
+ };
60
+ nodes.push(parentNode);
61
+ }
62
+ parentNode.total = {
63
+ current: (((_b = parentNode.total) === null || _b === void 0 ? void 0 : _b.current) || 0) + nodeValues.current,
64
+ baseline: hasBaseline
65
+ ? (((_c = parentNode.total) === null || _c === void 0 ? void 0 : _c.baseline) || 0) + (nodeValues.baseline || 0)
66
+ : undefined,
67
+ };
68
+ if (restSlug.length === 0) {
69
+ parentNode.children.push(newNode);
70
+ return getItemValues(newNode.item.runs);
71
+ }
72
+ return setTreeNode(parentNode.children, slugs, currentSlugId + 1, newNode);
73
+ }
74
+ export function getTreemapNodesGroupedByPath(items) {
75
+ const treeNodes = [];
76
+ const total = { current: 0, baseline: undefined };
77
+ items.forEach((item) => {
78
+ const slugs = item.key.split('/');
79
+ const baseSlugs = slugs.slice(0, -1);
80
+ const baseName = slugs.slice(-1)[0];
81
+ const treeNode = {
82
+ id: item.key,
83
+ label: baseName,
84
+ value: getReportMetricRowMaxValue(item),
85
+ item,
86
+ };
87
+ const childrenTotal = setTreeNode(treeNodes, baseSlugs, 0, treeNode);
88
+ total.current += childrenTotal.current;
89
+ total.baseline =
90
+ typeof childrenTotal.baseline !== 'undefined'
91
+ ? (total.baseline || 0) + childrenTotal.baseline
92
+ : undefined;
93
+ });
94
+ return {
95
+ id: '',
96
+ label: ROOT_LABEL,
97
+ value: 0,
98
+ children: treeNodes,
99
+ total,
100
+ };
101
+ }
102
+ export function resolveGroupDeltaType(metricRunInfo) {
103
+ if (!metricRunInfo) {
104
+ return DeltaType.NO_CHANGE;
105
+ }
106
+ const deltaType = 'displayDelta' in metricRunInfo ? metricRunInfo.deltaType : undefined;
107
+ if (deltaType === null || deltaType === void 0 ? void 0 : deltaType.match(/NEGATIVE/)) {
108
+ return DeltaType.NEGATIVE;
109
+ }
110
+ if (deltaType === null || deltaType === void 0 ? void 0 : deltaType.match(/POSITIVE/)) {
111
+ return DeltaType.POSITIVE;
112
+ }
113
+ return DeltaType.NO_CHANGE;
114
+ }
115
+ const PADDING_TOP = 8;
116
+ const PADDING_BOTTOM = 8;
117
+ const PADDING_LEFT = 8;
118
+ const PADDING_RIGHT = 8;
119
+ const LINE_HEIGHT = 16;
120
+ const LINE_HEIGHT_SMALL = 13.3;
121
+ export function resolveTileGroupSizeDisplay(width, height) {
122
+ if (height < NESTED_PADDING_TOP) {
123
+ return 'minimal';
124
+ }
125
+ if (width < 24) {
126
+ return 'minimal';
127
+ }
128
+ if (height < NESTED_PADDING_TOP + 8) {
129
+ return 'small';
130
+ }
131
+ return 'default';
132
+ }
133
+ export function resolveTileSizeDisplay(width, height) {
134
+ if (height < PADDING_TOP + PADDING_BOTTOM + LINE_HEIGHT_SMALL) {
135
+ return 'minimal';
136
+ }
137
+ if (width < PADDING_LEFT + PADDING_RIGHT + 42) {
138
+ return 'minimal';
139
+ }
140
+ if (height < PADDING_TOP + PADDING_TOP + LINE_HEIGHT * 2) {
141
+ return 'small';
142
+ }
143
+ if (width < PADDING_LEFT + PADDING_RIGHT + 96) {
144
+ return 'small';
145
+ }
146
+ return 'default';
147
+ }
148
+ export function useTooltipStateWithMouseFollow(options) {
149
+ const { parentRef, gutter = 16, timeout = 240 } = options;
150
+ const pointer = useMouseHovered(parentRef, { whenHovered: true });
151
+ const getAnchorRect = useCallback(() => {
152
+ var _a, _b, _c, _d;
153
+ if (pointer.docX === 0 && pointer.docY === 0 && pointer.elW === 0 && pointer.elH === 0) {
154
+ return null;
155
+ }
156
+ const newRect = {
157
+ x: pointer.docX - ((_b = (_a = document === null || document === void 0 ? void 0 : document.defaultView) === null || _a === void 0 ? void 0 : _a.scrollX) !== null && _b !== void 0 ? _b : 0),
158
+ y: pointer.docY - ((_d = (_c = document === null || document === void 0 ? void 0 : document.defaultView) === null || _c === void 0 ? void 0 : _c.scrollY) !== null && _d !== void 0 ? _d : 0),
159
+ w: 1,
160
+ h: 1,
161
+ };
162
+ return newRect;
163
+ }, [pointer.docX, pointer.docY]);
164
+ const tooltipState = useTooltipState({ gutter, getAnchorRect, timeout });
165
+ useDebounce(tooltipState.render, 10, [pointer.docX, pointer.docY]);
166
+ return tooltipState;
167
+ }
168
+ //# sourceMappingURL=metrics-treemap.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-treemap.utils.js","sourceRoot":"","sources":["../../../src/components/metrics-treemap/metrics-treemap.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,WAAW,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,SAAS,GAIV,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAOL,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AAErC,MAAM,UAAU,GAAG,QAAQ,CAAC;AAM5B,SAAS,0BAA0B,CAAC,IAAqB;IACvD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,KAAI,CAAC,CAAC,CAAC;IACvD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;AAC7B,CAAC;AAKD,MAAM,UAAU,eAAe,CAAC,KAA6B;IAC3D,MAAM,YAAY,GAAoB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzD,EAAE,EAAE,IAAI,CAAC,GAAG;QACZ,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK,EAAE,0BAA0B,CAAC,IAAI,CAAC;QACvC,IAAI;KACL,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,EAAE,EAAE,EAAE;QACN,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,YAAY;KACvB,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAA6B;;IAClD,MAAM,QAAQ,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC;IAC9B,MAAM,OAAO,GAAG,CAAA,MAAA,IAAI,CAAC,CAAC,CAAC,0CAAE,KAAK,KAAI,CAAC,CAAC;IAEpC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC1C,CAAC;IAED,OAAO;QACL,OAAO;QACP,QAAQ,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,QAAQ,GAAG,CAAC,CAAC,0CAAE,KAAK;KACtC,CAAC;AACJ,CAAC;AAKD,SAAS,WAAW,CAClB,KAAuB,EACvB,KAAoB,EACpB,aAAqB,EACrB,OAAiB;;IAEjB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAChD,MAAM,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAG9D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,OAAO,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,eAAe,GAAG,CAAC,GAAG,SAAS,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAG9D,IAAI,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,eAAe,CAAS,CAAC;IAGnF,MAAM,UAAU,GAAG,aAAa,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,IAAI,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,OAAO,UAAU,CAAC,QAAQ,KAAK,WAAW,CAAC;IAG/D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,UAAU,GAAG;YACX,EAAE,EAAE,eAAe;YACnB,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE;gBACL,OAAO,EAAE,CAAC;gBACV,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;aACtC;SACF,CAAC;QAEF,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IAED,UAAU,CAAC,KAAK,GAAG;QACjB,OAAO,EAAE,CAAC,CAAA,MAAA,UAAU,CAAC,KAAK,0CAAE,OAAO,KAAI,CAAC,CAAC,GAAG,UAAU,CAAC,OAAO;QAC9D,QAAQ,EAAE,WAAW;YACnB,CAAC,CAAC,CAAC,CAAA,MAAA,UAAU,CAAC,KAAK,0CAAE,QAAQ,KAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,IAAI,CAAC,CAAC;YAChE,CAAC,CAAC,SAAS;KACd,CAAC;IAGF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;AAC7E,CAAC;AAKD,MAAM,UAAU,4BAA4B,CAAC,KAA6B;IACxE,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,MAAM,KAAK,GAAc,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAE7D,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpC,MAAM,QAAQ,GAAG;YACf,EAAE,EAAE,IAAI,CAAC,GAAG;YACZ,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,0BAA0B,CAAC,IAAI,CAAC;YACvC,IAAI;SACL,CAAC;QAEF,MAAM,aAAa,GAAG,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QAErE,KAAK,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC;QACvC,KAAK,CAAC,QAAQ;YACZ,OAAO,aAAa,CAAC,QAAQ,KAAK,WAAW;gBAC3C,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,aAAa,CAAC,QAAQ;gBAChD,CAAC,CAAC,SAAS,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,EAAE,EAAE,EAAE;QACN,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,SAAS;QACnB,KAAK;KACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,aAAqD;IAErD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC,SAAS,CAAC;IAC7B,CAAC;IAED,MAAM,SAAS,GAAG,cAAc,IAAI,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAExF,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC,QAAQ,CAAC;IAC5B,CAAC;IAED,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC,QAAQ,CAAC;IAC5B,CAAC;IAED,OAAO,SAAS,CAAC,SAAS,CAAC;AAC7B,CAAC;AAMD,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAE/B,MAAM,UAAU,2BAA2B,CAAC,KAAa,EAAE,MAAc;IACvE,IAAI,MAAM,GAAG,kBAAkB,EAAE,CAAC;QAChC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,GAAG,kBAAkB,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAa,EAAE,MAAc;IAClE,IAAI,MAAM,GAAG,WAAW,GAAG,cAAc,GAAG,iBAAiB,EAAE,CAAC;QAC9D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,KAAK,GAAG,YAAY,GAAG,aAAa,GAAG,EAAE,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC;QACzD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,KAAK,GAAG,YAAY,GAAG,aAAa,GAAG,EAAE,EAAE,CAAC;QAC9C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAoBD,MAAM,UAAU,8BAA8B,CAAC,OAA8C;IAC3F,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,EAAE,EAAE,OAAO,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC;IAE1D,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAGlE,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;;QAErC,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;YACvF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG;YACd,CAAC,EAAE,OAAO,CAAC,IAAI,GAAG,CAAC,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,0CAAE,OAAO,mCAAI,CAAC,CAAC;YACvD,CAAC,EAAE,OAAO,CAAC,IAAI,GAAG,CAAC,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,0CAAE,OAAO,mCAAI,CAAC,CAAC;YACvD,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;SACL,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAEjC,MAAM,YAAY,GAAG,eAAe,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;IAGzE,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAEnE,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/module-info/index.js"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/module-info/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -1,55 +1,113 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import isEmpty from 'lodash/isEmpty';
1
+ import React, { useMemo } from 'react';
2
+ import cx from 'classnames';
3
+ import orderBy from 'lodash/orderBy';
4
4
  import noop from 'lodash/noop';
5
- import { getBundleModulesByChunk } from '@bundle-stats/utils';
5
+ import { METRIC_TYPE_CONFIGS, BUNDLE_MODULES_DUPLICATE, FILE_TYPE_LABELS, MODULE_SOURCE_TYPE_LABELS, formatNumber, getBundleModulesByChunk, getBundleModulesByFileTpe, getBundleModulesBySource, getMetricRunInfo, } from '@bundle-stats/utils';
6
6
  import { Stack } from '../../layout/stack';
7
- import { FileName } from '../../ui/file-name';
7
+ import { Tag } from '../../ui/tag';
8
8
  import { ComponentLink } from '../component-link';
9
+ import { RunInfo } from '../run-info';
10
+ import { EntryInfo, EntryInfoMetaLink } from '../entry-info';
9
11
  import css from './module-info.module.css';
10
- export const ModuleInfo = (props) => {
11
- const { className, item, labels, chunks, chunkIds, customComponentLink: CustomComponentLink, onClick, } = props;
12
- return (React.createElement(Stack, { space: "xsmall", className: className }, item.runs.map((run, index) => {
13
- const TitleComponent = index !== 0 ? 'h4' : 'h3';
14
- const key = `module-info-${(run === null || run === void 0 ? void 0 : run.name) || index}-${index}`;
15
- return (React.createElement(Stack, { space: "xxxsmall", key: key },
16
- React.createElement(TitleComponent, null, labels[index]),
17
- index === 0 && !isEmpty(run === null || run === void 0 ? void 0 : run.chunkIds) && (React.createElement("div", { className: css.chunks },
18
- React.createElement("span", { className: css.chunksTitle }, "Chunks:"),
19
- run.chunkIds.map((chunkId) => {
20
- const chunk = chunks === null || chunks === void 0 ? void 0 : chunks.find(({ id }) => id === chunkId);
21
- if (!chunk) {
22
- return null;
23
- }
24
- return (React.createElement(CustomComponentLink, { ...getBundleModulesByChunk(chunkIds, chunkId), onClick: onClick, className: css.chunksItem }, chunk.name));
25
- }))),
26
- React.createElement(FileName, { className: css.fileName, as: "code", name: (run === null || run === void 0 ? void 0 : run.name) || '-' })));
27
- })));
12
+ import { FlexStack } from '../../layout';
13
+ import { ModuleSizeMetric, ModuleSizeMetrics } from '../../constants';
14
+ const DuplicateInstances = ({ current, baseline }) => {
15
+ const runInfo = getMetricRunInfo({
16
+ biggerIsBetter: false,
17
+ formatter: formatNumber,
18
+ }, current, baseline);
19
+ return (React.createElement(RunInfo, { current: runInfo.displayValue, delta: runInfo.displayDeltaPercentage, deltaPercentage: runInfo.displayDelta, deltaType: runInfo.deltaType, size: "small", className: css.duplicateInstances }));
20
+ };
21
+ var ChunkDataState;
22
+ (function (ChunkDataState) {
23
+ ChunkDataState[ChunkDataState["ADDED"] = 2] = "ADDED";
24
+ ChunkDataState[ChunkDataState["REMOVED"] = 1] = "REMOVED";
25
+ ChunkDataState[ChunkDataState["NOT_CHANGED"] = 0] = "NOT_CHANGED";
26
+ })(ChunkDataState || (ChunkDataState = {}));
27
+ const ChunkDataStateKind = {
28
+ [ChunkDataState.ADDED]: 'info',
29
+ [ChunkDataState.REMOVED]: 'danger',
30
+ [ChunkDataState.NOT_CHANGED]: 'default',
31
+ };
32
+ function compareChunksData(currentChunkIds, baselineChunkIds) {
33
+ const result = [];
34
+ currentChunkIds.forEach((chunkId) => {
35
+ if (!baselineChunkIds.includes(chunkId)) {
36
+ result.push({ id: chunkId, state: ChunkDataState.ADDED });
37
+ }
38
+ else {
39
+ result.push({ id: chunkId, state: ChunkDataState.NOT_CHANGED });
40
+ }
41
+ });
42
+ baselineChunkIds.forEach((chunk) => {
43
+ if (!currentChunkIds.includes(chunk)) {
44
+ result.push({ id: chunk, state: ChunkDataState.REMOVED });
45
+ }
46
+ });
47
+ return orderBy(result, 'state', 'desc');
48
+ }
49
+ const ChunksDelta = (props) => {
50
+ var _a, _b;
51
+ const { customComponentLink: CustomComponentLink, runs, chunks, chunkIds } = props;
52
+ const currentChunkIds = ((_a = runs[0]) === null || _a === void 0 ? void 0 : _a.chunkIds) || [];
53
+ const baselineChunkIds = ((_b = runs[runs.length - 1]) === null || _b === void 0 ? void 0 : _b.chunkIds) || [];
54
+ const chunksData = compareChunksData(currentChunkIds, baselineChunkIds);
55
+ return (React.createElement(Stack, { space: "xxxsmall" },
56
+ React.createElement("div", null, chunksData.map((chunkData) => {
57
+ const chunk = chunks === null || chunks === void 0 ? void 0 : chunks.find(({ id }) => id === chunkData.id);
58
+ if (!chunk) {
59
+ return null;
60
+ }
61
+ return (React.createElement(EntryInfoMetaLink, { as: CustomComponentLink, ...getBundleModulesByChunk(chunkIds, chunkData.id), className: cx(css.chunksItem, css[`chunksItem-${ChunkDataStateKind[chunkData.state]}`]) }, chunk.name));
62
+ }))));
28
63
  };
29
- ModuleInfo.propTypes = {
30
- className: PropTypes.string,
31
- item: PropTypes.shape({
32
- key: PropTypes.string,
33
- runs: PropTypes.arrayOf(PropTypes.shape({
34
- key: PropTypes.string,
35
- name: PropTypes.string,
36
- chunkIds: PropTypes.arrayOf(PropTypes.string),
37
- })),
38
- }).isRequired,
39
- labels: PropTypes.arrayOf(PropTypes.string).isRequired,
40
- chunks: PropTypes.arrayOf(PropTypes.shape({
41
- id: PropTypes.string,
42
- name: PropTypes.string,
43
- })),
44
- chunkIds: PropTypes.arrayOf(PropTypes.string),
45
- customComponentLink: PropTypes.elementType,
46
- onClick: PropTypes.func,
64
+ const ModuleSizeRunInfo = (props) => {
65
+ const { metric, title, titleTooltip, current, baseline } = props;
66
+ const runInfo = getMetricRunInfo(metric, current || 0, baseline);
67
+ return (React.createElement(RunInfo, { title: title, titleTooltip: titleTooltip, current: runInfo.displayValue, delta: runInfo.displayDeltaPercentage, deltaPercentage: runInfo.displayDelta, deltaType: runInfo.deltaType, baseline: baseline ? metric.formatter(baseline) : undefined }));
47
68
  };
48
- ModuleInfo.defaultProps = {
49
- className: '',
50
- chunks: [],
51
- chunkIds: [],
52
- customComponentLink: ComponentLink,
53
- onClick: noop,
69
+ const renderRunInfo = (item) => {
70
+ const itemModule = item;
71
+ const currentRun = itemModule.runs[0];
72
+ const baselineRun = itemModule.runs.length > 1 ? itemModule.runs[itemModule.runs.length - 1] : null;
73
+ const metric = METRIC_TYPE_CONFIGS.METRIC_TYPE_FILE_SIZE;
74
+ return (React.createElement(FlexStack, { space: "small", className: css.moduleSizes },
75
+ itemModule.duplicated && (React.createElement(React.Fragment, null,
76
+ React.createElement(ModuleSizeRunInfo, { metric: metric, title: ModuleSizeMetrics[ModuleSizeMetric.TOTAL_SIZE].label, titleTooltip: ModuleSizeMetrics[ModuleSizeMetric.TOTAL_SIZE].tooltip, current: currentRun === null || currentRun === void 0 ? void 0 : currentRun.sizeTotal, baseline: baselineRun === null || baselineRun === void 0 ? void 0 : baselineRun.sizeTotal }),
77
+ React.createElement(ModuleSizeRunInfo, { metric: metric, title: ModuleSizeMetrics[ModuleSizeMetric.DUPLICATE_SIZE].label, titleTooltip: ModuleSizeMetrics[ModuleSizeMetric.DUPLICATE_SIZE].tooltip, current: currentRun === null || currentRun === void 0 ? void 0 : currentRun.sizeDuplicate, baseline: baselineRun === null || baselineRun === void 0 ? void 0 : baselineRun.sizeDuplicate }))),
78
+ React.createElement(ModuleSizeRunInfo, { metric: metric, title: ModuleSizeMetrics[ModuleSizeMetric.SIZE].label, titleTooltip: ModuleSizeMetrics[ModuleSizeMetric.SIZE].tooltip, current: currentRun === null || currentRun === void 0 ? void 0 : currentRun.size, baseline: baselineRun === null || baselineRun === void 0 ? void 0 : baselineRun.size })));
79
+ };
80
+ export const ModuleInfo = (props) => {
81
+ var _a, _b;
82
+ const { className = '', item, labels, chunks = [], chunkIds = [], metricLabel = '', customComponentLink: CustomComponentLink = ComponentLink, onClick = noop, onClose, } = props;
83
+ const rootClassName = cx(css.root, className);
84
+ const tags = useMemo(() => {
85
+ if (!item.duplicated) {
86
+ return null;
87
+ }
88
+ return (React.createElement("div", null,
89
+ React.createElement(Tag, { as: CustomComponentLink, ...BUNDLE_MODULES_DUPLICATE, kind: "danger" }, "Duplicate")));
90
+ }, [item]);
91
+ const fileTypeLabel = FILE_TYPE_LABELS[item.fileType];
92
+ const sourceTypeLabel = item.thirdParty
93
+ ? MODULE_SOURCE_TYPE_LABELS.THIRD_PARTY
94
+ : MODULE_SOURCE_TYPE_LABELS.FIRST_PARTY;
95
+ const currentRun = item.runs[0];
96
+ const baselineRun = item.runs.length > 1 ? item.runs[item.runs.length - 1] : undefined;
97
+ const currentChunkCount = ((_a = currentRun === null || currentRun === void 0 ? void 0 : currentRun.chunkIds) === null || _a === void 0 ? void 0 : _a.length) || 0;
98
+ const baselineChunkCount = ((_b = baselineRun === null || baselineRun === void 0 ? void 0 : baselineRun.chunkIds) === null || _b === void 0 ? void 0 : _b.length) || 0;
99
+ const currentDuplicateInstances = currentChunkCount > 0 ? currentChunkCount - 1 : 0;
100
+ const baselineDuplicateInstances = baselineChunkCount > 0 ? baselineChunkCount - 1 : 0;
101
+ const hasDuplicates = currentDuplicateInstances !== 0 || baselineDuplicateInstances !== 0;
102
+ return (React.createElement(EntryInfo, { item: item, labels: labels, tags: tags, onClose: onClose, renderRunInfo: renderRunInfo, runSizeLabel: metricLabel, className: rootClassName },
103
+ React.createElement(Stack, { space: "xxxsmall" },
104
+ (item === null || item === void 0 ? void 0 : item.fileType) && (React.createElement(EntryInfo.Meta, { label: "File type", tooltip: "Module file type: JS, CSS" },
105
+ React.createElement(EntryInfoMetaLink, { as: CustomComponentLink, ...getBundleModulesByFileTpe(item.fileType, fileTypeLabel) }, fileTypeLabel))),
106
+ React.createElement(EntryInfo.Meta, { label: "Source", tooltip: "Module source type: first party, third party" },
107
+ React.createElement(EntryInfoMetaLink, { as: CustomComponentLink, ...getBundleModulesBySource(item.thirdParty || false, sourceTypeLabel), onClick: onClick }, sourceTypeLabel)),
108
+ hasDuplicates && (React.createElement(EntryInfo.Meta, { label: "Duplicates", tooltip: "Module duplicate instances" },
109
+ React.createElement(DuplicateInstances, { current: currentDuplicateInstances, baseline: baselineRun ? baselineDuplicateInstances : undefined }))),
110
+ React.createElement(EntryInfo.Meta, { label: "Chunks", tooltip: "Chunks that contain the module" },
111
+ React.createElement(ChunksDelta, { runs: item.runs, chunks: chunks, chunkIds: chunkIds, customComponentLink: CustomComponentLink })))));
54
112
  };
55
113
  //# sourceMappingURL=module-info.js.map