@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,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
+ }