@keenmate/pure-admin-core 1.0.0-rc01 → 1.0.0-rc03

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.
@@ -1,135 +1,186 @@
1
1
  // ============================================================================
2
2
  // COLOR VARIABLES
3
3
  // Theme colors, button colors, contextual colors, component colors
4
+ // These variables DERIVE from base variables for unified theming
4
5
  // ============================================================================
5
6
 
6
- // Default theme colors (will be overridden by themes)
7
- $primary-bg: #f8f9fa !default;
8
- $bg-secondary: #f8f9fa !default;
9
- $text-primary: #2c3e50 !default;
10
- $text-secondary: #6c757d !default;
11
- $border-color: #e1e5e9 !default;
12
- $header-bg: #ffffff !default;
13
- $header-border-color: #e1e5e9 !default;
14
- $header-text: $text-primary !default;
15
- $header-text-secondary: $text-secondary !default;
16
- $header-profile-name-color: $text-primary !default;
17
- $sidebar-bg: #f1f3f4 !default;
18
- $sidebar-text: $text-primary !default;
19
- $sidebar-text-secondary: $text-secondary !default;
20
- $sidebar-submenu-bg: #e8e8e8 !default;
21
- $sidebar-submenu-hover-bg: #d0d0d0 !default;
22
- $sidebar-submenu-active-bg: #c0c0c0 !default;
23
- $footer-bg: #ffffff !default;
24
- $footer-border-color: #e1e5e9 !default;
25
- $accent-color: #007bff !default;
26
- $accent-hover: rgba(0, 123, 255, 0.1) !default;
27
- $accent-light: rgba(0, 123, 255, 0.05) !default;
28
- $content-background-color: #ffffff !default;
29
-
30
- // Card colors
31
- $card-bg: #ffffff !default;
32
- $card-header-bg: #f8f9fa !default;
33
- $card-footer-bg: #ffffff !default;
34
- $card-tabs-bg: #f8f9fa !default;
35
-
36
- // Input colors
37
- $input-bg: #ffffff !default;
38
- $input-border: #ced4da !default;
39
- $input-text: #495057 !default;
40
-
41
- // Table colors
42
- $table-stripe: #f2f2f2 !default;
43
- $table-bg: #ffffff !default;
44
- $table-header-bg: #f8f9fa !default;
45
- $table-hover-bg: #f8f9fa !default;
7
+ @use 'sass:color';
8
+ @use 'base' as *;
9
+
10
+ // =============================================================================
11
+ // LAYOUT COLORS (derived from base)
12
+ // =============================================================================
13
+
14
+ $primary-bg: $base-surface-2 !default;
15
+ $bg-secondary: $base-surface-2 !default;
16
+ $text-primary: $base-text-color-1 !default;
17
+ $text-secondary: $base-text-color-2 !default;
18
+ $border-color: $base-border-color !default;
19
+ $content-background-color: $base-surface-1 !default;
20
+
21
+ // Header colors
22
+ $header-bg: $base-surface-1 !default;
23
+ $header-border-color: $base-border-color !default;
24
+ $header-text: $base-text-color-1 !default;
25
+ $header-text-secondary: $base-text-color-2 !default;
26
+ $header-profile-name-color: $base-text-color-1 !default;
27
+
28
+ // Sidebar colors
29
+ $sidebar-bg: $base-surface-2 !default;
30
+ $sidebar-text: $base-text-color-1 !default;
31
+ $sidebar-text-secondary: $base-text-color-2 !default;
32
+ $sidebar-submenu-bg: $base-surface-3 !default;
33
+ $sidebar-submenu-hover-bg: color.adjust($base-surface-3, $lightness: -5%) !default;
34
+ $sidebar-submenu-active-bg: color.adjust($base-surface-3, $lightness: -10%) !default;
35
+
36
+ // Footer colors
37
+ $footer-bg: $base-surface-1 !default;
38
+ $footer-border-color: $base-border-color !default;
39
+
40
+ // Accent colors (derived from base)
41
+ $accent-color: $base-accent-color !default;
42
+ $accent-hover: $base-accent-color-light-hover !default;
43
+ $accent-light: $base-accent-color-light !default;
44
+
45
+ // =============================================================================
46
+ // CARD COLORS (derived from base surfaces)
47
+ // =============================================================================
48
+
49
+ $card-bg: $base-surface-1 !default;
50
+ $card-header-bg: $base-surface-2 !default;
51
+ $card-footer-bg: $base-surface-1 !default;
52
+ $card-tabs-bg: $base-surface-2 !default;
53
+
54
+ // =============================================================================
55
+ // INPUT COLORS (derived from base input vars)
56
+ // =============================================================================
57
+
58
+ $input-bg: $base-input-bg !default;
59
+ $input-border: #ced4da !default; // Extracted from base-input-border
60
+ $input-text: $base-input-color !default;
61
+
62
+ // =============================================================================
63
+ // TABLE COLORS (derived from base surfaces)
64
+ // =============================================================================
65
+
66
+ $table-stripe: $base-surface-2 !default;
67
+ $table-bg: $base-surface-1 !default;
68
+ $table-header-bg: $base-surface-2 !default;
69
+ $table-hover-bg: $base-surface-2 !default;
46
70
 
