@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.
Files changed (121) hide show
  1. package/assets/melodic-components.js +3582 -1654
  2. package/assets/melodic-components.js.map +1 -1
  3. package/assets/melodic-components.min.js +5406 -3478
  4. package/lib/components/data-display/activity-feed/activity-feed-item.styles.d.ts.map +1 -1
  5. package/lib/components/data-display/activity-feed/activity-feed-item.styles.js +79 -31
  6. package/lib/components/data-display/activity-feed/activity-feed.styles.d.ts.map +1 -1
  7. package/lib/components/data-display/activity-feed/activity-feed.styles.js +5 -1
  8. package/lib/components/data-display/avatar/avatar.styles.d.ts.map +1 -1
  9. package/lib/components/data-display/avatar/avatar.styles.js +18 -7
  10. package/lib/components/data-display/badge/badge.styles.d.ts.map +1 -1
  11. package/lib/components/data-display/badge/badge.styles.js +30 -11
  12. package/lib/components/data-display/badge-group/badge-group.styles.d.ts.map +1 -1
  13. package/lib/components/data-display/badge-group/badge-group.styles.js +29 -14
  14. package/lib/components/data-display/calendar-view/calendar-view.styles.d.ts.map +1 -1
  15. package/lib/components/data-display/calendar-view/calendar-view.styles.js +155 -89
  16. package/lib/components/data-display/data-grid/data-grid.styles.d.ts.map +1 -1
  17. package/lib/components/data-display/data-grid/data-grid.styles.js +117 -61
  18. package/lib/components/data-display/list/list-item.styles.d.ts.map +1 -1
  19. package/lib/components/data-display/list/list-item.styles.js +35 -13
  20. package/lib/components/data-display/list/list.styles.d.ts.map +1 -1
  21. package/lib/components/data-display/list/list.styles.js +5 -1
  22. package/lib/components/data-display/profile-card/profile-card.styles.d.ts.map +1 -1
  23. package/lib/components/data-display/profile-card/profile-card.styles.js +66 -28
  24. package/lib/components/data-display/stat-card/stat-card.styles.d.ts.map +1 -1
  25. package/lib/components/data-display/stat-card/stat-card.styles.js +64 -26
  26. package/lib/components/data-display/table/table.styles.d.ts.map +1 -1
  27. package/lib/components/data-display/table/table.styles.js +64 -25
  28. package/lib/components/data-display/tag/tag.styles.d.ts.map +1 -1
  29. package/lib/components/data-display/tag/tag.styles.js +62 -25
  30. package/lib/components/feedback/alert/alert.styles.d.ts.map +1 -1
  31. package/lib/components/feedback/alert/alert.styles.js +41 -17
  32. package/lib/components/feedback/progress/progress.styles.d.ts.map +1 -1
  33. package/lib/components/feedback/progress/progress.styles.js +112 -56
  34. package/lib/components/feedback/spinner/spinner.styles.d.ts.map +1 -1
  35. package/lib/components/feedback/spinner/spinner.styles.js +32 -16
  36. package/lib/components/feedback/toast/toast.styles.d.ts.map +1 -1
  37. package/lib/components/feedback/toast/toast.styles.js +69 -26
  38. package/lib/components/forms/autocomplete/autocomplete.styles.d.ts.map +1 -1
  39. package/lib/components/forms/autocomplete/autocomplete.styles.js +164 -76
  40. package/lib/components/forms/button/button.styles.d.ts.map +1 -1
  41. package/lib/components/forms/button/button.styles.js +141 -116
  42. package/lib/components/forms/button-group/button-group.styles.d.ts.map +1 -1
  43. package/lib/components/forms/button-group/button-group.styles.js +8 -2
  44. package/lib/components/forms/checkbox/checkbox.styles.d.ts.map +1 -1
  45. package/lib/components/forms/checkbox/checkbox.styles.js +75 -41
  46. package/lib/components/forms/date-picker/calendar.styles.d.ts.map +1 -1
  47. package/lib/components/forms/date-picker/calendar.styles.js +108 -47
  48. package/lib/components/forms/date-picker/date-picker.styles.d.ts.map +1 -1
  49. package/lib/components/forms/date-picker/date-picker.styles.js +96 -38
  50. package/lib/components/forms/date-time-picker/date-time-picker.styles.d.ts.map +1 -1
  51. package/lib/components/forms/date-time-picker/date-time-picker.styles.js +65 -25
  52. package/lib/components/forms/file-upload/file-upload.styles.d.ts.map +1 -1
  53. package/lib/components/forms/file-upload/file-upload.styles.js +92 -39
  54. package/lib/components/forms/form-field/form-field.styles.d.ts.map +1 -1
  55. package/lib/components/forms/form-field/form-field.styles.js +72 -29
  56. package/lib/components/forms/input/input.styles.d.ts.map +1 -1
  57. package/lib/components/forms/input/input.styles.js +82 -29
  58. package/lib/components/forms/radio/radio.styles.d.ts.map +1 -1
  59. package/lib/components/forms/radio/radio.styles.js +85 -54
  60. package/lib/components/forms/radio-card-group/radio-card-group.styles.d.ts.map +1 -1
  61. package/lib/components/forms/radio-card-group/radio-card-group.styles.js +34 -12
  62. package/lib/components/forms/radio-card-group/radio-card.styles.d.ts.map +1 -1
  63. package/lib/components/forms/radio-card-group/radio-card.styles.js +108 -47
  64. package/lib/components/forms/select/select.styles.d.ts.map +1 -1
  65. package/lib/components/forms/select/select.styles.js +153 -71
  66. package/lib/components/forms/slider/slider.styles.d.ts.map +1 -1
  67. package/lib/components/forms/slider/slider.styles.js +77 -36
  68. package/lib/components/forms/textarea/textarea.styles.d.ts.map +1 -1
  69. package/lib/components/forms/textarea/textarea.styles.js +80 -31
  70. package/lib/components/forms/time-picker/time-picker.styles.d.ts.map +1 -1
  71. package/lib/components/forms/time-picker/time-picker.styles.js +196 -91
  72. package/lib/components/forms/toggle/toggle.styles.d.ts.map +1 -1
  73. package/lib/components/forms/toggle/toggle.styles.js +84 -54
  74. package/lib/components/foundation/card/card.styles.d.ts.map +1 -1
  75. package/lib/components/foundation/card/card.styles.js +48 -17
  76. package/lib/components/foundation/divider/divider.styles.d.ts.map +1 -1
  77. package/lib/components/foundation/divider/divider.styles.js +24 -12
  78. package/lib/components/general/icon/icon.styles.d.ts.map +1 -1
  79. package/lib/components/general/icon/icon.styles.js +9 -2
  80. package/lib/components/navigation/breadcrumb/breadcrumb.styles.d.ts.map +1 -1
  81. package/lib/components/navigation/breadcrumb/breadcrumb.styles.js +4 -1
  82. package/lib/components/navigation/pagination/pagination.styles.d.ts.map +1 -1
  83. package/lib/components/navigation/pagination/pagination.styles.js +59 -23
  84. package/lib/components/navigation/sidebar/sidebar-item.styles.d.ts.map +1 -1
  85. package/lib/components/navigation/sidebar/sidebar-item.styles.js +108 -34
  86. package/lib/components/navigation/sidebar/sidebar.styles.d.ts.map +1 -1
  87. package/lib/components/navigation/sidebar/sidebar.styles.js +183 -62
  88. package/lib/components/navigation/steps/step.styles.d.ts.map +1 -1
  89. package/lib/components/navigation/steps/step.styles.js +149 -83
  90. package/lib/components/navigation/steps/steps.styles.d.ts.map +1 -1
  91. package/lib/components/navigation/steps/steps.styles.js +169 -91
  92. package/lib/components/navigation/tabs/tab.styles.d.ts.map +1 -1
  93. package/lib/components/navigation/tabs/tab.styles.js +36 -12
  94. package/lib/components/navigation/tabs/tabs.styles.d.ts.map +1 -1
  95. package/lib/components/navigation/tabs/tabs.styles.js +126 -57
  96. package/lib/components/overlays/dialog/dialog.styles.d.ts.map +1 -1
  97. package/lib/components/overlays/dialog/dialog.styles.js +73 -33
  98. package/lib/components/overlays/drawer/drawer.styles.d.ts.map +1 -1
  99. package/lib/components/overlays/drawer/drawer.styles.js +77 -33
  100. package/lib/components/overlays/dropdown/dropdown-item.styles.d.ts.map +1 -1
  101. package/lib/components/overlays/dropdown/dropdown-item.styles.js +43 -17
  102. package/lib/components/overlays/dropdown/dropdown.styles.d.ts.map +1 -1
  103. package/lib/components/overlays/dropdown/dropdown.styles.js +30 -15
  104. package/lib/components/overlays/popover/popover.styles.d.ts.map +1 -1
  105. package/lib/components/overlays/popover/popover.styles.js +31 -15
  106. package/lib/components/overlays/tooltip/tooltip.styles.d.ts.map +1 -1
  107. package/lib/components/overlays/tooltip/tooltip.styles.js +28 -12
  108. package/lib/components/pages/auth/auth-layout.styles.d.ts +1 -1
  109. package/lib/components/pages/auth/auth-layout.styles.d.ts.map +1 -1
  110. package/lib/components/pages/auth/auth-layout.styles.js +79 -31
  111. package/lib/components/pages/dashboard/dashboard-page.styles.d.ts.map +1 -1
  112. package/lib/components/pages/dashboard/dashboard-page.styles.js +34 -12
  113. package/lib/components/sections/app-shell/app-shell.styles.d.ts.map +1 -1
  114. package/lib/components/sections/app-shell/app-shell.styles.js +54 -23
  115. package/lib/components/sections/hero/hero-section.styles.d.ts.map +1 -1
  116. package/lib/components/sections/hero/hero-section.styles.js +97 -40
  117. package/lib/components/sections/page-header/page-header.styles.d.ts.map +1 -1
  118. package/lib/components/sections/page-header/page-header.styles.js +64 -28
  119. package/lib/components/sections/page-section/page-section.styles.d.ts.map +1 -1
  120. package/lib/components/sections/page-section/page-section.styles.js +51 -21
  121. 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-space-3);
