@keenmate/pure-admin-theme-dark 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/dist/dark.css +1702 -660
- package/package.json +9 -4
- package/src/scss/dark.scss +76 -29
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@keenmate/pure-admin-theme-dark",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
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": {
|
|
@@ -15,14 +15,19 @@
|
|
|
15
15
|
"build": "sass src/scss:dist --no-source-map --silence-deprecation=import --load-path=../../node_modules",
|
|
16
16
|
"prepublishOnly": "npm run build"
|
|
17
17
|
},
|
|
18
|
-
"keywords": [
|
|
18
|
+
"keywords": [
|
|
19
|
+
"pure-admin",
|
|
20
|
+
"theme",
|
|
21
|
+
"dark",
|
|
22
|
+
"css"
|
|
23
|
+
],
|
|
19
24
|
"author": "KeenMate",
|
|
20
25
|
"license": "MIT",
|
|
21
26
|
"peerDependencies": {
|
|
22
|
-
"@keenmate/pure-admin-core": "^1.0.0
|
|
27
|
+
"@keenmate/pure-admin-core": "^1.0.0"
|
|
23
28
|
},
|
|
24
29
|
"devDependencies": {
|
|
25
|
-
"@keenmate/pure-admin-core": "^1.0.0
|
|
30
|
+
"@keenmate/pure-admin-core": "^1.0.0",
|
|
26
31
|
"sass": "^1.70.0"
|
|
27
32
|
},
|
|
28
33
|
"publishConfig": {
|
package/src/scss/dark.scss
CHANGED
|
@@ -49,14 +49,22 @@ $base-text-color-3: #888888;
|
|
|
49
49
|
$base-text-color-4: #666666;
|
|
50
50
|
$base-text-color-on-accent: #ffffff;
|
|
51
51
|
|
|
52
|
-
//
|
|
53
|
-
$base-
|
|
54
|
-
$base-
|
|
55
|
-
$base-
|
|
56
|
-
$base-
|
|
52
|
+
// Background colors (dark theme = dark surfaces)
|
|
53
|
+
$base-main-bg: $dark-bg-secondary; // Cards, modals (primary background)
|
|
54
|
+
$base-page-bg: $dark-bg-primary; // Page background
|
|
55
|
+
$base-subtle-bg: $dark-bg-tertiary; // Subtle/muted areas
|
|
56
|
+
$base-inverse-bg: $dark-text-primary; // Light elements on dark
|
|
57
|
+
$base-hover-bg: $dark-bg-hover; // Hover state background
|
|
58
|
+
$base-disabled-bg: $dark-bg-tertiary; // Disabled state background
|
|
57
59
|
$base-overlay-bg: rgba(0, 0, 0, 0.7);
|
|
58
60
|
$base-shadow-color: rgba(0, 0, 0, 0.4);
|
|
59
61
|
|
|
62
|
+
// Legacy surface aliases (for backward compatibility)
|
|
63
|
+
$base-surface-1: $base-main-bg;
|
|
64
|
+
$base-surface-2: $base-page-bg;
|
|
65
|
+
$base-surface-3: $dark-bg-quaternary;
|
|
66
|
+
$base-surface-inverse: $base-inverse-bg;
|
|
67
|
+
|
|
60
68
|
// Border
|
|
61
69
|
$base-border-color: $dark-bg-quaternary;
|
|
62
70
|
|
|
@@ -111,16 +119,16 @@ $base-focus-ring-color: rgba($dark-accent, 0.25);
|
|
|
111
119
|
@import '@keenmate/pure-admin-core/src/scss/variables/index';
|
|
112
120
|
|
|
113
121
|
// Layout-specific overrides (these are Pure Admin specific)
|
|
114
|
-
$
|
|
115
|
-
$
|
|
122
|
+
$main-bg: $dark-bg-primary;
|
|
123
|
+
$subtle-bg: $dark-bg-primary;
|
|
116
124
|
$header-bg: $dark-bg-header;
|
|
117
125
|
$sidebar-bg: $dark-bg-sidebar;
|
|
118
126
|
$sidebar-submenu-bg: $dark-bg-tertiary;
|
|
119
127
|
$sidebar-submenu-hover-bg: $dark-bg-hover;
|
|
120
128
|
$sidebar-submenu-active-bg: $dark-bg-quaternary;
|
|
121
129
|
$footer-bg: $dark-bg-header;
|
|
122
|
-
$text-
|
|
123
|
-
$text-
|
|
130
|
+
$text-color-1: $dark-text-primary;
|
|
131
|
+
$text-color-2: $dark-text-secondary;
|
|
124
132
|
$accent-hover: rgba($dark-accent, 0.15);
|
|
125
133
|
$accent-light: rgba($dark-accent, 0.08);
|
|
126
134
|
|
|
@@ -198,13 +206,16 @@ $checkbox-focus-shadow: 0 0 0 2px $base-focus-ring-color;
|
|
|
198
206
|
// Pure Admin theme CSS variables for runtime theme switching
|
|
199
207
|
@include output-pa-css-variables;
|
|
200
208
|
|
|
209
|
+
// Override base-elevated-bg for dark mode (web-grid striped rows, headers)
|
|
210
|
+
--base-elevated-bg: #{$dark-bg-tertiary};
|
|
211
|
+
|
|
201
212
|
// Web component overrides (dark mode)
|
|
202
213
|
--drp-dropdown-bg: #{$dark-bg-secondary};
|
|
203
214
|
--drp-border-color: #{$dark-bg-quaternary};
|
|
204
215
|
--drp-primary-bg: #{$dark-bg-primary};
|
|
205
216
|
--drp-primary-bg-hover: #{$dark-bg-tertiary};
|
|
206
|
-
--drp-text-
|
|
207
|
-
--drp-text-
|
|
217
|
+
--drp-text-color-1: #{$dark-text-primary};
|
|
218
|
+
--drp-text-color-2: #{$dark-text-secondary};
|
|
208
219
|
--drp-button-bg: transparent;
|
|
209
220
|
--drp-button-color: #{$dark-text-primary};
|
|
210
221
|
--drp-button-accent-text-color: #ffffff;
|
|
@@ -243,13 +254,13 @@ $checkbox-focus-shadow: 0 0 0 2px $base-focus-ring-color;
|
|
|
243
254
|
--page-loader-spinner-accent: #{$dark-accent};
|
|
244
255
|
|
|
245
256
|
// Core colors - light backgrounds
|
|
246
|
-
--pa-
|
|
247
|
-
--pa-bg
|
|
248
|
-
--pa-
|
|
257
|
+
--pa-main-bg: #{$light-card};
|
|
258
|
+
--pa-page-bg: #{$light-bg};
|
|
259
|
+
--pa-subtle-bg: #{$light-bg};
|
|
249
260
|
|
|
250
261
|
// Text colors - dark text on light bg
|
|
251
|
-
--pa-text-
|
|
252
|
-
--pa-text-
|
|
262
|
+
--pa-text-color-1: #{$light-text};
|
|
263
|
+
--pa-text-color-2: #{$light-text-secondary};
|
|
253
264
|
|
|
254
265
|
// Keep accent color
|
|
255
266
|
--pa-accent: #{$dark-accent};
|
|
@@ -352,9 +363,19 @@ $checkbox-focus-shadow: 0 0 0 2px $base-focus-ring-color;
|
|
|
352
363
|
--pa-info-bg-light: rgba(14, 165, 233, 0.1);
|
|
353
364
|
|
|
354
365
|
// Base variables for web components (light mode)
|
|
366
|
+
// Semantic names (preferred)
|
|
367
|
+
--base-main-bg: #{$light-card};
|
|
368
|
+
--base-page-bg: #{$light-bg};
|
|
369
|
+
--base-subtle-bg: #{$light-surface};
|
|
370
|
+
--base-hover-bg: #{$light-surface};
|
|
371
|
+
--base-active-bg: #{$light-border};
|
|
372
|
+
--base-disabled-bg: #{$light-surface};
|
|
373
|
+
--base-elevated-bg: #{$light-surface};
|
|
374
|
+
// Legacy aliases
|
|
355
375
|
--base-surface-1: #{$light-card};
|
|
356
376
|
--base-surface-2: #{$light-bg};
|
|
357
377
|
--base-surface-3: #{$light-surface};
|
|
378
|
+
// Text colors
|
|
358
379
|
--base-text-color-1: #{$light-text};
|
|
359
380
|
--base-text-color-2: #{$light-text-secondary};
|
|
360
381
|
--base-text-color-3: #94a3b8;
|
|
@@ -383,8 +404,8 @@ $checkbox-focus-shadow: 0 0 0 2px $base-focus-ring-color;
|
|
|
383
404
|
--drp-border-color: #{$light-border};
|
|
384
405
|
--drp-primary-bg: #{$light-bg};
|
|
385
406
|
--drp-primary-bg-hover: #{$light-surface};
|
|
386
|
-
--drp-text-
|
|
387
|
-
--drp-text-
|
|
407
|
+
--drp-text-color-1: #{$light-text};
|
|
408
|
+
--drp-text-color-2: #{$light-text-secondary};
|
|
388
409
|
--drp-button-bg: transparent;
|
|
389
410
|
--drp-button-color: #{$light-text};
|
|
390
411
|
--drp-button-accent-text-color: #ffffff;
|
|
@@ -425,6 +446,17 @@ $checkbox-focus-shadow: 0 0 0 2px $base-focus-ring-color;
|
|
|
425
446
|
border-color: #94a3b8 !important;
|
|
426
447
|
}
|
|
427
448
|
}
|
|
449
|
+
|
|
450
|
+
// Profile panel header - dark background needs light text
|
|
451
|
+
.pa-profile-panel__header {
|
|
452
|
+
.pa-profile-panel__name {
|
|
453
|
+
color: #ffffff;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
.pa-profile-panel__email {
|
|
457
|
+
color: #{$dark-text-secondary};
|
|
458
|
+
}
|
|
459
|
+
}
|
|
428
460
|
}
|
|
429
461
|
|
|
430
462
|
// ============================================================================
|
|
@@ -440,9 +472,9 @@ $checkbox-focus-shadow: 0 0 0 2px $base-focus-ring-color;
|
|
|
440
472
|
$blue-border: #475569; // slate-600
|
|
441
473
|
$blue-accent: #3b82f6; // blue-500
|
|
442
474
|
|
|
443
|
-
--pa-
|
|
444
|
-
--pa-bg
|
|
445
|
-
--pa-
|
|
475
|
+
--pa-main-bg: #{$blue-bg};
|
|
476
|
+
--pa-page-bg: #{$blue-bg};
|
|
477
|
+
--pa-subtle-bg: #020617;
|
|
446
478
|
|
|
447
479
|
--pa-header-bg: #{$blue-card};
|
|
448
480
|
--pa-header-border-color: #{$blue-border};
|
|
@@ -478,6 +510,11 @@ $checkbox-focus-shadow: 0 0 0 2px $base-focus-ring-color;
|
|
|
478
510
|
--page-loader-spinner-accent: #{$blue-accent};
|
|
479
511
|
|
|
480
512
|
--base-accent-color: #{$blue-accent};
|
|
513
|
+
// Semantic names (preferred)
|
|
514
|
+
--base-main-bg: #{$blue-card};
|
|
515
|
+
--base-page-bg: #{$blue-bg};
|
|
516
|
+
--base-hover-bg: #{$blue-surface};
|
|
517
|
+
// Legacy aliases
|
|
481
518
|
--base-surface-1: #{$blue-card};
|
|
482
519
|
--base-surface-2: #{$blue-bg};
|
|
483
520
|
--base-border-color: #{$blue-surface};
|
|
@@ -494,9 +531,9 @@ $checkbox-focus-shadow: 0 0 0 2px $base-focus-ring-color;
|
|
|
494
531
|
$green-border: #365e42;
|
|
495
532
|
$green-accent: #22c55e;
|
|
496
533
|
|
|
497
|
-
--pa-
|
|
498
|
-
--pa-bg
|
|
499
|
-
--pa-
|
|
534
|
+
--pa-main-bg: #{$green-bg};
|
|
535
|
+
--pa-page-bg: #{$green-bg};
|
|
536
|
+
--pa-subtle-bg: #0a0f0b;
|
|
500
537
|
|
|
501
538
|
--pa-header-bg: #{$green-card};
|
|
502
539
|
--pa-header-border-color: #{$green-border};
|
|
@@ -512,7 +549,7 @@ $checkbox-focus-shadow: 0 0 0 2px $base-focus-ring-color;
|
|
|
512
549
|
--pa-accent-hover: rgba(34, 197, 94, 0.15);
|
|
513
550
|
--pa-accent-light: rgba(34, 197, 94, 0.08);
|
|
514
551
|
|
|
515
|
-
--pa-text-
|
|
552
|
+
--pa-text-color-2: #86efac;
|
|
516
553
|
|
|
517
554
|
--pa-card-bg: #{$green-card};
|
|
518
555
|
--pa-card-header-bg: #{$green-bg};
|
|
@@ -534,6 +571,11 @@ $checkbox-focus-shadow: 0 0 0 2px $base-focus-ring-color;
|
|
|
534
571
|
--page-loader-spinner-accent: #{$green-accent};
|
|
535
572
|
|
|
536
573
|
--base-accent-color: #{$green-accent};
|
|
574
|
+
// Semantic names (preferred)
|
|
575
|
+
--base-main-bg: #{$green-card};
|
|
576
|
+
--base-page-bg: #{$green-bg};
|
|
577
|
+
--base-hover-bg: #{$green-surface};
|
|
578
|
+
// Legacy aliases
|
|
537
579
|
--base-surface-1: #{$green-card};
|
|
538
580
|
--base-surface-2: #{$green-bg};
|
|
539
581
|
--base-border-color: #{$green-surface};
|
|
@@ -550,9 +592,9 @@ $checkbox-focus-shadow: 0 0 0 2px $base-focus-ring-color;
|
|
|
550
592
|
$red-border: #6b3333;
|
|
551
593
|
$red-accent: #ef4444;
|
|
552
594
|
|
|
553
|
-
--pa-
|
|
554
|
-
--pa-bg
|
|
555
|
-
--pa-
|
|
595
|
+
--pa-main-bg: #{$red-bg};
|
|
596
|
+
--pa-page-bg: #{$red-bg};
|
|
597
|
+
--pa-subtle-bg: #18080a;
|
|
556
598
|
|
|
557
599
|
--pa-header-bg: #{$red-card};
|
|
558
600
|
--pa-header-border-color: #{$red-border};
|
|
@@ -568,7 +610,7 @@ $checkbox-focus-shadow: 0 0 0 2px $base-focus-ring-color;
|
|
|
568
610
|
--pa-accent-hover: rgba(239, 68, 68, 0.15);
|
|
569
611
|
--pa-accent-light: rgba(239, 68, 68, 0.08);
|
|
570
612
|
|
|
571
|
-
--pa-text-
|
|
613
|
+
--pa-text-color-2: #fca5a5;
|
|
572
614
|
|
|
573
615
|
--pa-card-bg: #{$red-card};
|
|
574
616
|
--pa-card-header-bg: #{$red-bg};
|
|
@@ -590,6 +632,11 @@ $checkbox-focus-shadow: 0 0 0 2px $base-focus-ring-color;
|
|
|
590
632
|
--page-loader-spinner-accent: #{$red-accent};
|
|
591
633
|
|
|
592
634
|
--base-accent-color: #{$red-accent};
|
|
635
|
+
// Semantic names (preferred)
|
|
636
|
+
--base-main-bg: #{$red-card};
|
|
637
|
+
--base-page-bg: #{$red-bg};
|
|
638
|
+
--base-hover-bg: #{$red-surface};
|
|
639
|
+
// Legacy aliases
|
|
593
640
|
--base-surface-1: #{$red-card};
|
|
594
641
|
--base-surface-2: #{$red-bg};
|
|
595
642
|
--base-border-color: #{$red-surface};
|