@bundle-stats/ui 4.23.0-beta.3 → 4.23.0-beta.5

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 (153) hide show
  1. package/lib/app/app.module.css +4 -2
  2. package/lib/app/header/header.module.css +1 -3
  3. package/lib/chart-colors.json +56 -56
  4. package/lib/components/asset-name/asset-name.js +8 -7
  5. package/lib/components/asset-name/asset-name.js.map +1 -1
  6. package/lib/components/asset-name/asset-name.module.css +20 -10
  7. package/lib/components/bundle-assets/bundle-assets.js +4 -2
  8. package/lib/components/bundle-assets/bundle-assets.js.map +1 -1
  9. package/lib/components/bundle-assets/bundle-assets.module.css +0 -12
  10. package/lib/components/bundle-assets-totals/bundle-assets-totals.js +4 -2
  11. package/lib/components/bundle-assets-totals/bundle-assets-totals.js.map +1 -1
  12. package/lib/components/bundle-modules/bundle-modules.js +4 -2
  13. package/lib/components/bundle-modules/bundle-modules.js.map +1 -1
  14. package/lib/components/bundle-modules/bundle-modules.module.css +8 -16
  15. package/lib/components/bundle-packages/bundle-packages.js +4 -2
  16. package/lib/components/bundle-packages/bundle-packages.js.map +1 -1
  17. package/lib/components/bundle-packages/bundle-packages.module.css +21 -22
  18. package/lib/components/entry-info/entry-info.module.css +0 -1
  19. package/lib/components/metric-run-info/metric-run-info.js +3 -2
  20. package/lib/components/metric-run-info/metric-run-info.js.map +1 -1
  21. package/lib/components/metrics-display-selector/metrics-display-selector.module.css +0 -2
  22. package/lib/components/metrics-table/metrics-table.js +31 -20
  23. package/lib/components/metrics-table/metrics-table.js.map +1 -1
  24. package/lib/components/metrics-table/metrics-table.module.css +4 -12
  25. package/lib/components/metrics-table-options/metrics-table-options.js +4 -4
  26. package/lib/components/metrics-table-options/metrics-table-options.js.map +1 -1
  27. package/lib/components/metrics-table-row-count/index.js +18 -0
  28. package/lib/components/metrics-table-row-count/index.js.map +1 -0
  29. package/lib/components/metrics-table-row-count/metrics-table-row-count.js +17 -0
  30. package/lib/components/metrics-table-row-count/metrics-table-row-count.js.map +1 -0
  31. package/lib/components/metrics-table-row-count/metrics-table-row-count.module.css +5 -0
  32. package/lib/components/sort-button/sort-button.module.css +0 -2
  33. package/lib/components/summary/summary.module.css +10 -3
  34. package/lib/css/default.css +7 -4
  35. package/lib/css/variables.css +21 -17
  36. package/lib/layout/flex-stack/flex-stack.js +2 -2
  37. package/lib/layout/flex-stack/flex-stack.js.map +1 -1
  38. package/lib/layout/flex-stack/flex-stack.module.css +65 -10
  39. package/lib/ui/button/button.js +1 -0
  40. package/lib/ui/button/button.js.map +1 -1
  41. package/lib/ui/button/button.module.css +28 -28
  42. package/lib/ui/copy-to-clipboard/copy-to-clipboard.module.css +2 -2
  43. package/lib/ui/dropdown/dropdown.module.css +4 -2
  44. package/lib/ui/filters/filters.js +6 -5
  45. package/lib/ui/filters/filters.js.map +1 -1
  46. package/lib/ui/filters/filters.module.css +3 -5
  47. package/lib/ui/hover-card/hover-card.module.css +4 -5
  48. package/lib/ui/input/input.module.css +2 -2
  49. package/lib/ui/table/table.module.css +12 -5
  50. package/lib/ui/tabs/tabs.module.css +13 -9
  51. package/lib/ui/tag/tag.module.css +0 -2
  52. package/lib/ui/textarea/textarea.module.css +2 -2
  53. package/lib-esm/app/app.module.css +4 -2
  54. package/lib-esm/app/header/header.module.css +1 -3
  55. package/lib-esm/chart-colors.json +56 -56
  56. package/lib-esm/components/asset-name/asset-name.js +8 -7
  57. package/lib-esm/components/asset-name/asset-name.js.map +1 -1
  58. package/lib-esm/components/asset-name/asset-name.module.css +20 -10
  59. package/lib-esm/components/bundle-assets/bundle-assets.js +4 -2
  60. package/lib-esm/components/bundle-assets/bundle-assets.js.map +1 -1
  61. package/lib-esm/components/bundle-assets/bundle-assets.module.css +0 -12
  62. package/lib-esm/components/bundle-assets-totals/bundle-assets-totals.js +4 -2
  63. package/lib-esm/components/bundle-assets-totals/bundle-assets-totals.js.map +1 -1
  64. package/lib-esm/components/bundle-modules/bundle-modules.js +4 -2
  65. package/lib-esm/components/bundle-modules/bundle-modules.js.map +1 -1
  66. package/lib-esm/components/bundle-modules/bundle-modules.module.css +8 -16
  67. package/lib-esm/components/bundle-packages/bundle-packages.js +4 -2
  68. package/lib-esm/components/bundle-packages/bundle-packages.js.map +1 -1
  69. package/lib-esm/components/bundle-packages/bundle-packages.module.css +21 -22
  70. package/lib-esm/components/entry-info/entry-info.module.css +0 -1
  71. package/lib-esm/components/metric-run-info/metric-run-info.js +3 -2
  72. package/lib-esm/components/metric-run-info/metric-run-info.js.map +1 -1
  73. package/lib-esm/components/metrics-display-selector/metrics-display-selector.module.css +0 -2
  74. package/lib-esm/components/metrics-table/metrics-table.js +32 -20
  75. package/lib-esm/components/metrics-table/metrics-table.js.map +1 -1
  76. package/lib-esm/components/metrics-table/metrics-table.module.css +4 -12
  77. package/lib-esm/components/metrics-table-options/metrics-table-options.js +4 -4
  78. package/lib-esm/components/metrics-table-options/metrics-table-options.js.map +1 -1
  79. package/lib-esm/components/metrics-table-row-count/index.js +2 -0
  80. package/lib-esm/components/metrics-table-row-count/index.js.map +1 -0
  81. package/lib-esm/components/metrics-table-row-count/metrics-table-row-count.js +10 -0
  82. package/lib-esm/components/metrics-table-row-count/metrics-table-row-count.js.map +1 -0
  83. package/lib-esm/components/metrics-table-row-count/metrics-table-row-count.module.css +5 -0
  84. package/lib-esm/components/sort-button/sort-button.module.css +0 -2
  85. package/lib-esm/components/summary/summary.module.css +10 -3
  86. package/lib-esm/css/default.css +7 -4
  87. package/lib-esm/css/variables.css +21 -17
  88. package/lib-esm/layout/flex-stack/flex-stack.js +3 -2
  89. package/lib-esm/layout/flex-stack/flex-stack.js.map +1 -1
  90. package/lib-esm/layout/flex-stack/flex-stack.module.css +65 -10
  91. package/lib-esm/ui/button/button.js +1 -0
  92. package/lib-esm/ui/button/button.js.map +1 -1
  93. package/lib-esm/ui/button/button.module.css +28 -28
  94. package/lib-esm/ui/copy-to-clipboard/copy-to-clipboard.module.css +2 -2
  95. package/lib-esm/ui/dropdown/dropdown.module.css +4 -2
  96. package/lib-esm/ui/filters/filters.js +6 -5
  97. package/lib-esm/ui/filters/filters.js.map +1 -1
  98. package/lib-esm/ui/filters/filters.module.css +3 -5
  99. package/lib-esm/ui/hover-card/hover-card.module.css +4 -5
  100. package/lib-esm/ui/input/input.module.css +2 -2
  101. package/lib-esm/ui/table/table.module.css +12 -5
  102. package/lib-esm/ui/tabs/tabs.module.css +13 -9
  103. package/lib-esm/ui/tag/tag.module.css +0 -2
  104. package/lib-esm/ui/textarea/textarea.module.css +2 -2
  105. package/package.json +3 -3
  106. package/src/app/app.module.css +4 -2
  107. package/src/app/header/header.module.css +1 -3
  108. package/src/chart-colors.json +56 -56
  109. package/src/components/asset-name/asset-name.module.css +20 -10
  110. package/src/components/asset-name/asset-name.tsx +8 -12
  111. package/src/components/bundle-assets/bundle-assets.module.css +0 -12
  112. package/src/components/bundle-assets/bundle-assets.tsx +8 -1
  113. package/src/components/bundle-assets-totals/bundle-assets-totals.jsx +6 -4
  114. package/src/components/bundle-modules/bundle-modules.module.css +8 -16
  115. package/src/components/bundle-modules/bundle-modules.tsx +8 -1
  116. package/src/components/bundle-packages/bundle-packages.jsx +5 -1
  117. package/src/components/bundle-packages/bundle-packages.module.css +21 -22
  118. package/src/components/entry-info/entry-info.module.css +0 -1
  119. package/src/components/metric-run-info/metric-run-info.stories.tsx +9 -0
  120. package/src/components/metric-run-info/metric-run-info.tsx +9 -2
  121. package/src/components/metrics-display-selector/metrics-display-selector.module.css +0 -2
  122. package/src/components/metrics-table/metrics-table.module.css +4 -12
  123. package/src/components/metrics-table/metrics-table.tsx +70 -39
  124. package/src/components/metrics-table-options/metrics-table-options.tsx +12 -12
  125. package/src/components/metrics-table-row-count/index.ts +1 -0
  126. package/src/components/metrics-table-row-count/metrics-table-row-count.module.css +5 -0
  127. package/src/components/metrics-table-row-count/metrics-table-row-count.tsx +21 -0
  128. package/src/components/sort-button/sort-button.module.css +0 -2
  129. package/src/components/summary/summary.module.css +10 -3
  130. package/src/css/default.css +7 -4
  131. package/src/css/variables.css +21 -17
  132. package/src/layout/flex-stack/flex-stack.module.css +65 -10
  133. package/src/layout/flex-stack/flex-stack.stories.tsx +68 -9
  134. package/src/layout/flex-stack/flex-stack.tsx +24 -4
  135. package/src/ui/button/button.module.css +28 -28
  136. package/src/ui/button/button.tsx +1 -0
  137. package/src/ui/copy-to-clipboard/copy-to-clipboard.module.css +2 -2
  138. package/src/ui/dropdown/dropdown.module.css +4 -2
  139. package/src/ui/dropdown/dropdown.stories.tsx +6 -0
  140. package/src/ui/filters/filters.module.css +3 -5
  141. package/src/ui/filters/filters.tsx +21 -16
  142. package/src/ui/hover-card/hover-card.module.css +4 -5
  143. package/src/ui/input/input.module.css +2 -2
  144. package/src/ui/table/table.module.css +12 -5
  145. package/src/ui/tabs/tabs.module.css +13 -9
  146. package/src/ui/tag/tag.module.css +0 -2
  147. package/src/ui/textarea/textarea.module.css +2 -2
  148. package/types/components/metric-run-info/metric-run-info.d.ts +1 -1
  149. package/types/components/metrics-table/metrics-table.d.ts +2 -1
  150. package/types/components/metrics-table-row-count/index.d.ts +1 -0
  151. package/types/components/metrics-table-row-count/metrics-table-row-count.d.ts +7 -0
  152. package/types/layout/flex-stack/flex-stack.d.ts +6 -2
  153. package/types/ui/button/button.d.ts +1 -0