47
71
  // Table row hover accent (border)
48
72
  $table-hover-accent-width: 0 !default;
49
- $table-hover-accent-color: $accent-color !default;
73
+ $table-hover-accent-color: $base-accent-color !default;
50
74
  $table-hover-accent-position: left !default;
51
75
 
52
- // Button colors
53
- $btn-primary-bg: #007bff !default;
54
- $btn-primary-bg-hover: #0056b3 !default;
55
- $btn-primary-text: #ffffff !default;
76
+ // =============================================================================
77
+ // BUTTON COLORS (derived from base contextual colors)
78
+ // =============================================================================
79
+
80
+ // Primary button (uses accent)
81
+ $btn-primary-bg: $base-accent-color !default;
82
+ $btn-primary-bg-hover: $base-accent-color-hover !default;
83
+ $btn-primary-text: $base-text-color-on-accent !default;
84
+
85
+ // Secondary button
56
86
  $btn-secondary-bg: #6c757d !default;
57
87
  $btn-secondary-bg-hover: #545b62 !default;
58
88
  $btn-secondary-text: #ffffff !default;
59
- $btn-success-bg: #28a745 !default;
60
- $btn-success-bg-hover: #1e7e34 !default;
61
- $btn-success-text: #ffffff !default;
62
- $btn-danger-bg: #dc3545 !default;
63
- $btn-danger-bg-hover: #c82333 !default;
64
- $btn-danger-text: #ffffff !default;
65
- $btn-warning-bg: #ffc107 !default;
66
- $btn-warning-bg-hover: #e0a800 !default;
67
- $btn-warning-text: #212529 !default;
68
- $btn-warning-color: #212529 !default;
69
- $btn-info-bg: #17a2b8 !default;
70
- $btn-info-bg-hover: #117a8b !default;
71
- $btn-info-text: #ffffff !default;
72
- $btn-light-bg: #f8f9fa !default;
73
- $btn-light-bg-hover: #e2e6ea !default;
74
- $btn-light-text: #495057 !default;
89
+
90
+ // Success button (derived from base success)
91
+ $btn-success-bg: $base-success-color !default;
92
+ $btn-success-bg-hover: $base-success-color-hover !default;
93
+ $btn-success-text: $base-text-on-success !default;
94
+
95
+ // Danger button (derived from base danger)
96
+ $btn-danger-bg: $base-danger-color !default;
97
+ $btn-danger-bg-hover: $base-danger-color-hover !default;
98
+ $btn-danger-text: $base-text-on-danger !default;
99
+
100
+ // Warning button (derived from base warning)
101
+ $btn-warning-bg: $base-warning-color !default;
102
+ $btn-warning-bg-hover: $base-warning-color-hover !default;
103
+ $btn-warning-text: $base-text-on-warning !default;
104
+ $btn-warning-color: $base-text-on-warning !default;
105
+
106
+ // Info button (derived from base info)
107
+ $btn-info-bg: $base-info-color !default;
108
+ $btn-info-bg-hover: $base-info-color-hover !default;
109
+ $btn-info-text: $base-text-on-info !default;
110
+
111
+ // Light button
112
+ $btn-light-bg: $base-surface-2 !default;
113
+ $btn-light-bg-hover: $base-surface-3 !default;
114
+ $btn-light-text: $base-text-color-1 !default;
115
+
116
+ // Dark button
75
117
  $btn-dark-bg: #343a40 !default;
76
118
  $btn-dark-bg-hover: #1d2124 !default;
77
119
  $btn-dark-text: #ffffff !default;
78
120
 
