@keenmate/pure-admin-core 1.0.0-rc04 → 1.0.0-rc06
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 +148 -0
- package/dist/css/main.css +558 -28
- package/package.json +1 -1
- package/snippets/layout.html +79 -38
- package/snippets/modals.html +43 -4
- package/snippets/tables.html +8 -6
- package/snippets/tooltips.html +68 -0
- package/src/scss/core-components/_buttons.scss +6 -0
- package/src/scss/core-components/_cards.scss +40 -4
- package/src/scss/core-components/_tables.scss +37 -13
- package/src/scss/core-components/_tabs.scss +122 -0
- package/src/scss/core-components/_tooltips.scss +40 -0
- package/src/scss/core-components/_utilities.scss +15 -0
- package/src/scss/core-components/forms/_form-inputs.scss +7 -1
- package/src/scss/core-components/layout/_layout-container.scss +32 -2
- package/src/scss/core-components/layout/_navbar-elements.scss +3 -2
- package/src/scss/core-components/layout/_navbar.scss +23 -0
- package/src/scss/themes/audi-light.scss +31 -1
- package/src/scss/themes/audi.scss +18 -3
- package/src/scss/themes/corporate.scss +26 -0
- package/src/scss/themes/dark-blue.scss +13 -0
- package/src/scss/themes/dark-green.scss +13 -0
- package/src/scss/themes/dark-red.scss +13 -0
- package/src/scss/themes/dark.scss +13 -0
- package/src/scss/themes/express.scss +13 -0
- package/src/scss/themes/minimal.scss +13 -0
- package/src/scss/variables/_components.scss +51 -12
|
@@ -322,6 +322,7 @@
|
|
|
322
322
|
border-radius: $border-radius-lg;
|
|
323
323
|
padding: $card-body-padding-v $card-body-padding-h;
|
|
324
324
|
background-color: var(--pa-card-bg);
|
|
325
|
+
margin-bottom: $spacing-base; // Match pa-card margin
|
|
325
326
|
|
|
326
327
|
// Remove bottom border from tabs since wrapper has border
|
|
327
328
|
.pa-tabs {
|
|
@@ -336,6 +337,126 @@
|
|
|
336
337
|
padding-top: $spacing-md;
|
|
337
338
|
}
|
|
338
339
|
}
|
|
340
|
+
|
|
341
|
+
// Card variant - tabs act as card header (same height as pa-card__header)
|
|
342
|
+
&--card {
|
|
343
|
+
position: relative; // For dropdown positioning
|
|
344
|
+
border: $card-border-width solid var(--pa-border-color);
|
|
345
|
+
border-radius: $card-border-radius;
|
|
346
|
+
background-color: var(--pa-card-bg);
|
|
347
|
+
box-shadow: $shadow-sm;
|
|
348
|
+
margin-bottom: $spacing-base; // Match pa-card margin
|
|
349
|
+
|
|
350
|
+
.pa-tabs {
|
|
351
|
+
height: $card-header-min-height;
|
|
352
|
+
padding: $card-header-padding-v $card-header-padding-h;
|
|
353
|
+
background: var(--pa-card-header-bg);
|
|
354
|
+
border-bottom: $border-width-base solid var(--pa-border-color);
|
|
355
|
+
box-sizing: border-box;
|
|
356
|
+
border-top-left-radius: $card-border-radius;
|
|
357
|
+
border-top-right-radius: $card-border-radius;
|
|
358
|
+
margin-bottom: 0;
|
|
359
|
+
align-items: center;
|
|
360
|
+
gap: $spacing-xs;
|
|
361
|
+
flex-wrap: nowrap;
|
|
362
|
+
overflow: visible; // Allow dropdown to overflow
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
.pa-tabs__content {
|
|
366
|
+
padding: $card-body-padding-v $card-body-padding-h;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
.pa-tabs__panel {
|
|
370
|
+
padding-top: 0;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
// Overflow toggle for tabs that don't fit
|
|
374
|
+
.pa-tabs__overflow {
|
|
375
|
+
position: relative;
|
|
376
|
+
margin-left: auto;
|
|
377
|
+
flex-shrink: 0;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
.pa-tabs__overflow-toggle {
|
|
381
|
+
position: relative;
|
|
382
|
+
display: flex;
|
|
383
|
+
align-items: center;
|
|
384
|
+
justify-content: center;
|
|
385
|
+
width: $card-header-min-height;
|
|
386
|
+
height: 100%;
|
|
387
|
+
padding: 0;
|
|
388
|
+
border: none;
|
|
389
|
+
background: transparent;
|
|
390
|
+
color: var(--pa-text-secondary);
|
|
391
|
+
cursor: pointer;
|
|
392
|
+
transition: all $transition-fast $easing-snappy;
|
|
393
|
+
border-left: $border-width-base solid var(--pa-border-color);
|
|
394
|
+
margin: (-$card-header-padding-v) (-$card-header-padding-h) (-$card-header-padding-v) 0;
|
|
395
|
+
box-sizing: content-box;
|
|
396
|
+
height: $card-header-min-height;
|
|
397
|
+
|
|
398
|
+
&:hover {
|
|
399
|
+
background-color: rgba($accent-color, $card-tab-hover-opacity);
|
|
400
|
+
color: var(--pa-text-primary);
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
// When overflow contains the active tab
|
|
404
|
+
&--has-active {
|
|
405
|
+
color: var(--pa-accent);
|
|
406
|
+
|
|
407
|
+
&::after {
|
|
408
|
+
content: '';
|
|
409
|
+
position: absolute;
|
|
410
|
+
bottom: 0;
|
|
411
|
+
left: 0;
|
|
412
|
+
right: 0;
|
|
413
|
+
height: $border-width-medium;
|
|
414
|
+
background: var(--pa-accent);
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
i {
|
|
419
|
+
font-size: $font-size-sm;
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
.pa-tabs__overflow-menu {
|
|
424
|
+
position: absolute;
|
|
425
|
+
top: $card-header-min-height;
|
|
426
|
+
right: 0;
|
|
427
|
+
min-width: 15rem;
|
|
428
|
+
background: var(--pa-card-bg);
|
|
429
|
+
border: $card-border-width solid var(--pa-border-color);
|
|
430
|
+
border-radius: $border-radius;
|
|
431
|
+
box-shadow: $shadow-lg;
|
|
432
|
+
z-index: $z-index-dropdown;
|
|
433
|
+
display: none;
|
|
434
|
+
flex-direction: column;
|
|
435
|
+
padding: $spacing-xs 0;
|
|
436
|
+
|
|
437
|
+
&--open {
|
|
438
|
+
display: flex;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
.pa-tabs__item {
|
|
442
|
+
padding: $spacing-sm $spacing-base;
|
|
443
|
+
border: none;
|
|
444
|
+
border-bottom: none;
|
|
445
|
+
border-radius: 0;
|
|
446
|
+
text-align: left;
|
|
447
|
+
white-space: nowrap;
|
|
448
|
+
|
|
449
|
+
&:hover {
|
|
450
|
+
background-color: rgba($accent-color, $card-tab-hover-opacity);
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
&--active {
|
|
454
|
+
background-color: rgba($accent-color, 0.1);
|
|
455
|
+
border-bottom: none;
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
}
|
|
339
460
|
}
|
|
340
461
|
|
|
341
462
|
// Vertical tabs layout wrapper (for proper spacing with content)
|
|
@@ -355,6 +476,7 @@
|
|
|
355
476
|
border-radius: $border-radius-lg;
|
|
356
477
|
padding: $card-body-padding-v $card-body-padding-h;
|
|
357
478
|
background-color: var(--pa-card-bg);
|
|
479
|
+
margin-bottom: $spacing-base; // Match pa-card margin
|
|
358
480
|
|
|
359
481
|
// Add divider between tabs and content (gap already provides spacing)
|
|
360
482
|
.pa-tabs--vertical {
|
|
@@ -237,6 +237,29 @@
|
|
|
237
237
|
border-left-color: var(--pa-btn-danger-bg);
|
|
238
238
|
}
|
|
239
239
|
|
|
240
|
+
// Numbered color variants (color-1 through color-9)
|
|
241
|
+
// These use theme-customizable colors from --pa-color-* CSS variables
|
|
242
|
+
@for $i from 1 through 9 {
|
|
243
|
+
&--color-#{$i}::before {
|
|
244
|
+
background-color: var(--pa-color-#{$i});
|
|
245
|
+
}
|
|
246
|
+
&--color-#{$i}::after {
|
|
247
|
+
border-top-color: var(--pa-color-#{$i});
|
|
248
|
+
}
|
|
249
|
+
&--color-#{$i}.pa-tooltip--right::after {
|
|
250
|
+
border-top-color: transparent;
|
|
251
|
+
border-right-color: var(--pa-color-#{$i});
|
|
252
|
+
}
|
|
253
|
+
&--color-#{$i}.pa-tooltip--bottom::after {
|
|
254
|
+
border-top-color: transparent;
|
|
255
|
+
border-bottom-color: var(--pa-color-#{$i});
|
|
256
|
+
}
|
|
257
|
+
&--color-#{$i}.pa-tooltip--left::after {
|
|
258
|
+
border-top-color: transparent;
|
|
259
|
+
border-left-color: var(--pa-color-#{$i});
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
|
|
240
263
|
// Smart positioning - collision detection adjustments
|
|
241
264
|
// Applied dynamically by JavaScript based on viewport boundaries
|
|
242
265
|
|
|
@@ -390,6 +413,7 @@
|
|
|
390
413
|
font-size: $font-size-sm;
|
|
391
414
|
line-height: $line-height-base;
|
|
392
415
|
color: var(--pa-text-primary);
|
|
416
|
+
text-align: left; // Reset inherited alignment for rich content
|
|
393
417
|
|
|
394
418
|
p {
|
|
395
419
|
margin: 0 0 $spacing-sm 0;
|
|
@@ -454,6 +478,15 @@
|
|
|
454
478
|
min-width: $popover-lg-min-width;
|
|
455
479
|
max-width: $popover-lg-max-width;
|
|
456
480
|
}
|
|
481
|
+
|
|
482
|
+
// Alignment variants
|
|
483
|
+
&--center &__body {
|
|
484
|
+
text-align: center;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
&--right &__body {
|
|
488
|
+
text-align: right;
|
|
489
|
+
}
|
|
457
490
|
}
|
|
458
491
|
|
|
459
492
|
// ========================================
|
|
@@ -500,4 +533,11 @@
|
|
|
500
533
|
background-color: var(--pa-btn-danger-bg);
|
|
501
534
|
color: var(--pa-btn-danger-text);
|
|
502
535
|
}
|
|
536
|
+
|
|
537
|
+
// Numbered color variants (color-1 through color-9)
|
|
538
|
+
@for $i from 1 through 9 {
|
|
539
|
+
&.pa-tooltip--color-#{$i} {
|
|
540
|
+
background-color: var(--pa-color-#{$i});
|
|
541
|
+
}
|
|
542
|
+
}
|
|
503
543
|
}
|
|
@@ -235,6 +235,13 @@ html.font-size-4xl {
|
|
|
235
235
|
.column-gap-base { column-gap: $spacing-base; }
|
|
236
236
|
.column-gap-lg { column-gap: $spacing-lg; }
|
|
237
237
|
|
|
238
|
+
// Align-self utilities (for flex/grid children)
|
|
239
|
+
.self-start { align-self: flex-start; }
|
|
240
|
+
.self-center { align-self: center; }
|
|
241
|
+
.self-end { align-self: flex-end; }
|
|
242
|
+
.self-stretch { align-self: stretch; }
|
|
243
|
+
.self-baseline { align-self: baseline; }
|
|
244
|
+
|
|
238
245
|
// Font-size utilities (10px rem base)
|
|
239
246
|
// Direct font-size classes using typography variables
|
|
240
247
|
.text-2xs { font-size: $font-size-2xs; } // 1rem = 10px
|
|
@@ -292,3 +299,11 @@ html.font-size-4xl {
|
|
|
292
299
|
}
|
|
293
300
|
}
|
|
294
301
|
|
|
302
|
+
// Theme color utilities (color-1 through color-9)
|
|
303
|
+
// Use these to apply theme colors to any element
|
|
304
|
+
@for $i from 1 through 9 {
|
|
305
|
+
.pa-bg-color-#{$i} { background-color: var(--pa-color-#{$i}); }
|
|
306
|
+
.pa-text-color-#{$i} { color: var(--pa-color-#{$i}); }
|
|
307
|
+
.pa-border-color-#{$i} { border-color: var(--pa-color-#{$i}); }
|
|
308
|
+
}
|
|
309
|
+
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
.pa-input {
|
|
8
8
|
width: 100%;
|
|
9
|
+
height: #{$base-input-size-md-height}rem;
|
|
9
10
|
padding: $input-padding-v $input-padding-h;
|
|
10
11
|
border: $border-width-base solid var(--pa-border-color);
|
|
11
12
|
border-radius: $border-radius;
|
|
@@ -23,6 +24,7 @@
|
|
|
23
24
|
|
|
24
25
|
.pa-select {
|
|
25
26
|
width: 100%;
|
|
27
|
+
height: #{$base-input-size-md-height}rem;
|
|
26
28
|
padding: $select-padding-v $select-padding-h;
|
|
27
29
|
border: $border-width-base solid var(--pa-border-color);
|
|
28
30
|
border-radius: $border-radius;
|
|
@@ -61,27 +63,31 @@
|
|
|
61
63
|
}
|
|
62
64
|
}
|
|
63
65
|
|
|
64
|
-
// Input Sizes
|
|
66
|
+
// Input Sizes - heights aligned with $base-input-size-* variables
|
|
65
67
|
.pa-input--xs,
|
|
66
68
|
.pa-select--xs {
|
|
69
|
+
height: #{$base-input-size-xs-height}rem;
|
|
67
70
|
padding: $input-padding-xs-v $input-padding-h;
|
|
68
71
|
font-size: $font-size-xs;
|
|
69
72
|
}
|
|
70
73
|
|
|
71
74
|
.pa-input--sm,
|
|
72
75
|
.pa-select--sm {
|
|
76
|
+
height: #{$base-input-size-sm-height}rem;
|
|
73
77
|
padding: $input-padding-v $input-padding-h;
|
|
74
78
|
font-size: $font-size-sm;
|
|
75
79
|
}
|
|
76
80
|
|
|
77
81
|
.pa-input--lg,
|
|
78
82
|
.pa-select--lg {
|
|
83
|
+
height: #{$base-input-size-lg-height}rem;
|
|
79
84
|
padding: $input-padding-v $input-padding-h;
|
|
80
85
|
font-size: $font-size-base;
|
|
81
86
|
}
|
|
82
87
|
|
|
83
88
|
.pa-input--xl,
|
|
84
89
|
.pa-select--xl {
|
|
90
|
+
height: #{$base-input-size-xl-height}rem;
|
|
85
91
|
padding: $input-padding-v $input-padding-h;
|
|
86
92
|
font-size: $font-size-lg;
|
|
87
93
|
}
|
|
@@ -95,11 +95,41 @@ body.pa-layout--sticky .pa-layout__inner {
|
|
|
95
95
|
|
|
96
96
|
// Footer - outside inner, sibling to inner
|
|
97
97
|
.pa-layout__footer {
|
|
98
|
-
height: $footer-height;
|
|
98
|
+
min-height: $footer-height;
|
|
99
99
|
background-color: var(--pa-footer-bg);
|
|
100
100
|
border-top: $border-width-base solid var(--pa-footer-border-color);
|
|
101
101
|
display: flex;
|
|
102
102
|
align-items: center;
|
|
103
|
-
padding:
|
|
103
|
+
padding: $spacing-xs $spacing-base;
|
|
104
104
|
flex-shrink: 0; // Don't shrink footer
|
|
105
|
+
gap: $spacing-base;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// Footer sections - Left/Center/Right layout (mirrors navbar structure)
|
|
109
|
+
.pa-footer__left {
|
|
110
|
+
display: flex;
|
|
111
|
+
align-items: center;
|
|
112
|
+
gap: $spacing-base;
|
|
113
|
+
flex-shrink: 0;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.pa-footer__center {
|
|
117
|
+
flex: 1;
|
|
118
|
+
min-width: 0; // Allow shrinking for ellipsis
|
|
119
|
+
display: flex;
|
|
120
|
+
align-items: center;
|
|
121
|
+
justify-content: center;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.pa-footer__right {
|
|
125
|
+
display: flex;
|
|
126
|
+
align-items: center;
|
|
127
|
+
gap: $spacing-base;
|
|
128
|
+
flex-shrink: 0;
|
|
129
|
+
|
|
130
|
+
&--vertical {
|
|
131
|
+
flex-direction: column;
|
|
132
|
+
align-items: flex-end;
|
|
133
|
+
gap: $spacing-xs;
|
|
134
|
+
}
|
|
105
135
|
}
|
|
@@ -60,12 +60,13 @@
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
+
// Note: margin auto no longer needed with pa-header__left/center/right structure
|
|
63
64
|
&--left {
|
|
64
|
-
|
|
65
|
+
// Elements in left section
|
|
65
66
|
}
|
|
66
67
|
|
|
67
68
|
&--right {
|
|
68
|
-
|
|
69
|
+
// Elements in right section
|
|
69
70
|
}
|
|
70
71
|
}
|
|
71
72
|
|
|
@@ -69,3 +69,26 @@ body.pa-container-2xl .pa-navbar {
|
|
|
69
69
|
align-items: center;
|
|
70
70
|
gap: $spacing-base;
|
|
71
71
|
}
|
|
72
|
+
|
|
73
|
+
// Header sections - Left/Center/Right layout
|
|
74
|
+
.pa-header__left {
|
|
75
|
+
display: flex;
|
|
76
|
+
align-items: center;
|
|
77
|
+
gap: $spacing-base;
|
|
78
|
+
flex-shrink: 0;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.pa-header__center {
|
|
82
|
+
flex: 1;
|
|
83
|
+
min-width: 0; // Allow shrinking for ellipsis
|
|
84
|
+
display: flex;
|
|
85
|
+
align-items: center;
|
|
86
|
+
justify-content: center;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.pa-header__right {
|
|
90
|
+
display: flex;
|
|
91
|
+
align-items: center;
|
|
92
|
+
gap: $spacing-base;
|
|
93
|
+
flex-shrink: 0;
|
|
94
|
+
}
|
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
/* Light version maintaining Audi's red accents and Fira Sans Condensed font */
|
|
3
3
|
@use 'sass:color';
|
|
4
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
|
+
|
|
5
18
|
@import '../variables';
|
|
6
19
|
|
|
7
20
|
// Audi Light theme configuration
|
|
@@ -90,7 +103,7 @@ $table-header-bg: $audi-gray-100;
|
|
|
90
103
|
$table-hover-bg: $audi-gray-50;
|
|
91
104
|
|
|
92
105
|
// Enable red accent on table row hover (Audi signature detail)
|
|
93
|
-
$table-hover-accent-width: 3px
|
|
106
|
+
$table-hover-accent-width: 0.3rem; // 3px in 10px base
|
|
94
107
|
$table-hover-accent-color: $accent-color;
|
|
95
108
|
$table-hover-accent-position: left;
|
|
96
109
|
|
|
@@ -200,6 +213,10 @@ $danger-bg-light: rgba(255, 0, 0, 0.1);
|
|
|
200
213
|
// Set body font
|
|
201
214
|
$body-font-family: "Fira Sans Condensed", "Arial Narrow", "Arial", sans-serif;
|
|
202
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
|
+
|
|
203
220
|
// Import core styles with overridden variables
|
|
204
221
|
@import '../core';
|
|
205
222
|
@import '../utilities';
|
|
@@ -300,6 +317,19 @@ $body-font-family: "Fira Sans Condensed", "Arial Narrow", "Arial", sans-serif;
|
|
|
300
317
|
}
|
|
301
318
|
}
|
|
302
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
|
+
|
|
303
333
|
// CSS Variables for page loader (FOUC prevention) and base theme variables
|
|
304
334
|
:root {
|
|
305
335
|
--page-loader-bg: rgba(240, 240, 240, 0.95);
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
/* Pure Admin Visual - Audi Theme (Pure SCSS Variables) */
|
|
2
2
|
@use 'sass:color';
|
|
3
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
|
+
|
|
4
17
|
// 1. Import framework variables first (all defaults with !default flags)
|
|
5
18
|
@import '../variables';
|
|
6
19
|
|
|
@@ -107,7 +120,7 @@ $table-header-bg: $audi-black;
|
|
|
107
120
|
$table-hover-bg: $audi-gray-light;
|
|
108
121
|
|
|
109
122
|
// Enable red accent on table row hover (Audi signature detail)
|
|
110
|
-
$table-hover-accent-width: 3px
|
|
123
|
+
$table-hover-accent-width: 0.3rem; // 3px in 10px base
|
|
111
124
|
$table-hover-accent-color: $accent-color; // Uses the red #ff0000
|
|
112
125
|
$table-hover-accent-position: left;
|
|
113
126
|
|
|
@@ -220,6 +233,10 @@ $danger-bg-light: rgba(255, 0, 0, 0.25);
|
|
|
220
233
|
// 4. Override font family SCSS variable after fonts are defined
|
|
221
234
|
$body-font-family: "Fira Sans Condensed", "Arial Narrow", "Arial", sans-serif;
|
|
222
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
|
+
|
|
223
240
|
// 5. Import core framework styles (will use all our SCSS variables)
|
|
224
241
|
@import '../core';
|
|
225
242
|
|
|
@@ -256,8 +273,6 @@ $body-font-family: "Fira Sans Condensed", "Arial Narrow", "Arial", sans-serif;
|
|
|
256
273
|
}
|
|
257
274
|
|
|
258
275
|
.pa-card {
|
|
259
|
-
border-radius: 0 !important; // Sharp edges
|
|
260
|
-
border: $border-width-medium solid $border-color;
|
|
261
276
|
box-shadow: 0 $spacing-xs ($spacing-sm * 2) rgba($audi-black, 0.8);
|
|
262
277
|
}
|
|
263
278
|
|
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
/* Corporate Theme for Pure Admin Visual - Professional blue/gray palette */
|
|
2
2
|
|
|
3
|
+
// =============================================================================
|
|
4
|
+
// THEME COLOR SLOTS (1-9) - Corporate professional palette
|
|
5
|
+
// =============================================================================
|
|
6
|
+
$color-1: #0284c7; // Corporate Blue (primary)
|
|
7
|
+
$color-2: #0ea5e9; // Sky Blue (lighter)
|
|
8
|
+
$color-3: #10b981; // Emerald (success)
|
|
9
|
+
$color-4: #f59e0b; // Amber (attention)
|
|
10
|
+
$color-5: #6366f1; // Indigo (accent)
|
|
11
|
+
$color-6: #8b5cf6; // Violet (creative)
|
|
12
|
+
$color-7: #64748b; // Slate (neutral)
|
|
13
|
+
$color-8: #334155; // Dark Slate (contrast)
|
|
14
|
+
$color-9: #ec4899; // Pink (highlight)
|
|
15
|
+
|
|
3
16
|
@import '../variables';
|
|
4
17
|
|
|
5
18
|
// Corporate color palette
|
|
@@ -192,6 +205,19 @@ $modal-content-bg: #ffffff;
|
|
|
192
205
|
}
|
|
193
206
|
}
|
|
194
207
|
|
|
208
|
+
// Footer - light text on dark background
|
|
209
|
+
.pa-layout__footer {
|
|
210
|
+
color: $corporate-slate-300;
|
|
211
|
+
|
|
212
|
+
a {
|
|
213
|
+
color: #ffffff;
|
|
214
|
+
|
|
215
|
+
&:hover {
|
|
216
|
+
color: $corporate-blue-500;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
|
|
195
221
|
// CSS Variables for page loader (FOUC prevention) and base theme variables
|
|
196
222
|
:root {
|
|
197
223
|
--page-loader-bg: rgba(26, 26, 26, 0.95);
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
/* Dark Blue Theme for Pure Admin Visual */
|
|
2
2
|
@use 'sass:color';
|
|
3
3
|
|
|
4
|
+
// =============================================================================
|
|
5
|
+
// THEME COLOR SLOTS (1-9) - Dark blue palette
|
|
6
|
+
// =============================================================================
|
|
7
|
+
$color-1: #3b82f6; // Blue 500 (primary)
|
|
8
|
+
$color-2: #60a5fa; // Blue 400 (lighter)
|
|
9
|
+
$color-3: #22c55e; // Green 500 (success)
|
|
10
|
+
$color-4: #eab308; // Yellow 500 (warning)
|
|
11
|
+
$color-5: #a855f7; // Purple 500 (accent)
|
|
12
|
+
$color-6: #06b6d4; // Cyan 500 (info)
|
|
13
|
+
$color-7: #94a3b8; // Slate 400 (neutral)
|
|
14
|
+
$color-8: #f1f5f9; // Slate 100 (light)
|
|
15
|
+
$color-9: #f43f5e; // Rose 500 (highlight)
|
|
16
|
+
|
|
4
17
|
@import '../variables';
|
|
5
18
|
|
|
6
19
|
// Dark blue theme color palette
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
/* Dark Green Theme for Pure Admin Visual */
|
|
2
2
|
@use 'sass:color';
|
|
3
3
|
|
|
4
|
+
// =============================================================================
|
|
5
|
+
// THEME COLOR SLOTS (1-9) - Dark green palette
|
|
6
|
+
// =============================================================================
|
|
7
|
+
$color-1: #22c55e; // Green 500 (primary)
|
|
8
|
+
$color-2: #4ade80; // Green 400 (lighter)
|
|
9
|
+
$color-3: #84cc16; // Lime 500 (accent)
|
|
10
|
+
$color-4: #eab308; // Yellow 500 (warning)
|
|
11
|
+
$color-5: #14b8a6; // Teal 500 (info)
|
|
12
|
+
$color-6: #3b82f6; // Blue 500 (contrast)
|
|
13
|
+
$color-7: #a3e635; // Lime 400 (highlight)
|
|
14
|
+
$color-8: #f0fdf4; // Green 50 (light)
|
|
15
|
+
$color-9: #f97316; // Orange 500 (alert)
|
|
16
|
+
|
|
4
17
|
@import '../variables';
|
|
5
18
|
|
|
6
19
|
// Dark green theme color palette
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
/* Dark Red Theme for Pure Admin Visual */
|
|
2
2
|
@use 'sass:color';
|
|
3
3
|
|
|
4
|
+
// =============================================================================
|
|
5
|
+
// THEME COLOR SLOTS (1-9) - Dark red palette
|
|
6
|
+
// =============================================================================
|
|
7
|
+
$color-1: #ef4444; // Red 500 (primary)
|
|
8
|
+
$color-2: #f87171; // Red 400 (lighter)
|
|
9
|
+
$color-3: #f97316; // Orange 500 (accent)
|
|
10
|
+
$color-4: #eab308; // Yellow 500 (warning)
|
|
11
|
+
$color-5: #ec4899; // Pink 500 (secondary)
|
|
12
|
+
$color-6: #8b5cf6; // Violet 500 (contrast)
|
|
13
|
+
$color-7: #fca5a5; // Red 300 (muted)
|
|
14
|
+
$color-8: #fef2f2; // Red 50 (light)
|
|
15
|
+
$color-9: #06b6d4; // Cyan 500 (cool contrast)
|
|
16
|
+
|
|
4
17
|
@import '../variables';
|
|
5
18
|
|
|
6
19
|
// Dark red theme color palette
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
/* Dark Theme for Pure Admin Visual */
|
|
2
2
|
@use 'sass:color';
|
|
3
3
|
|
|
4
|
+
// =============================================================================
|
|
5
|
+
// THEME COLOR SLOTS (1-9) - Dark theme vibrant palette
|
|
6
|
+
// =============================================================================
|
|
7
|
+
$color-1: #4dabf7; // Light Blue (primary)
|
|
8
|
+
$color-2: #69db7c; // Light Green (success)
|
|
9
|
+
$color-3: #ffd43b; // Yellow (warning)
|
|
10
|
+
$color-4: #ff6b6b; // Light Red (danger)
|
|
11
|
+
$color-5: #da77f2; // Light Purple (accent)
|
|
12
|
+
$color-6: #38d9a9; // Teal (info)
|
|
13
|
+
$color-7: #adb5bd; // Gray (neutral)
|
|
14
|
+
$color-8: #f8f9fa; // Light (contrast)
|
|
15
|
+
$color-9: #ffa94d; // Orange (highlight)
|
|
16
|
+
|
|
4
17
|
@import '../variables';
|
|
5
18
|
|
|
6
19
|
// Dark theme color palette
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
/* Express Theme - Bold yellow and red palette inspired by logistics brands */
|
|
2
2
|
@use 'sass:color';
|
|
3
3
|
|
|
4
|
+
// =============================================================================
|
|
5
|
+
// THEME COLOR SLOTS (1-9) - Express logistics palette
|
|
6
|
+
// =============================================================================
|
|
7
|
+
$color-1: #D40511; // Express Red (primary)
|
|
8
|
+
$color-2: #FFCC00; // Express Yellow (brand)
|
|
9
|
+
$color-3: #ff6b00; // Orange (urgent)
|
|
10
|
+
$color-4: #00a651; // Green (delivered)
|
|
11
|
+
$color-5: #0066cc; // Blue (tracking)
|
|
12
|
+
$color-6: #6b3fa0; // Purple (premium)
|
|
13
|
+
$color-7: #8C8C8C; // Gray (neutral)
|
|
14
|
+
$color-8: #333333; // Dark (contrast)
|
|
15
|
+
$color-9: #00b4d8; // Cyan (info)
|
|
16
|
+
|
|
4
17
|
@import '../variables';
|
|
5
18
|
|
|
6
19
|
// Express color palette - Bold yellow and red
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
/* Minimal Theme for Pure Admin Visual - Ultra clean, monochrome approach */
|
|
2
2
|
@use 'sass:color';
|
|
3
3
|
|
|
4
|
+
// =============================================================================
|
|
5
|
+
// THEME COLOR SLOTS (1-9) - Minimal muted palette
|
|
6
|
+
// =============================================================================
|
|
7
|
+
$color-1: #374151; // Gray 700 (primary)
|
|
8
|
+
$color-2: #6b7280; // Gray 500 (secondary)
|
|
9
|
+
$color-3: #059669; // Emerald 600 (muted success)
|
|
10
|
+
$color-4: #d97706; // Amber 600 (muted warning)
|
|
11
|
+
$color-5: #4f46e5; // Indigo 600 (accent)
|
|
12
|
+
$color-6: #7c3aed; // Violet 600 (subtle)
|
|
13
|
+
$color-7: #9ca3af; // Gray 400 (light)
|
|
14
|
+
$color-8: #1f2937; // Gray 800 (dark)
|
|
15
|
+
$color-9: #db2777; // Pink 600 (highlight)
|
|
16
|
+
|
|
4
17
|
@import '../variables';
|
|
5
18
|
|
|
6
19
|
// Minimal theme color palette - grayscale focused
|