@keenmate/pure-admin-core 2.3.1 → 2.3.3

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.
Files changed (70) hide show
  1. package/README.md +30 -9
  2. package/dist/css/main.css +205 -190
  3. package/package.json +1 -1
  4. package/snippets/buttons.html +375 -365
  5. package/snippets/command-palette.html +15 -13
  6. package/src/scss/_base-css-variables.scss +10 -0
  7. package/src/scss/_core.scss +121 -121
  8. package/src/scss/core-components/_alerts.scss +227 -227
  9. package/src/scss/core-components/_badges.scss +16 -16
  10. package/src/scss/core-components/_base.scss +125 -125
  11. package/src/scss/core-components/_buttons.scss +31 -16
  12. package/src/scss/core-components/_callouts.scss +152 -152
  13. package/src/scss/core-components/_cards.scss +488 -488
  14. package/src/scss/core-components/_checkbox-lists.scss +289 -289
  15. package/src/scss/core-components/_code.scss +141 -141
  16. package/src/scss/core-components/_command-palette.scss +518 -509
  17. package/src/scss/core-components/_comparison.scss +172 -172
  18. package/src/scss/core-components/_data-display.scss +9 -9
  19. package/src/scss/core-components/_data-viz.scss +9 -9
  20. package/src/scss/core-components/_detail-panel.scss +1 -1
  21. package/src/scss/core-components/_file-selector.scss +780 -780
  22. package/src/scss/core-components/_filter-card.scss +58 -58
  23. package/src/scss/core-components/_forms.scss +16 -16
  24. package/src/scss/core-components/_grid.scss +293 -293
  25. package/src/scss/core-components/_layout.scss +15 -15
  26. package/src/scss/core-components/_lists.scss +211 -211
  27. package/src/scss/core-components/_loaders.scss +277 -277
  28. package/src/scss/core-components/_logic-tree.scss +280 -280
  29. package/src/scss/core-components/_modals.scss +203 -203
  30. package/src/scss/core-components/_notifications.scss +320 -320
  31. package/src/scss/core-components/_pagers.scss +141 -141
  32. package/src/scss/core-components/_popconfirm.scss +170 -170
  33. package/src/scss/core-components/_profile.scss +405 -405
  34. package/src/scss/core-components/_scrollbars.scss +40 -40
  35. package/src/scss/core-components/_settings-panel.scss +141 -141
  36. package/src/scss/core-components/_statistics.scss +200 -201
  37. package/src/scss/core-components/_tables.scss +900 -900
  38. package/src/scss/core-components/_tabs.scss +504 -504
  39. package/src/scss/core-components/_timeline.scss +589 -589
  40. package/src/scss/core-components/_toasts.scss +425 -425
  41. package/src/scss/core-components/_tooltips.scss +605 -605
  42. package/src/scss/core-components/_utilities.scss +1 -1
  43. package/src/scss/core-components/_web-components-theme.scss +21 -21
  44. package/src/scss/core-components/badges/_badge-base.scss +121 -121
  45. package/src/scss/core-components/badges/_badge-group.scss +25 -25
  46. package/src/scss/core-components/badges/_composite-badge-variants.scss +396 -396
  47. package/src/scss/core-components/badges/_composite-badge.scss +70 -70
  48. package/src/scss/core-components/badges/_index.scss +10 -10
  49. package/src/scss/core-components/badges/_labels.scss +155 -155
  50. package/src/scss/core-components/forms/_checkboxes-radios.scss +205 -205
  51. package/src/scss/core-components/forms/_form-inputs.scss +3 -3
  52. package/src/scss/core-components/forms/_form-layout.scss +66 -66
  53. package/src/scss/core-components/forms/_form-states.scss +115 -115
  54. package/src/scss/core-components/forms/_index.scss +12 -12
  55. package/src/scss/core-components/forms/_input-groups.scss +154 -154
  56. package/src/scss/core-components/forms/_input-wrapper.scss +89 -89
  57. package/src/scss/core-components/forms/_query-editor.scss +313 -313
  58. package/src/scss/core-components/layout/_index.scss +11 -11
  59. package/src/scss/core-components/layout/_layout-container.scss +168 -168
  60. package/src/scss/core-components/layout/_layout-responsive.scss +99 -99
  61. package/src/scss/core-components/layout/_navbar-elements.scss +250 -250
  62. package/src/scss/core-components/layout/_navbar.scss +83 -83
  63. package/src/scss/core-components/layout/_sidebar-states.scss +237 -237
  64. package/src/scss/core-components/layout/_sidebar.scss +234 -234
  65. package/src/scss/main.scss +7 -7
  66. package/src/scss/utilities.scss +740 -740
  67. package/src/scss/variables/_base.scss +228 -228
  68. package/src/scss/variables/_components.scss +748 -748
  69. package/src/scss/variables/_layout.scss +65 -65
  70. package/src/scss/variables/_typography.scss +37 -37