@@ -45,9 +45,9 @@
45
45
  transition: var(--transition-out);
46
46
  }
47
47
 
48
- .filterSingle:hover,
48
+ .filterSingle:focus,
49
49
  .filterSingle:active,
50
- .filterSingle:focus {
50
+ .filterSingle:hover {
51
51
  border-color: var(--color-outline-dark);
52
52
  transition: var(--transition-in);
53
53
  }
@@ -72,8 +72,6 @@
72
72
  right: 2px;
73
73
  top: 50%;
74
74
  transform: translateY(-50%);
75
- padding: var(--space-xxxsmall);
76
- font-size: var(--size-xsmall);
77
75
  line-height: 1.1;
78
76
  }
79
77
 
@@ -102,8 +100,8 @@
102
100
  }
103
101
 
104
102
  .filterGroupSearchNotFound {
105
- padding: var(--space-xxsmall) 0;
106
103
  text-align: center;
104
+ min-height: calc(10 * (var(--space-small) + 2 * var(--space-xxxsmall)));
107
105
  font-size: var(--size-small);
108
106
  color: var(--color-text-light);
109
107
  }
@@ -10,13 +10,12 @@
10
10
  transition: var(--transition-out);
11
11
  }
12
12
 
13
+ .anchor:focus,
14
+ .anchor:active,
13
15
  .anchor:hover {
14
- color: var(--color-primary);
15
- transition: var(--transition-in);
16
- }
17
-
18
- .anchor:focus {
16
+ color: var(--color-accent-dark);
19
17
  outline: 0;
18
+ transition: var(--transition-in);
20
19
  }
