@rancher/shell 3.0.6 → 3.0.8-rc.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 (146) hide show
  1. package/assets/images/pl/dark/rancher-logo.svg +131 -44
  2. package/assets/images/pl/rancher-logo.svg +120 -44
  3. package/assets/images/vendor/githubapp.svg +13 -0
  4. package/assets/styles/base/_basic.scss +2 -2
  5. package/assets/styles/base/_color-classic.scss +51 -0
  6. package/assets/styles/base/_color.scss +3 -3
  7. package/assets/styles/base/_mixins.scss +1 -1
  8. package/assets/styles/base/_typography.scss +1 -1
  9. package/assets/styles/base/_variables-classic.scss +47 -0
  10. package/assets/styles/global/_button.scss +49 -17
  11. package/assets/styles/global/_form.scss +1 -1
  12. package/assets/styles/themes/_dark.scss +4 -0
  13. package/assets/styles/themes/_light.scss +3 -69
  14. package/assets/styles/themes/_modern.scss +194 -50
  15. package/assets/styles/vendor/vue-select.scss +1 -2
  16. package/assets/translations/en-us.yaml +124 -32
  17. package/assets/translations/zh-hans.yaml +0 -4
  18. package/components/ClusterIconMenu.vue +1 -1
  19. package/components/ClusterProviderIcon.vue +1 -1
  20. package/components/CodeMirror.vue +1 -1
  21. package/components/IconOrSvg.vue +40 -29
  22. package/components/Inactivity.vue +222 -106
  23. package/components/InstallHelmCharts.vue +2 -2
  24. package/components/ResourceDetail/index.vue +2 -1
  25. package/components/SortableTable/index.vue +17 -2
  26. package/components/SortableTable/sorting.js +3 -1
  27. package/components/Tabbed/index.vue +5 -5
  28. package/components/fleet/FleetConfigMapSelector.vue +117 -0
  29. package/components/fleet/FleetSecretSelector.vue +127 -0
  30. package/components/fleet/__tests__/FleetConfigMapSelector.test.ts +125 -0
  31. package/components/fleet/__tests__/FleetSecretSelector.test.ts +82 -0
  32. package/components/form/FileImageSelector.vue +13 -4
  33. package/components/form/FileSelector.vue +11 -2
  34. package/components/form/ResourceLabeledSelect.vue +1 -0
  35. package/components/form/ResourceTabs/index.vue +37 -18
  36. package/components/form/SecretSelector.vue +6 -2
  37. package/components/form/__tests__/ResourceLabeledSelect.test.ts +90 -0
  38. package/components/nav/Group.vue +29 -9
  39. package/components/nav/Header.vue +7 -8
  40. package/components/nav/NamespaceFilter.vue +1 -1
  41. package/components/nav/TopLevelMenu.helper.ts +47 -20
  42. package/components/nav/TopLevelMenu.vue +44 -14
  43. package/components/nav/Type.vue +0 -5
  44. package/components/nav/__tests__/TopLevelMenu.test.ts +2 -0
  45. package/config/pagination-table-headers.js +10 -2
  46. package/config/product/auth.js +1 -0
  47. package/config/product/explorer.js +4 -3
  48. package/config/query-params.js +1 -0
  49. package/config/settings.ts +8 -1
  50. package/config/table-headers.js +9 -0
  51. package/config/types.js +2 -0
  52. package/core/plugin.ts +18 -6
  53. package/core/types.ts +8 -0
  54. package/detail/provisioning.cattle.io.cluster.vue +1 -0
  55. package/dialog/AddonConfigConfirmationDialog.vue +45 -1
  56. package/dialog/InstallExtensionDialog.vue +71 -45
  57. package/dialog/UninstallExtensionDialog.vue +2 -1
  58. package/dialog/__tests__/InstallExtensionDialog.test.ts +111 -0
  59. package/edit/__tests__/fleet.cattle.io.helmop.test.ts +52 -11
  60. package/edit/auth/AuthProviderWarningBanners.vue +14 -1
  61. package/edit/auth/github-app-steps.vue +97 -0
  62. package/edit/auth/github-steps.vue +75 -0
  63. package/edit/auth/github.vue +94 -65
  64. package/edit/auth/oidc.vue +86 -16
  65. package/edit/fleet.cattle.io.helmop.vue +51 -2
  66. package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +15 -5
  67. package/edit/provisioning.cattle.io.cluster/__tests__/rke2.test.ts +11 -9
  68. package/edit/provisioning.cattle.io.cluster/rke2.vue +56 -9
  69. package/edit/provisioning.cattle.io.cluster/tabs/AddOnConfig.vue +28 -2
  70. package/list/projectsecret.vue +1 -1
  71. package/machine-config/azure.vue +1 -1
  72. package/mixins/__tests__/chart.test.ts +1 -1
  73. package/mixins/chart.js +2 -2
  74. package/models/__tests__/chart.test.ts +17 -9
  75. package/models/__tests__/compliance.cattle.io.clusterscanprofile.spec.js +30 -0
  76. package/models/catalog.cattle.io.app.js +1 -1
  77. package/models/chart.js +3 -1
  78. package/models/compliance.cattle.io.clusterscanprofile.js +1 -1
  79. package/models/event.js +7 -0
  80. package/models/management.cattle.io.authconfig.js +1 -0
  81. package/models/provisioning.cattle.io.cluster.js +9 -0
  82. package/package.json +2 -2
  83. package/pages/auth/login.vue +5 -2
  84. package/pages/auth/verify.vue +1 -1
  85. package/pages/c/_cluster/apps/charts/AppChartCardSubHeader.vue +3 -2
  86. package/pages/c/_cluster/apps/charts/chart.vue +2 -2
  87. package/pages/c/_cluster/explorer/EventsTable.vue +92 -9
  88. package/pages/c/_cluster/explorer/tools/index.vue +3 -3
  89. package/pages/c/_cluster/settings/performance.vue +13 -26
  90. package/pages/c/_cluster/uiplugins/PluginInfoPanel.vue +159 -62
  91. package/pages/c/_cluster/uiplugins/__tests__/PluginInfoPanel.test.ts +102 -0
  92. package/pages/c/_cluster/uiplugins/__tests__/{index.spec.ts → index.test.ts} +121 -55
  93. package/pages/c/_cluster/uiplugins/index.vue +110 -94
  94. package/pages/home.vue +313 -12
  95. package/plugins/__tests__/subscribe.events.test.ts +194 -0
  96. package/plugins/axios.js +2 -1
  97. package/plugins/dashboard-store/actions.js +4 -1
  98. package/plugins/dashboard-store/getters.js +1 -1
  99. package/plugins/dashboard-store/resource-class.js +20 -5
  100. package/plugins/steve/__tests__/subscribe.spec.ts +27 -24
  101. package/plugins/steve/index.js +18 -10
  102. package/plugins/steve/mutations.js +2 -2
  103. package/plugins/steve/resourceWatcher.js +2 -2
  104. package/plugins/steve/steve-pagination-utils.ts +12 -9
  105. package/plugins/steve/subscribe.js +113 -85
  106. package/plugins/subscribe-events.ts +211 -0
  107. package/rancher-components/BadgeState/BadgeState.vue +8 -6
  108. package/rancher-components/Banner/Banner.vue +2 -1
  109. package/rancher-components/Form/Checkbox/Checkbox.vue +3 -3
  110. package/rancher-components/Form/Radio/RadioButton.vue +3 -3
  111. package/scripts/extension/publish +1 -1
  112. package/store/auth.js +8 -3
  113. package/store/aws.js +8 -6
  114. package/store/features.js +1 -0
  115. package/store/index.js +21 -25
  116. package/store/prefs.js +6 -0
  117. package/types/extension-manager.ts +8 -1
  118. package/types/kube/kube-api.ts +2 -1
  119. package/types/rancher/index.d.ts +1 -0
  120. package/types/resources/settings.d.ts +52 -23
  121. package/types/shell/index.d.ts +412 -336
  122. package/types/store/subscribe-events.types.ts +70 -0
  123. package/types/store/subscribe.types.ts +6 -22
  124. package/utils/__tests__/cluster.test.ts +379 -1
  125. package/utils/cluster.js +157 -3
  126. package/utils/dynamic-content/__tests__/config.test.ts +187 -0
  127. package/utils/dynamic-content/__tests__/index.test.ts +390 -0
  128. package/utils/dynamic-content/__tests__/info.test.ts +263 -0
  129. package/utils/dynamic-content/__tests__/new-release.test.ts +216 -0
  130. package/utils/dynamic-content/__tests__/support-notice.test.ts +262 -0
  131. package/utils/dynamic-content/__tests__/util.test.ts +235 -0
  132. package/utils/dynamic-content/config.ts +55 -0
  133. package/utils/dynamic-content/index.ts +273 -0
  134. package/utils/dynamic-content/info.ts +219 -0
  135. package/utils/dynamic-content/new-release.ts +126 -0
  136. package/utils/dynamic-content/support-notice.ts +169 -0
  137. package/utils/dynamic-content/types.d.ts +101 -0
  138. package/utils/dynamic-content/util.ts +122 -0
  139. package/utils/inactivity.ts +104 -0
  140. package/utils/pagination-utils.ts +105 -31
  141. package/utils/pagination-wrapper.ts +6 -8
  142. package/utils/release-notes.ts +1 -1
  143. package/utils/sort.js +5 -0
  144. package/utils/unit-tests/pagination-utils.spec.ts +283 -0
  145. package/utils/validators/formRules/__tests__/index.test.ts +7 -0
  146. package/utils/validators/formRules/index.ts +2 -2
