@bundle-stats/ui 4.2.3-beta.0 → 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 (1183) 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 +23 -1
  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 +47 -33
  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 +2 -2
  188. package/lib/layout/box/box.js.map +1 -1
  189. package/lib/layout/box/box.module.css +5 -3
  190. package/lib/layout/flex-stack/flex-stack.js +5 -22
  191. package/lib/layout/flex-stack/flex-stack.js.map +1 -1
  192. package/lib/layout/flex-stack/flex-stack.module.css +19 -23
  193. package/lib/layout/flex-stack/index.js.map +1 -1
  194. package/lib/layout/footer/footer.js +4 -5
  195. package/lib/layout/footer/footer.js.map +1 -1
  196. package/lib/layout/stack/index.js.map +1 -1
  197. package/lib/layout/stack/stack.js +3 -16
  198. package/lib/layout/stack/stack.js.map +1 -1
  199. package/lib/query-state.js +29 -23
  200. package/lib/query-state.js.map +1 -1
  201. package/lib/stories/wrapper.js +5 -2
  202. package/lib/stories/wrapper.js.map +1 -1
  203. package/lib/tokens.js +38 -0
  204. package/lib/tokens.js.map +1 -0
  205. package/lib/ui/alert/alert.js +2 -12
  206. package/lib/ui/alert/alert.js.map +1 -1
  207. package/lib/ui/alert/index.js.map +1 -1
  208. package/lib/ui/button/button.js +38 -0
  209. package/lib/ui/button/button.js.map +1 -0
  210. package/lib/ui/button/button.module.css +366 -0
  211. package/lib/ui/button/index.js +18 -0
  212. package/lib/ui/button/index.js.map +1 -0
  213. package/lib/ui/container/container.js.map +1 -1
  214. package/lib/ui/control-group/control-group.js +16 -0
  215. package/lib/ui/control-group/control-group.js.map +1 -0
  216. package/lib/ui/control-group/control-group.module.css +23 -0
  217. package/lib/ui/control-group/index.js +18 -0
  218. package/lib/ui/control-group/index.js.map +1 -0
  219. package/lib/ui/copy-to-clipboard/copy-to-clipboard.js +66 -0
  220. package/lib/ui/copy-to-clipboard/copy-to-clipboard.js.map +1 -0
  221. package/lib/ui/copy-to-clipboard/copy-to-clipboard.module.css +15 -0
  222. package/lib/ui/copy-to-clipboard/index.js +18 -0
  223. package/lib/ui/copy-to-clipboard/index.js.map +1 -0
  224. package/lib/ui/dialog/dialog.js +27 -0
  225. package/lib/ui/dialog/dialog.js.map +1 -0
  226. package/lib/ui/dialog/dialog.module.css +93 -0
  227. package/lib/ui/dialog/index.js +18 -0
  228. package/lib/ui/dialog/index.js.map +1 -0
  229. package/lib/ui/dropdown/dropdown.js +12 -44
  230. package/lib/ui/dropdown/dropdown.js.map +1 -1
  231. package/lib/ui/dropdown/dropdown.module.css +7 -30
  232. package/lib/ui/dropdown/index.js.map +1 -1
  233. package/lib/ui/empty-set/empty-set.js +4 -3
  234. package/lib/ui/empty-set/empty-set.js.map +1 -1
  235. package/lib/ui/empty-set/empty-set.module.css +0 -17
  236. package/lib/ui/file-name/file-name.js +1 -1
  237. package/lib/ui/file-name/file-name.js.map +1 -1
  238. package/lib/ui/file-name/file-name.module.css +2 -0
  239. package/lib/ui/filters/filters.i18n.js +10 -0
  240. package/lib/ui/filters/filters.i18n.js.map +1 -0
  241. package/lib/ui/filters/filters.js +62 -75
  242. package/lib/ui/filters/filters.js.map +1 -1
  243. package/lib/ui/filters/filters.module.css +73 -83
  244. package/lib/ui/filters/filters.utils.js +27 -11
  245. package/lib/ui/filters/filters.utils.js.map +1 -1
  246. package/lib/ui/filters/index.js +17 -15
  247. package/lib/ui/filters/index.js.map +1 -1
  248. package/lib/ui/hover-card/hover-card.js +21 -29
  249. package/lib/ui/hover-card/hover-card.js.map +1 -1
  250. package/lib/ui/hover-card/hover-card.module.css +2 -1
  251. package/lib/ui/hover-card/index.js.map +1 -1
  252. package/lib/ui/icon/icon.js +23 -19
  253. package/lib/ui/icon/icon.js.map +1 -1
  254. package/lib/ui/icon/index.js.map +1 -1
  255. package/lib/ui/index.js +15 -7
  256. package/lib/ui/index.js.map +1 -1
  257. package/lib/ui/input/index.js.map +1 -1
  258. package/lib/ui/input/input.js +2 -10
  259. package/lib/ui/input/input.js.map +1 -1
  260. package/lib/ui/input/input.module.css +1 -1
  261. package/lib/ui/input-search/index.js +18 -0
  262. package/lib/ui/input-search/index.js.map +1 -0
  263. package/lib/ui/input-search/input-search.js +73 -0
  264. package/lib/ui/input-search/input-search.js.map +1 -0
  265. package/lib/ui/input-search/input-search.module.css +18 -0
  266. package/lib/ui/loader/loader.js +1 -1
  267. package/lib/ui/loader/loader.js.map +1 -1
  268. package/lib/ui/markdown/index.js +18 -0
  269. package/lib/ui/markdown/index.js.map +1 -0
  270. package/lib/ui/markdown/markdown.js +50 -0
  271. package/lib/ui/markdown/markdown.js.map +1 -0
  272. package/lib/ui/markdown/markdown.module.css +7 -0
  273. package/lib/ui/skeleton/skeleton.module.css +4 -3
  274. package/lib/ui/table/index.js.map +1 -1
  275. package/lib/ui/table/table.js +3 -17
  276. package/lib/ui/table/table.js.map +1 -1
  277. package/lib/ui/table/table.module.css +30 -0
  278. package/lib/ui/tabs/index.js +15 -3
  279. package/lib/ui/tabs/index.js.map +1 -1
  280. package/lib/ui/tabs/tabs.js +9 -20
  281. package/lib/ui/tabs/tabs.js.map +1 -1
  282. package/lib/ui/tabs/tabs.module.css +6 -5
  283. package/lib/ui/tag/index.js.map +1 -1
  284. package/lib/ui/tag/tag.js +5 -29
  285. package/lib/ui/tag/tag.js.map +1 -1
  286. package/lib/ui/tag/tag.module.css +18 -4
  287. package/lib/ui/textarea/index.js +18 -0
  288. package/lib/ui/textarea/index.js.map +1 -0
  289. package/lib/ui/textarea/textarea.js +16 -0
  290. package/lib/ui/textarea/textarea.js.map +1 -0
  291. package/lib/ui/textarea/textarea.module.css +56 -0
  292. package/lib/ui/toolbar/toolbar.module.css +1 -3
  293. package/lib/ui/tooltip/index.js.map +1 -1
  294. package/lib/ui/tooltip/tooltip.js +4 -24
  295. package/lib/ui/tooltip/tooltip.js.map +1 -1
  296. package/lib/ui/tooltip/tooltip.module.css +7 -15
  297. package/lib/ui/tooltip/tooltip.stories.module.css +8 -0
  298. package/lib/utils/colors.js +21 -0
  299. package/lib/utils/colors.js.map +1 -0
  300. package/lib/{utils.js → utils/components.js} +2 -17
  301. package/lib/utils/components.js.map +1 -0
  302. package/lib/{components/bundle-assets-totals-table → utils}/index.js +3 -1
  303. package/lib/utils/index.js.map +1 -0
  304. package/lib/utils/jobs.js +17 -0
  305. package/lib/utils/jobs.js.map +1 -0
  306. package/lib-esm/app/app.js +26 -41
  307. package/lib-esm/app/app.js.map +1 -1
  308. package/lib-esm/app/app.module.css +10 -7
  309. package/lib-esm/app/header/header.js +10 -12
  310. package/lib-esm/app/header/header.js.map +1 -1
  311. package/lib-esm/app/header/header.module.css +28 -20
  312. package/lib-esm/app/header/index.js.map +1 -1
  313. package/lib-esm/assets/icons.svg +43 -7
  314. package/lib-esm/assets/icons.svg.js +43 -18
  315. package/lib-esm/assets/icons.svg.js.map +1 -1
  316. package/lib-esm/components/asset-info/asset-info.i18n.js +8 -0
  317. package/lib-esm/components/asset-info/asset-info.i18n.js.map +1 -0
  318. package/lib-esm/components/asset-info/asset-info.js +39 -48
  319. package/lib-esm/components/asset-info/asset-info.js.map +1 -1
  320. package/lib-esm/components/asset-info/asset-info.module.css +36 -5
  321. package/lib-esm/components/asset-info/index.js.map +1 -1
  322. package/lib-esm/components/asset-meta-tag/asset-meta-tag.js +10 -0
  323. package/lib-esm/components/asset-meta-tag/asset-meta-tag.js.map +1 -0
  324. package/lib-esm/components/asset-meta-tag/asset-meta-tag.module.css +56 -0
  325. package/lib-esm/components/asset-meta-tag/index.js +2 -0
  326. package/lib-esm/components/asset-meta-tag/index.js.map +1 -0
  327. package/lib-esm/components/asset-name/asset-name.js +24 -0
  328. package/lib-esm/components/asset-name/asset-name.js.map +1 -0
  329. package/lib-esm/components/asset-name/asset-name.module.css +32 -0
  330. package/lib-esm/components/asset-name/index.js +2 -0
  331. package/lib-esm/components/asset-name/index.js.map +1 -0
  332. package/lib-esm/components/asset-not-predictive/asset-not-predictive.js +23 -0
  333. package/lib-esm/components/asset-not-predictive/asset-not-predictive.js.map +1 -0
  334. package/lib-esm/components/asset-not-predictive/asset-not-predictive.module.css +8 -0
  335. package/lib-esm/components/asset-not-predictive/index.js +2 -0
  336. package/lib-esm/components/asset-not-predictive/index.js.map +1 -0
  337. package/lib-esm/components/bundle-assets/bundle-assets.i18n.js +11 -0
  338. package/lib-esm/components/bundle-assets/bundle-assets.i18n.js.map +1 -0
  339. package/lib-esm/components/bundle-assets/bundle-assets.js +81 -168
  340. package/lib-esm/components/bundle-assets/bundle-assets.js.map +1 -1
  341. package/lib-esm/components/bundle-assets/bundle-assets.module.css +8 -76
  342. package/lib-esm/components/bundle-assets/bundle-assets.utils.js +170 -59
  343. package/lib-esm/components/bundle-assets/bundle-assets.utils.js.map +1 -1
  344. package/lib-esm/components/bundle-assets/index.js +16 -28
  345. package/lib-esm/components/bundle-assets/index.js.map +1 -1
  346. package/lib-esm/components/bundle-assets-totals/bundle-assets-totals.js +72 -0
  347. package/lib-esm/components/bundle-assets-totals/bundle-assets-totals.js.map +1 -0
  348. package/lib-esm/components/bundle-assets-totals/index.js +2 -0
  349. package/lib-esm/components/bundle-assets-totals/index.js.map +1 -0
  350. package/lib-esm/components/bundle-modules/bundle-modules.i18n.js +9 -0
  351. package/lib-esm/components/bundle-modules/bundle-modules.i18n.js.map +1 -0
  352. package/lib-esm/components/bundle-modules/bundle-modules.js +100 -127
  353. package/lib-esm/components/bundle-modules/bundle-modules.js.map +1 -1
  354. package/lib-esm/components/bundle-modules/bundle-modules.module.css +17 -6
  355. package/lib-esm/components/bundle-modules/bundle-modules.utils.js +124 -67
  356. package/lib-esm/components/bundle-modules/bundle-modules.utils.js.map +1 -1
  357. package/lib-esm/components/bundle-modules/index.js +46 -59
  358. package/lib-esm/components/bundle-modules/index.js.map +1 -1
  359. package/lib-esm/components/bundle-packages/bundle-packages.i18n.js +2 -0
  360. package/lib-esm/components/bundle-packages/bundle-packages.i18n.js.map +1 -0
  361. package/lib-esm/components/bundle-packages/bundle-packages.js +112 -74
  362. package/lib-esm/components/bundle-packages/bundle-packages.js.map +1 -1
  363. package/lib-esm/components/bundle-packages/bundle-packages.module.css +12 -19
  364. package/lib-esm/components/bundle-packages/bundle-packages.utils.js +1 -14
  365. package/lib-esm/components/bundle-packages/bundle-packages.utils.js.map +1 -1
  366. package/lib-esm/components/bundle-packages/index.js +7 -6
  367. package/lib-esm/components/bundle-packages/index.js.map +1 -1
  368. package/lib-esm/components/delta/delta.js +1 -1
  369. package/lib-esm/components/delta/delta.js.map +1 -1
  370. package/lib-esm/components/delta/delta.module.css +12 -2
  371. package/lib-esm/components/entry-info/entry-info.i18n.js +4 -0
  372. package/lib-esm/components/entry-info/entry-info.i18n.js.map +1 -0
  373. package/lib-esm/components/entry-info/entry-info.js +67 -0
  374. package/lib-esm/components/entry-info/entry-info.js.map +1 -0
  375. package/lib-esm/components/entry-info/entry-info.module.css +136 -0
  376. package/lib-esm/components/entry-info/index.js +2 -0
  377. package/lib-esm/components/entry-info/index.js.map +1 -0
  378. package/lib-esm/components/index.js +3 -6
  379. package/lib-esm/components/index.js.map +1 -1
  380. package/lib-esm/components/insight-icon/insight-icon.js.map +1 -1
  381. package/lib-esm/components/insight-icon/insight-icon.module.css +1 -1
  382. package/lib-esm/components/insights/insights.js.map +1 -1
  383. package/lib-esm/components/insights/insights.module.css +1 -0
  384. package/lib-esm/components/job-name/job-name.js +1 -1
  385. package/lib-esm/components/job-name/job-name.js.map +1 -1
  386. package/lib-esm/components/jobs-header/index.js.map +1 -1
  387. package/lib-esm/components/jobs-header/jobs-header.js +20 -13
  388. package/lib-esm/components/jobs-header/jobs-header.js.map +1 -1
  389. package/lib-esm/components/jobs-header/jobs-header.module.css +48 -4
  390. package/lib-esm/components/metric/index.js.map +1 -1
  391. package/lib-esm/components/metric/metric.js +7 -41
  392. package/lib-esm/components/metric/metric.js.map +1 -1
  393. package/lib-esm/components/metric/metric.module.css +5 -4
  394. package/lib-esm/components/metric-run-info/index.js +2 -0
  395. package/lib-esm/components/metric-run-info/index.js.map +1 -0
  396. package/lib-esm/components/metric-run-info/metric-run-info.js +52 -0
  397. package/lib-esm/components/metric-run-info/metric-run-info.js.map +1 -0
  398. package/lib-esm/components/metric-run-info/metric-run-info.module.css +17 -0
  399. package/lib-esm/components/metrics-display-selector/index.js +2 -0
  400. package/lib-esm/components/metrics-display-selector/index.js.map +1 -0
  401. package/lib-esm/components/metrics-display-selector/metrics-display-selector.js +54 -0
  402. package/lib-esm/components/metrics-display-selector/metrics-display-selector.js.map +1 -0
  403. package/lib-esm/components/metrics-display-selector/metrics-display-selector.module.css +63 -0
  404. package/lib-esm/components/metrics-table/index.js +1 -1
  405. package/lib-esm/components/metrics-table/index.js.map +1 -1
  406. package/lib-esm/components/metrics-table/metrics-table.i18n.js +4 -0
  407. package/lib-esm/components/metrics-table/metrics-table.i18n.js.map +1 -0
  408. package/lib-esm/components/metrics-table/metrics-table.js +29 -137
  409. package/lib-esm/components/metrics-table/metrics-table.js.map +1 -1
  410. package/lib-esm/components/metrics-table/metrics-table.module.css +10 -65
  411. package/lib-esm/components/metrics-table-export/index.js +2 -0
  412. package/lib-esm/components/metrics-table-export/index.js.map +1 -0
  413. package/lib-esm/components/metrics-table-export/metrics-table-export.js +63 -0
  414. package/lib-esm/components/metrics-table-export/metrics-table-export.js.map +1 -0
  415. package/lib-esm/components/metrics-table-export/metrics-table-export.module.css +4 -0
  416. package/lib-esm/components/metrics-table-header/index.js +2 -0
  417. package/lib-esm/components/metrics-table-header/index.js.map +1 -0
  418. package/lib-esm/components/metrics-table-header/metrics-table-header.i18n.js +6 -0
  419. package/lib-esm/components/metrics-table-header/metrics-table-header.i18n.js.map +1 -0
  420. package/lib-esm/components/metrics-table-header/metrics-table-header.js +49 -0
  421. package/lib-esm/components/metrics-table-header/metrics-table-header.js.map +1 -0
  422. package/lib-esm/components/metrics-table-header/metrics-table-header.module.css +51 -0
  423. package/lib-esm/components/metrics-table-options/index.js.map +1 -1
  424. package/lib-esm/components/metrics-table-options/metrics-table-options.js +10 -16
  425. package/lib-esm/components/metrics-table-options/metrics-table-options.js.map +1 -1
  426. package/lib-esm/components/metrics-table-options/metrics-table-options.module.css +15 -0
  427. package/lib-esm/components/metrics-table-title/metrics-table-title.js +4 -3
  428. package/lib-esm/components/metrics-table-title/metrics-table-title.js.map +1 -1
  429. package/lib-esm/components/metrics-table-title/metrics-table-title.module.css +5 -20
  430. package/lib-esm/components/metrics-treemap/index.js +3 -0
  431. package/lib-esm/components/metrics-treemap/index.js.map +1 -0
  432. package/lib-esm/components/metrics-treemap/metrics-treemap.constants.js +7 -0
  433. package/lib-esm/components/metrics-treemap/metrics-treemap.constants.js.map +1 -0
  434. package/lib-esm/components/metrics-treemap/metrics-treemap.i18n.js +3 -0
  435. package/lib-esm/components/metrics-treemap/metrics-treemap.i18n.js.map +1 -0
  436. package/lib-esm/components/metrics-treemap/metrics-treemap.js +172 -0
  437. package/lib-esm/components/metrics-treemap/metrics-treemap.js.map +1 -0
  438. package/lib-esm/components/metrics-treemap/metrics-treemap.module.css +325 -0
  439. package/lib-esm/components/metrics-treemap/metrics-treemap.utils.js +168 -0
  440. package/lib-esm/components/metrics-treemap/metrics-treemap.utils.js.map +1 -0
  441. package/lib-esm/components/module-info/index.js.map +1 -1
  442. package/lib-esm/components/module-info/module-info.js +105 -47
  443. package/lib-esm/components/module-info/module-info.js.map +1 -1
  444. package/lib-esm/components/module-info/module-info.module.css +30 -10
  445. package/lib-esm/components/package-info/index.js +2 -0
  446. package/lib-esm/components/package-info/index.js.map +1 -0
  447. package/lib-esm/components/package-info/package-info.js +48 -0
  448. package/lib-esm/components/package-info/package-info.js.map +1 -0
  449. package/lib-esm/components/package-info/package-info.module.css +13 -0
  450. package/lib-esm/components/preview-source/index.js +2 -0
  451. package/lib-esm/components/preview-source/index.js.map +1 -0
  452. package/lib-esm/components/preview-source/preview-source.js +21 -0
  453. package/lib-esm/components/preview-source/preview-source.js.map +1 -0
  454. package/lib-esm/components/preview-source/preview-source.module.css +40 -0
  455. package/lib-esm/components/run-info/index.js +2 -0
  456. package/lib-esm/components/run-info/index.js.map +1 -0
  457. package/lib-esm/components/run-info/run-info.js +42 -0
  458. package/lib-esm/components/run-info/run-info.js.map +1 -0
  459. package/lib-esm/components/run-info/run-info.module.css +94 -0
  460. package/lib-esm/components/sort-button/index.js +2 -0
  461. package/lib-esm/components/sort-button/index.js.map +1 -0
  462. package/lib-esm/components/sort-button/sort-button.js +53 -0
  463. package/lib-esm/components/sort-button/sort-button.js.map +1 -0
  464. package/lib-esm/components/sort-button/sort-button.module.css +83 -0
  465. package/lib-esm/components/summary/index.js.map +1 -1
  466. package/lib-esm/components/summary/summary.js +18 -31
  467. package/lib-esm/components/summary/summary.js.map +1 -1
  468. package/lib-esm/components/summary/summary.module.css +23 -1
  469. package/lib-esm/config.json +1 -1
  470. package/lib-esm/constants.js +36 -22
  471. package/lib-esm/constants.js.map +1 -1
  472. package/lib-esm/css/default.css +0 -67
  473. package/lib-esm/css/variables.css +47 -33
  474. package/lib-esm/hooks/entry-info.js +8 -0
  475. package/lib-esm/hooks/entry-info.js.map +1 -0
  476. package/lib-esm/hooks/metrics-display-type.js +59 -0
  477. package/lib-esm/hooks/metrics-display-type.js.map +1 -0
  478. package/lib-esm/hooks/rows-filter.js.map +1 -1
  479. package/lib-esm/hooks/rows-sort.js +28 -5
  480. package/lib-esm/hooks/rows-sort.js.map +1 -1
  481. package/lib-esm/hooks/search-params.js +2 -1
  482. package/lib-esm/hooks/search-params.js.map +1 -1
  483. package/lib-esm/i18n.js +13 -4
  484. package/lib-esm/i18n.js.map +1 -1
  485. package/lib-esm/layout/box/box.js +1 -1
  486. package/lib-esm/layout/box/box.js.map +1 -1
  487. package/lib-esm/layout/box/box.module.css +5 -3
  488. package/lib-esm/layout/flex-stack/flex-stack.js +5 -22
  489. package/lib-esm/layout/flex-stack/flex-stack.js.map +1 -1
  490. package/lib-esm/layout/flex-stack/flex-stack.module.css +19 -23
  491. package/lib-esm/layout/flex-stack/index.js.map +1 -1
  492. package/lib-esm/layout/footer/footer.js +4 -5
  493. package/lib-esm/layout/footer/footer.js.map +1 -1
  494. package/lib-esm/layout/stack/index.js.map +1 -1
  495. package/lib-esm/layout/stack/stack.js +3 -16
  496. package/lib-esm/layout/stack/stack.js.map +1 -1
  497. package/lib-esm/query-state.js +13 -17
  498. package/lib-esm/query-state.js.map +1 -1
  499. package/lib-esm/stories/wrapper.js +5 -2
  500. package/lib-esm/stories/wrapper.js.map +1 -1
  501. package/lib-esm/tokens.js +35 -0
  502. package/lib-esm/tokens.js.map +1 -0
  503. package/lib-esm/ui/alert/alert.js +2 -12
  504. package/lib-esm/ui/alert/alert.js.map +1 -1
  505. package/lib-esm/ui/alert/index.js.map +1 -1
  506. package/lib-esm/ui/button/button.js +32 -0
  507. package/lib-esm/ui/button/button.js.map +1 -0
  508. package/lib-esm/ui/button/button.module.css +366 -0
  509. package/lib-esm/ui/button/index.js +2 -0
  510. package/lib-esm/ui/button/index.js.map +1 -0
  511. package/lib-esm/ui/container/container.js.map +1 -1
  512. package/lib-esm/ui/control-group/control-group.js +9 -0
  513. package/lib-esm/ui/control-group/control-group.js.map +1 -0
  514. package/lib-esm/ui/control-group/control-group.module.css +23 -0
  515. package/lib-esm/ui/control-group/index.js +2 -0
  516. package/lib-esm/ui/control-group/index.js.map +1 -0
  517. package/lib-esm/ui/copy-to-clipboard/copy-to-clipboard.js +26 -0
  518. package/lib-esm/ui/copy-to-clipboard/copy-to-clipboard.js.map +1 -0
  519. package/lib-esm/ui/copy-to-clipboard/copy-to-clipboard.module.css +15 -0
  520. package/lib-esm/ui/copy-to-clipboard/index.js +2 -0
  521. package/lib-esm/ui/copy-to-clipboard/index.js.map +1 -0
  522. package/lib-esm/ui/dialog/dialog.js +19 -0
  523. package/lib-esm/ui/dialog/dialog.js.map +1 -0
  524. package/lib-esm/ui/dialog/dialog.module.css +93 -0
  525. package/lib-esm/ui/dialog/index.js +2 -0
  526. package/lib-esm/ui/dialog/index.js.map +1 -0
  527. package/lib-esm/ui/dropdown/dropdown.js +10 -43
  528. package/lib-esm/ui/dropdown/dropdown.js.map +1 -1
  529. package/lib-esm/ui/dropdown/dropdown.module.css +7 -30
  530. package/lib-esm/ui/dropdown/index.js.map +1 -1
  531. package/lib-esm/ui/empty-set/empty-set.js +4 -3
  532. package/lib-esm/ui/empty-set/empty-set.js.map +1 -1
  533. package/lib-esm/ui/empty-set/empty-set.module.css +0 -17
  534. package/lib-esm/ui/file-name/file-name.js +1 -1
  535. package/lib-esm/ui/file-name/file-name.js.map +1 -1
  536. package/lib-esm/ui/file-name/file-name.module.css +2 -0
  537. package/lib-esm/ui/filters/filters.i18n.js +7 -0
  538. package/lib-esm/ui/filters/filters.i18n.js.map +1 -0
  539. package/lib-esm/ui/filters/filters.js +47 -70
  540. package/lib-esm/ui/filters/filters.js.map +1 -1
  541. package/lib-esm/ui/filters/filters.module.css +73 -83
  542. package/lib-esm/ui/filters/filters.utils.js +27 -11
  543. package/lib-esm/ui/filters/filters.utils.js.map +1 -1
  544. package/lib-esm/ui/filters/index.js +0 -8
  545. package/lib-esm/ui/filters/index.js.map +1 -1
  546. package/lib-esm/ui/hover-card/hover-card.js +4 -22
  547. package/lib-esm/ui/hover-card/hover-card.js.map +1 -1
  548. package/lib-esm/ui/hover-card/hover-card.module.css +2 -1
  549. package/lib-esm/ui/hover-card/index.js.map +1 -1
  550. package/lib-esm/ui/icon/icon.js +23 -19
  551. package/lib-esm/ui/icon/icon.js.map +1 -1
  552. package/lib-esm/ui/icon/index.js.map +1 -1
  553. package/lib-esm/ui/index.js +7 -3
  554. package/lib-esm/ui/index.js.map +1 -1
  555. package/lib-esm/ui/input/index.js.map +1 -1
  556. package/lib-esm/ui/input/input.js +2 -10
  557. package/lib-esm/ui/input/input.js.map +1 -1
  558. package/lib-esm/ui/input/input.module.css +1 -1
  559. package/lib-esm/ui/input-search/index.js +2 -0
  560. package/lib-esm/ui/input-search/index.js.map +1 -0
  561. package/lib-esm/ui/input-search/input-search.js +33 -0
  562. package/lib-esm/ui/input-search/input-search.js.map +1 -0
  563. package/lib-esm/ui/input-search/input-search.module.css +18 -0
  564. package/lib-esm/ui/loader/loader.js +1 -1
  565. package/lib-esm/ui/loader/loader.js.map +1 -1
  566. package/lib-esm/ui/markdown/index.js +2 -0
  567. package/lib-esm/ui/markdown/index.js.map +1 -0
  568. package/lib-esm/ui/markdown/markdown.js +10 -0
  569. package/lib-esm/ui/markdown/markdown.js.map +1 -0
  570. package/lib-esm/ui/markdown/markdown.module.css +7 -0
  571. package/lib-esm/ui/skeleton/skeleton.module.css +4 -3
  572. package/lib-esm/ui/table/index.js.map +1 -1
  573. package/lib-esm/ui/table/table.js +3 -17
  574. package/lib-esm/ui/table/table.js.map +1 -1
  575. package/lib-esm/ui/table/table.module.css +30 -0
  576. package/lib-esm/ui/tabs/index.js +1 -1
  577. package/lib-esm/ui/tabs/index.js.map +1 -1
  578. package/lib-esm/ui/tabs/tabs.js +7 -19
  579. package/lib-esm/ui/tabs/tabs.js.map +1 -1
  580. package/lib-esm/ui/tabs/tabs.module.css +6 -5
  581. package/lib-esm/ui/tag/index.js.map +1 -1
  582. package/lib-esm/ui/tag/tag.js +4 -28
  583. package/lib-esm/ui/tag/tag.js.map +1 -1
  584. package/lib-esm/ui/tag/tag.module.css +18 -4
  585. package/lib-esm/ui/textarea/index.js +2 -0
  586. package/lib-esm/ui/textarea/index.js.map +1 -0
  587. package/lib-esm/ui/textarea/textarea.js +9 -0
  588. package/lib-esm/ui/textarea/textarea.js.map +1 -0
  589. package/lib-esm/ui/textarea/textarea.module.css +56 -0
  590. package/lib-esm/ui/toolbar/toolbar.module.css +1 -3
  591. package/lib-esm/ui/tooltip/index.js.map +1 -1
  592. package/lib-esm/ui/tooltip/tooltip.js +5 -24
  593. package/lib-esm/ui/tooltip/tooltip.js.map +1 -1
  594. package/lib-esm/ui/tooltip/tooltip.module.css +7 -15
  595. package/lib-esm/ui/tooltip/tooltip.stories.module.css +8 -0
  596. package/lib-esm/utils/colors.js +15 -0
  597. package/lib-esm/utils/colors.js.map +1 -0
  598. package/lib-esm/utils/components.js +16 -0
  599. package/lib-esm/utils/components.js.map +1 -0
  600. package/lib-esm/utils/index.js +4 -0
  601. package/lib-esm/utils/index.js.map +1 -0
  602. package/lib-esm/utils/jobs.js +11 -0
  603. package/lib-esm/utils/jobs.js.map +1 -0
  604. package/package.json +40 -45
  605. package/src/app/app-gladys.stories.tsx +47 -0
  606. package/src/app/app-home-assistant.stories.tsx +47 -0
  607. package/src/app/app-outline.stories.tsx +47 -0
  608. package/src/app/app-trans-masc-futures.stories.tsx +47 -0
  609. package/src/app/app.jsx +27 -70
  610. package/src/app/app.module.css +10 -7
  611. package/src/app/app.stories.tsx +127 -0
  612. package/src/app/header/header.module.css +28 -20
  613. package/src/app/header/header.tsx +34 -0
  614. package/src/assets/icons/check.svg +4 -0
  615. package/src/assets/icons/chevron-down.svg +1 -0
  616. package/src/assets/icons/chevron-up.svg +1 -0
  617. package/src/assets/icons/clipboard-check.svg +5 -0
  618. package/src/assets/icons/clipboard.svg +5 -0
  619. package/src/assets/icons/download.svg +4 -0
  620. package/src/assets/icons/external-link.svg +1 -0
  621. package/src/assets/icons/github.svg +1 -0
  622. package/src/assets/icons/more-vertical.svg +5 -0
  623. package/src/assets/icons/table.svg +3 -0
  624. package/src/assets/icons/treemap.svg +4 -0
  625. package/src/assets/icons.svg +43 -7
  626. package/src/assets/icons.svg.jsx +160 -53
  627. package/src/components/asset-info/asset-info.i18n.ts +7 -0
  628. package/src/components/asset-info/asset-info.module.css +36 -5
  629. package/src/components/asset-info/asset-info.stories.tsx +74 -0
  630. package/src/components/asset-info/asset-info.tsx +193 -0
  631. package/src/components/asset-meta-tag/asset-meta-tag.module.css +56 -0
  632. package/src/components/asset-meta-tag/asset-meta-tag.tsx +34 -0
  633. package/src/components/asset-meta-tag/index.ts +1 -0
  634. package/src/components/asset-name/asset-name.module.css +32 -0
  635. package/src/components/asset-name/asset-name.stories.tsx +85 -0
  636. package/src/components/asset-name/asset-name.tsx +59 -0
  637. package/src/components/asset-name/index.ts +1 -0
  638. package/src/components/asset-not-predictive/asset-not-predictive.module.css +8 -0
  639. package/src/components/asset-not-predictive/asset-not-predictive.stories.tsx +23 -0
  640. package/src/components/asset-not-predictive/asset-not-predictive.tsx +48 -0
  641. package/src/components/asset-not-predictive/index.ts +1 -0
  642. package/src/components/bundle-assets/__tests__/add-metric-report-asset-row-data.ts +235 -0
  643. package/src/components/bundle-assets/__tests__/get-asset-meta-status.ts +21 -0
  644. package/src/components/bundle-assets/__tests__/get-is-not-predictive.ts +119 -0
  645. package/src/components/bundle-assets/bundle-assets.i18n.ts +10 -0
  646. package/src/components/bundle-assets/bundle-assets.module.css +8 -76
  647. package/src/components/bundle-assets/bundle-assets.stories.tsx +99 -0
  648. package/src/components/bundle-assets/bundle-assets.tsx +323 -0
  649. package/src/components/bundle-assets/bundle-assets.utils.ts +276 -0
  650. package/src/components/bundle-assets/index.tsx +112 -0
  651. package/src/components/bundle-assets-totals/bundle-assets-totals.jsx +157 -0
  652. package/src/components/bundle-assets-totals/index.js +1 -0
  653. package/src/components/bundle-modules/bundle-modules.i18n.ts +8 -0
  654. package/src/components/bundle-modules/bundle-modules.module.css +17 -6
  655. package/src/components/bundle-modules/bundle-modules.tsx +396 -0
  656. package/src/components/bundle-modules/bundle-modules.utils.ts +220 -0
  657. package/src/components/bundle-modules/index.tsx +148 -0
  658. package/src/components/bundle-packages/bundle-packages.i18n.ts +1 -0
  659. package/src/components/bundle-packages/bundle-packages.jsx +269 -195
  660. package/src/components/bundle-packages/bundle-packages.module.css +12 -19
  661. package/src/components/bundle-packages/bundle-packages.utils.js +1 -17
  662. package/src/components/bundle-packages/index.jsx +15 -5
  663. package/src/components/delta/delta.jsx +1 -1
  664. package/src/components/delta/delta.module.css +12 -2
  665. package/src/components/entry-info/entry-info.i18n.ts +3 -0
  666. package/src/components/entry-info/entry-info.module.css +136 -0
  667. package/src/components/entry-info/entry-info.stories.tsx +75 -0
  668. package/src/components/entry-info/entry-info.tsx +186 -0
  669. package/src/components/entry-info/index.ts +1 -0
  670. package/src/components/index.js +3 -6
  671. package/src/components/insight-icon/insight-icon.module.css +1 -1
  672. package/src/components/insight-icon/insight-icon.tsx +2 -4
  673. package/src/components/insights/insights.module.css +1 -0
  674. package/src/components/insights/insights.tsx +0 -1
  675. package/src/components/job-name/job-name.jsx +7 -1
  676. package/src/components/jobs-header/jobs-header.module.css +48 -4
  677. package/src/components/jobs-header/jobs-header.stories.tsx +51 -0
  678. package/src/components/jobs-header/jobs-header.tsx +89 -0
  679. package/src/components/metric/metric.module.css +5 -4
  680. package/src/components/metric/metric.stories.tsx +41 -0
  681. package/src/components/metric/metric.tsx +42 -0
  682. package/src/components/metric-run-info/index.ts +1 -0
  683. package/src/components/metric-run-info/metric-run-info.module.css +17 -0
  684. package/src/components/metric-run-info/metric-run-info.stories.tsx +61 -0
  685. package/src/components/metric-run-info/metric-run-info.tsx +120 -0
  686. package/src/components/metrics-display-selector/index.tsx +1 -0
  687. package/src/components/metrics-display-selector/metrics-display-selector.module.css +63 -0
  688. package/src/components/metrics-display-selector/metrics-display-selector.stories.tsx +33 -0
  689. package/src/components/metrics-display-selector/metrics-display-selector.tsx +135 -0
  690. package/src/components/metrics-table/index.tsx +14 -0
  691. package/src/components/metrics-table/metrics-table.i18n.ts +3 -0
  692. package/src/components/metrics-table/metrics-table.module.css +10 -65
  693. package/src/components/metrics-table/metrics-table.stories.tsx +225 -0
  694. package/src/components/metrics-table/metrics-table.tsx +168 -0
  695. package/src/components/metrics-table-export/index.ts +1 -0
  696. package/src/components/metrics-table-export/metrics-table-export.module.css +4 -0
  697. package/src/components/metrics-table-export/metrics-table-export.stories.tsx +30 -0
  698. package/src/components/metrics-table-export/metrics-table-export.tsx +113 -0
  699. package/src/components/metrics-table-header/index.ts +1 -0
  700. package/src/components/metrics-table-header/metrics-table-header.i18n.ts +6 -0
  701. package/src/components/metrics-table-header/metrics-table-header.module.css +51 -0
  702. package/src/components/metrics-table-header/metrics-table-header.tsx +172 -0
  703. package/src/components/metrics-table-options/metrics-table-options.module.css +15 -0
  704. package/src/components/metrics-table-options/metrics-table-options.stories.tsx +22 -0
  705. package/src/components/metrics-table-options/metrics-table-options.tsx +33 -0
  706. package/src/components/metrics-table-title/metrics-table-title.jsx +8 -4
  707. package/src/components/metrics-table-title/metrics-table-title.module.css +5 -20
  708. package/src/components/metrics-treemap/__tests__/metrics-treemap.utils.ts +188 -0
  709. package/src/components/metrics-treemap/index.ts +2 -0
  710. package/src/components/metrics-treemap/metrics-treemap.constants.ts +63 -0
  711. package/src/components/metrics-treemap/metrics-treemap.i18n.ts +2 -0
  712. package/src/components/metrics-treemap/metrics-treemap.module.css +325 -0
  713. package/src/components/metrics-treemap/metrics-treemap.stories.tsx +57 -0
  714. package/src/components/metrics-treemap/metrics-treemap.tsx +577 -0
  715. package/src/components/metrics-treemap/metrics-treemap.utils.ts +274 -0
  716. package/src/components/module-info/module-info.module.css +30 -10
  717. package/src/components/module-info/module-info.stories.tsx +98 -0
  718. package/src/components/module-info/module-info.tsx +312 -0
  719. package/src/components/package-info/index.ts +1 -0
  720. package/src/components/package-info/package-info.module.css +13 -0
  721. package/src/components/package-info/package-info.stories.tsx +36 -0
  722. package/src/components/package-info/package-info.tsx +134 -0
  723. package/src/components/preview-source/index.ts +1 -0
  724. package/src/components/preview-source/preview-source.module.css +40 -0
  725. package/src/components/preview-source/preview-source.stories.tsx +53 -0
  726. package/src/components/preview-source/preview-source.tsx +66 -0
  727. package/src/components/run-info/index.ts +1 -0
  728. package/src/components/run-info/run-info.module.css +94 -0
  729. package/src/components/run-info/run-info.stories.tsx +65 -0
  730. package/src/components/run-info/run-info.tsx +131 -0
  731. package/src/components/sort-button/index.ts +1 -0
  732. package/src/components/sort-button/sort-button.module.css +83 -0
  733. package/src/components/sort-button/sort-button.tsx +109 -0
  734. package/src/components/summary/summary.module.css +23 -1
  735. package/src/components/summary/summary.stories.tsx +59 -0
  736. package/src/components/summary/summary.tsx +127 -0
  737. package/src/config.json +1 -1
  738. package/src/{constants.js → constants.ts} +40 -24
  739. package/src/css/default.css +0 -67
  740. package/src/css/variables.css +47 -33
  741. package/src/hooks/entry-info.ts +19 -0
  742. package/src/hooks/metrics-display-type.ts +109 -0
  743. package/src/hooks/rows-sort.ts +88 -0
  744. package/src/hooks/search-params.js +2 -2
  745. package/src/i18n.js +15 -4
  746. package/src/layout/box/box.module.css +5 -3
  747. package/src/layout/box/box.stories.tsx +7 -2
  748. package/src/layout/box/box.tsx +11 -8
  749. package/src/layout/flex-stack/flex-stack.module.css +19 -23
  750. package/src/layout/flex-stack/flex-stack.stories.tsx +59 -0
  751. package/src/layout/flex-stack/flex-stack.tsx +37 -0
  752. package/src/layout/footer/footer.jsx +9 -9
  753. package/src/layout/stack/stack.stories.tsx +53 -0
  754. package/src/layout/stack/stack.tsx +22 -0
  755. package/src/query-state.tsx +37 -0
  756. package/src/stories/wrapper.jsx +21 -15
  757. package/src/tokens.ts +37 -0
  758. package/src/types.d.ts +63 -0
  759. package/src/ui/alert/alert.stories.tsx +39 -0
  760. package/src/ui/alert/alert.tsx +23 -0
  761. package/src/ui/button/button.module.css +366 -0
  762. package/src/ui/button/button.stories.tsx +234 -0
  763. package/src/ui/button/button.tsx +97 -0
  764. package/src/ui/button/index.ts +1 -0
  765. package/src/ui/container/container.tsx +0 -1
  766. package/src/ui/control-group/control-group.module.css +23 -0
  767. package/src/ui/control-group/control-group.stories.tsx +24 -0
  768. package/src/ui/control-group/control-group.tsx +17 -0
  769. package/src/ui/control-group/index.ts +1 -0
  770. package/src/ui/copy-to-clipboard/copy-to-clipboard.module.css +15 -0
  771. package/src/ui/copy-to-clipboard/copy-to-clipboard.stories.tsx +33 -0
  772. package/src/ui/copy-to-clipboard/copy-to-clipboard.tsx +53 -0
  773. package/src/ui/copy-to-clipboard/index.ts +1 -0
  774. package/src/ui/dialog/dialog.module.css +93 -0
  775. package/src/ui/dialog/dialog.stories.tsx +78 -0
  776. package/src/ui/dialog/dialog.tsx +62 -0
  777. package/src/ui/dialog/index.ts +1 -0
  778. package/src/ui/dropdown/dropdown.module.css +7 -30
  779. package/src/ui/dropdown/dropdown.stories.tsx +25 -0
  780. package/src/ui/dropdown/dropdown.tsx +72 -0
  781. package/src/ui/empty-set/empty-set.jsx +6 -5
  782. package/src/ui/empty-set/empty-set.module.css +0 -17
  783. package/src/ui/file-name/file-name.jsx +1 -1
  784. package/src/ui/file-name/file-name.module.css +2 -0
  785. package/src/ui/filters/__tests__/filters.utils.ts +98 -0
  786. package/src/ui/filters/filters.i18n.ts +6 -0
  787. package/src/ui/filters/filters.module.css +73 -83
  788. package/src/ui/filters/filters.stories.tsx +109 -0
  789. package/src/ui/filters/filters.tsx +234 -0
  790. package/src/ui/filters/{filters.utils.js → filters.utils.ts} +38 -21
  791. package/src/ui/filters/{index.jsx → index.tsx} +14 -17
  792. package/src/ui/hover-card/hover-card.module.css +2 -1
  793. package/src/ui/hover-card/hover-card.stories.tsx +41 -0
  794. package/src/ui/hover-card/{hover-card.jsx → hover-card.tsx} +22 -31
  795. package/src/ui/icon/icon.stories.tsx +54 -0
  796. package/src/ui/icon/icon.tsx +64 -0
  797. package/src/ui/index.js +7 -3
  798. package/src/ui/input/input.module.css +1 -1
  799. package/src/ui/input/input.stories.tsx +13 -0
  800. package/src/ui/input/input.tsx +16 -0
  801. package/src/ui/input-search/index.ts +1 -0
  802. package/src/ui/input-search/input-search.module.css +18 -0
  803. package/src/ui/input-search/input-search.tsx +86 -0
  804. package/src/ui/loader/loader.jsx +1 -1
  805. package/src/ui/markdown/index.ts +1 -0
  806. package/src/ui/markdown/markdown.module.css +7 -0
  807. package/src/ui/markdown/markdown.stories.tsx +29 -0
  808. package/src/ui/markdown/markdown.tsx +24 -0
  809. package/src/ui/skeleton/skeleton.module.css +4 -3
  810. package/src/ui/table/table.module.css +30 -0
  811. package/src/ui/table/table.stories.tsx +238 -0
  812. package/src/ui/table/table.tsx +38 -0
  813. package/src/ui/tabs/index.ts +1 -0
  814. package/src/ui/tabs/tabs.module.css +6 -5
  815. package/src/ui/tabs/tabs.stories.tsx +25 -0
  816. package/src/ui/tabs/tabs.tsx +32 -0
  817. package/src/ui/tag/tag.module.css +18 -4
  818. package/src/ui/tag/tag.stories.tsx +32 -0
  819. package/src/ui/tag/tag.tsx +29 -0
  820. package/src/ui/textarea/index.ts +1 -0
  821. package/src/ui/textarea/textarea.module.css +56 -0
  822. package/src/ui/textarea/textarea.stories.tsx +37 -0
  823. package/src/ui/textarea/textarea.tsx +17 -0
  824. package/src/ui/toolbar/toolbar.module.css +1 -3
  825. package/src/ui/tooltip/tooltip.module.css +7 -15
  826. package/src/ui/tooltip/tooltip.stories.module.css +8 -0
  827. package/src/ui/tooltip/tooltip.stories.tsx +35 -0
  828. package/src/ui/tooltip/tooltip.tsx +52 -0
  829. package/src/utils/colors.ts +19 -0
  830. package/src/utils/components.tsx +19 -0
  831. package/src/utils/index.ts +3 -0
  832. package/src/utils/jobs.ts +22 -0
  833. package/types/app/app.d.ts +2 -1
  834. package/types/app/header/header.d.ts +6 -16
  835. package/types/app/header/index.d.ts +1 -1
  836. package/types/assets/icons.svg.d.ts +2 -1
  837. package/types/components/asset-info/asset-info.d.ts +12 -23
  838. package/types/components/asset-info/asset-info.i18n.d.ts +7 -0
  839. package/types/components/asset-info/index.d.ts +1 -1
  840. package/types/components/asset-meta-tag/asset-meta-tag.d.ts +8 -0
  841. package/types/components/asset-meta-tag/index.d.ts +1 -0
  842. package/types/components/asset-name/asset-name.d.ts +8 -0
  843. package/types/components/asset-name/index.d.ts +1 -0
  844. package/types/components/asset-not-predictive/asset-not-predictive.d.ts +8 -0
  845. package/types/components/asset-not-predictive/index.d.ts +1 -0
  846. package/types/components/browsertime-table/browsertime-table.d.ts +7 -6
  847. package/types/components/bundle-assets/bundle-assets.d.ts +24 -50
  848. package/types/components/bundle-assets/bundle-assets.i18n.d.ts +10 -0
  849. package/types/components/bundle-assets/bundle-assets.utils.d.ts +17 -5
  850. package/types/components/bundle-assets/index.d.ts +11 -22
  851. package/types/components/bundle-assets-totals/bundle-assets-totals.d.ts +27 -0
  852. package/types/components/bundle-assets-totals/index.d.ts +1 -0
  853. package/types/components/bundle-modules/bundle-modules.d.ts +26 -59
  854. package/types/components/bundle-modules/bundle-modules.i18n.d.ts +8 -0
  855. package/types/components/bundle-modules/bundle-modules.utils.d.ts +22 -8
  856. package/types/components/bundle-modules/index.d.ts +14 -21
  857. package/types/components/bundle-packages/bundle-packages.d.ts +30 -22
  858. package/types/components/bundle-packages/bundle-packages.i18n.d.ts +1 -0
  859. package/types/components/bundle-packages/bundle-packages.utils.d.ts +1 -1
  860. package/types/components/bundle-packages/index.d.ts +13 -12
  861. package/types/components/component-link.d.ts +8 -7
  862. package/types/components/delta/delta.d.ts +11 -10
  863. package/types/components/entry-info/entry-info.d.ts +33 -0
  864. package/types/components/entry-info/entry-info.i18n.d.ts +3 -0
  865. package/types/components/entry-info/index.d.ts +1 -0
  866. package/types/components/index.d.ts +3 -6
  867. package/types/components/insight-icon/insight-icon.d.ts +1 -1
  868. package/types/components/insights/insights.d.ts +1 -1
  869. package/types/components/job-name/job-name.d.ts +12 -11
  870. package/types/components/jobs-header/index.d.ts +1 -1
  871. package/types/components/jobs-header/jobs-header.d.ts +18 -15
  872. package/types/components/lighthouse-table/lighthouse-table.d.ts +7 -6
  873. package/types/components/metric/index.d.ts +1 -1
  874. package/types/components/metric/metric.d.ts +6 -32
  875. package/types/components/metric-run-info/index.d.ts +1 -0
  876. package/types/components/metric-run-info/metric-run-info.d.ts +14 -0
  877. package/types/components/metrics-display-selector/index.d.ts +1 -0
  878. package/types/components/metrics-display-selector/metrics-display-selector.d.ts +11 -0
  879. package/types/components/metrics-table/index.d.ts +5 -1
  880. package/types/components/metrics-table/metrics-table.d.ts +20 -50
  881. package/types/components/metrics-table/metrics-table.i18n.d.ts +3 -0
  882. package/types/components/metrics-table-export/index.d.ts +1 -0
  883. package/types/components/metrics-table-export/metrics-table-export.d.ts +11 -0
  884. package/types/components/metrics-table-header/index.d.ts +1 -0
  885. package/types/components/metrics-table-header/metrics-table-header.d.ts +14 -0
  886. package/types/components/metrics-table-header/metrics-table-header.i18n.d.ts +5 -0
  887. package/types/components/metrics-table-options/index.d.ts +1 -1
  888. package/types/components/metrics-table-options/metrics-table-options.d.ts +10 -17
  889. package/types/components/metrics-table-title/metrics-table-title.d.ts +12 -11
  890. package/types/components/metrics-treemap/index.d.ts +2 -0
  891. package/types/components/metrics-treemap/metrics-treemap.constants.d.ts +28 -0
  892. package/types/components/metrics-treemap/metrics-treemap.d.ts +11 -0
  893. package/types/components/metrics-treemap/metrics-treemap.i18n.d.ts +2 -0
  894. package/types/components/metrics-treemap/metrics-treemap.utils.d.ts +15 -0
  895. package/types/components/module-info/index.d.ts +1 -1
  896. package/types/components/module-info/module-info.d.ts +13 -34
  897. package/types/components/package-info/index.d.ts +1 -0
  898. package/types/components/package-info/package-info.d.ts +15 -0
  899. package/types/components/preview-source/index.d.ts +1 -0
  900. package/types/components/preview-source/preview-source.d.ts +9 -0
  901. package/types/components/run-info/index.d.ts +1 -0
  902. package/types/components/run-info/run-info.d.ts +17 -0
  903. package/types/components/sort-button/index.d.ts +1 -0
  904. package/types/components/sort-button/sort-button.d.ts +10 -0
  905. package/types/components/summary/index.d.ts +1 -1
  906. package/types/components/summary/summary.d.ts +23 -36
  907. package/types/constants.d.ts +49 -23
  908. package/types/hooks/entry-info.d.ts +8 -0
  909. package/types/hooks/metrics-display-type.d.ts +10 -0
  910. package/types/hooks/rows-sort.d.ts +19 -18
  911. package/types/i18n.d.ts +24 -15
  912. package/types/layout/box/box.d.ts +8 -7
  913. package/types/layout/flex-stack/flex-stack.d.ts +10 -33
  914. package/types/layout/flex-stack/index.d.ts +1 -1
  915. package/types/layout/footer/footer.d.ts +7 -6
  916. package/types/layout/separator.d.ts +4 -4
  917. package/types/layout/stack/index.d.ts +1 -1
  918. package/types/layout/stack/stack.d.ts +7 -20
  919. package/types/query-state.d.ts +7 -2
  920. package/types/stories/wrapper.d.ts +2 -1
  921. package/types/tokens.d.ts +23 -0
  922. package/types/ui/alert/alert.d.ts +7 -14
  923. package/types/ui/alert/index.d.ts +1 -1
  924. package/types/ui/button/button.d.ts +58 -0
  925. package/types/ui/button/index.d.ts +1 -0
  926. package/types/ui/container/container.d.ts +1 -1
  927. package/types/ui/control-group/control-group.d.ts +3 -0
  928. package/types/ui/control-group/index.d.ts +1 -0
  929. package/types/ui/copy-to-clipboard/copy-to-clipboard.d.ts +7 -0
  930. package/types/ui/copy-to-clipboard/index.d.ts +1 -0
  931. package/types/ui/dialog/dialog.d.ts +13 -0
  932. package/types/ui/dialog/index.d.ts +1 -0
  933. package/types/ui/dropdown/dropdown.d.ts +15 -43
  934. package/types/ui/dropdown/index.d.ts +1 -1
  935. package/types/ui/empty-set/empty-set.d.ts +9 -8
  936. package/types/ui/file-name/file-name.d.ts +9 -8
  937. package/types/ui/filters/filters.d.ts +19 -13
  938. package/types/ui/filters/filters.i18n.d.ts +6 -0
  939. package/types/ui/filters/filters.utils.d.ts +7 -6
  940. package/types/ui/filters/index.d.ts +8 -11
  941. package/types/ui/hover-card/hover-card.d.ts +12 -26
  942. package/types/ui/hover-card/index.d.ts +1 -1
  943. package/types/ui/icon/icon.d.ts +70 -38
  944. package/types/ui/icon/index.d.ts +1 -1
  945. package/types/ui/index.d.ts +7 -3
  946. package/types/ui/input/index.d.ts +1 -1
  947. package/types/ui/input/input.d.ts +5 -17
  948. package/types/ui/input-search/index.d.ts +1 -0
  949. package/types/ui/input-search/input-search.d.ts +9 -0
  950. package/types/ui/loader/loader.d.ts +12 -11
  951. package/types/ui/markdown/index.d.ts +1 -0
  952. package/types/ui/markdown/markdown.d.ts +7 -0
  953. package/types/ui/skeleton/skeleton.d.ts +9 -8
  954. package/types/ui/table/index.d.ts +1 -1
  955. package/types/ui/table/table.d.ts +14 -33
  956. package/types/ui/tabs/index.d.ts +1 -1
  957. package/types/ui/tabs/tabs.d.ts +12 -41
  958. package/types/ui/tag/index.d.ts +1 -1
  959. package/types/ui/tag/tag.d.ts +23 -34
  960. package/types/ui/textarea/index.d.ts +1 -0
  961. package/types/ui/textarea/textarea.d.ts +6 -0
  962. package/types/ui/toolbar/toolbar.d.ts +8 -7
  963. package/types/ui/tooltip/index.d.ts +1 -1
  964. package/types/ui/tooltip/tooltip.d.ts +9 -28
  965. package/types/utils/colors.d.ts +1 -0
  966. package/types/utils/components.d.ts +2 -0
  967. package/types/utils/index.d.ts +3 -0
  968. package/types/utils/jobs.d.ts +7 -0
  969. package/CHANGELOG.md +0 -576
  970. package/lib/components/bundle-assets/bundle-assets.constants.js +0 -21
  971. package/lib/components/bundle-assets/bundle-assets.constants.js.map +0 -1
  972. package/lib/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js +0 -91
  973. package/lib/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js.map +0 -1
  974. package/lib/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.module.css +0 -42
  975. package/lib/components/bundle-assets-totals-chart-bars/index.js.map +0 -1
  976. package/lib/components/bundle-assets-totals-table/bundle-assets-totals-table.js +0 -57
  977. package/lib/components/bundle-assets-totals-table/bundle-assets-totals-table.js.map +0 -1
  978. package/lib/components/bundle-assets-totals-table/bundle-assets-totals-table.module.css +0 -3
  979. package/lib/components/bundle-assets-totals-table/index.js.map +0 -1
  980. package/lib/components/bundle-modules/bundle-modules.constants.js +0 -21
  981. package/lib/components/bundle-modules/bundle-modules.constants.js.map +0 -1
  982. package/lib/components/bundle-packages/bundle-packages.constants.js +0 -21
  983. package/lib/components/bundle-packages/bundle-packages.constants.js.map +0 -1
  984. package/lib/components/job-header/index.js.map +0 -1
  985. package/lib/components/job-header/job-header.js +0 -53
  986. package/lib/components/job-header/job-header.js.map +0 -1
  987. package/lib/components/job-header/job-header.module.css +0 -19
  988. package/lib/components/job-meta/index.js.map +0 -1
  989. package/lib/components/job-meta/job-meta.js +0 -34
  990. package/lib/components/job-meta/job-meta.js.map +0 -1
  991. package/lib/components/job-meta/job-meta.module.css +0 -19
  992. package/lib/components/metrics-table-search/index.js.map +0 -1
  993. package/lib/components/metrics-table-search/metrics-table-search.js +0 -73
  994. package/lib/components/metrics-table-search/metrics-table-search.js.map +0 -1
  995. package/lib/components/metrics-table-search/metrics-table-search.module.css +0 -41
  996. package/lib/components/summary-item/index.js.map +0 -1
  997. package/lib/components/summary-item/summary-item.js +0 -97
  998. package/lib/components/summary-item/summary-item.js.map +0 -1
  999. package/lib/components/summary-item/summary-item.module.css +0 -58
  1000. package/lib/components/total-size-type-title/index.js +0 -18
  1001. package/lib/components/total-size-type-title/index.js.map +0 -1
  1002. package/lib/components/total-size-type-title/total-size-type-title.js +0 -31
  1003. package/lib/components/total-size-type-title/total-size-type-title.js.map +0 -1
  1004. package/lib/components/total-size-type-title/total-size-type-title.module.css +0 -32
  1005. package/lib/ui/horizontal-bar-chart/horizontal-bar-chart.js +0 -102
  1006. package/lib/ui/horizontal-bar-chart/horizontal-bar-chart.js.map +0 -1
  1007. package/lib/ui/horizontal-bar-chart/horizontal-bar-chart.module.css +0 -40
  1008. package/lib/ui/horizontal-bar-chart/index.js +0 -18
  1009. package/lib/ui/horizontal-bar-chart/index.js.map +0 -1
  1010. package/lib/ui/panels/index.js +0 -6
  1011. package/lib/ui/panels/index.js.map +0 -1
  1012. package/lib/ui/panels/panels.js +0 -28
  1013. package/lib/ui/panels/panels.js.map +0 -1
  1014. package/lib/ui/panels/panels.module.css +0 -23
  1015. package/lib/ui/sort-dropdown/index.js.map +0 -1
  1016. package/lib/ui/sort-dropdown/sort-dropdown.js +0 -101
  1017. package/lib/ui/sort-dropdown/sort-dropdown.js.map +0 -1
  1018. package/lib/ui/sort-dropdown/sort-dropdown.module.css +0 -22
  1019. package/lib/utils.js.map +0 -1
  1020. package/lib-esm/components/bundle-assets/bundle-assets.constants.js +0 -18
  1021. package/lib-esm/components/bundle-assets/bundle-assets.constants.js.map +0 -1
  1022. package/lib-esm/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js +0 -64
  1023. package/lib-esm/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.js.map +0 -1
  1024. package/lib-esm/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.module.css +0 -42
  1025. package/lib-esm/components/bundle-assets-totals-chart-bars/index.js +0 -2
  1026. package/lib-esm/components/bundle-assets-totals-chart-bars/index.js.map +0 -1
  1027. package/lib-esm/components/bundle-assets-totals-table/bundle-assets-totals-table.js +0 -27
  1028. package/lib-esm/components/bundle-assets-totals-table/bundle-assets-totals-table.js.map +0 -1
  1029. package/lib-esm/components/bundle-assets-totals-table/bundle-assets-totals-table.module.css +0 -3
  1030. package/lib-esm/components/bundle-assets-totals-table/index.js +0 -2
  1031. package/lib-esm/components/bundle-assets-totals-table/index.js.map +0 -1
  1032. package/lib-esm/components/bundle-modules/bundle-modules.constants.js +0 -18
  1033. package/lib-esm/components/bundle-modules/bundle-modules.constants.js.map +0 -1
  1034. package/lib-esm/components/bundle-packages/bundle-packages.constants.js +0 -18
  1035. package/lib-esm/components/bundle-packages/bundle-packages.constants.js.map +0 -1
  1036. package/lib-esm/components/job-header/index.js +0 -2
  1037. package/lib-esm/components/job-header/index.js.map +0 -1
  1038. package/lib-esm/components/job-header/job-header.js +0 -46
  1039. package/lib-esm/components/job-header/job-header.js.map +0 -1
  1040. package/lib-esm/components/job-header/job-header.module.css +0 -19
  1041. package/lib-esm/components/job-meta/index.js +0 -2
  1042. package/lib-esm/components/job-meta/index.js.map +0 -1
  1043. package/lib-esm/components/job-meta/job-meta.js +0 -27
  1044. package/lib-esm/components/job-meta/job-meta.js.map +0 -1
  1045. package/lib-esm/components/job-meta/job-meta.module.css +0 -19
  1046. package/lib-esm/components/metrics-table-search/index.js +0 -2
  1047. package/lib-esm/components/metrics-table-search/index.js.map +0 -1
  1048. package/lib-esm/components/metrics-table-search/metrics-table-search.js +0 -43
  1049. package/lib-esm/components/metrics-table-search/metrics-table-search.js.map +0 -1
  1050. package/lib-esm/components/metrics-table-search/metrics-table-search.module.css +0 -41
  1051. package/lib-esm/components/summary-item/index.js +0 -2
  1052. package/lib-esm/components/summary-item/index.js.map +0 -1
  1053. package/lib-esm/components/summary-item/summary-item.js +0 -67
  1054. package/lib-esm/components/summary-item/summary-item.js.map +0 -1
  1055. package/lib-esm/components/summary-item/summary-item.module.css +0 -58
  1056. package/lib-esm/components/total-size-type-title/index.js +0 -2
  1057. package/lib-esm/components/total-size-type-title/index.js.map +0 -1
  1058. package/lib-esm/components/total-size-type-title/total-size-type-title.js +0 -24
  1059. package/lib-esm/components/total-size-type-title/total-size-type-title.js.map +0 -1
  1060. package/lib-esm/components/total-size-type-title/total-size-type-title.module.css +0 -32
  1061. package/lib-esm/ui/horizontal-bar-chart/horizontal-bar-chart.js +0 -96
  1062. package/lib-esm/ui/horizontal-bar-chart/horizontal-bar-chart.js.map +0 -1
  1063. package/lib-esm/ui/horizontal-bar-chart/horizontal-bar-chart.module.css +0 -40
  1064. package/lib-esm/ui/horizontal-bar-chart/index.js +0 -2
  1065. package/lib-esm/ui/horizontal-bar-chart/index.js.map +0 -1
  1066. package/lib-esm/ui/panels/index.js +0 -2
  1067. package/lib-esm/ui/panels/index.js.map +0 -1
  1068. package/lib-esm/ui/panels/panels.js +0 -21
  1069. package/lib-esm/ui/panels/panels.js.map +0 -1
  1070. package/lib-esm/ui/panels/panels.module.css +0 -23
  1071. package/lib-esm/ui/sort-dropdown/index.js +0 -2
  1072. package/lib-esm/ui/sort-dropdown/index.js.map +0 -1
  1073. package/lib-esm/ui/sort-dropdown/sort-dropdown.js +0 -71
  1074. package/lib-esm/ui/sort-dropdown/sort-dropdown.js.map +0 -1
  1075. package/lib-esm/ui/sort-dropdown/sort-dropdown.module.css +0 -22
  1076. package/lib-esm/utils.js +0 -30
  1077. package/lib-esm/utils.js.map +0 -1
  1078. package/src/app/header/header.jsx +0 -25
  1079. package/src/assets/icons/cancel.svg +0 -1
  1080. package/src/components/asset-info/asset-info.jsx +0 -96
  1081. package/src/components/bundle-assets/bundle-assets.constants.js +0 -18
  1082. package/src/components/bundle-assets/bundle-assets.jsx +0 -347
  1083. package/src/components/bundle-assets/bundle-assets.utils.js +0 -95
  1084. package/src/components/bundle-assets/index.jsx +0 -89
  1085. package/src/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.jsx +0 -102
  1086. package/src/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.module.css +0 -42
  1087. package/src/components/bundle-assets-totals-chart-bars/index.js +0 -1
  1088. package/src/components/bundle-assets-totals-table/bundle-assets-totals-table.jsx +0 -55
  1089. package/src/components/bundle-assets-totals-table/bundle-assets-totals-table.module.css +0 -3
  1090. package/src/components/bundle-assets-totals-table/index.js +0 -1
  1091. package/src/components/bundle-modules/bundle-modules.constants.js +0 -18
  1092. package/src/components/bundle-modules/bundle-modules.jsx +0 -303
  1093. package/src/components/bundle-modules/bundle-modules.utils.js +0 -119
  1094. package/src/components/bundle-modules/index.jsx +0 -123
  1095. package/src/components/bundle-packages/bundle-packages.constants.js +0 -18
  1096. package/src/components/job-header/index.js +0 -1
  1097. package/src/components/job-header/job-header.jsx +0 -66
  1098. package/src/components/job-header/job-header.module.css +0 -19
  1099. package/src/components/job-meta/index.js +0 -1
  1100. package/src/components/job-meta/job-meta.jsx +0 -47
  1101. package/src/components/job-meta/job-meta.module.css +0 -19
  1102. package/src/components/jobs-header/jobs-header.jsx +0 -43
  1103. package/src/components/metric/metric.jsx +0 -63
  1104. package/src/components/metrics-table/index.jsx +0 -11
  1105. package/src/components/metrics-table/metrics-table.jsx +0 -299
  1106. package/src/components/metrics-table-options/metrics-table-options.jsx +0 -36
  1107. package/src/components/metrics-table-search/index.js +0 -1
  1108. package/src/components/metrics-table-search/metrics-table-search.jsx +0 -72
  1109. package/src/components/metrics-table-search/metrics-table-search.module.css +0 -41
  1110. package/src/components/module-info/module-info.jsx +0 -93
  1111. package/src/components/summary/summary.jsx +0 -74
  1112. package/src/components/summary-item/index.js +0 -1
  1113. package/src/components/summary-item/summary-item.jsx +0 -142
  1114. package/src/components/summary-item/summary-item.module.css +0 -58
  1115. package/src/components/total-size-type-title/index.js +0 -1
  1116. package/src/components/total-size-type-title/total-size-type-title.jsx +0 -39
  1117. package/src/components/total-size-type-title/total-size-type-title.module.css +0 -32
  1118. package/src/hooks/rows-sort.js +0 -24
  1119. package/src/layout/flex-stack/flex-stack.jsx +0 -49
  1120. package/src/layout/stack/stack.jsx +0 -32
  1121. package/src/query-state.jsx +0 -41
  1122. package/src/ui/alert/alert.jsx +0 -27
  1123. package/src/ui/dropdown/dropdown.jsx +0 -79
  1124. package/src/ui/filters/__tests__/filters-dropdown.utils.js +0 -74
  1125. package/src/ui/filters/filters.jsx +0 -234
  1126. package/src/ui/horizontal-bar-chart/horizontal-bar-chart.jsx +0 -156
  1127. package/src/ui/horizontal-bar-chart/horizontal-bar-chart.module.css +0 -40
  1128. package/src/ui/horizontal-bar-chart/index.js +0 -1
  1129. package/src/ui/icon/icon.jsx +0 -53
  1130. package/src/ui/input/input.jsx +0 -20
  1131. package/src/ui/panels/index.js +0 -1
  1132. package/src/ui/panels/panels.jsx +0 -39
  1133. package/src/ui/panels/panels.module.css +0 -23
  1134. package/src/ui/sort-dropdown/index.js +0 -1
  1135. package/src/ui/sort-dropdown/sort-dropdown.jsx +0 -121
  1136. package/src/ui/sort-dropdown/sort-dropdown.module.css +0 -22
  1137. package/src/ui/table/table.jsx +0 -37
  1138. package/src/ui/tabs/index.js +0 -1
  1139. package/src/ui/tabs/tabs.jsx +0 -39
  1140. package/src/ui/tag/tag.jsx +0 -49
  1141. package/src/ui/tooltip/tooltip.jsx +0 -67
  1142. package/src/utils.jsx +0 -38
  1143. package/types/components/bundle-assets/bundle-assets.constants.d.ts +0 -21
  1144. package/types/components/bundle-assets-totals-chart-bars/bundle-assets-totals-chart-bars.d.ts +0 -21
  1145. package/types/components/bundle-assets-totals-chart-bars/index.d.ts +0 -1
  1146. package/types/components/bundle-assets-totals-table/bundle-assets-totals-table.d.ts +0 -22
  1147. package/types/components/bundle-assets-totals-table/index.d.ts +0 -1
  1148. package/types/components/bundle-modules/bundle-modules.constants.d.ts +0 -21
  1149. package/types/components/bundle-packages/bundle-packages.constants.d.ts +0 -21
  1150. package/types/components/job-header/index.d.ts +0 -1
  1151. package/types/components/job-header/job-header.d.ts +0 -26
  1152. package/types/components/job-meta/index.d.ts +0 -1
  1153. package/types/components/job-meta/job-meta.d.ts +0 -18
  1154. package/types/components/metrics-table-search/index.d.ts +0 -1
  1155. package/types/components/metrics-table-search/metrics-table-search.d.ts +0 -16
  1156. package/types/components/summary-item/index.d.ts +0 -1
  1157. package/types/components/summary-item/summary-item.d.ts +0 -40
  1158. package/types/components/total-size-type-title/index.d.ts +0 -1
  1159. package/types/components/total-size-type-title/total-size-type-title.d.ts +0 -13
  1160. package/types/ui/horizontal-bar-chart/horizontal-bar-chart.d.ts +0 -22
  1161. package/types/ui/horizontal-bar-chart/index.d.ts +0 -1
  1162. package/types/ui/panels/index.d.ts +0 -1
  1163. package/types/ui/panels/panels.d.ts +0 -18
  1164. package/types/ui/sort-dropdown/index.d.ts +0 -1
  1165. package/types/ui/sort-dropdown/sort-dropdown.d.ts +0 -24
  1166. package/types/utils.d.ts +0 -2
  1167. /package/src/app/header/{index.js → index.ts} +0 -0
  1168. /package/src/components/asset-info/{index.js → index.ts} +0 -0
  1169. /package/src/components/jobs-header/{index.js → index.ts} +0 -0
  1170. /package/src/components/metric/{index.js → index.ts} +0 -0
  1171. /package/src/components/metrics-table-options/{index.js → index.ts} +0 -0
  1172. /package/src/components/module-info/{index.js → index.ts} +0 -0
  1173. /package/src/components/summary/{index.js → index.ts} +0 -0
  1174. /package/src/layout/flex-stack/{index.js → index.ts} +0 -0
  1175. /package/src/layout/stack/{index.js → index.ts} +0 -0
  1176. /package/src/ui/alert/{index.js → index.ts} +0 -0
  1177. /package/src/ui/dropdown/{index.js → index.ts} +0 -0
  1178. /package/src/ui/hover-card/{index.js → index.ts} +0 -0
  1179. /package/src/ui/icon/{index.js → index.ts} +0 -0
  1180. /package/src/ui/input/{index.js → index.ts} +0 -0
  1181. /package/src/ui/table/{index.js → index.ts} +0 -0
  1182. /package/src/ui/tag/{index.js → index.ts} +0 -0
  1183. /package/src/ui/tooltip/{index.js → index.ts} +0 -0
