@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.
@@ -254,94 +254,49 @@ $spacers: (
254
254
  white-space: nowrap !important;
255
255
  }
256
256
 
257
- // Width utilities
258
- .w-25 {
259
- width: 25% !important;
260
- }
261
-
262
- .w-33 {
263
- width: 33.333333% !important;
264
- }
265
-
266
- .w-50 {
267
- width: 50% !important;
268
- }
269
-
270
- .w-66 {
271
- width: 66.666667% !important;
272
- }
273
-
274
- .w-75 {
275
- width: 75% !important;
276
- }
277
-
278
- .w-100 {
279
- width: 100% !important;
280
- }
281
-
282
- .w-auto {
283
- width: auto !important;
284
- }
257
+ // Width utilities (5% increments)
258
+ .w-5 { width: 5% !important; }
259
+ .w-10 { width: 10% !important; }
260
+ .w-15 { width: 15% !important; }
261
+ .w-20 { width: 20% !important; }
262
+ .w-25 { width: 25% !important; }
263
+ .w-30 { width: 30% !important; }
264
+ .w-35 { width: 35% !important; }
265
+ .w-40 { width: 40% !important; }
266
+ .w-45 { width: 45% !important; }
267
+ .w-50 { width: 50% !important; }
268
+ .w-55 { width: 55% !important; }
269
+ .w-60 { width: 60% !important; }
270
+ .w-65 { width: 65% !important; }
271
+ .w-70 { width: 70% !important; }
272
+ .w-75 { width: 75% !important; }
273
+ .w-80 { width: 80% !important; }
274
+ .w-85 { width: 85% !important; }
275
+ .w-90 { width: 90% !important; }
276
+ .w-95 { width: 95% !important; }
277
+ .w-100 { width: 100% !important; }
278
+ .w-auto { width: auto !important; }
279
+
280
+ // Width utilities (fractions) - matches grid naming: pa-col-1-3, pa-col-2-3
281
+ .w-1-3 { width: 33.333333% !important; }
282
+ .w-2-3 { width: 66.666667% !important; }
285
283
 
286
284
  // Min-width utilities
287
- .mw-25 {
288
- min-width: 25% !important;
289
- }
290
-
291
- .mw-33 {
292
- min-width: 33.333333% !important;
293
- }
294
-
295
- .mw-50 {
296
- min-width: 50% !important;
297
- }
298
-
299
- .mw-66 {
300
- min-width: 66.666667% !important;
301
- }
302
-
303
- .mw-75 {
304
- min-width: 75% !important;
305
- }
306
-
307
- .mw-100 {
308
- min-width: 100% !important;
309
- }
310
-
311
- .mw-auto {
312
- min-width: auto !important;
313
- }
285
+ .mw-25 { min-width: 25% !important; }
286
+ .mw-50 { min-width: 50% !important; }
287
+ .mw-75 { min-width: 75% !important; }
288
+ .mw-100 { min-width: 100% !important; }
289
+ .mw-auto { min-width: auto !important; }
290
+ .mw-1-3 { min-width: 33.333333% !important; }
291
+ .mw-2-3 { min-width: 66.666667% !important; }
314
292
 
315
293
  // Fixed width utilities (min-width + width locked)
316
- .w-25-fixed {
317
- min-width: 25% !important;
318
- width: 25% !important;
319
- }
320
-
321
- .w-33-fixed {
322
- min-width: 33.333333% !important;
323
- width: 33.333333% !important;
324
- }
325
-
326
- .w-50-fixed {
327
- min-width: 50% !important;
328
- width: 50% !important;
329
- }
330
-
331
- .w-66-fixed {
332
- min-width: 66.666667% !important;
333
- width: 66.666667% !important;
334
- }
335
-
336
- .w-75-fixed {
337
- min-width: 75% !important;
338
- width: 75% !important;
339
- }
340
-
341
- .w-100-fixed {
342
- min-width: 100% !important;
343
- width: 100% !important;
344
- }
294
+ .w-25-fixed { min-width: 25% !important; width: 25% !important; }
295
+ .w-50-fixed { min-width: 50% !important; width: 50% !important; }
296
+ .w-75-fixed { min-width: 75% !important; width: 75% !important; }
297
+ .w-100-fixed { min-width: 100% !important; width: 100% !important; }
298
+ .w-1-3-fixed { min-width: 33.333333% !important; width: 33.333333% !important; }
299
+ .w-2-3-fixed { min-width: 66.666667% !important; width: 66.666667% !important; }
345
300
 
