@revikornmann/muka-ui 0.18.0 → 0.20.0

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 (195) hide show
  1. package/README.md +81 -60
  2. package/cli/bin/muka-ui.js +12 -5
  3. package/cli/commands/brand.js +33 -14
  4. package/cli/commands/init.js +21 -17
  5. package/cli/commands/install-skill.js +84 -26
  6. package/cli/templates/AGENTS.md +128 -0
  7. package/cli/templates/CLAUDE.md +8 -88
  8. package/cli/templates/muka-ui-guidelines.md +50 -14
  9. package/dist/cjs/components/ActionSheet/ActionSheet.css +4 -4
  10. package/dist/cjs/components/BottomBar/BottomBar.css +0 -3
  11. package/dist/cjs/components/Breadcrumb/Breadcrumb.css +26 -2
  12. package/dist/cjs/components/Combobox/Combobox.css +116 -132
  13. package/dist/cjs/components/Combobox/Combobox.js +175 -52
  14. package/dist/cjs/components/Combobox/Combobox.js.map +1 -1
  15. package/dist/cjs/components/Combobox/index.js.map +1 -1
  16. package/dist/cjs/components/ContextSelect/ContextSelect.css +4 -4
  17. package/dist/cjs/components/DocumentViewer/DocumentViewer.css +2 -2
  18. package/dist/cjs/components/DropdownSelect/DropdownSelect.css +225 -0
  19. package/dist/cjs/components/DropdownSelect/DropdownSelect.js +106 -0
  20. package/dist/cjs/components/DropdownSelect/DropdownSelect.js.map +1 -0
  21. package/dist/cjs/components/DropdownSelect/index.js +6 -0
  22. package/dist/cjs/components/DropdownSelect/index.js.map +1 -0
  23. package/dist/cjs/components/EmptyState/EmptyState.css +8 -8
  24. package/dist/cjs/components/FAB/FAB.css +1 -1
  25. package/dist/cjs/components/FileUpload/FileUpload.css +10 -10
  26. package/dist/cjs/components/Icon/custom/ArrowReturnIcon.js +11 -0
  27. package/dist/cjs/components/Icon/custom/ArrowReturnIcon.js.map +1 -0
  28. package/dist/cjs/components/Icon/iconRegistry.js +14 -1
  29. package/dist/cjs/components/Icon/iconRegistry.js.map +1 -1
  30. package/dist/cjs/components/Input/Input.css +47 -10
  31. package/dist/cjs/components/Input/Input.js +14 -3
  32. package/dist/cjs/components/Input/Input.js.map +1 -1
  33. package/dist/cjs/components/Label/Label.css +1 -1
  34. package/dist/cjs/components/LicensePlateInput/LicensePlateInput.css +1 -1
  35. package/dist/cjs/components/Menu/Menu.css +124 -38
  36. package/dist/cjs/components/Menu/Menu.js +283 -25
  37. package/dist/cjs/components/Menu/Menu.js.map +1 -1
  38. package/dist/cjs/components/Pagination/Pagination.css +15 -15
  39. package/dist/cjs/components/PhotoUploader/PhotoUploader.css +4 -4
  40. package/dist/cjs/components/ProgressAccordeon/ProgressAccordeon.css +10 -6
  41. package/dist/cjs/components/ProgressAccordeon/ProgressAccordeon.js +27 -16
  42. package/dist/cjs/components/ProgressAccordeon/ProgressAccordeon.js.map +1 -1
  43. package/dist/cjs/components/ProgressTracker/ProgressTracker.css +273 -22
  44. package/dist/cjs/components/ProgressTracker/ProgressTracker.js +109 -9
  45. package/dist/cjs/components/ProgressTracker/ProgressTracker.js.map +1 -1
  46. package/dist/cjs/components/Scrollbar/Scrollbar.css +7 -6
  47. package/dist/cjs/components/SearchInput/SearchInput.css +4 -4
  48. package/dist/cjs/components/Select/Select.css +2 -2
  49. package/dist/cjs/components/SmsOtpField/SmsOtpField.css +2 -2
  50. package/dist/cjs/components/SpecList/SpecList.css +8 -8
  51. package/dist/cjs/components/Spinner/Spinner.css +1 -1
  52. package/dist/cjs/components/SwipeActions/SwipeActions.css +6 -6
  53. package/dist/cjs/components/Table/Table.css +3 -3
  54. package/dist/cjs/components/Table/TablePagination.css +1 -1
  55. package/dist/cjs/components/Tabs/Tabs.css +6 -6
  56. package/dist/cjs/components/Textarea/Textarea.css +2 -2
  57. package/dist/cjs/components/Waveform/Waveform.css +1 -1
  58. package/dist/cjs/components/index.js +5 -3
  59. package/dist/cjs/components/index.js.map +1 -1
  60. package/dist/esm/components/ActionSheet/ActionSheet.css +4 -4
  61. package/dist/esm/components/BottomBar/BottomBar.css +0 -3
  62. package/dist/esm/components/Breadcrumb/Breadcrumb.css +26 -2
  63. package/dist/esm/components/Combobox/Combobox.css +116 -132
  64. package/dist/esm/components/Combobox/Combobox.js +177 -54
  65. package/dist/esm/components/Combobox/Combobox.js.map +1 -1
  66. package/dist/esm/components/Combobox/index.js +1 -1
  67. package/dist/esm/components/Combobox/index.js.map +1 -1
  68. package/dist/esm/components/ContextSelect/ContextSelect.css +4 -4
  69. package/dist/esm/components/DocumentViewer/DocumentViewer.css +2 -2
  70. package/dist/esm/components/DropdownSelect/DropdownSelect.css +225 -0
  71. package/dist/esm/components/DropdownSelect/DropdownSelect.js +102 -0
  72. package/dist/esm/components/DropdownSelect/DropdownSelect.js.map +1 -0
  73. package/dist/esm/components/DropdownSelect/index.js +2 -0
  74. package/dist/esm/components/DropdownSelect/index.js.map +1 -0
  75. package/dist/esm/components/EmptyState/EmptyState.css +8 -8
  76. package/dist/esm/components/FAB/FAB.css +1 -1
  77. package/dist/esm/components/FileUpload/FileUpload.css +10 -10
  78. package/dist/esm/components/Icon/custom/ArrowReturnIcon.js +7 -0
  79. package/dist/esm/components/Icon/custom/ArrowReturnIcon.js.map +1 -0
  80. package/dist/esm/components/Icon/iconRegistry.js +14 -1
  81. package/dist/esm/components/Icon/iconRegistry.js.map +1 -1
  82. package/dist/esm/components/Input/Input.css +47 -10
  83. package/dist/esm/components/Input/Input.js +14 -3
  84. package/dist/esm/components/Input/Input.js.map +1 -1
  85. package/dist/esm/components/Label/Label.css +1 -1
  86. package/dist/esm/components/LicensePlateInput/LicensePlateInput.css +1 -1
  87. package/dist/esm/components/Menu/Menu.css +124 -38
  88. package/dist/esm/components/Menu/Menu.js +284 -26
  89. package/dist/esm/components/Menu/Menu.js.map +1 -1
  90. package/dist/esm/components/Pagination/Pagination.css +15 -15
  91. package/dist/esm/components/PhotoUploader/PhotoUploader.css +4 -4
  92. package/dist/esm/components/ProgressAccordeon/ProgressAccordeon.css +10 -6
  93. package/dist/esm/components/ProgressAccordeon/ProgressAccordeon.js +27 -16
  94. package/dist/esm/components/ProgressAccordeon/ProgressAccordeon.js.map +1 -1
  95. package/dist/esm/components/ProgressTracker/ProgressTracker.css +273 -22
  96. package/dist/esm/components/ProgressTracker/ProgressTracker.js +110 -10
  97. package/dist/esm/components/ProgressTracker/ProgressTracker.js.map +1 -1
  98. package/dist/esm/components/Scrollbar/Scrollbar.css +7 -6
  99. package/dist/esm/components/SearchInput/SearchInput.css +4 -4
  100. package/dist/esm/components/Select/Select.css +2 -2
  101. package/dist/esm/components/SmsOtpField/SmsOtpField.css +2 -2
  102. package/dist/esm/components/SpecList/SpecList.css +8 -8
  103. package/dist/esm/components/Spinner/Spinner.css +1 -1
  104. package/dist/esm/components/SwipeActions/SwipeActions.css +6 -6
  105. package/dist/esm/components/Table/Table.css +3 -3
  106. package/dist/esm/components/Table/TablePagination.css +1 -1
  107. package/dist/esm/components/Tabs/Tabs.css +6 -6
  108. package/dist/esm/components/Textarea/Textarea.css +2 -2
  109. package/dist/esm/components/Waveform/Waveform.css +1 -1
  110. package/dist/esm/components/index.js +1 -0
  111. package/dist/esm/components/index.js.map +1 -1
  112. package/dist/styles/components/ActionSheet.css +4 -4
  113. package/dist/styles/components/BottomBar.css +0 -3
  114. package/dist/styles/components/Breadcrumb.css +26 -2
  115. package/dist/styles/components/Combobox.css +116 -132
  116. package/dist/styles/components/ContextSelect.css +4 -4
  117. package/dist/styles/components/DocumentViewer.css +2 -2
  118. package/dist/styles/components/DropdownSelect.css +225 -0
  119. package/dist/styles/components/EmptyState.css +8 -8
  120. package/dist/styles/components/FAB.css +1 -1
  121. package/dist/styles/components/FileUpload.css +10 -10
  122. package/dist/styles/components/Input.css +47 -10
  123. package/dist/styles/components/Label.css +1 -1
  124. package/dist/styles/components/LicensePlateInput.css +1 -1
  125. package/dist/styles/components/Menu.css +124 -38
  126. package/dist/styles/components/Pagination.css +15 -15
  127. package/dist/styles/components/PhotoUploader.css +4 -4
  128. package/dist/styles/components/ProgressAccordeon.css +10 -6
  129. package/dist/styles/components/ProgressTracker.css +273 -22
  130. package/dist/styles/components/Scrollbar.css +7 -6
  131. package/dist/styles/components/SearchInput.css +4 -4
  132. package/dist/styles/components/Select.css +2 -2
  133. package/dist/styles/components/SmsOtpField.css +2 -2
  134. package/dist/styles/components/SpecList.css +8 -8
  135. package/dist/styles/components/Spinner.css +1 -1
  136. package/dist/styles/components/SwipeActions.css +6 -6
  137. package/dist/styles/components/Table.css +3 -3
  138. package/dist/styles/components/Tabs.css +6 -6
  139. package/dist/styles/components/Textarea.css +2 -2
  140. package/dist/styles/components/Typography.css +89 -0
  141. package/dist/styles/components/Waveform.css +1 -1
  142. package/dist/styles/index.css +1167 -462
  143. package/dist/styles/muka-dark.css +1167 -462
  144. package/dist/styles/muka-light.css +1167 -462
  145. package/dist/styles/tokens-bouwplan-dark.css +5 -4
  146. package/dist/styles/tokens-bouwplan-light.css +5 -4
  147. package/dist/styles/tokens-fscl-dark.css +25 -24
  148. package/dist/styles/tokens-fscl-light.css +25 -24
  149. package/dist/styles/tokens-grip-dark.css +4 -3
  150. package/dist/styles/tokens-grip-light.css +4 -3
  151. package/dist/styles/tokens-muka-dark.css +4 -3
  152. package/dist/styles/tokens-muka-light.css +4 -3
  153. package/dist/styles/tokens-wireframe-dark.css +49 -48
  154. package/dist/styles/tokens-wireframe-light.css +49 -48
  155. package/dist/styles/wireframe-dark.css +1212 -507
  156. package/dist/styles/wireframe-light.css +1212 -507
  157. package/dist/types/components/Combobox/Combobox.d.ts +38 -38
  158. package/dist/types/components/Combobox/Combobox.d.ts.map +1 -1
  159. package/dist/types/components/Combobox/index.d.ts +1 -1
  160. package/dist/types/components/Combobox/index.d.ts.map +1 -1
  161. package/dist/types/components/DropdownSelect/DropdownSelect.d.ts +71 -0
  162. package/dist/types/components/DropdownSelect/DropdownSelect.d.ts.map +1 -0
  163. package/dist/types/components/DropdownSelect/index.d.ts +2 -0
  164. package/dist/types/components/DropdownSelect/index.d.ts.map +1 -0
  165. package/dist/types/components/Icon/custom/ArrowReturnIcon.d.ts +9 -0
  166. package/dist/types/components/Icon/custom/ArrowReturnIcon.d.ts.map +1 -0
  167. package/dist/types/components/Icon/iconRegistry.d.ts.map +1 -1
  168. package/dist/types/components/Input/Input.d.ts +5 -0
  169. package/dist/types/components/Input/Input.d.ts.map +1 -1
  170. package/dist/types/components/Menu/Menu.d.ts +42 -2
  171. package/dist/types/components/Menu/Menu.d.ts.map +1 -1
  172. package/dist/types/components/ProgressAccordeon/ProgressAccordeon.d.ts +17 -12
  173. package/dist/types/components/ProgressAccordeon/ProgressAccordeon.d.ts.map +1 -1
  174. package/dist/types/components/ProgressTracker/ProgressTracker.d.ts +29 -8
  175. package/dist/types/components/ProgressTracker/ProgressTracker.d.ts.map +1 -1
  176. package/dist/types/components/index.d.ts +1 -0
  177. package/dist/types/components/index.d.ts.map +1 -1
  178. package/docs/consumers/README.md +116 -37
  179. package/docs/consumers/brand.md +261 -0
  180. package/docs/consumers/figma-console-mcp.md +116 -0
  181. package/docs/consumers/setup-instructions.md +98 -12
  182. package/docs/consumers/skills.md +79 -0
  183. package/package.json +5 -6
  184. package/scripts/postinstall-nudge.js +8 -4
  185. package/skills/add-brand/SKILL.md +204 -0
  186. package/skills/add-brand/reference.md +160 -0
  187. package/skills/figma-to-code/SKILL.md +127 -0
  188. package/skills/pull-from-figma/SKILL.md +123 -0
  189. package/skills/push-to-figma/SKILL.md +172 -0
  190. package/skills/setup-muka/SKILL.md +73 -13
  191. package/tokens/README.md +39 -17
  192. package/tokens/t2-alias/brand/bouwplan/fonts.json +1 -1
  193. package/tokens/t2-alias/brand/fscl/fonts.json +3 -3
  194. package/tokens/t2-alias/brand/wireframe/fonts.json +2 -2
  195. package/tokens/t4-components/menu.json +8 -3
