@keenmate/pure-admin-theme-dark 1.0.0-rc01 → 1.0.0-rc04
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/dist/dark.css +1489 -411
- package/package.json +3 -3
- package/src/scss/dark.scss +122 -85
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@keenmate/pure-admin-theme-dark",
|
|
3
|
-
"version": "1.0.0-
|
|
3
|
+
"version": "1.0.0-rc04",
|
|
4
4
|
"description": "Dark theme for Pure Admin with color variants (blue, green, red) via CSS classes",
|
|
5
5
|
"style": "dist/dark.css",
|
|
6
6
|
"exports": {
|
|
@@ -19,10 +19,10 @@
|
|
|
19
19
|
"author": "KeenMate",
|
|
20
20
|
"license": "MIT",
|
|
21
21
|
"peerDependencies": {
|
|
22
|
-
"@keenmate/pure-admin-core": "^1.0.0-
|
|
22
|
+
"@keenmate/pure-admin-core": "^1.0.0-rc04"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"@keenmate/pure-admin-core": "^1.0.0-
|
|
25
|
+
"@keenmate/pure-admin-core": "^1.0.0-rc04",
|
|
26
26
|
"sass": "^1.70.0"
|
|
27
27
|
},
|
|
28
28
|
"publishConfig": {
|
package/src/scss/dark.scss
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/* Dark Theme for Pure Admin Visual */
|
|
2
2
|
@use 'sass:color';
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
//
|
|
4
|
+
// ============================================================================
|
|
5
|
+
// DARK THEME COLOR PALETTE
|
|
6
|
+
// ============================================================================
|
|
7
7
|
$dark-bg-primary: #1a1a1a;
|
|
8
8
|
$dark-bg-secondary: #2a2a2a;
|
|
9
9
|
$dark-bg-tertiary: #333333;
|
|
@@ -17,67 +17,99 @@ $dark-text-secondary: #b8b8b8;
|
|
|
17
17
|
|
|
18
18
|
$dark-accent: #4dabf7;
|
|
19
19
|
|
|
20
|
-
//
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
$
|
|
27
|
-
$
|
|
28
|
-
$
|
|
29
|
-
$
|
|
30
|
-
$
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
$
|
|
34
|
-
$
|
|
35
|
-
|
|
36
|
-
// Sync base variables with theme colors (for web components)
|
|
37
|
-
// Colors
|
|
38
|
-
$base-accent-color: $accent-color;
|
|
39
|
-
$base-accent-color-hover: color.adjust($base-accent-color, $lightness: 10%);
|
|
40
|
-
$base-accent-color-active: color.adjust($base-accent-color, $lightness: 20%);
|
|
41
|
-
$base-accent-color-light: $accent-light;
|
|
42
|
-
$base-accent-color-light-hover: rgba($base-accent-color, 0.12);
|
|
43
|
-
$base-primary-bg: $dark-bg-secondary;
|
|
44
|
-
$base-primary-bg-hover: $dark-bg-tertiary;
|
|
45
|
-
$base-text-color-1: #ffffff;
|
|
46
|
-
$base-text-color-2: #b8b8b8;
|
|
20
|
+
// ============================================================================
|
|
21
|
+
// BASE VARIABLES - Single Source of Truth
|
|
22
|
+
// ============================================================================
|
|
23
|
+
// All framework variables will derive from these
|
|
24
|
+
|
|
25
|
+
// Accent colors
|
|
26
|
+
$base-accent-color: $dark-accent;
|
|
27
|
+
$base-accent-color-hover: color.adjust($dark-accent, $lightness: 10%);
|
|
28
|
+
$base-accent-color-active: color.adjust($dark-accent, $lightness: 20%);
|
|
29
|
+
$base-accent-color-light: rgba($dark-accent, 0.08);
|
|
30
|
+
$base-accent-color-light-hover: rgba($dark-accent, 0.12);
|
|
31
|
+
|
|
32
|
+
// Text colors (dark theme = light text)
|
|
33
|
+
$base-text-color-1: $dark-text-primary;
|
|
34
|
+
$base-text-color-2: $dark-text-secondary;
|
|
47
35
|
$base-text-color-3: #888888;
|
|
48
36
|
$base-text-color-4: #666666;
|
|
49
|
-
$base-text-on-accent: #ffffff;
|
|
37
|
+
$base-text-color-on-accent: #ffffff;
|
|
38
|
+
|
|
39
|
+
// Surface colors (dark theme = dark surfaces)
|
|
40
|
+
$base-surface-1: $dark-bg-secondary; // Cards, modals
|
|
41
|
+
$base-surface-2: $dark-bg-primary; // Page background
|
|
42
|
+
$base-surface-3: $dark-bg-quaternary; // Dividers
|
|
43
|
+
$base-surface-inverse: $dark-text-primary; // Light elements on dark
|
|
44
|
+
$base-overlay-bg: rgba(0, 0, 0, 0.7);
|
|
45
|
+
$base-shadow-color: rgba(0, 0, 0, 0.4);
|
|
46
|
+
|
|
47
|
+
// Border
|
|
50
48
|
$base-border-color: $dark-bg-quaternary;
|
|
51
49
|
|
|
52
50
|
// Input fields
|
|
53
|
-
$base-input-
|
|
54
|
-
$base-input-color:
|
|
51
|
+
$base-input-bg: $dark-bg-tertiary;
|
|
52
|
+
$base-input-color: $dark-text-primary;
|
|
55
53
|
$base-input-border: 1px solid $dark-bg-quaternary;
|
|
56
|
-
$base-input-border-hover: 1px solid $accent
|
|
57
|
-
$base-input-border-focus: 1px solid $accent
|
|
54
|
+
$base-input-border-hover: 1px solid $dark-accent;
|
|
55
|
+
$base-input-border-focus: 1px solid $dark-accent;
|
|
58
56
|
$base-input-placeholder-color: #666666;
|
|
59
|
-
$base-input-background-disabled: rgba($dark-bg-tertiary, 0.5);
|
|
60
57
|
|
|
61
58
|
// Dropdown/Popover
|
|
62
|
-
$base-dropdown-
|
|
63
|
-
$base-dropdown-border:
|
|
59
|
+
$base-dropdown-bg: $dark-bg-secondary;
|
|
60
|
+
$base-dropdown-border: $dark-bg-quaternary;
|
|
64
61
|
$base-dropdown-box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4);
|
|
65
62
|
|
|
66
63
|
// Tooltip
|
|
67
|
-
$base-tooltip-
|
|
68
|
-
$base-tooltip-text-color:
|
|
64
|
+
$base-tooltip-bg: $dark-bg-tertiary;
|
|
65
|
+
$base-tooltip-text-color: $dark-text-primary;
|
|
66
|
+
|
|
67
|
+
// Contextual colors (adjusted for dark theme visibility)
|
|
68
|
+
$base-success-color: #059669;
|
|
69
|
+
$base-success-color-hover: #047857;
|
|
70
|
+
$base-success-bg-light: rgba(5, 150, 105, 0.15);
|
|
71
|
+
$base-success-text: #34d399;
|
|
72
|
+
$base-text-on-success: #ffffff;
|
|
73
|
+
|
|
74
|
+
$base-danger-color: #dc2626;
|
|
75
|
+
$base-danger-color-hover: #b91c1c;
|
|
76
|
+
$base-danger-bg-light: rgba(220, 38, 38, 0.15);
|
|
77
|
+
$base-danger-text: #f87171;
|
|
78
|
+
$base-text-on-danger: #ffffff;
|
|
79
|
+
|
|
80
|
+
$base-warning-color: #d97706;
|
|
81
|
+
$base-warning-color-hover: #b45309;
|
|
82
|
+
$base-warning-bg-light: rgba(217, 119, 6, 0.15);
|
|
83
|
+
$base-warning-text: #fbbf24;
|
|
84
|
+
$base-text-on-warning: #ffffff;
|
|
85
|
+
|
|
86
|
+
$base-info-color: #0891b2;
|
|
87
|
+
$base-info-color-hover: #0e7490;
|
|
88
|
+
$base-info-bg-light: rgba(8, 145, 178, 0.15);
|
|
89
|
+
$base-info-text: #22d3ee;
|
|
90
|
+
$base-text-on-info: #ffffff;
|
|
91
|
+
|
|
92
|
+
// Interactive states
|
|
93
|
+
$base-focus-ring-color: rgba($dark-accent, 0.25);
|
|
69
94
|
|
|
70
|
-
//
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
95
|
+
// ============================================================================
|
|
96
|
+
// FRAMEWORK VARIABLES - Import and let them derive from base
|
|
97
|
+
// ============================================================================
|
|
98
|
+
@import '@keenmate/pure-admin-core/src/scss/variables/index';
|
|
74
99
|
|
|
75
|
-
//
|
|
76
|
-
$
|
|
77
|
-
$
|
|
78
|
-
$
|
|
79
|
-
$
|
|
80
|
-
$
|
|
100
|
+
// Layout-specific overrides (these are Pure Admin specific)
|
|
101
|
+
$primary-bg: $dark-bg-primary;
|
|
102
|
+
$content-background-color: $dark-bg-primary;
|
|
103
|
+
$header-bg: $dark-bg-header;
|
|
104
|
+
$sidebar-bg: $dark-bg-sidebar;
|
|
105
|
+
$sidebar-submenu-bg: $dark-bg-tertiary;
|
|
106
|
+
$sidebar-submenu-hover-bg: $dark-bg-hover;
|
|
107
|
+
$sidebar-submenu-active-bg: $dark-bg-quaternary;
|
|
108
|
+
$footer-bg: $dark-bg-header;
|
|
109
|
+
$text-primary: $dark-text-primary;
|
|
110
|
+
$text-secondary: $dark-text-secondary;
|
|
111
|
+
$accent-hover: rgba($dark-accent, 0.15);
|
|
112
|
+
$accent-light: rgba($dark-accent, 0.08);
|
|
81
113
|
|
|
82
114
|
// Card colors
|
|
83
115
|
$card-bg: $dark-bg-secondary;
|
|
@@ -87,8 +119,8 @@ $card-tabs-bg: $dark-bg-tertiary;
|
|
|
87
119
|
|
|
88
120
|
// Input colors
|
|
89
121
|
$input-bg: $dark-bg-tertiary;
|
|
90
|
-
$input-border: $border-color;
|
|
91
|
-
$input-text: $text-primary;
|
|
122
|
+
$input-border: $base-border-color;
|
|
123
|
+
$input-text: $dark-text-primary;
|
|
92
124
|
|
|
93
125
|
// Table colors
|
|
94
126
|
$table-bg: $dark-bg-secondary;
|
|
@@ -96,40 +128,45 @@ $table-header-bg: $dark-bg-tertiary;
|
|
|
96
128
|
$table-hover-bg: $dark-bg-hover;
|
|
97
129
|
$table-stripe: $dark-bg-tertiary;
|
|
98
130
|
|
|
99
|
-
// Button colors
|
|
131
|
+
// Button colors (override from base contextual)
|
|
100
132
|
$btn-primary-bg: #2563eb;
|
|
101
133
|
$btn-primary-bg-hover: #1d4ed8;
|
|
102
134
|
$btn-secondary-bg: #374151;
|
|
103
135
|
$btn-secondary-bg-hover: #4b5563;
|
|
104
|
-
$btn-success-bg: #059669;
|
|
105
|
-
$btn-success-bg-hover: #047857;
|
|
106
|
-
$btn-warning-bg: #d97706;
|
|
107
|
-
$btn-warning-text: #ffffff;
|
|
108
|
-
$btn-danger-bg: #dc2626;
|
|
109
|
-
$btn-danger-bg-hover: #b91c1c;
|
|
110
|
-
$btn-info-bg: #0891b2;
|
|
111
|
-
$btn-info-bg-hover: #0e7490;
|
|
112
136
|
$btn-light-bg: #374151;
|
|
113
137
|
$btn-light-text: #f3f4f6;
|
|
114
138
|
$btn-light-bg-hover: #4b5563;
|
|
115
139
|
$btn-dark-bg: #111827;
|
|
116
140
|
$btn-dark-bg-hover: #030712;
|
|
141
|
+
$btn-warning-text: #ffffff;
|
|
117
142
|
|
|
118
|
-
// Validation shadow colors
|
|
119
|
-
$success-bg: $
|
|
120
|
-
$
|
|
121
|
-
$
|
|
122
|
-
$warning-bg-light: rgba(217, 119, 6, 0.15);
|
|
123
|
-
$danger-bg: $btn-danger-bg;
|
|
124
|
-
$danger-bg-light: rgba(220, 38, 38, 0.15);
|
|
143
|
+
// Validation shadow colors
|
|
144
|
+
$success-bg-light: $base-success-bg-light;
|
|
145
|
+
$warning-bg-light: $base-warning-bg-light;
|
|
146
|
+
$danger-bg-light: $base-danger-bg-light;
|
|
125
147
|
|
|
126
148
|
// Modal colors
|
|
127
|
-
$modal-overlay-bg:
|
|
149
|
+
$modal-overlay-bg: $base-overlay-bg;
|
|
128
150
|
$modal-content-bg: $dark-bg-secondary;
|
|
129
151
|
|
|
130
152
|
// Profile name in header
|
|
131
|
-
$header-profile-name-color: #ffffff;
|
|
153
|
+
$header-profile-name-color: #ffffff;
|
|
154
|
+
|
|
155
|
+
// Form focus colors
|
|
156
|
+
$input-focus-border-color: $base-accent-color;
|
|
157
|
+
$select-focus-border-color: $base-accent-color;
|
|
158
|
+
$textarea-focus-border-color: $base-accent-color;
|
|
159
|
+
|
|
160
|
+
// Checkbox colors
|
|
161
|
+
$checkbox-border-color-hover: $base-accent-color;
|
|
162
|
+
$checkbox-border-color-checked: $base-accent-color;
|
|
163
|
+
$checkbox-bg-checked: $base-accent-color;
|
|
164
|
+
$checkbox-bg-indeterminate: $base-accent-color;
|
|
165
|
+
$checkbox-focus-shadow: 0 0 0 2px $base-focus-ring-color;
|
|
132
166
|
|
|
167
|
+
// ============================================================================
|
|
168
|
+
// CORE IMPORTS
|
|
169
|
+
// ============================================================================
|
|
133
170
|
@import '@keenmate/pure-admin-core/src/scss/core';
|
|
134
171
|
@import '@keenmate/pure-admin-core/src/scss/utilities';
|
|
135
172
|
@import '@keenmate/pure-admin-core/src/scss/base-css-variables';
|
|
@@ -302,19 +339,19 @@ $header-profile-name-color: #ffffff; // White text on dark header
|
|
|
302
339
|
--pa-info-bg-light: rgba(14, 165, 233, 0.1);
|
|
303
340
|
|
|
304
341
|
// Base variables for web components (light mode)
|
|
305
|
-
--base-
|
|
306
|
-
--base-
|
|
342
|
+
--base-surface-1: #{$light-card};
|
|
343
|
+
--base-surface-2: #{$light-bg};
|
|
344
|
+
--base-surface-3: #{$light-surface};
|
|
307
345
|
--base-text-color-1: #{$light-text};
|
|
308
346
|
--base-text-color-2: #{$light-text-secondary};
|
|
347
|
+
--base-text-color-3: #94a3b8;
|
|
348
|
+
--base-text-color-4: #cbd5e1;
|
|
309
349
|
--base-accent-color: #{$dark-accent};
|
|
310
|
-
--base-accent-color-hover: color.adjust($dark-accent, $lightness: -10%);
|
|
311
|
-
--base-accent-color-active: color.adjust($dark-accent, $lightness: -15%);
|
|
350
|
+
--base-accent-color-hover: #{color.adjust($dark-accent, $lightness: -10%)};
|
|
351
|
+
--base-accent-color-active: #{color.adjust($dark-accent, $lightness: -15%)};
|
|
312
352
|
--base-accent-color-light: rgba(77, 171, 247, 0.1);
|
|
313
353
|
--base-accent-color-light-hover: rgba(77, 171, 247, 0.15);
|
|
314
|
-
--base-text-color-3: #94a3b8;
|
|
315
|
-
--base-text-color-4: #cbd5e1;
|
|
316
354
|
--base-border-color: #{$light-border};
|
|
317
|
-
--base-border: 1px solid #{$light-border};
|
|
318
355
|
--base-input-bg: #{$light-card};
|
|
319
356
|
--base-input-color: #{$light-text};
|
|
320
357
|
--base-input-border: 1px solid #{$light-border};
|
|
@@ -322,7 +359,7 @@ $header-profile-name-color: #ffffff; // White text on dark header
|
|
|
322
359
|
--base-input-border-focus: 1px solid #{$dark-accent};
|
|
323
360
|
--base-input-placeholder-color: #94a3b8;
|
|
324
361
|
--base-dropdown-bg: #{$light-card};
|
|
325
|
-
--base-dropdown-border:
|
|
362
|
+
--base-dropdown-border: #{$light-border};
|
|
326
363
|
--base-dropdown-box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
|
|
327
364
|
--base-tooltip-bg: #{$light-text};
|
|
328
365
|
--base-tooltip-text-color: #ffffff;
|
|
@@ -428,8 +465,8 @@ $header-profile-name-color: #ffffff; // White text on dark header
|
|
|
428
465
|
--page-loader-spinner-accent: #{$blue-accent};
|
|
429
466
|
|
|
430
467
|
--base-accent-color: #{$blue-accent};
|
|
431
|
-
--base-
|
|
432
|
-
--base-
|
|
468
|
+
--base-surface-1: #{$blue-card};
|
|
469
|
+
--base-surface-2: #{$blue-bg};
|
|
433
470
|
--base-border-color: #{$blue-surface};
|
|
434
471
|
--base-input-bg: #{$blue-bg};
|
|
435
472
|
--base-dropdown-bg: #{$blue-card};
|
|
@@ -484,8 +521,8 @@ $header-profile-name-color: #ffffff; // White text on dark header
|
|
|
484
521
|
--page-loader-spinner-accent: #{$green-accent};
|
|
485
522
|
|
|
486
523
|
--base-accent-color: #{$green-accent};
|
|
487
|
-
--base-
|
|
488
|
-
--base-
|
|
524
|
+
--base-surface-1: #{$green-card};
|
|
525
|
+
--base-surface-2: #{$green-bg};
|
|
489
526
|
--base-border-color: #{$green-surface};
|
|
490
527
|
--base-input-bg: #{$green-bg};
|
|
491
528
|
--base-dropdown-bg: #{$green-card};
|
|
@@ -540,9 +577,9 @@ $header-profile-name-color: #ffffff; // White text on dark header
|
|
|
540
577
|
--page-loader-spinner-accent: #{$red-accent};
|
|
541
578
|
|
|
542
579
|
--base-accent-color: #{$red-accent};
|
|
543
|
-
--base-
|
|
544
|
-
--base-
|
|
580
|
+
--base-surface-1: #{$red-card};
|
|
581
|
+
--base-surface-2: #{$red-bg};
|
|
545
582
|
--base-border-color: #{$red-surface};
|
|
546
583
|
--base-input-bg: #{$red-bg};
|
|
547
584
|
--base-dropdown-bg: #{$red-card};
|
|
548
|
-
}
|
|
585
|
+
}
|