@c8y/style 1024.10.8 → 1024.14.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 (38) hide show
  1. package/README.md +30 -259
  2. package/package.json +2 -2
  3. package/styles/core/overlays/_dropdowns.scss +3 -3
  4. package/variables/dashboard-themes/_branded-dashboard.scss +290 -296
  5. package/helper-scripts/README-variable-imports.md +0 -155
  6. package/helper-scripts/convert-scss-to-less.sh +0 -527
  7. package/helper-scripts/convert-stroke-icons-to-less.js +0 -115
  8. package/helper-scripts/remove-redundant-variable-imports.sh +0 -80
  9. package/helper-scripts/scss-to-less-skip +0 -20
  10. package/helper-scripts/sync-scss-to-less.sh +0 -75
  11. package/markdown-files/MANUAL-SYNC-FILES.md +0 -56
  12. package/styles/_login-app.less +0 -34
  13. package/styles/_mixins.less +0 -47
  14. package/styles/_utilities.less +0 -21
  15. package/styles/animations/_animate.less +0 -653
  16. package/styles/animations/_realtime-animation-list.less +0 -20
  17. package/styles/components/_markdown-content.less +0 -95
  18. package/styles/components/application-and-system/_c8y-cookie-banner.less +0 -36
  19. package/styles/components/data-display-and-visualization/_boxed-label.less +0 -45
  20. package/styles/components/data-display-and-visualization/_c8y-datapoint-pill.less +0 -104
  21. package/styles/components/data-display-and-visualization/_status.less +0 -105
  22. package/styles/components/data-display-and-visualization/lists/_c8y-data-point-list.less +0 -31
  23. package/styles/components/data-display-and-visualization/tables/_responsive-grid-table.less +0 -189
  24. package/styles/components/data-input/_c8y-ai-chat.less +0 -258
  25. package/styles/components/data-input/_static-assets-file-picker.less +0 -22
  26. package/styles/components/navigation-and-layout/_c8y-scrollbar.less +0 -118
  27. package/styles/components/navigation-and-layout/navigation/_breadcrumbs.less +0 -60
  28. package/styles/components/status-feedback-and-notifications/_c8y-message-banner.less +0 -46
  29. package/styles/dashboard/_c8y-dashboard-style.less +0 -565
  30. package/styles/dashboard/_dashboard-widgets.less +0 -46
  31. package/styles/icons/_dlt-c8y-icons-stroke.less +0 -7260
  32. package/styles/icons/_marker-icons.less +0 -32
  33. package/styles/layout/_bottom-drawer.less +0 -70
  34. package/styles/layout/_group-info.less +0 -26
  35. package/styles/mixins/_gradients.less +0 -117
  36. package/styles/mixins/_icon-base.less +0 -29
  37. package/styles/mixins/_vendor-prefixes.less +0 -131
  38. package/variables/_color-defaults.less +0 -110
@@ -1,299 +1,290 @@
1
- @use '../color-defaults' as *;
2
- @use '../color-vars' as *;
1
+ @use '../color-defaults'as *;
2
+ @use '../color-vars'as *;
3
3
 