@@ -3,19 +3,22 @@
3
3
  /* ─── Root ──────────────────────────────────────────────── */
4
4
  .muka-progress-tracker {
5
5
  width: 100%;
6
+ }
7
+
8
+ .muka-progress-tracker--horizontal {
6
9
  padding-bottom: var(--spacing-7);
7
10
  }
8
11
 
9
12
  /* ─── Track (layered container) ─────────────────────────── */
10
- .muka-progress-tracker__track {
13
+ .muka-progress-tracker--horizontal .muka-progress-tracker__track {
11
14
  position: relative;
12
15
  /* Vertical padding = (indicator size - connector height) / 2 = (32 - 4) / 2 = 14px */
13
16
  padding-top: 14px;
14
17
  padding-bottom: 14px;
15
18
  }
16
19
 
17
- /* ─── Steps layer (on top) ──────────────────────────────── */
18
- .muka-progress-tracker__steps {
20
+ /* ─── Steps layer (on top) — horizontal ─────────────────── */
21
+ .muka-progress-tracker--horizontal .muka-progress-tracker__steps {
19
22
  position: absolute;
20
23
  inset: 0;
21
24
  display: flex;
@@ -24,13 +27,16 @@
24
27
  z-index: 2;
25
28
  }
26
29
 
27
- /* ─── Individual step ───────────────────────────────────── */
28
- .muka-progress-tracker__step {
30
+ /* ─── Individual step — horizontal ──────────────────────── */
31
+ .muka-progress-tracker--horizontal .muka-progress-tracker__step {
29
32
  display: flex;
30
33
  flex-direction: column;
31
34
  align-items: center;
32
- gap: 7px;
33
35
  position: relative;
36
+ /* Labels are absolutely positioned so the step stays 32px and
37
+ circle centers line up with the connector padding. */
38
+ width: 32px;
39
+ flex: 0 0 32px;
34
40
  }
35
41
 
36
42
  /* ─── Step indicator (circle) ───────────────────────────── */
@@ -43,20 +49,24 @@
43
49
  justify-content: center;
44
50
  flex-shrink: 0;
45
51
  position: relative;
52
+ z-index: 1;
46
53
  }
47
54
 
48
55
  /* Past: dark accent contrast circle with white checkmark */
49
56
  .muka-progress-tracker__indicator--past {
50
57
  background-color: var(--alias-color-accent-contrast);
51
58
  color: var(--color-text-default-inverse);
59
+ }
60
+
61
+ .muka-progress-tracker--horizontal .muka-progress-tracker__indicator--past {
52
62
  cursor: pointer;
53
63
  }
54
64
 
55
- .muka-progress-tracker__indicator--past:hover {
65
+ .muka-progress-tracker--horizontal .muka-progress-tracker__indicator--past:hover {
56
66
  background-color: var(--alias-color-accent-pressed);
57
67
  }
58
68
 
59
- .muka-progress-tracker__indicator--past:focus-visible {
69
+ .muka-progress-tracker--horizontal .muka-progress-tracker__indicator--past:focus-visible {
60
70
  outline: 2px solid var(--color-border-focus);
61
71
  outline-offset: 2px;
62
72
  }
@@ -83,6 +93,18 @@
83
93
  user-select: none;
84
94
  }
85
95
 
96
+ .muka-progress-tracker--horizontal .muka-progress-tracker__indicator--upcoming .muka-progress-tracker__number {
97
+ font-family: var(--text-label-md-bold-fontFamily);
98
+ font-weight: var(--text-label-md-bold-fontWeight);
99
+ }
100
+
101
+ .muka-progress-tracker--vertical .muka-progress-tracker__indicator--upcoming .muka-progress-tracker__number {
102
+ font-family: var(--text-label-md-semibold-fontFamily);
103
+ font-weight: var(--text-label-md-semibold-fontWeight);
104
+ font-size: var(--text-label-md-semibold-fontSize);
105
+ line-height: var(--text-label-md-semibold-lineHeight);
106
+ }
107
+
86
108
  /* ─── Checkmark icon ────────────────────────────────────── */
87
109
  .muka-progress-tracker__check-icon {
88
110
  width: 20px;
@@ -95,8 +117,12 @@
95
117
  color: var(--color-text-default-inverse);
96
118
  }
97
119
 
98
- /* ─── Step label ────────────────────────────────────────── */
99
- .muka-progress-tracker__label {
120
+ /* ─── Step label — horizontal ───────────────────────────── */
121
+ .muka-progress-tracker--horizontal .muka-progress-tracker__label {
122
+ position: absolute;
123
+ top: 39px;
124
+ left: 50%;
125
+ transform: translateX(-50%);
100
126
  font-family: var(--text-label-sm-regular-fontFamily);
101
127
  font-weight: var(--text-label-sm-regular-fontWeight);
102
128
  font-size: var(--text-label-sm-regular-fontSize);
@@ -109,14 +135,14 @@
109
135
  text-overflow: ellipsis;
110
136
  }
111
137
 
112
- /* Current step label is bold */
113
- .muka-progress-tracker__label--current {
138
+ /* Current step label is bold (horizontal only) */
139
+ .muka-progress-tracker--horizontal .muka-progress-tracker__label--current {
114
140
  font-family: var(--text-label-sm-bold-fontFamily);
115
141
  font-weight: var(--text-label-sm-bold-fontWeight);
116
142
  }
117
143
 
118
- /* ─── Connectors layer (behind indicators) ──────────────── */
119
- .muka-progress-tracker__connectors {
144
+ /* ─── Connectors layer (behind indicators) — horizontal ─── */
145
+ .muka-progress-tracker--horizontal .muka-progress-tracker__connectors {
120
146
  display: flex;
121
147
  align-items: center;
122
148
  /* Horizontal padding = indicator radius (32/2 = 16px) so lines meet circle centers */
@@ -126,20 +152,31 @@
126
152
  z-index: 1;
127
153
  }
128
154
 
129
- /* ─── Individual connector line ─────────────────────────── */
130
- .muka-progress-tracker__connector {
155
+ /* Rounder, bar, rounder in a row. Chromium treats a negative gap as invalid,
156
+ so the overlap is margins: the bar runs 2px under each circle. */
157
+ .muka-progress-tracker--horizontal .muka-progress-tracker__connector {
158
+ display: flex;
159
+ flex-direction: row;
160
+ align-items: center;
131
161
  flex: 1 0 0;
132
162
  height: 4px;
133
163
  min-width: 1px;
164
+ position: relative;
165
+ overflow: visible;
166
+ background: none;
134
167
  }
135
168
 
136
- /* Past: solid dark line */
137
- .muka-progress-tracker__connector--past {
169
+ .muka-progress-tracker--horizontal .muka-progress-tracker__connector-line {
170
+ flex: 1 1 auto;
171
+ height: 4px;
172
+ min-width: 1px;
173
+ }
174
+
175
+ .muka-progress-tracker--horizontal .muka-progress-tracker__connector--past .muka-progress-tracker__connector-line {
138
176
  background-color: var(--alias-color-accent-contrast);
139
177
  }
140
178
 
141
- /* Current: gradient from past (dark) toward current step */
142
- .muka-progress-tracker__connector--current {
179
+ .muka-progress-tracker--horizontal .muka-progress-tracker__connector--current .muka-progress-tracker__connector-line {
143
180
  background: linear-gradient(
144
181
  to right,
145
182
  var(--alias-color-accent-contrast) 0%,
@@ -147,8 +184,7 @@
147
184
  );
148
185
  }
149
186
 
150
- /* Current-right: gradient fading from current step into upcoming */
151
- .muka-progress-tracker__connector--current-right {
187
+ .muka-progress-tracker--horizontal .muka-progress-tracker__connector--current-right .muka-progress-tracker__connector-line {
152
188
  background: linear-gradient(
153
189
  to right,
154
190
  var(--alias-color-accent-default) 0%,
@@ -157,7 +193,222 @@
157
193
  );
158
194
  }
159
195
 
196
+ .muka-progress-tracker--horizontal .muka-progress-tracker__connector--upcoming .muka-progress-tracker__connector-line {
197
+ background-color: var(--color-surface-sunken);
198
+ }
199
+
200
+ /* Past: solid dark line (vertical; horizontal uses the inner line) */
201
+ .muka-progress-tracker__connector--past {
202
+ background-color: var(--alias-color-accent-contrast);
203
+ }
204
+
160
205
  /* Upcoming: solid gray line */
161
206
  .muka-progress-tracker__connector--upcoming {
162
207
  background-color: var(--color-surface-sunken);
163
208
  }
209
+
210
+ /* ═══════════════════════════════════════════════════════════
211
+ Vertical orientation
212
+ ═══════════════════════════════════════════════════════════ */
213
+
214
+ .muka-progress-tracker--vertical .muka-progress-tracker__track {
215
+ display: flex;
216
+ flex-direction: column;
217
+ align-items: stretch;
218
+ gap: var(--spacing-6);
219
+ width: 100%;
220
+ }
221
+
222
+ .muka-progress-tracker--vertical .muka-progress-tracker__step {
223
+ display: flex;
224
+ flex-direction: row;
225
+ align-items: flex-start;
226
+ gap: var(--spacing-3);
227
+ padding-right: var(--spacing-1);
228
+ position: relative;
229
+ width: 100%;
230
+ min-height: 32px;
231
+ }
232
+
233
+ .muka-progress-tracker--vertical .muka-progress-tracker__step--interactive {
234
+ cursor: pointer;
235
+ }
236
+
237
+ .muka-progress-tracker--vertical .muka-progress-tracker__step--interactive:focus-visible {
238
+ outline: 2px solid var(--color-border-focus);
239
+ outline-offset: 4px;
240
+ border-radius: 20px;
241
+ }
242
+
243
+ /* Indicator column: circle only; connector is absolutely positioned on the step */
244
+ .muka-progress-tracker--vertical .muka-progress-tracker__indicator-col {
245
+ display: flex;
246
+ flex-direction: column;
247
+ align-items: center;
248
+ flex-shrink: 0;
249
+ position: relative;
250
+ width: 32px;
251
+ z-index: 1;
252
+ }
253
+
254
+ /* Vertical connector: from mid-indicator through gap to next mid-indicator */
255
+ .muka-progress-tracker--vertical .muka-progress-tracker__connector {
256
+ position: absolute;
257
+ left: 14px; /* (32px indicator - 4px line) / 2 */
258
+ top: 16px;
259
+ /* Through track gap (spacing-6) into the next indicator's top half */
260
+ bottom: calc(-1 * var(--spacing-6) - 16px);
261
+ width: 4px;
262
+ z-index: 0;
263
+ overflow: visible;
264
+ }
265
+
266
+ /* Divider rounders: circle bleeds into the connector (Figma Divider Rounder) */
267
+ .muka-progress-tracker__rounder {
268
+ position: absolute;
269
+ display: block;
270
+ pointer-events: none;
271
+ overflow: visible;
272
+ }
273
+
274
+ .muka-progress-tracker__rounder--past {
275
+ color: var(--alias-color-accent-contrast);
276
+ }
277
+
278
+ .muka-progress-tracker__rounder--current {
279
+ color: var(--alias-color-accent-default);
280
+ }
281
+
282
+ .muka-progress-tracker__rounder--upcoming {
283
+ color: var(--color-surface-sunken);
284
+ }
285
+
286
+ .muka-progress-tracker--horizontal .muka-progress-tracker__rounder {
287
+ position: relative;
288
+ z-index: 1;
289
+ flex-shrink: 0;
290
+ top: auto;
291
+ right: auto;
292
+ bottom: auto;
293
+ left: auto;
294
+ transform: none;
295
+ }
296
+
297
+ .muka-progress-tracker--horizontal .muka-progress-tracker__rounder--start {
298
+ margin-left: 14px;
299
+ /* Rounder overhangs the circle by 3px; -5px tucks the bar 2px under the circle. */
300
+ margin-right: -5px;
301
+ }
302
+
303
+ .muka-progress-tracker--horizontal .muka-progress-tracker__rounder--end {
304
+ margin-left: -5px;
305
+ margin-right: 14px;
306
+ }
307
+
308
+ .muka-progress-tracker--vertical .muka-progress-tracker__rounder--start {
309
+ left: 50%;
310
+ top: 14px;
311
+ transform: translateX(-50%);
312
+ }
313
+
314
+ .muka-progress-tracker--vertical .muka-progress-tracker__rounder--end {
315
+ left: 50%;
316
+ bottom: 14px;
317
+ transform: translateX(-50%);
318
+ }
319
+
320
+ .muka-progress-tracker--vertical .muka-progress-tracker__connector--current {
321
+ background: linear-gradient(
322
+ to bottom,
323
+ var(--alias-color-accent-contrast) 0%,
324
+ var(--alias-color-accent-default) 100%
325
+ );
326
+ }
327
+
328
+ .muka-progress-tracker--vertical .muka-progress-tracker__connector--current-right {
329
+ background: linear-gradient(
330
+ to bottom,
331
+ var(--alias-color-accent-default) 0%,
332
+ var(--alias-color-accent-default) 15%,
333
+ var(--color-surface-sunken) 50%
334
+ );
335
+ }
336
+
337
+ /* Vertical label: body/base/regular, wraps, not bold for current */
338
+ .muka-progress-tracker--vertical .muka-progress-tracker__label {
339
+ font-family: var(--text-body-base-regular-fontFamily);
340
+ font-weight: var(--text-body-base-regular-fontWeight);
341
+ font-size: var(--text-body-base-regular-fontSize);
342
+ line-height: var(--text-body-base-regular-lineHeight);
343
+ color: var(--color-text-default-default);
344
+ text-align: left;
345
+ flex: 1 0 0;
346
+ min-width: 0;
347
+ padding-top: var(--spacing-1);
348
+ padding-bottom: var(--spacing-1);
349
+ word-break: break-word;
350
+ }
351
+
352
+ /* Current label stays regular weight in vertical layout */
353
+ .muka-progress-tracker--vertical .muka-progress-tracker__label--current {
354
+ font-family: var(--text-body-base-regular-fontFamily);
355
+ font-weight: var(--text-body-base-regular-fontWeight);
356
+ }
357
+
358
+ /* Ensure step content paints above hover/selected backgrounds */
359
+ .muka-progress-tracker--vertical .muka-progress-tracker__indicator-col,
360
+ .muka-progress-tracker--vertical .muka-progress-tracker__label {
361
+ position: relative;
362
+ z-index: 1;
363
+ }
364
+
365
+ /* ─── Hover halo (vertical interactive only) ────────────── */
366
+ .muka-progress-tracker--vertical .muka-progress-tracker__step--interactive:hover::before,
367
+ .muka-progress-tracker--vertical .muka-progress-tracker__step--interactive:active::before,
368
+ .muka-progress-tracker--vertical .muka-progress-tracker__step[data-selected='true']::before {
369
+ content: '';
370
+ position: absolute;
371
+ background-color: var(--color-surface-level1);
372
+ pointer-events: none;
373
+ z-index: 0;
374
+ }
375
+
376
+ /* Hover: 40px circle behind indicator only */
377
+ .muka-progress-tracker--vertical .muka-progress-tracker__step--interactive:hover::before {
378
+ left: -4px;
379
+ top: -4px;
380
+ width: 40px;
381
+ height: 40px;
382
+ border-radius: 20px;
383
+ }
384
+
385
+ /* Selected / :active: pill behind full step row — wins over hover */
386
+ .muka-progress-tracker--vertical .muka-progress-tracker__step--interactive:active::before,
387
+ .muka-progress-tracker--vertical .muka-progress-tracker__step[data-selected='true']::before {
388
+ left: -4px;
389
+ right: -8px;
390
+ top: -4px;
391
+ bottom: -4px;
392
+ width: auto;
393
+ height: auto;
394
+ border-radius: 20px;
395
+ }
396
+
397
+ /* Selected steps without interactive class still show the pill */
398
+ .muka-progress-tracker--vertical .muka-progress-tracker__step[data-selected='true']:not(.muka-progress-tracker__step--interactive)::before {
399
+ content: '';
400
+ position: absolute;
401
+ left: -4px;
402
+ right: -8px;
403
+ top: -4px;
404
+ bottom: -4px;
405
+ background-color: var(--color-surface-level1);
406
+ border-radius: 20px;
407
+ pointer-events: none;
408
+ z-index: 0;
409
+ }
410
+
411
+ /* Connector stays behind indicators (indicator-col is z-index 1) */
412
+ .muka-progress-tracker--vertical .muka-progress-tracker__connector {
413
+ z-index: 0;
414
+ }
@@ -74,25 +74,26 @@
74
74
 
75
75
  .muka-scrollbar__thumb {
76
76
  position: absolute;
77
- left: 50%;
77
+ left: 0;
78
78
  top: 0;
79
79
  z-index: 1;
80
80
  display: flex;
81
81
  align-items: center;
82
82
  justify-content: center;
83
- width: 14px;
84
- margin-left: -7px;
83
+ width: 100%;
84
+ /* Figma: scrollbar thumb fill = surface/level3 */
85
+ background-color: var(--color-surface-level3);
85
86
  cursor: grab;
86
87
  touch-action: none;
87
88
  }
88
89
 
89
90
  .muka-scrollbar--horizontal .muka-scrollbar__thumb {
90
91
  left: 0;
91
- top: 50%;
92
+ top: 0;
92
93
  width: auto;
93
- height: 14px;
94
+ height: 100%;
94
95
  margin-left: 0;
95
- margin-top: -7px;
96
+ margin-top: 0;
96
97
  }
97
98
 
98
99
  .muka-scrollbar__thumb:active {
@@ -80,10 +80,10 @@
80
80
  outline: none;
81
81
  padding: 0;
82
82
  color: var(--color-text-default-default);
83
- font-family: var(--text-body-md-regular-fontFamily);
84
- font-weight: var(--text-body-md-regular-fontWeight);
85
- font-size: var(--text-body-md-regular-fontSize);
86
- line-height: var(--text-body-md-regular-lineHeight);
83
+ font-family: var(--text-body-base-regular-fontFamily);
84
+ font-weight: var(--text-body-base-regular-fontWeight);
85
+ font-size: var(--text-body-base-regular-fontSize);
86
+ line-height: var(--text-body-base-regular-lineHeight);
87
87
  appearance: none;
88
88
  -webkit-appearance: none;
89
89
  }
@@ -38,7 +38,7 @@
38
38
  }
39
39
 
40
40
  .muka-select__required {
41
- color: var(--color-state-error-foreground);
41
+ color: var(--color-state-error-default);
42
42
  }
43
43
 
44
44
  .muka-select__label--sm + .muka-select__field--disabled,
@@ -186,6 +186,6 @@
186
186
  font-weight: var(--text-label-sm-regular-fontWeight);
187
187
  font-size: var(--text-label-sm-regular-fontSize);
188
188
  line-height: var(--text-label-sm-regular-lineHeight);
189
- color: var(--color-state-error-foreground);
189
+ color: var(--color-state-error-default);
190
190
  margin: 0;
191
191
  }
@@ -35,7 +35,7 @@
35
35
  }
36
36
 
37
37
  .muka-sms-otp-field__required {
38
- color: var(--color-state-error-foreground);
38
+ color: var(--color-state-error-default);
39
39
  }
40
40
 
41
41
  /* Hidden input for browser autofill */
@@ -184,6 +184,6 @@
184
184
  font-weight: var(--text-label-sm-regular-fontWeight);
185
185
  font-size: var(--text-label-sm-regular-fontSize);
186
186
  line-height: var(--text-label-sm-regular-lineHeight);
187
- color: var(--color-state-error-foreground);
187
+ color: var(--color-state-error-default);
188
188
  margin: 0;
189
189
  }
@@ -20,10 +20,10 @@
20
20
  flex: 0 0 auto;
21
21
  margin: 0;
22
22
  color: var(--color-text-subtle-default);
23
- font-family: var(--text-body-md-regular-fontFamily);
24
- font-weight: var(--text-body-md-regular-fontWeight);
25
- font-size: var(--text-body-md-regular-fontSize);
26
- line-height: var(--text-body-md-regular-lineHeight);
23
+ font-family: var(--text-body-base-regular-fontFamily);
24
+ font-weight: var(--text-body-base-regular-fontWeight);
25
+ font-size: var(--text-body-base-regular-fontSize);
26
+ line-height: var(--text-body-base-regular-lineHeight);
27
27
  overflow: hidden;
28
28
  text-overflow: ellipsis;
29
29
  white-space: nowrap;
@@ -41,10 +41,10 @@
41
41
  }
42
42
 
43
43
  .muka-spec-row__value-text {
44
- font-family: var(--text-body-md-regular-fontFamily);
45
- font-weight: var(--text-body-md-regular-fontWeight);
46
- font-size: var(--text-body-md-regular-fontSize);
47
- line-height: var(--text-body-md-regular-lineHeight);
44
+ font-family: var(--text-body-base-regular-fontFamily);
45
+ font-weight: var(--text-body-base-regular-fontWeight);
46
+ font-size: var(--text-body-base-regular-fontSize);
47
+ line-height: var(--text-body-base-regular-lineHeight);
48
48
  }
49
49
 
50
50
  .muka-spec-row__hint {
@@ -13,7 +13,7 @@
13
13
  }
14
14
 
15
15
  .muka-spinner--inverse {
16
- color: var(--color-text-inverse-default);
16
+ color: var(--color-text-default-inverse);
17
17
  }
18
18
 
19
19
  .muka-spinner__circle {
@@ -86,20 +86,20 @@
86
86
 
87
87
  .muka-swipe-actions__button--primary {
88
88
  background-color: var(--color-action-default);
89
- color: var(--color-text-inverse-default, #fff);
89
+ color: var(--color-text-default-inverse);
90
90
  }
91
91
 
92
92
  .muka-swipe-actions__button--success {
93
- background-color: var(--color-state-success-default, var(--color-action-default));
94
- color: var(--color-text-inverse-default, #fff);
93
+ background-color: var(--color-state-success-default);
94
+ color: var(--color-text-default-inverse);
95
95
  }
96
96
 
97
97
  .muka-swipe-actions__button--warning {
98
- background-color: var(--color-state-warning-default, var(--color-action-default));
98
+ background-color: var(--color-state-warning-default);
99
99
  color: var(--color-text-default-default);
100
100
  }
101
101
 
102
102
  .muka-swipe-actions__button--destructive {
103
- background-color: var(--color-state-error-default, #c0392b);
104
- color: var(--color-text-inverse-default, #fff);
103
+ background-color: var(--color-state-error-default);
104
+ color: var(--color-text-default-inverse);
105
105
  }
@@ -55,7 +55,7 @@
55
55
  ======================================== */
56
56
 
57
57
  .muka-table__body .muka-table__row {
58
- border-bottom: var(--border-width-regular) solid var(--color-border-subtle);
58
+ border-bottom: var(--border-width-regular) solid var(--color-border-muted);
59
59
  }
60
60
 
61
61
  .muka-table__body .muka-table__row:last-child {
@@ -67,11 +67,11 @@
67
67
  }
68
68
 
69
69
  .muka-table__body .muka-table__row--selected {
70
- background-color: var(--table-row-selected-background, var(--color-action-background));
70
+ background-color: var(--table-row-selected-background, var(--color-action-default));
71
71
  }
72
72
 
73
73
  .muka-table__body .muka-table__row--selected:hover {
74
- background-color: var(--table-row-selected-background, var(--color-action-background));
74
+ background-color: var(--table-row-selected-background, var(--color-action-default));
75
75
  }
76
76
 
77
77
  .muka-table__row--clickable {
@@ -25,7 +25,7 @@
25
25
  align-items: center;
26
26
  position: relative;
27
27
  z-index: 2;
28
- border-bottom: 1px solid var(--color-border-default, #e0e0e0);
28
+ border-bottom: 1px solid var(--tabs-trigger-color-default-border);
29
29
  }
30
30
 
31
31
  /* Tab Trigger — clean underline style */
@@ -43,7 +43,7 @@
43
43
  white-space: nowrap;
44
44
  position: relative;
45
45
  z-index: 2;
46
- color: var(--color-text-subtle-default, #838383);
46
+ color: var(--tabs-trigger-color-default-foreground);
47
47
 
48
48
  /* Default MD size values */
49
49
  height: 48px;
@@ -75,12 +75,12 @@
75
75
 
76
76
  /* Hover state */
77
77
  .muka-tabs__trigger:hover:not(:disabled):not(.muka-tabs__trigger--current) {
78
- color: var(--color-text-neutral-default, #202020);
78
+ color: var(--tabs-trigger-color-hover-foreground);
79
79
  }
80
80
 
81
81
  /* Current tab */
82
82
  .muka-tabs__trigger--current {
83
- color: var(--color-text-action-default, #202020);
83
+ color: var(--tabs-trigger-color-current-foreground);
84
84
  }
85
85
 
86
86
  /* Active bottom border (underline) */
@@ -91,7 +91,7 @@
91
91
  left: 0;
92
92
  right: 0;
93
93
  height: 3px;
94
- background-color: var(--color-text-action-default, #202020);
94
+ background-color: var(--tabs-trigger-color-current-foreground);
95
95
  border-bottom-left-radius: 1px;
96
96
  border-bottom-right-radius: 1px;
97
97
  border-top-left-radius: 3px;
@@ -100,7 +100,7 @@
100
100
  }
101
101
 
102
102
  .muka-tabs__trigger--disabled {
103
- color: var(--color-text-disabled-foreground, #a0a0a0);
103
+ color: var(--tabs-trigger-color-disabled-foreground);
104
104
  cursor: not-allowed;
105
105
  }
106
106
 
@@ -34,7 +34,7 @@
34
34
  }
35
35
 
36
36
  .muka-textarea__required {
37
- color: var(--color-state-error-foreground);
37
+ color: var(--color-state-error-default);
38
38
  }
39
39
 
40
40
  /* Field container */
@@ -147,7 +147,7 @@
147
147
  font-weight: var(--text-label-sm-regular-fontWeight);
148
148
  font-size: var(--text-label-sm-regular-fontSize);
149
149
  line-height: var(--text-label-sm-regular-lineHeight);
150
- color: var(--color-state-error-foreground);
150
+ color: var(--color-state-error-default);
151
151
  margin: 0;
152
152
  }
153
153