@melodicdev/components 1.4.0 → 1.5.1
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/assets/melodic-components.js +3582 -1654
- package/assets/melodic-components.js.map +1 -1
- package/assets/melodic-components.min.js +5406 -3478
- package/lib/components/data-display/activity-feed/activity-feed-item.styles.d.ts.map +1 -1
- package/lib/components/data-display/activity-feed/activity-feed-item.styles.js +79 -31
- package/lib/components/data-display/activity-feed/activity-feed.styles.d.ts.map +1 -1
- package/lib/components/data-display/activity-feed/activity-feed.styles.js +5 -1
- package/lib/components/data-display/avatar/avatar.styles.d.ts.map +1 -1
- package/lib/components/data-display/avatar/avatar.styles.js +18 -7
- package/lib/components/data-display/badge/badge.styles.d.ts.map +1 -1
- package/lib/components/data-display/badge/badge.styles.js +30 -11
- package/lib/components/data-display/badge-group/badge-group.styles.d.ts.map +1 -1
- package/lib/components/data-display/badge-group/badge-group.styles.js +29 -14
- package/lib/components/data-display/calendar-view/calendar-view.styles.d.ts.map +1 -1
- package/lib/components/data-display/calendar-view/calendar-view.styles.js +155 -89
- package/lib/components/data-display/data-grid/data-grid.styles.d.ts.map +1 -1
- package/lib/components/data-display/data-grid/data-grid.styles.js +117 -61
- package/lib/components/data-display/list/list-item.styles.d.ts.map +1 -1
- package/lib/components/data-display/list/list-item.styles.js +35 -13
- package/lib/components/data-display/list/list.styles.d.ts.map +1 -1
- package/lib/components/data-display/list/list.styles.js +5 -1
- package/lib/components/data-display/profile-card/profile-card.styles.d.ts.map +1 -1
- package/lib/components/data-display/profile-card/profile-card.styles.js +66 -28
- package/lib/components/data-display/stat-card/stat-card.styles.d.ts.map +1 -1
- package/lib/components/data-display/stat-card/stat-card.styles.js +64 -26
- package/lib/components/data-display/table/table.styles.d.ts.map +1 -1
- package/lib/components/data-display/table/table.styles.js +64 -25
- package/lib/components/data-display/tag/tag.styles.d.ts.map +1 -1
- package/lib/components/data-display/tag/tag.styles.js +62 -25
- package/lib/components/feedback/alert/alert.styles.d.ts.map +1 -1
- package/lib/components/feedback/alert/alert.styles.js +41 -17
- package/lib/components/feedback/progress/progress.styles.d.ts.map +1 -1
- package/lib/components/feedback/progress/progress.styles.js +112 -56
- package/lib/components/feedback/spinner/spinner.styles.d.ts.map +1 -1
- package/lib/components/feedback/spinner/spinner.styles.js +32 -16
- package/lib/components/feedback/toast/toast.styles.d.ts.map +1 -1
- package/lib/components/feedback/toast/toast.styles.js +69 -26
- package/lib/components/forms/autocomplete/autocomplete.styles.d.ts.map +1 -1
- package/lib/components/forms/autocomplete/autocomplete.styles.js +164 -76
- package/lib/components/forms/button/button.styles.d.ts.map +1 -1
- package/lib/components/forms/button/button.styles.js +141 -116
- package/lib/components/forms/button-group/button-group.styles.d.ts.map +1 -1
- package/lib/components/forms/button-group/button-group.styles.js +8 -2
- package/lib/components/forms/checkbox/checkbox.styles.d.ts.map +1 -1
- package/lib/components/forms/checkbox/checkbox.styles.js +75 -41
- package/lib/components/forms/date-picker/calendar.styles.d.ts.map +1 -1
- package/lib/components/forms/date-picker/calendar.styles.js +108 -47
- package/lib/components/forms/date-picker/date-picker.styles.d.ts.map +1 -1
- package/lib/components/forms/date-picker/date-picker.styles.js +96 -38
- package/lib/components/forms/date-time-picker/date-time-picker.styles.d.ts.map +1 -1
- package/lib/components/forms/date-time-picker/date-time-picker.styles.js +65 -25
- package/lib/components/forms/file-upload/file-upload.styles.d.ts.map +1 -1
- package/lib/components/forms/file-upload/file-upload.styles.js +92 -39
- package/lib/components/forms/form-field/form-field.styles.d.ts.map +1 -1
- package/lib/components/forms/form-field/form-field.styles.js +72 -29
- package/lib/components/forms/input/input.styles.d.ts.map +1 -1
- package/lib/components/forms/input/input.styles.js +82 -29
- package/lib/components/forms/radio/radio.styles.d.ts.map +1 -1
- package/lib/components/forms/radio/radio.styles.js +85 -54
- package/lib/components/forms/radio-card-group/radio-card-group.styles.d.ts.map +1 -1
- package/lib/components/forms/radio-card-group/radio-card-group.styles.js +34 -12
- package/lib/components/forms/radio-card-group/radio-card.styles.d.ts.map +1 -1
- package/lib/components/forms/radio-card-group/radio-card.styles.js +108 -47
- package/lib/components/forms/select/select.styles.d.ts.map +1 -1
- package/lib/components/forms/select/select.styles.js +153 -71
- package/lib/components/forms/slider/slider.styles.d.ts.map +1 -1
- package/lib/components/forms/slider/slider.styles.js +77 -36
- package/lib/components/forms/textarea/textarea.styles.d.ts.map +1 -1
- package/lib/components/forms/textarea/textarea.styles.js +80 -31
- package/lib/components/forms/time-picker/time-picker.styles.d.ts.map +1 -1
- package/lib/components/forms/time-picker/time-picker.styles.js +196 -91
- package/lib/components/forms/toggle/toggle.styles.d.ts.map +1 -1
- package/lib/components/forms/toggle/toggle.styles.js +84 -54
- package/lib/components/foundation/card/card.styles.d.ts.map +1 -1
- package/lib/components/foundation/card/card.styles.js +48 -17
- package/lib/components/foundation/divider/divider.styles.d.ts.map +1 -1
- package/lib/components/foundation/divider/divider.styles.js +24 -12
- package/lib/components/general/icon/icon.styles.d.ts.map +1 -1
- package/lib/components/general/icon/icon.styles.js +9 -2
- package/lib/components/navigation/breadcrumb/breadcrumb.styles.d.ts.map +1 -1
- package/lib/components/navigation/breadcrumb/breadcrumb.styles.js +4 -1
- package/lib/components/navigation/pagination/pagination.styles.d.ts.map +1 -1
- package/lib/components/navigation/pagination/pagination.styles.js +59 -23
- package/lib/components/navigation/sidebar/sidebar-item.styles.d.ts.map +1 -1
- package/lib/components/navigation/sidebar/sidebar-item.styles.js +108 -34
- package/lib/components/navigation/sidebar/sidebar.styles.d.ts.map +1 -1
- package/lib/components/navigation/sidebar/sidebar.styles.js +183 -62
- package/lib/components/navigation/steps/step.styles.d.ts.map +1 -1
- package/lib/components/navigation/steps/step.styles.js +149 -83
- package/lib/components/navigation/steps/steps.styles.d.ts.map +1 -1
- package/lib/components/navigation/steps/steps.styles.js +169 -91
- package/lib/components/navigation/tabs/tab.styles.d.ts.map +1 -1
- package/lib/components/navigation/tabs/tab.styles.js +36 -12
- package/lib/components/navigation/tabs/tabs.styles.d.ts.map +1 -1
- package/lib/components/navigation/tabs/tabs.styles.js +126 -57
- package/lib/components/overlays/dialog/dialog.styles.d.ts.map +1 -1
- package/lib/components/overlays/dialog/dialog.styles.js +73 -33
- package/lib/components/overlays/drawer/drawer.styles.d.ts.map +1 -1
- package/lib/components/overlays/drawer/drawer.styles.js +77 -33
- package/lib/components/overlays/dropdown/dropdown-item.styles.d.ts.map +1 -1
- package/lib/components/overlays/dropdown/dropdown-item.styles.js +43 -17
- package/lib/components/overlays/dropdown/dropdown.styles.d.ts.map +1 -1
- package/lib/components/overlays/dropdown/dropdown.styles.js +30 -15
- package/lib/components/overlays/popover/popover.styles.d.ts.map +1 -1
- package/lib/components/overlays/popover/popover.styles.js +31 -15
- package/lib/components/overlays/tooltip/tooltip.styles.d.ts.map +1 -1
- package/lib/components/overlays/tooltip/tooltip.styles.js +28 -12
- package/lib/components/pages/auth/auth-layout.styles.d.ts +1 -1
- package/lib/components/pages/auth/auth-layout.styles.d.ts.map +1 -1
- package/lib/components/pages/auth/auth-layout.styles.js +79 -31
- package/lib/components/pages/dashboard/dashboard-page.styles.d.ts.map +1 -1
- package/lib/components/pages/dashboard/dashboard-page.styles.js +34 -12
- package/lib/components/sections/app-shell/app-shell.styles.d.ts.map +1 -1
- package/lib/components/sections/app-shell/app-shell.styles.js +54 -23
- package/lib/components/sections/hero/hero-section.styles.d.ts.map +1 -1
- package/lib/components/sections/hero/hero-section.styles.js +97 -40
- package/lib/components/sections/page-header/page-header.styles.d.ts.map +1 -1
- package/lib/components/sections/page-header/page-header.styles.js +64 -28
- package/lib/components/sections/page-section/page-section.styles.d.ts.map +1 -1
- package/lib/components/sections/page-section/page-section.styles.js +51 -21
- package/package.json +1 -1
|
@@ -1,6 +1,65 @@
|
|
|
1
1
|
import { css } from '@melodicdev/core';
|
|
2
2
|
export const sidebarItemStyles = () => css `
|
|
3
3
|
:host {
|
|
4
|
+
/* Item link */
|
|
5
|
+
--ml-sidebar-item-gap: var(--ml-space-3);
|
|
6
|
+
--ml-sidebar-item-padding-y: var(--ml-space-2);
|
|
7
|
+
--ml-sidebar-item-padding-x: var(--ml-space-3);
|
|
8
|
+
--ml-sidebar-item-radius: var(--ml-radius);
|
|
9
|
+
--ml-sidebar-item-color: var(--ml-color-text-secondary);
|
|
10
|
+
--ml-sidebar-item-font-family: var(--ml-font-sans);
|
|
11
|
+
--ml-sidebar-item-font-size: var(--ml-text-sm);
|
|
12
|
+
--ml-sidebar-item-font-weight: var(--ml-font-medium);
|
|
13
|
+
--ml-sidebar-item-line-height: var(--ml-leading-tight);
|
|
14
|
+
--ml-sidebar-item-transition: var(--ml-duration-150) var(--ml-ease-in-out);
|
|
15
|
+
|
|
16
|
+
/* Item hover */
|
|
17
|
+
--ml-sidebar-item-hover-bg: var(--ml-gray-100);
|
|
18
|
+
--ml-sidebar-item-hover-color: var(--ml-color-text);
|
|
19
|
+
|
|
20
|
+
/* Item focus */
|
|
21
|
+
--ml-sidebar-item-focus-color: var(--ml-color-primary);
|
|
22
|
+
|
|
23
|
+
/* Item active */
|
|
24
|
+
--ml-sidebar-item-active-bg: var(--ml-color-primary);
|
|
25
|
+
--ml-sidebar-item-active-color: var(--ml-color-text-inverse);
|
|
26
|
+
--ml-sidebar-item-active-hover-bg: var(--ml-color-primary-hover);
|
|
27
|
+
|
|
28
|
+
/* Active indicator (left border accent) */
|
|
29
|
+
--ml-sidebar-item-active-indicator-width: 0px;
|
|
30
|
+
--ml-sidebar-item-active-indicator-color: transparent;
|
|
31
|
+
|
|
32
|
+
/* Item disabled */
|
|
33
|
+
--ml-sidebar-item-disabled-color: var(--ml-color-text-muted);
|
|
34
|
+
--ml-sidebar-item-disabled-opacity: 0.6;
|
|
35
|
+
|
|
36
|
+
/* Icon colors (separate from text) */
|
|
37
|
+
--ml-sidebar-item-icon-color: inherit;
|
|
38
|
+
--ml-sidebar-item-active-icon-color: inherit;
|
|
39
|
+
--ml-sidebar-item-hover-icon-color: inherit;
|
|
40
|
+
|
|
41
|
+
/* Item icon size */
|
|
42
|
+
--ml-sidebar-item-icon-size: 20px;
|
|
43
|
+
|
|
44
|
+
/* Item trailing gap */
|
|
45
|
+
--ml-sidebar-item-trailing-gap: var(--ml-space-2);
|
|
46
|
+
|
|
47
|
+
/* Badge */
|
|
48
|
+
--ml-sidebar-item-badge-min-size: 20px;
|
|
49
|
+
--ml-sidebar-item-badge-padding-x: var(--ml-space-1-5);
|
|
50
|
+
--ml-sidebar-item-badge-radius: var(--ml-radius-full);
|
|
51
|
+
--ml-sidebar-item-badge-font-size: var(--ml-text-xs);
|
|
52
|
+
--ml-sidebar-item-badge-font-weight: var(--ml-font-medium);
|
|
53
|
+
--ml-sidebar-item-badge-bg: var(--ml-color-surface-tertiary);
|
|
54
|
+
--ml-sidebar-item-badge-color: var(--ml-color-text-secondary);
|
|
55
|
+
|
|
56
|
+
/* Active badge overrides */
|
|
57
|
+
--ml-sidebar-item-active-badge-bg: var(--ml-sidebar-item-badge-bg);
|
|
58
|
+
--ml-sidebar-item-active-badge-color: var(--ml-sidebar-item-badge-color);
|
|
59
|
+
|
|
60
|
+
/* Chevron transition */
|
|
61
|
+
--ml-sidebar-item-chevron-transition: var(--ml-duration-200) var(--ml-ease-in-out);
|
|
62
|
+
|
|
4
63
|
display: block;
|
|
5
64
|
}
|
|
6
65
|
|
|
@@ -11,56 +70,58 @@ export const sidebarItemStyles = () => css `
|
|
|
11
70
|
.ml-sidebar-item__link {
|
|
12
71
|
display: flex;
|
|
13
72
|
align-items: center;
|
|
14
|
-
gap: var(--ml-
|
|
73
|
+
gap: var(--ml-sidebar-item-gap);
|
|
15
74
|
box-sizing: border-box;
|
|
16
75
|
width: 100%;
|
|
17
|
-
padding: var(--ml-
|
|
18
|
-
padding-left: calc(var(--ml-
|
|
76
|
+
padding: var(--ml-sidebar-item-padding-y) var(--ml-sidebar-item-padding-x);
|
|
77
|
+
padding-left: calc(var(--ml-sidebar-item-padding-x) + (var(--level) * var(--ml-space-5)));
|
|
19
78
|
border: none;
|
|
20
|
-
border-
|
|
79
|
+
border-left: var(--ml-sidebar-item-active-indicator-width) solid transparent;
|
|
80
|
+
border-radius: var(--ml-sidebar-item-radius);
|
|
21
81
|
background: transparent;
|
|
22
|
-
color: var(--ml-
|
|
23
|
-
font-family: var(--ml-font-
|
|
24
|
-
font-size: var(--ml-
|
|
25
|
-
font-weight: var(--ml-font-
|
|
26
|
-
line-height: var(--ml-
|
|
82
|
+
color: var(--ml-sidebar-item-color);
|
|
83
|
+
font-family: var(--ml-sidebar-item-font-family);
|
|
84
|
+
font-size: var(--ml-sidebar-item-font-size);
|
|
85
|
+
font-weight: var(--ml-sidebar-item-font-weight);
|
|
86
|
+
line-height: var(--ml-sidebar-item-line-height);
|
|
27
87
|
text-align: left;
|
|
28
88
|
text-decoration: none;
|
|
29
89
|
cursor: pointer;
|
|
30
90
|
transition:
|
|
31
|
-
background-color var(--ml-
|
|
32
|
-
color var(--ml-
|
|
91
|
+
background-color var(--ml-sidebar-item-transition),
|
|
92
|
+
color var(--ml-sidebar-item-transition);
|
|
33
93
|
}
|
|
34
94
|
|
|
35
95
|
.ml-sidebar-item__link:hover:not(.ml-sidebar-item__link--disabled):not(.ml-sidebar-item__link--active) {
|
|
36
|
-
background-color: var(--ml-
|
|
37
|
-
color: var(--ml-color
|
|
96
|
+
background-color: var(--ml-sidebar-item-hover-bg);
|
|
97
|
+
color: var(--ml-sidebar-item-hover-color);
|
|
38
98
|
}
|
|
39
99
|
|
|
40
100
|
.ml-sidebar-item__link:focus-visible {
|
|
41
|
-
outline: 2px solid var(--ml-color
|
|
101
|
+
outline: 2px solid var(--ml-sidebar-item-focus-color);
|
|
42
102
|
outline-offset: -2px;
|
|
43
103
|
}
|
|
44
104
|
|
|
45
105
|
.ml-sidebar-item__link--active {
|
|
46
|
-
background-color: var(--ml-
|
|
47
|
-
color: var(--ml-
|
|
106
|
+
background-color: var(--ml-sidebar-item-active-bg);
|
|
107
|
+
color: var(--ml-sidebar-item-active-color);
|
|
108
|
+
border-left-color: var(--ml-sidebar-item-active-indicator-color);
|
|
48
109
|
}
|
|
49
110
|
|
|
50
111
|
.ml-sidebar-item__link--active:hover {
|
|
51
|
-
background-color: var(--ml-
|
|
52
|
-
color: var(--ml-
|
|
112
|
+
background-color: var(--ml-sidebar-item-active-hover-bg);
|
|
113
|
+
color: var(--ml-sidebar-item-active-color);
|
|
53
114
|
}
|
|
54
115
|
|
|
55
116
|
.ml-sidebar-item__link--disabled {
|
|
56
|
-
color: var(--ml-
|
|
117
|
+
color: var(--ml-sidebar-item-disabled-color);
|
|
57
118
|
cursor: not-allowed;
|
|
58
|
-
opacity:
|
|
119
|
+
opacity: var(--ml-sidebar-item-disabled-opacity);
|
|
59
120
|
}
|
|
60
121
|
|
|
61
122
|
.ml-sidebar-item__link--collapsed {
|
|
62
123
|
justify-content: center;
|
|
63
|
-
padding: var(--ml-
|
|
124
|
+
padding: var(--ml-sidebar-item-padding-y);
|
|
64
125
|
}
|
|
65
126
|
|
|
66
127
|
/* Leading area (icon) */
|
|
@@ -69,9 +130,17 @@ export const sidebarItemStyles = () => css `
|
|
|
69
130
|
align-items: center;
|
|
70
131
|
justify-content: center;
|
|
71
132
|
flex-shrink: 0;
|
|
72
|
-
width:
|
|
73
|
-
height:
|
|
74
|
-
color:
|
|
133
|
+
width: var(--ml-sidebar-item-icon-size);
|
|
134
|
+
height: var(--ml-sidebar-item-icon-size);
|
|
135
|
+
color: var(--ml-sidebar-item-icon-color);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.ml-sidebar-item__link--active .ml-sidebar-item__leading {
|
|
139
|
+
color: var(--ml-sidebar-item-active-icon-color);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.ml-sidebar-item__link:hover:not(.ml-sidebar-item__link--disabled):not(.ml-sidebar-item__link--active) .ml-sidebar-item__leading {
|
|
143
|
+
color: var(--ml-sidebar-item-hover-icon-color);
|
|
75
144
|
}
|
|
76
145
|
|
|
77
146
|
/* Label */
|
|
@@ -90,7 +159,7 @@ export const sidebarItemStyles = () => css `
|
|
|
90
159
|
.ml-sidebar-item__trailing {
|
|
91
160
|
display: flex;
|
|
92
161
|
align-items: center;
|
|
93
|
-
gap: var(--ml-
|
|
162
|
+
gap: var(--ml-sidebar-item-trailing-gap);
|
|
94
163
|
flex-shrink: 0;
|
|
95
164
|
}
|
|
96
165
|
|
|
@@ -103,15 +172,15 @@ export const sidebarItemStyles = () => css `
|
|
|
103
172
|
display: inline-flex;
|
|
104
173
|
align-items: center;
|
|
105
174
|
justify-content: center;
|
|
106
|
-
min-width:
|
|
107
|
-
height:
|
|
108
|
-
padding: 0 var(--ml-
|
|
109
|
-
border-radius: var(--ml-radius
|
|
110
|
-
font-size: var(--ml-
|
|
111
|
-
font-weight: var(--ml-font-
|
|
175
|
+
min-width: var(--ml-sidebar-item-badge-min-size);
|
|
176
|
+
height: var(--ml-sidebar-item-badge-min-size);
|
|
177
|
+
padding: 0 var(--ml-sidebar-item-badge-padding-x);
|
|
178
|
+
border-radius: var(--ml-sidebar-item-badge-radius);
|
|
179
|
+
font-size: var(--ml-sidebar-item-badge-font-size);
|
|
180
|
+
font-weight: var(--ml-sidebar-item-badge-font-weight);
|
|
112
181
|
line-height: 1;
|
|
113
|
-
background-color: var(--ml-
|
|
114
|
-
color: var(--ml-
|
|
182
|
+
background-color: var(--ml-sidebar-item-badge-bg);
|
|
183
|
+
color: var(--ml-sidebar-item-badge-color);
|
|
115
184
|
}
|
|
116
185
|
|
|
117
186
|
.ml-sidebar-item__badge--primary {
|
|
@@ -134,9 +203,14 @@ export const sidebarItemStyles = () => css `
|
|
|
134
203
|
color: var(--ml-color-error);
|
|
135
204
|
}
|
|
136
205
|
|
|
206
|
+
.ml-sidebar-item__link--active .ml-sidebar-item__badge {
|
|
207
|
+
background-color: var(--ml-sidebar-item-active-badge-bg);
|
|
208
|
+
color: var(--ml-sidebar-item-active-badge-color);
|
|
209
|
+
}
|
|
210
|
+
|
|
137
211
|
/* Chevron for expandable items */
|
|
138
212
|
.ml-sidebar-item__chevron {
|
|
139
|
-
transition: transform var(--ml-
|
|
213
|
+
transition: transform var(--ml-sidebar-item-chevron-transition);
|
|
140
214
|
}
|
|
141
215
|
|
|
142
216
|
.ml-sidebar-item__link--expanded .ml-sidebar-item__chevron {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/navigation/sidebar/sidebar.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"sidebar.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/navigation/sidebar/sidebar.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,iDAuZzB,CAAC"}
|
|
@@ -1,6 +1,112 @@
|
|
|
1
1
|
import { css } from '@melodicdev/core';
|
|
2
2
|
export const sidebarStyles = () => css `
|
|
3
3
|
:host {
|
|
4
|
+
/* Container */
|
|
5
|
+
--ml-sidebar-width: 280px;
|
|
6
|
+
--ml-sidebar-bg: var(--ml-color-surface);
|
|
7
|
+
--ml-sidebar-border-width: var(--ml-border);
|
|
8
|
+
--ml-sidebar-border-color: var(--ml-color-border);
|
|
9
|
+
--ml-sidebar-transition: var(--ml-duration-200) var(--ml-ease-in-out);
|
|
10
|
+
|
|
11
|
+
/* Slim expanded shadow */
|
|
12
|
+
--ml-sidebar-slim-expanded-shadow: var(--ml-shadow-lg);
|
|
13
|
+
|
|
14
|
+
/* Header */
|
|
15
|
+
--ml-sidebar-header-padding: var(--ml-space-4);
|
|
16
|
+
|
|
17
|
+
/* Search */
|
|
18
|
+
--ml-sidebar-search-padding-y: var(--ml-space-3);
|
|
19
|
+
--ml-sidebar-search-padding-x: var(--ml-space-4);
|
|
20
|
+
|
|
21
|
+
/* Main nav area */
|
|
22
|
+
--ml-sidebar-main-padding-y: var(--ml-space-2);
|
|
23
|
+
|
|
24
|
+
/* Scrollbar */
|
|
25
|
+
--ml-sidebar-scrollbar-width: 4px;
|
|
26
|
+
--ml-sidebar-scrollbar-color: var(--ml-color-border);
|
|
27
|
+
--ml-sidebar-scrollbar-radius: var(--ml-radius-full);
|
|
28
|
+
|
|
29
|
+
/* Footer */
|
|
30
|
+
--ml-sidebar-footer-nav-padding: var(--ml-space-2);
|
|
31
|
+
--ml-sidebar-footer-nav-gap: var(--ml-space-0-5);
|
|
32
|
+
--ml-sidebar-feature-padding-y: var(--ml-space-3);
|
|
33
|
+
--ml-sidebar-feature-padding-x: var(--ml-space-4);
|
|
34
|
+
--ml-sidebar-user-padding-y: var(--ml-space-3);
|
|
35
|
+
--ml-sidebar-user-padding-x: var(--ml-space-4);
|
|
36
|
+
|
|
37
|
+
/* Group label */
|
|
38
|
+
--ml-sidebar-group-label-padding-y: var(--ml-space-2);
|
|
39
|
+
--ml-sidebar-group-label-padding-x: var(--ml-space-4);
|
|
40
|
+
--ml-sidebar-group-label-font-family: var(--ml-font-sans);
|
|
41
|
+
--ml-sidebar-group-label-font-size: var(--ml-text-xs);
|
|
42
|
+
--ml-sidebar-group-label-font-weight: var(--ml-font-semibold);
|
|
43
|
+
--ml-sidebar-group-label-color: var(--ml-color-text-muted);
|
|
44
|
+
--ml-sidebar-group-label-letter-spacing: 0.05em;
|
|
45
|
+
--ml-sidebar-group-label-line-height: var(--ml-leading-tight);
|
|
46
|
+
|
|
47
|
+
/* Group items */
|
|
48
|
+
--ml-sidebar-group-items-gap: var(--ml-space-0-5);
|
|
49
|
+
--ml-sidebar-group-items-padding-x: var(--ml-space-2);
|
|
50
|
+
|
|
51
|
+
/* Item link */
|
|
52
|
+
--ml-sidebar-item-gap: var(--ml-space-3);
|
|
53
|
+
--ml-sidebar-item-padding-y: var(--ml-space-2);
|
|
54
|
+
--ml-sidebar-item-padding-x: var(--ml-space-3);
|
|
55
|
+
--ml-sidebar-item-radius: var(--ml-radius);
|
|
56
|
+
--ml-sidebar-item-color: var(--ml-color-text-secondary);
|
|
57
|
+
--ml-sidebar-item-font-family: var(--ml-font-sans);
|
|
58
|
+
--ml-sidebar-item-font-size: var(--ml-text-sm);
|
|
59
|
+
--ml-sidebar-item-font-weight: var(--ml-font-medium);
|
|
60
|
+
--ml-sidebar-item-line-height: var(--ml-leading-tight);
|
|
61
|
+
--ml-sidebar-item-transition: var(--ml-duration-150) var(--ml-ease-in-out);
|
|
62
|
+
|
|
63
|
+
/* Item hover */
|
|
64
|
+
--ml-sidebar-item-hover-bg: var(--ml-gray-100);
|
|
65
|
+
--ml-sidebar-item-hover-color: var(--ml-color-text);
|
|
66
|
+
|
|
67
|
+
/* Item focus */
|
|
68
|
+
--ml-sidebar-item-focus-color: var(--ml-color-primary);
|
|
69
|
+
|
|
70
|
+
/* Item active */
|
|
71
|
+
--ml-sidebar-item-active-bg: var(--ml-color-primary);
|
|
72
|
+
--ml-sidebar-item-active-color: var(--ml-color-text-inverse);
|
|
73
|
+
--ml-sidebar-item-active-hover-bg: var(--ml-color-primary-hover);
|
|
74
|
+
|
|
75
|
+
/* Active indicator (left border accent) */
|
|
76
|
+
--ml-sidebar-item-active-indicator-width: 0px;
|
|
77
|
+
--ml-sidebar-item-active-indicator-color: transparent;
|
|
78
|
+
|
|
79
|
+
/* Item disabled */
|
|
80
|
+
--ml-sidebar-item-disabled-color: var(--ml-color-text-muted);
|
|
81
|
+
--ml-sidebar-item-disabled-opacity: 0.6;
|
|
82
|
+
|
|
83
|
+
/* Icon colors (separate from text) */
|
|
84
|
+
--ml-sidebar-item-icon-color: inherit;
|
|
85
|
+
--ml-sidebar-item-active-icon-color: inherit;
|
|
86
|
+
--ml-sidebar-item-hover-icon-color: inherit;
|
|
87
|
+
|
|
88
|
+
/* Item icon size */
|
|
89
|
+
--ml-sidebar-item-icon-size: 20px;
|
|
90
|
+
|
|
91
|
+
/* Item trailing gap */
|
|
92
|
+
--ml-sidebar-item-trailing-gap: var(--ml-space-2);
|
|
93
|
+
|
|
94
|
+
/* Badge */
|
|
95
|
+
--ml-sidebar-badge-min-size: 20px;
|
|
96
|
+
--ml-sidebar-badge-padding-x: var(--ml-space-1-5);
|
|
97
|
+
--ml-sidebar-badge-radius: var(--ml-radius-full);
|
|
98
|
+
--ml-sidebar-badge-font-size: var(--ml-text-xs);
|
|
99
|
+
--ml-sidebar-badge-font-weight: var(--ml-font-medium);
|
|
100
|
+
--ml-sidebar-badge-bg: var(--ml-color-surface-tertiary);
|
|
101
|
+
--ml-sidebar-badge-color: var(--ml-color-text-secondary);
|
|
102
|
+
|
|
103
|
+
/* Active badge overrides */
|
|
104
|
+
--ml-sidebar-item-active-badge-bg: var(--ml-sidebar-badge-bg);
|
|
105
|
+
--ml-sidebar-item-active-badge-color: var(--ml-sidebar-badge-color);
|
|
106
|
+
|
|
107
|
+
/* Chevron transition */
|
|
108
|
+
--ml-sidebar-chevron-transition: var(--ml-duration-200) var(--ml-ease-in-out);
|
|
109
|
+
|
|
4
110
|
display: block;
|
|
5
111
|
height: 100%;
|
|
6
112
|
}
|
|
@@ -12,10 +118,10 @@ export const sidebarStyles = () => css `
|
|
|
12
118
|
display: flex;
|
|
13
119
|
flex-direction: column;
|
|
14
120
|
height: 100%;
|
|
15
|
-
width: var(--ml-sidebar-width
|
|
16
|
-
background-color: var(--ml-
|
|
17
|
-
border-right: var(--ml-border) solid var(--ml-
|
|
18
|
-
transition: width var(--ml-
|
|
121
|
+
width: var(--ml-sidebar-width);
|
|
122
|
+
background-color: var(--ml-sidebar-bg);
|
|
123
|
+
border-right: var(--ml-sidebar-border-width) solid var(--ml-sidebar-border-color);
|
|
124
|
+
transition: width var(--ml-sidebar-transition);
|
|
19
125
|
}
|
|
20
126
|
|
|
21
127
|
/* Slim variant - collapsed (icons only) */
|
|
@@ -27,7 +133,7 @@ export const sidebarStyles = () => css `
|
|
|
27
133
|
/* Slim variant - expanded on hover */
|
|
28
134
|
.ml-sidebar--slim:not(.ml-sidebar--collapsed) {
|
|
29
135
|
--ml-sidebar-width: 280px;
|
|
30
|
-
box-shadow: var(--ml-shadow
|
|
136
|
+
box-shadow: var(--ml-sidebar-slim-expanded-shadow);
|
|
31
137
|
z-index: 50;
|
|
32
138
|
position: relative;
|
|
33
139
|
}
|
|
@@ -37,8 +143,8 @@ export const sidebarStyles = () => css `
|
|
|
37
143
|
============================================ */
|
|
38
144
|
.ml-sidebar__header {
|
|
39
145
|
flex-shrink: 0;
|
|
40
|
-
padding: var(--ml-
|
|
41
|
-
border-bottom: var(--ml-border) solid var(--ml-
|
|
146
|
+
padding: var(--ml-sidebar-header-padding);
|
|
147
|
+
border-bottom: var(--ml-sidebar-border-width) solid var(--ml-sidebar-border-color);
|
|
42
148
|
}
|
|
43
149
|
|
|
44
150
|
.ml-sidebar__header:empty {
|
|
@@ -50,7 +156,7 @@ export const sidebarStyles = () => css `
|
|
|
50
156
|
============================================ */
|
|
51
157
|
.ml-sidebar__search {
|
|
52
158
|
flex-shrink: 0;
|
|
53
|
-
padding: var(--ml-
|
|
159
|
+
padding: var(--ml-sidebar-search-padding-y) var(--ml-sidebar-search-padding-x);
|
|
54
160
|
}
|
|
55
161
|
|
|
56
162
|
/* ============================================
|
|
@@ -60,12 +166,12 @@ export const sidebarStyles = () => css `
|
|
|
60
166
|
flex: 1;
|
|
61
167
|
overflow-y: auto;
|
|
62
168
|
overflow-x: hidden;
|
|
63
|
-
padding: var(--ml-
|
|
169
|
+
padding: var(--ml-sidebar-main-padding-y) 0;
|
|
64
170
|
}
|
|
65
171
|
|
|
66
172
|
/* Scrollbar styling */
|
|
67
173
|
.ml-sidebar__main::-webkit-scrollbar {
|
|
68
|
-
width:
|
|
174
|
+
width: var(--ml-sidebar-scrollbar-width);
|
|
69
175
|
}
|
|
70
176
|
|
|
71
177
|
.ml-sidebar__main::-webkit-scrollbar-track {
|
|
@@ -73,8 +179,8 @@ export const sidebarStyles = () => css `
|
|
|
73
179
|
}
|
|
74
180
|
|
|
75
181
|
.ml-sidebar__main::-webkit-scrollbar-thumb {
|
|
76
|
-
background-color: var(--ml-color
|
|
77
|
-
border-radius: var(--ml-radius
|
|
182
|
+
background-color: var(--ml-sidebar-scrollbar-color);
|
|
183
|
+
border-radius: var(--ml-sidebar-scrollbar-radius);
|
|
78
184
|
}
|
|
79
185
|
|
|
80
186
|
/* ============================================
|
|
@@ -83,14 +189,14 @@ export const sidebarStyles = () => css `
|
|
|
83
189
|
.ml-sidebar__footer {
|
|
84
190
|
flex-shrink: 0;
|
|
85
191
|
margin-top: auto;
|
|
86
|
-
border-top: var(--ml-border) solid var(--ml-
|
|
192
|
+
border-top: var(--ml-sidebar-border-width) solid var(--ml-sidebar-border-color);
|
|
87
193
|
}
|
|
88
194
|
|
|
89
195
|
.ml-sidebar__footer-nav {
|
|
90
|
-
padding: var(--ml-
|
|
196
|
+
padding: var(--ml-sidebar-footer-nav-padding);
|
|
91
197
|
display: flex;
|
|
92
198
|
flex-direction: column;
|
|
93
|
-
gap: var(--ml-
|
|
199
|
+
gap: var(--ml-sidebar-footer-nav-gap);
|
|
94
200
|
}
|
|
95
201
|
|
|
96
202
|
.ml-sidebar__footer-nav:empty {
|
|
@@ -98,12 +204,12 @@ export const sidebarStyles = () => css `
|
|
|
98
204
|
}
|
|
99
205
|
|
|
100
206
|
.ml-sidebar__feature {
|
|
101
|
-
padding: var(--ml-
|
|
207
|
+
padding: var(--ml-sidebar-feature-padding-y) var(--ml-sidebar-feature-padding-x);
|
|
102
208
|
}
|
|
103
209
|
|
|
104
210
|
.ml-sidebar__user {
|
|
105
|
-
padding: var(--ml-
|
|
106
|
-
border-top: var(--ml-border) solid var(--ml-
|
|
211
|
+
padding: var(--ml-sidebar-user-padding-y) var(--ml-sidebar-user-padding-x);
|
|
212
|
+
border-top: var(--ml-sidebar-border-width) solid var(--ml-sidebar-border-color);
|
|
107
213
|
}
|
|
108
214
|
|
|
109
215
|
/* ============================================
|
|
@@ -115,21 +221,21 @@ export const sidebarStyles = () => css `
|
|
|
115
221
|
|
|
116
222
|
.ml-sidebar__group-label {
|
|
117
223
|
display: block;
|
|
118
|
-
padding: var(--ml-
|
|
119
|
-
font-family: var(--ml-font-
|
|
120
|
-
font-size: var(--ml-
|
|
121
|
-
font-weight: var(--ml-font-
|
|
122
|
-
color: var(--ml-
|
|
224
|
+
padding: var(--ml-sidebar-group-label-padding-y) var(--ml-sidebar-group-label-padding-x);
|
|
225
|
+
font-family: var(--ml-sidebar-group-label-font-family);
|
|
226
|
+
font-size: var(--ml-sidebar-group-label-font-size);
|
|
227
|
+
font-weight: var(--ml-sidebar-group-label-font-weight);
|
|
228
|
+
color: var(--ml-sidebar-group-label-color);
|
|
123
229
|
text-transform: uppercase;
|
|
124
|
-
letter-spacing:
|
|
125
|
-
line-height: var(--ml-
|
|
230
|
+
letter-spacing: var(--ml-sidebar-group-label-letter-spacing);
|
|
231
|
+
line-height: var(--ml-sidebar-group-label-line-height);
|
|
126
232
|
}
|
|
127
233
|
|
|
128
234
|
.ml-sidebar__group-items {
|
|
129
235
|
display: flex;
|
|
130
236
|
flex-direction: column;
|
|
131
|
-
gap: var(--ml-
|
|
132
|
-
padding: 0 var(--ml-
|
|
237
|
+
gap: var(--ml-sidebar-group-items-gap);
|
|
238
|
+
padding: 0 var(--ml-sidebar-group-items-padding-x);
|
|
133
239
|
}
|
|
134
240
|
|
|
135
241
|
/* ============================================
|
|
@@ -142,56 +248,58 @@ export const sidebarStyles = () => css `
|
|
|
142
248
|
.ml-sidebar__item-link {
|
|
143
249
|
display: flex;
|
|
144
250
|
align-items: center;
|
|
145
|
-
gap: var(--ml-
|
|
251
|
+
gap: var(--ml-sidebar-item-gap);
|
|
146
252
|
box-sizing: border-box;
|
|
147
253
|
width: 100%;
|
|
148
|
-
padding: var(--ml-
|
|
149
|
-
padding-left: calc(var(--ml-
|
|
254
|
+
padding: var(--ml-sidebar-item-padding-y) var(--ml-sidebar-item-padding-x);
|
|
255
|
+
padding-left: calc(var(--ml-sidebar-item-padding-x) + (var(--level) * var(--ml-space-5)));
|
|
150
256
|
border: none;
|
|
151
|
-
border-
|
|
257
|
+
border-left: var(--ml-sidebar-item-active-indicator-width) solid transparent;
|
|
258
|
+
border-radius: var(--ml-sidebar-item-radius);
|
|
152
259
|
background: transparent;
|
|
153
|
-
color: var(--ml-
|
|
154
|
-
font-family: var(--ml-font-
|
|
155
|
-
font-size: var(--ml-
|
|
156
|
-
font-weight: var(--ml-font-
|
|
157
|
-
line-height: var(--ml-
|
|
260
|
+
color: var(--ml-sidebar-item-color);
|
|
261
|
+
font-family: var(--ml-sidebar-item-font-family);
|
|
262
|
+
font-size: var(--ml-sidebar-item-font-size);
|
|
263
|
+
font-weight: var(--ml-sidebar-item-font-weight);
|
|
264
|
+
line-height: var(--ml-sidebar-item-line-height);
|
|
158
265
|
text-align: left;
|
|
159
266
|
text-decoration: none;
|
|
160
267
|
cursor: pointer;
|
|
161
268
|
transition:
|
|
162
|
-
background-color var(--ml-
|
|
163
|
-
color var(--ml-
|
|
269
|
+
background-color var(--ml-sidebar-item-transition),
|
|
270
|
+
color var(--ml-sidebar-item-transition);
|
|
164
271
|
}
|
|
165
272
|
|
|
166
273
|
.ml-sidebar__item-link:hover:not(.ml-sidebar__item-link--disabled):not(.ml-sidebar__item-link--active) {
|
|
167
|
-
background-color: var(--ml-
|
|
168
|
-
color: var(--ml-color
|
|
274
|
+
background-color: var(--ml-sidebar-item-hover-bg);
|
|
275
|
+
color: var(--ml-sidebar-item-hover-color);
|
|
169
276
|
}
|
|
170
277
|
|
|
171
278
|
.ml-sidebar__item-link:focus-visible {
|
|
172
|
-
outline: 2px solid var(--ml-color
|
|
279
|
+
outline: 2px solid var(--ml-sidebar-item-focus-color);
|
|
173
280
|
outline-offset: -2px;
|
|
174
281
|
}
|
|
175
282
|
|
|
176
283
|
.ml-sidebar__item-link--active {
|
|
177
|
-
background-color: var(--ml-
|
|
178
|
-
color: var(--ml-
|
|
284
|
+
background-color: var(--ml-sidebar-item-active-bg);
|
|
285
|
+
color: var(--ml-sidebar-item-active-color);
|
|
286
|
+
border-left-color: var(--ml-sidebar-item-active-indicator-color);
|
|
179
287
|
}
|
|
180
288
|
|
|
181
289
|
.ml-sidebar__item-link--active:hover {
|
|
182
|
-
background-color: var(--ml-
|
|
183
|
-
color: var(--ml-
|
|
290
|
+
background-color: var(--ml-sidebar-item-active-hover-bg);
|
|
291
|
+
color: var(--ml-sidebar-item-active-color);
|
|
184
292
|
}
|
|
185
293
|
|
|
186
294
|
.ml-sidebar__item-link--disabled {
|
|
187
|
-
color: var(--ml-
|
|
295
|
+
color: var(--ml-sidebar-item-disabled-color);
|
|
188
296
|
cursor: not-allowed;
|
|
189
|
-
opacity:
|
|
297
|
+
opacity: var(--ml-sidebar-item-disabled-opacity);
|
|
190
298
|
}
|
|
191
299
|
|
|
192
300
|
.ml-sidebar__item-link--collapsed {
|
|
193
301
|
justify-content: center;
|
|
194
|
-
padding: var(--ml-
|
|
302
|
+
padding: var(--ml-sidebar-item-padding-y);
|
|
195
303
|
}
|
|
196
304
|
|
|
197
305
|
/* Leading area (icon) */
|
|
@@ -200,9 +308,17 @@ export const sidebarStyles = () => css `
|
|
|
200
308
|
align-items: center;
|
|
201
309
|
justify-content: center;
|
|
202
310
|
flex-shrink: 0;
|
|
203
|
-
width:
|
|
204
|
-
height:
|
|
205
|
-
color:
|
|
311
|
+
width: var(--ml-sidebar-item-icon-size);
|
|
312
|
+
height: var(--ml-sidebar-item-icon-size);
|
|
313
|
+
color: var(--ml-sidebar-item-icon-color);
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
.ml-sidebar__item-link--active .ml-sidebar__item-leading {
|
|
317
|
+
color: var(--ml-sidebar-item-active-icon-color);
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
.ml-sidebar__item-link:hover:not(.ml-sidebar__item-link--disabled):not(.ml-sidebar__item-link--active) .ml-sidebar__item-leading {
|
|
321
|
+
color: var(--ml-sidebar-item-hover-icon-color);
|
|
206
322
|
}
|
|
207
323
|
|
|
208
324
|
/* Label */
|
|
@@ -217,7 +333,7 @@ export const sidebarStyles = () => css `
|
|
|
217
333
|
.ml-sidebar__item-trailing {
|
|
218
334
|
display: flex;
|
|
219
335
|
align-items: center;
|
|
220
|
-
gap: var(--ml-
|
|
336
|
+
gap: var(--ml-sidebar-item-trailing-gap);
|
|
221
337
|
flex-shrink: 0;
|
|
222
338
|
}
|
|
223
339
|
|
|
@@ -226,15 +342,15 @@ export const sidebarStyles = () => css `
|
|
|
226
342
|
display: inline-flex;
|
|
227
343
|
align-items: center;
|
|
228
344
|
justify-content: center;
|
|
229
|
-
min-width:
|
|
230
|
-
height:
|
|
231
|
-
padding: 0 var(--ml-
|
|
232
|
-
border-radius: var(--ml-radius
|
|
233
|
-
font-size: var(--ml-
|
|
234
|
-
font-weight: var(--ml-font-
|
|
345
|
+
min-width: var(--ml-sidebar-badge-min-size);
|
|
346
|
+
height: var(--ml-sidebar-badge-min-size);
|
|
347
|
+
padding: 0 var(--ml-sidebar-badge-padding-x);
|
|
348
|
+
border-radius: var(--ml-sidebar-badge-radius);
|
|
349
|
+
font-size: var(--ml-sidebar-badge-font-size);
|
|
350
|
+
font-weight: var(--ml-sidebar-badge-font-weight);
|
|
235
351
|
line-height: 1;
|
|
236
|
-
background-color: var(--ml-
|
|
237
|
-
color: var(--ml-
|
|
352
|
+
background-color: var(--ml-sidebar-badge-bg);
|
|
353
|
+
color: var(--ml-sidebar-badge-color);
|
|
238
354
|
}
|
|
239
355
|
|
|
240
356
|
.ml-sidebar__item-badge--primary {
|
|
@@ -257,9 +373,14 @@ export const sidebarStyles = () => css `
|
|
|
257
373
|
color: var(--ml-color-error);
|
|
258
374
|
}
|
|
259
375
|
|
|
376
|
+
.ml-sidebar__item-link--active .ml-sidebar__item-badge {
|
|
377
|
+
background-color: var(--ml-sidebar-item-active-badge-bg);
|
|
378
|
+
color: var(--ml-sidebar-item-active-badge-color);
|
|
379
|
+
}
|
|
380
|
+
|
|
260
381
|
/* Chevron for expandable items */
|
|
261
382
|
.ml-sidebar__item-chevron {
|
|
262
|
-
transition: transform var(--ml-
|
|
383
|
+
transition: transform var(--ml-sidebar-chevron-transition);
|
|
263
384
|
}
|
|
264
385
|
|
|
265
386
|
.ml-sidebar__item-link--expanded .ml-sidebar__item-chevron {
|
|
@@ -283,6 +404,6 @@ export const sidebarStyles = () => css `
|
|
|
283
404
|
/* Slotted elements in collapsed state */
|
|
284
405
|
::slotted([slot="search"]),
|
|
285
406
|
::slotted([slot="feature"]) {
|
|
286
|
-
transition: opacity var(--ml-
|
|
407
|
+
transition: opacity var(--ml-sidebar-item-transition);
|
|
287
408
|
}
|
|
288
409
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/navigation/steps/step.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"step.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/navigation/steps/step.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,iDAyjBtB,CAAC"}
|