@@ -1,150 +1,123 @@
1
1
  import React, { useCallback, useMemo, useState } from 'react';
2
- import PropTypes from 'prop-types';
3
2
  import cx from 'classnames';
4
- import isEmpty from 'lodash/isEmpty';
5
- import get from 'lodash/get';
6
- import { FILE_TYPE_LABELS, MODULE_SOURCE_FILE_TYPES, MODULE_SOURCE_TYPE, MODULE_CHUNK, MODULE_FILTERS, MODULE_FILE_TYPE, } from '@bundle-stats/utils';
3
+ import { SECTIONS, COMPONENT } from '@bundle-stats/utils';
4
+ import escapeRegExp from 'lodash/escapeRegExp';
7
5
  import config from '../../config.json';
8
6
  import I18N from '../../i18n';
9
- import { ComponentLink } from '../component-link';
7
+ import { MetricsDisplayGroupBy, MetricsDisplayType, ModuleSizeMetric, ModuleSizeMetrics, } from '../../constants';
8
+ import { Box } from '../../layout/box';
10
9
  import { FlexStack } from '../../layout/flex-stack';
10
+ import { Stack } from '../../layout/stack';
11
+ import { Button } from '../../ui/button';
12
+ import { ControlGroup } from '../../ui/control-group';
13
+ import { Dialog, useDialogState } from '../../ui/dialog';
11
14
  import { EmptySet } from '../../ui/empty-set';
