@revikornmann/muka-ui 0.18.0 → 0.19.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 (118) 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/Combobox/Combobox.css +116 -132
  10. package/dist/cjs/components/Combobox/Combobox.js +175 -52
  11. package/dist/cjs/components/Combobox/Combobox.js.map +1 -1
  12. package/dist/cjs/components/Combobox/index.js.map +1 -1
  13. package/dist/cjs/components/DropdownSelect/DropdownSelect.css +225 -0
  14. package/dist/cjs/components/DropdownSelect/DropdownSelect.js +106 -0
  15. package/dist/cjs/components/DropdownSelect/DropdownSelect.js.map +1 -0
  16. package/dist/cjs/components/DropdownSelect/index.js +6 -0
  17. package/dist/cjs/components/DropdownSelect/index.js.map +1 -0
  18. package/dist/cjs/components/Icon/custom/ArrowReturnIcon.js +11 -0
  19. package/dist/cjs/components/Icon/custom/ArrowReturnIcon.js.map +1 -0
  20. package/dist/cjs/components/Icon/iconRegistry.js +5 -0
  21. package/dist/cjs/components/Icon/iconRegistry.js.map +1 -1
  22. package/dist/cjs/components/Input/Input.css +45 -8
  23. package/dist/cjs/components/Input/Input.js +14 -3
  24. package/dist/cjs/components/Input/Input.js.map +1 -1
  25. package/dist/cjs/components/Menu/Menu.css +123 -37
  26. package/dist/cjs/components/Menu/Menu.js +283 -25
  27. package/dist/cjs/components/Menu/Menu.js.map +1 -1
  28. package/dist/cjs/components/ProgressTracker/ProgressTracker.css +273 -22
  29. package/dist/cjs/components/ProgressTracker/ProgressTracker.js +109 -9
  30. package/dist/cjs/components/ProgressTracker/ProgressTracker.js.map +1 -1
  31. package/dist/cjs/components/Scrollbar/Scrollbar.css +7 -6
  32. package/dist/cjs/components/index.js +5 -3
  33. package/dist/cjs/components/index.js.map +1 -1
  34. package/dist/esm/components/Combobox/Combobox.css +116 -132
  35. package/dist/esm/components/Combobox/Combobox.js +177 -54
  36. package/dist/esm/components/Combobox/Combobox.js.map +1 -1
  37. package/dist/esm/components/Combobox/index.js +1 -1
  38. package/dist/esm/components/Combobox/index.js.map +1 -1
  39. package/dist/esm/components/DropdownSelect/DropdownSelect.css +225 -0
  40. package/dist/esm/components/DropdownSelect/DropdownSelect.js +102 -0
  41. package/dist/esm/components/DropdownSelect/DropdownSelect.js.map +1 -0
  42. package/dist/esm/components/DropdownSelect/index.js +2 -0
  43. package/dist/esm/components/DropdownSelect/index.js.map +1 -0
  44. package/dist/esm/components/Icon/custom/ArrowReturnIcon.js +7 -0
  45. package/dist/esm/components/Icon/custom/ArrowReturnIcon.js.map +1 -0
  46. package/dist/esm/components/Icon/iconRegistry.js +5 -0
  47. package/dist/esm/components/Icon/iconRegistry.js.map +1 -1
  48. package/dist/esm/components/Input/Input.css +45 -8
  49. package/dist/esm/components/Input/Input.js +14 -3
  50. package/dist/esm/components/Input/Input.js.map +1 -1
  51. package/dist/esm/components/Menu/Menu.css +123 -37
  52. package/dist/esm/components/Menu/Menu.js +284 -26
  53. package/dist/esm/components/Menu/Menu.js.map +1 -1
  54. package/dist/esm/components/ProgressTracker/ProgressTracker.css +273 -22
  55. package/dist/esm/components/ProgressTracker/ProgressTracker.js +110 -10
  56. package/dist/esm/components/ProgressTracker/ProgressTracker.js.map +1 -1
  57. package/dist/esm/components/Scrollbar/Scrollbar.css +7 -6
  58. package/dist/esm/components/index.js +1 -0
  59. package/dist/esm/components/index.js.map +1 -1
  60. package/dist/styles/components/Combobox.css +116 -132
  61. package/dist/styles/components/DropdownSelect.css +225 -0
  62. package/dist/styles/components/Input.css +45 -8
  63. package/dist/styles/components/Menu.css +123 -37
  64. package/dist/styles/components/ProgressTracker.css +273 -22
  65. package/dist/styles/components/Scrollbar.css +7 -6
  66. package/dist/styles/components/Typography.css +89 -0
  67. package/dist/styles/index.css +1285 -605
  68. package/dist/styles/muka-dark.css +1285 -605
  69. package/dist/styles/muka-light.css +1285 -605
  70. package/dist/styles/tokens-bouwplan-dark.css +5 -4
  71. package/dist/styles/tokens-bouwplan-light.css +5 -4
  72. package/dist/styles/tokens-fscl-dark.css +25 -24
  73. package/dist/styles/tokens-fscl-light.css +25 -24
  74. package/dist/styles/tokens-grip-dark.css +4 -3
  75. package/dist/styles/tokens-grip-light.css +4 -3
  76. package/dist/styles/tokens-muka-dark.css +4 -3
  77. package/dist/styles/tokens-muka-light.css +4 -3
  78. package/dist/styles/tokens-wireframe-dark.css +49 -48
  79. package/dist/styles/tokens-wireframe-light.css +49 -48
  80. package/dist/styles/wireframe-dark.css +1330 -650
  81. package/dist/styles/wireframe-light.css +1330 -650
  82. package/dist/types/components/Combobox/Combobox.d.ts +38 -38
  83. package/dist/types/components/Combobox/Combobox.d.ts.map +1 -1
  84. package/dist/types/components/Combobox/index.d.ts +1 -1
  85. package/dist/types/components/Combobox/index.d.ts.map +1 -1
  86. package/dist/types/components/DropdownSelect/DropdownSelect.d.ts +71 -0
  87. package/dist/types/components/DropdownSelect/DropdownSelect.d.ts.map +1 -0
  88. package/dist/types/components/DropdownSelect/index.d.ts +2 -0
  89. package/dist/types/components/DropdownSelect/index.d.ts.map +1 -0
  90. package/dist/types/components/Icon/custom/ArrowReturnIcon.d.ts +9 -0
  91. package/dist/types/components/Icon/custom/ArrowReturnIcon.d.ts.map +1 -0
  92. package/dist/types/components/Icon/iconRegistry.d.ts.map +1 -1
  93. package/dist/types/components/Input/Input.d.ts +5 -0
  94. package/dist/types/components/Input/Input.d.ts.map +1 -1
  95. package/dist/types/components/Menu/Menu.d.ts +42 -2
  96. package/dist/types/components/Menu/Menu.d.ts.map +1 -1
  97. package/dist/types/components/ProgressTracker/ProgressTracker.d.ts +29 -8
  98. package/dist/types/components/ProgressTracker/ProgressTracker.d.ts.map +1 -1
  99. package/dist/types/components/index.d.ts +1 -0
  100. package/dist/types/components/index.d.ts.map +1 -1
  101. package/docs/consumers/README.md +116 -37
  102. package/docs/consumers/brand.md +261 -0
  103. package/docs/consumers/figma-console-mcp.md +116 -0
  104. package/docs/consumers/setup-instructions.md +98 -12
  105. package/docs/consumers/skills.md +79 -0
  106. package/package.json +4 -6
  107. package/scripts/postinstall-nudge.js +8 -4
  108. package/skills/add-brand/SKILL.md +204 -0
  109. package/skills/add-brand/reference.md +160 -0
  110. package/skills/figma-to-code/SKILL.md +127 -0
  111. package/skills/pull-from-figma/SKILL.md +123 -0
  112. package/skills/push-to-figma/SKILL.md +172 -0
  113. package/skills/setup-muka/SKILL.md +73 -13
  114. package/tokens/README.md +39 -17
  115. package/tokens/t2-alias/brand/bouwplan/fonts.json +1 -1
  116. package/tokens/t2-alias/brand/fscl/fonts.json +3 -3
  117. package/tokens/t2-alias/brand/wireframe/fonts.json +2 -2
  118. 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