73
+ gap: var(--ml-sidebar-item-gap);
15
74
  box-sizing: border-box;
16
75
  width: 100%;
17
- padding: var(--ml-space-2) var(--ml-space-3);
18
- padding-left: calc(var(--ml-space-3) + (var(--level) * var(--ml-space-5)));
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-radius: var(--ml-radius);
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-color-text-secondary);
23
- font-family: var(--ml-font-sans);
24
- font-size: var(--ml-text-sm);
25
- font-weight: var(--ml-font-medium);
26
- line-height: var(--ml-leading-tight);
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-duration-150) var(--ml-ease-in-out),
32
- color var(--ml-duration-150) var(--ml-ease-in-out);
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-gray-100);
37
- color: var(--ml-color-text);
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-primary);
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-color-primary);
47
- color: var(--ml-color-text-inverse);
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-color-primary-hover);
52
- color: var(--ml-color-text-inverse);
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-color-text-muted);
117
+ color: var(--ml-sidebar-item-disabled-color);
57
118
  cursor: not-allowed;
58
- opacity: 0.6;
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-space-2);
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: 20px;
73
- height: 20px;
74
- color: inherit;
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-space-2);
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: 20px;
107
- height: 20px;
108
- padding: 0 var(--ml-space-1-5);
109
- border-radius: var(--ml-radius-full);
110
- font-size: var(--ml-text-xs);
111
- font-weight: var(--ml-font-medium);
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-color-surface-tertiary);
114
- color: var(--ml-color-text-secondary);
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-duration-200) var(--ml-ease-in-out);
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,iDA8RzB,CAAC"}
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, 280px);
16
- background-color: var(--ml-color-surface);
17
- border-right: var(--ml-border) solid var(--ml-color-border);
18
- transition: width var(--ml-duration-200) var(--ml-ease-in-out);
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-lg);
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-space-4);
41
- border-bottom: var(--ml-border) solid var(--ml-color-border);
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-space-3) var(--ml-space-4);
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-space-2) 0;
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: 4px;
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-border);
77
- border-radius: var(--ml-radius-full);
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-color-border);
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-space-2);
196
+ padding: var(--ml-sidebar-footer-nav-padding);
91
197
  display: flex;