21
20
 
22
21
  .hoverCard {
@@ -3,7 +3,7 @@
3
3
  border-radius: var(--radius-small);
4
4
  color: var(--color-text-light);
5
5
  width: 100%;
6
- transition: var(--transition-in);
6
+ transition: var(--transition-out);
7
7
  appearance: none;
8
8
  outline: none;
9
9
  }
@@ -27,7 +27,7 @@
27
27
  .root:focus {
28
28
  border-color: var(--color-outline-dark);
29
29
  color: inherit;
30
- transition: var(--transition-out);
30
+ transition: var(--transition-in);
31
31
  }
32
32
 
33
33
  /** Size modifier */
@@ -33,21 +33,28 @@
33
33
  border-top: 0;
34
34
  }
35
35
 
36
- .root tbody td a {
36
+ .root tbody a {
37
37
  color: inherit;
38
38
  text-decoration: none;
39
39
  }
40
40
 
41
- .root tbody td a:hover,
42
- .root tbody td a:focus,
43
- .root tbody td a:active {
44
- color: var(--color-primary);
41
+ .root tbody a:focus,
42
+ .root tbody a:active,
43
+ .root tbody a:hover {
44
+ color: var(--color-accent);
45
45
  text-decoration: underline;
46
46
  }
47
47
 
48
+ /* hover current row */
49
+ .root tbody tr th,
50
+ .root tbody tr td {
51
+ transition: var(--transition-out);
52
+ }
53
+
48
54
  .root tbody tr:hover th,
49
55
  .root tbody tr:hover td {
50
56
  background-color: var(--color-highlight-warning);
57
+ transition: var(--transition-in);
51
58
  }
52
59
 
53
60
  .empty {
@@ -13,7 +13,7 @@
13
13
  color: var(--color-text-ultra-light);
14
14
  font-weight: bold;
15
15
  text-decoration: none;
16
- transition: var(--ui-transition-out);
16
+ transition: var(--transition-out);
17
17
  }
18
18
 
19
19
  .item::after {
@@ -24,27 +24,31 @@
24
24
  right: 0;
25
25
  bottom: -1px;
26
26
  height: 2px;
27
- background: transparent;
27
+ background: currentColor;
28
+ opacity: 0;
29
+ transition: var(--transition-out);
28
30
  }
29
31
 
30
- .item:hover,
32
+ .item:focus,
31
33
  .item:active,
32
- .item:focus {
33
- color: var(--color-primary);
34
+ .item:hover {
35
+ color: var(--color-accent);
34
36
  outline: none;
35
- transition: var(--ui-transition-out);
36
37
  }
37
38
 
38
39
  .item:hover::after,
39
40
  .item:active::after,
40
41
  .item:focus::after {
41
- background: currentColor;
42
+ opacity: 1;
43
+ transition: var(--transition-in);
42
44
  }
43
45
 
44
46
  .itemActive {
45
- color: var(--color-primary);
47
+ color: var(--color-accent);
48
+ transition: var(--transition-in);
46
49
  }
47
50
 
48
51
  .itemActive::after {
49
- background: currentColor;
52
+ opacity: 1;
53
+ transition: var(--transition-in);
50
54
  }
@@ -10,7 +10,6 @@
10
10
 
11
11
  a.root {
12
12
  text-decoration: none;
13
- transition: var(--transition-out);
14
13
  }
15
14
 
16
15
  a.root:hover,
@@ -19,7 +18,6 @@ a.root:active {
19
18
  opacity: 0.8;
20
19
  color: var(--color-light);
21
20
  text-decoration: none;
22
- transition: var(--transition-in);
23
21
  }
24
22
 
25
23
  /** Kind variation */
@@ -4,7 +4,7 @@
4
4
  color: var(--color-text-light);
5
5
  width: 100%;
6
6
  resize: vertical;
7
- transition: var(--transition-in);
7
+ transition: var(--transition-out);
8
8
  appearance: none;
9
9
  outline: none;
10
10
  }
@@ -28,7 +28,7 @@
28
28
  .root:focus {
29
29
  border-color: var(--color-outline-dark);
30
30
  color: inherit;
31
- transition: var(--transition-out);
31
+ transition: var(--transition-in);
32
32
  }
33
33
 
34
34
  .root[readonly=''] {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bundle-stats/ui",
3
- "version": "4.23.0-beta.3",
3
+ "version": "4.23.0-beta.5",
4
4
  "description": "UI components for BundleStats projects.",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-esm/index.js",
@@ -83,7 +83,7 @@
83
83
  "react-router-dom": "^5.0.0"
84
84
  },
85
85
  "dependencies": {
86
- "@bundle-stats/utils": "^4.23.0-beta.3",
86
+ "@bundle-stats/utils": "^4.23.0-beta.5",
87
87
  "ariakit": "2.0.0-next.44",
88
88
  "d3": "7.9.0",
89
89
  "modern-css-reset": "1.4.0",
@@ -91,5 +91,5 @@
91
91
  "snarkdown": "2.0.0",
92
92
  "use-query-params": "2.2.2"
93
93
  },
94
- "gitHead": "3256dd3f8821ffab059bdb3d0477321c8b126836"
94
+ "gitHead": "af798896d85f2758e3cd1a5874b06207cef61c68"
95
95
  }
@@ -42,11 +42,13 @@
42
42
  }