+ }
@@ -1,6 +1,44 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import './ProgressTracker.css';
3
3
  import { Icon } from '../Icon';
4
+ /** Figma Divider Rounder paths — circle bleeds into the 4px connector. */
5
+ const DIVIDER_ROUNDERS = {
6
+ horizontal: {
7
+ start: {
8
+ width: 5,
9
+ height: 15.4893,
10
+ viewBox: '0 0 5 15.4893',
11
+ d: 'M0 0C0.549963 0.992174 1.00009 2.04813 1.33105 3.15527C1.7646 4.60497 3.01126 5.74512 4.52441 5.74512H5V9.74512H4.52441C3.01126 9.74512 1.7646 10.8853 1.33105 12.335C1.00017 13.4418 0.549773 14.4973 0 15.4893V0Z',
12
+ },
13
+ end: {
14
+ width: 5,
15
+ height: 15.4893,
16
+ viewBox: '0 0 5 15.4893',
17
+ d: 'M5 0C4.45004 0.992174 3.99991 2.04813 3.66895 3.15527C3.2354 4.60497 1.98874 5.74512 0.475586 5.74512H0V9.74512H0.475586C1.98874 9.74512 3.2354 10.8853 3.66895 12.335C3.99983 13.4418 4.45023 14.4973 5 15.4893V0Z',
18
+ },
19
+ },
20
+ vertical: {
21
+ start: {
22
+ width: 16,
23
+ height: 5,
24
+ viewBox: '0 0 16 5',
25
+ d: 'M16 0C14.9751 0.549963 13.8843 1.00009 12.7407 1.33105C11.2432 1.7646 10 3.01126 10 4.52441V5H6V4.52441C6 3.01126 4.75581 1.7646 3.25831 1.33105C2.11494 1.00017 1.02467 0.549773 0 0H16Z',
26
+ },
27
+ end: {
28
+ width: 16,
29
+ height: 5,
30
+ viewBox: '0 0 16 5',
31
+ d: 'M16 5C14.9751 4.45004 13.8843 3.99991 12.7407 3.66895C11.2432 3.2354 10 1.98874 10 0.475586V0H6V0.475586C6 1.98874 4.75581 3.2354 3.25831 3.66895C2.11494 3.99983 1.02467 4.45023 0 5H16Z',
32
+ },
33
+ },
34
+ };
35
+ function DividerRounder({ orientation, edge, status, }) {
36
+ const spec = DIVIDER_ROUNDERS[orientation][edge];
37
+ return (_jsx("svg", { className: `muka-progress-tracker__rounder muka-progress-tracker__rounder--${edge} muka-progress-tracker__rounder--${status}`, width: spec.width, height: spec.height, viewBox: spec.viewBox, fill: "none", "aria-hidden": "true", children: _jsx("path", { d: spec.d, fill: "currentColor" }) }));
38
+ }
39
+ function DividerRounders({ orientation, startStatus, endStatus, }) {
40
+ return (_jsxs(_Fragment, { children: [_jsx(DividerRounder, { orientation: orientation, edge: "start", status: startStatus }), _jsx(DividerRounder, { orientation: orientation, edge: "end", status: endStatus })] }));
41
+ }
4
42
  function getStepStatus(stepIndex, currentStep, totalSteps) {
5
43
  if (currentStep <= 0)
6
44
  return 'upcoming';
@@ -31,12 +69,15 @@ function getConnectorStatus(connectorIndex, currentStep, totalSteps) {
31
69
  /**
32
70
  * ProgressTracker Component
33
71
  *
34
- * A horizontal stepper/progress indicator for multi-step forms.
72
+ * A stepper/progress indicator for multi-step forms.
73
+ * Supports horizontal (default) and vertical orientations.
35
74
  * Shows numbered step indicators connected by progress lines.
36
- * Supports 2–5 steps with past, current, and upcoming states.
75
+ * Supports 2–10 steps with past, current, and upcoming states.
76
+ *
77
+ * Vertical orientation also supports hover and selected interaction states.
37
78
  *
38
79
  * Built using the Muka design token system with support for:
39
- * - Dynamic step counts (2–5)
80
+ * - Dynamic step counts (2–10)
40
81
  * - Step states: past (checkmark), current (number), upcoming (number)
41
82
  * - Animated connector lines showing progress
42
83
  * - Multi-brand theming through design tokens
@@ -44,14 +85,73 @@ function getConnectorStatus(connectorIndex, currentStep, totalSteps) {
44
85
  * Tokens used:
45
86
  * - alias.color.accent.{default|contrast|pressed} — step indicator backgrounds
46
87
  * - color.surface.sunken — upcoming indicator/connector background
88
+ * - color.surface.level1 — vertical hover/selected backgrounds
47
89
  * - color.text.default.{default|inverse} — indicator/label text
48
- * - text.label.{sm|md}.{regular|bold} — typography
49
- * - spacing.4, spacing.7 — layout spacing
90
+ * - text.label.{sm|md}.{regular|bold|semibold} — horizontal typography
91
+ * - text.body.base.regular — vertical label typography
92
+ * - spacing.1, spacing.3, spacing.4, spacing.6, spacing.7 — layout spacing
50
93
  * - border.radius.full — circular indicators
51
94
  */
52
- export const ProgressTracker = ({ steps, currentStep, onStepClick, className = '', }) => {
95
+ export const ProgressTracker = ({ steps, currentStep, orientation = 'horizontal', selectedStep, onStepClick, className = '', }) => {
53
96
  const totalSteps = steps.length;
54
- const rootClasses = ['muka-progress-tracker', className].filter(Boolean).join(' ');
97
+ const isVertical = orientation === 'vertical';
98
+ const rootClasses = [
99
+ 'muka-progress-tracker',
100
+ `muka-progress-tracker--${orientation}`,
101
+ className,
102
+ ].filter(Boolean).join(' ');
103
+ const renderIndicatorContent = (status, stepNumber) => {
104
+ if (status === 'past') {
105
+ return (_jsx(Icon, { name: "check", variant: "fill", size: "sm", className: "muka-progress-tracker__check-icon" }));
106
+ }
107
+ return _jsx("span", { className: "muka-progress-tracker__number", children: stepNumber });
108
+ };
109
+ if (isVertical) {
110
+ return (_jsx("div", { className: rootClasses, role: "group", "aria-label": "Form progress", children: _jsx("div", { className: "muka-progress-tracker__track", children: steps.map((step, index) => {
111
+ const status = getStepStatus(index, currentStep, totalSteps);
112
+ const stepNumber = index + 1;
113
+ const isPast = status === 'past';
114
+ const isCurrent = status === 'current';
115
+ const isLast = index === totalSteps - 1;
116
+ const isSelected = selectedStep === stepNumber;
117
+ const isInteractive = Boolean(onStepClick);
118
+ const stepClasses = [
119
+ 'muka-progress-tracker__step',
120
+ `muka-progress-tracker__step--${status}`,
121
+ isInteractive && 'muka-progress-tracker__step--interactive',
122
+ ].filter(Boolean).join(' ');
123
+ const indicatorClasses = [
124
+ 'muka-progress-tracker__indicator',
125
+ `muka-progress-tracker__indicator--${status}`,
126
+ ].join(' ');
127
+ const labelClasses = [
128
+ 'muka-progress-tracker__label',
129
+ isCurrent && 'muka-progress-tracker__label--current',
130
+ ].filter(Boolean).join(' ');
131
+ const handleClick = isInteractive
132
+ ? () => onStepClick(index)
133
+ : undefined;
134
+ const connectorStatus = !isLast
135
+ ? getConnectorStatus(index, currentStep, totalSteps)
136
+ : null;
137
+ return (_jsxs("div", { className: stepClasses, "data-selected": isSelected ? 'true' : undefined, "aria-current": isCurrent ? 'step' : undefined, onClick: handleClick, role: handleClick ? 'button' : undefined, tabIndex: handleClick ? 0 : undefined, onKeyDown: handleClick
138
+ ? (e) => {
139
+ if (e.key === 'Enter' || e.key === ' ') {
140
+ e.preventDefault();
141
+ handleClick();
142
+ }
143
+ }
144
+ : undefined, "aria-label": isPast
145
+ ? `Step ${stepNumber}: ${step.label} (completed)`
146
+ : isCurrent
147
+ ? `Step ${stepNumber}: ${step.label} (current)`
148
+ : `Step ${stepNumber}: ${step.label}`, children: [connectorStatus && (_jsx("div", { className: [
149
+ 'muka-progress-tracker__connector',
150
+ `muka-progress-tracker__connector--${connectorStatus}`,
151
+ ].join(' '), "aria-hidden": "true", children: _jsx(DividerRounders, { orientation: "vertical", startStatus: status, endStatus: getStepStatus(index + 1, currentStep, totalSteps) }) })), _jsx("div", { className: "muka-progress-tracker__indicator-col", children: _jsx("div", { className: indicatorClasses, children: renderIndicatorContent(status, stepNumber) }) }), _jsx("span", { className: labelClasses, children: step.label })] }, index));
152
+ }) }) }));
153
+ }
154
+ // Horizontal layout (default)
55
155
  return (_jsx("div", { className: rootClasses, role: "group", "aria-label": "Form progress", children: _jsxs("div", { className: "muka-progress-tracker__track", children: [_jsx("div", { className: "muka-progress-tracker__steps", children: steps.map((step, index) => {
56
156
  const status = getStepStatus(index, currentStep, totalSteps);
57
157
  const stepNumber = index + 1;
@@ -83,14 +183,14 @@ export const ProgressTracker = ({ steps, currentStep, onStepClick, className = '
83
183
  ? `Step ${stepNumber}: ${step.label} (completed)`
84
184
  : isCurrent
85
185
  ? `Step ${stepNumber}: ${step.label} (current)`
86
- : `Step ${stepNumber}: ${step.label}`, children: isPast ? (_jsx(Icon, { name: "check", variant: "fill", size: "sm", className: "muka-progress-tracker__check-icon" })) : (_jsx("span", { className: "muka-progress-tracker__number", children: stepNumber })) }), _jsx("span", { className: labelClasses, children: step.label })] }, index));
186
+ : `Step ${stepNumber}: ${step.label}`, children: renderIndicatorContent(status, stepNumber) }), _jsx("span", { className: labelClasses, children: step.label })] }, index));
87
187
  }) }), _jsx("div", { className: "muka-progress-tracker__connectors", children: Array.from({ length: totalSteps - 1 }, (_, index) => {
88
188
  const status = getConnectorStatus(index, currentStep, totalSteps);
89
189
  const connectorClasses = [
90
190
  'muka-progress-tracker__connector',
91
191
  `muka-progress-tracker__connector--${status}`,
92
192
  ].join(' ');
93
- return _jsx("div", { className: connectorClasses, "aria-hidden": "true" }, index);
193
+ return (_jsxs("div", { className: connectorClasses, "aria-hidden": "true", children: [_jsx(DividerRounder, { orientation: "horizontal", edge: "start", status: getStepStatus(index, currentStep, totalSteps) }), _jsx("span", { className: "muka-progress-tracker__connector-line" }), _jsx(DividerRounder, { orientation: "horizontal", edge: "end", status: getStepStatus(index + 1, currentStep, totalSteps) })] }, index));
94
194
  }) })] }) }));