346
301
  // Height utilities
347
302
  .h-25 {
@@ -426,6 +381,30 @@ $spacers: (
426
381
  border-left: 0 !important;
427
382
  }
428
383
 
384
+ // Border style utilities
385
+ .border-solid { border-style: solid !important; }
386
+ .border-dashed { border-style: dashed !important; }
387
+ .border-dotted { border-style: dotted !important; }
388
+ .border-none { border-style: none !important; }
389
+
390
+ // Text color utilities (semantic colors)
391
+ .text-primary { color: var(--pa-accent) !important; }
392
+ .text-success { color: var(--pa-success-text) !important; }
393
+ .text-danger { color: var(--pa-danger-text) !important; }
394
+ .text-warning { color: var(--pa-warning-text) !important; }
395
+ .text-info { color: var(--pa-info-text) !important; }
396
+
397
+ // Text color utilities (theme custom colors 1-9)
398
+ .text-color-1 { color: var(--pa-color-1) !important; }
399
+ .text-color-2 { color: var(--pa-color-2) !important; }
400
+ .text-color-3 { color: var(--pa-color-3) !important; }
401
+ .text-color-4 { color: var(--pa-color-4) !important; }
402
+ .text-color-5 { color: var(--pa-color-5) !important; }
403
+ .text-color-6 { color: var(--pa-color-6) !important; }
404
+ .text-color-7 { color: var(--pa-color-7) !important; }
405
+ .text-color-8 { color: var(--pa-color-8) !important; }
406
+ .text-color-9 { color: var(--pa-color-9) !important; }
407
+
429
408
  // Rounded utilities
430
409
  .rounded {
431
410
  border-radius: var(--border-radius) !important;
@@ -1,81 +1,205 @@
1
1
  // ============================================================================
2
- // BASE CSS VARIABLES - Source of Truth for Web Components
2
+ // BASE VARIABLES - Single Source of Truth for Theming
3
3
  // ============================================================================
4
- // These $base-* SCSS variables are converted to --base-* CSS custom properties
5
- // by the output-base-css-variables mixin in themes. Web components like
6
- // web-daterangepicker and web-multiselect consume these via fallback chains.
4
+ // These $base-* SCSS variables are the PRIMARY source for all theme colors.
5
+ // Framework variables in _colors.scss, _typography.scss, etc. DERIVE from these.
6
+ // Web components consume these via --base-* CSS custom properties.
7
+ //
8
+ // To create a theme: Override these variables, everything else auto-derives.
7
9
  // ============================================================================
8
10
 
9
11
  @use 'sass:color';
10
- @use 'layout' as *;
11
- @use 'typography' as *;
12
- @use 'spacing' as *;
13
- @use 'colors' as *;
14
- @use 'system' as *;
15
- @use 'components' as *;
16
-
17
- // --- Colors ---
18
- $base-accent-color: $accent-color !default;
12
+
13
+ // =============================================================================
14
+ // ACCENT COLORS
15
+ // Primary brand/interactive color and its variants
16
+ // =============================================================================
17
+
18
+ $base-accent-color: #007bff !default;
19
19
  $base-accent-color-hover: color.adjust($base-accent-color, $lightness: 10%) !default;
20
20
  $base-accent-color-active: color.adjust($base-accent-color, $lightness: 20%) !default;
21
- $base-accent-color-light: $accent-light !default; // Light variant for badge backgrounds
22
- $base-accent-color-light-hover: rgba($base-accent-color, 0.12) !default; // Slightly more opaque on hover
23
- $base-primary-bg: $card-bg !default;
21
+ $base-accent-color-light: rgba($base-accent-color, 0.05) !default;
22
+ $base-accent-color-light-hover: rgba($base-accent-color, 0.12) !default;
23
+
24
+ // =============================================================================
25
+ // TEXT COLORS
26
+ // Hierarchical text colors for different emphasis levels
27
+ // =============================================================================
28
+
29
+ $base-text-color-1: #2c3e50 !default; // Primary text (strongest)
30
+ $base-text-color-2: #6c757d !default; // Secondary text (muted)
31
+ $base-text-color-3: #7a8a99 !default; // Tertiary text (lighter)
32
+ $base-text-color-4: #a3b1bf !default; // Quaternary text (lightest)
33
+ $base-text-color-on-accent: #ffffff !default; // Text on accent backgrounds
34
+
35
+ // =============================================================================
36
+ // SURFACE COLORS
37
+ // Background colors for different surface levels
38
+ // =============================================================================
39
+
40
+ $base-surface-1: #ffffff !default; // Primary surface (cards, modals)
41
+ $base-surface-2: #f8f9fa !default; // Secondary surface (subtle backgrounds)
42
+ $base-surface-3: #e9ecef !default; // Tertiary surface (dividers, borders)
43
+ $base-surface-inverse: #2c3e50 !default; // Inverse surface (tooltips, dark elements)
44
+ $base-overlay-bg: rgba(0, 0, 0, 0.5) !default; // Modal/overlay background
45
+ $base-shadow-color: rgba(0, 0, 0, 0.15) !default; // Shadow color for elevation
46
+
47
+ // Backward compatibility mappings
48
+ $base-primary-bg: $base-surface-1 !default;
24
49
  $base-primary-bg-hover: color.adjust($base-primary-bg, $lightness: -5%) !default;
25
- $base-text-color-1: $text-primary !default;
26
- $base-text-color-2: $text-secondary !default;
27
- $base-text-color-3: color.mix($text-primary, $card-bg, 60%) !default;
28
- $base-text-color-4: color.mix($text-primary, $card-bg, 40%) !default;
29
- $base-text-color-on-accent: #ffffff !default;
30
- $base-border-color: $border-color !default;
31
- // Generic border (full shorthand)
50
+
51
+ // =============================================================================
52
+ // BORDER COLORS
53
+ // Border colors and shorthand
54
+ // =============================================================================
55
+
56
+ $base-border-color: #e1e5e9 !default;
32
57
  $base-border: 1px solid $base-border-color !default;
33
58
 
34
- // --- Input Fields ---
35
- $base-input-bg: $input-bg !default;
36
- $base-input-color: $input-text !default;
37
- $base-input-border: 1px solid $input-border !default;
38
- $base-input-border-hover: 1px solid color.adjust($input-border, $lightness: -10%) !default;
59
+ // =============================================================================
60
+ // INPUT FIELDS
61
+ // Input field styling and states
62
+ // =============================================================================
63
+
64
+ $base-input-bg: $base-surface-1 !default;
65
+ $base-input-color: #495057 !default;
66
+ $base-input-border: 1px solid #ced4da !default;
67
+ $base-input-border-hover: 1px solid #b8bfc6 !default;
39
68
  $base-input-border-focus: 1px solid $base-accent-color !default;
40
69
  $base-input-placeholder-color: $base-text-color-4 !default;
41
- $base-input-bg-disabled: rgba($input-bg, 0.5) !default;
70
+ $base-input-bg-disabled: rgba($base-input-bg, 0.5) !default;
42
71
 
43
- // --- Input Size Heights (unitless multipliers × 10px) ---
72
+ // Input size heights (unitless multipliers for x10px base)
44
73
  $base-input-size-xs-height: 3.1 !default; // 31px
45
74
  $base-input-size-sm-height: 3.3 !default; // 33px
46
75
  $base-input-size-md-height: 3.5 !default; // 35px
47
76
  $base-input-size-lg-height: 3.8 !default; // 38px
48
77
  $base-input-size-xl-height: 4.1 !default; // 41px
49
78
 
79
+ // =============================================================================
80
+ // DROPDOWN / POPOVER
81
+ // Floating element styling
82
+ // =============================================================================
83
+
84
+ $base-dropdown-bg: $base-surface-1 !default;
85
+ $base-dropdown-border: 1px solid $base-border-color !default;
86
+ $base-dropdown-box-shadow: 0 8px 16px $base-shadow-color !default;
87
+
88
+ // =============================================================================
89
+ // TOOLTIP
90
+ // Tooltip styling
91
+ // =============================================================================
92
+
93
+ $base-tooltip-bg: $base-surface-inverse !default;
94
+ $base-tooltip-text-color: #ffffff !default;
95
+
96
+ // =============================================================================
97
+ // CONTEXTUAL COLORS - SUCCESS
98
+ // Success/positive semantic colors
99
+ // =============================================================================
100
+
101
+ $base-success-color: #28a745 !default;
102
+ $base-success-color-hover: color.adjust($base-success-color, $lightness: -10%) !default;
103
+ $base-success-bg-light: rgba($base-success-color, 0.1) !default;
104
+ $base-success-bg-subtle: rgba($base-success-color, 0.08) !default;
105
+ $base-success-border: rgba($base-success-color, 0.2) !default;
106
+ $base-success-text: #155724 !default;
107
+ $base-success-text-light: #d4edda !default;
108
+ $base-text-on-success: #ffffff !default;
109
+
110
+ // =============================================================================
111
+ // CONTEXTUAL COLORS - DANGER
112
+ // Danger/error semantic colors
113
+ // =============================================================================
114
+
115
+ $base-danger-color: #dc3545 !default;
116
+ $base-danger-color-hover: color.adjust($base-danger-color, $lightness: -10%) !default;
117
+ $base-danger-bg-light: rgba($base-danger-color, 0.1) !default;
118
+ $base-danger-bg-subtle: rgba($base-danger-color, 0.08) !default;
119
+ $base-danger-border: rgba($base-danger-color, 0.2) !default;
120
+ $base-danger-text: #721c24 !default;
121
+ $base-danger-text-light: #f8d7da !default;
122
+ $base-text-on-danger: #ffffff !default;
123
+
124
+ // =============================================================================
125
+ // CONTEXTUAL COLORS - WARNING
126
+ // Warning semantic colors
127
+ // =============================================================================
128
+
129
+ $base-warning-color: #ffc107 !default;
130
+ $base-warning-color-hover: color.adjust($base-warning-color, $lightness: -10%) !default;
131
+ $base-warning-bg-light: rgba($base-warning-color, 0.1) !default;
132
+ $base-warning-bg-subtle: rgba($base-warning-color, 0.08) !default;
133
+ $base-warning-border: rgba($base-warning-color, 0.2) !default;
134
+ $base-warning-text: #856404 !default;
135
+ $base-warning-text-light: #fff3cd !default;
136
+ $base-text-on-warning: #212529 !default; // Dark text for yellow backgrounds
137
+
138
+ // =============================================================================
139
+ // CONTEXTUAL COLORS - INFO
140
+ // Info semantic colors
141
+ // =============================================================================
142
+
143
+ $base-info-color: #17a2b8 !default;
144
+ $base-info-color-hover: color.adjust($base-info-color, $lightness: -10%) !default;
145
+ $base-info-bg-light: rgba($base-info-color, 0.1) !default;
146
+ $base-info-bg-subtle: rgba($base-info-color, 0.08) !default;
147
+ $base-info-border: rgba($base-info-color, 0.2) !default;
148
+ $base-info-text: #0c5460 !default;
149
+ $base-info-text-light: #d1ecf1 !default;
150
+ $base-text-on-info: #ffffff !default;
151
+
152
+ // =============================================================================
153
+ // INTERACTIVE STATES
154
+ // Generic interaction feedback colors
155
+ // =============================================================================
156
+
157
+ $base-hover-overlay: rgba(0, 0, 0, 0.04) !default;
158
+ $base-active-overlay: rgba(0, 0, 0, 0.08) !default;
159
+ $base-focus-ring-color: $base-accent-color !default;
160
+ $base-focus-ring-width: 3px !default;
161
+
162
+ // =============================================================================
163
+ // TYPOGRAPHY
164
+ // Font families, sizes, weights, and line heights
165
+ // =============================================================================
166
+
167
+ $base-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !default;
168
+ $base-font-family-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace !default;
169
+
170
+ // Font sizes (unitless multipliers for x10px base)
171
+ $base-font-size-2xs: 1.0 !default; // 10px
172
+ $base-font-size-xs: 1.2 !default; // 12px
173
+ $base-font-size-sm: 1.4 !default; // 14px
174
+ $base-font-size-base: 1.6 !default; // 16px
175
+ $base-font-size-lg: 1.8 !default; // 18px
176
+ $base-font-size-xl: 2.0 !default; // 20px
177
+ $base-font-size-2xl: 2.4 !default; // 24px
178
+
179
+ // Font weights
180
+ $base-font-weight-normal: 400 !default;
181
+ $base-font-weight-medium: 500 !default;
182
+ $base-font-weight-semibold: 600 !default;
183
+ $base-font-weight-bold: 700 !default;
184
+
185
+ // Line heights
186
+ $base-line-height-tight: 1.25 !default;
187
+ $base-line-height-normal: 1.5 !default;
188
+ $base-line-height-relaxed: 1.75 !default;
189
+
190
+ // =============================================================================
191
+ // BORDER RADIUS
192
+ // Border radius sizes (unitless multipliers for x10px base)
193
+ // =============================================================================
194
+
195
+ $base-border-radius-sm: 0.4 !default; // 4px
196
+ $base-border-radius-md: 0.6 !default; // 6px
197
+ $base-border-radius-lg: 0.8 !default; // 8px
198
+
199
+ // =============================================================================
200
+ // COMPONENT-SPECIFIC DERIVED VALUES
201
+ // Variables that components need, derived from base
202
+ // =============================================================================
203
+
50
204
  // Command palette input height (must be after $base-input-size-* variables)
51
- $command-palette-input-height: #{$base-input-size-lg-height}rem !default; // 38px (lg size)
52
-
53
- // --- Dropdown/Popover ---
54
- $base-dropdown-bg: $card-bg !default;
55
- $base-dropdown-border: 1px solid $border-color !default;
56
- $base-dropdown-box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15) !default;
57
-
58
- // --- Tooltip ---
59
- $base-tooltip-bg: $tooltip-bg !default;
60
- $base-tooltip-text-color: $tooltip-text !default;
61
-
62
- // --- Typography (unitless multipliers for × 10px base) ---
63
- $base-font-family: $body-font-family !default;
64
- $base-font-size-2xs: 1.0 !default; // × 10px = 10px
65
- $base-font-size-xs: 1.2 !default; // × 10px = 12px
66
- $base-font-size-sm: 1.4 !default; // × 10px = 14px
67
- $base-font-size-base: 1.6 !default; // × 10px = 16px
68
- $base-font-size-lg: 1.8 !default; // × 10px = 18px
69
- $base-font-size-xl: 2.0 !default; // × 10px = 20px
70
- $base-font-size-2xl: 2.4 !default; // × 10px = 24px
71
- $base-font-weight-normal: $font-weight-normal !default;
72
- $base-font-weight-medium: $font-weight-medium !default;
73
- $base-font-weight-semibold: $font-weight-semibold !default;
74
- $base-line-height-tight: $line-height-tight !default;
75
- $base-line-height-normal: $line-height-base !default;
76
- $base-line-height-relaxed: $line-height-relaxed !default;
77
-
78
- // --- Border Radius (unitless multipliers for × 10px base) ---
79
- $base-border-radius-sm: 0.4 !default; // × 10px = 4px
80
- $base-border-radius-md: 0.6 !default; // × 10px = 6px
81
- $base-border-radius-lg: 0.8 !default; // × 10px = 8px
205
+ $command-palette-input-height: #{$base-input-size-lg-height}rem !default;