@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.
- package/README.md +71 -46
- package/dist/css/main.css +614 -123
- package/package.json +1 -1
- package/snippets/callouts.html +129 -0
- package/snippets/profile.html +217 -11
- package/src/scss/_base-css-variables.scss +77 -3
- package/src/scss/_core.scss +6 -0
- package/src/scss/core-components/_callouts.scss +139 -0
- package/src/scss/core-components/_cards.scss +2 -2
- package/src/scss/core-components/_profile.scss +125 -41
- package/src/scss/core-components/_scrollbars.scss +41 -0
- package/src/scss/core-components/_statistics.scss +3 -3
- package/src/scss/core-components/_tables.scss +0 -13
- package/src/scss/core-components/_tabs.scss +2 -2
- package/src/scss/core-components/_utilities.scss +53 -0
- package/src/scss/utilities.scss +63 -84
- package/src/scss/variables/_base.scss +185 -61
- package/src/scss/variables/_colors.scss +177 -108
- package/src/scss/variables/_components.scss +12 -6
- package/src/scss/variables/_index.scss +9 -3
- package/src/scss/variables/_layout.scss +2 -2
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/* ========================================
|
|
2
|
+
Callout Components
|
|
3
|
+
Documentation-style callouts with left border accent
|
|
4
|
+
For tips, notes, warnings in content areas
|
|
5
|
+
======================================== */
|
|
6
|
+
@use '../variables' as *;
|
|
7
|
+
|
|
8
|
+
// Callout base
|
|
9
|
+
.pa-callout {
|
|
10
|
+
position: relative;
|
|
11
|
+
padding: $card-footer-padding-v $card-footer-padding-h;
|
|
12
|
+
margin-bottom: $spacing-base;
|
|
13
|
+
border-left: $callout-border-width solid var(--pa-border-color);
|
|
14
|
+
border-radius: $border-radius;
|
|
15
|
+
font-size: $font-size-sm;
|
|
16
|
+
background-color: var(--pa-card-bg);
|
|
17
|
+
|
|
18
|
+
// Remove margins when first/last child in card body
|
|
19
|
+
.pa-card__body &:first-child {
|
|
20
|
+
margin-top: 0;
|
|
21
|
+
}
|
|
22
|
+
.pa-card__body &:last-child {
|
|
23
|
+
margin-bottom: 0;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Callout variants
|
|
27
|
+
&--primary {
|
|
28
|
+
border-left-color: var(--pa-accent);
|
|
29
|
+
background-color: rgba($accent-color, $opacity-subtle);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
&--secondary {
|
|
33
|
+
border-left-color: var(--pa-text-secondary);
|
|
34
|
+
background-color: color-mix(in srgb, var(--pa-text-secondary) 5%, transparent);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
&--success {
|
|
38
|
+
border-left-color: var(--pa-success-bg);
|
|
39
|
+
background-color: var(--pa-success-bg-subtle);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
&--danger {
|
|
43
|
+
border-left-color: var(--pa-danger-bg);
|
|
44
|
+
background-color: var(--pa-danger-bg-subtle);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
&--warning {
|
|
48
|
+
border-left-color: var(--pa-warning-bg);
|
|
49
|
+
background-color: var(--pa-warning-bg-subtle);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
&--info {
|
|
53
|
+
border-left-color: var(--pa-info-bg);
|
|
54
|
+
background-color: var(--pa-info-bg-subtle);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// Callout sizes
|
|
58
|
+
&--sm {
|
|
59
|
+
padding: $spacing-sm $spacing-md;
|
|
60
|
+
font-size: $font-size-xs;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
&--lg {
|
|
64
|
+
padding: $spacing-lg $spacing-xl;
|
|
65
|
+
font-size: $font-size-base;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Callout components
|
|
69
|
+
&__icon {
|
|
70
|
+
float: left;
|
|
71
|
+
margin-right: $spacing-sm;
|
|
72
|
+
font-size: $font-size-lg;
|
|
73
|
+
line-height: 1;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
&__heading {
|
|
77
|
+
margin: 0 0 $spacing-sm 0;
|
|
78
|
+
font-size: $font-size-base;
|
|
79
|
+
font-weight: $font-weight-semibold;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
&__content {
|
|
83
|
+
// Clearfix for floated icon
|
|
84
|
+
&::after {
|
|
85
|
+
content: '';
|
|
86
|
+
display: table;
|
|
87
|
+
clear: both;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// Remove margin from last child
|
|
92
|
+
> *:last-child {
|
|
93
|
+
margin-bottom: 0;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// Paragraphs inside callouts
|
|
97
|
+
p {
|
|
98
|
+
margin: 0 0 $spacing-sm 0;
|
|
99
|
+
|
|
100
|
+
&:last-child {
|
|
101
|
+
margin-bottom: 0;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// Lists inside callouts
|
|
106
|
+
ul, ol {
|
|
107
|
+
margin: $spacing-sm 0;
|
|
108
|
+
padding-left: $spacing-lg;
|
|
109
|
+
|
|
110
|
+
&:last-child {
|
|
111
|
+
margin-bottom: 0;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// Code inside callouts
|
|
116
|
+
code {
|
|
117
|
+
background-color: rgba(0, 0, 0, $opacity-subtle);
|
|
118
|
+
padding: 0.1em 0.3em;
|
|
119
|
+
border-radius: $border-radius-sm;
|
|
120
|
+
font-size: 0.9em;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
// Links styling
|
|
124
|
+
a {
|
|
125
|
+
color: inherit;
|
|
126
|
+
text-decoration: underline;
|
|
127
|
+
font-weight: $font-weight-medium;
|
|
128
|
+
|
|
129
|
+
&:hover {
|
|
130
|
+
text-decoration: none;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// Headings inside callouts
|
|
135
|
+
h1, h2, h3, h4, h5, h6 {
|
|
136
|
+
color: inherit;
|
|
137
|
+
margin-top: 0;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
@@ -83,12 +83,12 @@
|
|
|
83
83
|
color: var(--pa-text-primary);
|
|
84
84
|
font-size: $font-size-base;
|
|
85
85
|
font-weight: $font-weight-semibold;
|
|
86
|
+
line-height: 1;
|
|
86
87
|
}
|
|
87
88
|
}
|
|
88
89
|
|
|
89
90
|
&__body {
|
|
90
|
-
padding: $card-body-padding $card-body-padding
|
|
91
|
-
$card-body-padding;
|
|
91
|
+
padding: $card-body-padding-v $card-body-padding-h;
|
|
92
92
|
flex: 1;
|
|
93
93
|
|
|
94
94
|
// Remove top margin from first child to avoid double spacing with padding
|
|
@@ -88,11 +88,18 @@
|
|
|
88
88
|
&__header {
|
|
89
89
|
padding: $spacing-lg;
|
|
90
90
|
background-color: var(--pa-header-bg);
|
|
91
|
-
border-bottom:
|
|
91
|
+
border-bottom: 1px solid var(--pa-text-primary);
|
|
92
92
|
display: flex;
|
|
93
93
|
align-items: flex-start;
|
|
94
94
|
gap: $spacing-base;
|
|
95
95
|
position: relative;
|
|
96
|
+
|
|
97
|
+
// No-avatar variant for corporate apps without user photos
|
|
98
|
+
&--no-avatar {
|
|
99
|
+
.pa-profile-panel__avatar {
|
|
100
|
+
display: none;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
96
103
|
}
|
|
97
104
|
|
|
98
105
|
&__avatar {
|
|
@@ -114,6 +121,7 @@
|
|
|
114
121
|
&__info {
|
|
115
122
|
flex: 1;
|
|
116
123
|
min-width: 0;
|
|
124
|
+
padding-right: $profile-close-size; // Space for close button
|
|
117
125
|
}
|
|
118
126
|
|
|
119
127
|
&__name {
|
|
@@ -121,6 +129,10 @@
|
|
|
121
129
|
font-size: $font-size-lg;
|
|
122
130
|
font-weight: $font-weight-semibold;
|
|
123
131
|
color: var(--pa-text-primary);
|
|
132
|
+
// Truncate long names
|
|
133
|
+
overflow: hidden;
|
|
134
|
+
text-overflow: ellipsis;
|
|
135
|
+
white-space: nowrap;
|
|
124
136
|
}
|
|
125
137
|
|
|
126
138
|
&__email {
|
|
@@ -196,8 +208,8 @@
|
|
|
196
208
|
&__nav-item {
|
|
197
209
|
display: flex;
|
|
198
210
|
align-items: center;
|
|
199
|
-
gap: $
|
|
200
|
-
padding: $
|
|
211
|
+
gap: $sidebar-item-gap;
|
|
212
|
+
padding: $sidebar-padding;
|
|
201
213
|
color: var(--pa-text-primary);
|
|
202
214
|
text-decoration: none;
|
|
203
215
|
border-radius: $border-radius;
|
|
@@ -217,8 +229,8 @@
|
|
|
217
229
|
}
|
|
218
230
|
|
|
219
231
|
&__nav-icon {
|
|
220
|
-
font-size: $font-size-
|
|
221
|
-
width: $
|
|
232
|
+
font-size: $font-size-base;
|
|
233
|
+
width: $sidebar-icon-size;
|
|
222
234
|
text-align: center;
|
|
223
235
|
}
|
|
224
236
|
|
|
@@ -228,54 +240,126 @@
|
|
|
228
240
|
gap: $spacing-md;
|
|
229
241
|
margin-top: auto;
|
|
230
242
|
}
|
|
231
|
-
}
|
|
232
243
|
|
|
233
|
-
//
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
244
|
+
// Tabs section
|
|
245
|
+
&__tabs {
|
|
246
|
+
padding: 0 $spacing-lg;
|
|
247
|
+
border-bottom: $border-width-base solid var(--pa-border-color);
|
|
248
|
+
background-color: var(--pa-header-bg);
|
|
249
|
+
|
|
250
|
+
.pa-tabs {
|
|
251
|
+
border-bottom: none;
|
|
252
|
+
margin-bottom: 0;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
.pa-tabs__item {
|
|
256
|
+
color: var(--pa-header-text-secondary);
|
|
257
|
+
border-bottom-color: transparent;
|
|
258
|
+
|
|
259
|
+
&:hover {
|
|
260
|
+
color: var(--pa-header-text);
|
|
261
|
+
background-color: rgba(255, 255, 255, 0.1);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
&--active {
|
|
265
|
+
color: var(--pa-header-text);
|
|
266
|
+
border-bottom-color: var(--pa-accent);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
238
269
|
}
|
|
239
270
|
|
|
240
|
-
|
|
241
|
-
|
|
271
|
+
// Favorites section
|
|
272
|
+
&__favorites {
|
|
273
|
+
display: flex;
|
|
274
|
+
flex-direction: column;
|
|
275
|
+
gap: $spacing-sm;
|
|
276
|
+
|
|
277
|
+
ul {
|
|
278
|
+
list-style: none;
|
|
279
|
+
margin: 0;
|
|
280
|
+
padding: 0;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
li {
|
|
284
|
+
margin-bottom: $spacing-sm;
|
|
285
|
+
}
|
|
242
286
|
}
|
|
243
|
-
}
|
|
244
287
|
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
288
|
+
&__favorite-item {
|
|
289
|
+
display: flex;
|
|
290
|
+
align-items: center;
|
|
291
|
+
gap: $sidebar-item-gap;
|
|
292
|
+
padding: $sidebar-padding;
|
|
293
|
+
color: var(--pa-text-primary);
|
|
294
|
+
text-decoration: none;
|
|
295
|
+
border-radius: $border-radius;
|
|
296
|
+
cursor: pointer;
|
|
297
|
+
transition: background-color $transition-fast $easing-snappy,
|
|
298
|
+
color $transition-fast $easing-snappy;
|
|
299
|
+
font-weight: $font-weight-medium;
|
|
251
300
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
}
|
|
301
|
+
&:hover {
|
|
302
|
+
background-color: var(--pa-accent-light);
|
|
303
|
+
color: var(--pa-accent);
|
|
304
|
+
}
|
|
256
305
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
306
|
+
&:focus {
|
|
307
|
+
outline: $focus-outline-width solid var(--pa-accent);
|
|
308
|
+
outline-offset: $focus-outline-offset;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
261
311
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
312
|
+
&__favorite-icon {
|
|
313
|
+
font-size: $font-size-base;
|
|
314
|
+
width: $sidebar-icon-size;
|
|
315
|
+
text-align: center;
|
|
265
316
|
}
|
|
266
317
|
|
|
267
|
-
|
|
268
|
-
|
|
318
|
+
&__favorite-label {
|
|
319
|
+
flex: 1;
|
|
269
320
|
}
|
|
270
|
-
}
|
|
271
321
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
322
|
+
// Favorite remove button
|
|
323
|
+
&__favorite-remove {
|
|
324
|
+
opacity: 0;
|
|
325
|
+
margin-left: auto;
|
|
326
|
+
background: none;
|
|
327
|
+
border: none;
|
|
328
|
+
padding: $spacing-sm;
|
|
329
|
+
color: var(--pa-text-secondary);
|
|
330
|
+
cursor: pointer;
|
|
331
|
+
border-radius: $border-radius;
|
|
332
|
+
font-size: $font-size-sm;
|
|
333
|
+
line-height: 1;
|
|
334
|
+
transition: opacity $transition-fast $easing-snappy,
|
|
335
|
+
color $transition-fast $easing-snappy,
|
|
336
|
+
background-color $transition-fast $easing-snappy;
|
|
337
|
+
|
|
338
|
+
&:hover {
|
|
339
|
+
color: var(--pa-danger);
|
|
340
|
+
background-color: var(--pa-danger-bg-light);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
275
343
|
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
344
|
+
// Show remove button on favorite-item hover
|
|
345
|
+
&__favorite-item:hover &__favorite-remove {
|
|
346
|
+
opacity: 1;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
&__favorites-add {
|
|
350
|
+
margin-top: auto;
|
|
351
|
+
padding-top: $spacing-md;
|
|
352
|
+
}
|
|
280
353
|
}
|
|
281
354
|
|
|
355
|
+
// Responsive adjustments
|
|
356
|
+
@media (max-width: $mobile-breakpoint) {
|
|
357
|
+
.pa-profile-panel__content {
|
|
358
|
+
width: 85vw;
|
|
359
|
+
max-width: $profile-panel-mobile-max-width;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
.pa-header__profile-name {
|
|
363
|
+
display: none;
|
|
364
|
+
}
|
|
365
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// SCROLLBARS
|
|
3
|
+
// Global scrollbar styling for consistent appearance across browsers
|
|
4
|
+
// ============================================================================
|
|
5
|
+
@use '../variables' as *;
|
|
6
|
+
|
|
7
|
+
/* Webkit browsers (Chrome, Safari, Edge) */
|
|
8
|
+
*::-webkit-scrollbar {
|
|
9
|
+
width: $scrollbar-width;
|
|
10
|
+
height: $scrollbar-width;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
*::-webkit-scrollbar-track {
|
|
14
|
+
background: var(--pa-primary-bg);
|
|
15
|
+
border-radius: $scrollbar-border-radius;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
*::-webkit-scrollbar-thumb {
|
|
19
|
+
background: $border-color;
|
|
20
|
+
border-radius: $scrollbar-border-radius;
|
|
21
|
+
border: $border-width-base solid var(--pa-primary-bg);
|
|
22
|
+
|
|
23
|
+
&:hover {
|
|
24
|
+
background: $accent-color;
|
|
25
|
+
border-color: $accent-hover;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&:active {
|
|
29
|
+
background: $accent-hover;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
*::-webkit-scrollbar-corner {
|
|
34
|
+
background: var(--pa-primary-bg);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/* Firefox */
|
|
38
|
+
* {
|
|
39
|
+
scrollbar-width: thin;
|
|
40
|
+
scrollbar-color: var(--pa-border-color) var(--pa-primary-bg);
|
|
41
|
+
}
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
font-size: $font-size-4xl;
|
|
76
76
|
font-weight: $font-weight-bold;
|
|
77
77
|
color: var(--pa-text-primary);
|
|
78
|
-
line-height: 1;
|
|
78
|
+
line-height: 1.1;
|
|
79
79
|
margin-bottom: $spacing-sm;
|
|
80
80
|
}
|
|
81
81
|
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
.pa-stat__number {
|
|
121
121
|
font-size: clamp($stat-square-number-min, $stat-square-number-scale, $stat-square-number-max);
|
|
122
122
|
font-weight: $font-weight-bold;
|
|
123
|
-
line-height: 1;
|
|
123
|
+
line-height: 1.1;
|
|
124
124
|
color: inherit;
|
|
125
125
|
z-index: $focus-outline-width;
|
|
126
126
|
position: relative;
|
|
@@ -134,7 +134,7 @@
|
|
|
134
134
|
.pa-stat__symbol {
|
|
135
135
|
font-size: clamp($stat-square-symbol-min, $stat-square-symbol-scale, $stat-square-symbol-max);
|
|
136
136
|
font-weight: $font-weight-bold;
|
|
137
|
-
line-height: 1;
|
|
137
|
+
line-height: 1.1;
|
|
138
138
|
opacity: $stat-symbol-opacity;
|
|
139
139
|
color: inherit;
|
|
140
140
|
position: absolute;
|
|
@@ -304,7 +304,7 @@
|
|
|
304
304
|
&--bordered {
|
|
305
305
|
border: $border-width-base solid var(--pa-border-color);
|
|
306
306
|
border-radius: $border-radius-lg;
|
|
307
|
-
padding: $card-body-padding;
|
|
307
|
+
padding: $card-body-padding-v $card-body-padding-h;
|
|
308
308
|
background-color: var(--pa-card-bg);
|
|
309
309
|
|
|
310
310
|
// Remove bottom border from tabs since wrapper has border
|
|
@@ -337,7 +337,7 @@
|
|
|
337
337
|
&--bordered {
|
|
338
338
|
border: $border-width-base solid var(--pa-border-color);
|
|
339
339
|
border-radius: $border-radius-lg;
|
|
340
|
-
padding: $card-body-padding;
|
|
340
|
+
padding: $card-body-padding-v $card-body-padding-h;
|
|
341
341
|
background-color: var(--pa-card-bg);
|
|
342
342
|
|
|
343
343
|
// Add divider between tabs and content (gap already provides spacing)
|
|
@@ -195,6 +195,59 @@ html.font-size-4xl {
|
|
|
195
195
|
}
|
|
196
196
|
}
|
|
197
197
|
|
|
198
|
+
// Gap utilities (10px rem base)
|
|
199
|
+
// Semantic gap classes using spacing variables
|
|
200
|
+
.gap-0 { gap: 0; }
|
|
201
|
+
.gap-xs { gap: $spacing-xs; } // 0.25rem = 2.5px
|
|
202
|
+
.gap-sm { gap: $spacing-sm; } // 0.5rem = 5px
|
|
203
|
+
.gap-md { gap: $spacing-md; } // 0.75rem = 7.5px
|
|
204
|
+
.gap-base { gap: $spacing-base; } // 1rem = 10px
|
|
205
|
+
.gap-lg { gap: $spacing-lg; } // 1.5rem = 15px
|
|
206
|
+
.gap-xl { gap: $spacing-xl; } // 2rem = 20px
|
|
207
|
+
.gap-2xl { gap: $spacing-2xl; } // 3rem = 30px
|
|
208
|
+
|
|
209
|
+
// Numeric gap classes (in 10px rem units)
|
|
210
|
+
.gap-1 { gap: 0.1rem; } // 1px
|
|
211
|
+
.gap-2 { gap: 0.2rem; } // 2px
|
|
212
|
+
.gap-3 { gap: 0.3rem; } // 3px
|
|
213
|
+
.gap-4 { gap: 0.4rem; } // 4px
|
|
214
|
+
.gap-5 { gap: 0.5rem; } // 5px
|
|
215
|
+
.gap-6 { gap: 0.6rem; } // 6px
|
|
216
|
+
.gap-8 { gap: 0.8rem; } // 8px
|
|
217
|
+
.gap-10 { gap: 1rem; } // 10px
|
|
218
|
+
.gap-12 { gap: 1.2rem; } // 12px
|
|
219
|
+
.gap-15 { gap: 1.5rem; } // 15px
|
|
220
|
+
.gap-20 { gap: 2rem; } // 20px
|
|
221
|
+
|
|
222
|
+
// Row gap utilities
|
|
223
|
+
.row-gap-0 { row-gap: 0; }
|
|
224
|
+
.row-gap-xs { row-gap: $spacing-xs; }
|
|
225
|
+
.row-gap-sm { row-gap: $spacing-sm; }
|
|
226
|
+
.row-gap-md { row-gap: $spacing-md; }
|
|
227
|
+
.row-gap-base { row-gap: $spacing-base; }
|
|
228
|
+
.row-gap-lg { row-gap: $spacing-lg; }
|
|
229
|
+
|
|
230
|
+
// Column gap utilities
|
|
231
|
+
.column-gap-0 { column-gap: 0; }
|
|
232
|
+
.column-gap-xs { column-gap: $spacing-xs; }
|
|
233
|
+
.column-gap-sm { column-gap: $spacing-sm; }
|
|
234
|
+
.column-gap-md { column-gap: $spacing-md; }
|
|
235
|
+
.column-gap-base { column-gap: $spacing-base; }
|
|
236
|
+
.column-gap-lg { column-gap: $spacing-lg; }
|
|
237
|
+
|
|
238
|
+
// Font-size utilities (10px rem base)
|
|
239
|
+
// Direct font-size classes using typography variables
|
|
240
|
+
.text-2xs { font-size: $font-size-2xs; } // 1rem = 10px
|
|
241
|
+
.text-xs { font-size: $font-size-xs; } // 1.2rem = 12px
|
|
242
|
+
.text-sm { font-size: $font-size-sm; } // 1.4rem = 14px
|
|
243
|
+
.text-md { font-size: $font-size-md; } // 1.5rem = 15px
|
|
244
|
+
.text-base { font-size: $font-size-base; } // 1.6rem = 16px
|
|
245
|
+
.text-lg { font-size: $font-size-lg; } // 1.8rem = 18px
|
|
246
|
+
.text-xl { font-size: $font-size-xl; } // 2rem = 20px
|
|
247
|
+
.text-2xl { font-size: $font-size-2xl; } // 2.4rem = 24px
|
|
248
|
+
.text-3xl { font-size: $font-size-3xl; } // 2.8rem = 28px
|
|
249
|
+
.text-4xl { font-size: $font-size-4xl; } // 3.2rem = 32px
|
|
250
|
+
|
|
198
251
|
// Component showcase styling
|
|
199
252
|
.component-showcase {
|
|
200
253
|
display: flex;
|