79
- // Contextual color system - Success (green)
80
- $success-bg: $btn-success-bg !default;
81
- $success-bg-hover: $btn-success-bg-hover !default;
82
- $success-bg-light: rgba(40, 167, 69, 0.1) !default;
83
- $success-bg-subtle: rgba(40, 167, 69, 0.08) !default;
84
- $success-border: rgba(40, 167, 69, 0.2) !default;
85
- $success-text: #155724 !default;
86
- $success-text-light: #d4edda !default;
87
-
88
- // Contextual color system - Danger (red)
89
- $danger-bg: $btn-danger-bg !default;
90
- $danger-bg-hover: $btn-danger-bg-hover !default;
91
- $danger-bg-light: rgba(220, 53, 69, 0.1) !default;
92
- $danger-bg-subtle: rgba(220, 53, 69, 0.08) !default;
93
- $danger-border: rgba(220, 53, 69, 0.2) !default;
94
- $danger-text: #721c24 !default;
95
- $danger-text-light: #f8d7da !default;
96
-
97
- // Contextual color system - Warning (yellow)
98
- $warning-bg: $btn-warning-bg !default;
99
- $warning-bg-hover: $btn-warning-bg-hover !default;
100
- $warning-bg-light: rgba(255, 193, 7, 0.1) !default;
101
- $warning-bg-subtle: rgba(255, 193, 7, 0.08) !default;
102
- $warning-border: rgba(255, 193, 7, 0.2) !default;
103
- $warning-text: #856404 !default;
104
- $warning-text-light: #fff3cd !default;
105
-
106
- // Contextual color system - Info (cyan)
107
- $info-bg: $btn-info-bg !default;
108
- $info-bg-hover: $btn-info-bg-hover !default;
109
- $info-bg-light: rgba(23, 162, 184, 0.1) !default;
110
- $info-bg-subtle: rgba(23, 162, 184, 0.08) !default;
111
- $info-border: rgba(23, 162, 184, 0.2) !default;
112
- $info-text: #0c5460 !default;
113
- $info-text-light: #d1ecf1 !default;
114
-
115
- // Contextual color system - Secondary (gray)
121
+ // =============================================================================
122
+ // CONTEXTUAL COLORS (derived from base contextual)
123
+ // =============================================================================
124
+
125
+ // Success colors
126
+ $success-bg: $base-success-color !default;
127
+ $success-bg-hover: $base-success-color-hover !default;
128
+ $success-bg-light: $base-success-bg-light !default;
129
+ $success-bg-subtle: $base-success-bg-subtle !default;
130
+ $success-border: $base-success-border !default;
131
+ $success-text: $base-success-text !default;
132
+ $success-text-light: $base-success-text-light !default;
133
+
134
+ // Danger colors
135
+ $danger-bg: $base-danger-color !default;
136
+ $danger-bg-hover: $base-danger-color-hover !default;
137
+ $danger-bg-light: $base-danger-bg-light !default;
138
+ $danger-bg-subtle: $base-danger-bg-subtle !default;
139
+ $danger-border: $base-danger-border !default;
140
+ $danger-text: $base-danger-text !default;
141
+ $danger-text-light: $base-danger-text-light !default;
142
+
143
+ // Warning colors
144
+ $warning-bg: $base-warning-color !default;
145
+ $warning-bg-hover: $base-warning-color-hover !default;
146
+ $warning-bg-light: $base-warning-bg-light !default;
147
+ $warning-bg-subtle: $base-warning-bg-subtle !default;
148
+ $warning-border: $base-warning-border !default;
149
+ $warning-text: $base-warning-text !default;
150
+ $warning-text-light: $base-warning-text-light !default;
151
+
152
+ // Info colors
153
+ $info-bg: $base-info-color !default;
154
+ $info-bg-hover: $base-info-color-hover !default;
155
+ $info-bg-light: $base-info-bg-light !default;
156
+ $info-bg-subtle: $base-info-bg-subtle !default;
157
+ $info-border: $base-info-border !default;
158
+ $info-text: $base-info-text !default;
159
+ $info-text-light: $base-info-text-light !default;
160
+
161
+ // Secondary colors
116
162
  $secondary-bg: $btn-secondary-bg !default;
117
163
  $secondary-bg-hover: $btn-secondary-bg-hover !default;
118
164
  $secondary-text: #383d41 !default;
119
- $secondary-light-bg: #e9ecef !default;
120
- $secondary-light-text: #495057 !default;
121
- $secondary-lighter-bg: #dee2e6 !default;
165
+ $secondary-light-bg: $base-surface-3 !default;
166
+ $secondary-light-text: $base-text-color-1 !default;
167
+ $secondary-lighter-bg: $base-surface-3 !default;
122
168
 
123
- // Tooltip colors
124
- $tooltip-bg: #2c3e50 !default;
125
- $tooltip-text: #ffffff !default;
169
+ // =============================================================================
170
+ // TOOLTIP & POPOVER COLORS (derived from base)
171
+ // =============================================================================
172
+
173
+ $tooltip-bg: $base-tooltip-bg !default;
174
+ $tooltip-text: $base-tooltip-text-color !default;
126
175
 
127
- // Popover colors
128
176
  $popover-text-light: #ffffff !default;
129
177
  $popover-text-dark: #000000 !default;
130
- $popover-content-bg: #ffffff !default;
178
+ $popover-content-bg: $base-surface-1 !default;
179
+
180
+ // =============================================================================
181
+ // CODE LANGUAGE COLORS (standalone - not themed)
182
+ // =============================================================================
131
183
 