92
198
  flex-direction: column;
93
- gap: var(--ml-space-0-5);
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-space-3) var(--ml-space-4);
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-space-3) var(--ml-space-4);
106
- border-top: var(--ml-border) solid var(--ml-color-border);
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-space-2) var(--ml-space-4);
119
- font-family: var(--ml-font-sans);
120
- font-size: var(--ml-text-xs);
121
- font-weight: var(--ml-font-semibold);
122
- color: var(--ml-color-text-muted);
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: 0.05em;
125
- line-height: var(--ml-leading-tight);
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-space-0-5);
132
- padding: 0 var(--ml-space-2);
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-space-3);
251
+ gap: var(--ml-sidebar-item-gap);
146
252
  box-sizing: border-box;
147
253
  width: 100%;
148
- padding: var(--ml-space-2) var(--ml-space-3);
149
- padding-left: calc(var(--ml-space-3) + (var(--level) * var(--ml-space-5)));
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-radius: var(--ml-radius);
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-color-text-secondary);
154
- font-family: var(--ml-font-sans);
155
- font-size: var(--ml-text-sm);
156
- font-weight: var(--ml-font-medium);
157
- line-height: var(--ml-leading-tight);
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-duration-150) var(--ml-ease-in-out),
163
- color var(--ml-duration-150) var(--ml-ease-in-out);
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-gray-100);
168
- color: var(--ml-color-text);
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-primary);
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-color-primary);
178
- color: var(--ml-color-text-inverse);
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-color-primary-hover);
183
- color: var(--ml-color-text-inverse);
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-color-text-muted);
295
+ color: var(--ml-sidebar-item-disabled-color);
188
296
  cursor: not-allowed;
189
- opacity: 0.6;
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-space-2);
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: 20px;
204
- height: 20px;
205
- color: inherit;
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-space-2);
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: 20px;
230
- height: 20px;
231
- padding: 0 var(--ml-space-1-5);
232
- border-radius: var(--ml-radius-full);
233
- font-size: var(--ml-text-xs);
234
- font-weight: var(--ml-font-medium);
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-color-surface-tertiary);
237
- color: var(--ml-color-text-secondary);
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-duration-200) var(--ml-ease-in-out);
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-duration-150) var(--ml-ease-in-out);
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,iDAuftB,CAAC"}
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"}