95
195
  };
96
196
  export default ProgressTracker;
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressTracker.js","sourceRoot":"","sources":["../../../../components/ProgressTracker/ProgressTracker.tsx"],"names":[],"mappings":";AACA,OAAO,uBAAuB,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAgC/B,SAAS,aAAa,CAAC,SAAiB,EAAE,WAAmB,EAAE,UAAkB;IAC/E,IAAI,WAAW,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC;IACxC,IAAI,WAAW,GAAG,UAAU;QAAE,OAAO,MAAM,CAAC;IAC5C,mDAAmD;IACnD,MAAM,WAAW,GAAG,WAAW,GAAG,CAAC,CAAC;IACpC,IAAI,SAAS,GAAG,WAAW;QAAE,OAAO,MAAM,CAAC;IAC3C,IAAI,SAAS,KAAK,WAAW;QAAE,OAAO,SAAS,CAAC;IAChD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,kBAAkB,CACzB,cAAsB,EACtB,WAAmB,EACnB,UAAkB;IAElB,IAAI,WAAW,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC;IACxC,IAAI,WAAW,GAAG,UAAU;QAAE,OAAO,MAAM,CAAC;IAE5C,MAAM,WAAW,GAAG,WAAW,GAAG,CAAC,CAAC;IACpC,IAAI,cAAc,GAAG,WAAW,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IACpD,IAAI,cAAc,KAAK,WAAW,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACzD,IAAI,cAAc,KAAK,WAAW;QAAE,OAAO,eAAe,CAAC;IAC3D,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAmC,CAAC,EAC9D,KAAK,EACL,WAAW,EACX,WAAW,EACX,SAAS,GAAG,EAAE,GACf,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;IAEhC,MAAM,WAAW,GAAG,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEnF,OAAO,CACL,cACE,SAAS,EAAE,WAAW,EACtB,IAAI,EAAC,OAAO,gBACD,eAAe,YAE1B,eAAK,SAAS,EAAC,8BAA8B,aAE3C,cAAK,SAAS,EAAC,8BAA8B,YAC1C,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;wBACzB,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;wBAC7D,MAAM,UAAU,GAAG,KAAK,GAAG,CAAC,CAAC;wBAC7B,MAAM,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC;wBACjC,MAAM,SAAS,GAAG,MAAM,KAAK,SAAS,CAAC;wBAEvC,MAAM,WAAW,GAAG;4BAClB,6BAA6B;4BAC7B,gCAAgC,MAAM,EAAE;yBACzC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAEZ,MAAM,gBAAgB,GAAG;4BACvB,kCAAkC;4BAClC,qCAAqC,MAAM,EAAE;yBAC9C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAEZ,MAAM,YAAY,GAAG;4BACnB,8BAA8B;4BAC9B,SAAS,IAAI,uCAAuC;yBACrD,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAE5B,MAAM,WAAW,GAAG,MAAM,IAAI,WAAW;4BACvC,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;4BAC1B,CAAC,CAAC,SAAS,CAAC;wBAEd,OAAO,CACL,eAEE,SAAS,EAAE,WAAW,kBACR,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,aAE5C,cACE,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EACxC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EACrC,SAAS,EACP,WAAW;wCACT,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;4CACJ,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gDACvC,CAAC,CAAC,cAAc,EAAE,CAAC;gDACnB,WAAW,EAAE,CAAC;4CAChB,CAAC;wCACH,CAAC;wCACH,CAAC,CAAC,SAAS,gBAGb,MAAM;wCACJ,CAAC,CAAC,QAAQ,UAAU,KAAK,IAAI,CAAC,KAAK,cAAc;wCACjD,CAAC,CAAC,SAAS;4CACT,CAAC,CAAC,QAAQ,UAAU,KAAK,IAAI,CAAC,KAAK,YAAY;4CAC/C,CAAC,CAAC,QAAQ,UAAU,KAAK,IAAI,CAAC,KAAK,EAAE,YAG1C,MAAM,CAAC,CAAC,CAAC,CACR,KAAC,IAAI,IAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,mCAAmC,GAAG,CAC7F,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,+BAA+B,YAAE,UAAU,GAAQ,CACpE,GACG,EACN,eAAM,SAAS,EAAE,YAAY,YAAG,IAAI,CAAC,KAAK,GAAQ,KAjC7C,KAAK,CAkCN,CACP,CAAC;oBACJ,CAAC,CAAC,GACE,EAGN,cAAK,SAAS,EAAC,mCAAmC,YAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;wBACnD,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;wBAClE,MAAM,gBAAgB,GAAG;4BACvB,kCAAkC;4BAClC,qCAAqC,MAAM,EAAE;yBAC9C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAEZ,OAAO,cAAiB,SAAS,EAAE,gBAAgB,iBAAc,MAAM,IAAtD,KAAK,CAAoD,CAAC;oBAC7E,CAAC,CAAC,GACE,IACF,GACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"ProgressTracker.js","sourceRoot":"","sources":["../../../../components/ProgressTracker/ProgressTracker.tsx"],"names":[],"mappings":"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"}
@@ -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 {
@@ -10,6 +10,7 @@ export { Icon } from './Icon';
10
10
  export { Chip } from './Chip';
11
11
  export { Divider } from './Divider';
12
12
  export { Select } from './Select';
13
+ export { DropdownSelect, } from './DropdownSelect';
13
14
  export { Tabs, TabList, Tab, TabPanel } from './Tabs';
14
15
  export { Radio } from './Radio';
15
16
  export { Checkbox } from './Checkbox';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../components/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../components/index.ts"],"names":[],"mappings":"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"}