@allurereport/web-classic 3.8.1 → 3.9.0

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 (67) hide show
  1. package/allurerc-dev.mjs +10 -0
  2. package/dist/multi/app-ca55d3cd360ac8eef796.js +2 -0
  3. package/dist/multi/manifest.json +23 -23
  4. package/dist/multi/styles-f8dc8e0442ce4abf426b.css +284 -0
  5. package/dist/single/app-3d4358effbb13febd942.js +2 -0
  6. package/dist/single/manifest.json +1 -1
  7. package/package.json +10 -6
  8. package/src/assets/scss/code.scss +6 -6
  9. package/src/assets/scss/index.scss +8 -8
  10. package/src/components/Behaviors/styles.scss +38 -33
  11. package/src/components/Categories/styles.scss +38 -33
  12. package/src/components/HeaderActions/styles.scss +1 -1
  13. package/src/components/Modal/index.tsx +3 -1
  14. package/src/components/Modal/styles.scss +2 -2
  15. package/src/components/Packages/styles.scss +38 -33
  16. package/src/components/ReportBody/styles.scss +1 -1
  17. package/src/components/TestResult/TestResultError/styles.scss +4 -4
  18. package/src/components/TestResult/TestResultLinks/styles.scss +1 -1
  19. package/src/components/TestResult/TestResultNavigation/index.tsx +1 -1
  20. package/src/components/TestResult/TestResultPrevStatuses/styles.scss +5 -5
  21. package/src/components/TestResult/TestResultSeverity/styles.scss +4 -4
  22. package/src/components/TestResult/TestResultStatus/styles.scss +2 -35
  23. package/src/components/TestResult/TestResultSteps/attachment.tsx +24 -2
  24. package/src/components/TestResult/TestResultSteps/styles.scss +22 -14
  25. package/src/components/TestResult/TestResultSteps/testResultAttachmentInfo.tsx +1 -0
  26. package/src/components/TestResult/TestResultSteps/testResultStep.tsx +2 -2
  27. package/src/components/TestResult/TestResultTabs/styles.scss +1 -1
  28. package/src/components/Tree/TreeHeader.tsx +1 -1
  29. package/src/components/Tree/styles.scss +38 -33
  30. package/src/index.html +3 -3
  31. package/src/utils/attachments.ts +6 -0
  32. package/test/dummy.test.ts +9 -1
  33. package/test/utils/treeFilters.test.ts +9 -1
  34. package/types.d.ts +1 -0
  35. package/dist/multi/app-f80e40e5d4a6b2591c77.js +0 -2
  36. package/dist/multi/styles-782990bab862d8dfb55a.css +0 -284
  37. package/dist/single/app-d95b6198c4d471014aa1.js +0 -2
  38. package/src/assets/scss/day.scss +0 -51
  39. package/src/assets/scss/fonts.scss +0 -3
  40. package/src/assets/scss/night.scss +0 -61
  41. package/src/assets/scss/palette.scss +0 -393
  42. package/src/assets/scss/theme.scss +0 -326
  43. package/src/assets/scss/typography.scss +0 -218
  44. package/src/assets/scss/vars.scss +0 -8
  45. /package/dist/multi/{10.app-f80e40e5d4a6b2591c77.js → 10.app-ca55d3cd360ac8eef796.js} +0 -0
  46. /package/dist/multi/{222.app-f80e40e5d4a6b2591c77.js → 222.app-ca55d3cd360ac8eef796.js} +0 -0
  47. /package/dist/multi/{26.app-f80e40e5d4a6b2591c77.js → 26.app-ca55d3cd360ac8eef796.js} +0 -0
  48. /package/dist/multi/{302.app-f80e40e5d4a6b2591c77.js → 302.app-ca55d3cd360ac8eef796.js} +0 -0
  49. /package/dist/multi/{304.app-f80e40e5d4a6b2591c77.js → 304.app-ca55d3cd360ac8eef796.js} +0 -0
  50. /package/dist/multi/{333.app-f80e40e5d4a6b2591c77.js → 333.app-ca55d3cd360ac8eef796.js} +0 -0
  51. /package/dist/multi/{369.app-f80e40e5d4a6b2591c77.js → 369.app-ca55d3cd360ac8eef796.js} +0 -0
  52. /package/dist/multi/{389.app-f80e40e5d4a6b2591c77.js → 389.app-ca55d3cd360ac8eef796.js} +0 -0
  53. /package/dist/multi/{498.app-f80e40e5d4a6b2591c77.js → 498.app-ca55d3cd360ac8eef796.js} +0 -0
  54. /package/dist/multi/{60.app-f80e40e5d4a6b2591c77.js → 60.app-ca55d3cd360ac8eef796.js} +0 -0
  55. /package/dist/multi/{643.app-f80e40e5d4a6b2591c77.js → 643.app-ca55d3cd360ac8eef796.js} +0 -0
  56. /package/dist/multi/{671.app-f80e40e5d4a6b2591c77.js → 671.app-ca55d3cd360ac8eef796.js} +0 -0
  57. /package/dist/multi/{725.app-f80e40e5d4a6b2591c77.js → 725.app-ca55d3cd360ac8eef796.js} +0 -0
  58. /package/dist/multi/{770.app-f80e40e5d4a6b2591c77.js → 770.app-ca55d3cd360ac8eef796.js} +0 -0
  59. /package/dist/multi/{848.app-f80e40e5d4a6b2591c77.js → 848.app-ca55d3cd360ac8eef796.js} +0 -0
  60. /package/dist/multi/{853.app-f80e40e5d4a6b2591c77.js → 853.app-ca55d3cd360ac8eef796.js} +0 -0
  61. /package/dist/multi/{872.app-f80e40e5d4a6b2591c77.js → 872.app-ca55d3cd360ac8eef796.js} +0 -0
  62. /package/dist/multi/{895.app-f80e40e5d4a6b2591c77.js → 895.app-ca55d3cd360ac8eef796.js} +0 -0
  63. /package/dist/multi/{920.app-f80e40e5d4a6b2591c77.js → 920.app-ca55d3cd360ac8eef796.js} +0 -0
  64. /package/dist/multi/{979.app-f80e40e5d4a6b2591c77.js → 979.app-ca55d3cd360ac8eef796.js} +0 -0
  65. /package/dist/multi/{991.app-f80e40e5d4a6b2591c77.js → 991.app-ca55d3cd360ac8eef796.js} +0 -0
  66. /package/dist/multi/{app-f80e40e5d4a6b2591c77.js.LICENSE.txt → app-ca55d3cd360ac8eef796.js.LICENSE.txt} +0 -0
  67. /package/dist/single/{app-d95b6198c4d471014aa1.js.LICENSE.txt → app-3d4358effbb13febd942.js.LICENSE.txt} +0 -0