12
15
  import { FileName } from '../../ui/file-name';
13
16
  import { Filters } from '../../ui/filters';
14
- import { HoverCard } from '../../ui/hover-card';
15
- import { SortDropdown } from '../../ui/sort-dropdown';
17
+ import { InputSearch } from '../../ui/input-search';
16
18
  import { Tag } from '../../ui/tag';
19
+ import { Table } from '../../ui/table';
17
20
  import { Toolbar } from '../../ui/toolbar';
21
+ import { Tooltip } from '../../ui/tooltip';
22
+ import { ComponentLink } from '../component-link';
18
23
  import { MetricsTable } from '../metrics-table';
19
- import { MetricsTableSearch } from '../metrics-table-search';
24
+ import { MetricsTableExport } from '../metrics-table-export';
25
+ import { MetricsTableHeader } from '../metrics-table-header';
26
+ import { MetricsTreemap, getTreemapNodes, getTreemapNodesGroupedByPath } from '../metrics-treemap';
20
27
  import { MetricsTableOptions } from '../metrics-table-options';
28
+ import { MetricsDisplaySelector } from '../metrics-display-selector';
21
29
  import { MetricsTableTitle } from '../metrics-table-title';
22
30
  import { ModuleInfo } from '../module-info';
31
+ import { generateFilterFieldsData } from './bundle-modules.utils';
32
+ import * as I18N_MODULES from './bundle-modules.i18n';
23
33
  import css from './bundle-modules.module.css';