@@ -1,115 +1,115 @@
1
- /* ========================================
2
- Form Validation States
3
- Input states (error, success, warning), form groups with states, help text
4
- ======================================== */
5
- @use '../../variables' as *;
6
-
7
- // Input States
8
- .pa-input--error,
9
- .pa-select--error {
10
- border-color: var(--pa-danger-bg);
11
-
12
- &:focus {
13
- border-color: var(--pa-danger-bg);
14
- box-shadow: 0 0 0 $focus-ring-width var(--pa-danger-bg-light);
15
- }
16
- }
17
-
18
- .pa-input--success,
19
- .pa-select--success {
20
- border-color: var(--pa-success-bg);
21
-
22
- &:focus {
23
- border-color: var(--pa-success-bg);
24
- box-shadow: 0 0 0 $focus-ring-width var(--pa-success-bg-light);
25
- }
26
- }
27
-
28
- .pa-input--warning,
29
- .pa-select--warning {
30
- border-color: var(--pa-warning-bg);
31
-
32
- &:focus {
33
- border-color: var(--pa-warning-bg);
34
- box-shadow: 0 0 0 $focus-ring-width var(--pa-warning-bg-light);
35
- }
36
- }
37
-
38
- // Form Groups with States
39
- .pa-form-group--error {
40
- .pa-input,
41
- .pa-select {
42
- border-color: var(--pa-danger-bg);
43
-
44
- &:focus {
45
- border-color: var(--pa-danger-bg);
46
- box-shadow: 0 0 0 $focus-ring-width var(--pa-danger-bg-light);
47
- }
48
- }
49
- }
50
-
51
- .pa-form-group--success {
52
- .pa-input,
53
- .pa-select {
54
- border-color: var(--pa-success-bg);
55
-
56
- &:focus {
57
- border-color: var(--pa-success-bg);
58
- box-shadow: 0 0 0 $focus-ring-width var(--pa-success-bg-light);
59
- }
60
- }
61
- }
62
-
63
- .pa-form-group--warning {
64
- .pa-input,
65
- .pa-select {
66
- border-color: var(--pa-warning-bg);
67
-
68
- &:focus {
69
- border-color: var(--pa-warning-bg);
70
- box-shadow: 0 0 0 $focus-ring-width var(--pa-warning-bg-light);
71
- }
72
- }
73
- }
74
-
75
- // Form Help Text
76
- .pa-form-help {
77
- display: block;
78
- margin-top: $form-help-margin-top;
79
- font-size: $font-size-xs;
80
- color: var(--pa-text-color-2);
81
-
82
- &--error {
83
- color: var(--pa-danger-bg);
84
- }
85
-
86
- &--success {
87
- color: var(--pa-success-bg);
88
- }
89
-
90
- &--warning {
91
- color: var(--pa-warning-bg);
92
- }
93
- }
94
-
95
- // Theme Color Variants for Help Text (color-1 through color-9)
96
- @for $i from 1 through 9 {
97
- .pa-form-help--color-#{$i} {
98
- color: var(--pa-color-#{$i});
99
- }
100
- }
101
-
102
- // Theme Color Variants for Inputs (color-1 through color-9)
103
- // These use theme-customizable colors from --pa-color-* CSS variables
104
- @for $i from 1 through 9 {
105
- .pa-input--color-#{$i},
106
- .pa-select--color-#{$i},
107
- .pa-textarea--color-#{$i} {
108
- border-color: var(--pa-color-#{$i});
109
-
110
- &:focus {
111
- border-color: var(--pa-color-#{$i});
112
- box-shadow: 0 0 0 $focus-ring-width color-mix(in srgb, var(--pa-color-#{$i}) 25%, transparent);
113
- }
114
- }
115
- }
1
+ /* ========================================
2
+ Form Validation States
3
+ Input states (error, success, warning), form groups with states, help text
4
+ ======================================== */
5
+ @use '../../variables' as *;
6
+
7
+ // Input States
8
+ .pa-input--error,
9
+ .pa-select--error {
10
+ border-color: var(--pa-danger-bg);
11
+
12
+ &:focus {
13
+ border-color: var(--pa-danger-bg);
14
+ box-shadow: 0 0 0 $focus-ring-width var(--pa-danger-bg-light);
15
+ }
16
+ }
17
+
18
+ .pa-input--success,
19
+ .pa-select--success {
20
+ border-color: var(--pa-success-bg);
21
+
22
+ &:focus {
23
+ border-color: var(--pa-success-bg);
24
+ box-shadow: 0 0 0 $focus-ring-width var(--pa-success-bg-light);
25
+ }
26
+ }
27
+
28
+ .pa-input--warning,
29
+ .pa-select--warning {
30
+ border-color: var(--pa-warning-bg);
31
+
32
+ &:focus {
33
+ border-color: var(--pa-warning-bg);
34
+ box-shadow: 0 0 0 $focus-ring-width var(--pa-warning-bg-light);
35
+ }
36
+ }
37
+
38
+ // Form Groups with States
39
+ .pa-form-group--error {
40
+ .pa-input,
41
+ .pa-select {
42
+ border-color: var(--pa-danger-bg);
43
+
44
+ &:focus {
45
+ border-color: var(--pa-danger-bg);
46
+ box-shadow: 0 0 0 $focus-ring-width var(--pa-danger-bg-light);
47
+ }
48
+ }
49
+ }
50
+
51
+ .pa-form-group--success {
52
+ .pa-input,
53
+ .pa-select {
54
+ border-color: var(--pa-success-bg);
55
+
56
+ &:focus {
57
+ border-color: var(--pa-success-bg);
58
+ box-shadow: 0 0 0 $focus-ring-width var(--pa-success-bg-light);
59
+ }
60
+ }
61
+ }
62
+
63
+ .pa-form-group--warning {
64
+ .pa-input,
65
+ .pa-select {
66
+ border-color: var(--pa-warning-bg);
67
+
68
+ &:focus {
69
+ border-color: var(--pa-warning-bg);
70
+ box-shadow: 0 0 0 $focus-ring-width var(--pa-warning-bg-light);
71
+ }
72
+ }
73
+ }
74
+
75
+ // Form Help Text
76
+ .pa-form-help {
77
+ display: block;
78
+ margin-top: $form-help-margin-top;
79
+ font-size: $font-size-xs;
80
+ color: var(--pa-text-color-2);
81
+
82
+ &--error {
83
+ color: var(--pa-danger-bg);
84
+ }
85
+
86
+ &--success {
87
+ color: var(--pa-success-bg);
88
+ }
89
+
90
+ &--warning {
91
+ color: var(--pa-warning-bg);
92
+ }
93
+ }
94
+
95
+ // Theme Color Variants for Help Text (color-1 through color-9)
96
+ @for $i from 1 through 9 {
97
+ .pa-form-help--color-#{$i} {
98
+ color: var(--pa-color-#{$i});
99
+ }
100
+ }
101
+
102
+ // Theme Color Variants for Inputs (color-1 through color-9)
103
+ // These use theme-customizable colors from --pa-color-* CSS variables
104
+ @for $i from 1 through 9 {
105
+ .pa-input--color-#{$i},
106
+ .pa-select--color-#{$i},
107
+ .pa-textarea--color-#{$i} {
108
+ border-color: var(--pa-color-#{$i});
109
+
110
+ &:focus {
111
+ border-color: var(--pa-color-#{$i});
112
+ box-shadow: 0 0 0 $focus-ring-width color-mix(in srgb, var(--pa-color-#{$i}) 25%, transparent);
113
+ }
114
+ }
115
+ }
@@ -1,12 +1,12 @@
1
- /* ========================================
2
- Forms Index
3
- Central import point for all form component modules
4
- ======================================== */
5
-
6
- @forward 'form-layout';
7
- @forward 'form-inputs';
8
- @forward 'form-states';
9
- @forward 'input-groups';
10
- @forward 'input-wrapper';
11
- @forward 'query-editor';
12
- @forward 'checkboxes-radios';
1
+ /* ========================================
2
+ Forms Index
3
+ Central import point for all form component modules
4
+ ======================================== */
5
+
6
+ @forward 'form-layout';
7
+ @forward 'form-inputs';
8
+ @forward 'form-states';
9
+ @forward 'input-groups';
10
+ @forward 'input-wrapper';
11
+ @forward 'query-editor';
12
+ @forward 'checkboxes-radios';
@@ -1,154 +1,154 @@
1
- /* ========================================
2
- Input Groups
3
- Input groups with prepend/append addons and buttons
4
- RTL-aware using CSS logical properties
5
- ======================================== */
6
- @use '../../variables' as *;
7
-
8
- .pa-input-group {
9
- display: flex;
10
- align-items: stretch;
11
-
12
- .pa-input {
13
- border-radius: 0;
14
- flex: 1;
15
-
16
- &:first-child {
17
- border-start-start-radius: $border-radius; // RTL: top-right in RTL
18
- border-end-start-radius: $border-radius; // RTL: bottom-right in RTL
19
- }
20
-
21
- &:last-child {
22
- border-start-end-radius: $border-radius; // RTL: top-left in RTL
23
- border-end-end-radius: $border-radius; // RTL: bottom-left in RTL
24
- }
25
-
26
- &:not(:first-child) {
27
- border-inline-start: none; // RTL: flips to border-right
28
- }
29
-
30
- &:not(:last-child) {
31
- border-inline-end: none; // RTL: flips to border-left
32
- }
33
- }
34
-
35
- &__prepend,
36
- &__append {
37
- display: flex;
38
- align-items: center;
39
- height: #{$base-input-size-md-height}rem;
40
- line-height: #{$base-input-size-md-height}rem;
41
- padding: 0 $input-padding-h;
42
- border: $border-width-base solid var(--pa-border-color);
43
- font-size: $font-size-sm;
44
- white-space: nowrap;
45
- border-radius: 0;
46
- }
47
-
48
- &__prepend {
49
- background-color: var(--pa-input-group-prepend-bg);
50
- color: var(--pa-input-group-prepend-text);
51
- border-color: var(--pa-input-group-prepend-bg);
52
- border-inline-end: none; // RTL: flips to border-left
53
-
54
- &:first-child {
55
- border-start-start-radius: $border-radius; // RTL: top-right in RTL
56
- border-end-start-radius: $border-radius; // RTL: bottom-right in RTL
57
- }
58
- }
59
-
60
- &__append {
61
- background-color: var(--pa-input-group-append-bg);
62
- color: var(--pa-input-group-append-text);
63
- border-color: var(--pa-input-group-append-bg);
64
- border-inline-start: none; // RTL: flips to border-right
65
-
66
- &:last-child {
67
- border-start-end-radius: $border-radius; // RTL: top-left in RTL
68
- border-end-end-radius: $border-radius; // RTL: bottom-left in RTL
69
- }
70
- }
71
-
72
- // Adjacent prepends/appends need borders between them
73
- &__prepend + &__prepend {
74
- border-inline-start: $border-width-base solid var(--pa-input-group-prepend-bg); // RTL: flips
75
- }
76
-
77
- &__append + &__append {
78
- border-inline-start: $border-width-base solid var(--pa-input-group-append-bg); // RTL: flips
79
- }
80
-
81
- // When input is focused, show focus border on adjacent prepend/append
82
- &:has(.pa-input:focus) {
83
- // Last prepend (one before input) gets focus border
84
- .pa-input-group__prepend {
85
- border-inline-end: $border-width-base solid var(--pa-input-focus-border-color); // RTL: flips
86
- }
87
-
88
- // But prepends followed by another prepend keep normal border
89
- .pa-input-group__prepend:has(+ .pa-input-group__prepend) {
90
- border-inline-end: none; // RTL: flips
91
- }
92
-
93
- // First append (one after input) gets focus border
94
- .pa-input-group__append {
95
- border-inline-start: $border-width-base solid var(--pa-input-focus-border-color); // RTL: flips
96
- }
97
-
98
- // But appends following another append keep normal border
99
- .pa-input-group__append + .pa-input-group__append {
100
- border-inline-start: $border-width-base solid var(--pa-border-color); // RTL: flips
101
- }
102
- }
103
-
104
- &__button {
105
- border-radius: 0;
106
-
107
- &:first-child {
108
- border-start-start-radius: $border-radius; // RTL: top-right in RTL
109
- border-end-start-radius: $border-radius; // RTL: bottom-right in RTL
110
- }
111
-
112
- &:last-child {
113
- border-start-end-radius: $border-radius; // RTL: top-left in RTL
114
- border-end-end-radius: $border-radius; // RTL: bottom-left in RTL
115
- }
116
- }
117
-
118
- // Input group sizes - match prepend/append to input sizes
119
- &--xs {
120
- .pa-input-group__prepend,
121
- .pa-input-group__append {
122
- height: #{$base-input-size-xs-height}rem;
123
- line-height: #{$base-input-size-xs-height}rem;
124
- font-size: $font-size-xs;
125
- }
126
- }
127
-
128
- &--sm {
129
- .pa-input-group__prepend,
130
- .pa-input-group__append {
131
- height: #{$base-input-size-sm-height}rem;
132
- line-height: #{$base-input-size-sm-height}rem;
133
- font-size: $font-size-sm;
134
- }
135
- }
136
-
137
- &--lg {
138
- .pa-input-group__prepend,
139
- .pa-input-group__append {
140
- height: #{$base-input-size-lg-height}rem;
141
- line-height: #{$base-input-size-lg-height}rem;
142
- font-size: $font-size-base;
143
- }
144
- }
145
-
146
- &--xl {
147
- .pa-input-group__prepend,
148
- .pa-input-group__append {
149
- height: #{$base-input-size-xl-height}rem;
150
- line-height: #{$base-input-size-xl-height}rem;
151
- font-size: $font-size-lg;
152
- }
153
- }
154
- }
1
+ /* ========================================
2
+ Input Groups
3
+ Input groups with prepend/append addons and buttons
4
+ RTL-aware using CSS logical properties
5
+ ======================================== */
6
+ @use '../../variables' as *;
7
+
8
+ .pa-input-group {
9
+ display: flex;
10
+ align-items: stretch;
11
+
12
+ .pa-input {
13
+ border-radius: 0;
14
+ flex: 1;
15
+
16
+ &:first-child {
17
+ border-start-start-radius: var(--pa-border-radius); // RTL: top-right in RTL
18
+ border-end-start-radius: var(--pa-border-radius); // RTL: bottom-right in RTL
19
+ }
20
+
21
+ &:last-child {
22
+ border-start-end-radius: var(--pa-border-radius); // RTL: top-left in RTL
23
+ border-end-end-radius: var(--pa-border-radius); // RTL: bottom-left in RTL
24
+ }
25
+
26
+ &:not(:first-child) {
27
+ border-inline-start: none; // RTL: flips to border-right
28
+ }
29
+
30
+ &:not(:last-child) {
31
+ border-inline-end: none; // RTL: flips to border-left
32
+ }
33
+ }
34
+
35
+ &__prepend,
36
+ &__append {
37
+ display: flex;
38
+ align-items: center;
39
+ height: #{$base-input-size-md-height}rem;
40
+ line-height: #{$base-input-size-md-height}rem;
41
+ padding: 0 $input-padding-h;
42
+ border: $border-width-base solid var(--pa-border-color);
43
+ font-size: $font-size-sm;
44
+ white-space: nowrap;
45
+ border-radius: 0;
46
+ }
47
+
48
+ &__prepend {
49
+ background-color: var(--pa-input-group-prepend-bg);
50
+ color: var(--pa-input-group-prepend-text);
51
+ border-color: var(--pa-input-group-prepend-bg);
52
+ border-inline-end: none; // RTL: flips to border-left
53
+
54
+ &:first-child {
55
+ border-start-start-radius: var(--pa-border-radius); // RTL: top-right in RTL
56
+ border-end-start-radius: var(--pa-border-radius); // RTL: bottom-right in RTL
57
+ }
58
+ }
59
+
60
+ &__append {
61
+ background-color: var(--pa-input-group-append-bg);
62
+ color: var(--pa-input-group-append-text);
63
+ border-color: var(--pa-input-group-append-bg);
64
+ border-inline-start: none; // RTL: flips to border-right
65
+
66
+ &:last-child {
67
+ border-start-end-radius: var(--pa-border-radius); // RTL: top-left in RTL
68
+ border-end-end-radius: var(--pa-border-radius); // RTL: bottom-left in RTL
69
+ }
70
+ }
71
+
72
+ // Adjacent prepends/appends need borders between them
73
+ &__prepend + &__prepend {
74
+ border-inline-start: $border-width-base solid var(--pa-input-group-prepend-bg); // RTL: flips
75
+ }
76
+
77
+ &__append + &__append {
78
+ border-inline-start: $border-width-base solid var(--pa-input-group-append-bg); // RTL: flips
79
+ }
80
+
81
+ // When input is focused, show focus border on adjacent prepend/append
82
+ &:has(.pa-input:focus) {
83
+ // Last prepend (one before input) gets focus border
84
+ .pa-input-group__prepend {
85
+ border-inline-end: $border-width-base solid var(--pa-input-focus-border-color); // RTL: flips
86
+ }
87
+
88
+ // But prepends followed by another prepend keep normal border
89
+ .pa-input-group__prepend:has(+ .pa-input-group__prepend) {
90
+ border-inline-end: none; // RTL: flips
91
+ }
92
+
93
+ // First append (one after input) gets focus border
94
+ .pa-input-group__append {
95
+ border-inline-start: $border-width-base solid var(--pa-input-focus-border-color); // RTL: flips
96
+ }
97
+
98
+ // But appends following another append keep normal border
99
+ .pa-input-group__append + .pa-input-group__append {
100
+ border-inline-start: $border-width-base solid var(--pa-border-color); // RTL: flips
101
+ }
102
+ }
103
+
104
+ &__button {
105
+ border-radius: 0;
106
+
107
+ &:first-child {
108
+ border-start-start-radius: var(--pa-border-radius); // RTL: top-right in RTL
109
+ border-end-start-radius: var(--pa-border-radius); // RTL: bottom-right in RTL
110
+ }
111
+
112
+ &:last-child {
113
+ border-start-end-radius: var(--pa-border-radius); // RTL: top-left in RTL
114
+ border-end-end-radius: var(--pa-border-radius); // RTL: bottom-left in RTL
115
+ }
116
+ }
117
+
118
+ // Input group sizes - match prepend/append to input sizes
119
+ &--xs {
120
+ .pa-input-group__prepend,
121
+ .pa-input-group__append {
122
+ height: #{$base-input-size-xs-height}rem;
123
+ line-height: #{$base-input-size-xs-height}rem;
124
+ font-size: $font-size-xs;
125
+ }
126
+ }
127
+
128
+ &--sm {
129
+ .pa-input-group__prepend,
130
+ .pa-input-group__append {
131
+ height: #{$base-input-size-sm-height}rem;
132
+ line-height: #{$base-input-size-sm-height}rem;
133
+ font-size: $font-size-sm;
134
+ }
135
+ }
136
+
137
+ &--lg {
138
+ .pa-input-group__prepend,
139
+ .pa-input-group__append {
140
+ height: #{$base-input-size-lg-height}rem;
141
+ line-height: #{$base-input-size-lg-height}rem;
142
+ font-size: $font-size-base;
143
+ }
144
+ }
145
+
146
+ &--xl {
147
+ .pa-input-group__prepend,
148
+ .pa-input-group__append {
149
+ height: #{$base-input-size-xl-height}rem;
150
+ line-height: #{$base-input-size-xl-height}rem;
151
+ font-size: $font-size-lg;
152
+ }
153
+ }
154
+ }