4
- body, body.c8y-dark-theme{
5
- c8y-dashboard-gridstack:not([name]):not([use-context]) > .dashboard-theme-branded,
6
- .dashboard-preview-slot.panel-content-branded,
7
- .dashboard-preview-slot.dashboard-theme-branded,
8
- c8y-context-dashboard.c8y-grid-dashboard.dashboard-theme-branded,
9
- .c8y-grid-dashboard c8y-dashboard-child .panel-content-branded,
10
- &:has(.dashboard-theme-branded) .c8y-ui-action-bar {
11
- // Branded theme always uses the light brand palette as its identity.
12
- // These defaults use the light palette values (green). When branding IS
13
- // customized, applyBrandingVars() injects overrides under
14
- // .dashboard-theme-branded/.panel-content-branded with the same specificity
15
- // but later in the cascade, so the customized values win.
16
- --c8y-brand-10: var(--c8y-palette-green-10);
17
- --c8y-brand-20: var(--c8y-palette-green-20);
18
- --c8y-brand-30: var(--c8y-palette-green-30);
19
- --c8y-brand-40: var(--c8y-palette-green-40);
20
- --c8y-brand-50: var(--c8y-palette-green-50);
21
- --c8y-brand-60: var(--c8y-palette-green-60);
22
- --c8y-brand-70: var(--c8y-palette-green-70);
23
- --c8y-brand-80: var(--c8y-palette-green-80);
24
- --c8y-brand-accent: var(--c8y-palette-yellow-60);
25
- --c8y-brand-accent-dark: var(--c8y-palette-yellow-10);
26
- --c8y-brand-accent-light: var(--c8y-palette-yellow-80);
27
- --c8y-brand-dark: var(--brand-dark, var(--c8y-palette-gray-20));
28
- --c8y-brand-light: var(--brand-light, var(--c8y-palette-green-60));
29
- --c8y-brand-primary: var(--brand-primary, var(--c8y-palette-green-40));
30
- --c8y-brand-realtime-added: var(--c8y-brand-80);
4
+ body,
5
+ body.c8y-dark-theme {
31
6
 
32
- --c8y-abbr-border-color: var(--c8y-palette-gray-40);
33
- --c8y-action-bar-actions-opacity: var(--c8y-root-component-actions-opacity);
34
- --c8y-action-bar-background-default: var(--c8y-brand-10);
35
- --c8y-action-bar-border-color: var(--c8y-brand-30);
36
- --c8y-action-bar-color-actions-hover: var(--c8y-brand-60);
37
- --c8y-action-bar-color-actions: var(--c8y-palette-high);
38
- --c8y-action-bar-color-default: var(--c8y-palette-high);
39
- --c8y-action-bar-color-focus: var(--c8y-brand-80);
40
- --c8y-action-bar-color-text-muted: var(--c8y-brand-80);
41
- --c8y-action-bar-opacity-disabled: var(--c8y-root-component-opacity-disabled);
42
- --c8y-action-bar-icon-color: var(--c8y-brand-80);
43
- // Override unprefixed action bar vars — branding injects these at :root,
44
- // and the SCSS fallback chain checks unprefixed first.
45
- --action-bar-actions-opacity: var(--c8y-root-component-actions-opacity);
46
- --action-bar-background-default: var(--c8y-brand-10);
47
- --action-bar-border-color: var(--c8y-brand-30);
48
- --action-bar-color-actions-hover: var(--c8y-brand-60);
49
- --action-bar-color-actions: var(--c8y-palette-high);
50
- --action-bar-color-default: var(--c8y-palette-high);
51
- --action-bar-color-focus: var(--c8y-brand-80);
52
- --action-bar-color-text-muted: var(--c8y-brand-80);
53
- --action-bar-opacity-disabled: var(--c8y-root-component-opacity-disabled);
54
- --action-bar-icon-color: var(--c8y-brand-80);
7
+ c8y-dashboard-gridstack:not([name]):not([use-context])>.dashboard-theme-branded,
8
+ .dashboard-preview-slot.panel-content-branded,
9
+ .dashboard-preview-slot.dashboard-theme-branded,
10
+ c8y-context-dashboard.c8y-grid-dashboard.dashboard-theme-branded,
11
+ .c8y-grid-dashboard c8y-dashboard-child .panel-content-branded,
12
+ &:has(.dashboard-theme-branded) .c8y-ui-action-bar {
13
+ --c8y-brand-realtime-added: var(--c8y-brand-80);
55
14
 
15
+ --c8y-abbr-border-color: var(--c8y-palette-gray-40);
16
+ --c8y-action-bar-actions-opacity: var(--c8y-root-component-actions-opacity);
17
+ --c8y-action-bar-background-default: var(--c8y-brand-10);
18
+ --c8y-action-bar-border-color: var(--c8y-brand-30);
19
+ --c8y-action-bar-color-actions-hover: var(--c8y-brand-60);
20
+ --c8y-action-bar-color-actions: var(--c8y-palette-high);
21
+ --c8y-action-bar-color-default: var(--c8y-palette-high);
22
+ --c8y-action-bar-color-focus: var(--c8y-brand-80);
23
+ --c8y-action-bar-color-text-muted: var(--c8y-brand-80);
24
+ --c8y-action-bar-opacity-disabled: var(--c8y-root-component-opacity-disabled);
25
+ --c8y-action-bar-icon-color: var(--c8y-brand-80);
26
+ // Override unprefixed action bar vars — branding injects these at :root,
27
+ // and the SCSS fallback chain checks unprefixed first.
28
+ --action-bar-actions-opacity: var(--c8y-root-component-actions-opacity);
29
+ --action-bar-background-default: var(--c8y-brand-10);
30
+ --action-bar-border-color: var(--c8y-brand-30);
31
+ --action-bar-color-actions-hover: var(--c8y-brand-60);
32
+ --action-bar-color-actions: var(--c8y-palette-high);
33
+ --action-bar-color-default: var(--c8y-palette-high);
34
+ --action-bar-color-focus: var(--c8y-brand-80);
35
+ --action-bar-color-text-muted: var(--c8y-brand-80);
36
+ --action-bar-opacity-disabled: var(--c8y-root-component-opacity-disabled);
37
+ --action-bar-icon-color: var(--c8y-brand-80);
56
38
 
57
- --c8y-alert-background-default: var(--c8y-palette-gray-80);
58
- --c8y-alert-color-default: var(--c8y-root-component-color-default);
59
- --c8y-alert-status-danger: var(--c8y-palette-status-danger);
60
- --c8y-alert-status-info: var(--c8y-palette-status-info);
61
- --c8y-alert-status-success: var(--c8y-palette-status-success);
62
- --c8y-alert-status-system: var(--c8y-root-component-brand-primary);
63
- --c8y-alert-status-warning: var(--c8y-palette-status-warning);
64
- --c8y-blockquote-border-color: transparent;
65
- --c8y-body-background-color: var(--c8y-brand-10);
66
- --c8y-btn-accent-background-active: var(--c8y-brand-accent-dark);
67
- --c8y-btn-accent-background-default: var(--c8y-brand-accent);
68
- --c8y-btn-accent-background-focus: var(--c8y-palette-high);
69
- --c8y-btn-accent-background-hover: var(--c8y-palette-high);
70
- --c8y-btn-accent-border-color-active: var(--c8y-brand-accent-dark);
71
- --c8y-btn-accent-border-color-default: var(--c8y-brand-accent);
72
- --c8y-btn-accent-border-color-focus: var(--c8y-brand-accent);
73
- --c8y-btn-accent-border-color-hover: var(--c8y-brand-accent);
74
- --c8y-btn-accent-color-active: var(--c8y-palette-high);
75
- --c8y-btn-accent-color-default: var(--c8y-palette-high);
76
- --c8y-btn-accent-color-focus: var(--c8y-brand-accent);
77
- --c8y-btn-accent-color-hover: var(--c8y-brand-accent);
78
- --c8y-btn-danger-background-active: var(--c8y-palette-status-danger-dark);
79
- --c8y-btn-danger-background-default: var(--c8y-palette-status-danger);
80
- --c8y-btn-danger-background-focus: var(--c8y-palette-high);
81
- --c8y-btn-danger-background-hover: var(--c8y-palette-high);
82
- --c8y-btn-danger-border-color-active: var(--c8y-palette-status-danger-dark);
83
- --c8y-btn-danger-border-color-default: var(--c8y-palette-status-danger);
84
- --c8y-btn-danger-border-color-focus: var(--c8y-palette-status-danger);
85
- --c8y-btn-danger-border-color-hover: var(--c8y-palette-status-danger);
86
- --c8y-btn-danger-color-active: var(--c8y-palette-high);
87
- --c8y-btn-danger-color-default: var(--c8y-palette-high);
88
- --c8y-btn-danger-color-focus: var(--c8y-palette-status-danger);
89
- --c8y-btn-danger-color-hover: var(--c8y-palette-status-danger);
90
- --c8y-btn-default-background-active: var(--c8y-brand-50);
91
- --c8y-btn-default-background-default: transparent;
92
- --c8y-btn-default-background-focus: transparent;
93
- --c8y-btn-default-background-hover: transparent;
94
- --c8y-btn-default-border-color-active: var(--c8y-root-component-brand-primary);
95
- --c8y-btn-default-border-color-default: var(--c8y-root-component-brand-primary);
96
- --c8y-btn-default-border-color-focus: var(--c8y-root-component-brand-primary);
97
- --c8y-btn-default-border-color-hover: var(--c8y-root-component-brand-primary);
98
- --c8y-btn-default-color-active: var(--c8y-brand-80);
99
- --c8y-btn-default-color-default: var(--c8y-root-component-brand-primary);
100
- --c8y-btn-default-color-focus: var(--c8y-root-component-brand-primary);
101
- --c8y-btn-default-color-hover: var(--c8y-root-component-brand-primary);
102
- --c8y-btn-primary-background-active: var(--c8y-brand-10);
103
- --c8y-btn-primary-background-default: var(--c8y-brand-60);
104
- --c8y-btn-primary-background-focus: var(--c8y-component-background-default, var(--c8y-root-component-background-default));
105
- --c8y-btn-primary-background-hover: var(--c8y-component-background-default, var(--c8y-root-component-background-default));
106
- --c8y-btn-primary-border-color-active: var(--c8y-brand-70);
107
- --c8y-btn-primary-border-color-default: var(--c8y-brand-60);
108
- --c8y-btn-primary-border-color-focus: var(--c8y-brand-70);
109
- --c8y-btn-primary-border-color-hover: var(--c8y-brand-70);
110
- --c8y-btn-primary-color-active: var(--c8y-palette-high);
111
- --c8y-btn-primary-color-default: var(--c8y-palette-gray-100);
112
- --c8y-btn-primary-color-focus: var(--c8y-palette-high);
113
- --c8y-btn-primary-color-hover: var(--c8y-palette-high);
114
- --c8y-code-background-color: var(--c8y-palette-gray-100);
115
- --c8y-code-border-color: transparent;
116
- --c8y-code-color: var(--c8y-palette-status-danger-dark);
117
- --c8y-dropdown-background-default: var(--c8y-brand-20);
118
- --c8y-elevation-border: none; /* For App switchers, Overflow menus, Tooltips */
119
- --c8y-elevation-hover: none;
120
- --c8y-elevation-lg: none; /* Elevation for Modals */
121
- --c8y-elevation-md: none; /* Elevation for Panels, App switchers, Overflow menus, Tooltips */
122
- --c8y-elevation-sm: none; /* Elevation for Cards, Select dropdowns, Date pickers, Time pickers, Dropdown buttons */
123
- --c8y-form-control-background-default: var(--c8y-component-background-default, var(--c8y-root-component-background-default));
124
- --c8y-form-control-background-disabled: var(--c8y-component-background-disabled, var(--c8y-root-component-background-disabled));
125
- --c8y-form-control-background-focus: var(--c8y-component-background-default, var(--c8y-root-component-background-default));
126
- --c8y-form-control-border-color-default: var(--c8y-palette-gray-70);
127
- --c8y-form-control-border-color-focus: var(--brand-primary, var(--c8y-root-component-brand-primary));
128
- --c8y-form-control-color-default: var(--c8y-component-color-default, var(--c8y-root-component-color-default));
129
- --c8y-form-control-color-disabled: var(--c8y-component-color-disabled, var(--c8y-root-component-color-disabled));
130
- --c8y-form-control-color-focus: var(--c8y-component-color-default, var(--c8y-root-component-color-default));
131
- --c8y-form-control-disabled-opacity: var(--c8y-global-disabled-opacity);
132
- --c8y-form-control-icon-color: var(--brand-primary, var(--c8y-root-component-brand-primary));
133
- --c8y-form-control-placeholder-color: var(--c8y-palette-gray-40);
134
- --c8y-form-label-color: var(--c8y-palette-gray-20);
135
- --c8y-form-legend-color: var(--c8y-palette-gray-50);
136
- --c8y-form-validation-color-error: var(--c8y-palette-status-danger);
137
- --c8y-form-validation-color-info: var(--c8y-palette-status-info);
138
- --c8y-form-validation-color-success: var(--c8y-palette-status-success);
139
- --c8y-form-validation-color-warning: var(--c8y-palette-status-warning);
140
- --c8y-global-disabled-opacity: 0.55;
141
- --c8y-global-odd: linear-gradient(to top, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.03));
142
- --c8y-global-separator: var(--c8y-palette-gray-90);
143
- --c8y-headings-color: inherit;
144
- --c8y-icon-stroke-color: var(--c8y-palette-high);
145
- --c8y-level-0: var(--c8y-palette-gray-100);
146
- --c8y-level-1: var(--c8y-palette-gray-90);
147
- --c8y-level-2: var(--c8y-palette-gray-80);
148
- --c8y-level-3: var(--c8y-palette-gray-70);
149
- --c8y-level-4: var(--c8y-palette-gray-60);
150
- --c8y-link-color: var(--c8y-brand-80);
151
- --c8y-link-hover-color: var(--c8y-brand-80);
152
- --c8y-main-header-background-default: var(--c8y-palette-gray-100);
153
- --c8y-main-header-background-hover: inherit;
154
- --c8y-main-header-border-color: transparent;
155
- --c8y-main-header-shadow: var(--c8y-elevation-md-bottom);
156
- --c8y-modal-backdrop-background: var(--c8y-palette-low);
157
- --c8y-nav-pills-background-active: var(--c8y-navlink-background-active);
158
- --c8y-nav-pills-background-default: var(--c8y-navlink-background-default);
159
- --c8y-nav-pills-background-focus: var(--c8y-navlink-background-focus);
160
- --c8y-nav-pills-background-hover: var(--c8y-navlink-background-hover);
161
- --c8y-nav-pills-color-active: var(--c8y-navlink-color-active);
162
- --c8y-nav-pills-color-default: var(--c8y-navlink-color-default);
163
- --c8y-nav-pills-color-focus: var(--c8y-navlink-color-focus);
164
- --c8y-nav-pills-color-hover: var(--c8y-navlink-color-hover);
165
- --c8y-nav-tabs-background-active: var(--c8y-root-component-background-default);
166
- --c8y-nav-tabs-background-default: transparent;
167
- --c8y-nav-tabs-background-focus: var(--c8y-navlink-background-focus);
168
- --c8y-nav-tabs-background-hover: transparent;
169
- --c8y-nav-tabs-border-color-active: var(--c8y-root-component-brand-primary);
170
- --c8y-nav-tabs-border-color-default: var(--c8y-global-separator);
171
- --c8y-nav-tabs-color-active: var(--c8y-navlink-color-active);
172
- --c8y-nav-tabs-color-default: var(--c8y-navlink-color-default);
173
- --c8y-nav-tabs-color-focus: var(--c8y-navlink-color-focus);
174
- --c8y-nav-tabs-color-hover: var(--c8y-navlink-color-hover);
175
- --c8y-nav-tabs-icon-color-active: var(--c8y-navlink-color-default);
176
- --c8y-nav-tabs-icon-color-default: var(--c8y-palette-gray-40);
177
- --c8y-nav-tabs-icon-color-focus: var(--c8y-navlink-color-default);
178
- --c8y-nav-tabs-icon-color-hover: var(--c8y-navlink-color-default);
179
- --c8y-navbar-background-default: var(--c8y-root-component-background-default);
180
- --c8y-navbar-border-color: transparent;
181
- --c8y-navbar-color-default: var(--c8y-text-color);
182
- --c8y-navbar-link: var(--c8y-root-component-brand-primary);
183
- --c8y-navigator-background-default: var(--c8y-palette-low);
184
- --c8y-navigator-background-selected: var(--c8y-palette-gray-90);
185
- --c8y-navigator-scrollbar-track: var(--c8y-root-component-scrollbar-track);
186
- --c8y-navigator-separator-color: var(--c8y-palette-gray-80);
187
- --c8y-navigator-text-color-default: var(--c8y-palette-gray-20);
188
- --c8y-navlink-background-active: transparent;
189
- --c8y-navlink-background-default: var(--c8y-root-component-background-default);
190
- --c8y-navlink-background-focus: transparent;
191
- --c8y-navlink-background-hover: transparent;
192
- --c8y-navlink-color-active: var(--c8y-root-component-brand-primary);
193
- --c8y-navlink-color-default: var(--c8y-text-color);
194
- --c8y-navlink-color-focus: var(--c8y-root-component-brand-primary);
195
- --c8y-navlink-color-hover: var(--c8y-root-component-brand-primary);
196
- --c8y-page-sticky-header-background-default: var(--c8y-palette-gray-90);
197
- --c8y-page-sticky-header-color-active: var(--c8y-link-color);
198
- --c8y-page-sticky-header-color-default: var(--c8y-palette-gray-10);
199
- --c8y-page-sticky-header-color-hover: var(--c8y-link-hover-color);
200
- --c8y-palette-gray-10: #f9fafb;
201
- --c8y-palette-gray-100: var(--c8y-brand-20);
202
- --c8y-palette-gray-20: #ccd2d8;
203
- --c8y-palette-gray-30: var(--c8y-brand-80);
204
- --c8y-palette-gray-40: var(--c8y-brand-80);
205
- --c8y-palette-gray-50: var(--c8y-brand-70);
206
- --c8y-palette-gray-60: var(--c8y-brand-50);
207
- --c8y-palette-gray-70: var(--c8y-brand-50);
208
- --c8y-palette-gray-80: var(--c8y-brand-40);
209
- --c8y-palette-gray-90: var(--c8y-brand-30);
210
- --c8y-palette-low: var(--c8y-brand-80);
211
- --c8y-palette-status-danger: #DC5B68;
212
- --c8y-palette-status-danger-dark: #fae6e8;
213
- --c8y-palette-status-danger-light: #8f0009;
214
- --c8y-palette-status-info: #0092db;
215
- --c8y-palette-status-info-dark: #ebf5ff;
216
- --c8y-palette-status-info-light: #105589;
217
- --c8y-palette-status-success: #71A112;
218
- --c8y-palette-status-success-dark: #f4fce3;
219
- --c8y-palette-status-success-light: #007700;
220
- --c8y-palette-status-system: var(--c8y-brand-primary);
221
- --c8y-palette-status-warning: #E07800;
222
- --c8y-palette-status-warning-dark: var(--c8y-palette-orange-80);
223
- --c8y-palette-status-warning-high: var(--c8y-palette-yellow-60);
224
- --c8y-palette-status-warning-light: var(--c8y-palette-orange-10);
225
- --c8y-popover-background-default: var(--c8y-palette-gray-30);
226
- --c8y-popover-border-color: var(--c8y-root-component-border-color);
227
- --c8y-popover-color-default: var(--c8y-palette-gray-100);
228
- --c8y-popover-color-link-hover: var(--c8y-root-component-color-link-hover);
229
- --c8y-popover-color-link: var(--c8y-root-component-color-link);
230
- --c8y-popover-icon-color: var(--c8y-palette-gray-80);
231
- --c8y-popover-label-color: var(--c8y-palette-gray-100);
232
- --c8y-pre-background: var(--c8y-palette-gray-90);
233
- --c8y-pre-border-color: var(--c8y-palette-gray-70);
234
- --c8y-pre-color: var(--c8y-palette-gray-30);
235
- --c8y-root-component-actions-opacity: var(--c8y-global-disabled-opacity);
236
- --c8y-root-component-background-active: var(--c8y-root-component-background-default);
237
- --c8y-root-component-background-default: var(--c8y-palette-gray-100);
238
- --c8y-root-component-background-disabled: rgba(255, 255, 255, 0.1); /* Don't use when changing opacity */
239
- --c8y-root-component-background-expanded-gradient: linear-gradient(0deg, rgba(255, 255, 255, 0.03) 0px, var(--c8y-root-component-background-expanded) 12px, var(--c8y-root-component-background-expanded) calc(100% - 12px), rgba(0, 0, 0, 0.03) 100%);
240
- --c8y-root-component-background-expanded: var(--c8y-palette-gray-100);
241
- --c8y-root-component-background-focus: var(--c8y-root-component-background-default);
242
- --c8y-root-component-background-hover: var(--c8y-palette-teal-80);
243
- --c8y-root-component-background-odd: var(--c8y-global-odd); /* use for alternate stripes */
244
- --c8y-root-component-border-color: var(--c8y-global-separator);
245
- --c8y-root-component-brand-primary: var(--c8y-brand-80);
246
- --c8y-root-component-color-accent: var(--c8y-root-component-brand-primary);
247
- --c8y-root-component-color-actions-hover: var(--c8y-brand-60);
248
- --c8y-root-component-color-actions: var(--c8y-palette-high);
249
- --c8y-root-component-color-active: var(--c8y-root-component-brand-primary);
250
- --c8y-root-component-color-default: var(--c8y-text-color);
251
- --c8y-root-component-color-disabled: var(--c8y-palette-gray-70); /* Don't use when changing opacity */
252
- --c8y-root-component-color-expanded: inherit;
253
- --c8y-root-component-color-focus: var(--c8y-root-component-brand-primary);
254
- --c8y-root-component-color-link-hover: var(--c8y-link-hover-color);
255
- --c8y-root-component-color-link: var(--c8y-link-color);
256
- --c8y-root-component-color-odd: var(--c8y-text-color);
257
- --c8y-root-component-color-text-muted: var(--c8y-text-muted);
258
- --c8y-root-component-opacity-disabled: var(--c8y-global-disabled-opacity);
259
- --c8y-root-component-icon-color: var(--c8y-palette-gray-30);
260
- --c8y-root-component-icon-dark-color-dark: var(--c8y-palette-high);
261
- --c8y-root-component-pulse-color: var(--c8y-palette-status-realtime);
262
- --c8y-root-component-realtime-added: var(--c8y-brand-realtime-added);
263
- --c8y-root-component-scrollbar-thumb-default: var(--c8y-palette-gray-80);
264
- --c8y-root-component-scrollbar-thumb-hover: var(--c8y-palette-gray-70);
265
- --c8y-root-component-scrollbar-track: var(--c8y-component-background-default, var(--c8y-root-component-background-default));
266
- --c8y-root-component-separator-color: var(--c8y-global-separator);
267
- --c8y-root-component-spinner-color: var(--c8y-brand-primary);
268
- --c8y-switch-background-active: var(--c8y-brand-30);
269
- --c8y-switch-background-default: var(--c8y-palette-gray-20);
270
- --c8y-switch-handle-background: var(--c8y-palette-high);
271
- --c8y-text-color: var(--c8y-palette-high);
272
- --c8y-text-muted: var(--c8y-palette-gray-40);
273
- --c8y-tooltip-background-default: var(--c8y-palette-gray-10);
274
- --c8y-tooltip-border-color: var(--c8y-root-component-border-color);
275
- --c8y-tooltip-color-default: var(--c8y-palette-gray-100);
276
- --c8y-tooltip-opacity: 0.95;
277
- // Override unprefixed vars — branding injects these at :root,
278
- // and the SCSS fallback chain checks unprefixed first.
279
- --text-color: var(--c8y-palette-high);
280
- --text-muted: var(--c8y-palette-gray-40);
281
- --body-background-color: var(--c8y-brand-10);
282
- --link-color: var(--c8y-brand-80);
283
- --link-hover-color: var(--c8y-brand-80);
284
39
 
285
- }
286
- .dashboard-preview-slot.dashboard-theme-branded {
287
- background: var(--c8y-brand-10) !important;
288
- color: var(--c8y-text-color);
289
- }
40
+ --c8y-alert-background-default: var(--c8y-palette-gray-80);
41
+ --c8y-alert-color-default: var(--c8y-root-component-color-default);
42
+ --c8y-alert-status-danger: var(--c8y-palette-status-danger);
43
+ --c8y-alert-status-info: var(--c8y-palette-status-info);
44
+ --c8y-alert-status-success: var(--c8y-palette-status-success);
45
+ --c8y-alert-status-system: var(--c8y-root-component-brand-primary);
46
+ --c8y-alert-status-warning: var(--c8y-palette-status-warning);
47
+ --c8y-blockquote-border-color: transparent;
48
+ --c8y-body-background-color: var(--c8y-brand-10);
49
+ --c8y-btn-accent-background-active: var(--c8y-brand-accent-dark);
50
+ --c8y-btn-accent-background-default: var(--c8y-brand-accent);
51
+ --c8y-btn-accent-background-focus: var(--c8y-palette-high);
52
+ --c8y-btn-accent-background-hover: var(--c8y-palette-high);
53
+ --c8y-btn-accent-border-color-active: var(--c8y-brand-accent-dark);
54
+ --c8y-btn-accent-border-color-default: var(--c8y-brand-accent);
55
+ --c8y-btn-accent-border-color-focus: var(--c8y-brand-accent);
56
+ --c8y-btn-accent-border-color-hover: var(--c8y-brand-accent);
57
+ --c8y-btn-accent-color-active: var(--c8y-palette-high);
58
+ --c8y-btn-accent-color-default: var(--c8y-palette-high);
59
+ --c8y-btn-accent-color-focus: var(--c8y-brand-accent);
60
+ --c8y-btn-accent-color-hover: var(--c8y-brand-accent);
61
+ --c8y-btn-danger-background-active: var(--c8y-palette-status-danger-dark);
62
+ --c8y-btn-danger-background-default: var(--c8y-palette-status-danger);
63
+ --c8y-btn-danger-background-focus: var(--c8y-palette-high);
64
+ --c8y-btn-danger-background-hover: var(--c8y-palette-high);
65
+ --c8y-btn-danger-border-color-active: var(--c8y-palette-status-danger-dark);
66
+ --c8y-btn-danger-border-color-default: var(--c8y-palette-status-danger);
67
+ --c8y-btn-danger-border-color-focus: var(--c8y-palette-status-danger);
68
+ --c8y-btn-danger-border-color-hover: var(--c8y-palette-status-danger);
69
+ --c8y-btn-danger-color-active: var(--c8y-palette-high);
70
+ --c8y-btn-danger-color-default: var(--c8y-palette-high);
71
+ --c8y-btn-danger-color-focus: var(--c8y-palette-status-danger);
72
+ --c8y-btn-danger-color-hover: var(--c8y-palette-status-danger);
73
+ --c8y-btn-default-background-active: var(--c8y-brand-50);
74
+ --c8y-btn-default-background-default: transparent;
75
+ --c8y-btn-default-background-focus: transparent;
76
+ --c8y-btn-default-background-hover: transparent;
77
+ --c8y-btn-default-border-color-active: var(--c8y-root-component-brand-primary);
78
+ --c8y-btn-default-border-color-default: var(--c8y-root-component-brand-primary);
79
+ --c8y-btn-default-border-color-focus: var(--c8y-root-component-brand-primary);
80
+ --c8y-btn-default-border-color-hover: var(--c8y-root-component-brand-primary);
81
+ --c8y-btn-default-color-active: var(--c8y-brand-80);
82
+ --c8y-btn-default-color-default: var(--c8y-root-component-brand-primary);
83
+ --c8y-btn-default-color-focus: var(--c8y-root-component-brand-primary);
84
+ --c8y-btn-default-color-hover: var(--c8y-root-component-brand-primary);
85
+ --c8y-btn-primary-background-active: var(--c8y-brand-10);
86
+ --c8y-btn-primary-background-default: var(--c8y-brand-60);
87
+ --c8y-btn-primary-background-focus: var(--c8y-component-background-default, var(--c8y-root-component-background-default));
88
+ --c8y-btn-primary-background-hover: var(--c8y-component-background-default, var(--c8y-root-component-background-default));
89
+ --c8y-btn-primary-border-color-active: var(--c8y-brand-70);
90
+ --c8y-btn-primary-border-color-default: var(--c8y-brand-60);
91
+ --c8y-btn-primary-border-color-focus: var(--c8y-brand-70);
92
+ --c8y-btn-primary-border-color-hover: var(--c8y-brand-70);
93
+ --c8y-btn-primary-color-active: var(--c8y-palette-high);
94
+ --c8y-btn-primary-color-default: var(--c8y-palette-gray-100);
95
+ --c8y-btn-primary-color-focus: var(--c8y-palette-high);
96
+ --c8y-btn-primary-color-hover: var(--c8y-palette-high);
97
+ --c8y-code-background-color: var(--c8y-palette-gray-100);
98
+ --c8y-code-border-color: transparent;
99
+ --c8y-code-color: var(--c8y-palette-status-danger-dark);
100
+ --c8y-dropdown-background-default: var(--c8y-brand-20);
101
+ --c8y-elevation-border: none;
102
+ /* For App switchers, Overflow menus, Tooltips */
103
+ --c8y-elevation-hover: none;
104
+ --c8y-elevation-lg: none;
105
+ /* Elevation for Modals */
106
+ --c8y-elevation-md: none;
107
+ /* Elevation for Panels, App switchers, Overflow menus, Tooltips */
108
+ --c8y-elevation-sm: none;
109
+ /* Elevation for Cards, Select dropdowns, Date pickers, Time pickers, Dropdown buttons */
110
+ --c8y-form-control-background-default: var(--c8y-component-background-default, var(--c8y-root-component-background-default));
111
+ --c8y-form-control-background-disabled: var(--c8y-component-background-disabled, var(--c8y-root-component-background-disabled));
112
+ --c8y-form-control-background-focus: var(--c8y-component-background-default, var(--c8y-root-component-background-default));
113
+ --c8y-form-control-border-color-default: var(--c8y-palette-gray-70);
114
+ --c8y-form-control-border-color-focus: var(--brand-primary, var(--c8y-root-component-brand-primary));
115
+ --c8y-form-control-color-default: var(--c8y-component-color-default, var(--c8y-root-component-color-default));
116
+ --c8y-form-control-color-disabled: var(--c8y-component-color-disabled, var(--c8y-root-component-color-disabled));
117
+ --c8y-form-control-color-focus: var(--c8y-component-color-default, var(--c8y-root-component-color-default));
118
+ --c8y-form-control-disabled-opacity: var(--c8y-global-disabled-opacity);
119
+ --c8y-form-control-icon-color: var(--brand-primary, var(--c8y-root-component-brand-primary));
120
+ --c8y-form-control-placeholder-color: var(--c8y-palette-gray-40);
121
+ --c8y-form-label-color: var(--c8y-palette-gray-20);
122
+ --c8y-form-legend-color: var(--c8y-palette-gray-50);
123
+ --c8y-form-validation-color-error: var(--c8y-palette-status-danger);
124
+ --c8y-form-validation-color-info: var(--c8y-palette-status-info);
125
+ --c8y-form-validation-color-success: var(--c8y-palette-status-success);
126
+ --c8y-form-validation-color-warning: var(--c8y-palette-status-warning);
127
+ --c8y-global-disabled-opacity: 0.55;
128
+ --c8y-global-odd: linear-gradient(to top, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.03));
129
+ --c8y-global-separator: var(--c8y-palette-gray-90);
130
+ --c8y-headings-color: inherit;
131
+ --c8y-icon-stroke-color: var(--c8y-palette-high);
132
+ --c8y-level-0: var(--c8y-palette-gray-100);
133
+ --c8y-level-1: var(--c8y-palette-gray-90);
134
+ --c8y-level-2: var(--c8y-palette-gray-80);
135
+ --c8y-level-3: var(--c8y-palette-gray-70);
136
+ --c8y-level-4: var(--c8y-palette-gray-60);
137
+ --c8y-link-color: var(--c8y-brand-80);
138
+ --c8y-link-hover-color: var(--c8y-brand-80);
139
+ --c8y-main-header-background-default: var(--c8y-palette-gray-100);
140
+ --c8y-main-header-background-hover: inherit;
141
+ --c8y-main-header-border-color: transparent;
142
+ --c8y-main-header-shadow: var(--c8y-elevation-md-bottom);
143
+ --c8y-modal-backdrop-background: var(--c8y-palette-low);
144
+ --c8y-nav-pills-background-active: var(--c8y-navlink-background-active);
145
+ --c8y-nav-pills-background-default: var(--c8y-navlink-background-default);
146
+ --c8y-nav-pills-background-focus: var(--c8y-navlink-background-focus);
147
+ --c8y-nav-pills-background-hover: var(--c8y-navlink-background-hover);
148
+ --c8y-nav-pills-color-active: var(--c8y-navlink-color-active);
149
+ --c8y-nav-pills-color-default: var(--c8y-navlink-color-default);
150
+ --c8y-nav-pills-color-focus: var(--c8y-navlink-color-focus);
151
+ --c8y-nav-pills-color-hover: var(--c8y-navlink-color-hover);
152
+ --c8y-nav-tabs-background-active: var(--c8y-root-component-background-default);
153
+ --c8y-nav-tabs-background-default: transparent;
154
+ --c8y-nav-tabs-background-focus: var(--c8y-navlink-background-focus);
155
+ --c8y-nav-tabs-background-hover: transparent;
156
+ --c8y-nav-tabs-border-color-active: var(--c8y-root-component-brand-primary);
157
+ --c8y-nav-tabs-border-color-default: var(--c8y-global-separator);
158
+ --c8y-nav-tabs-color-active: var(--c8y-navlink-color-active);
159
+ --c8y-nav-tabs-color-default: var(--c8y-navlink-color-default);
160
+ --c8y-nav-tabs-color-focus: var(--c8y-navlink-color-focus);
161
+ --c8y-nav-tabs-color-hover: var(--c8y-navlink-color-hover);
162
+ --c8y-nav-tabs-icon-color-active: var(--c8y-navlink-color-default);
163
+ --c8y-nav-tabs-icon-color-default: var(--c8y-palette-gray-40);
164
+ --c8y-nav-tabs-icon-color-focus: var(--c8y-navlink-color-default);
165
+ --c8y-nav-tabs-icon-color-hover: var(--c8y-navlink-color-default);
166
+ --c8y-navbar-background-default: var(--c8y-root-component-background-default);
167
+ --c8y-navbar-border-color: transparent;
168
+ --c8y-navbar-color-default: var(--c8y-text-color);
169
+ --c8y-navbar-link: var(--c8y-root-component-brand-primary);
170
+ --c8y-navigator-background-default: var(--c8y-palette-low);
171
+ --c8y-navigator-background-selected: var(--c8y-palette-gray-90);
172
+ --c8y-navigator-scrollbar-track: var(--c8y-root-component-scrollbar-track);
173
+ --c8y-navigator-separator-color: var(--c8y-palette-gray-80);
174
+ --c8y-navigator-text-color-default: var(--c8y-palette-gray-20);
175
+ --c8y-navlink-background-active: transparent;
176
+ --c8y-navlink-background-default: var(--c8y-root-component-background-default);
177
+ --c8y-navlink-background-focus: transparent;
178
+ --c8y-navlink-background-hover: transparent;
179
+ --c8y-navlink-color-active: var(--c8y-root-component-brand-primary);
180
+ --c8y-navlink-color-default: var(--c8y-text-color);
181
+ --c8y-navlink-color-focus: var(--c8y-root-component-brand-primary);
182
+ --c8y-navlink-color-hover: var(--c8y-root-component-brand-primary);
183
+ --c8y-page-sticky-header-background-default: var(--c8y-palette-gray-90);
184
+ --c8y-page-sticky-header-color-active: var(--c8y-link-color);
185
+ --c8y-page-sticky-header-color-default: var(--c8y-palette-gray-10);
186
+ --c8y-page-sticky-header-color-hover: var(--c8y-link-hover-color);
187
+ --c8y-palette-gray-10: #f9fafb;
188
+ --c8y-palette-gray-100: var(--c8y-brand-20);
189
+ --c8y-palette-gray-20: #ccd2d8;
190
+ --c8y-palette-gray-30: var(--c8y-brand-80);
191
+ --c8y-palette-gray-40: var(--c8y-brand-80);
192
+ --c8y-palette-gray-50: var(--c8y-brand-70);
193
+ --c8y-palette-gray-60: var(--c8y-brand-50);
194
+ --c8y-palette-gray-70: var(--c8y-brand-50);
195
+ --c8y-palette-gray-80: var(--c8y-brand-40);
196
+ --c8y-palette-gray-90: var(--c8y-brand-30);
197
+ --c8y-palette-low: var(--c8y-brand-80);
198
+ --c8y-palette-status-danger: #DC5B68;
199
+ --c8y-palette-status-danger-dark: #fae6e8;
200
+ --c8y-palette-status-danger-light: #8f0009;
201
+ --c8y-palette-status-info: #0092db;
202
+ --c8y-palette-status-info-dark: #ebf5ff;
203
+ --c8y-palette-status-info-light: #105589;
204
+ --c8y-palette-status-success: #71A112;
205
+ --c8y-palette-status-success-dark: #f4fce3;
206
+ --c8y-palette-status-success-light: #007700;
207
+ --c8y-palette-status-system: var(--c8y-brand-primary);
208
+ --c8y-palette-status-warning: #E07800;
209
+ --c8y-palette-status-warning-dark: var(--c8y-palette-orange-80);
210
+ --c8y-palette-status-warning-high: var(--c8y-palette-yellow-60);
211
+ --c8y-palette-status-warning-light: var(--c8y-palette-orange-10);
212
+ --c8y-popover-background-default: var(--c8y-palette-gray-30);
213
+ --c8y-popover-border-color: var(--c8y-root-component-border-color);
214
+ --c8y-popover-color-default: var(--c8y-palette-gray-100);
215
+ --c8y-popover-color-link-hover: var(--c8y-root-component-color-link-hover);
216
+ --c8y-popover-color-link: var(--c8y-root-component-color-link);
217
+ --c8y-popover-icon-color: var(--c8y-palette-gray-80);
218
+ --c8y-popover-label-color: var(--c8y-palette-gray-100);
219
+ --c8y-pre-background: var(--c8y-palette-gray-90);
220
+ --c8y-pre-border-color: var(--c8y-palette-gray-70);
221
+ --c8y-pre-color: var(--c8y-palette-gray-30);
222
+ --c8y-root-component-actions-opacity: var(--c8y-global-disabled-opacity);
223
+ --c8y-root-component-background-active: var(--c8y-root-component-background-default);
224
+ --c8y-root-component-background-default: var(--c8y-palette-gray-100);
225
+ --c8y-root-component-background-disabled: rgba(255, 255, 255, 0.1);
226
+ /* Don't use when changing opacity */
227
+ --c8y-root-component-background-expanded-gradient: linear-gradient(0deg, rgba(255, 255, 255, 0.03) 0px, var(--c8y-root-component-background-expanded) 12px, var(--c8y-root-component-background-expanded) calc(100% - 12px), rgba(0, 0, 0, 0.03) 100%);
228
+ --c8y-root-component-background-expanded: var(--c8y-palette-gray-100);
229
+ --c8y-root-component-background-focus: var(--c8y-root-component-background-default);
230
+ --c8y-root-component-background-hover: var(--c8y-palette-teal-80);
231
+ --c8y-root-component-background-odd: var(--c8y-global-odd);
232
+ /* use for alternate stripes */
233
+ --c8y-root-component-border-color: var(--c8y-global-separator);
234
+ --c8y-root-component-brand-primary: var(--c8y-brand-80);
235
+ --c8y-root-component-color-accent: var(--c8y-root-component-brand-primary);
236
+ --c8y-root-component-color-actions-hover: var(--c8y-brand-60);
237
+ --c8y-root-component-color-actions: var(--c8y-palette-high);
238
+ --c8y-root-component-color-active: var(--c8y-root-component-brand-primary);
239
+ --c8y-root-component-color-default: var(--c8y-text-color);
240
+ --c8y-root-component-color-disabled: var(--c8y-palette-gray-70);
241
+ /* Don't use when changing opacity */
242
+ --c8y-root-component-color-expanded: inherit;
243
+ --c8y-root-component-color-focus: var(--c8y-root-component-brand-primary);
244
+ --c8y-root-component-color-link-hover: var(--c8y-link-hover-color);
245
+ --c8y-root-component-color-link: var(--c8y-link-color);
246
+ --c8y-root-component-color-odd: var(--c8y-text-color);
247
+ --c8y-root-component-color-text-muted: var(--c8y-text-muted);
248
+ --c8y-root-component-opacity-disabled: var(--c8y-global-disabled-opacity);
249
+ --c8y-root-component-icon-color: var(--c8y-palette-gray-30);
250
+ --c8y-root-component-icon-dark-color-dark: var(--c8y-palette-high);
251
+ --c8y-root-component-pulse-color: var(--c8y-palette-status-realtime);
252
+ --c8y-root-component-realtime-added: var(--c8y-brand-realtime-added);
253
+ --c8y-root-component-scrollbar-thumb-default: var(--c8y-palette-gray-80);
254
+ --c8y-root-component-scrollbar-thumb-hover: var(--c8y-palette-gray-70);
255
+ --c8y-root-component-scrollbar-track: var(--c8y-component-background-default, var(--c8y-root-component-background-default));
256
+ --c8y-root-component-separator-color: var(--c8y-global-separator);
257
+ --c8y-root-component-spinner-color: var(--c8y-brand-primary);
258
+ --c8y-switch-background-active: var(--c8y-brand-30);
259
+ --c8y-switch-background-default: var(--c8y-palette-gray-20);
260
+ --c8y-switch-handle-background: var(--c8y-palette-high);
261
+ --c8y-text-color: var(--c8y-palette-high);
262
+ --c8y-text-muted: var(--c8y-palette-gray-40);
263
+ --c8y-tooltip-background-default: var(--c8y-palette-gray-10);
264
+ --c8y-tooltip-border-color: var(--c8y-root-component-border-color);
265
+ --c8y-tooltip-color-default: var(--c8y-palette-gray-100);
266
+ --c8y-tooltip-opacity: 0.95;
267
+ // Override unprefixed vars — branding injects these at :root,
268
+ // and the SCSS fallback chain checks unprefixed first.
269
+ --text-color: var(--c8y-palette-high);
270
+ --text-muted: var(--c8y-palette-gray-40);
271
+ --body-background-color: var(--c8y-brand-10);
272
+ --link-color: var(--c8y-brand-80);
273
+ --link-hover-color: var(--c8y-brand-80);
290
274
 
291
- c8y-dashboard-gridstack:not([name]):not([use-context]) > .dashboard-theme-branded,
292
- c8y-context-dashboard.c8y-grid-dashboard.dashboard-theme-branded {
293
- --c8y-dashboard-background: var(--c8y-brand-10);
294
- background-color: var(--c8y-dashboard-background);
295
- color: var(--c8y-text-color);
296
- }
275
+ }
276
+
277
+ .dashboard-preview-slot.dashboard-theme-branded {
278
+ background: var(--c8y-brand-10) !important;
279
+ color: var(--c8y-text-color);
280
+ }
281
+
282
+ c8y-dashboard-gridstack:not([name]):not([use-context])>.dashboard-theme-branded,
283
+ c8y-context-dashboard.c8y-grid-dashboard.dashboard-theme-branded {
284
+ --c8y-dashboard-background: var(--c8y-brand-10);
285
+ background-color: var(--c8y-dashboard-background);
286
+ color: var(--c8y-text-color);
287
+ }
297
288
  }