@@ -1,3 +1,3 @@
1
1
  {
2
- "main.js": "app-d95b6198c4d471014aa1.js"
2
+ "main.js": "app-3d4358effbb13febd942.js"
3
3
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allurereport/web-classic",
3
- "version": "3.8.1",
3
+ "version": "3.9.0",
4
4
  "description": "The static files for Allure Classic Report",
5
5
  "keywords": [
6
6
  "allure",
@@ -15,7 +15,10 @@
15
15
  "types": "./types.d.ts",
16
16
  "scripts": {
17
17
  "clean": "rimraf dist",
18
- "dev": "webpack serve --mode development",
18
+ "dev": "run-s dev:demo dev:copy dev:serve",
19
+ "dev:demo": "rimraf out/demo && yarn run -T allure generate ${ALLURE_RESULTS_DIR:-../sandbox/allure-results} --config=./allurerc-dev.mjs --output=./out/demo",
20
+ "dev:copy": "rimraf out/dev/data out/dev/widgets && mkdir -p out/dev && cp -R out/demo/data out/dev/data && cp -R out/demo/widgets out/dev/widgets",
21
+ "dev:serve": "webpack serve --mode development",
19
22
  "build": "run-s clean 'build:prod:*'",
20
23
  "build:dev": "run-s clean 'build:dev:*'",
21
24
  "build:prod:single": "SINGLE_FILE_MODE=1 webpack --mode production",
@@ -27,10 +30,10 @@
27
30
  "lint:fix": "oxlint --import-plugin --fix src test features stories"
28
31
  },
29
32
  "dependencies": {
30
- "@allurereport/charts-api": "3.8.1",
31
- "@allurereport/core-api": "3.8.1",
32
- "@allurereport/web-commons": "3.8.1",
33
- "@allurereport/web-components": "3.8.1",
33
+ "@allurereport/charts-api": "3.9.0",
34
+ "@allurereport/core-api": "3.9.0",
35
+ "@allurereport/web-commons": "3.9.0",
36
+ "@allurereport/web-components": "3.9.0",
34
37
  "@preact/signals": "^2.6.1",
35
38
  "clsx": "^2.1.1",
36
39
  "d3-shape": "^3.2.0",
@@ -54,6 +57,7 @@
54
57
  "@types/underscore": "^1",
55
58
  "@vitest/runner": "^2.1.9",
56
59
  "@vitest/snapshot": "^2.1.9",
60
+ "allure-js-commons": "^3.3.3",
57
61
  "allure-vitest": "^3.3.3",
58
62
  "autoprefixer": "^10.4.20",
59
63
  "babel-loader": "^9.2.1",
@@ -13,7 +13,7 @@ code[class*="language-"] {
13
13
  }
14
14
 
15
15
  .token.number {
16
- color: var(--on-support-aldebaran);
16
+ color: var(--color-syntax-number);
17
17
  }
18
18
 
19
19
  .token.property,
@@ -22,7 +22,7 @@ code[class*="language-"] {
22
22
  .token.constant,
23
23
  .token.symbol,
24
24
  .token.deleted {
25
- color: var(--on-support-atlas);
25
+ color: var(--color-syntax-property);
26
26
  }
27
27
 
28
28
  .token.selector,
@@ -31,18 +31,18 @@ code[class*="language-"] {
31
31
  .token.char,
32
32
  .token.builtin,
33
33
  .token.inserted {
34
- color: var(--on-support-castor);
34
+ color: var(--color-syntax-string);
35
35
  }
36
36
 
37
37
  .token.atrule,
38
38
  .token.attr-value,
39
39
  .token.keyword {
40
- color: var(--on-support-sirius);
40
+ color: var(--color-syntax-keyword);
41
41
  }
42
42
 
43
43
  .token.function,
44
44
  .token.class-name {
45
- color: var(--on-support-capella);
45
+ color: var(--color-syntax-function);
46
46
  }
47
47
 
48
48
  .token.punctuation {
@@ -52,7 +52,7 @@ code[class*="language-"] {
52
52
  .token.regex,
53
53
  .token.important,
54
54
  .token.variable {
55
- color: var(--on-support-atlas);
55
+ color: var(--color-syntax-property);
56
56
  }
57
57
 
58
58
  .line-numbers,
@@ -1,9 +1,9 @@
1
- @import "fonts.scss";
2
- @import "typography.scss";
3
- @import "day.scss";
4
- @import "night.scss";
5
- @import "theme.scss";
6
- @import "palette.scss";
1
+ @import "../../../../web-components/src/assets/scss/fonts.scss";
2
+ @import "../../../../web-components/src/assets/scss/typography.scss";
3
+ @import "../../../../web-components/src/assets/scss/palette.scss";
4
+ @import "../../../../web-components/src/assets/scss/semantic.scss";
5
+ @import "../../../../web-components/src/assets/scss/spacing.scss";
6
+ @import "../../../../web-components/src/assets/scss/radius.scss";
7
+ @import "../../../../web-components/src/assets/scss/effects.scss";
8
+ @import "../../../../web-components/src/assets/scss/motion.scss";
7
9
  @import "common.scss";
8
-
9
- @import "vars.scss";
@@ -13,7 +13,7 @@
13
13
  position: relative;
14
14
 
15
15
  &:not(:first-child) {
16
- border-top: 1px solid var(--on-border-muted);
16
+ border-top: 1px solid var(--color-border-subtle);
17
17
  }
18
18
  }
19
19
 
@@ -30,7 +30,7 @@
30
30
  padding: 4px 8px 4px 6px;
31
31
 
32
32
  &:hover {
33
- background: var(--bg-control-flat-medium);
33
+ background: var(--color-control-bg-ghost-hover);
34
34
  }
35
35
  }
36
36
 
@@ -64,15 +64,15 @@
64
64
  position: relative;
65
65
 
66
66
  &:hover {
67
- background: var(--bg-control-flat-medium);
67
+ background: var(--color-control-bg-ghost-hover);
68
68
  }
69
69
 
70
70
  &:not(:first-child) {
71
- border-top: 1px solid var(--on-border-muted);
71
+ border-top: 1px solid var(--color-border-subtle);
72
72
  }
73
73
  }
74
74
  .tree-item-marked {
75
- background: var(--bg-base-secondary);
75
+ background: var(--color-bg-secondary);
76
76
  }
77
77
 
78
78
  .item-title {
@@ -82,7 +82,7 @@
82
82
  .item-time {
83
83
  flex: none;
84
84
  margin-left: auto;
85
- color: var(--on-text-hint);
85
+ color: var(--color-text-muted);
86
86
  }
87
87
 
88
88
  .test-count {
@@ -94,7 +94,7 @@
94
94
  display: block;
95
95
  padding-left: 24px;
96
96
  margin-bottom: 12px;
97
- border-top: 1px solid var(--on-border-muted);
97
+ border-top: 1px solid var(--color-border-subtle);
98
98
  }
99
99
 
100
100
  .tree-item-icon {
@@ -103,71 +103,76 @@
103
103
  }
104
104
 
105
105
  .status-passed {
106
- color: var(--bg-support-castor);
106
+ color: var(--color-status-passed-bg);
107
107
  }
108
108
 
109
109
  .status-failed {
110
- color: var(--bg-support-capella);
110
+ color: var(--color-status-failed-bg);
111
111
  }
112
112
 
113
113
  .status-broken {
114
- color: var(--bg-support-atlas);
114
+ color: var(--color-status-broken-bg);
115
115
  }
116
116
 
117
117
  .status-skipped {
118
- color: var(--bg-support-rau);
118
+ color: var(--color-status-skipped-bg);
119
119
  }
120
120
 
121
121
  .status-unknown {
122
- color: var(--bg-support-skat);
122
+ color: var(--color-status-unknown-bg);
123
123
  }
124
124
 
125
125
  .tree-header-bar {
126
126
  display: inline-flex;
127
+ align-items: center;
128
+ gap: var(--space-0-25);
127
129
  font-family: var(--font-family);
128
130
  max-width: 140px;
129
131
  min-width: 46px;
130
- border-radius: 4px;
131
- height: 12px;
132
- background: var(--on-text-hint);
132
+ height: var(--space-2);
133
+ background: transparent;
133
134
  margin-left: auto;
134
- font-size: 10px;
135
- font-weight: var(--font-weight-extra-bold);
136
- line-height: 12px;
137
- overflow: hidden;
135
+ font-size: var(--font-size-xs);
136
+ font-weight: var(--font-weight-bold);
137
+ line-height: var(--line-height-s);
138
+ overflow: visible;
138
139
  }
139
140
 
140
141
  .tree-header-bar-item {
141
142
  display: flex;
142
- min-width: 16px;
143
+ align-items: center;
143
144
  justify-content: center;
145
+ box-sizing: border-box;
146
+ min-width: var(--space-2);
147
+ height: var(--space-2);
148
+ border-radius: var(--radius-pill);
144
149
  text-align: center;
145
- padding: 0 6px;
150
+ padding: 0 var(--space-0-75);
146
151
  flex-grow: 1;
147
152
 
148
153
  &.passed {
149
- background-color: var(--bg-support-castor);
150
- color: var(--constant-on-text-primary);
154
+ background-color: var(--color-status-passed-bg);
155
+ color: var(--color-status-passed-on-bg);
151
156
  }
152
157
 
153
158
  &.failed {
154
- background-color: var(--bg-support-capella);
155
- color: var(--constant-on-text-primary);
159
+ background-color: var(--color-status-failed-bg);
160
+ color: var(--color-status-failed-on-bg);
156
161
  }
157
162
 
158
163
  &.broken {
159
- background-color: var(--bg-support-atlas);
160
- color: var(--constant-on-text-primary);
164
+ background-color: var(--color-status-broken-bg);
165
+ color: var(--color-status-broken-on-bg);
161
166
  }
162
167
 
163
168
  &.skipped {
164
- background-color: var(--bg-support-rau);
165
- color: var(--constant-on-text-primary);
169
+ background-color: var(--color-status-skipped-bg);
170
+ color: var(--color-status-skipped-on-bg);
166
171
  }
167
172
 
168
173
  &.unknown {
169
- background-color: var(--bg-support-skat);
170
- color: var(--constant-on-text-primary);
174
+ background-color: var(--color-status-unknown-bg);
175
+ color: var(--color-status-unknown-on-bg);
171
176
  }
172
177
  }
173
178
 
@@ -177,7 +182,7 @@
177
182
  }
178
183
 
179
184
  .tree-empty-results-title {
180
- color: var(--on-text-secondary);
185
+ color: var(--color-text-secondary);
181
186
  }
182
187
 
183
188
  .tree-empty-results-clear-button {
@@ -186,7 +191,7 @@
186
191
 
187
192
  .order {
188
193
  user-select: none;
189
- color: var(--on-text-hint);
194
+ color: var(--color-text-muted);
190
195
  min-width: 16px;
191
196
  text-align: center;
192
197
  box-sizing: content-box;
@@ -13,7 +13,7 @@
13
13
  position: relative;
14
14
 
15
15
  &:not(:first-child) {
16
- border-top: 1px solid var(--on-border-muted);
16
+ border-top: 1px solid var(--color-border-subtle);
17
17
  }
18
18
  }
19
19
 
@@ -30,7 +30,7 @@
30
30
  padding: 4px 8px 4px 6px;
31
31
 
32
32
  &:hover {
33
- background: var(--bg-control-flat-medium);
33
+ background: var(--color-control-bg-ghost-hover);
34
34
  }
35
35
  }
36
36
 
@@ -64,15 +64,15 @@
64
64
  position: relative;
65
65
 
66
66
  &:hover {
67
- background: var(--bg-control-flat-medium);
67
+ background: var(--color-control-bg-ghost-hover);
68
68
  }
69
69
 
70
70
  &:not(:first-child) {
71
- border-top: 1px solid var(--on-border-muted);
71
+ border-top: 1px solid var(--color-border-subtle);
72
72
  }
73
73
  }
74
74
  .tree-item-marked {
75
- background: var(--bg-base-secondary);
75
+ background: var(--color-bg-secondary);
76
76
  }
77
77
 
78
78
  .item-title {
@@ -82,7 +82,7 @@
82
82
  .item-time {
83
83
  flex: none;
84
84
  margin-left: auto;
85
- color: var(--on-text-hint);
85
+ color: var(--color-text-muted);
86
86
  }
87
87
 
88
88
  .test-count {
@@ -94,7 +94,7 @@
94
94
  display: block;
95
95
  padding-left: 24px;
96
96
  margin-bottom: 12px;
97
- border-top: 1px solid var(--on-border-muted);
97
+ border-top: 1px solid var(--color-border-subtle);
98
98
  }
99
99
 
100
100
  .tree-item-icon {
@@ -103,71 +103,76 @@
103
103
  }
104
104
 
105
105
  .status-passed {
106
- color: var(--bg-support-castor);
106
+ color: var(--color-status-passed-bg);
107
107
  }
108
108
 
109
109
  .status-failed {
110
- color: var(--bg-support-capella);
110
+ color: var(--color-status-failed-bg);
111
111
  }
112
112
 
113
113
  .status-broken {
114
- color: var(--bg-support-atlas);
114
+ color: var(--color-status-broken-bg);
115
115
  }
116
116
 
117
117
  .status-skipped {
118
- color: var(--bg-support-rau);
118
+ color: var(--color-status-skipped-bg);
119
119
  }
120
120
 
121
121
  .status-unknown {
122
- color: var(--bg-support-skat);
122
+ color: var(--color-status-unknown-bg);
123
123
  }
124
124
 
125
125
  .tree-header-bar {
126
126
  display: inline-flex;
127
+ align-items: center;
128
+ gap: var(--space-0-25);
127
129
  font-family: var(--font-family);
128
130
  max-width: 140px;
129
131
  min-width: 46px;
130
- border-radius: 4px;
131
- height: 12px;
132
- background: var(--on-text-hint);
132
+ height: var(--space-2);
133
+ background: transparent;
133
134
  margin-left: auto;
134
- font-size: 10px;
135
- font-weight: var(--font-weight-extra-bold);
136
- line-height: 12px;
137
- overflow: hidden;
135
+ font-size: var(--font-size-xs);
136
+ font-weight: var(--font-weight-bold);
137
+ line-height: var(--line-height-s);
138
+ overflow: visible;
138
139
  }
139
140
 
140
141
  .tree-header-bar-item {
141
142
  display: flex;
142
- min-width: 16px;
143
+ align-items: center;
143
144
  justify-content: center;
145
+ box-sizing: border-box;
146
+ min-width: var(--space-2);
147
+ height: var(--space-2);
148
+ border-radius: var(--radius-pill);
144
149
  text-align: center;
145
- padding: 0 6px;
150
+ padding: 0 var(--space-0-75);
146
151
  flex-grow: 1;
147
152
 
148
153
  &.passed {
149
- background-color: var(--bg-support-castor);
150
- color: var(--constant-on-text-primary);
154
+ background-color: var(--color-status-passed-bg);
155
+ color: var(--color-status-passed-on-bg);
151
156
  }
152
157
 
153
158
  &.failed {
154
- background-color: var(--bg-support-capella);
155
- color: var(--constant-on-text-primary);
159
+ background-color: var(--color-status-failed-bg);
160
+ color: var(--color-status-failed-on-bg);
156
161
  }
157
162
 
158
163
  &.broken {
159
- background-color: var(--bg-support-atlas);
160
- color: var(--constant-on-text-primary);
164
+ background-color: var(--color-status-broken-bg);
165
+ color: var(--color-status-broken-on-bg);
161
166
  }
162
167
 
163
168
  &.skipped {
164
- background-color: var(--bg-support-rau);
165
- color: var(--constant-on-text-primary);
169
+ background-color: var(--color-status-skipped-bg);
170
+ color: var(--color-status-skipped-on-bg);
166
171
  }
167
172
 
168
173
  &.unknown {
169
- background-color: var(--bg-support-skat);
170
- color: var(--constant-on-text-primary);
174
+ background-color: var(--color-status-unknown-bg);
175
+ color: var(--color-status-unknown-on-bg);
171
176
  }
172
177
  }
173
178
 
@@ -177,7 +182,7 @@
177
182
  }
178
183
 
179
184
  .tree-empty-results-title {
180
- color: var(--on-text-secondary);
185
+ color: var(--color-text-secondary);
181
186
  }
182
187
 
183
188
  .tree-empty-results-clear-button {
@@ -186,7 +191,7 @@
186
191
 
187
192
  .order {
188
193
  user-select: none;
189
- color: var(--on-text-hint);
194
+ color: var(--color-text-muted);
190
195
  min-width: 16px;
191
196
  text-align: center;
192
197
  box-sizing: content-box;
@@ -46,7 +46,7 @@
46
46
  /* This is a hack because button do not have this state */
47
47
  .filtersBtnWithFilters > button::after {
48
48
  content: "";
49
- background-color: var(--bg-support-aldebaran);
49
+ background-color: var(--color-intent-primary-bg);
50
50
  width: 6px;
51
51
  height: 6px;
52
52
  border-radius: 100px;
@@ -101,6 +101,8 @@ const Modal: FunctionalComponent<ModalProps> = ({ testResult }) => {
101
101
 
102
102
  const isImageAttachment = link?.contentType?.startsWith("image");
103
103
  const isHtmlAttachment = link?.contentType === "text/html";
104
+ const isMarkdownAttachment = link?.contentType === "text/markdown";
105
+ const isPreviewToggleAttachment = isHtmlAttachment || isMarkdownAttachment;
104
106
  const downloadData = async (e: Event) => {
105
107
  e.stopPropagation();
106
108
  const { id, ext, contentType } = link || {};
@@ -132,7 +134,7 @@ const Modal: FunctionalComponent<ModalProps> = ({ testResult }) => {
132
134
  text={"Open in new tab"}
133
135
  />
134
136
  )}
135
- {isHtmlAttachment && (
137
+ {isPreviewToggleAttachment && (
136
138
  <TooltipWrapper tooltipText={"Preview attachment"}>
137
139
  <IconButton
138
140
  style={"outline"}
@@ -97,7 +97,7 @@
97
97
  width: 100%;
98
98
  position: absolute;
99
99
  bottom: 0;
100
- color: var(--gray-neutral-0);
100
+ color: var(--color-text-inverse);
101
101
  }
102
102
 
103
103
  .modal-thumb {
@@ -106,7 +106,7 @@
106
106
  width: 64px;
107
107
  height: 64px;
108
108
  border-radius: 12px;
109
- background: var(--constant-bg-base-primary-night);
109
+ background: var(--color-bg-inverse-primary);
110
110
  overflow: hidden;
111
111
  border: 1px solid transparent;
112
112
  cursor: pointer;
@@ -13,7 +13,7 @@
13
13
  position: relative;
14
14
 
15
15
  &:not(:first-child) {
16
- border-top: 1px solid var(--on-border-muted);
16
+ border-top: 1px solid var(--color-border-subtle);
17
17
  }
18
18
  }
19
19
 
@@ -30,7 +30,7 @@
30
30
  padding: 4px 8px 4px 6px;
31
31
 
32
32
  &:hover {
33
- background: var(--bg-control-flat-medium);
33
+ background: var(--color-control-bg-ghost-hover);
34
34
  }
35
35
  }
36
36
 
@@ -64,15 +64,15 @@
64
64
  position: relative;
65
65
 
66
66
  &:hover {
67
- background: var(--bg-control-flat-medium);
67
+ background: var(--color-control-bg-ghost-hover);
68
68
  }
69
69
 
70
70
  &:not(:first-child) {
71
- border-top: 1px solid var(--on-border-muted);
71
+ border-top: 1px solid var(--color-border-subtle);
72
72
  }
73
73
  }
74
74
  .tree-item-marked {
75
- background: var(--bg-base-secondary);
75
+ background: var(--color-bg-secondary);
76
76
  }
77
77
 
78
78
  .item-title {
@@ -82,7 +82,7 @@
82
82
  .item-time {
83
83
  flex: none;
84
84
  margin-left: auto;
85
- color: var(--on-text-hint);
85
+ color: var(--color-text-muted);
86
86
  }
87
87
 
88
88
  .test-count {
@@ -94,7 +94,7 @@
94
94
  display: block;
95
95
  padding-left: 24px;
96
96
  margin-bottom: 12px;
97
- border-top: 1px solid var(--on-border-muted);
97
+ border-top: 1px solid var(--color-border-subtle);
98
98
  }
99
99
 
100
100
  .tree-item-icon {
@@ -103,71 +103,76 @@
103
103
  }
104
104
 
105
105
  .status-passed {
106
- color: var(--bg-support-castor);
106
+ color: var(--color-status-passed-bg);
107
107
  }
108
108
 
109
109
  .status-failed {
110
- color: var(--bg-support-capella);
110
+ color: var(--color-status-failed-bg);
111
111
  }
112
112
 
113
113
  .status-broken {
114
- color: var(--bg-support-atlas);
114
+ color: var(--color-status-broken-bg);
115
115
  }
116
116
 
117
117
  .status-skipped {
118
- color: var(--bg-support-rau);
118
+ color: var(--color-status-skipped-bg);
119
119
  }
120
120
 
121
121
  .status-unknown {
122
- color: var(--bg-support-skat);
122
+ color: var(--color-status-unknown-bg);
123
123
  }
124
124
 
125
125
  .tree-header-bar {
126
126
  display: inline-flex;
127
+ align-items: center;
128
+ gap: var(--space-0-25);
127
129
  font-family: var(--font-family);
128
130
  max-width: 140px;
129
131
  min-width: 46px;
130
- border-radius: 4px;
131
- height: 12px;
132
- background: var(--on-text-hint);
132
+ height: var(--space-2);
133
+ background: transparent;
133
134
  margin-left: auto;
134
- font-size: 10px;
135
- font-weight: var(--font-weight-extra-bold);
136
- line-height: 12px;
137
- overflow: hidden;
135
+ font-size: var(--font-size-xs);
136
+ font-weight: var(--font-weight-bold);
137
+ line-height: var(--line-height-s);
138
+ overflow: visible;
138
139
  }
139
140
 
140
141
  .tree-header-bar-item {
141
142
  display: flex;
142
- min-width: 16px;
143
+ align-items: center;
143
144
  justify-content: center;
145
+ box-sizing: border-box;
146
+ min-width: var(--space-2);
147
+ height: var(--space-2);
148
+ border-radius: var(--radius-pill);
144
149
  text-align: center;
145
- padding: 0 6px;
150
+ padding: 0 var(--space-0-75);
146
151
  flex-grow: 1;
147
152
 
148
153
  &.passed {
149
- background-color: var(--bg-support-castor);
150
- color: var(--constant-on-text-primary);
154
+ background-color: var(--color-status-passed-bg);
155
+ color: var(--color-status-passed-on-bg);
151
156
  }
152
157
 
153
158
  &.failed {
154
- background-color: var(--bg-support-capella);
155
- color: var(--constant-on-text-primary);
159
+ background-color: var(--color-status-failed-bg);
160
+ color: var(--color-status-failed-on-bg);
156
161
  }
157
162
 
158
163
  &.broken {
159
- background-color: var(--bg-support-atlas);
160
- color: var(--constant-on-text-primary);
164
+ background-color: var(--color-status-broken-bg);
165
+ color: var(--color-status-broken-on-bg);
161
166
  }
162
167
 
163
168
  &.skipped {
164
- background-color: var(--bg-support-rau);
165
- color: var(--constant-on-text-primary);
169
+ background-color: var(--color-status-skipped-bg);
170
+ color: var(--color-status-skipped-on-bg);
166
171
  }
167
172
 
168
173
  &.unknown {
169
- background-color: var(--bg-support-skat);
170
- color: var(--constant-on-text-primary);
174
+ background-color: var(--color-status-unknown-bg);
175
+ color: var(--color-status-unknown-on-bg);
171
176
  }
172
177
  }
173
178
 
@@ -177,7 +182,7 @@
177
182
  }
178
183
 
179
184
  .tree-empty-results-title {
180
- color: var(--on-text-secondary);
185
+ color: var(--color-text-secondary);
181
186
  }
182
187
 
183
188
  .tree-empty-results-clear-button {
@@ -186,7 +191,7 @@
186
191
 
187
192
  .order {
188
193
  user-select: none;
189
- color: var(--on-text-hint);
194
+ color: var(--color-text-muted);
190
195
  min-width: 16px;
191
196
  text-align: center;
192
197
  box-sizing: content-box;