@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,203 +1,203 @@
1
- /* ========================================
2
- Modal Components
3
- Modal windows with overlay, sizes, and themed headers
4
- ======================================== */
5
- @use '../variables' as *;
6
-
7
- // ===== MODAL COMPONENTS =====
8
-
9
- // Modal wrapper
10
- .pa-modal {
11
- position: fixed;
12
- inset: 0; // RTL: full screen works in both directions
13
- display: none;
14
- justify-content: center;
15
- align-items: center;
16
- z-index: $z-index-modal;
17
-
18
- &.pa-modal--show {
19
- display: flex;
20
- }
21
-
22
- // Top-aligned modifier - positions modal near top instead of center
23
- &.pa-modal--top {
24
- align-items: flex-start;
25
- padding-top: 5vh; // Small offset from top
26
- }
27
- }
28
-
29
- // Modal backdrop (the dark overlay)
30
- .pa-modal__backdrop {
31
- position: fixed;
32
- inset: 0; // RTL: full screen works in both directions
33
- background-color: var(--pa-modal-overlay-bg);
34
- z-index: $z-index-modal-backdrop;
35
- }
36
-
37
- // Modal container (the actual dialog)
38
- .pa-modal__container {
39
- background-color: var(--pa-modal-content-bg);
40
- border-radius: $modal-border-radius;
41
- box-shadow: $modal-box-shadow;
42
- width: 100%;
43
- max-width: $modal-md-width;
44
- max-height: 90vh;
45
- margin: $spacing-base;
46
- position: relative;
47
- z-index: $z-index-modal;
48
- display: flex;
49
- flex-direction: column;
50
-
51
- // Size variations
52
- &--sm {
53
- max-width: $modal-sm-width;
54
- }
55
-
56
- &--lg {
57
- max-width: $modal-lg-width;
58
- }
59
-
60
- &--xl {
61
- max-width: $modal-xl-width;
62
- }
63
-
64
- &--xxl {
65
- max-width: $modal-xxl-width;
66
- }
67
-
68
- &--fw {
69
- max-width: calc(100vw - ($modal-fw-margin * 2));
70
- width: calc(100vw - ($modal-fw-margin * 2));
71
- max-height: calc(100vh - ($modal-fw-margin * 2));
72
- margin: $modal-fw-margin;
73
- }
74
- }
75
-
76
- // Modal header
77
- .pa-modal__header {
78
- padding: $modal-header-padding;
79
- border-bottom: $border-width-base solid var(--pa-border-color);
80
- border-radius: $modal-border-radius $modal-border-radius 0 0; // Match container's top corners
81
- display: flex;
82
- justify-content: space-between;
83
- align-items: center;
84
- flex-shrink: 0;
85
- }
86
-
87
- .pa-modal__title {
88
- margin: 0;
89
- font-size: $modal-title-font-size;
90
- font-weight: $font-weight-semibold;
91
- color: var(--pa-text-color-1);
92
- }
93
-
94
- // Close button uses standard .pa-btn classes
95
- // No custom styling needed - handled by button component
96
-
97
- // Modal body
98
- .pa-modal__body {
99
- padding: $modal-body-padding;
100
- flex: 1;
101
- overflow-y: auto;
102
- color: var(--pa-text-color-1);
103
- }
104
-
105
- // Modal footer
106
- .pa-modal__footer {
107
- padding: $modal-footer-padding;
108
- border-top: $border-width-base solid var(--pa-border-color);
109
- display: flex;
110
- justify-content: flex-end;
111
- gap: $spacing-md;
112
- flex-shrink: 0;
113
- }
114
-
115
- // Modal color variations
116
- .pa-modal--primary .pa-modal__header {
117
- background-color: var(--pa-btn-primary-bg);
118
- color: var(--pa-modal-content-bg);
119
- border-bottom-color: var(--pa-btn-primary-bg);
120
-
121
- .pa-modal__title {
122
- color: var(--pa-modal-content-bg);
123
- }
124
- }
125
-
126
- .pa-modal--success .pa-modal__header {
127
- background-color: var(--pa-btn-success-bg);
128
- color: var(--pa-btn-success-text);
129
- border-bottom-color: var(--pa-btn-success-bg);
130
-
131
- .pa-modal__title {
132
- color: var(--pa-btn-success-text);
133
- }
134
- }
135
-
136
- .pa-modal--warning .pa-modal__header {
137
- background-color: var(--pa-btn-warning-bg);
138
- color: var(--pa-btn-warning-text);
139
- border-bottom-color: var(--pa-btn-warning-bg);
140
-
141
- .pa-modal__title {
142
- color: var(--pa-btn-warning-text);
143
- }
144
- }
145
-
146
- .pa-modal--danger .pa-modal__header {
147
- background-color: var(--pa-btn-danger-bg);
148
- color: var(--pa-btn-danger-text);
149
- border-bottom-color: var(--pa-btn-danger-bg);
150
-
151
- .pa-modal__title {
152
- color: var(--pa-btn-danger-text);
153
- }
154
- }
155
-
156
- // Modal scrollable content
157
- .pa-modal__body--scrollable {
158
- max-height: $modal-body-scrollable-max-height;
159
- overflow-y: auto;
160
- }
161
-
162
- // Modal form styles use the same .pa-form-group as regular forms
163
- // No additional styling needed - proper grid spacing handles alignment
164
-
165
- // Modal backdrop click handling
166
- .pa-modal[data-backdrop="static"] {
167
- // For static modals that don't close on backdrop click
168
- }
169
-
170
- // Responsive modal behavior
171
- @media (max-width: $mobile-breakpoint) {
172
- .pa-modal__container {
173
- margin: $modal-mobile-margin;
174
- max-height: $modal-mobile-max-height;
175
-
176
- &--lg,
177
- &--xl,
178
- &--xxl {
179
- max-width: calc(100vw - #{$spacing-base});
180
- }
181
-
182
- &--fw {
183
- --modal-fw-margin: $modal-mobile-margin;
184
- max-width: calc(100vw - ($modal-fw-margin * 2));
185
- width: calc(100vw - ($modal-fw-margin * 2));
186
- max-height: calc(100vh - ($modal-fw-margin * 2));
187
- margin: $modal-fw-margin;
188
- }
189
- }
190
-
191
- .pa-modal__header {
192
- padding: $modal-header-padding;
193
- }
194
-
195
- .pa-modal__body {
196
- padding: $modal-body-padding;
197
- }
198
-
199
- .pa-modal__footer {
200
- padding: $modal-footer-padding;
201
- }
202
- }
203
-
1
+ /* ========================================
2
+ Modal Components
3
+ Modal windows with overlay, sizes, and themed headers
4
+ ======================================== */
5
+ @use '../variables' as *;
6
+
7
+ // ===== MODAL COMPONENTS =====
8
+
9
+ // Modal wrapper
10
+ .pa-modal {
11
+ position: fixed;
12
+ inset: 0; // RTL: full screen works in both directions
13
+ display: none;
14
+ justify-content: center;
15
+ align-items: center;
16
+ z-index: $z-index-modal;
17
+
18
+ &.pa-modal--show {
19
+ display: flex;
20
+ }
21
+
22
+ // Top-aligned modifier - positions modal near top instead of center
23
+ &.pa-modal--top {
24
+ align-items: flex-start;
25
+ padding-top: 5vh; // Small offset from top
26
+ }
27
+ }
28
+
29
+ // Modal backdrop (the dark overlay)
30
+ .pa-modal__backdrop {
31
+ position: fixed;
32
+ inset: 0; // RTL: full screen works in both directions
33
+ background-color: var(--pa-modal-overlay-bg);
34
+ z-index: $z-index-modal-backdrop;
35
+ }
36
+
37
+ // Modal container (the actual dialog)
38
+ .pa-modal__container {
39
+ background-color: var(--pa-modal-content-bg);
40
+ border-radius: var(--pa-border-radius);
41
+ box-shadow: $modal-box-shadow;
42
+ width: 100%;
43
+ max-width: $modal-md-width;
44
+ max-height: 90vh;
45
+ margin: $spacing-base;
46
+ position: relative;
47
+ z-index: $z-index-modal;
48
+ display: flex;
49
+ flex-direction: column;
50
+
51
+ // Size variations
52
+ &--sm {
53
+ max-width: $modal-sm-width;
54
+ }
55
+
56
+ &--lg {
57
+ max-width: $modal-lg-width;
58
+ }
59
+
60
+ &--xl {
61
+ max-width: $modal-xl-width;
62
+ }
63
+
64
+ &--xxl {
65
+ max-width: $modal-xxl-width;
66
+ }
67
+
68
+ &--fw {
69
+ max-width: calc(100vw - ($modal-fw-margin * 2));
70
+ width: calc(100vw - ($modal-fw-margin * 2));
71
+ max-height: calc(100vh - ($modal-fw-margin * 2));
72
+ margin: $modal-fw-margin;
73
+ }
74
+ }
75
+
76
+ // Modal header
77
+ .pa-modal__header {
78
+ padding: $modal-header-padding;
79
+ border-bottom: $border-width-base solid var(--pa-border-color);
80
+ border-radius: var(--pa-border-radius) var(--pa-border-radius) 0 0; // Match container's top corners
81
+ display: flex;
82
+ justify-content: space-between;
83
+ align-items: center;
84
+ flex-shrink: 0;
85
+ }
86
+
87
+ .pa-modal__title {
88
+ margin: 0;
89
+ font-size: $modal-title-font-size;
90
+ font-weight: $font-weight-semibold;
91
+ color: var(--pa-text-color-1);
92
+ }
93
+
94
+ // Close button uses standard .pa-btn classes
95
+ // No custom styling needed - handled by button component
96
+
97
+ // Modal body
98
+ .pa-modal__body {
99
+ padding: $modal-body-padding;
100
+ flex: 1;
101
+ overflow-y: auto;
102
+ color: var(--pa-text-color-1);
103
+ }
104
+
105
+ // Modal footer
106
+ .pa-modal__footer {
107
+ padding: $modal-footer-padding;
108
+ border-top: $border-width-base solid var(--pa-border-color);
109
+ display: flex;
110
+ justify-content: flex-end;
111
+ gap: $spacing-md;
112
+ flex-shrink: 0;
113
+ }
114
+
115
+ // Modal color variations
116
+ .pa-modal--primary .pa-modal__header {
117
+ background-color: var(--pa-btn-primary-bg);
118
+ color: var(--pa-modal-content-bg);
119
+ border-bottom-color: var(--pa-btn-primary-bg);
120
+
121
+ .pa-modal__title {
122
+ color: var(--pa-modal-content-bg);
123
+ }
124
+ }
125
+
126
+ .pa-modal--success .pa-modal__header {
127
+ background-color: var(--pa-btn-success-bg);
128
+ color: var(--pa-btn-success-text);
129
+ border-bottom-color: var(--pa-btn-success-bg);
130
+
131
+ .pa-modal__title {
132
+ color: var(--pa-btn-success-text);
133
+ }
134
+ }
135
+
136
+ .pa-modal--warning .pa-modal__header {
137
+ background-color: var(--pa-btn-warning-bg);
138
+ color: var(--pa-btn-warning-text);
139
+ border-bottom-color: var(--pa-btn-warning-bg);
140
+
141
+ .pa-modal__title {
142
+ color: var(--pa-btn-warning-text);
143
+ }
144
+ }
145
+
146
+ .pa-modal--danger .pa-modal__header {
147
+ background-color: var(--pa-btn-danger-bg);
148
+ color: var(--pa-btn-danger-text);
149
+ border-bottom-color: var(--pa-btn-danger-bg);
150
+
151
+ .pa-modal__title {
152
+ color: var(--pa-btn-danger-text);
153
+ }
154
+ }
155
+
156
+ // Modal scrollable content
157
+ .pa-modal__body--scrollable {
158
+ max-height: $modal-body-scrollable-max-height;
159
+ overflow-y: auto;
160
+ }
161
+
162
+ // Modal form styles use the same .pa-form-group as regular forms
163
+ // No additional styling needed - proper grid spacing handles alignment
164
+
165
+ // Modal backdrop click handling
166
+ .pa-modal[data-backdrop="static"] {
167
+ // For static modals that don't close on backdrop click
168
+ }
169
+
170
+ // Responsive modal behavior
171
+ @media (max-width: $mobile-breakpoint) {
172
+ .pa-modal__container {
173
+ margin: $modal-mobile-margin;
174
+ max-height: $modal-mobile-max-height;
175
+
176
+ &--lg,
177
+ &--xl,
178
+ &--xxl {
179
+ max-width: calc(100vw - #{$spacing-base});
180
+ }
181
+
182
+ &--fw {
183
+ --modal-fw-margin: $modal-mobile-margin;
184
+ max-width: calc(100vw - ($modal-fw-margin * 2));
185
+ width: calc(100vw - ($modal-fw-margin * 2));
186
+ max-height: calc(100vh - ($modal-fw-margin * 2));
187
+ margin: $modal-fw-margin;
188
+ }
189
+ }
190
+
191
+ .pa-modal__header {
192
+ padding: $modal-header-padding;
193
+ }
194
+
195
+ .pa-modal__body {
196
+ padding: $modal-body-padding;
197
+ }
198
+
199
+ .pa-modal__footer {
200
+ padding: $modal-footer-padding;
201
+ }
202
+ }
203
+