298
289
 
299
290
 
@@ -321,25 +312,28 @@ c8y-context-dashboard.c8y-grid-dashboard.dashboard-theme-branded {
321
312
  --c8y-brand-realtime-added: inherit;
322
313
  }
323
314
 
324
- body:has(.dashboard-theme-branded){
315
+ body:has(.dashboard-theme-branded) {
316
+
325
317
  .c8y-ui-action-bar,
326
318
  .dashboard-theme-branded {
327
- .btn-help{
319
+ .btn-help {
328
320
  outline: 1px solid $status-info;
329
321
  background-color: $status-info;
330
322
  --help-info-color: #{$palette-high};
331
323
  color: $palette-high;
332
324
  }
333
325
  }
334
- .c8y-top-drawer{
326
+
327
+ .c8y-top-drawer {
335
328
  --c8y-nav-tabs-background-default: var(--c8y-root-component-background-default);
336
329
  --c8y-nav-tabs-background-active: var(--c8y-body-background-color);
337
330
  background: var(--c8y-body-background-color);
338
331
  --c8y-level-1: var(--c8y-root-component-background-default);
339
332
  }
340
- .dashboard-theme-branded{
341
- .label-primary{
342
- color: var(--c8y-root-component-color-default);
333
+
334
+ .dashboard-theme-branded {
335
+ .label-primary {
336
+ color: var(--c8y-root-component-color-default);
343
337
  }
344
338
  }
345
339
  }