43
43
 
44
44
  .tabActive {
45
- color: var(--color-primary);
45
+ color: var(--color-accent);
46
+ transition: var(--transition-in);
46
47
  }
47
48
 
48
49
  .tabActive::after {
49
- background: currentColor;
50
+ opacity: 1;
51
+ transition: var(--transition-in);
50
52
  }
51
53
 
52
54
  .tabsContent {
@@ -11,14 +11,12 @@
11
11
  border-radius: 50%;
12
12
  opacity: 0.8;
13
13
  color: var(--color-text-ultra-dark);
14
- transition: var(--transition-out);
15
14
  }
16
15
 
17
- .toolsGitHub:hover,
18
16
  .toolsGitHub:focus,
17
+ .toolsGitHub:hover,
19
18
  .toolsGitHub:active {
20
19
  opacity: 1;
21
- transition: var(--transition-in);
22
20
  }
23
21
 
24
22
  .toolsGitHubIcon {
@@ -1,59 +1,59 @@
1
1
  [
2
- "rgba(0,85,172,1)",
3
- "rgba(13,85,174,1)",
4
- "rgba(26,85,175,1)",
5
- "rgba(39,85,177,1)",
6
- "rgba(52,85,178,1)",
7
- "rgba(65,84,180,1)",
8
- "rgba(78,84,181,1)",
9
- "rgba(91,84,183,1)",
10
- "rgba(104,84,184,1)",
11
- "rgba(112,83,184,1)",
12
- "rgba(119,82,183,1)",
13
- "rgba(127,81,183,1)",
14
- "rgba(134,80,183,1)",
15
- "rgba(142,79,182,1)",
16
- "rgba(149,78,182,1)",
17
- "rgba(157,77,181,1)",
18
- "rgba(164,76,181,1)",
19
- "rgba(170,75,179,1)",
20
- "rgba(176,74,177,1)",
21
- "rgba(182,73,174,1)",
22
- "rgba(189,72,172,1)",
23
- "rgba(195,71,170,1)",
24
- "rgba(201,70,168,1)",
25
- "rgba(207,69,165,1)",
26
- "rgba(213,68,163,1)",
27
- "rgba(217,68,160,1)",
28
- "rgba(222,69,156,1)",
29
- "rgba(226,69,153,1)",
30
- "rgba(231,69,149,1)",
31
- "rgba(235,69,146,1)",
32
- "rgba(239,70,142,1)",
33
- "rgba(244,70,139,1)",
34
- "rgba(248,70,135,1)",
35
- "rgba(249,73,131,1)",
36
- "rgba(250,76,127,1)",
37
- "rgba(251,78,122,1)",
38
- "rgba(252,81,118,1)",
39
- "rgba(252,84,114,1)",
40
- "rgba(253,87,110,1)",
41
- "rgba(254,89,105,1)",
42
- "rgba(255,92,101,1)",
43
- "rgba(255,96,96,1)",
44
- "rgba(255,101,91,1)",
45
- "rgba(255,105,86,1)",
46
- "rgba(255,110,82,1)",
47
- "rgba(255,114,77,1)",
48
- "rgba(255,118,72,1)",
49
- "rgba(255,123,67,1)",
50
- "rgba(255,127,62,1)",
51
- "rgba(255,132,54,1)",
52
- "rgba(255,137,47,1)",
53
- "rgba(255,142,39,1)",
54
- "rgba(255,147,31,1)",
55
- "rgba(255,151,23,1)",
56
- "rgba(255,156,16,1)",
57
- "rgba(255,161,8,1)",
2
+ "rgba(79,146,213,1)",
3
+ "rgba(86,146,215,1)",
4
+ "rgba(92,145,217,1)",
5
+ "rgba(99,145,219,1)",
6
+ "rgba(105,144,221,1)",
7
+ "rgba(112,144,223,1)",
8
+ "rgba(118,143,225,1)",
9
+ "rgba(125,143,227,1)",
10
+ "rgba(131,142,229,1)",
11
+ "rgba(138,141,229,1)",
12
+ "rgba(145,140,229,1)",
13
+ "rgba(152,138,229,1)",
14
+ "rgba(159,137,229,1)",
15
+ "rgba(165,136,228,1)",
16
+ "rgba(172,135,228,1)",
17
+ "rgba(179,133,228,1)",
18
+ "rgba(186,132,228,1)",
19
+ "rgba(192,130,226,1)",
20
+ "rgba(198,129,223,1)",
21
+ "rgba(204,127,221,1)",
22
+ "rgba(210,125,218,1)",
23
+ "rgba(216,123,216,1)",
24
+ "rgba(222,122,213,1)",
25
+ "rgba(228,120,211,1)",
26
+ "rgba(234,118,208,1)",
27
+ "rgba(237,117,204,1)",
28
+ "rgba(239,116,199,1)",
29
+ "rgba(242,114,195,1)",
30
+ "rgba(245,113,191,1)",
31
+ "rgba(247,112,186,1)",
32
+ "rgba(250,111,182,1)",
33
+ "rgba(252,109,177,1)",
34
+ "rgba(255,108,173,1)",
35
+ "rgba(255,109,167,1)",
36
+ "rgba(255,109,162,1)",
37
+ "rgba(255,110,156,1)",
38
+ "rgba(255,111,151,1)",
39
+ "rgba(255,111,145,1)",
40
+ "rgba(255,112,139,1)",
41
+ "rgba(255,112,134,1)",
42
+ "rgba(255,113,128,1)",
43
+ "rgba(255,116,122,1)",
44
+ "rgba(255,119,116,1)",
45
+ "rgba(255,121,109,1)",
46
+ "rgba(255,124,103,1)",
47
+ "rgba(255,127,97,1)",
48
+ "rgba(255,130,91,1)",
49
+ "rgba(255,132,84,1)",
50
+ "rgba(255,135,78,1)",
51
+ "rgba(255,139,68,1)",
52
+ "rgba(255,143,59,1)",
53
+ "rgba(255,147,49,1)",
54
+ "rgba(255,151,39,1)",
55
+ "rgba(255,154,29,1)",
56
+ "rgba(255,158,20,1)",
57
+ "rgba(255,162,10,1)",
58
58
  "rgba(255,166,0,1)"
59
59
  ]
@@ -1,6 +1,11 @@
1
+ .root {
2
+ display: inline-flex;
3
+ gap: var(--space-xxxsmall);
4
+ align-items: center;
5
+ }
6
+
1
7
  .notPredictive {
2
- margin-right: var(--space-xxsmall);
3
- display: inline-block;
8
+ flex: 0 0 auto;
4
9
  width: var(--space-small);
5
10
  height: var(--space-small);
6
11
  }
@@ -13,20 +18,25 @@
13
18
  max-width: 480px;
14
19
  }
