@keenmate/pure-admin-core 2.3.1 → 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.
Files changed (69) hide show
  1. package/README.md +5 -5
  2. package/dist/css/main.css +187 -178
  3. package/package.json +1 -1
  4. package/snippets/buttons.html +375 -365
  5. package/src/scss/_base-css-variables.scss +8 -0
  6. package/src/scss/_core.scss +121 -121
  7. package/src/scss/core-components/_alerts.scss +227 -227
  8. package/src/scss/core-components/_badges.scss +16 -16
  9. package/src/scss/core-components/_base.scss +125 -125
  10. package/src/scss/core-components/_buttons.scss +31 -16
  11. package/src/scss/core-components/_callouts.scss +152 -152
  12. package/src/scss/core-components/_cards.scss +488 -488
  13. package/src/scss/core-components/_checkbox-lists.scss +289 -289
  14. package/src/scss/core-components/_code.scss +141 -141
  15. package/src/scss/core-components/_command-palette.scss +509 -509
  16. package/src/scss/core-components/_comparison.scss +172 -172
  17. package/src/scss/core-components/_data-display.scss +9 -9
  18. package/src/scss/core-components/_data-viz.scss +9 -9
  19. package/src/scss/core-components/_detail-panel.scss +1 -1
  20. package/src/scss/core-components/_file-selector.scss +780 -780
  21. package/src/scss/core-components/_filter-card.scss +58 -58
  22. package/src/scss/core-components/_forms.scss +16 -16
  23. package/src/scss/core-components/_grid.scss +293 -293
  24. package/src/scss/core-components/_layout.scss +15 -15
  25. package/src/scss/core-components/_lists.scss +211 -211
  26. package/src/scss/core-components/_loaders.scss +277 -277
  27. package/src/scss/core-components/_logic-tree.scss +280 -280
  28. package/src/scss/core-components/_modals.scss +203 -203
  29. package/src/scss/core-components/_notifications.scss +320 -320
  30. package/src/scss/core-components/_pagers.scss +141 -141
  31. package/src/scss/core-components/_popconfirm.scss +170 -170
  32. package/src/scss/core-components/_profile.scss +405 -405
  33. package/src/scss/core-components/_scrollbars.scss +40 -40
  34. package/src/scss/core-components/_settings-panel.scss +141 -141
  35. package/src/scss/core-components/_statistics.scss +200 -201
  36. package/src/scss/core-components/_tables.scss +900 -900
  37. package/src/scss/core-components/_tabs.scss +504 -504
  38. package/src/scss/core-components/_timeline.scss +589 -589
  39. package/src/scss/core-components/_toasts.scss +425 -425
  40. package/src/scss/core-components/_tooltips.scss +605 -605
  41. package/src/scss/core-components/_utilities.scss +1 -1
  42. package/src/scss/core-components/_web-components-theme.scss +21 -21
  43. package/src/scss/core-components/badges/_badge-base.scss +121 -121
  44. package/src/scss/core-components/badges/_badge-group.scss +25 -25
  45. package/src/scss/core-components/badges/_composite-badge-variants.scss +396 -396
  46. package/src/scss/core-components/badges/_composite-badge.scss +70 -70
  47. package/src/scss/core-components/badges/_index.scss +10 -10
  48. package/src/scss/core-components/badges/_labels.scss +155 -155
  49. package/src/scss/core-components/forms/_checkboxes-radios.scss +205 -205
  50. package/src/scss/core-components/forms/_form-inputs.scss +3 -3
  51. package/src/scss/core-components/forms/_form-layout.scss +66 -66
  52. package/src/scss/core-components/forms/_form-states.scss +115 -115
  53. package/src/scss/core-components/forms/_index.scss +12 -12
  54. package/src/scss/core-components/forms/_input-groups.scss +154 -154
  55. package/src/scss/core-components/forms/_input-wrapper.scss +89 -89
  56. package/src/scss/core-components/forms/_query-editor.scss +313 -313
  57. package/src/scss/core-components/layout/_index.scss +11 -11
  58. package/src/scss/core-components/layout/_layout-container.scss +168 -168
  59. package/src/scss/core-components/layout/_layout-responsive.scss +99 -99
  60. package/src/scss/core-components/layout/_navbar-elements.scss +250 -250
  61. package/src/scss/core-components/layout/_navbar.scss +83 -83
  62. package/src/scss/core-components/layout/_sidebar-states.scss +237 -237
  63. package/src/scss/core-components/layout/_sidebar.scss +234 -234
  64. package/src/scss/main.scss +7 -7
  65. package/src/scss/utilities.scss +740 -740
  66. package/src/scss/variables/_base.scss +228 -228
  67. package/src/scss/variables/_components.scss +748 -748
  68. package/src/scss/variables/_layout.scss +65 -65
  69. package/src/scss/variables/_typography.scss +37 -37