132
- // Code language colors
133
184
  $code-language-json: #f59e0b !default;
134
185
  $code-language-javascript: #f0db4f !default;
135
186
  $code-language-html: #e34c26 !default;
@@ -143,6 +194,24 @@ $code-syntax-number: #ff6600 !default;
143
194
  $code-syntax-function: #9933cc !default;
144
195
  $code-syntax-property: #dd4a68 !default;
145
196
 
146
- // Comparison table
197
+ // =============================================================================
198
+ // COMPARISON TABLE COLORS
199
+ // =============================================================================
200
+
147
201
  $comparison-accent-pink: #ec4899 !default;
148
202
  $comparison-accent-orange: #f97316 !default;
203
+
204
+ // =============================================================================
205
+ // CUSTOM THEME COLOR SLOTS (1-9)
206
+ // Themes can override these to provide additional branded colors
207
+ // =============================================================================
208
+
209
+ $color-1: transparent !default;
210
+ $color-2: transparent !default;
211
+ $color-3: transparent !default;
212
+ $color-4: transparent !default;
213
+ $color-5: transparent !default;
214
+ $color-6: transparent !default;
215
+ $color-7: transparent !default;
216
+ $color-8: transparent !default;
217
+ $color-9: transparent !default;
@@ -143,12 +143,13 @@ $profile-panel-mobile-max-width: 40rem !default; // 400px (was 25rem)
143
143
  // ============================================================================
144
144
  // CARD SYSTEM
145
145
  // ============================================================================
146
- $card-body-padding: 1.6rem !default; // 16px (was 1rem)
147
- $card-header-padding-v: 0.8rem !default; // 8px (was 0.5rem)
148
- $card-header-padding-h: 1.6rem !default; // 16px (was 1rem)
149
- $card-header-min-height: 5rem !default; // 50px - consistent height with/without buttons
150
- $card-footer-padding-v: 1.2rem !default; // 12px (was 0.75rem)
151
- $card-footer-padding-h: 1.6rem !default; // 16px (was 1rem)
146
+ $card-body-padding-v: 1.6rem !default; // 16px vertical
147
+ $card-body-padding-h: 1rem !default; // 10px horizontal
148
+ $card-header-padding-v: 0.8rem !default; // 8px vertical
149
+ $card-header-padding-h: 1rem !default; // 10px horizontal - matches body
150
+ $card-header-min-height: 4rem !default; // 40px - fits xs buttons (32px) with padding
151
+ $card-footer-padding-v: 1.2rem !default; // 12px vertical
152
+ $card-footer-padding-h: 1rem !default; // 10px horizontal - matches body
152
153
  $card-grid-min-width: 280px !default;
153
154
  $card-stat-padding-v: $spacing-lg !default;
154
155
  $card-stat-padding-h: $spacing-base !default;
@@ -265,6 +266,11 @@ $alert-info-bg: $info-bg-subtle !default;
265
266
  $alert-info-border: $info-border !default;
266
267
  $alert-info-text: $info-bg !default;
267
268
 
269
+ // ============================================================================
270
+ // CALLOUT SYSTEM
271
+ // ============================================================================
272
+ $callout-border-width: 0.4rem !default; // 4px left border accent
273
+
268
274
  // ============================================================================
269
275
  // STATS SYSTEM
270
276
  // ============================================================================
@@ -3,11 +3,17 @@
3
3
  // Central import point for all variable modules
4
4
  // ============================================================================
5
5
 
6
- // Core variable modules (order matters for dependencies)
7
- @forward 'layout';
6
+ // IMPORTANT: Order matters for dependencies!
7
+ // 1. Base variables are the SOURCE OF TRUTH (standalone, no imports)
8
+ // 2. All other modules can import from base and derive their values
9
+
10
+ // Base variables FIRST - single source of truth for theming
11
+ @forward 'base';
12
+
13
+ // Derived framework variables (can use base values)
8
14
  @forward 'typography';
9
15
  @forward 'spacing';
10
16
  @forward 'colors';
17
+ @forward 'layout';
11
18
  @forward 'system';
12
19
  @forward 'components';
13
- @forward 'base';
@@ -43,8 +43,8 @@ $tablet-breakpoint-min: 769px !default;
43
43
  $sidebar-width-tablet: 16rem !default; // 160px (was 10rem)
44
44
 
45
45
  // Scrollbar
46
- $scrollbar-width: 10px !default;
47
- $scrollbar-border-radius: 5px !default;
46
+ $scrollbar-width: 6px !default;
47
+ $scrollbar-border-radius: 3px !default;
48
48
 
49
49
  // Border radius
50
50
  $border-radius-sm: 2px !default;