24
- const getFilters = ({ filters, compareMode, chunks }) => ({
25
- [MODULE_FILTERS.CHANGED]: {
26
- label: 'Changed',
27
- defaultValue: filters.changed,
28
- disabled: !compareMode,
29
- },
30
- [MODULE_FILTERS.DUPLICATED]: {
31
- label: 'Duplicate',
32
- defaultValue: filters[MODULE_FILTERS.DUPLICATED],
33
- },
34
- [MODULE_SOURCE_TYPE]: {
35
- label: 'Source',
36
- [MODULE_FILTERS.FIRST_PARTY]: {
37
- label: 'First party',
38
- defaultValue: get(filters, `${MODULE_SOURCE_TYPE}.${MODULE_FILTERS.FIRST_PARTY}`, true),
39
- },
40
- [MODULE_FILTERS.THIRD_PARTY]: {
41
- label: 'Third party',
42
- defaultValue: get(filters, `${MODULE_SOURCE_TYPE}.${MODULE_FILTERS.THIRD_PARTY}`, true),
43
- },
44
- },
45
- ...(!isEmpty(chunks) && {
46
- [MODULE_CHUNK]: {
47
- label: 'Chunk',
48
- ...chunks.reduce((chunkFilters, { id, name }) => ({
49
- ...chunkFilters,
50
- [id]: {
51
- label: name,
52
- defaultValue: get(filters, `${MODULE_CHUNK}.${id}`, true),
53
- },
54
- }), {}),
55
- },
56
- }),
57
- [MODULE_FILE_TYPE]: {
58
- label: 'File type',
59
- ...MODULE_SOURCE_FILE_TYPES.reduce((agg, fileType) => ({
60
- ...agg,
61
- [fileType]: {
62
- label: FILE_TYPE_LABELS[fileType],
63
- defaultValue: get(filters, `${MODULE_FILE_TYPE}.${fileType}`, true),
64
- },
65
- }), {}),
66
- },
67
- });
68
- const RowHeader = ({ row, chunks, labels, CustomComponentLink }) => {
69
- const chunkIds = chunks === null || chunks === void 0 ? void 0 : chunks.map(({ id }) => id);
70
- const [showHoverCard, setHoverCard] = useState(false);
71
- const handleOnMouseEnter = useCallback(() => setHoverCard(true), [showHoverCard]);
72
- const content = useMemo(() => (React.createElement("span", { className: css.name },
73
- row.duplicated && (React.createElement(Tag, { className: css.nameTagDuplicated, size: "small", kind: Tag.KINDS.DANGER })),
74
- React.createElement(FileName, { className: css.nameText, name: row.label }))), [row]);
75
- if (!showHoverCard) {
76
- return React.createElement("div", { onMouseEnter: handleOnMouseEnter }, content);
77
- }
78
- return (React.createElement(HoverCard, { label: content },
79
- React.createElement(ModuleInfo, { className: css.namePopover, item: row, chunks: chunks, chunkIds: chunkIds, labels: labels, customComponentLink: CustomComponentLink })));
34
+ import { useMetricsDisplayType } from '../../hooks/metrics-display-type';
35
+ const DISPLAY_TYPE_GROUPS = {
36
+ [MetricsDisplayType.TREEMAP]: [MetricsDisplayGroupBy.FOLDER],
80
37
  };
81
- RowHeader.propTypes = {
82
- row: PropTypes.shape({
83
- label: PropTypes.string,
84
- duplicated: PropTypes.bool,
85
- }).isRequired,
86
- chunks: PropTypes.arrayOf(PropTypes.shape({
87
- id: PropTypes.string,
88
- name: PropTypes.string,
89
- })),
90
- labels: PropTypes.arrayOf(PropTypes.string).isRequired,
91
- CustomComponentLink: PropTypes.elementType.isRequired,
38
+ const RowHeader = (props) => {
39
+ const { row, EntryComponentLink } = props;
40
+ const moduleRow = row;
41
+ return (React.createElement(EntryComponentLink, { entryId: row.key, className: css.name },
42
+ moduleRow.duplicated && (React.createElement(Tag, { className: css.nameTagDuplicated, size: "small", kind: Tag.KINDS.DANGER })),
43
+ React.createElement(FileName, { className: css.nameText, name: moduleRow.label })));
92
44
  };
93
- RowHeader.defaultProps = {
94
- chunks: [],
45
+ const ViewMetricsTreemap = (props) => {
46
+ const { metricsTableTitle, jobs, items, displayType, emptyMessage, showEntryInfo, updateSearch, search, } = props;
47
+ const treeNodes = useMemo(() => {
48
+ if (displayType.groupBy === 'folder') {
49
+ return getTreemapNodesGroupedByPath(items);
50
+ }
51
+ return getTreemapNodes(items);
52
+ }, [items, displayType]);
53
+ const onGroupClick = useCallback((groupPath) => {
54
+ if (groupPath === '') {
55
+ updateSearch('');
56
+ return;
57
+ }
58
+ const newSearch = `^${escapeRegExp(groupPath)}/`;
59
+ if (newSearch === search) {
60
+ updateSearch('');
61
+ return;
62
+ }
63
+ updateSearch(newSearch);
64
+ }, [updateSearch, search]);
65
+ return (React.createElement(React.Fragment, null,
66
+ React.createElement(Table, { compact: true },
67
+ React.createElement(MetricsTableHeader, { metricTitle: metricsTableTitle, showSum: true, jobs: jobs, rows: items })),
68
+ React.createElement(MetricsTreemap, { treeNodes: treeNodes, nested: Boolean(displayType.groupBy), emptyMessage: emptyMessage, onItemClick: showEntryInfo, onGroupClick: onGroupClick })));
95
69
  };
96
- export const BundleModules = ({ className, jobs, items, chunks, totalRowCount, updateFilters, resetFilters, resetAllFilters, filters, sortFields, sort, updateSort, search, updateSearch, hasActiveFilters, customComponentLink: CustomComponentLink, }) => {
70
+ export const BundleModules = (props) => {
71
+ const { className = '', jobs = [], items = [], allItems = [], chunks = [], totalRowCount = 0, updateFilters, resetFilters, resetAllFilters, filters, sort, updateSort, search, updateSearch, entryId, hideEntryInfo, moduleMetric, setModuleMetric, showEntryInfo, customComponentLink: CustomComponentLink = ComponentLink, } = props;
97
72
  const rootClassName = cx(css.root, className);
98
- const dropdownFilters = useMemo(() => getFilters({ filters, chunks, compareMode: jobs.length > 1 }), [jobs, filters, chunks]);
73
+ const jobLabels = jobs === null || jobs === void 0 ? void 0 : jobs.map((job) => job === null || job === void 0 ? void 0 : job.label);
74
+ const [displayType, setDisplayType] = useMetricsDisplayType(DISPLAY_TYPE_GROUPS);
75
+ const filterFieldsData = useMemo(() => generateFilterFieldsData({ filters, chunks, compareMode: jobs.length > 1 }), [jobs, filters, chunks]);
76
+ const EntryComponentLink = useCallback(({ entryId: moduleEntryId, ...moduleNameRestProps }) => (React.createElement(CustomComponentLink, { section: SECTIONS.MODULES, params: {
77
+ [COMPONENT.BUNDLE_MODULES]: {
78
+ filters,
79
+ search,
80
+ metric: moduleMetric,
81
+ entryId: moduleEntryId,
82
+ sortBy: sort.field,
83
+ direction: sort.direction,
84
+ },
85
+ }, ...moduleNameRestProps })), [CustomComponentLink, filters, search, sort, moduleMetric]);
99
86
  const metricsTableTitle = useMemo(() => (React.createElement(MetricsTableTitle, { title: I18N.MODULES, info: `${items.length}/${totalRowCount}`, popoverInfo: I18N.MODULES_INFO, popoverHref: config.documentation.modules })), [items, totalRowCount]);
100
- const renderRowHeader = useCallback((row) => (React.createElement(RowHeader, { row: row, chunks: chunks, labels: jobs === null || jobs === void 0 ? void 0 : jobs.map(({ label }) => label), CustomComponentLink: CustomComponentLink })), [jobs, chunks, CustomComponentLink]);
87
+ const renderRowHeader = useCallback((row) => React.createElement(RowHeader, { row: row, EntryComponentLink: EntryComponentLink }), [EntryComponentLink]);
101
88
  const emptyMessage = useMemo(() => (React.createElement(EmptySet, { resources: "modules", filtered: totalRowCount !== 0, handleResetFilters: resetFilters, handleViewAll: resetAllFilters })), [totalRowCount, resetFilters, resetAllFilters]);
102
- return (React.createElement("div", { className: rootClassName },
103
- React.createElement(Toolbar, { className: css.toolbar, renderActions: ({ actionClassName }) => (React.createElement(FlexStack, { space: "xxsmall", className: cx(css.dropdown, actionClassName) },
104
- React.createElement(SortDropdown, { className: css.tableDropdown, fields: sortFields, onChange: updateSort, ...sort }),
105
- React.createElement(MetricsTableOptions, { handleViewAll: resetAllFilters, handleResetFilters: resetFilters }))) },
106
- React.createElement(FlexStack, { space: "xxsmall" },
107
- React.createElement(MetricsTableSearch, { className: css.toolbarSearch, search: search, updateSearch: updateSearch, placeholder: "Search by name" }),
108
- React.createElement(Filters, { className: css.tableDropdown, filters: dropdownFilters, onChange: updateFilters, hasActiveFilters: hasActiveFilters }))),
109
- React.createElement(MetricsTable, { className: css.table, items: items, runs: jobs, renderRowHeader: renderRowHeader, emptyMessage: emptyMessage, showHeaderSum: true, title: metricsTableTitle })));
110
- };
111
- BundleModules.defaultProps = {
112
- className: '',
113
- items: [],
114
- jobs: [],
115
- totalRowCount: 0,
116
- hasActiveFilters: false,
117
- customComponentLink: ComponentLink,
118
- };
119
- BundleModules.propTypes = {
120
- className: PropTypes.string,
121
- items: PropTypes.array,
122
- jobs: PropTypes.array,
123
- chunks: PropTypes.arrayOf(PropTypes.shape({
124
- id: PropTypes.string,
125
- name: PropTypes.string,
126
- })).isRequired,
127
- totalRowCount: PropTypes.number,
128
- updateFilters: PropTypes.func.isRequired,
129
- resetFilters: PropTypes.func.isRequired,
130
- resetAllFilters: PropTypes.func.isRequired,
131
- filters: PropTypes.shape({
132
- changed: PropTypes.bool,
133
- }).isRequired,
134
- hasActiveFilters: PropTypes.bool,
135
- sortFields: PropTypes.shape({
136
- [PropTypes.string]: PropTypes.shape({
137
- label: PropTypes.string,
138
- defaultDirection: PropTypes.bool,
139
- }),
140
- }).isRequired,
141
- sort: PropTypes.shape({
142
- sortBy: PropTypes.string,
143
- direction: PropTypes.string,
144
- }).isRequired,
145
- updateSort: PropTypes.func.isRequired,
146
- search: PropTypes.string.isRequired,
147
- updateSearch: PropTypes.func.isRequired,
148
- customComponentLink: PropTypes.elementType,
89
+ const entryItem = useMemo(() => {
90
+ if (!entryId) {
91
+ return null;
92
+ }
93
+ return allItems.find(({ key }) => key === entryId);
94
+ }, [allItems, entryId]);
95
+ const exportDialog = useDialogState();
96
+ const [exportSourceType, setExportSourceType] = useState(undefined);
97
+ const handleExportClick = useCallback((sourceType) => {
98
+ setExportSourceType(sourceType);
99
+ exportDialog.toggle();
100
+ }, []);
101
+ return (React.createElement(React.Fragment, null,
102
+ React.createElement(Stack, { space: "xsmall", as: "section", className: rootClassName },
103
+ React.createElement(Toolbar, { className: css.toolbar, renderActions: ({ actionClassName }) => (React.createElement(FlexStack, { space: "xxsmall", className: cx(css.dropdown, actionClassName) },
104
+ React.createElement(MetricsDisplaySelector, { onSelect: setDisplayType, value: displayType.value, groupBy: displayType.groupBy, groups: DISPLAY_TYPE_GROUPS }),
105
+ React.createElement(MetricsTableOptions, { onViewAllClick: resetAllFilters, onResetClick: resetFilters, onExportClick: handleExportClick }))) },
106
+ React.createElement(FlexStack, { space: "xxsmall" },
107
+ React.createElement(InputSearch, { className: css.toolbarSearch, placeholder: I18N_MODULES.SEARCH, defaultValue: search, onChange: updateSearch }),
108
+ React.createElement(Filters, { className: css.tableDropdown, filters: filterFieldsData, onChange: updateFilters }))),
109
+ React.createElement(Box, { outline: true, as: "main" },
110
+ React.createElement(Box, { padding: ['xsmall', 'small'], className: css.metricSelector },
111
+ React.createElement(ControlGroup, { as: "nav" },
112
+ React.createElement(Button, { outline: true, active: moduleMetric === ModuleSizeMetric.TOTAL_SIZE, size: "small", type: "button", onClick: () => setModuleMetric(ModuleSizeMetric.TOTAL_SIZE) },
113
+ React.createElement(Tooltip, { title: ModuleSizeMetrics[ModuleSizeMetric.TOTAL_SIZE].tooltip }, ModuleSizeMetrics[ModuleSizeMetric.TOTAL_SIZE].label)),
114
+ React.createElement(Button, { outline: true, active: moduleMetric === ModuleSizeMetric.DUPLICATE_SIZE, size: "small", type: "button", onClick: () => setModuleMetric(ModuleSizeMetric.DUPLICATE_SIZE) },
115
+ React.createElement(Tooltip, { title: ModuleSizeMetrics[ModuleSizeMetric.DUPLICATE_SIZE].tooltip }, ModuleSizeMetrics[ModuleSizeMetric.DUPLICATE_SIZE].label)),
116
+ React.createElement(Button, { outline: true, active: moduleMetric === ModuleSizeMetric.SIZE, size: "small", type: "button", onClick: () => setModuleMetric(ModuleSizeMetric.SIZE) },
117
+ React.createElement(Tooltip, { title: ModuleSizeMetrics[ModuleSizeMetric.SIZE].tooltip }, ModuleSizeMetrics[ModuleSizeMetric.SIZE].label)))),
118
+ displayType.value === MetricsDisplayType.TABLE && (React.createElement(MetricsTable, { className: css.table, items: items, runs: jobs, renderRowHeader: renderRowHeader, emptyMessage: emptyMessage, showHeaderSum: true, title: metricsTableTitle, sort: sort, updateSort: updateSort })),
119
+ displayType.value === MetricsDisplayType.TREEMAP && (React.createElement(ViewMetricsTreemap, { metricsTableTitle: metricsTableTitle, jobs: jobs, items: items, displayType: displayType, emptyMessage: emptyMessage, showEntryInfo: showEntryInfo, updateSearch: updateSearch, search: search })))),
120
+ entryItem && (React.createElement(ModuleInfo, { className: css.moduleInfo, item: entryItem, chunks: chunks, chunkIds: chunks === null || chunks === void 0 ? void 0 : chunks.map(({ id }) => id), labels: jobLabels, metricLabel: ModuleSizeMetrics[moduleMetric].label, customComponentLink: CustomComponentLink, onClose: hideEntryInfo })),
121
+ React.createElement(Dialog, { title: I18N.EXPORT, width: "wide", state: exportDialog }, exportDialog.open && (React.createElement(MetricsTableExport, { items: items, initialSourceType: exportSourceType, download: "bundle-stats--modules" })))));
149
122
  };
150
123
  //# sourceMappingURL=bundle-modules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundle-modules.js","sourceRoot":"","sources":["../../../src/components/bundle-modules/bundle-modules.jsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundle-modules.js","sourceRoot":"","sources":["../../../src/components/bundle-modules/bundle-modules.tsx"],"names":[],"mappings":"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"}
@@ -2,14 +2,13 @@
2
2
  color: var(--color-text-light);
3
3
  }
4
4
 
5
- .toolbar {
6
- border-bottom: 1px solid var(--color-outline);
7
- }
8
-
9
5
  .toolbarSearch {
10
6
  width: 100%;
11
7
  max-width: 240px;
12
- margin-right: -1px; /** collapse border */
8
+ }
9
+
10
+ .metricSelector {
11
+ border-bottom: 1px solid var(--color-outline);
13
12
  }
14
13
 
15
14
  .nameTagDuplicated {
@@ -22,6 +21,18 @@
22
21
  }
23
22
 
24
23
  .nameText {
25
- display: inline;
24
+ display: inline-block;
26
25
  vertical-align: middle;
27
26
  }
27
+
28
+ .root .name:hover,
29
+ .root .name:active,
30
+ .root .name:focus {
31
+ text-decoration: none;
32
+ }
33
+
34
+ .root .name:hover .nameText,
35
+ .root .name:active .nameText,
36
+ .root .name:focus .nameText {
37
+ text-decoration: underline;
38
+ }
@@ -1,77 +1,134 @@
1
- import { useMemo } from 'react';
2
1
  import intersection from 'lodash/intersection';
3
- import merge from 'lodash/merge';
4
2
  import get from 'lodash/get';
3
+ import isEmpty from 'lodash/isEmpty';
4
+ import union from 'lodash/union';
5
+ import orderBy from 'lodash/orderBy';
6
+ import { FILE_TYPE_LABELS, MODULE_CHUNK, MODULE_FILTERS, MODULE_FILE_TYPE, MODULE_SOURCE_TYPE, MODULE_SOURCE_FILE_TYPES, getModuleSourceFileType, getModuleChunkFilters, getModuleSourceTypeFilters, getModuleFileTypeFilters, } from '@bundle-stats/utils';
5
7
  import { MODULE_PATH_PACKAGES } from '@bundle-stats/utils/lib-esm/webpack';
6
- import { MODULE_CHUNK, MODULE_FILTERS, MODULE_FILE_TYPE, MODULE_SOURCE_TYPE, getModuleSourceFileType, } from '@bundle-stats/utils';
7
- import { SORT_BY_NAME, SORT_BY_SIZE, SORT_BY_DELTA } from './bundle-modules.constants';
8
- export const addRowSourceFlag = (row) => {
8
+ import * as I18N from './bundle-modules.i18n';
9
+ export const addRowFlags = (row) => {
9
10
  const { key, runs } = row;
10
- row.thirdParty = Boolean(key.match(MODULE_PATH_PACKAGES));
11
- row.duplicated = Boolean(runs.find((run) => (run === null || run === void 0 ? void 0 : run.duplicated) === true));
12
- return row;
11
+ const moduleRow = row;
12
+ moduleRow.thirdParty = Boolean(key.match(MODULE_PATH_PACKAGES));
13
+ moduleRow.duplicated = Boolean(runs.find((run) => (run === null || run === void 0 ? void 0 : run.duplicated) === true));
14
+ moduleRow.fileType = getModuleSourceFileType(row.key);
15
+ moduleRow.runs = row.runs.map((run) => {
16
+ var _a;
17
+ if (!run) {
18
+ return run;
19
+ }
20
+ const moduleRun = run;
21
+ const chunkCount = ((_a = moduleRun.chunkIds) === null || _a === void 0 ? void 0 : _a.length) || 0;
22
+ return {
23
+ ...moduleRun,
24
+ size: moduleRun.originalValue,
25
+ sizeDuplicate: chunkCount > 1 ? (chunkCount - 1) * moduleRun.originalValue : 0,
26
+ sizeTotal: chunkCount * moduleRun.originalValue,
27
+ };
28
+ });
29
+ return moduleRow;
13
30
  };
14
- export const getCustomSort = (sortBy) => (item) => {
15
- var _a, _b, _c, _d;
16
- if (sortBy === SORT_BY_NAME) {
17
- return item.key;
18
- }
19
- if (sortBy === SORT_BY_SIZE) {
20
- return ((_b = (_a = item === null || item === void 0 ? void 0 : item.runs) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.value) || 0;
21
- }
22
- if (sortBy === SORT_BY_DELTA) {
23
- return ((_d = (_c = item === null || item === void 0 ? void 0 : item.runs) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.delta) ? Math.abs(item.runs[0].delta) : 0;
24
- }
25
- return [!item.changed, item.key];
31
+ export const getCustomSort = (item) => [!item.changed, item.key];
32
+ export const generateGetRowFilter = ({ chunkIds }) => (filters) => {
33
+ const checkedChunkIds = [];
34
+ chunkIds.forEach((chunkId) => {
35
+ if (filters[`${MODULE_CHUNK}.${chunkId}`]) {
36
+ checkedChunkIds.push(chunkId);
37
+ }
38
+ });
39
+ const hasChunkFilters = checkedChunkIds.length !== chunkIds.length;
40
+ return (row) => {
41
+ var _a;
42
+ if (filters[MODULE_FILTERS.CHANGED] && !row.changed) {
43
+ return false;
44
+ }
45
+ if (filters[MODULE_FILTERS.DUPLICATED] && !row.duplicated) {
46
+ return false;
47
+ }
48
+ if (!((filters[`${MODULE_SOURCE_TYPE}.${MODULE_FILTERS.FIRST_PARTY}`] &&
49
+ row.thirdParty === false) ||
50
+ (filters[`${MODULE_SOURCE_TYPE}.${MODULE_FILTERS.THIRD_PARTY}`] &&
51
+ row.thirdParty === true))) {
52
+ return false;
53
+ }
54
+ if (!filters[`${MODULE_FILE_TYPE}.${row.fileType}`]) {
55
+ return false;
56
+ }
57
+ if (hasChunkFilters) {
58
+ const rowRunsChunkIds = ((_a = row === null || row === void 0 ? void 0 : row.runs) === null || _a === void 0 ? void 0 : _a.map((run) => (run === null || run === void 0 ? void 0 : run.chunkIds) || [])) || [];
59
+ const rowChunkIds = union(...rowRunsChunkIds);
60
+ const matchedChunkIds = intersection(rowChunkIds, checkedChunkIds);
61
+ return matchedChunkIds.length > 0;
62
+ }
63
+ return true;
64
+ };
26
65
  };
27
- export const getRowFilter = (filters) => (row) => {
28
- if (filters[MODULE_FILTERS.CHANGED] && !row.changed) {
29
- return false;
30
- }
31
- if (filters[MODULE_FILTERS.DUPLICATED] && !row.duplicated) {
32
- return false;
33
- }
34
- if (!((filters[`${MODULE_SOURCE_TYPE}.${MODULE_FILTERS.FIRST_PARTY}`] &&
35
- row.thirdParty === false) ||
36
- (filters[`${MODULE_SOURCE_TYPE}.${MODULE_FILTERS.THIRD_PARTY}`] && row.thirdParty === true))) {
37
- return false;
38
- }
39
- const fileType = getModuleSourceFileType(row.key);
40
- if (!filters[`${MODULE_FILE_TYPE}.${fileType}`]) {
41
- return false;
42
- }
43
- return true;
66
+ export const generateFilters = (chunkIds, multipleJobs) => {
67
+ const allEntriesFilters = {
68
+ [MODULE_FILTERS.CHANGED]: false,
69
+ [MODULE_FILTERS.DUPLICATED]: false,
70
+ ...getModuleSourceTypeFilters(true),
71
+ ...getModuleChunkFilters(chunkIds, true),
72
+ ...getModuleFileTypeFilters(true),
73
+ };
74
+ return {
75
+ defaultFilters: {
76
+ ...allEntriesFilters,
77
+ [MODULE_FILTERS.CHANGED]: multipleJobs,
78
+ },
79
+ allEntriesFilters,
80
+ };
44
81
  };
45
- export const useModuleFilterByChunk = ({ jobs, filters, chunkIds }) => {
46
- const filteredJobs = useMemo(() => {
47
- const includedChunkIds = chunkIds.reduce((agg, chunkId) => {
48
- if (get(filters, `${MODULE_CHUNK}.${chunkId}`)) {
49
- return [...agg, chunkId];
50
- }
51
- return agg;
52
- }, []);
53
- if (includedChunkIds.length === chunkIds.length) {
54
- return jobs;
55
- }
56
- const jobsWithFilteredData = jobs.map((job) => {
57
- var _a, _b;
58
- const modules = (_b = (_a = job === null || job === void 0 ? void 0 : job.metrics) === null || _a === void 0 ? void 0 : _a.webpack) === null || _b === void 0 ? void 0 : _b.modules;
59
- if (!modules) {
60
- return job;
61
- }
62
- const filteredModules = Object.entries(modules).reduce((agg, [moduleId, moduleEntry]) => {
63
- const match = intersection(moduleEntry.chunkIds, includedChunkIds);
64
- if (match.length > 0) {
65
- agg[moduleId] = moduleEntry;
66
- }
67
- return agg;
68
- }, {});
69
- const newJob = merge({}, job);
70
- newJob.metrics.webpack.modules = filteredModules;
71
- return newJob;
82
+ export const generateFilterFieldsData = (params) => {
83
+ const { filters, chunks, compareMode } = params;
84
+ const result = {
85
+ [MODULE_FILTERS.CHANGED]: {
86
+ label: I18N.CHANGED,
87
+ defaultValue: filters[MODULE_FILTERS.CHANGED],
88
+ disabled: !compareMode,
89
+ },
90
+ [MODULE_FILTERS.DUPLICATED]: {
91
+ label: I18N.DUPLICATE,
92
+ defaultValue: filters[MODULE_FILTERS.DUPLICATED],
93
+ },
94
+ };
95
+ result[MODULE_SOURCE_TYPE] = {
96
+ label: I18N.SOURCE,
97
+ children: [
98
+ {
99
+ key: MODULE_FILTERS.FIRST_PARTY,
100
+ label: I18N.SOURCE_FIRST_PARTY,
101
+ defaultValue: get(filters, `${MODULE_SOURCE_TYPE}.${MODULE_FILTERS.FIRST_PARTY}`, true),
102
+ },
103
+ {
104
+ key: MODULE_FILTERS.THIRD_PARTY,
105
+ label: I18N.SOURCE_THIRD_PARTY,
106
+ defaultValue: get(filters, `${MODULE_SOURCE_TYPE}.${MODULE_FILTERS.THIRD_PARTY}`, true),
107
+ },
108
+ ],
109
+ };
110
+ if (!isEmpty(chunks)) {
111
+ const chunksFilter = { label: I18N.CHUNK, children: [] };
112
+ const chunksOrderedByName = orderBy(chunks, 'name');
113
+ chunksOrderedByName.forEach((chunk) => {
114
+ var _a;
115
+ chunksFilter.children.push({
116
+ key: chunk.id,
117
+ label: chunk.name,
118
+ defaultValue: (_a = filters[`${MODULE_CHUNK}.${chunk.id}`]) !== null && _a !== void 0 ? _a : true,
119
+ });
120
+ });
121
+ result[MODULE_CHUNK] = chunksFilter;
122
+ }
123
+ const moduleFileTypeFilter = { label: I18N.FILE_TYPE, children: [] };
124
+ MODULE_SOURCE_FILE_TYPES.forEach((fileType) => {
125
+ moduleFileTypeFilter.children.push({
126
+ key: fileType,
127
+ label: FILE_TYPE_LABELS[fileType],
128
+ defaultValue: get(filters, `${MODULE_FILE_TYPE}.${fileType}`, true),
72
129
  });
73
- return jobsWithFilteredData;
74
- }, [jobs, filters, chunkIds]);
75
- return filteredJobs;
130
+ });
131
+ result[MODULE_FILE_TYPE] = moduleFileTypeFilter;
132
+ return result;
76
133
  };
77
134
  //# sourceMappingURL=bundle-modules.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundle-modules.utils.js","sourceRoot":"","sources":["../../../src/components/bundle-modules/bundle-modules.utils.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,MAAM,cAAc,CAAC;AACjC,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEvF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,EAAE;IACtC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IAI1B,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE1D,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,UAAU,MAAK,IAAI,CAAC,CAAC,CAAC;IAEvE,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE;;IAChD,IAAI,MAAM,KAAK,YAAY,EAAE;QAC3B,OAAO,IAAI,CAAC,GAAG,CAAC;KACjB;IAED,IAAI,MAAM,KAAK,YAAY,EAAE;QAC3B,OAAO,CAAA,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAG,CAAC,CAAC,0CAAE,KAAK,KAAI,CAAC,CAAC;KACpC;IAED,IAAI,MAAM,KAAK,aAAa,EAAE;QAC5B,OAAO,CAAA,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAG,CAAC,CAAC,0CAAE,KAAK,EAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAClE;IAED,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE;IAE/C,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;QACnD,OAAO,KAAK,CAAC;KACd;IAGD,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE;QACzD,OAAO,KAAK,CAAC;KACd;IAGD,IACE,CAAC,CACC,CAAC,OAAO,CAAC,GAAG,kBAAkB,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC;QAC7D,GAAG,CAAC,UAAU,KAAK,KAAK,CAAC;QAC3B,CAAC,OAAO,CAAC,GAAG,kBAAkB,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,CAC5F,EACD;QACA,OAAO,KAAK,CAAC;KACd;IAGD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClD,IAAI,CAAC,OAAO,CAAC,GAAG,gBAAgB,IAAI,QAAQ,EAAE,CAAC,EAAE;QAC/C,OAAO,KAAK,CAAC;KACd;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;IACpE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAEhC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;YACxD,IAAI,GAAG,CAAC,OAAO,EAAE,GAAG,YAAY,IAAI,OAAO,EAAE,CAAC,EAAE;gBAC9C,OAAO,CAAC,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC;aAC1B;YAED,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;QAGP,IAAI,gBAAgB,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE;YAC/C,OAAO,IAAI,CAAC;SACb;QAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;;YAC5C,MAAM,OAAO,GAAG,MAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,0CAAE,OAAO,0CAAE,OAAO,CAAC;YAE/C,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO,GAAG,CAAC;aACZ;YAED,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,EAAE;gBACtF,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;gBAEnE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpB,GAAG,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC;iBAC7B;gBAED,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAAE,CAAC,CAAC;YAGP,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC9B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,GAAG,eAAe,CAAC;YAEjD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,OAAO,oBAAoB,CAAC;IAC9B,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE9B,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC"}
1
+ {"version":3,"file":"bundle-modules.utils.js","sourceRoot":"","sources":["../../../src/components/bundle-modules/bundle-modules.utils.ts"],"names":[],"mappings":"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"}