@keenmate/pure-admin-core 1.0.0 → 1.1.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.
- package/README.md +77 -7
- package/dist/css/main.css +792 -431
- package/package.json +1 -1
- package/snippets/customization.html +1 -1
- package/snippets/layout.html +4 -4
- package/snippets/manifest.json +0 -50
- package/snippets/profile.html +51 -3
- package/src/scss/_base-css-variables.scss +432 -422
- package/src/scss/_core.scss +105 -105
- package/src/scss/_fonts.scss +0 -14
- package/src/scss/_variables.scss +12 -14
- package/src/scss/core-components/_alerts.scss +7 -7
- package/src/scss/core-components/_base.scss +3 -3
- package/src/scss/core-components/_buttons.scss +425 -425
- package/src/scss/core-components/_callouts.scss +139 -139
- package/src/scss/core-components/_cards.scss +321 -321
- package/src/scss/core-components/_checkbox-lists.scss +2 -2
- package/src/scss/core-components/_code.scss +4 -4
- package/src/scss/core-components/_command-palette.scss +518 -518
- package/src/scss/core-components/_comparison.scss +3 -3
- package/src/scss/core-components/_file-selector.scss +780 -780
- package/src/scss/core-components/_forms.scss +16 -16
- package/src/scss/core-components/_layout.scss +15 -15
- package/src/scss/core-components/_lists.scss +7 -7
- package/src/scss/core-components/_logic-tree.scss +280 -280
- package/src/scss/core-components/_modals.scss +2 -2
- package/src/scss/core-components/_notifications.scss +7 -7
- package/src/scss/core-components/_pagers.scss +3 -3
- package/src/scss/core-components/_popconfirm.scss +1 -1
- package/src/scss/core-components/_profile.scss +400 -389
- package/src/scss/core-components/_scrollbars.scss +40 -40
- package/src/scss/core-components/_settings-panel.scss +5 -5
- package/src/scss/core-components/_statistics.scss +6 -6
- package/src/scss/core-components/_tables.scss +566 -566
- package/src/scss/core-components/_tabs.scss +493 -493
- package/src/scss/core-components/_timeline.scss +15 -15
- package/src/scss/core-components/_toasts.scss +4 -4
- package/src/scss/core-components/_tooltips.scss +8 -8
- package/src/scss/core-components/_utilities.scss +11 -30
- package/src/scss/core-components/_web-components-theme.scss +294 -294
- package/src/scss/core-components/badges/_composite-badge-variants.scss +3 -3
- package/src/scss/core-components/badges/_labels.scss +1 -1
- package/src/scss/core-components/forms/_checkboxes-radios.scss +2 -2
- package/src/scss/core-components/forms/_form-inputs.scss +4 -4
- package/src/scss/core-components/forms/_form-layout.scss +2 -2
- package/src/scss/core-components/forms/_form-states.scss +1 -1
- package/src/scss/core-components/forms/_input-wrapper.scss +1 -1
- package/src/scss/core-components/forms/_query-editor.scss +17 -17
- package/src/scss/core-components/layout/_layout-container.scss +1 -1
- package/src/scss/core-components/layout/_navbar-elements.scss +1 -1
- package/src/scss/core-components/layout/_sidebar.scss +5 -5
- package/src/scss/utilities.scss +24 -0
- package/src/scss/variables/_base.scss +20 -10
- package/src/scss/variables/_colors.scss +7 -6
- package/src/scss/variables/_components.scss +8 -11
- package/src/scss/variables/_index.scss +11 -7
- package/src/scss/variables/_spacing.scss +12 -0
- package/src/scss/variables/_typography.scss +2 -2
- package/dist/fonts/Delivery/Delivery_W_Bd.woff2 +0 -0
- package/dist/fonts/Delivery/Delivery_W_BdIt.woff2 +0 -0
- package/dist/fonts/Delivery/Delivery_W_CdBlk.woff2 +0 -0
- package/dist/fonts/Delivery/Delivery_W_CdLt.woff2 +0 -0
- package/dist/fonts/Delivery/Delivery_W_It.woff2 +0 -0
- package/dist/fonts/Delivery/Delivery_W_Lt.woff2 +0 -0
- package/dist/fonts/Delivery/Delivery_W_LtIt.woff2 +0 -0
- package/dist/fonts/Delivery/Delivery_W_Rg.woff2 +0 -0
- package/src/scss/themes/_dark-base.scss +0 -207
- package/src/scss/themes/audi-light.scss +0 -341
- package/src/scss/themes/audi.scss +0 -303
- package/src/scss/themes/corporate.scss +0 -229
- package/src/scss/themes/dark-blue.scss +0 -165
- package/src/scss/themes/dark-green.scss +0 -169
- package/src/scss/themes/dark-red.scss +0 -173
- package/src/scss/themes/dark.scss +0 -158
- package/src/scss/themes/express.scss +0 -294
- package/src/scss/themes/minimal.scss +0 -134
|
@@ -1,341 +0,0 @@
|
|
|
1
|
-
/* Pure Admin Visual - Audi Light Theme */
|
|
2
|
-
/* Light version maintaining Audi's red accents and Fira Sans Condensed font */
|
|
3
|
-
@use 'sass:color';
|
|
4
|
-
|
|
5
|
-
// =============================================================================
|
|
6
|
-
// THEME COLOR SLOTS (1-9) - Audi-inspired palette
|
|
7
|
-
// =============================================================================
|
|
8
|
-
$color-1: #bb0a30; // Audi Red (classic)
|
|
9
|
-
$color-2: #ff4444; // Light Red
|
|
10
|
-
$color-3: #ff6600; // Orange (warning tone)
|
|
11
|
-
$color-4: #d4af37; // Gold (premium)
|
|
12
|
-
$color-5: #00a0a0; // Teal (contrast)
|
|
13
|
-
$color-6: #0066cc; // Blue (professional)
|
|
14
|
-
$color-7: #8c8c8c; // Silver (metallic)
|
|
15
|
-
$color-8: #404040; // Charcoal (neutral)
|
|
16
|
-
$color-9: #6b3fa0; // Purple (luxury)
|
|
17
|
-
|
|
18
|
-
@import '../variables';
|
|
19
|
-
|
|
20
|
-
// Audi Light theme configuration
|
|
21
|
-
$sidebar-width: 29rem; // 290px (10px base)
|
|
22
|
-
$border-radius: 1px; // Keep Audi's sharp edges
|
|
23
|
-
$border-radius-lg: 2px;
|
|
24
|
-
|
|
25
|
-
// Audi Light color palette
|
|
26
|
-
// Grays - light palette
|
|
27
|
-
$audi-white: #ffffff;
|
|
28
|
-
$audi-gray-50: #f8f9fa;
|
|
29
|
-
$audi-gray-100: #f1f3f5;
|
|
30
|
-
$audi-gray-200: #e9ecef;
|
|
31
|
-
$audi-gray-300: #dee2e6;
|
|
32
|
-
$audi-gray-400: #ced4da;
|
|
33
|
-
$audi-gray-500: #adb5bd;
|
|
34
|
-
$audi-gray-600: #6c757d;
|
|
35
|
-
$audi-gray-700: #495057;
|
|
36
|
-
$audi-gray-800: #343a40;
|
|
37
|
-
$audi-gray-900: #212529;
|
|
38
|
-
|
|
39
|
-
// Dark sidebar colors (for contrast)
|
|
40
|
-
$audi-sidebar-dark: #1a1a1a;
|
|
41
|
-
$audi-sidebar-darker: #0a0a0a;
|
|
42
|
-
$audi-sidebar-gray: #2a2a2a;
|
|
43
|
-
$audi-sidebar-gray-light: #333333;
|
|
44
|
-
|
|
45
|
-
// Audi signature red (unchanged)
|
|
46
|
-
$audi-red: #ff0000;
|
|
47
|
-
$audi-red-dark: #cc0000;
|
|
48
|
-
$audi-red-light: rgba(255, 0, 0, 0.1);
|
|
49
|
-
|
|
50
|
-
// Layout colors - light with dark sidebar
|
|
51
|
-
$primary-bg: $audi-gray-100;
|
|
52
|
-
$bg-secondary: $audi-gray-50;
|
|
53
|
-
$content-background-color: $audi-gray-100;
|
|
54
|
-
$header-bg: $audi-sidebar-dark; // Dark header
|
|
55
|
-
$header-border-color: $audi-gray-300;
|
|
56
|
-
$header-profile-name-color: #ffffff; // Light text on dark header
|
|
57
|
-
$sidebar-bg: $audi-sidebar-dark; // Dark sidebar for contrast
|
|
58
|
-
$sidebar-submenu-bg: $audi-sidebar-gray;
|
|
59
|
-
$sidebar-submenu-hover-bg: rgba($audi-red, 0.25); // Match level 1 hover (red accent)
|
|
60
|
-
$sidebar-submenu-active-bg: rgba($audi-red, 0.3); // Match level 1 active (red accent)
|
|
61
|
-
$footer-bg: $audi-sidebar-dark; // Dark footer
|
|
62
|
-
$border-color: $audi-gray-300;
|
|
63
|
-
$text-primary: $audi-gray-900;
|
|
64
|
-
$text-secondary: $audi-gray-600;
|
|
65
|
-
$accent-color: $audi-red;
|
|
66
|
-
$accent-hover: rgba($audi-red, 0.1);
|
|
67
|
-
$accent-light: rgba($audi-red, 0.05);
|
|
68
|
-
|
|
69
|
-
// Sync base variables with theme colors
|
|
70
|
-
$base-accent-color: $accent-color;
|
|
71
|
-
$base-accent-color-hover: color.adjust($base-accent-color, $lightness: 10%);
|
|
72
|
-
$base-accent-color-active: color.adjust($base-accent-color, $lightness: 20%);
|
|
73
|
-
$base-accent-color-light: $accent-light;
|
|
74
|
-
$base-accent-color-light-hover: rgba($base-accent-color, 0.08);
|
|
75
|
-
|
|
76
|
-
// Form focus colors - must match accent color
|
|
77
|
-
$input-focus-border-color: $accent-color;
|
|
78
|
-
$select-focus-border-color: $accent-color;
|
|
79
|
-
$textarea-focus-border-color: $accent-color;
|
|
80
|
-
|
|
81
|
-
// Checkbox colors - must match accent color
|
|
82
|
-
$checkbox-border-color-hover: $accent-color;
|
|
83
|
-
$checkbox-border-color-checked: $accent-color;
|
|
84
|
-
$checkbox-bg-checked: $accent-color;
|
|
85
|
-
$checkbox-bg-indeterminate: $accent-color;
|
|
86
|
-
$checkbox-focus-shadow: 0 0 0 2px rgba($accent-color, 0.25);
|
|
87
|
-
|
|
88
|
-
// Card colors
|
|
89
|
-
$card-bg: $audi-white;
|
|
90
|
-
$card-header-bg: $audi-gray-50;
|
|
91
|
-
$card-footer-bg: $audi-gray-50;
|
|
92
|
-
$card-tabs-bg: $audi-gray-200;
|
|
93
|
-
|
|
94
|
-
// Input colors
|
|
95
|
-
$input-bg: $audi-white;
|
|
96
|
-
$input-border: $audi-gray-300;
|
|
97
|
-
$input-text: $audi-gray-900;
|
|
98
|
-
|
|
99
|
-
// Table colors
|
|
100
|
-
$table-stripe: $audi-gray-50;
|
|
101
|
-
$table-bg: $audi-white;
|
|
102
|
-
$table-header-bg: $audi-gray-100;
|
|
103
|
-
$table-hover-bg: $audi-gray-50;
|
|
104
|
-
|
|
105
|
-
// Enable red accent on table row hover (Audi signature detail)
|
|
106
|
-
$table-hover-accent-width: 0.3rem; // 3px in 10px base
|
|
107
|
-
$table-hover-accent-color: $accent-color;
|
|
108
|
-
$table-hover-accent-position: left;
|
|
109
|
-
|
|
110
|
-
// Modal colors
|
|
111
|
-
$modal-content-bg: $audi-white;
|
|
112
|
-
$modal-overlay-bg: rgba($audi-sidebar-darker, 0.75);
|
|
113
|
-
|
|
114
|
-
// Button colors - Keep Audi's red primary/danger, adjust others for light theme
|
|
115
|
-
$btn-primary-bg: $audi-red;
|
|
116
|
-
$btn-primary-bg-hover: $audi-red-dark;
|
|
117
|
-
$btn-primary-text: #ffffff;
|
|
118
|
-
$btn-secondary-bg: $audi-gray-600;
|
|
119
|
-
$btn-secondary-bg-hover: $audi-gray-700;
|
|
120
|
-
$btn-secondary-text: #ffffff;
|
|
121
|
-
$btn-success-bg: #00cc44;
|
|
122
|
-
$btn-success-bg-hover: #009933;
|
|
123
|
-
$btn-success-text: #ffffff;
|
|
124
|
-
$btn-danger-bg: $audi-red;
|
|
125
|
-
$btn-danger-bg-hover: $audi-red-dark;
|
|
126
|
-
$btn-danger-text: #ffffff;
|
|
127
|
-
$btn-warning-bg: #ff6600;
|
|
128
|
-
$btn-warning-bg-hover: #e55a00;
|
|
129
|
-
$btn-warning-text: #ffffff;
|
|
130
|
-
$btn-info-bg: #0099ff;
|
|
131
|
-
$btn-info-bg-hover: #0077cc;
|
|
132
|
-
$btn-info-text: #ffffff;
|
|
133
|
-
$btn-light-bg: $audi-gray-200;
|
|
134
|
-
$btn-light-bg-hover: $audi-gray-300;
|
|
135
|
-
$btn-light-text: $audi-gray-900;
|
|
136
|
-
$btn-dark-bg: $audi-gray-900;
|
|
137
|
-
$btn-dark-bg-hover: $audi-gray-800;
|
|
138
|
-
$btn-dark-text: #ffffff;
|
|
139
|
-
|
|
140
|
-
// Validation shadow colors - match button colors
|
|
141
|
-
$success-bg: $btn-success-bg;
|
|
142
|
-
$success-bg-light: rgba(0, 204, 68, 0.1);
|
|
143
|
-
$warning-bg: $btn-warning-bg;
|
|
144
|
-
$warning-bg-light: rgba(255, 102, 0, 0.1);
|
|
145
|
-
$danger-bg: $btn-danger-bg;
|
|
146
|
-
$danger-bg-light: rgba(255, 0, 0, 0.1);
|
|
147
|
-
|
|
148
|
-
// Fira Sans Condensed fonts (local, same as Audi dark theme)
|
|
149
|
-
/* cyrillic-ext */
|
|
150
|
-
@font-face {
|
|
151
|
-
font-family: 'Fira Sans Condensed';
|
|
152
|
-
font-style: normal;
|
|
153
|
-
font-weight: 400;
|
|
154
|
-
font-display: swap;
|
|
155
|
-
src: url(/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfvtrftV.woff2) format('woff2');
|
|
156
|
-
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
|
157
|
-
}
|
|
158
|
-
/* cyrillic */
|
|
159
|
-
@font-face {
|
|
160
|
-
font-family: 'Fira Sans Condensed';
|
|
161
|
-
font-style: normal;
|
|
162
|
-
font-weight: 400;
|
|
163
|
-
font-display: swap;
|
|
164
|
-
src: url(/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfLtrftV.woff2) format('woff2');
|
|
165
|
-
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
|
166
|
-
}
|
|
167
|
-
/* greek-ext */
|
|
168
|
-
@font-face {
|
|
169
|
-
font-family: 'Fira Sans Condensed';
|
|
170
|
-
font-style: normal;
|
|
171
|
-
font-weight: 400;
|
|
172
|
-
font-display: swap;
|
|
173
|
-
src: url(/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfrtrftV.woff2) format('woff2');
|
|
174
|
-
unicode-range: U+1F00-1FFF;
|
|
175
|
-
}
|
|
176
|
-
/* greek */
|
|
177
|
-
@font-face {
|
|
178
|
-
font-family: 'Fira Sans Condensed';
|
|
179
|
-
font-style: normal;
|
|
180
|
-
font-weight: 400;
|
|
181
|
-
font-display: swap;
|
|
182
|
-
src: url(/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfXtrftV.woff2) format('woff2');
|
|
183
|
-
unicode-range: U+0370-03FF;
|
|
184
|
-
}
|
|
185
|
-
/* vietnamese */
|
|
186
|
-
@font-face {
|
|
187
|
-
font-family: 'Fira Sans Condensed';
|
|
188
|
-
font-style: normal;
|
|
189
|
-
font-weight: 400;
|
|
190
|
-
font-display: swap;
|
|
191
|
-
src: url(/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfntrftV.woff2) format('woff2');
|
|
192
|
-
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
|
|
193
|
-
}
|
|
194
|
-
/* latin-ext */
|
|
195
|
-
@font-face {
|
|
196
|
-
font-family: 'Fira Sans Condensed';
|
|
197
|
-
font-style: normal;
|
|
198
|
-
font-weight: 400;
|
|
199
|
-
font-display: swap;
|
|
200
|
-
src: url(/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfjtrftV.woff2) format('woff2');
|
|
201
|
-
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
|
202
|
-
}
|
|
203
|
-
/* latin */
|
|
204
|
-
@font-face {
|
|
205
|
-
font-family: 'Fira Sans Condensed';
|
|
206
|
-
font-style: normal;
|
|
207
|
-
font-weight: 400;
|
|
208
|
-
font-display: swap;
|
|
209
|
-
src: url(/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfbtrQ.woff2) format('woff2');
|
|
210
|
-
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
// Set body font
|
|
214
|
-
$body-font-family: "Fira Sans Condensed", "Arial Narrow", "Arial", sans-serif;
|
|
215
|
-
|
|
216
|
-
// Card styling - thicker border for Audi design language
|
|
217
|
-
$card-border-width: $border-width-medium;
|
|
218
|
-
$card-border-radius: 0; // Sharp edges
|
|
219
|
-
|
|
220
|
-
// Import core styles with overridden variables
|
|
221
|
-
@import '../core';
|
|
222
|
-
@import '../utilities';
|
|
223
|
-
@import '../base-css-variables';
|
|
224
|
-
|
|
225
|
-
// Audi Light specific overrides
|
|
226
|
-
// Sidebar text should be light on dark background
|
|
227
|
-
.pa-sidebar {
|
|
228
|
-
color: #ffffff;
|
|
229
|
-
|
|
230
|
-
&__link {
|
|
231
|
-
color: #cccccc;
|
|
232
|
-
|
|
233
|
-
&:hover {
|
|
234
|
-
color: #ffffff;
|
|
235
|
-
background-color: rgba($audi-red, 0.1);
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
&--active {
|
|
239
|
-
color: #ffffff;
|
|
240
|
-
background-color: rgba($audi-red, 0.15);
|
|
241
|
-
border-left: 3px solid $audi-red;
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
&__toggle {
|
|
246
|
-
color: #cccccc;
|
|
247
|
-
|
|
248
|
-
&:hover {
|
|
249
|
-
color: #ffffff;
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
// Header text visibility - light text on dark header
|
|
255
|
-
.pa-header {
|
|
256
|
-
&__brand h1 {
|
|
257
|
-
color: #ffffff !important;
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
&__nav > ul > li > a {
|
|
261
|
-
color: #cccccc !important;
|
|
262
|
-
|
|
263
|
-
&:hover {
|
|
264
|
-
color: $audi-red !important;
|
|
265
|
-
background-color: rgba($audi-red, 0.1) !important;
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
// Dropdown menu items - dark text on light background
|
|
270
|
-
&__dropdown li a {
|
|
271
|
-
color: $audi-gray-900 !important;
|
|
272
|
-
|
|
273
|
-
&:hover {
|
|
274
|
-
color: $audi-red !important;
|
|
275
|
-
background-color: rgba($audi-red, 0.05) !important;
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
&__title h2 {
|
|
280
|
-
color: #cccccc !important;
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
&__profile-btn {
|
|
284
|
-
color: #ffffff !important;
|
|
285
|
-
|
|
286
|
-
&:hover {
|
|
287
|
-
background-color: rgba($audi-red, 0.2) !important;
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
// Burger menu - light bars on dark header
|
|
293
|
-
.burger-menu {
|
|
294
|
-
span {
|
|
295
|
-
background-color: #ffffff !important;
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
&:hover span {
|
|
299
|
-
background-color: $audi-red !important;
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
// Theme switcher in header
|
|
304
|
-
.theme-switcher {
|
|
305
|
-
label {
|
|
306
|
-
color: #cccccc !important;
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
select {
|
|
310
|
-
background-color: $audi-sidebar-gray !important;
|
|
311
|
-
color: #ffffff !important;
|
|
312
|
-
border-color: $audi-sidebar-gray-light !important;
|
|
313
|
-
|
|
314
|
-
&:focus {
|
|
315
|
-
border-color: $audi-red !important;
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
// Footer - light text on dark background
|
|
321
|
-
.pa-layout__footer {
|
|
322
|
-
color: #cccccc;
|
|
323
|
-
|
|
324
|
-
a {
|
|
325
|
-
color: #ffffff;
|
|
326
|
-
|
|
327
|
-
&:hover {
|
|
328
|
-
color: $audi-red;
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
// CSS Variables for page loader (FOUC prevention) and base theme variables
|
|
334
|
-
:root {
|
|
335
|
-
--page-loader-bg: rgba(240, 240, 240, 0.95);
|
|
336
|
-
--page-loader-spinner-border: #d0d0d0;
|
|
337
|
-
--page-loader-spinner-accent: #bb0a30; // Audi red
|
|
338
|
-
|
|
339
|
-
// Base CSS variables for web components (daterangepicker, multiselect, etc.)
|
|
340
|
-
@include output-base-css-variables;
|
|
341
|
-
}
|
|
@@ -1,303 +0,0 @@
|
|
|
1
|
-
/* Pure Admin Visual - Audi Theme (Pure SCSS Variables) */
|
|
2
|
-
@use 'sass:color';
|
|
3
|
-
|
|
4
|
-
// =============================================================================
|
|
5
|
-
// THEME COLOR SLOTS (1-9) - Audi-inspired palette
|
|
6
|
-
// =============================================================================
|
|
7
|
-
$color-1: #bb0a30; // Audi Red (classic)
|
|
8
|
-
$color-2: #ff4444; // Light Red
|
|
9
|
-
$color-3: #ff6600; // Orange (warning tone)
|
|
10
|
-
$color-4: #d4af37; // Gold (premium)
|
|
11
|
-
$color-5: #00a0a0; // Teal (contrast)
|
|
12
|
-
$color-6: #0066cc; // Blue (professional)
|
|
13
|
-
$color-7: #8c8c8c; // Silver (metallic)
|
|
14
|
-
$color-8: #404040; // Charcoal (neutral)
|
|
15
|
-
$color-9: #6b3fa0; // Purple (luxury)
|
|
16
|
-
|
|
17
|
-
// 1. Import framework variables first (all defaults with !default flags)
|
|
18
|
-
@import '../variables';
|
|
19
|
-
|
|
20
|
-
// 2. Override SCSS variables for Audi theme
|
|
21
|
-
$sidebar-width: 29rem; // 290px (10px base)
|
|
22
|
-
$border-radius: 1px;
|
|
23
|
-
$border-radius-lg: 2px;
|
|
24
|
-
|
|
25
|
-
// Audi color palette
|
|
26
|
-
$audi-black: #000000; // Pure black
|
|
27
|
-
$audi-near-black: #0a0a0a; // Near black
|
|
28
|
-
$audi-dark: #1a1a1a; // Dark gray
|
|
29
|
-
$audi-gray: #2a2a2a; // Medium gray
|
|
30
|
-
$audi-gray-light: #333333; // Light gray
|
|
31
|
-
$audi-gray-lighter: #4d4d4d; // Lighter gray
|
|
32
|
-
$audi-gray-lightest: #666666;// Lightest gray
|
|
33
|
-
$audi-red: #ff0000; // Signature red
|
|
34
|
-
$audi-red-dark: #cc0000; // Dark red
|
|
35
|
-
|
|
36
|
-
// Audi theme colors - Sharp black/red German aesthetic
|
|
37
|
-
$primary-bg: $audi-near-black;
|
|
38
|
-
$bg-secondary: $audi-near-black;
|
|
39
|
-
$content-background-color: $audi-dark; // Settings panel and main content background
|
|
40
|
-
$header-bg: $audi-black;
|
|
41
|
-
$header-border-color: $audi-gray-light; // Match sidebar border color
|
|
42
|
-
$sidebar-bg: $audi-dark;
|
|
43
|
-
$sidebar-submenu-bg: $audi-gray-light;
|
|
44
|
-
$sidebar-submenu-hover-bg: rgba($audi-red, 0.25); // Match level 1 hover (red accent)
|
|
45
|
-
$sidebar-submenu-active-bg: rgba($audi-red, 0.3); // Match level 1 active (red accent)
|
|
46
|
-
$footer-bg: $audi-black;
|
|
47
|
-
$border-color: $audi-gray-light;
|
|
48
|
-
$text-primary: #ffffff;
|
|
49
|
-
$text-secondary: #cccccc;
|
|
50
|
-
$accent-color: $audi-red;
|
|
51
|
-
$accent-hover: rgba($audi-red, 0.3); // For active/selected state
|
|
52
|
-
$accent-light: rgba($audi-red, 0.25); // For hover state - increased for better visibility on dark bg
|
|
53
|
-
|
|
54
|
-
// Sync base variables with theme colors (for web components)
|
|
55
|
-
// Colors
|
|
56
|
-
$base-accent-color: $accent-color;
|
|
57
|
-
$base-accent-color-hover: color.adjust($base-accent-color, $lightness: 10%);
|
|
58
|
-
$base-accent-color-active: color.adjust($base-accent-color, $lightness: 20%);
|
|
59
|
-
$base-accent-color-light: $accent-light;
|
|
60
|
-
$base-accent-color-light-hover: rgba($base-accent-color, 0.3);
|
|
61
|
-
$base-primary-bg: $audi-dark;
|
|
62
|
-
$base-primary-bg-hover: $audi-gray;
|
|
63
|
-
$base-text-color-1: #ffffff;
|
|
64
|
-
$base-text-color-2: #cccccc;
|
|
65
|
-
$base-text-color-3: #999999;
|
|
66
|
-
$base-text-color-4: #666666;
|
|
67
|
-
$base-text-on-accent: #ffffff;
|
|
68
|
-
$base-border-color: $audi-gray-light;
|
|
69
|
-
|
|
70
|
-
// Input fields
|
|
71
|
-
$base-input-background: $audi-black;
|
|
72
|
-
$base-input-color: #ffffff;
|
|
73
|
-
$base-input-border: 1px solid $audi-gray-light;
|
|
74
|
-
$base-input-border-hover: 1px solid $accent-color;
|
|
75
|
-
$base-input-border-focus: 1px solid $accent-color;
|
|
76
|
-
$base-input-placeholder-color: #666666;
|
|
77
|
-
$base-input-background-disabled: rgba($audi-gray, 0.5);
|
|
78
|
-
|
|
79
|
-
// Dropdown/Popover
|
|
80
|
-
$base-dropdown-background: $audi-dark;
|
|
81
|
-
$base-dropdown-border: 1px solid $audi-gray-light;
|
|
82
|
-
$base-dropdown-box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4);
|
|
83
|
-
|
|
84
|
-
// Tooltip
|
|
85
|
-
$base-tooltip-background: $audi-gray-light;
|
|
86
|
-
$base-tooltip-text-color: #ffffff;
|
|
87
|
-
|
|
88
|
-
// Form focus colors - must match accent color
|
|
89
|
-
$input-focus-border-color: $accent-color;
|
|
90
|
-
$select-focus-border-color: $accent-color;
|
|
91
|
-
$textarea-focus-border-color: $accent-color;
|
|
92
|
-
|
|
93
|
-
// Checkbox colors - must match accent color
|
|
94
|
-
$checkbox-border-color-hover: $accent-color;
|
|
95
|
-
$checkbox-border-color-checked: $accent-color;
|
|
96
|
-
$checkbox-bg-checked: $accent-color;
|
|
97
|
-
$checkbox-bg-indeterminate: $accent-color;
|
|
98
|
-
$checkbox-focus-shadow: 0 0 0 2px rgba($accent-color, 0.25);
|
|
99
|
-
|
|
100
|
-
// Card colors
|
|
101
|
-
$card-bg: $audi-dark;
|
|
102
|
-
$card-header-bg: $audi-black;
|
|
103
|
-
$card-footer-bg: $audi-black;
|
|
104
|
-
$card-tabs-bg: $audi-gray-light;
|
|
105
|
-
|
|
106
|
-
// Input colors
|
|
107
|
-
$input-bg: $audi-black;
|
|
108
|
-
$input-border: $audi-gray-light;
|
|
109
|
-
$input-text: #ffffff;
|
|
110
|
-
|
|
111
|
-
// Multiselect dropdown colors (match dark theme)
|
|
112
|
-
$multiselect-dropdown-bg: $audi-dark;
|
|
113
|
-
$multiselect-dropdown-border: $audi-gray-light;
|
|
114
|
-
$multiselect-dropdown-text: #ffffff;
|
|
115
|
-
|
|
116
|
-
// Table colors
|
|
117
|
-
$table-stripe: $audi-gray; // Subtle stripe with medium gray
|
|
118
|
-
$table-bg: $audi-dark;
|
|
119
|
-
$table-header-bg: $audi-black;
|
|
120
|
-
$table-hover-bg: $audi-gray-light;
|
|
121
|
-
|
|
122
|
-
// Enable red accent on table row hover (Audi signature detail)
|
|
123
|
-
$table-hover-accent-width: 0.3rem; // 3px in 10px base
|
|
124
|
-
$table-hover-accent-color: $accent-color; // Uses the red #ff0000
|
|
125
|
-
$table-hover-accent-position: left;
|
|
126
|
-
|
|
127
|
-
// Modal colors
|
|
128
|
-
$modal-content-bg: $audi-dark;
|
|
129
|
-
$modal-overlay-bg: rgba($audi-black, 0.8);
|
|
130
|
-
|
|
131
|
-
// Profile name in header
|
|
132
|
-
$header-profile-name-color: #ffffff; // White text on black header
|
|
133
|
-
|
|
134
|
-
// Button colors - German precision with red accents
|
|
135
|
-
$btn-primary-bg: $audi-red;
|
|
136
|
-
$btn-primary-bg-hover: $audi-red-dark;
|
|
137
|
-
$btn-primary-text: #ffffff;
|
|
138
|
-
$btn-secondary-bg: $audi-gray-light;
|
|
139
|
-
$btn-secondary-bg-hover: $audi-gray-lighter;
|
|
140
|
-
$btn-secondary-text: #ffffff;
|
|
141
|
-
$btn-success-bg: #00cc44;
|
|
142
|
-
$btn-success-bg-hover: #009933;
|
|
143
|
-
$btn-success-text: #ffffff;
|
|
144
|
-
$btn-danger-bg: $audi-red;
|
|
145
|
-
$btn-danger-bg-hover: $audi-red-dark;
|
|
146
|
-
$btn-danger-text: #ffffff;
|
|
147
|
-
$btn-warning-bg: #ff6600;
|
|
148
|
-
$btn-warning-bg-hover: #e55a00;
|
|
149
|
-
$btn-warning-text: #ffffff;
|
|
150
|
-
$btn-info-bg: #0099ff;
|
|
151
|
-
$btn-info-bg-hover: #0077cc;
|
|
152
|
-
$btn-info-text: #ffffff;
|
|
153
|
-
$btn-light-bg: $audi-gray-lightest;
|
|
154
|
-
$btn-light-bg-hover: #808080;
|
|
155
|
-
$btn-light-text: #ffffff;
|
|
156
|
-
$btn-dark-bg: $audi-black;
|
|
157
|
-
$btn-dark-bg-hover: $audi-dark;
|
|
158
|
-
$btn-dark-text: #ffffff;
|
|
159
|
-
|
|
160
|
-
// Validation shadow colors - match button colors
|
|
161
|
-
$success-bg: $btn-success-bg;
|
|
162
|
-
$success-bg-light: rgba(0, 204, 68, 0.25);
|
|
163
|
-
$warning-bg: $btn-warning-bg;
|
|
164
|
-
$warning-bg-light: rgba(255, 102, 0, 0.25);
|
|
165
|
-
$danger-bg: $btn-danger-bg;
|
|
166
|
-
$danger-bg-light: rgba(255, 0, 0, 0.25);
|
|
167
|
-
|
|
168
|
-
// 3. Add Fira Sans Condensed fonts
|
|
169
|
-
/* cyrillic-ext */
|
|
170
|
-
@font-face {
|
|
171
|
-
font-family: 'Fira Sans Condensed';
|
|
172
|
-
font-style: normal;
|
|
173
|
-
font-weight: 400;
|
|
174
|
-
font-display: swap;
|
|
175
|
-
src: url(/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfvtrftV.woff2) format('woff2');
|
|
176
|
-
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
|
177
|
-
}
|
|
178
|
-
/* cyrillic */
|
|
179
|
-
@font-face {
|
|
180
|
-
font-family: 'Fira Sans Condensed';
|
|
181
|
-
font-style: normal;
|
|
182
|
-
font-weight: 400;
|
|
183
|
-
font-display: swap;
|
|
184
|
-
src: url(/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfLtrftV.woff2) format('woff2');
|
|
185
|
-
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
|
186
|
-
}
|
|
187
|
-
/* greek-ext */
|
|
188
|
-
@font-face {
|
|
189
|
-
font-family: 'Fira Sans Condensed';
|
|
190
|
-
font-style: normal;
|
|
191
|
-
font-weight: 400;
|
|
192
|
-
font-display: swap;
|
|
193
|
-
src: url(/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfrtrftV.woff2) format('woff2');
|
|
194
|
-
unicode-range: U+1F00-1FFF;
|
|
195
|
-
}
|
|
196
|
-
/* greek */
|
|
197
|
-
@font-face {
|
|
198
|
-
font-family: 'Fira Sans Condensed';
|
|
199
|
-
font-style: normal;
|
|
200
|
-
font-weight: 400;
|
|
201
|
-
font-display: swap;
|
|
202
|
-
src: url(/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfXtrftV.woff2) format('woff2');
|
|
203
|
-
unicode-range: U+0370-03FF;
|
|
204
|
-
}
|
|
205
|
-
/* vietnamese */
|
|
206
|
-
@font-face {
|
|
207
|
-
font-family: 'Fira Sans Condensed';
|
|
208
|
-
font-style: normal;
|
|
209
|
-
font-weight: 400;
|
|
210
|
-
font-display: swap;
|
|
211
|
-
src: url(/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfntrftV.woff2) format('woff2');
|
|
212
|
-
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
|
|
213
|
-
}
|
|
214
|
-
/* latin-ext */
|
|
215
|
-
@font-face {
|
|
216
|
-
font-family: 'Fira Sans Condensed';
|
|
217
|
-
font-style: normal;
|
|
218
|
-
font-weight: 400;
|
|
219
|
-
font-display: swap;
|
|
220
|
-
src: url(/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfjtrftV.woff2) format('woff2');
|
|
221
|
-
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
|
222
|
-
}
|
|
223
|
-
/* latin */
|
|
224
|
-
@font-face {
|
|
225
|
-
font-family: 'Fira Sans Condensed';
|
|
226
|
-
font-style: normal;
|
|
227
|
-
font-weight: 400;
|
|
228
|
-
font-display: swap;
|
|
229
|
-
src: url(/fonts/google/wEOhEADFm8hSaQTFG18FErVhsC9x-tarUfbtrQ.woff2) format('woff2');
|
|
230
|
-
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
// 4. Override font family SCSS variable after fonts are defined
|
|
234
|
-
$body-font-family: "Fira Sans Condensed", "Arial Narrow", "Arial", sans-serif;
|
|
235
|
-
|
|
236
|
-
// Card styling - thicker border for Audi design language
|
|
237
|
-
$card-border-width: $border-width-medium;
|
|
238
|
-
$card-border-radius: 0; // Sharp edges
|
|
239
|
-
|
|
240
|
-
// 5. Import core framework styles (will use all our SCSS variables)
|
|
241
|
-
@import '../core';
|
|
242
|
-
|
|
243
|
-
// 5b. Import utility classes
|
|
244
|
-
@import '../utilities';
|
|
245
|
-
@import '../base-css-variables';
|
|
246
|
-
|
|
247
|
-
// 6. Audi-specific styling overrides
|
|
248
|
-
.pa-btn--primary {
|
|
249
|
-
font-weight: $font-weight-bold;
|
|
250
|
-
color: #ffffff !important; // Ensure white text on red background
|
|
251
|
-
border-radius: 0 !important; // Sharp edges for German precision
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
.pa-btn--danger {
|
|
255
|
-
font-weight: $font-weight-bold;
|
|
256
|
-
text-transform: uppercase;
|
|
257
|
-
color: #ffffff !important; // Ensure white text on red background
|
|
258
|
-
border-radius: 0 !important; // Sharp edges for German precision
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
.pa-btn--secondary {
|
|
262
|
-
border-color: $audi-gray-lightest !important; // Lighter border for better visibility
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
.pa-btn--outline-secondary {
|
|
266
|
-
border-color: $audi-gray-lightest !important; // Lighter border for dark background
|
|
267
|
-
color: #cccccc !important; // Lighter text for dark background
|
|
268
|
-
|
|
269
|
-
&:hover {
|
|
270
|
-
background-color: $audi-gray-light !important;
|
|
271
|
-
color: #ffffff !important;
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
.pa-card {
|
|
276
|
-
box-shadow: 0 $spacing-xs ($spacing-sm * 2) rgba($audi-black, 0.8);
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
// Sidebar left-border accent (instead of default right-border)
|
|
280
|
-
.pa-sidebar__link {
|
|
281
|
-
border-left: $border-width-thick solid transparent; // Reserve space for active state
|
|
282
|
-
border-right: none; // Remove default right border reservation
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
.pa-sidebar__link--active {
|
|
286
|
-
border-left-color: $accent-color !important;
|
|
287
|
-
color: $accent-color !important;
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
.pa-sidebar__link--active .pa-sidebar__label,
|
|
291
|
-
.pa-sidebar__link--active .pa-sidebar__icon {
|
|
292
|
-
color: $accent-color !important;
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
// CSS Variables for page loader (FOUC prevention) and base theme variables
|
|
296
|
-
:root {
|
|
297
|
-
--page-loader-bg: rgba(10, 10, 10, 0.95);
|
|
298
|
-
--page-loader-spinner-border: #333;
|
|
299
|
-
--page-loader-spinner-accent: #ff0000; // Audi red
|
|
300
|
-
|
|
301
|
-
// Base CSS variables for web components (daterangepicker, multiselect, etc.)
|
|
302
|
-
@include output-base-css-variables;
|
|
303
|
-
}
|