15
20
 
16
- .metaTags {
17
- display: inline;
18
- margin-right: var(--space-xxxsmall);
21
+ .link {
22
+ flex: 1 1 auto;
23
+ display: inline-flex;
24
+ align-items: center;
25
+ gap: var(--space-xxxsmall);
19
26
  }
20
27
 
21
- .metaTag + .metaTag {
22
- margin-left: calc(var(--space-xxxsmall) / 2);
28
+ .tags {
29
+ flex: 0 0 auto;
30
+ display: inline-flex;
31
+ gap: 1px;
23
32
  }
24
33
 
25
- .metaTags:empty {
34
+ .tags:empty {
26
35
  display: none;
27
36
  }
28
37
 
29
- .nameText {
30
- display: inline-block;
38
+ .name {
39
+ flex: 1 1 auto;
31
40
  vertical-align: middle;
41
+ text-decoration: inherit;
32
42
  }
@@ -1,4 +1,5 @@
1
1
  import React, { ElementType } from 'react';
2
+ import cx from 'classnames';
2
3
 
3
4
  import { Icon } from '../../ui/icon';
4
5
  import { FileName } from '../../ui/file-name';
@@ -24,7 +25,7 @@ export const AssetName = (props: AssetNameProps) => {
24
25
  const { label, isNotPredictive, runs, isChunk, isEntry, isInitial } = row;
25
26
 
26
27
  return (
27
- <span className={className}>
28
+ <span className={cx(css.root, className)}>
28
29
  {isNotPredictive && (
29
30
  <HoverCard
30
31
  label={<Icon className={css.notPredictiveIcon} glyph={Icon.ICONS.WARNING} />}
@@ -35,24 +36,19 @@ export const AssetName = (props: AssetNameProps) => {
35
36
  </HoverCard>
36
37
  )}
37
38
 
38
- <EntryComponentLink entryId={row.key} className={css.name}>
39
- <span className={css.metaTags}>
39
+ <EntryComponentLink entryId={row.key} className={css.link}>
40
+ <span className={css.tags}>
40
41
  {isEntry && (
41
- <AssetMetaTag className={css.metaTag} title="Entrypoint" tag="entry" status={isEntry} />
42
+ <AssetMetaTag className={css.tag} title="Entrypoint" tag="entry" status={isEntry} />
42
43
  )}
43
44
  {isInitial && (
44
- <AssetMetaTag
45
- className={css.metaTag}
46
- title="Initial"
47
- tag="initial"
48
- status={isInitial}
49
- />
45
+ <AssetMetaTag className={css.tag} title="Initial" tag="initial" status={isInitial} />
50
46
  )}
51
47
  {isChunk && (
52
- <AssetMetaTag className={css.metaTag} title="Chunk" tag="chunk" status={isChunk} />
48
+ <AssetMetaTag className={css.tag} title="Chunk" tag="chunk" status={isChunk} />
53
49
  )}
54
50
  </span>
55
- <FileName className={css.nameText} name={label} />
51
+ <FileName className={css.name} name={label} />
56
52
  </EntryComponentLink>
57
53
  </span>
58
54
  );
@@ -3,18 +3,6 @@
3
3
  max-width: 240px;
4
4
  }
5
5
 
6
- .root .assetName:hover,
7
- .root .assetName:active,
8
- .root .assetName:focus {
9
- text-decoration: none;
10
- }
11
-
12
- .root .assetName:hover .assetNameText,
13
- .root .assetName:active .assetNameText,
14
- .root .assetName:focus .assetNameText {
15
- text-decoration: underline;
16
- }
17
-
18
6
  .search {
19
7
  margin: 0;
20
8
  width: 100%;
@@ -26,6 +26,7 @@ import { MetricsTable } from '../metrics-table';
26
26
  import { MetricsTableExport } from '../metrics-table-export';
27
27
  import { MetricsTableOptions } from '../metrics-table-options';
28
28
  import { MetricsTableTitle } from '../metrics-table-title';
29
+ import { MetricsTableRowCount } from '../metrics-table-row-count';
29
30
  import { MetricsDisplaySelector } from '../metrics-display-selector';
30
31
  import { MetricsTableHeader } from '../metrics-table-header';
31
32
  import { MetricsTreemap, getTreemapNodes, getTreemapNodesGroupedByPath } from '../metrics-treemap';
@@ -164,7 +165,7 @@ export const BundleAssets = (props: BundleAssetsProps) => {
164
165
  () => (
165
166
  <MetricsTableTitle
166
167
  title={I18N.ASSETS}
167
- info={`${items.length}/${totalRowCount}`}
168
+ info={<MetricsTableRowCount count={items.length} total={totalRowCount} />}
168
169
  popoverInfo={I18N.ASSETS_INFO}
169
170
  popoverHref={config.documentation.assets}
170
171
  />
@@ -205,6 +206,11 @@ export const BundleAssets = (props: BundleAssetsProps) => {
205
206
  [EntryComponentLink],
206
207
  );
207
208
 
209
+ const handleRowClick = useCallback(
210
+ (row: ReportMetricRow) => showEntryInfo(row.key),
211
+ [showEntryInfo],
212
+ );
213
+
208
214
  const emptyMessage = useMemo(
209
215
  () => (
210
216
  <EmptySet
@@ -276,6 +282,7 @@ export const BundleAssets = (props: BundleAssetsProps) => {
276
282
  runs={jobs}
277
283
  items={items}
278
284
  renderRowHeader={renderRowHeader}
285
+ onRowClick={handleRowClick}
279
286
  emptyMessage={emptyMessage}
280
287
  showHeaderSum
281
288
  title={metricsTableTitle}
@@ -72,6 +72,10 @@ export const BundleAssetsTotals = ({
72
72
  [history],
73
73
  );
74
74
 
75
+ const handleItemClick = onTreemapItemClick || handleMetricsTreemapItemClick;
76
+
77
+ const handleRowClick = useCallback((row) => handleItemClick(row.key), [handleItemClick]);
78
+
75
79
  const exportDialog = useDialogState();
76
80
  const [exportSourceType, setExportSourceType] = useState(undefined);
77
81
 
@@ -98,6 +102,7 @@ export const BundleAssetsTotals = ({
98
102
  runs={jobs}
99
103
  items={items}
100
104
  renderRowHeader={renderRowHeader}
105
+ onRowClick={handleRowClick}
101
106
  showHeaderSum
102
107
  {...restProps}
103
108
  />
@@ -112,10 +117,7 @@ export const BundleAssetsTotals = ({
112
117
  rows={items}
113
118
  />
114
119
  </Table>
115
- <MetricsTreemap
116
- treeNodes={getTreemapNodes(items)}
117
- onItemClick={onTreemapItemClick || handleMetricsTreemapItemClick}
118
- />
120
+ <MetricsTreemap treeNodes={getTreemapNodes(items)} onItemClick={handleItemClick} />
119
121
  </>
120
122
  )}
121
123
  </Box>
@@ -11,9 +11,14 @@
11
11
  border-bottom: 1px solid var(--color-outline);
12
12
  }
13
13
 
14
+ .name {
15
+ display: inline-flex;
16
+ align-items: center;
17
+ gap: var(--space-xxxsmall);
18
+ }
19
+
14
20
  .nameTagDuplicated {
15
- margin-right: var(--space-xxxsmall);
16
- vertical-align: baseline;
21
+ flex: 0 0 auto;
17
22
  }
18
23
 
19
24
  .nameTagDuplicated::before {
@@ -21,18 +26,5 @@
21
26
  }
22
27
 
23
28
  .nameText {
24
- display: inline-block;
25
- vertical-align: middle;
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;
29
+ flex: 1 1 auto;
38
30
  }
@@ -36,6 +36,7 @@ import { MetricsTreemap, getTreemapNodes, getTreemapNodesGroupedByPath } from '.
36
36
  import { MetricsTableOptions } from '../metrics-table-options';
37
37
  import { MetricsDisplaySelector } from '../metrics-display-selector';
38
38
  import { MetricsTableTitle } from '../metrics-table-title';
39
+ import { MetricsTableRowCount } from '../metrics-table-row-count';
39
40
  import { ModuleInfo } from '../module-info';
40
41
  import { generateFilterFieldsData } from './bundle-modules.utils';
41
42
  import * as I18N_MODULES from './bundle-modules.i18n';
@@ -228,7 +229,7 @@ export const BundleModules = (props: BundleModulesProps) => {
228
229
  () => (
229
230
  <MetricsTableTitle
230
231
  title={I18N.MODULES}
231
- info={`${items.length}/${totalRowCount}`}
232
+ info={<MetricsTableRowCount count={items.length} total={totalRowCount} />}
232
233
  popoverInfo={I18N.MODULES_INFO}
233
234
  popoverHref={config.documentation.modules}
234
235
  />
@@ -241,6 +242,11 @@ export const BundleModules = (props: BundleModulesProps) => {
241
242
  [EntryComponentLink],
242
243
  );
243
244
 
245
+ const handleRowClick = useCallback(
246
+ (row: ReportMetricRow) => showEntryInfo(row.key),
247
+ [showEntryInfo],
248
+ );
249
+
244
250
  const emptyMessage = useMemo(
245
251
  () => (
246
252
  <EmptySet
@@ -348,6 +354,7 @@ export const BundleModules = (props: BundleModulesProps) => {
348
354
  items={items}
349
355
  runs={jobs}
350
356
  renderRowHeader={renderRowHeader}
357
+ onRowClick={handleRowClick}
351
358
  emptyMessage={emptyMessage}
352
359
  showHeaderSum
353
360
  title={metricsTableTitle}
@@ -22,6 +22,7 @@ import { MetricsTableExport } from '../metrics-table-export';
22
22
  import { MetricsTableHeader } from '../metrics-table-header';
23
23
  import { MetricsTableOptions } from '../metrics-table-options';
24
24
  import { MetricsTableTitle } from '../metrics-table-title';
25
+ import { MetricsTableRowCount } from '../metrics-table-row-count';
25
26
  import { PackageInfo } from '../package-info';
26
27
  import { SEARCH_PLACEHOLDER } from './bundle-packages.i18n';
27
28
  import css from './bundle-packages.module.css';
@@ -217,7 +218,7 @@ export const BundlePackages = (props) => {
217
218
  () => (
218
219
  <MetricsTableTitle
219
220
  title={I18N.PACKAGES}
220
- info={`${items.length}/${totalRowCount}`}
221
+ info={<MetricsTableRowCount count={items.length} total={totalRowCount} />}
221
222
  popoverInfo={I18N.PACKAGES_INFO}
222
223
  popoverHref={config.documentation.packages}
223
224
  />
@@ -249,6 +250,8 @@ export const BundlePackages = (props) => {
249
250
  [PackageNameCustomComponentLink],
250
251
  );
251
252
 
253
+ const handleRowClick = useCallback((row) => showEntryInfo(row.key), [showEntryInfo]);
254
+
252
255
  const emptyMessage = useMemo(
253
256
  () => (
254
257
  <EmptySet
@@ -320,6 +323,7 @@ export const BundlePackages = (props) => {
320
323
  items={items}
321
324
  emptyMessage={emptyMessage}
322
325
  renderRowHeader={renderRowHeader}
326
+ onRowClick={handleRowClick}
323
327
  showHeaderSum
324
328
  title={metricsTableTitle}
325
329
  sort={sort}