@keenmate/pure-admin-core 1.0.0-rc06 → 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 +1313 -452
- package/package.json +1 -1
- package/snippets/customization.html +1 -1
- package/snippets/layout.html +66 -0
- 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/_grid.scss +25 -0
- 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 +74 -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 -379
- package/src/scss/core-components/_scrollbars.scss +40 -41
- 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 +35 -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-groups.scss +13 -11
- 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 +33 -1
- package/src/scss/core-components/layout/_navbar-elements.scss +1 -1
- package/src/scss/core-components/layout/_sidebar.scss +53 -2
- package/src/scss/utilities.scss +81 -2
- 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
|
@@ -6,14 +6,18 @@
|
|
|
6
6
|
// IMPORTANT: Order matters for dependencies!
|
|
7
7
|
// 1. Base variables are the SOURCE OF TRUTH (standalone, no imports)
|
|
8
8
|
// 2. All other modules can import from base and derive their values
|
|
9
|
+
//
|
|
10
|
+
// NOTE: We use @import (not @forward) to ensure variables share the global
|
|
11
|
+
// scope. This allows themes to set variables BEFORE importing, and the
|
|
12
|
+
// !default flags will skip already-defined variables.
|
|
9
13
|
|
|
10
14
|
// Base variables FIRST - single source of truth for theming
|
|
11
|
-
@
|
|
15
|
+
@import 'base';
|
|
12
16
|
|
|
13
17
|
// Derived framework variables (can use base values)
|
|
14
|
-
@
|
|
15
|
-
@
|
|
16
|
-
@
|
|
17
|
-
@
|
|
18
|
-
@
|
|
19
|
-
@
|
|
18
|
+
@import 'typography';
|
|
19
|
+
@import 'spacing';
|
|
20
|
+
@import 'colors';
|
|
21
|
+
@import 'layout';
|
|
22
|
+
@import 'system';
|
|
23
|
+
@import 'components';
|
|
@@ -14,6 +14,18 @@ $spacing-lg: 2.4rem !default; // 24px (was 1.5rem)
|
|
|
14
14
|
$spacing-xl: 3.2rem !default; // 32px (was 2rem)
|
|
15
15
|
$spacing-2xl: 4.8rem !default; // 48px (was 3rem)
|
|
16
16
|
|
|
17
|
+
// Semantic spacers map (for utility class generation)
|
|
18
|
+
$semantic-spacers: (
|
|
19
|
+
'0': 0,
|
|
20
|
+
'xs': $spacing-xs,
|
|
21
|
+
'sm': $spacing-sm,
|
|
22
|
+
'md': $spacing-md,
|
|
23
|
+
'base': $spacing-base,
|
|
24
|
+
'lg': $spacing-lg,
|
|
25
|
+
'xl': $spacing-xl,
|
|
26
|
+
'2xl': $spacing-2xl
|
|
27
|
+
) !default;
|
|
28
|
+
|
|
17
29
|
// Border widths
|
|
18
30
|
$border-width-thin: 1px !default;
|
|
19
31
|
$border-width-base: 1px !default;
|
|
@@ -10,8 +10,8 @@ $font-stack-system: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxyge
|
|
|
10
10
|
$font-stack-serif: Georgia, "Times New Roman", Times, serif !default;
|
|
11
11
|
$font-stack-mono: "Courier New", Courier, monospace !default;
|
|
12
12
|
|
|
13
|
-
// Body font (
|
|
14
|
-
$body-font-family: $font-
|
|
13
|
+
// Body font (derived from $base-font-family, themes override that)
|
|
14
|
+
$body-font-family: $base-font-family !default;
|
|
15
15
|
|
|
16
16
|
// Font sizes (all in rem for consistency) - 10px base
|
|
17
17
|
$font-size-2xs: 1rem !default; // 10px (was 0.625rem)
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
/* Dark Theme Base Template - Reusable mixin for dark theme variants */
|
|
2
|
-
|
|
3
|
-
@mixin dark-theme-base(
|
|
4
|
-
$theme-name,
|
|
5
|
-
$primary-bg,
|
|
6
|
-
$content-bg,
|
|
7
|
-
$header-bg,
|
|
8
|
-
$sidebar-bg,
|
|
9
|
-
$footer-bg,
|
|
10
|
-
$border-color,
|
|
11
|
-
$text-primary,
|
|
12
|
-
$text-secondary,
|
|
13
|
-
$accent-color,
|
|
14
|
-
$accent-hover,
|
|
15
|
-
$accent-light,
|
|
16
|
-
$card-bg,
|
|
17
|
-
$card-header-bg,
|
|
18
|
-
$card-footer-bg,
|
|
19
|
-
$card-tabs-bg,
|
|
20
|
-
$input-bg,
|
|
21
|
-
$table-bg,
|
|
22
|
-
$table-header-bg,
|
|
23
|
-
$table-hover-bg,
|
|
24
|
-
$table-stripe,
|
|
25
|
-
$btn-colors,
|
|
26
|
-
$modal-overlay-bg,
|
|
27
|
-
$modal-content-bg
|
|
28
|
-
) {
|
|
29
|
-
[data-theme="#{$theme-name}"] {
|
|
30
|
-
// Layout dimensions (same across themes)
|
|
31
|
-
--header-height: 2.5rem;
|
|
32
|
-
--footer-height: 2rem;
|
|
33
|
-
--sidebar-width: 12rem;
|
|
34
|
-
|
|
35
|
-
// Theme colors
|
|
36
|
-
--primary-bg: #{$primary-bg};
|
|
37
|
-
--content-background-color: #{$content-bg};
|
|
38
|
-
--header-bg: #{$header-bg};
|
|
39
|
-
--sidebar-bg: #{$sidebar-bg};
|
|
40
|
-
--footer-bg: #{$footer-bg};
|
|
41
|
-
--border-color: #{$border-color};
|
|
42
|
-
--text-primary: #{$text-primary};
|
|
43
|
-
--text-secondary: #{$text-secondary};
|
|
44
|
-
--accent-color: #{$accent-color};
|
|
45
|
-
--accent-hover: #{$accent-hover};
|
|
46
|
-
--accent-light: #{$accent-light};
|
|
47
|
-
|
|
48
|
-
// Card colors
|
|
49
|
-
--card-bg: #{$card-bg};
|
|
50
|
-
--card-header-bg: #{$card-header-bg};
|
|
51
|
-
--card-footer-bg: #{$card-footer-bg};
|
|
52
|
-
--card-tabs-bg: #{$card-tabs-bg};
|
|
53
|
-
|
|
54
|
-
// Input colors
|
|
55
|
-
--input-bg: #{$input-bg};
|
|
56
|
-
--input-border: var(--border-color);
|
|
57
|
-
--input-text: var(--text-primary);
|
|
58
|
-
|
|
59
|
-
// Table colors
|
|
60
|
-
--table-bg: #{$table-bg};
|
|
61
|
-
--table-header-bg: #{$table-header-bg};
|
|
62
|
-
--table-hover-bg: #{$table-hover-bg};
|
|
63
|
-
--table-stripe: #{$table-stripe};
|
|
64
|
-
|
|
65
|
-
// Button colors
|
|
66
|
-
--btn-primary-bg: #{map-get($btn-colors, primary)};
|
|
67
|
-
--btn-primary-bg-hover: #{map-get($btn-colors, primary-hover)};
|
|
68
|
-
--btn-secondary-bg: #{map-get($btn-colors, secondary)};
|
|
69
|
-
--btn-secondary-bg-hover: #{map-get($btn-colors, secondary-hover)};
|
|
70
|
-
--btn-success-bg: #{map-get($btn-colors, success)};
|
|
71
|
-
--btn-success-bg-hover: #{map-get($btn-colors, success-hover)};
|
|
72
|
-
--btn-warning-bg: #{map-get($btn-colors, warning)};
|
|
73
|
-
--btn-warning-text: #ffffff;
|
|
74
|
-
--btn-danger-bg: #{map-get($btn-colors, danger)};
|
|
75
|
-
--btn-danger-bg-hover: #{map-get($btn-colors, danger-hover)};
|
|
76
|
-
--btn-info-bg: #{map-get($btn-colors, info)};
|
|
77
|
-
--btn-info-bg-hover: #{map-get($btn-colors, info-hover)};
|
|
78
|
-
--btn-light-bg: #{map-get($btn-colors, light)};
|
|
79
|
-
--btn-light-text: #{map-get($btn-colors, light-text)};
|
|
80
|
-
--btn-light-bg-hover: #{map-get($btn-colors, light-hover)};
|
|
81
|
-
--btn-dark-bg: #{map-get($btn-colors, dark)};
|
|
82
|
-
--btn-dark-bg-hover: #{map-get($btn-colors, dark-hover)};
|
|
83
|
-
|
|
84
|
-
// Modal colors
|
|
85
|
-
--modal-overlay-bg: #{$modal-overlay-bg};
|
|
86
|
-
--modal-content-bg: #{$modal-content-bg};
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
[data-theme="#{$theme-name}"] {
|
|
90
|
-
body {
|
|
91
|
-
background-color: var(--content-background-color);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
.admin-content {
|
|
95
|
-
background-color: var(--content-background-color);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
.content-section {
|
|
99
|
-
background: #{$card-bg};
|
|
100
|
-
border: 1px solid var(--border-color);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
.long-content .content-block {
|
|
104
|
-
background: #{$card-bg};
|
|
105
|
-
border: 1px solid var(--border-color);
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
.pa-card {
|
|
109
|
-
background: var(--card-bg);
|
|
110
|
-
border-color: var(--border-color);
|
|
111
|
-
|
|
112
|
-
&__header {
|
|
113
|
-
background: var(--card-header-bg);
|
|
114
|
-
border-color: var(--border-color);
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
&__footer {
|
|
118
|
-
background: var(--card-footer-bg);
|
|
119
|
-
border-color: var(--border-color);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
.pa-input,
|
|
124
|
-
.pa-select,
|
|
125
|
-
.pa-textarea {
|
|
126
|
-
background-color: var(--input-bg);
|
|
127
|
-
border-color: var(--border-color);
|
|
128
|
-
color: var(--text-primary);
|
|
129
|
-
|
|
130
|
-
&:focus {
|
|
131
|
-
border-color: var(--accent-color);
|
|
132
|
-
box-shadow: 0 0 0 3px var(--accent-light);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/* Table styling - comprehensive overrides */
|
|
137
|
-
.pa-table {
|
|
138
|
-
background-color: var(--table-bg);
|
|
139
|
-
color: var(--text-primary);
|
|
140
|
-
|
|
141
|
-
th {
|
|
142
|
-
background-color: var(--table-header-bg);
|
|
143
|
-
color: var(--text-primary);
|
|
144
|
-
border-color: var(--border-color);
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
td {
|
|
148
|
-
background-color: var(--table-bg);
|
|
149
|
-
color: var(--text-primary);
|
|
150
|
-
border-color: var(--border-color);
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
tr {
|
|
154
|
-
background-color: var(--table-bg);
|
|
155
|
-
|
|
156
|
-
&:hover {
|
|
157
|
-
background-color: var(--table-hover-bg);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
tbody {
|
|
162
|
-
tr {
|
|
163
|
-
background-color: var(--table-bg) !important;
|
|
164
|
-
|
|
165
|
-
&:hover {
|
|
166
|
-
background-color: var(--table-hover-bg) !important;
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
td {
|
|
171
|
-
background-color: transparent !important;
|
|
172
|
-
color: var(--text-primary);
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
/* Pure CSS table overrides */
|
|
178
|
-
.pure-table {
|
|
179
|
-
background-color: var(--table-bg);
|
|
180
|
-
color: var(--text-primary);
|
|
181
|
-
|
|
182
|
-
td,
|
|
183
|
-
th {
|
|
184
|
-
background-color: var(--table-bg);
|
|
185
|
-
color: var(--text-primary);
|
|
186
|
-
border-color: var(--border-color);
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
thead th {
|
|
190
|
-
background-color: var(--table-header-bg);
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
&-striped tr:nth-child(2n-1) td {
|
|
194
|
-
background-color: var(--table-stripe);
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
tr:hover td {
|
|
198
|
-
background-color: var(--table-hover-bg);
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
.component-card {
|
|
203
|
-
background: var(--card-bg);
|
|
204
|
-
border-color: var(--border-color);
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
}
|
|
@@ -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
|
-
}
|