@keenmate/pure-admin-core 2.3.0 → 2.3.2
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 +7 -5
- package/dist/css/main.css +207 -181
- package/package.json +1 -1
- package/snippets/buttons.html +375 -365
- package/src/scss/_base-css-variables.scss +8 -0
- package/src/scss/_core.scss +121 -121
- package/src/scss/core-components/_alerts.scss +227 -227
- package/src/scss/core-components/_badges.scss +16 -16
- package/src/scss/core-components/_base.scss +125 -125
- package/src/scss/core-components/_buttons.scss +580 -548
- package/src/scss/core-components/_callouts.scss +152 -152
- package/src/scss/core-components/_cards.scss +488 -488
- package/src/scss/core-components/_checkbox-lists.scss +289 -289
- package/src/scss/core-components/_code.scss +141 -141
- package/src/scss/core-components/_command-palette.scss +509 -509
- package/src/scss/core-components/_comparison.scss +172 -172
- package/src/scss/core-components/_data-display.scss +9 -9
- package/src/scss/core-components/_data-viz.scss +9 -9
- package/src/scss/core-components/_detail-panel.scss +1 -1
- package/src/scss/core-components/_file-selector.scss +780 -780
- package/src/scss/core-components/_filter-card.scss +58 -58
- package/src/scss/core-components/_forms.scss +16 -16
- package/src/scss/core-components/_grid.scss +293 -293
- package/src/scss/core-components/_layout.scss +15 -15
- package/src/scss/core-components/_lists.scss +211 -211
- package/src/scss/core-components/_loaders.scss +277 -277
- package/src/scss/core-components/_logic-tree.scss +280 -280
- package/src/scss/core-components/_modals.scss +203 -203
- package/src/scss/core-components/_notifications.scss +320 -320
- package/src/scss/core-components/_pagers.scss +141 -141
- package/src/scss/core-components/_popconfirm.scss +170 -170
- package/src/scss/core-components/_profile.scss +405 -405
- package/src/scss/core-components/_scrollbars.scss +40 -40
- package/src/scss/core-components/_settings-panel.scss +141 -141
- package/src/scss/core-components/_statistics.scss +200 -201
- package/src/scss/core-components/_tables.scss +900 -900
- package/src/scss/core-components/_tabs.scss +504 -504
- package/src/scss/core-components/_timeline.scss +589 -589
- package/src/scss/core-components/_toasts.scss +425 -425
- package/src/scss/core-components/_tooltips.scss +605 -605
- package/src/scss/core-components/_utilities.scss +1 -1
- package/src/scss/core-components/_web-components-theme.scss +21 -21
- package/src/scss/core-components/badges/_badge-base.scss +121 -121
- package/src/scss/core-components/badges/_badge-group.scss +25 -25
- package/src/scss/core-components/badges/_composite-badge-variants.scss +396 -396
- package/src/scss/core-components/badges/_composite-badge.scss +70 -70
- package/src/scss/core-components/badges/_index.scss +10 -10
- package/src/scss/core-components/badges/_labels.scss +155 -155
- package/src/scss/core-components/forms/_checkboxes-radios.scss +205 -205
- package/src/scss/core-components/forms/_form-inputs.scss +136 -135
- package/src/scss/core-components/forms/_form-layout.scss +66 -66
- package/src/scss/core-components/forms/_form-states.scss +115 -115
- package/src/scss/core-components/forms/_index.scss +12 -12
- package/src/scss/core-components/forms/_input-groups.scss +154 -154
- package/src/scss/core-components/forms/_input-wrapper.scss +89 -89
- package/src/scss/core-components/forms/_query-editor.scss +313 -313
- package/src/scss/core-components/layout/_index.scss +11 -11
- package/src/scss/core-components/layout/_layout-container.scss +168 -168
- package/src/scss/core-components/layout/_layout-responsive.scss +99 -99
- package/src/scss/core-components/layout/_navbar-elements.scss +250 -250
- package/src/scss/core-components/layout/_navbar.scss +83 -83
- package/src/scss/core-components/layout/_sidebar-states.scss +237 -237
- package/src/scss/core-components/layout/_sidebar.scss +234 -234
- package/src/scss/main.scss +7 -7
- package/src/scss/utilities.scss +740 -740
- package/src/scss/variables/_base.scss +228 -228
- package/src/scss/variables/_components.scss +748 -748
- package/src/scss/variables/_layout.scss +65 -65
- package/src/scss/variables/_typography.scss +37 -37
|
@@ -293,7 +293,7 @@ html.font-size-xlarge {
|
|
|
293
293
|
margin-bottom: $spacing-sm;
|
|
294
294
|
background-color: var(--pa-card-bg);
|
|
295
295
|
border: $border-width-base solid var(--pa-border-color);
|
|
296
|
-
border-radius:
|
|
296
|
+
border-radius: var(--pa-border-radius);
|
|
297
297
|
|
|
298
298
|
.user-name {
|
|
299
299
|
font-weight: $font-weight-medium;
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
/* Pure Admin - Web Components Theme Integration
|
|
2
|
-
* Maps Pure Admin SCSS variables to web component CSS custom properties
|
|
3
|
-
*
|
|
4
|
-
* @keenmate/web-multiselect: Uses --base-* variables from _base-css-variables.scss
|
|
5
|
-
* @keenmate/web-daterangepicker: Uses --base-* variables from _base-css-variables.scss
|
|
6
|
-
*
|
|
7
|
-
* NOTE: Both components use the --base-* CSS variable system with built-in fallback chains:
|
|
8
|
-
* 1. External override: --ms-accent-color: #custom
|
|
9
|
-
* 2. Theme base value: var(--base-accent-color)
|
|
10
|
-
* 3. Hardcoded default: #3b82f6
|
|
11
|
-
*
|
|
12
|
-
* This means Pure Admin only needs to set --base-* variables (via the
|
|
13
|
-
* output-base-css-variables mixin) and the components will automatically
|
|
14
|
-
* pick up the theme colors.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
/* Web Multiselect - Group label styling */
|
|
18
|
-
web-multiselect {
|
|
19
|
-
--ms-group-label-color: var(--base-text-color-1);
|
|
20
|
-
--ms-group-label-font-weight: 600;
|
|
21
|
-
}
|
|
1
|
+
/* Pure Admin - Web Components Theme Integration
|
|
2
|
+
* Maps Pure Admin SCSS variables to web component CSS custom properties
|
|
3
|
+
*
|
|
4
|
+
* @keenmate/web-multiselect: Uses --base-* variables from _base-css-variables.scss
|
|
5
|
+
* @keenmate/web-daterangepicker: Uses --base-* variables from _base-css-variables.scss
|
|
6
|
+
*
|
|
7
|
+
* NOTE: Both components use the --base-* CSS variable system with built-in fallback chains:
|
|
8
|
+
* 1. External override: --ms-accent-color: #custom
|
|
9
|
+
* 2. Theme base value: var(--base-accent-color)
|
|
10
|
+
* 3. Hardcoded default: #3b82f6
|
|
11
|
+
*
|
|
12
|
+
* This means Pure Admin only needs to set --base-* variables (via the
|
|
13
|
+
* output-base-css-variables mixin) and the components will automatically
|
|
14
|
+
* pick up the theme colors.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/* Web Multiselect - Group label styling */
|
|
18
|
+
web-multiselect {
|
|
19
|
+
--ms-group-label-color: var(--base-text-color-1);
|
|
20
|
+
--ms-group-label-font-weight: 600;
|
|
21
|
+
}
|
|
@@ -1,121 +1,121 @@
|
|
|
1
|
-
/* ========================================
|
|
2
|
-
Badge Base
|
|
3
|
-
Core badge component with sizes, colors, and modifiers
|
|
4
|
-
======================================== */
|
|
5
|
-
@use '../../variables' as *;
|
|
6
|
-
|
|
7
|
-
// Badge Components
|
|
8
|
-
.pa-badge {
|
|
9
|
-
display: inline-flex;
|
|
10
|
-
align-items: center;
|
|
11
|
-
gap: $spacing-xs;
|
|
12
|
-
padding: $spacing-xs $spacing-sm;
|
|
13
|
-
background-color: var(--pa-btn-secondary-bg);
|
|
14
|
-
color: var(--pa-btn-secondary-text);
|
|
15
|
-
font-size: $font-size-xs;
|
|
16
|
-
|
|
17
|
-
line-height: 1;
|
|
18
|
-
text-align: center;
|
|
19
|
-
white-space: nowrap;
|
|
20
|
-
vertical-align: baseline;
|
|
21
|
-
border-radius:
|
|
22
|
-
border: $border-width-base solid transparent;
|
|
23
|
-
transition: all $transition-fast $easing-snappy;
|
|
24
|
-
|
|
25
|
-
&__icon {
|
|
26
|
-
font-size: $font-size-2xs;
|
|
27
|
-
line-height: 1;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// Size variations
|
|
31
|
-
&--xs {
|
|
32
|
-
padding: 0.2rem 0.4rem;
|
|
33
|
-
font-size: $font-size-2xs; // 1rem (10px)
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
&--sm {
|
|
37
|
-
padding: 0.25rem 0.5rem;
|
|
38
|
-
font-size: $font-size-xs; // 1.2rem (12px)
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
&--lg {
|
|
42
|
-
padding: 0.5rem 1rem;
|
|
43
|
-
font-size: $font-size-sm; // 1.4rem (14px)
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
&--xl {
|
|
47
|
-
padding: 0.6rem 1.2rem;
|
|
48
|
-
font-size: $font-size-base; // 1.6rem (16px)
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// Shape variations
|
|
52
|
-
&--pill {
|
|
53
|
-
border-radius:
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
// Color variations
|
|
57
|
-
&--primary {
|
|
58
|
-
background-color: var(--pa-btn-primary-bg);
|
|
59
|
-
color: var(--pa-btn-primary-text);
|
|
60
|
-
border-color: var(--pa-btn-primary-bg);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
&--secondary {
|
|
64
|
-
background-color: var(--pa-btn-secondary-bg);
|
|
65
|
-
color: var(--pa-btn-secondary-text);
|
|
66
|
-
border-color: var(--pa-btn-secondary-bg);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
&--success {
|
|
70
|
-
background-color: var(--pa-btn-success-bg);
|
|
71
|
-
color: var(--pa-btn-success-text);
|
|
72
|
-
border-color: var(--pa-btn-success-bg);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
&--warning {
|
|
76
|
-
background-color: var(--pa-btn-warning-bg);
|
|
77
|
-
color: var(--pa-btn-warning-text);
|
|
78
|
-
border-color: var(--pa-btn-warning-bg);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
&--danger {
|
|
82
|
-
background-color: var(--pa-btn-danger-bg);
|
|
83
|
-
color: var(--pa-btn-danger-text);
|
|
84
|
-
border-color: var(--pa-btn-danger-bg);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
&--info {
|
|
88
|
-
background-color: var(--pa-btn-info-bg);
|
|
89
|
-
color: var(--pa-btn-info-text);
|
|
90
|
-
border-color: var(--pa-btn-info-bg);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
&--light {
|
|
94
|
-
background-color: var(--pa-btn-light-bg);
|
|
95
|
-
color: var(--pa-btn-light-text);
|
|
96
|
-
border-color: var(--pa-btn-light-bg);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
&--dark {
|
|
100
|
-
background-color: var(--pa-btn-dark-bg);
|
|
101
|
-
color: var(--pa-btn-dark-text);
|
|
102
|
-
border-color: var(--pa-btn-dark-bg);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
// When truncation is needed, switch from inline-flex to inline-block
|
|
106
|
-
// (text-overflow: ellipsis doesn't work on flex containers)
|
|
107
|
-
&.text-truncate {
|
|
108
|
-
display: inline-block;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
// Start-side ellipsis for paths/hierarchies where end is important
|
|
112
|
-
&--ellipsis-start {
|
|
113
|
-
direction: rtl;
|
|
114
|
-
text-align: left;
|
|
115
|
-
|
|
116
|
-
[dir="rtl"] & {
|
|
117
|
-
direction: ltr;
|
|
118
|
-
text-align: right;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
1
|
+
/* ========================================
|
|
2
|
+
Badge Base
|
|
3
|
+
Core badge component with sizes, colors, and modifiers
|
|
4
|
+
======================================== */
|
|
5
|
+
@use '../../variables' as *;
|
|
6
|
+
|
|
7
|
+
// Badge Components
|
|
8
|
+
.pa-badge {
|
|
9
|
+
display: inline-flex;
|
|
10
|
+
align-items: center;
|
|
11
|
+
gap: $spacing-xs;
|
|
12
|
+
padding: $spacing-xs $spacing-sm;
|
|
13
|
+
background-color: var(--pa-btn-secondary-bg);
|
|
14
|
+
color: var(--pa-btn-secondary-text);
|
|
15
|
+
font-size: $font-size-xs;
|
|
16
|
+
|
|
17
|
+
line-height: 1;
|
|
18
|
+
text-align: center;
|
|
19
|
+
white-space: nowrap;
|
|
20
|
+
vertical-align: baseline;
|
|
21
|
+
border-radius: var(--pa-border-radius);
|
|
22
|
+
border: $border-width-base solid transparent;
|
|
23
|
+
transition: all $transition-fast $easing-snappy;
|
|
24
|
+
|
|
25
|
+
&__icon {
|
|
26
|
+
font-size: $font-size-2xs;
|
|
27
|
+
line-height: 1;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// Size variations
|
|
31
|
+
&--xs {
|
|
32
|
+
padding: 0.2rem 0.4rem;
|
|
33
|
+
font-size: $font-size-2xs; // 1rem (10px)
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
&--sm {
|
|
37
|
+
padding: 0.25rem 0.5rem;
|
|
38
|
+
font-size: $font-size-xs; // 1.2rem (12px)
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
&--lg {
|
|
42
|
+
padding: 0.5rem 1rem;
|
|
43
|
+
font-size: $font-size-sm; // 1.4rem (14px)
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
&--xl {
|
|
47
|
+
padding: 0.6rem 1.2rem;
|
|
48
|
+
font-size: $font-size-base; // 1.6rem (16px)
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Shape variations
|
|
52
|
+
&--pill {
|
|
53
|
+
border-radius: 50rem;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Color variations
|
|
57
|
+
&--primary {
|
|
58
|
+
background-color: var(--pa-btn-primary-bg);
|
|
59
|
+
color: var(--pa-btn-primary-text);
|
|
60
|
+
border-color: var(--pa-btn-primary-bg);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
&--secondary {
|
|
64
|
+
background-color: var(--pa-btn-secondary-bg);
|
|
65
|
+
color: var(--pa-btn-secondary-text);
|
|
66
|
+
border-color: var(--pa-btn-secondary-bg);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
&--success {
|
|
70
|
+
background-color: var(--pa-btn-success-bg);
|
|
71
|
+
color: var(--pa-btn-success-text);
|
|
72
|
+
border-color: var(--pa-btn-success-bg);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
&--warning {
|
|
76
|
+
background-color: var(--pa-btn-warning-bg);
|
|
77
|
+
color: var(--pa-btn-warning-text);
|
|
78
|
+
border-color: var(--pa-btn-warning-bg);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
&--danger {
|
|
82
|
+
background-color: var(--pa-btn-danger-bg);
|
|
83
|
+
color: var(--pa-btn-danger-text);
|
|
84
|
+
border-color: var(--pa-btn-danger-bg);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
&--info {
|
|
88
|
+
background-color: var(--pa-btn-info-bg);
|
|
89
|
+
color: var(--pa-btn-info-text);
|
|
90
|
+
border-color: var(--pa-btn-info-bg);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
&--light {
|
|
94
|
+
background-color: var(--pa-btn-light-bg);
|
|
95
|
+
color: var(--pa-btn-light-text);
|
|
96
|
+
border-color: var(--pa-btn-light-bg);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
&--dark {
|
|
100
|
+
background-color: var(--pa-btn-dark-bg);
|
|
101
|
+
color: var(--pa-btn-dark-text);
|
|
102
|
+
border-color: var(--pa-btn-dark-bg);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// When truncation is needed, switch from inline-flex to inline-block
|
|
106
|
+
// (text-overflow: ellipsis doesn't work on flex containers)
|
|
107
|
+
&.text-truncate {
|
|
108
|
+
display: inline-block;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// Start-side ellipsis for paths/hierarchies where end is important
|
|
112
|
+
&--ellipsis-start {
|
|
113
|
+
direction: rtl;
|
|
114
|
+
text-align: left;
|
|
115
|
+
|
|
116
|
+
[dir="rtl"] & {
|
|
117
|
+
direction: ltr;
|
|
118
|
+
text-align: right;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
/* ========================================
|
|
2
|
-
Badge Group
|
|
3
|
-
Container for grouped badges with visibility limits
|
|
4
|
-
======================================== */
|
|
5
|
-
@use '../../variables' as *;
|
|
6
|
-
|
|
7
|
-
// Badge Group - limits visible badges and shows "more" indicator
|
|
8
|
-
.pa-badge-group {
|
|
9
|
-
display: inline-flex;
|
|
10
|
-
flex-wrap: wrap;
|
|
11
|
-
align-items: center;
|
|
12
|
-
gap: $badge-group-gap;
|
|
13
|
-
|
|
14
|
-
// Hide badges beyond the limit
|
|
15
|
-
.pa-badge:nth-child(n+#{$badge-group-visible-limit + 1}):not(:last-child) {
|
|
16
|
-
display: none;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
// Show all badges without limit
|
|
20
|
-
&--show-all {
|
|
21
|
-
.pa-badge:nth-child(n+#{$badge-group-visible-limit + 1}):not(:last-child) {
|
|
22
|
-
display: inline-flex;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
1
|
+
/* ========================================
|
|
2
|
+
Badge Group
|
|
3
|
+
Container for grouped badges with visibility limits
|
|
4
|
+
======================================== */
|
|
5
|
+
@use '../../variables' as *;
|
|
6
|
+
|
|
7
|
+
// Badge Group - limits visible badges and shows "more" indicator
|
|
8
|
+
.pa-badge-group {
|
|
9
|
+
display: inline-flex;
|
|
10
|
+
flex-wrap: wrap;
|
|
11
|
+
align-items: center;
|
|
12
|
+
gap: $badge-group-gap;
|
|
13
|
+
|
|
14
|
+
// Hide badges beyond the limit
|
|
15
|
+
.pa-badge:nth-child(n+#{$badge-group-visible-limit + 1}):not(:last-child) {
|
|
16
|
+
display: none;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// Show all badges without limit
|
|
20
|
+
&--show-all {
|
|
21
|
+
.pa-badge:nth-child(n+#{$badge-group-visible-limit + 1}):not(:last-child) {
|
|
22
|
+
display: inline-flex;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|