@@ -64,7 +64,7 @@ button,
64
64
  }
65
65
 
66
66
  //btn roles
67
- .role-primary {
67
+ BUTTON.role-primary, A.role-primary {
68
68
  background: var(--primary);
69
69
  color: var(--primary-text);
70
70
 
@@ -82,21 +82,28 @@ button,
82
82
  @include focus-outline;
83
83
  outline-offset: 2px;
84
84
  }
85
+
86
+ &.btn:disabled {
87
+ background: var(--primary);
88
+ color: var(--primary-text);
89
+ opacity: 0.5;
90
+ }
85
91
  }
86
92
 
87
- .role-secondary {
88
- background: transparent;
89
- color: var(--primary) !important;
90
- border: solid 1px var(--primary);
93
+ .btn.role-secondary {
94
+ background: var(--secondary, transparent);
95
+ color: var(--on-secondary, var(--primary));
96
+ border: solid 1px var(--secondary-border, var(--primary));
91
97
  line-height: $btn-height - 2px;
92
98
 
93
99
  &:hover, &._hover {
94
- color: var(--lightest) !important;
100
+ background: var(--secondary-hover, transparent);
101
+ color: var(--on-secondary, var(--lightest));
95
102
  }
96
103
 
97
104
  &:focus, &.focused {
98
- background-color: var(--primary-hover-bg);
99
- color: var(--primary-text) !important;
105
+ background-color: var(--secondary-hover, var(--primary-hover-bg));
106
+ color: var(--on-secondary, var(--primary-text));
100
107
  }
101
108
 
102
109
  &.btn-sm {
@@ -114,13 +121,18 @@ button,
114
121
  }
115
122
 
116
123
  .role-tertiary {
117
- background: var(--accent-btn);
118
- border: solid 1px var(--primary);
119
- color: var(--primary);
124
+ background: var(--tertiary, var(--accent-btn));
125
+ color: var(--on-tertiary, var(--primary));
126
+ border: solid 1px var(--tertiary-border, var(--primary));
127
+
128
+ &:hover {
129
+ background: var(--tertiary-hover, var(--accent-btn));
130
+ color: var(--on-tertiary-hover, var(--lightest));
131
+ }
120
132
 
121
133
  &:focus, &.focused {
122
- background-color: var(--primary-hover-bg);
123
- color: var(--primary-text);
134
+ background-color: var(--tertiary-hover, var(--primary-hover-bg));
135
+ color: var(--on-tertiary, var(--primary-text));
124
136
  }
125
137
 
126
138
  &.btn:not(.btn-sm) {
@@ -165,15 +177,15 @@ button,
165
177
  }
166
178
 
167
179
  //disabled
168
- .btn-disabled,
180
+ .btn.btn-disabled,
169
181
  .btn.disabled,
170
182
  .btn[disabled],
171
183
  fieldset[disabled] .btn {
172
184
  cursor: not-allowed;
173
- color: var(--disabled-text) !important;
185
+ color: var(--disabled-text);
174
186
  &:not(.role-link){
175
- background-color: var(--disabled-bg) !important;
176
- border-color: var(--disabled-bg) !important;
187
+ background-color: var(--disabled-bg);
188
+ border-color: var(--disabled-bg);
177
189
  }
178
190
  }
179
191
 
@@ -213,6 +225,26 @@ fieldset[disabled] .btn {
213
225
  border-top-right-radius: var(--border-radius);
214
226
  border-bottom-right-radius: var(--border-radius);
215
227
  }
228
+
229
+ &.bg-primary {
230
+ background: var(--toggle-on-bg, var(--primary));
231
+ color: var(--toggle-on-color, var(--primary-hover-text));
232
+
233
+ &:hover {
234
+ background: var(--active-hover);
235
+ color: var(--toggle-on-color, var(--primary-hover-text));
236
+ }
237
+ }
238
+
239
+ &.bg-disabled {
240
+ background: var(--toggle-off-bg, var(--disabled-bg));
241
+ color: var(--toggle-off-color, var(--body-text));
242
+
243
+ &:hover {
244
+ background: var(--toggle-off-hover, var(--disabled-bg));
245
+ color: var(--toggle-off-color, var(--disabled-hover-text));
246
+ }
247
+ }
216
248
  }
217
249
 
218
250
  .btn-disabled,
@@ -43,7 +43,7 @@ TEXTAREA,
43
43
 
44
44
  &.focused {
45
45
  LABEL {
46
- color: var(--outline);
46
+ color: var(--on-secondary);
47
47
  }
48
48
  }
49
49
 
@@ -1,3 +1,6 @@
1
+ @import "~shell/assets/styles/base/_color-classic.scss";
2
+ @import "~shell/assets/styles/base/_variables-classic.scss";
3
+
1
4
  .classic {
2
5
  &.theme-dark {
3
6
  // Local variables for reused colors
@@ -75,6 +78,7 @@
75
78
  --nav-active : #333;
76
79
  --nav-border : #{$medium};
77
80
  --nav-hover : var(--primary);
81
+ --nav-hover-top-level : var(--primary-hover-bg);
78
82
  --nav-expander-hover : var(--primary-banner-bg);
79
83
  --nav-icon-badge-bg : #{$dark};
80
84
 
@@ -1,62 +1,8 @@
1
- // Local variables for reused colors
2
- //light main text
3
- $darkest : #141419;
4
-
5
- //light secondary
6
- $darker : #6C6C76;
7
-
8
- //light disabled
9
- $dark : #B6B6C2;
10
-
11
- //light border and buttons
12
- $medium : #DCDEE7;
13
-
14
- //light inputs
15
- $light : #EEEFF4;
16
-
17
- //light sidebar and box
18
- $lighter : #F4F5FA;
19
-
20
- //light body bg
21
- $lightest : #FFFFFF;
22
-
23
- //color for items that are not enabled
24
- $disabled : $medium;
25
-
26
- $primary : #3D98D3;
27
- $secondary : $darker;
28
- $link : #3D98D3;
29
-
30
- // Status colors
31
- $success : #5D995D;
32
- $warning : #DAC342;
33
- $error : #F64747;
34
- $info : #3D98D3;
35
-
36
- $contrasted-dark: $darkest !default;
37
- $contrasted-light: $lightest !default;
38
-
39
- // Text selection color for terminal window (we don't want this to change with the primary color)
40
- // The terminal alway uses a light background, so okay to use a fixed color
41
- $selected: rgba(#3D98D3, .5);
42
-
43
- $drag-over: #DCDEE7;
1
+ @import "~shell/assets/styles/base/_color-classic.scss";
2
+ @import "~shell/assets/styles/base/_variables-classic.scss";
44
3
 
45
4
  .classic {
46
5
  &.theme-light {
47
-
48
- --primary : #{$primary};
49
- --primary-text : #{contrast-color($primary)};
50
- --primary-hover-bg : #{darken($primary, 10%)};
51
- --primary-hover-text : #{saturate($lightest, 20%)};
52
- --primary-active-bg : #{darken($primary, 25%)};
53
- --primary-active-text : #{contrast-color(darken($primary, 25%))};
54
- --primary-border : #{$primary};
55
- --primary-banner-bg : #{rgba($primary, 0.15)};
56
- --primary-light-bg : #{rgba($primary, 0.05)};
57
- --primary-keyboard-focus : hsl(from var(--primary) h s calc(l - 10));
58
-
59
-
60
6
  .text-primary {
61
7
  color: var(--primary) !important;
62
8
  }
@@ -77,19 +23,6 @@ $drag-over: #DCDEE7;
77
23
  }
78
24
  }
79
25
 
80
- --link : #{$link};
81
- --link-text : #{contrast-color($link)};
82
- --link-text-secondary : #{$darker};
83
- --link-hover-bg : #{darken($link, 10%)};
84
- --link-hover-text : #{saturate($lightest, 20%)};
85
- --link-active-bg : #{darken($link, 25%)};
86
- --link-active-text : #{contrast-color(darken($link, 25%))};
87
- --link-border : #{$link};
88
- --link-banner-bg : #{rgba($link, 0.15)};
89
- --link-light-bg : #{rgba($link, 0.05)};
90
-
91
-
92
-
93
26
  .text-link {
94
27
  color: var(--link) !important;
95
28
 
@@ -377,6 +310,7 @@ $drag-over: #DCDEE7;
377
310
  --nav-bg : #{$lightest};
378
311
  --nav-active : #{$light};
379
312
  --nav-hover : #{$medium};
313
+ --nav-hover-top-level : var(--primary-hover-bg);
380
314
  --nav-expander-hover : #{darken($medium, 10%)};
381
315
  --nav-border : #{$medium};
382
316
  --nav-border-size : 1px;
@@ -1,3 +1,16 @@
1
+ $grey-100 : #000000;
2
+ $grey-90 : #141619;
3
+ $grey-80 : #25282D;
4
+ $grey-70 : #31353F;
5
+ $grey-60 : #4A4D52;
6
+ $grey-50 : #6C6F76;
7
+ $grey-40 : #92959B;
8
+ $grey-30 : #B6BAC2;
9
+ $grey-20 : #DCDFE7;
10
+ $grey-10 : #EEF0F4;
11
+ $grey-5 : #F5F7FA;
12
+ $grey-0 : #FFFFFF;
13
+
1
14
  // Local variables for reused colors
2
15
  //light main text
3
16
  $darkest : #141419;
@@ -23,15 +36,27 @@ $lightest : #FFFFFF;
23
36
  //color for items that are not enabled
24
37
  $disabled : $medium;
25
38
 
26
- $primary : #3D98D3;
27
- $secondary : $darker;
28
- $link : #3D98D3;
39
+ $primary : #2F68DF;
40
+ $primary-150 : #1A2A4D;
41
+ $primary-140 : #304778; // Active light
42
+ $primary-120 : #3459A8;
43
+ $primary-110 : #496192;
44
+ $primary-80 : #4871C7;
45
+ $primary-75 : #454F68; // Category active dark
46
+ $primary-60 : #75A1FF;
47
+ $primary-55 : #81AEFC;
48
+ $primary-50 : #A7BFF1; // Active dark
49
+ $primary-20 : #EDF2FC;
50
+ $primary-15 : #EEF1F6; // Category active light
51
+
52
+ $secondary : $grey-50;
53
+ $link : $primary-80;
29
54
 
30
55
  // Status colors
31
- $success : #5D995D;
32
- $warning : #DAC342;
33
- $error : #F64747;
34
- $info : #3D98D3;
56
+ $success : #007032;
57
+ $warning : #FFE47A;
58
+ $error : #B13333;
59
+ $info : #1F67DB;
35
60
 
36
61
  $contrasted-dark: $darkest !default;
37
62
  $contrasted-light: $lightest !default;
@@ -55,6 +80,36 @@ BODY, .theme-light {
55
80
  --primary-light-bg : #{rgba($primary, 0.05)};
56
81
  --primary-keyboard-focus : hsl(from var(--primary) h s calc(l - 10));
57
82
 
83
+ --non-primary-hover: #{$primary-20};
84
+
85
+ --secondary : var(--body-bg);
86
+ --secondary-border : #{$primary};
87
+ --on-secondary : #{$primary};
88
+ --secondary-hover : var(--non-primary-hover);
89
+
90
+ --tertiary : transparent;
91
+ --tertiary-header : transparent;
92
+ --tertiary-border : transparent;
93
+ --tertiary-header-hover : var(--non-primary-hover);
94
+ --on-tertiary : var(--link);
95
+ --on-tertiary-header : var(--link);
96
+ --on-tertiary-header-hover : var(--link);
97
+ --on-tertiary-hover : var(--link);
98
+ --tertiary-hover : var(--non-primary-hover);
99
+ --tertiary-hover-app-bar : var(--link);
100
+
101
+ --active : #{$primary-110};
102
+ --active-nav : #{$primary-110};
103
+ --on-active : #{$grey-0};
104
+ --toggle-on-bg : var(--active);
105
+ --toggle-on-color : var(--on-active);
106
+ --toggle-off-bg : #{$grey-5};
107
+ --toggle-off-color : #{$grey-50};
108
+ --toggle-off-hover : #{$grey-10};
109
+
110
+ --active-hover : #{lighten($primary-110, 5%)};
111
+ --category-active : #{$primary-15};
112
+ --category-active-hover : #{$grey-20};
58
113
 
59
114
  .text-primary {
60
115
  color: var(--primary) !important;
@@ -76,7 +131,7 @@ BODY, .theme-light {
76
131
  }
77
132
  }
78
133
 
79
- --link : #{$link};
134
+ --link : #3458a8;
80
135
  --link-text : #{contrast-color($link)};
81
136
  --link-text-secondary : #{$darker};
82
137
  --link-hover-bg : #{darken($link, 10%)};
@@ -156,8 +211,8 @@ BODY, .theme-light {
156
211
  }
157
212
  }
158
213
 
159
- --muted : #{$dark};
160
- --deemphasized : #717179;
214
+ --muted : #6F6F8B;
215
+ --deemphasized : #6F6F8B;
161
216
 
162
217
  .text-muted {
163
218
  color: var(--muted) !important;
@@ -357,6 +412,7 @@ BODY, .theme-light {
357
412
 
358
413
  --body-bg : #{$lightest};
359
414
  --body-text : #{$darkest};
415
+ --body-text-hover : var(--body-text);
360
416
  --scrollbar-thumb : #{$dark};
361
417
  --scrollbar-thumb-dropdown : #{$lighter};
362
418
  --scrollbar-track : transparent;
@@ -372,10 +428,13 @@ BODY, .theme-light {
372
428
  --header-height : 55px;
373
429
  --header-border : #{$medium};
374
430
  --header-border-size : 1px;
431
+
375
432
  --nav-width : 250px;
376
433
  --nav-bg : #{$lightest};
377
434
  --nav-active : #{$light};
378
- --nav-hover : #{$medium};
435
+ --nav-hover : #{$grey-10};
436
+ --nav-active-hover : var(--active-hover);
437
+ --nav-hover-top-level : var(--nav-hover);
379
438
  --nav-expander-hover : #{darken($medium, 10%)};
380
439
  --nav-border : #{$medium};
381
440
  --nav-border-size : 1px;
@@ -412,11 +471,11 @@ BODY, .theme-light {
412
471
  --overlay-bg : rgba(38, 42, 64, 0.35);
413
472
  --shadow : #{rgba($medium, 0.85)};
414
473
 
415
- --checkbox-tick : #{$lightest};
416
- --checkbox-border : #{$medium};
474
+ --checkbox-tick : var(--on-active);
475
+ --checkbox-border : var(--active);
417
476
  --checkbox-tick-disabled : #{darken($disabled, 40%)};
418
477
  --checkbox-disabled-bg : #{$disabled};
419
- --checkbox-ticked-bg : var(--link);
478
+ --checkbox-ticked-bg : var(--active);
420
479
 
421
480
  --drag-over-inner-bg : #{rgba($drag-over, 0.9)};
422
481
  --drag-over-outer-bg : #{rgba($drag-over, 0)};
@@ -462,17 +521,15 @@ BODY, .theme-light {
462
521
  --progress-bg : #{$medium};
463
522
  --progress-divider : #{$medium};
464
523
 
465
- --sortable-table-bg : #{darken($lightest, 5%)};
466
- --sortable-table-row-bg : #{$lightest};
467
- --sortable-table-header-bg : #{$lighter};
524
+ --sortable-table-bg : #{darken($grey-0, 5%)};
525
+ --sortable-table-row-bg : #{$grey-0};
526
+ --sortable-table-header-bg : #{$grey-5};
468
527
  --sortable-table-top-divider : var(--border);
469
- --sortable-table-body-divider : #{$medium};
470
-
471
- --sortable-table-hover-bg : #{$lighter};
472
- //--sortable-table-selected-bg : #{rgba($primary, 0.02)};
473
-
528
+ --sortable-table-hover-bg : #{$grey-5};
474
529
  --sortable-table-selected-bg : var(--primary-light-bg);
530
+ --sortable-table-group-label : #{$lighter};
475
531
  --sortable-table-group-label : #{$secondary};
532
+ --sortable-table-body-divider : #{$medium};
476
533
 
477
534
  --tag-primary : #{$darkest};
478
535
  --tag-bg : #EEEFF5;
@@ -526,9 +583,9 @@ BODY, .theme-light {
526
583
 
527
584
  --resource-gauge-back-circle : 255, 255, 255, 0.15;
528
585
 
529
- --simple-box-bg : #{$lightest};
530
- --simple-box-border : #{$medium};
531
- --simple-box-divider : #{$medium};
586
+ --simple-box-bg : #{$grey-0};
587
+ --simple-box-border : #{$grey-20};
588
+ --simple-box-divider : #{$grey-20};
532
589
  --simple-box-shadow : none;
533
590
 
534
591
  --terminal-bg : var(--body-bg);
@@ -658,13 +715,28 @@ BODY, .theme-light {
658
715
  --rc-inactive-disabled-border: #{$gray001};
659
716
  --rc-disabled-background: #{$gray001};
660
717
  --rc-disabled-text-color: #{$gray004};
718
+
719
+ --warning-badge : #{$warning};
720
+ --on-warning-banner : #{darken($warning, 60%)};
721
+
722
+ --success-badge : #{rgba($success, 0.10)};
723
+ --on-success-banner : #{$success};
724
+
725
+ --info-badge : #{rgba($info, 0.10)};
726
+ --on-info-banner : #{$info};
727
+
728
+ --error-badge : #{$error};
729
+ --on-error-banner : #FFFFFF;
730
+
731
+ --error-banner-text: #{$grey-100};
732
+ --warning-banner-text: #{$grey-100};
661
733
  }
662
734
 
663
735
  BODY, .theme-dark {
664
736
  // Local variables for reused colors
665
737
 
666
738
  //dark sidebar
667
- $darkest: #141419;
739
+ $darkest: #171C22;
668
740
 
669
741
  //dark body
670
742
  $darker: #1b1c21;
@@ -687,6 +759,11 @@ BODY, .theme-dark {
687
759
  // menu cluster description active+hover
688
760
  $desc-light: #EEEFF4;
689
761
 
762
+ $success : #008F40;
763
+ $warning : #EAC431;
764
+ $error : #C63434;
765
+ $info : #1F67DB;
766
+
690
767
  $secondary: $lighter;
691
768
  $disabled: $light;
692
769
 
@@ -695,13 +772,50 @@ BODY, .theme-dark {
695
772
  $contrasted-light: $darkest !default;
696
773
 
697
774
  $drag-over: #DCDEE7;
775
+ $body-bg : #25282F;
698
776
 
699
777
  $slate: #4B4F6B;
700
778
 
779
+ --body-border: #38404B;
780
+ --link : #9BBFFD;
781
+
782
+ --primary-border: var(--link);
783
+
784
+ --non-primary-hover: #162D59;
785
+
786
+ --secondary: var(--body-bg);
787
+ --secondary-border: #{$primary-60};
788
+ --on-secondary: #{$primary-60};
789
+ --secondary-hover: var(--non-primary-hover);
790
+
791
+ --tertiary : transparent;
792
+ --tertiary-header : transparent;
793
+ --tertiary-border : transparent;
794
+ --tertiary-header-hover : var(--non-primary-hover);
795
+ --on-tertiary : var(--link);
796
+ --on-tertiary-header : var(--link);
797
+ --on-tertiary-header-hover : var(--link);
798
+ --on-tertiary-hover : var(--link);
799
+ --tertiary-hover : var(--non-primary-hover);
800
+ --tertiary-hover-app-bar : var(--link);
801
+
802
+ --active : #{$primary-50};
803
+ --active-nav : #{$primary-50};
804
+ --on-active : #{$grey-90};
805
+ --active-hover : #{darken($primary-50, 5%)};
806
+ --category-active : #{$primary-75};
807
+ --category-active-hover : #{$grey-70};
808
+
809
+ --toggle-on-bg : var(--active);
810
+ --toggle-on-color : var(--on-active);
811
+ --toggle-off-bg : #{$grey-70};
812
+ --toggle-off-color : #{$grey-30};
813
+ --toggle-off-hover : #{$grey-90};
814
+
701
815
  --slate: #{$slate};
702
816
 
703
817
  --default : #{$dark};
704
- --default-text : #{$light};
818
+ --default-text : #FFFAFA;
705
819
  --default-hover-bg : #{darken($dark, 10%)};
706
820
  --default-hover-text : #{saturate($lightest, 20%)};
707
821
  --default-active-bg : #{darken($dark, 25%)};
@@ -712,17 +826,18 @@ BODY, .theme-dark {
712
826
  --slider-light-bg : #{rgba($darker, 1)};
713
827
  --slider-light-bg-right : #{rgba($darker, 0)};
714
828
 
715
- --muted : #{$disabled};
716
- --deemphasized : #{$disabled};
829
+ --muted : #8F8F9C;
830
+ --deemphasized : #8F8F9C;
717
831
 
718
- --body-bg : #{$darker};
719
- --body-text : #{$lightest};
832
+ --body-bg : #{$body-bg};
833
+ --body-text : #FFFAFA;
834
+ --body-text-hover : var(--body-text);
720
835
  --scrollbar-thumb : #{$medium};
721
836
  --scrollbar-thumb-dropdown : #{$medium};
722
837
 
723
838
  --side-menu-desc : #{$desc-light};
724
839
 
725
- --header-bg : #{$darker};
840
+ --header-bg : #{$body-bg};
726
841
  --header-border : #{$medium};
727
842
  --header-btn-bg : transparent;
728
843
  --header-btn-text : #{$lightest};
@@ -732,10 +847,14 @@ BODY, .theme-dark {
732
847
  // Header, Footer and Consent banner defaults
733
848
  --banner-text-color : #{$lightest};
734
849
 
735
- --nav-bg : #{$darkest};
850
+ --primary-keyboard-focus : #6889EE;
851
+
852
+ --nav-bg : #{$body-bg};
736
853
  --nav-active : #333;
737
854
  --nav-border : #{$medium};
738
- --nav-hover : var(--primary);
855
+ --nav-hover : #{lighten($body-bg, 10%)};
856
+ --nav-active-hover : var(--active-hover);
857
+ --nav-hover-top-level : var(--nav-hover);
739
858
  --nav-expander-hover : var(--primary-banner-bg);
740
859
  --nav-icon-badge-bg : #{$dark};
741
860
 
@@ -745,7 +864,7 @@ BODY, .theme-dark {
745
864
  --subtle-border : #{$darkest};
746
865
  --border : #{$medium};
747
866
 
748
- --topmenu-bg : #{$darkest};
867
+ --topmenu-bg : #{$body-bg};
749
868
  --topmenu-text : #{$lightest};
750
869
  --topmost-border : #{$medium};
751
870
  --topmost-shadow : #{lighten($darkest, 5%)};
@@ -755,17 +874,17 @@ BODY, .theme-dark {
755
874
  --accent-btn-hover : var(--primary);
756
875
  --accent-btn-hover-text : #{$lightest};
757
876
 
758
- --modal-bg : #{$dark};
877
+ --modal-bg : #{$body-bg};
759
878
  --modal-border : #{$medium};
760
879
  --subtle-overlay-bg : #{rgba($darkest, 0.75)};
761
- --overlay-bg : #{rgba($darkest, 0.75)};
880
+ --overlay-bg : rgba(47, 51, 61, .75);
762
881
  --shadow : #{rgba($darkest, 0.9)};
763
882
 
764
- --checkbox-tick : #{$lightest};
765
- --checkbox-border : #{$medium};
883
+ --checkbox-tick : var(--on-active);
884
+ --checkbox-border : #627084;
766
885
  --checkbox-tick-disabled : #{lighten($disabled, 50%)};
767
886
  --checkbox-disabled-bg : #{$disabled};
768
- --checkbox-ticked-bg : var(--link);
887
+ --checkbox-ticked-bg : var(--active);
769
888
 
770
889
  --drag-over-inner-bg : #{rgba($drag-over, 0.9)};
771
890
  --drag-over-outer-bg : #{rgba($drag-over, 0)};
@@ -788,7 +907,7 @@ BODY, .theme-dark {
788
907
  --input-text : #{$lightest};
789
908
  --input-label : #{$lighter};
790
909
  --input-placeholder : #{$disabled};
791
- --input-border : var(--border);
910
+ --input-border : #627084;
792
911
  --input-bg : var(--body-bg);
793
912
  --input-bg-accent : #{darken($dark, 3%)};
794
913
  --input-hover-bg : var(--box-bg);
@@ -805,13 +924,13 @@ BODY, .theme-dark {
805
924
  --progress-bg : #{$medium};
806
925
  --progress-divider : #{$lightest};
807
926
 
808
- --sortable-table-bg : #{lighten($darkest, 10%)};
809
- --sortable-table-row-bg : #{$darker};;
810
- --sortable-table-header-bg : #{$darkest};
811
- --sortable-table-top-divider : var(--border);
812
- --sortable-table-hover-bg : #{$darkest};
813
- --sortable-table-selected-bg : var(--primary-light-bg);
814
- --sortable-table-group-label : #{$lighter};
927
+ --sortable-table-bg : #171C22;
928
+ --sortable-table-row-bg : var(--body-bg);
929
+ --sortable-table-header-bg : #171C22;
930
+ --sortable-table-top-divider : var(--body-border);
931
+ --sortable-table-hover-bg : #{lighten($body-bg, 5%)};
932
+ --sortable-table-selected-bg : #3f4350;
933
+ --sortable-table-group-label : #{$grey-30};
815
934
 
816
935
  --tag-primary : #{$lightest};
817
936
  --tag-bg : #{$medium};
@@ -865,8 +984,8 @@ BODY, .theme-dark {
865
984
 
866
985
  --resource-gauge-back-circle : 74, 75, 82, 0.5;
867
986
 
868
- --simple-box-bg : #{$darker};
869
- --simple-box-border : #{$medium};
987
+ --simple-box-bg : var(--body-bg);
988
+ --simple-box-border : var(--body-border);
870
989
  --simple-box-divider : #{$medium};
871
990
  --simple-box-shadow : none;
872
991
 
@@ -916,6 +1035,11 @@ BODY, .theme-dark {
916
1035
 
917
1036
  --slate: #{$slate};
918
1037
 
1038
+ --border: var(--body-border);
1039
+ --nav-border: var(--body-border);
1040
+ --topmost-border: var(--body-border);
1041
+ --header-border: var(--body-border);
1042
+
919
1043
  --link-text-secondary: #{$secondary};
920
1044
 
921
1045
  .secondary-text-link {
@@ -932,5 +1056,25 @@ BODY, .theme-dark {
932
1056
 
933
1057
  --rc-disabled-background: #{$gray005};
934
1058
  --rc-disabled-text-color: #{$gray004};
1059
+
1060
+ --error-text : #FFAC99;
1061
+ --warning-text : #{contrast-color($warning)};
1062
+
1063
+ --success-badge : #{rgba($success, 10%)};
1064
+ --on-success-banner : #00B752;
1065
+
1066
+ --warning-badge : #ffcc00;
1067
+ --on-warning-banner : #{darken($warning, 60%)};
1068
+
1069
+ --info-badge : #{rgba($info, 30%)};
1070
+ --on-info-banner : #{lighten($info, 50%)};
1071
+
1072
+ --error-badge : #{$error};
1073
+ --on-error-banner : #FFFFFF;
1074
+
1075
+ --error-banner-bg: #301D1D;
1076
+
1077
+ --warning-banner-text : #{$grey-0};
1078
+ --error-banner-text : #{$grey-0};
935
1079
  }
936
1080
 
@@ -39,7 +39,7 @@
39
39
  max-height: 350px;
40
40
  min-width: 160px;
41
41
  overflow-y: auto;
42
- border: 1px solid var(--outline);
42
+ border: 1px solid var(--primary-border);
43
43
  border-radius: var(--border-radius);
44
44
  border-top-left-radius: 0;
45
45
  border-top-right-radius: 0;
@@ -157,7 +157,6 @@
157
157
  font-family: 'icons';
158
158
  height: 32px;
159
159
  padding-top: 8px;
160
- color: var(--secondary);
161
160
  margin-right: 8px;
162
161
  }
163
162
  }