@@ -1,237 +1,237 @@
1
- /* ========================================
2
- Sidebar States
3
- Hidden, icon-collapse, and expanded states
4
- ======================================== */
5
- @use '../../variables' as *;
6
-
7
- // Sidebar hidden state
8
- .sidebar-hidden {
9
- .pa-layout__sidebar {
10
- width: 0;
11
- opacity: 0;
12
- overflow: hidden;
13
- border-inline-end: none; // RTL: flips to border-left
14
- }
15
-
16
- // Icon-collapse mode: show narrow icon-only bar when hidden
17
- .pa-layout__sidebar--icon-collapse {
18
- width: $sidebar-collapsed-width;
19
- opacity: 1; // Override parent opacity: 0 to make icons visible
20
- overflow: visible !important; // Allow flyout to show outside sidebar
21
- z-index: 1050; // Higher than content area (950) for flyouts
22
- border-inline-end: $border-width-base solid $border-color; // RTL: flips to border-left
23
-
24
- // Enable positioning for flyouts
25
- .pa-sidebar__item {
26
- position: relative;
27
- }
28
-
29
- // Hide text labels
30
- .pa-sidebar__label {
31
- opacity: 0;
32
- width: 0;
33
- overflow: hidden;
34
- }
35
-
36
- // Hide chevron indicators
37
- .pa-sidebar__chevron {
38
- display: none;
39
- }
40
-
41
- // Hide submenus when collapsed (but allow hover override)
42
- .pa-sidebar__submenu {
43
- display: none;
44
- }
45
-
46
- // Icon stays in same position (no changes needed - already fixed width)
47
- // The icon container maintains its $sidebar-icon-size width and position
48
-
49
- // Keep EXACTLY the same padding as expanded state - icon must not move
50
- .pa-sidebar__link,
51
- .pa-sidebar__toggle {
52
- padding: $sidebar-padding; // Same as expanded: 0.5rem 1rem (8px 16px)
53
- position: relative; // For flyout positioning
54
- }
55
-
56
- // Flyout label on hover
57
- .pa-sidebar__link:hover,
58
- .pa-sidebar__toggle:hover {
59
- overflow: visible;
60
- z-index: 1000; // Elevate parent above content area
61
-
62
- .pa-sidebar__label {
63
- opacity: 1;
64
- width: auto;
65
- overflow: visible; // Remove overflow hidden
66
- position: absolute;
67
- inset-inline-start: 100%; // RTL: flips to right: 100%
68
- top: 0;
69
- bottom: 0;
70
- padding: $spacing-sm $spacing-base;
71
- background-color: var(--pa-sidebar-bg);
72
- border: $border-width-base solid var(--pa-border-color);
73
- border-inline-start: none; // RTL: flips to border-right: none
74
- border-start-start-radius: 0;
75
- border-start-end-radius: $border-radius;
76
- border-end-end-radius: $border-radius;
77
- border-end-start-radius: 0;
78
- box-shadow: $shadow-md;
79
- white-space: nowrap;
80
- z-index: 10; // Relative to parent
81
- display: flex;
82
- align-items: center;
83
- }
84
- }
85
-
86
- // Show submenu flyout on hover (for items with submenus)
87
- .pa-sidebar__item:hover > .pa-sidebar__submenu,
88
- .pa-sidebar__submenu:hover {
89
- display: block !important;
90
- max-height: none !important;
91
- overflow: visible !important;
92
- position: absolute;
93
- inset-inline-start: 100%; // RTL: flips to right: 100%
94
- top: 0;
95
- min-width: 12rem;
96
- margin: 0;
97
- padding: 0;
98
- list-style: none;
99
- background-color: var(--pa-sidebar-submenu-bg);
100
- border: $border-width-base solid var(--pa-border-color);
101
- border-inline-start: none; // RTL: flips to border-right: none
102
- border-start-start-radius: 0;
103
- border-start-end-radius: $border-radius;
104
- border-end-end-radius: $border-radius;
105
- border-end-start-radius: 0;
106
- box-shadow: $shadow-md;
107
- z-index: 1001; // Higher than parent
108
-
109
- // Reset submenu styling for flyout
110
- .pa-sidebar__item {
111
- position: relative; // For nested flyouts
112
- }
113
-
114
- .pa-sidebar__link,
115
- .pa-sidebar__toggle {
116
- padding: $spacing-sm $spacing-base;
117
- justify-content: flex-start;
118
- gap: $sidebar-item-gap;
119
- font-size: $font-size-sm;
120
- width: 100%;
121
-
122
- &:hover {
123
- background-color: var(--pa-sidebar-submenu-hover-bg);
124
- }
125
-
126
- &--active {
127
- background-color: var(--pa-sidebar-submenu-active-bg);
128
- }
129
- }
130
-
131
- .pa-sidebar__icon {
132
- width: $sidebar-icon-size;
133
- min-width: $sidebar-icon-size;
134
- justify-content: center;
135
- }
136
-
137
- .pa-sidebar__label {
138
- position: static;
139
- opacity: 1;
140
- width: auto;
141
- padding: 0;
142
- background: none;
143
- border: none;
144
- box-shadow: none;
145
- }
146
-
147
- .pa-sidebar__chevron {
148
- display: inline;
149
- margin-inline-start: auto; // RTL: flips to margin-right: auto
150
- transform: none !important; // Always point end direction in flyout menus
151
- }
152
-
153
- // Nested submenu flyout (level 3)
154
- .pa-sidebar__submenu {
155
- display: none;
156
- }
157
-
158
- .pa-sidebar__item:hover > .pa-sidebar__submenu,
159
- .pa-sidebar__submenu .pa-sidebar__submenu:hover {
160
- display: block !important;
161
- max-height: none !important;
162
- overflow: visible !important;
163
- position: absolute;
164
- inset-inline-start: 100%; // RTL: flips to right: 100%
165
- top: 0;
166
- min-width: 19.2rem;
167
- margin: 0;
168
- padding: 0;
169
- list-style: none;
170
- background-color: var(--pa-sidebar-submenu-bg);
171
- border: $border-width-base solid var(--pa-border-color);
172
- border-inline-start: none; // RTL: flips to border-right: none
173
- border-start-start-radius: 0;
174
- border-start-end-radius: $border-radius;
175
- border-end-end-radius: $border-radius;
176
- border-end-start-radius: 0;
177
- box-shadow: $shadow-md;
178
- z-index: 1002; // Higher than parent submenu
179
-
180
- .pa-sidebar__link,
181
- .pa-sidebar__toggle {
182
- font-size: $font-size-xs;
183
- }
184
-
185
- .pa-sidebar__chevron {
186
- transform: none !important; // Always point end direction in nested flyout menus
187
- }
188
- }
189
- }
190
- }
191
- }
192
-
193
- // Sidebar expanded state (when not hidden) - ensure icon-collapse mode shows full width
194
- body:not(.sidebar-hidden) {
195
- .pa-layout__sidebar--icon-collapse {
196
- width: $sidebar-width;
197
-
198
- // Show labels when expanded
199
- .pa-sidebar__label {
200
- opacity: 1;
201
- width: auto;
202
- }
203
-
204
- // Show chevron when expanded
205
- .pa-sidebar__chevron {
206
- display: inline;
207
- }
208
-
209
- // Restore normal padding for level 1 items only
210
- .pa-sidebar__link,
211
- .pa-sidebar__toggle {
212
- padding: $sidebar-padding;
213
- justify-content: flex-start;
214
- gap: $sidebar-item-gap; // Restore gap when expanded
215
- }
216
-
217
- // Submenus controlled by --open class (no forced display)
218
-
219
- // Restore submenu indentation for level 2
220
- .pa-sidebar__submenu > .pa-sidebar__item > .pa-sidebar__link,
221
- .pa-sidebar__submenu > .pa-sidebar__item > .pa-sidebar__toggle {
222
- padding-inline-start: $sidebar-submenu-indent; // RTL: flips to padding-right
223
- }
224
-
225
- // Restore submenu indentation for level 3
226
- .pa-sidebar__submenu .pa-sidebar__submenu > .pa-sidebar__item > .pa-sidebar__link,
227
- .pa-sidebar__submenu .pa-sidebar__submenu > .pa-sidebar__item > .pa-sidebar__toggle {
228
- padding-inline-start: calc($sidebar-submenu-indent * $sidebar-submenu-indent-multiplier); // RTL: flips
229
- }
230
-
231
- // Icon maintains same position in both states
232
- .pa-sidebar__icon {
233
- width: $sidebar-icon-size;
234
- // No justify-content needed - parent flex container handles alignment
235
- }
236
- }
237
- }
1
+ /* ========================================
2
+ Sidebar States
3
+ Hidden, icon-collapse, and expanded states
4
+ ======================================== */
5
+ @use '../../variables' as *;
6
+
7
+ // Sidebar hidden state
8
+ .sidebar-hidden {
9
+ .pa-layout__sidebar {
10
+ width: 0;
11
+ opacity: 0;
12
+ overflow: hidden;
13
+ border-inline-end: none; // RTL: flips to border-left
14
+ }
15
+
16
+ // Icon-collapse mode: show narrow icon-only bar when hidden
17
+ .pa-layout__sidebar--icon-collapse {
18
+ width: $sidebar-collapsed-width;
19
+ opacity: 1; // Override parent opacity: 0 to make icons visible
20
+ overflow: visible !important; // Allow flyout to show outside sidebar
21
+ z-index: 1050; // Higher than content area (950) for flyouts
22
+ border-inline-end: $border-width-base solid $border-color; // RTL: flips to border-left
23
+
24
+ // Enable positioning for flyouts
25
+ .pa-sidebar__item {
26
+ position: relative;
27
+ }
28
+
29
+ // Hide text labels
30
+ .pa-sidebar__label {
31
+ opacity: 0;
32
+ width: 0;
33
+ overflow: hidden;
34
+ }
35
+
36
+ // Hide chevron indicators
37
+ .pa-sidebar__chevron {
38
+ display: none;
39
+ }
40
+
41
+ // Hide submenus when collapsed (but allow hover override)
42
+ .pa-sidebar__submenu {
43
+ display: none;
44
+ }
45
+
46
+ // Icon stays in same position (no changes needed - already fixed width)
47
+ // The icon container maintains its $sidebar-icon-size width and position
48
+
49
+ // Keep EXACTLY the same padding as expanded state - icon must not move
50
+ .pa-sidebar__link,
51
+ .pa-sidebar__toggle {
52
+ padding: $sidebar-padding; // Same as expanded: 0.5rem 1rem (8px 16px)
53
+ position: relative; // For flyout positioning
54
+ }
55
+
56
+ // Flyout label on hover
57
+ .pa-sidebar__link:hover,
58
+ .pa-sidebar__toggle:hover {
59
+ overflow: visible;
60
+ z-index: 1000; // Elevate parent above content area
61
+
62
+ .pa-sidebar__label {
63
+ opacity: 1;
64
+ width: auto;
65
+ overflow: visible; // Remove overflow hidden
66
+ position: absolute;
67
+ inset-inline-start: 100%; // RTL: flips to right: 100%
68
+ top: 0;
69
+ bottom: 0;
70
+ padding: $spacing-sm $spacing-base;
71
+ background-color: var(--pa-sidebar-bg);
72
+ border: $border-width-base solid var(--pa-border-color);
73
+ border-inline-start: none; // RTL: flips to border-right: none
74
+ border-start-start-radius: 0;
75
+ border-start-end-radius: var(--pa-border-radius);
76
+ border-end-end-radius: var(--pa-border-radius);
77
+ border-end-start-radius: 0;
78
+ box-shadow: $shadow-md;
79
+ white-space: nowrap;
80
+ z-index: 10; // Relative to parent
81
+ display: flex;
82
+ align-items: center;
83
+ }
84
+ }
85
+
86
+ // Show submenu flyout on hover (for items with submenus)
87
+ .pa-sidebar__item:hover > .pa-sidebar__submenu,
88
+ .pa-sidebar__submenu:hover {
89
+ display: block !important;
90
+ max-height: none !important;
91
+ overflow: visible !important;
92
+ position: absolute;
93
+ inset-inline-start: 100%; // RTL: flips to right: 100%
94
+ top: 0;
95
+ min-width: 12rem;
96
+ margin: 0;
97
+ padding: 0;
98
+ list-style: none;
99
+ background-color: var(--pa-sidebar-submenu-bg);
100
+ border: $border-width-base solid var(--pa-border-color);
101
+ border-inline-start: none; // RTL: flips to border-right: none
102
+ border-start-start-radius: 0;
103
+ border-start-end-radius: var(--pa-border-radius);
104
+ border-end-end-radius: var(--pa-border-radius);
105
+ border-end-start-radius: 0;
106
+ box-shadow: $shadow-md;
107
+ z-index: 1001; // Higher than parent
108
+
109
+ // Reset submenu styling for flyout
110
+ .pa-sidebar__item {
111
+ position: relative; // For nested flyouts
112
+ }
113
+
114
+ .pa-sidebar__link,
115
+ .pa-sidebar__toggle {
116
+ padding: $spacing-sm $spacing-base;
117
+ justify-content: flex-start;
118
+ gap: $sidebar-item-gap;
119
+ font-size: $font-size-sm;
120
+ width: 100%;
121
+
122
+ &:hover {
123
+ background-color: var(--pa-sidebar-submenu-hover-bg);
124
+ }
125
+
126
+ &--active {
127
+ background-color: var(--pa-sidebar-submenu-active-bg);
128
+ }
129
+ }
130
+
131
+ .pa-sidebar__icon {
132
+ width: $sidebar-icon-size;
133
+ min-width: $sidebar-icon-size;
134
+ justify-content: center;
135
+ }
136
+
137
+ .pa-sidebar__label {
138
+ position: static;
139
+ opacity: 1;
140
+ width: auto;
141
+ padding: 0;
142
+ background: none;
143
+ border: none;
144
+ box-shadow: none;
145
+ }
146
+
147
+ .pa-sidebar__chevron {
148
+ display: inline;
149
+ margin-inline-start: auto; // RTL: flips to margin-right: auto
150
+ transform: none !important; // Always point end direction in flyout menus
151
+ }
152
+
153
+ // Nested submenu flyout (level 3)
154
+ .pa-sidebar__submenu {
155
+ display: none;
156
+ }
157
+
158
+ .pa-sidebar__item:hover > .pa-sidebar__submenu,
159
+ .pa-sidebar__submenu .pa-sidebar__submenu:hover {
160
+ display: block !important;
161
+ max-height: none !important;
162
+ overflow: visible !important;
163
+ position: absolute;
164
+ inset-inline-start: 100%; // RTL: flips to right: 100%
165
+ top: 0;
166
+ min-width: 19.2rem;
167
+ margin: 0;
168
+ padding: 0;
169
+ list-style: none;
170
+ background-color: var(--pa-sidebar-submenu-bg);
171
+ border: $border-width-base solid var(--pa-border-color);
172
+ border-inline-start: none; // RTL: flips to border-right: none
173
+ border-start-start-radius: 0;
174
+ border-start-end-radius: var(--pa-border-radius);
175
+ border-end-end-radius: var(--pa-border-radius);
176
+ border-end-start-radius: 0;
177
+ box-shadow: $shadow-md;
178
+ z-index: 1002; // Higher than parent submenu
179
+
180
+ .pa-sidebar__link,
181
+ .pa-sidebar__toggle {
182
+ font-size: $font-size-xs;
183
+ }
184
+
185
+ .pa-sidebar__chevron {
186
+ transform: none !important; // Always point end direction in nested flyout menus
187
+ }
188
+ }
189
+ }
190
+ }
191
+ }
192
+
193
+ // Sidebar expanded state (when not hidden) - ensure icon-collapse mode shows full width
194
+ body:not(.sidebar-hidden) {
195
+ .pa-layout__sidebar--icon-collapse {
196
+ width: $sidebar-width;
197
+
198
+ // Show labels when expanded
199
+ .pa-sidebar__label {
200
+ opacity: 1;
201
+ width: auto;
202
+ }
203
+
204
+ // Show chevron when expanded
205
+ .pa-sidebar__chevron {
206
+ display: inline;
207
+ }
208
+
209
+ // Restore normal padding for level 1 items only
210
+ .pa-sidebar__link,
211
+ .pa-sidebar__toggle {
212
+ padding: $sidebar-padding;
213
+ justify-content: flex-start;
214
+ gap: $sidebar-item-gap; // Restore gap when expanded
215
+ }
216
+
217
+ // Submenus controlled by --open class (no forced display)
218
+
219
+ // Restore submenu indentation for level 2
220
+ .pa-sidebar__submenu > .pa-sidebar__item > .pa-sidebar__link,
221
+ .pa-sidebar__submenu > .pa-sidebar__item > .pa-sidebar__toggle {
222
+ padding-inline-start: $sidebar-submenu-indent; // RTL: flips to padding-right
223
+ }
224
+
225
+ // Restore submenu indentation for level 3
226
+ .pa-sidebar__submenu .pa-sidebar__submenu > .pa-sidebar__item > .pa-sidebar__link,
227
+ .pa-sidebar__submenu .pa-sidebar__submenu > .pa-sidebar__item > .pa-sidebar__toggle {
228
+ padding-inline-start: calc($sidebar-submenu-indent * $sidebar-submenu-indent-multiplier); // RTL: flips
229
+ }
230
+
231
+ // Icon maintains same position in both states
232
+ .pa-sidebar__icon {
233
+ width: $sidebar-icon-size;
234
+ // No justify-content needed - parent flex container handles alignment
235
+ }
236
+ }
237
+ }