@keenmate/pure-admin-core 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/README.md +77 -7
- package/dist/css/main.css +1313 -452
- package/package.json +1 -1
- package/snippets/customization.html +1 -1
- package/snippets/layout.html +66 -0
- package/snippets/manifest.json +0 -50
- package/snippets/profile.html +51 -3
- package/src/scss/_base-css-variables.scss +432 -422
- package/src/scss/_core.scss +105 -105
- package/src/scss/_fonts.scss +0 -14
- package/src/scss/_variables.scss +12 -14
- package/src/scss/core-components/_alerts.scss +7 -7
- package/src/scss/core-components/_base.scss +3 -3
- package/src/scss/core-components/_buttons.scss +425 -425
- package/src/scss/core-components/_callouts.scss +139 -139
- package/src/scss/core-components/_cards.scss +321 -321
- package/src/scss/core-components/_checkbox-lists.scss +2 -2
- package/src/scss/core-components/_code.scss +4 -4
- package/src/scss/core-components/_command-palette.scss +518 -518
- package/src/scss/core-components/_comparison.scss +3 -3
- package/src/scss/core-components/_file-selector.scss +780 -780
- package/src/scss/core-components/_forms.scss +16 -16
- package/src/scss/core-components/_grid.scss +25 -0
- package/src/scss/core-components/_layout.scss +15 -15
- package/src/scss/core-components/_lists.scss +7 -7
- package/src/scss/core-components/_logic-tree.scss +280 -280
- package/src/scss/core-components/_modals.scss +2 -2
- package/src/scss/core-components/_notifications.scss +74 -7
- package/src/scss/core-components/_pagers.scss +3 -3
- package/src/scss/core-components/_popconfirm.scss +1 -1
- package/src/scss/core-components/_profile.scss +400 -379
- package/src/scss/core-components/_scrollbars.scss +40 -41
- package/src/scss/core-components/_settings-panel.scss +5 -5
- package/src/scss/core-components/_statistics.scss +6 -6
- package/src/scss/core-components/_tables.scss +566 -566
- package/src/scss/core-components/_tabs.scss +493 -493
- package/src/scss/core-components/_timeline.scss +15 -15
- package/src/scss/core-components/_toasts.scss +4 -4
- package/src/scss/core-components/_tooltips.scss +8 -8
- package/src/scss/core-components/_utilities.scss +35 -30
- package/src/scss/core-components/_web-components-theme.scss +294 -294
- package/src/scss/core-components/badges/_composite-badge-variants.scss +3 -3
- package/src/scss/core-components/badges/_labels.scss +1 -1
- package/src/scss/core-components/forms/_checkboxes-radios.scss +2 -2
- package/src/scss/core-components/forms/_form-inputs.scss +4 -4
- package/src/scss/core-components/forms/_form-layout.scss +2 -2
- package/src/scss/core-components/forms/_form-states.scss +1 -1
- package/src/scss/core-components/forms/_input-groups.scss +13 -11
- package/src/scss/core-components/forms/_input-wrapper.scss +1 -1
- package/src/scss/core-components/forms/_query-editor.scss +17 -17
- package/src/scss/core-components/layout/_layout-container.scss +33 -1
- package/src/scss/core-components/layout/_navbar-elements.scss +1 -1
- package/src/scss/core-components/layout/_sidebar.scss +53 -2
- package/src/scss/utilities.scss +81 -2
- package/src/scss/variables/_base.scss +20 -10
- package/src/scss/variables/_colors.scss +7 -6
- package/src/scss/variables/_components.scss +8 -11
- package/src/scss/variables/_index.scss +11 -7
- package/src/scss/variables/_spacing.scss +12 -0
- package/src/scss/variables/_typography.scss +2 -2
- package/dist/fonts/Delivery/Delivery_W_Bd.woff2 +0 -0
- package/dist/fonts/Delivery/Delivery_W_BdIt.woff2 +0 -0
- package/dist/fonts/Delivery/Delivery_W_CdBlk.woff2 +0 -0
- package/dist/fonts/Delivery/Delivery_W_CdLt.woff2 +0 -0
- package/dist/fonts/Delivery/Delivery_W_It.woff2 +0 -0
- package/dist/fonts/Delivery/Delivery_W_Lt.woff2 +0 -0
- package/dist/fonts/Delivery/Delivery_W_LtIt.woff2 +0 -0
- package/dist/fonts/Delivery/Delivery_W_Rg.woff2 +0 -0
- package/src/scss/themes/_dark-base.scss +0 -207
- package/src/scss/themes/audi-light.scss +0 -341
- package/src/scss/themes/audi.scss +0 -303
- package/src/scss/themes/corporate.scss +0 -229
- package/src/scss/themes/dark-blue.scss +0 -165
- package/src/scss/themes/dark-green.scss +0 -169
- package/src/scss/themes/dark-red.scss +0 -173
- package/src/scss/themes/dark.scss +0 -158
- package/src/scss/themes/express.scss +0 -294
- package/src/scss/themes/minimal.scss +0 -134
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
flex-shrink: 0;
|
|
32
32
|
padding-top: $input-padding-v;
|
|
33
33
|
margin-bottom: 0;
|
|
34
|
-
color: var(--pa-text-
|
|
34
|
+
color: var(--pa-text-color-1);
|
|
35
35
|
font-weight: $font-weight-medium;
|
|
36
36
|
font-size: $font-size-sm;
|
|
37
37
|
}
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
align-items: center;
|
|
52
52
|
gap: $form-scale;
|
|
53
53
|
margin-bottom: $form-label-margin-bottom;
|
|
54
|
-
color: var(--pa-text-
|
|
54
|
+
color: var(--pa-text-color-1);
|
|
55
55
|
font-weight: $font-weight-medium;
|
|
56
56
|
font-size: $font-size-sm;
|
|
57
57
|
}
|
|
@@ -35,10 +35,11 @@
|
|
|
35
35
|
&__append {
|
|
36
36
|
display: flex;
|
|
37
37
|
align-items: center;
|
|
38
|
-
|
|
38
|
+
height: #{$base-input-size-md-height}rem;
|
|
39
|
+
line-height: #{$base-input-size-md-height}rem;
|
|
40
|
+
padding: 0 $input-padding-h;
|
|
39
41
|
border: $border-width-base solid var(--pa-border-color);
|
|
40
42
|
font-size: $font-size-sm;
|
|
41
|
-
line-height: 1;
|
|
42
43
|
white-space: nowrap;
|
|
43
44
|
border-radius: 0;
|
|
44
45
|
}
|
|
@@ -74,8 +75,8 @@
|
|
|
74
75
|
border-left: $border-width-base solid var(--pa-border-color);
|
|
75
76
|
}
|
|
76
77
|
|
|
77
|
-
// When input is focused,
|
|
78
|
-
&:focus
|
|
78
|
+
// When input is focused, show focus border on adjacent prepend/append
|
|
79
|
+
&:has(.pa-input:focus) {
|
|
79
80
|
// Last prepend (one before input) gets focus border
|
|
80
81
|
.pa-input-group__prepend {
|
|
81
82
|
border-right: $border-width-base solid var(--pa-input-focus-border-color);
|
|
@@ -99,13 +100,10 @@
|
|
|
99
100
|
|
|
100
101
|
&__button {
|
|
101
102
|
border-radius: 0;
|
|
102
|
-
border-color: var(--pa-border-color);
|
|
103
|
-
border-left: none;
|
|
104
103
|
|
|
105
104
|
&:first-child {
|
|
106
105
|
border-top-left-radius: $border-radius;
|
|
107
106
|
border-bottom-left-radius: $border-radius;
|
|
108
|
-
border-left: $border-width-base solid var(--pa-border-color);
|
|
109
107
|
}
|
|
110
108
|
|
|
111
109
|
&:last-child {
|
|
@@ -118,7 +116,8 @@
|
|
|
118
116
|
&--xs {
|
|
119
117
|
.pa-input-group__prepend,
|
|
120
118
|
.pa-input-group__append {
|
|
121
|
-
|
|
119
|
+
height: #{$base-input-size-xs-height}rem;
|
|
120
|
+
line-height: #{$base-input-size-xs-height}rem;
|
|
122
121
|
font-size: $font-size-xs;
|
|
123
122
|
}
|
|
124
123
|
}
|
|
@@ -126,7 +125,8 @@
|
|
|
126
125
|
&--sm {
|
|
127
126
|
.pa-input-group__prepend,
|
|
128
127
|
.pa-input-group__append {
|
|
129
|
-
|
|
128
|
+
height: #{$base-input-size-sm-height}rem;
|
|
129
|
+
line-height: #{$base-input-size-sm-height}rem;
|
|
130
130
|
font-size: $font-size-sm;
|
|
131
131
|
}
|
|
132
132
|
}
|
|
@@ -134,7 +134,8 @@
|
|
|
134
134
|
&--lg {
|
|
135
135
|
.pa-input-group__prepend,
|
|
136
136
|
.pa-input-group__append {
|
|
137
|
-
|
|
137
|
+
height: #{$base-input-size-lg-height}rem;
|
|
138
|
+
line-height: #{$base-input-size-lg-height}rem;
|
|
138
139
|
font-size: $font-size-base;
|
|
139
140
|
}
|
|
140
141
|
}
|
|
@@ -142,7 +143,8 @@
|
|
|
142
143
|
&--xl {
|
|
143
144
|
.pa-input-group__prepend,
|
|
144
145
|
.pa-input-group__append {
|
|
145
|
-
|
|
146
|
+
height: #{$base-input-size-xl-height}rem;
|
|
147
|
+
line-height: #{$base-input-size-xl-height}rem;
|
|
146
148
|
font-size: $font-size-lg;
|
|
147
149
|
}
|
|
148
150
|
}
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
position: relative;
|
|
32
32
|
z-index: 1;
|
|
33
33
|
background: transparent;
|
|
34
|
-
color: var(--pa-text-
|
|
34
|
+
color: var(--pa-text-color-1);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
&__field {
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
&-type {
|
|
88
88
|
margin-left: auto;
|
|
89
89
|
font-size: $font-size-xs;
|
|
90
|
-
color: var(--pa-text-
|
|
90
|
+
color: var(--pa-text-color-2);
|
|
91
91
|
opacity: 0.7;
|
|
92
92
|
}
|
|
93
93
|
}
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
padding: $spacing-xs $spacing-md;
|
|
97
97
|
font-size: $font-size-xs;
|
|
98
98
|
font-weight: $font-weight-medium;
|
|
99
|
-
color: var(--pa-text-
|
|
99
|
+
color: var(--pa-text-color-2);
|
|
100
100
|
text-transform: uppercase;
|
|
101
101
|
letter-spacing: 0.05em;
|
|
102
102
|
background-color: var(--pa-card-header-bg);
|
|
@@ -106,7 +106,7 @@
|
|
|
106
106
|
&__empty {
|
|
107
107
|
padding: $spacing-md;
|
|
108
108
|
text-align: center;
|
|
109
|
-
color: var(--pa-text-
|
|
109
|
+
color: var(--pa-text-color-2);
|
|
110
110
|
font-size: $font-size-sm;
|
|
111
111
|
}
|
|
112
112
|
}
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
border-radius: $border-radius;
|
|
121
121
|
font-size: $font-size-sm;
|
|
122
122
|
background-color: var(--pa-input-bg);
|
|
123
|
-
color: var(--pa-text-
|
|
123
|
+
color: var(--pa-text-color-1);
|
|
124
124
|
cursor: text;
|
|
125
125
|
overflow-wrap: break-word;
|
|
126
126
|
word-wrap: break-word;
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
|
|
136
136
|
&:empty::before {
|
|
137
137
|
content: attr(data-placeholder);
|
|
138
|
-
color: var(--pa-text-
|
|
138
|
+
color: var(--pa-text-color-2);
|
|
139
139
|
opacity: 0.7;
|
|
140
140
|
pointer-events: none;
|
|
141
141
|
}
|
|
@@ -195,7 +195,7 @@
|
|
|
195
195
|
font-family: $body-font-family;
|
|
196
196
|
background: transparent;
|
|
197
197
|
color: transparent;
|
|
198
|
-
caret-color: var(--pa-text-
|
|
198
|
+
caret-color: var(--pa-text-color-1);
|
|
199
199
|
resize: none;
|
|
200
200
|
overflow: hidden;
|
|
201
201
|
line-height: 1.5;
|
|
@@ -209,7 +209,7 @@
|
|
|
209
209
|
}
|
|
210
210
|
|
|
211
211
|
&::placeholder {
|
|
212
|
-
color: var(--pa-text-
|
|
212
|
+
color: var(--pa-text-color-2);
|
|
213
213
|
opacity: 0.7;
|
|
214
214
|
}
|
|
215
215
|
}
|
|
@@ -222,28 +222,28 @@
|
|
|
222
222
|
|
|
223
223
|
&--field {
|
|
224
224
|
background-color: rgba($accent-color, 0.15);
|
|
225
|
-
color: var(--pa-text-
|
|
225
|
+
color: var(--pa-text-color-1);
|
|
226
226
|
|
|
227
227
|
&.pa-inline-query-token--invalid {
|
|
228
228
|
background-color: rgba($danger-bg, 0.15);
|
|
229
|
-
color: var(--pa-text-
|
|
229
|
+
color: var(--pa-text-color-1);
|
|
230
230
|
text-decoration: wavy underline;
|
|
231
231
|
}
|
|
232
232
|
}
|
|
233
233
|
|
|
234
234
|
&--operator {
|
|
235
|
-
background-color: rgba(var(--pa-text-
|
|
236
|
-
color: var(--pa-text-
|
|
235
|
+
background-color: rgba(var(--pa-text-color-2), 0.15);
|
|
236
|
+
color: var(--pa-text-color-1);
|
|
237
237
|
}
|
|
238
238
|
|
|
239
239
|
&--value {
|
|
240
240
|
background-color: rgba($success-bg, 0.15);
|
|
241
|
-
color: var(--pa-text-
|
|
241
|
+
color: var(--pa-text-color-1);
|
|
242
242
|
}
|
|
243
243
|
|
|
244
244
|
&--keyword {
|
|
245
245
|
background-color: rgba($warning-bg, 0.15);
|
|
246
|
-
color: var(--pa-text-
|
|
246
|
+
color: var(--pa-text-color-1);
|
|
247
247
|
font-style: italic;
|
|
248
248
|
}
|
|
249
249
|
}
|
|
@@ -295,7 +295,7 @@
|
|
|
295
295
|
&-type {
|
|
296
296
|
display: block;
|
|
297
297
|
font-size: $font-size-xs;
|
|
298
|
-
color: var(--pa-text-
|
|
298
|
+
color: var(--pa-text-color-2);
|
|
299
299
|
opacity: 0.7;
|
|
300
300
|
line-height: 1.3;
|
|
301
301
|
}
|
|
@@ -304,8 +304,8 @@
|
|
|
304
304
|
flex-shrink: 0;
|
|
305
305
|
font-size: $font-size-xs;
|
|
306
306
|
padding: 0.2rem 0.6rem;
|
|
307
|
-
background-color: rgba(var(--pa-text-
|
|
308
|
-
color: var(--pa-text-
|
|
307
|
+
background-color: rgba(var(--pa-text-color-2), 0.1);
|
|
308
|
+
color: var(--pa-text-color-2);
|
|
309
309
|
border-radius: 0.4rem;
|
|
310
310
|
font-family: $body-font-family;
|
|
311
311
|
}
|
|
@@ -14,7 +14,7 @@ body.pa-layout--sticky {
|
|
|
14
14
|
.pa-layout {
|
|
15
15
|
max-width: 100%;
|
|
16
16
|
margin: $header-height auto 0;
|
|
17
|
-
background-color: var(--pa-
|
|
17
|
+
background-color: var(--pa-main-bg);
|
|
18
18
|
overflow: visible; // Allow tooltips to escape
|
|
19
19
|
display: flex;
|
|
20
20
|
flex-direction: column;
|
|
@@ -133,3 +133,35 @@ body.pa-layout--sticky .pa-layout__inner {
|
|
|
133
133
|
gap: $spacing-xs;
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
|
+
|
|
137
|
+
// Responsive footer - stack sections on mobile
|
|
138
|
+
@media (max-width: $mobile-breakpoint) {
|
|
139
|
+
.pa-layout__footer {
|
|
140
|
+
flex-wrap: wrap;
|
|
141
|
+
min-height: auto;
|
|
142
|
+
padding: $spacing-sm $spacing-base;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.pa-footer__left,
|
|
146
|
+
.pa-footer__center,
|
|
147
|
+
.pa-footer__right {
|
|
148
|
+
flex-shrink: 1;
|
|
149
|
+
min-width: 0;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
.pa-footer__left {
|
|
153
|
+
flex: 1 1 auto;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.pa-footer__center {
|
|
157
|
+
display: none; // Hide empty center on mobile
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.pa-footer__right {
|
|
161
|
+
flex: 0 1 auto;
|
|
162
|
+
|
|
163
|
+
&--vertical {
|
|
164
|
+
align-items: flex-end;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
@@ -4,17 +4,68 @@
|
|
|
4
4
|
======================================== */
|
|
5
5
|
@use '../../variables' as *;
|
|
6
6
|
|
|
7
|
-
//
|
|
7
|
+
// Local CSS variables for sidebar (runtime state, modified by JS for resize)
|
|
8
|
+
:root {
|
|
9
|
+
--pa-local-sidebar-width: #{$sidebar-width};
|
|
10
|
+
--pa-local-sidebar-min-width: 18rem;
|
|
11
|
+
--pa-local-sidebar-max-width: 50rem;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// Sidebar layout element - width in :where() for low specificity (utility classes can override)
|
|
15
|
+
:where(.pa-layout__sidebar) {
|
|
16
|
+
width: var(--pa-local-sidebar-width);
|
|
17
|
+
}
|
|
18
|
+
|
|
8
19
|
.pa-layout__sidebar {
|
|
9
|
-
width: $sidebar-width;
|
|
10
20
|
background-color: var(--pa-sidebar-bg);
|
|
11
21
|
border-right: $border-width-base solid var(--pa-border-color);
|
|
12
22
|
flex-shrink: 0;
|
|
23
|
+
position: relative;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Resize handle on sidebar edge
|
|
27
|
+
.pa-sidebar-resize {
|
|
28
|
+
position: absolute;
|
|
29
|
+
top: 0;
|
|
30
|
+
right: 0;
|
|
31
|
+
width: 6px;
|
|
32
|
+
height: 100%;
|
|
33
|
+
cursor: ew-resize;
|
|
34
|
+
z-index: 100;
|
|
35
|
+
|
|
36
|
+
// Visual indicator on hover
|
|
37
|
+
&::after {
|
|
38
|
+
content: '';
|
|
39
|
+
position: absolute;
|
|
40
|
+
top: 0;
|
|
41
|
+
left: 50%;
|
|
42
|
+
transform: translateX(-50%);
|
|
43
|
+
width: 2px;
|
|
44
|
+
height: 100%;
|
|
45
|
+
background-color: transparent;
|
|
46
|
+
transition: background-color $transition-fast $easing-snappy;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
&:hover::after,
|
|
50
|
+
&--active::after {
|
|
51
|
+
background-color: var(--pa-accent);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// Disable text selection during resize
|
|
56
|
+
body.pa-sidebar-resizing {
|
|
57
|
+
cursor: ew-resize !important;
|
|
58
|
+
user-select: none;
|
|
59
|
+
|
|
60
|
+
* {
|
|
61
|
+
cursor: ew-resize !important;
|
|
62
|
+
}
|
|
13
63
|
}
|
|
14
64
|
|
|
15
65
|
// Sticky mode - sidebar scrolls
|
|
16
66
|
body.pa-layout--sticky .pa-layout__sidebar {
|
|
17
67
|
overflow-y: auto;
|
|
68
|
+
overflow-y: overlay; // Chromium: scrollbar overlays content, doesn't reduce width
|
|
18
69
|
overflow-x: visible; // Allow tooltips to escape right
|
|
19
70
|
}
|
|
20
71
|
|
package/src/scss/utilities.scss
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
// Spacing utilities similar to Bootstrap/Tailwind
|
|
3
3
|
// Based on rem units: 0, 0.25, 0.5, 0.75, 1, 1.25, 1.5, 2, 2.5, 3, 4, 5
|
|
4
4
|
|
|
5
|
+
@use './variables' as *;
|
|
6
|
+
|
|
5
7
|
// Spacing scale
|
|
6
8
|
$spacers: (
|
|
7
9
|
0: 0,
|
|
@@ -129,6 +131,28 @@ $spacers: (
|
|
|
129
131
|
margin-bottom: auto !important;
|
|
130
132
|
}
|
|
131
133
|
|
|
134
|
+
// Semantic margin utilities (using spacing variables)
|
|
135
|
+
@each $name, $value in $semantic-spacers {
|
|
136
|
+
.m-#{$name} { margin: #{$value} !important; }
|
|
137
|
+
.mt-#{$name} { margin-top: #{$value} !important; }
|
|
138
|
+
.mr-#{$name} { margin-right: #{$value} !important; }
|
|
139
|
+
.mb-#{$name} { margin-bottom: #{$value} !important; }
|
|
140
|
+
.ml-#{$name} { margin-left: #{$value} !important; }
|
|
141
|
+
.mx-#{$name} { margin-left: #{$value} !important; margin-right: #{$value} !important; }
|
|
142
|
+
.my-#{$name} { margin-top: #{$value} !important; margin-bottom: #{$value} !important; }
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
// Semantic padding utilities (using spacing variables)
|
|
146
|
+
@each $name, $value in $semantic-spacers {
|
|
147
|
+
.p-#{$name} { padding: #{$value} !important; }
|
|
148
|
+
.pt-#{$name} { padding-top: #{$value} !important; }
|
|
149
|
+
.pr-#{$name} { padding-right: #{$value} !important; }
|
|
150
|
+
.pb-#{$name} { padding-bottom: #{$value} !important; }
|
|
151
|
+
.pl-#{$name} { padding-left: #{$value} !important; }
|
|
152
|
+
.px-#{$name} { padding-left: #{$value} !important; padding-right: #{$value} !important; }
|
|
153
|
+
.py-#{$name} { padding-top: #{$value} !important; padding-bottom: #{$value} !important; }
|
|
154
|
+
}
|
|
155
|
+
|
|
132
156
|
// Display utilities
|
|
133
157
|
.d-none {
|
|
134
158
|
display: none !important;
|
|
@@ -277,9 +301,12 @@ $spacers: (
|
|
|
277
301
|
.w-100 { width: 100% !important; }
|
|
278
302
|
.w-auto { width: auto !important; }
|
|
279
303
|
|
|
280
|
-
// Width utilities (fractions) - matches grid naming
|
|
304
|
+
// Width utilities (fractions) - matches grid naming
|
|
305
|
+
.w-1-2 { width: 50% !important; }
|
|
281
306
|
.w-1-3 { width: 33.333333% !important; }
|
|
282
307
|
.w-2-3 { width: 66.666667% !important; }
|
|
308
|
+
.w-1-4 { width: 25% !important; }
|
|
309
|
+
.w-3-4 { width: 75% !important; }
|
|
283
310
|
|
|
284
311
|
// Min-width utilities
|
|
285
312
|
.mw-25 { min-width: 25% !important; }
|
|
@@ -287,16 +314,22 @@ $spacers: (
|
|
|
287
314
|
.mw-75 { min-width: 75% !important; }
|
|
288
315
|
.mw-100 { min-width: 100% !important; }
|
|
289
316
|
.mw-auto { min-width: auto !important; }
|
|
317
|
+
.mw-1-2 { min-width: 50% !important; }
|
|
290
318
|
.mw-1-3 { min-width: 33.333333% !important; }
|
|
291
319
|
.mw-2-3 { min-width: 66.666667% !important; }
|
|
320
|
+
.mw-1-4 { min-width: 25% !important; }
|
|
321
|
+
.mw-3-4 { min-width: 75% !important; }
|
|
292
322
|
|
|
293
323
|
// Fixed width utilities (min-width + width locked)
|
|
294
324
|
.w-25-fixed { min-width: 25% !important; width: 25% !important; }
|
|
295
325
|
.w-50-fixed { min-width: 50% !important; width: 50% !important; }
|
|
296
326
|
.w-75-fixed { min-width: 75% !important; width: 75% !important; }
|
|
297
327
|
.w-100-fixed { min-width: 100% !important; width: 100% !important; }
|
|
328
|
+
.w-1-2-fixed { min-width: 50% !important; width: 50% !important; }
|
|
298
329
|
.w-1-3-fixed { min-width: 33.333333% !important; width: 33.333333% !important; }
|
|
299
330
|
.w-2-3-fixed { min-width: 66.666667% !important; width: 66.666667% !important; }
|
|
331
|
+
.w-1-4-fixed { min-width: 25% !important; width: 25% !important; }
|
|
332
|
+
.w-3-4-fixed { min-width: 75% !important; width: 75% !important; }
|
|
300
333
|
|
|
301
334
|
// Height utilities
|
|
302
335
|
.h-25 {
|
|
@@ -319,10 +352,17 @@ $spacers: (
|
|
|
319
352
|
height: auto !important;
|
|
320
353
|
}
|
|
321
354
|
|
|
355
|
+
// Height utilities (fractions)
|
|
356
|
+
.h-1-2 { height: 50% !important; }
|
|
357
|
+
.h-1-3 { height: 33.333333% !important; }
|
|
358
|
+
.h-2-3 { height: 66.666667% !important; }
|
|
359
|
+
.h-1-4 { height: 25% !important; }
|
|
360
|
+
.h-3-4 { height: 75% !important; }
|
|
361
|
+
|
|
322
362
|
// ============================================================================
|
|
323
363
|
// REM-BASED SIZING UTILITIES
|
|
324
364
|
// Use 'r' suffix to distinguish from percentage-based utilities
|
|
325
|
-
// Values: 1-10, 15, 20, 25 (rem)
|
|
365
|
+
// Values: 1-10, 15, 20, 25, 30, 35, 40, 45, 50 (rem)
|
|
326
366
|
// ============================================================================
|
|
327
367
|
|
|
328
368
|
// Width (rem)
|
|
@@ -339,6 +379,11 @@ $spacers: (
|
|
|
339
379
|
.wr-15 { width: 15rem !important; }
|
|
340
380
|
.wr-20 { width: 20rem !important; }
|
|
341
381
|
.wr-25 { width: 25rem !important; }
|
|
382
|
+
.wr-30 { width: 30rem !important; }
|
|
383
|
+
.wr-35 { width: 35rem !important; }
|
|
384
|
+
.wr-40 { width: 40rem !important; }
|
|
385
|
+
.wr-45 { width: 45rem !important; }
|
|
386
|
+
.wr-50 { width: 50rem !important; }
|
|
342
387
|
|
|
343
388
|
// Min-width (rem)
|
|
344
389
|
.minwr-1 { min-width: 1rem !important; }
|
|
@@ -354,6 +399,11 @@ $spacers: (
|
|
|
354
399
|
.minwr-15 { min-width: 15rem !important; }
|
|
355
400
|
.minwr-20 { min-width: 20rem !important; }
|
|
356
401
|
.minwr-25 { min-width: 25rem !important; }
|
|
402
|
+
.minwr-30 { min-width: 30rem !important; }
|
|
403
|
+
.minwr-35 { min-width: 35rem !important; }
|
|
404
|
+
.minwr-40 { min-width: 40rem !important; }
|
|
405
|
+
.minwr-45 { min-width: 45rem !important; }
|
|
406
|
+
.minwr-50 { min-width: 50rem !important; }
|
|
357
407
|
|
|
358
408
|
// Max-width (rem)
|
|
359
409
|
.maxwr-1 { max-width: 1rem !important; }
|
|
@@ -369,6 +419,11 @@ $spacers: (
|
|
|
369
419
|
.maxwr-15 { max-width: 15rem !important; }
|
|
370
420
|
.maxwr-20 { max-width: 20rem !important; }
|
|
371
421
|
.maxwr-25 { max-width: 25rem !important; }
|
|
422
|
+
.maxwr-30 { max-width: 30rem !important; }
|
|
423
|
+
.maxwr-35 { max-width: 35rem !important; }
|
|
424
|
+
.maxwr-40 { max-width: 40rem !important; }
|
|
425
|
+
.maxwr-45 { max-width: 45rem !important; }
|
|
426
|
+
.maxwr-50 { max-width: 50rem !important; }
|
|
372
427
|
|
|
373
428
|
// Height (rem)
|
|
374
429
|
.hr-1 { height: 1rem !important; }
|
|
@@ -384,6 +439,11 @@ $spacers: (
|
|
|
384
439
|
.hr-15 { height: 15rem !important; }
|
|
385
440
|
.hr-20 { height: 20rem !important; }
|
|
386
441
|
.hr-25 { height: 25rem !important; }
|
|
442
|
+
.hr-30 { height: 30rem !important; }
|
|
443
|
+
.hr-35 { height: 35rem !important; }
|
|
444
|
+
.hr-40 { height: 40rem !important; }
|
|
445
|
+
.hr-45 { height: 45rem !important; }
|
|
446
|
+
.hr-50 { height: 50rem !important; }
|
|
387
447
|
|
|
388
448
|
// Min-height (rem)
|
|
389
449
|
.minhr-1 { min-height: 1rem !important; }
|
|
@@ -399,6 +459,11 @@ $spacers: (
|
|
|
399
459
|
.minhr-15 { min-height: 15rem !important; }
|
|
400
460
|
.minhr-20 { min-height: 20rem !important; }
|
|
401
461
|
.minhr-25 { min-height: 25rem !important; }
|
|
462
|
+
.minhr-30 { min-height: 30rem !important; }
|
|
463
|
+
.minhr-35 { min-height: 35rem !important; }
|
|
464
|
+
.minhr-40 { min-height: 40rem !important; }
|
|
465
|
+
.minhr-45 { min-height: 45rem !important; }
|
|
466
|
+
.minhr-50 { min-height: 50rem !important; }
|
|
402
467
|
|
|
403
468
|
// Max-height (rem)
|
|
404
469
|
.maxhr-1 { max-height: 1rem !important; }
|
|
@@ -414,6 +479,11 @@ $spacers: (
|
|
|
414
479
|
.maxhr-15 { max-height: 15rem !important; }
|
|
415
480
|
.maxhr-20 { max-height: 20rem !important; }
|
|
416
481
|
.maxhr-25 { max-height: 25rem !important; }
|
|
482
|
+
.maxhr-30 { max-height: 30rem !important; }
|
|
483
|
+
.maxhr-35 { max-height: 35rem !important; }
|
|
484
|
+
.maxhr-40 { max-height: 40rem !important; }
|
|
485
|
+
.maxhr-45 { max-height: 45rem !important; }
|
|
486
|
+
.maxhr-50 { max-height: 50rem !important; }
|
|
417
487
|
|
|
418
488
|
// ============================================================================
|
|
419
489
|
// PERCENTAGE-BASED MIN/MAX UTILITIES
|
|
@@ -465,8 +535,11 @@ $spacers: (
|
|
|
465
535
|
.maxw-90 { max-width: 90% !important; }
|
|
466
536
|
.maxw-95 { max-width: 95% !important; }
|
|
467
537
|
.maxw-100 { max-width: 100% !important; }
|
|
538
|
+
.maxw-1-2 { max-width: 50% !important; }
|
|
468
539
|
.maxw-1-3 { max-width: 33.333333% !important; }
|
|
469
540
|
.maxw-2-3 { max-width: 66.666667% !important; }
|
|
541
|
+
.maxw-1-4 { max-width: 25% !important; }
|
|
542
|
+
.maxw-3-4 { max-width: 75% !important; }
|
|
470
543
|
|
|
471
544
|
// Min-height (percentage)
|
|
472
545
|
.minh-5 { min-height: 5% !important; }
|
|
@@ -489,8 +562,11 @@ $spacers: (
|
|
|
489
562
|
.minh-90 { min-height: 90% !important; }
|
|
490
563
|
.minh-95 { min-height: 95% !important; }
|
|
491
564
|
.minh-100 { min-height: 100% !important; }
|
|
565
|
+
.minh-1-2 { min-height: 50% !important; }
|
|
492
566
|
.minh-1-3 { min-height: 33.333333% !important; }
|
|
493
567
|
.minh-2-3 { min-height: 66.666667% !important; }
|
|
568
|
+
.minh-1-4 { min-height: 25% !important; }
|
|
569
|
+
.minh-3-4 { min-height: 75% !important; }
|
|
494
570
|
|
|
495
571
|
// Max-height (percentage)
|
|
496
572
|
.maxh-5 { max-height: 5% !important; }
|
|
@@ -513,8 +589,11 @@ $spacers: (
|
|
|
513
589
|
.maxh-90 { max-height: 90% !important; }
|
|
514
590
|
.maxh-95 { max-height: 95% !important; }
|
|
515
591
|
.maxh-100 { max-height: 100% !important; }
|
|
592
|
+
.maxh-1-2 { max-height: 50% !important; }
|
|
516
593
|
.maxh-1-3 { max-height: 33.333333% !important; }
|
|
517
594
|
.maxh-2-3 { max-height: 66.666667% !important; }
|
|
595
|
+
.maxh-1-4 { max-height: 25% !important; }
|
|
596
|
+
.maxh-3-4 { max-height: 75% !important; }
|
|
518
597
|
|
|
519
598
|
// Position utilities
|
|
520
599
|
.position-static {
|
|
@@ -33,20 +33,30 @@ $base-text-color-4: #a3b1bf !default; // Quaternary text (lightest)
|
|
|
33
33
|
$base-text-color-on-accent: #ffffff !default; // Text on accent backgrounds
|
|
34
34
|
|
|
35
35
|
// =============================================================================
|
|
36
|
-
//
|
|
37
|
-
//
|
|
36
|
+
// BACKGROUND COLORS
|
|
37
|
+
// Semantic background colors for different purposes
|
|
38
38
|
// =============================================================================
|
|
39
39
|
|
|
40
|
-
$base-
|
|
41
|
-
$base-
|
|
42
|
-
$base-
|
|
43
|
-
$base-
|
|
40
|
+
$base-main-bg: #ffffff !default; // Primary background (cards, modals, content)
|
|
41
|
+
$base-page-bg: #f8f9fa !default; // Page background, subtle sections
|
|
42
|
+
$base-subtle-bg: #e9ecef !default; // Muted areas, dividers
|
|
43
|
+
$base-inverse-bg: #2c3e50 !default; // Inverse background (tooltips, dark elements)
|
|
44
44
|
$base-overlay-bg: rgba(0, 0, 0, 0.5) !default; // Modal/overlay background
|
|
45
45
|
$base-shadow-color: rgba(0, 0, 0, 0.15) !default; // Shadow color for elevation
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
$base-
|
|
46
|
+
$base-elevated-bg: #f5f5f5 !default; // Header row, striped rows, elevated surfaces
|
|
47
|
+
|
|
48
|
+
// Interactive state backgrounds
|
|
49
|
+
$base-hover-bg: $base-subtle-bg !default; // Hover state background
|
|
50
|
+
$base-active-bg: color.adjust($base-subtle-bg, $lightness: -5%) !default; // Active/pressed state
|
|
51
|
+
$base-disabled-bg: $base-subtle-bg !default; // Disabled element background
|
|
52
|
+
|
|
53
|
+
// Legacy aliases (backward compatibility)
|
|
54
|
+
$base-surface-1: $base-main-bg !default;
|
|
55
|
+
$base-surface-2: $base-page-bg !default;
|
|
56
|
+
$base-surface-3: $base-subtle-bg !default;
|
|
57
|
+
$base-surface-inverse: $base-inverse-bg !default;
|
|
58
|
+
$base-primary-bg: $base-main-bg !default;
|
|
59
|
+
$base-primary-bg-hover: color.adjust($base-main-bg, $lightness: -5%) !default;
|
|
50
60
|
|
|
51
61
|
// =============================================================================
|
|
52
62
|
// BORDER COLORS
|
|
@@ -5,18 +5,19 @@
|
|
|
5
5
|
// ============================================================================
|
|
6
6
|
|
|
7
7
|
@use 'sass:color';
|
|
8
|
-
@
|
|
8
|
+
// NOTE: Base variables are available in global scope via @import in _index.scss
|
|
9
|
+
// No @use 'base' needed since we use @import for proper !default cascading
|
|
9
10
|
|
|
10
11
|
// =============================================================================
|
|
11
12
|
// LAYOUT COLORS (derived from base)
|
|
12
13
|
// =============================================================================
|
|
13
14
|
|
|
14
|
-
$
|
|
15
|
-
$bg
|
|
16
|
-
$
|
|
17
|
-
$text-
|
|
15
|
+
$main-bg: $base-page-bg !default;
|
|
16
|
+
$page-bg: $base-page-bg !default;
|
|
17
|
+
$subtle-bg: $base-main-bg !default;
|
|
18
|
+
$text-color-1: $base-text-color-1 !default;
|
|
19
|
+
$text-color-2: $base-text-color-2 !default;
|
|
18
20
|
$border-color: $base-border-color !default;
|
|
19
|
-
$content-background-color: $base-surface-1 !default;
|
|
20
21
|
|
|
21
22
|
// Header colors
|
|
22
23
|
$header-bg: $base-surface-1 !default;
|
|
@@ -3,12 +3,9 @@
|
|
|
3
3
|
// Component-specific dimensions, paddings, and settings
|
|
4
4
|
// ============================================================================
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
@
|
|
8
|
-
@use
|
|
9
|
-
@use 'spacing' as *;
|
|
10
|
-
@use 'colors' as *;
|
|
11
|
-
@use 'system' as *;
|
|
6
|
+
// NOTE: All base, layout, typography, spacing, colors, and system variables
|
|
7
|
+
// are available in global scope via @import in _index.scss
|
|
8
|
+
// No @use needed since we use @import for proper !default cascading
|
|
12
9
|
|
|
13
10
|
// NOTE: 10px rem base - all rem values are now in 10px units (1rem = 10px)
|
|
14
11
|
|
|
@@ -229,9 +226,9 @@ $input-focus-border-color: $accent-color !default;
|
|
|
229
226
|
$select-focus-border-color: $accent-color !default;
|
|
230
227
|
$textarea-focus-border-color: $accent-color !default;
|
|
231
228
|
$input-group-prepend-bg: $secondary-bg !default;
|
|
232
|
-
$input-group-prepend-text: $text-
|
|
229
|
+
$input-group-prepend-text: $text-color-2 !default;
|
|
233
230
|
$input-group-append-bg: $secondary-bg !default;
|
|
234
|
-
$input-group-append-text: $text-
|
|
231
|
+
$input-group-append-text: $text-color-2 !default;
|
|
235
232
|
$checkbox-margin-top: 0.2rem !default; // 2px (was 0.125rem)
|
|
236
233
|
$checkbox-size-xs: 1.2rem !default; // 12px (was 0.75rem)
|
|
237
234
|
$checkbox-size-sm: 1.4rem !default; // 14px (was 0.875rem)
|
|
@@ -260,15 +257,15 @@ $multiselect-input-padding-v: $input-padding-v !default;
|
|
|
260
257
|
$multiselect-input-padding-h: $input-padding-h !default;
|
|
261
258
|
$multiselect-dropdown-bg: $card-bg !default;
|
|
262
259
|
$multiselect-dropdown-border: $border-color !default;
|
|
263
|
-
$multiselect-dropdown-text: $text-
|
|
260
|
+
$multiselect-dropdown-text: $text-color-1 !default;
|
|
264
261
|
$multiselect-dropdown-shadow: $shadow-lg !default;
|
|
265
262
|
$multiselect-dropdown-max-height: 32rem !default; // 320px (was 20rem)
|
|
266
|
-
$multiselect-hint-bg: $
|
|
263
|
+
$multiselect-hint-bg: $main-bg !default;
|
|
267
264
|
$multiselect-hint-border: $border-color !default;
|
|
268
265
|
$multiselect-hint-padding: $spacing-sm !default;
|
|
269
266
|
$multiselect-option-padding-v: $spacing-sm !default;
|
|
270
267
|
$multiselect-option-padding-h: $spacing-md !default;
|
|
271
|
-
$multiselect-option-hover-bg: $
|
|
268
|
+
$multiselect-option-hover-bg: $main-bg !default;
|
|
272
269
|
$multiselect-pill-bg: $accent-light !default;
|
|
273
270
|
$multiselect-pill-border: $accent-color !default;
|
|
274
271
|
$multiselect-pill-padding: $spacing-xs $spacing-sm !default;
|