@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
|
@@ -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:
|
|
76
|
-
border-end-end-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:
|
|
104
|
-
border-end-end-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:
|
|
175
|
-
border-end-end-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
|
+
}
|