@recursica/mui-adapter 0.18.1 → 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 (50) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/mui-adapter.cjs +172 -23
  3. package/dist/mui-adapter.cjs.map +1 -1
  4. package/dist/mui-adapter.css +1 -1
  5. package/dist/mui-adapter.js +12963 -4695
  6. package/dist/mui-adapter.js.map +1 -1
  7. package/dist/src/components/Tree/Tree.d.ts +9 -5
  8. package/package.json +6 -1
  9. package/src/components/Accordion/Accordion.module.css +98 -62
  10. package/src/components/Autocomplete/Autocomplete.module.css +50 -47
  11. package/src/components/Autocomplete/Autocomplete.tsx +2 -2
  12. package/src/components/Avatar/Avatar.module.css +7 -7
  13. package/src/components/Badge/Badge.module.css +8 -8
  14. package/src/components/Button/Button.module.css +25 -43
  15. package/src/components/Card/Card.module.css +3 -3
  16. package/src/components/Checkbox/Checkbox.module.css +57 -16
  17. package/src/components/Chip/Chip.module.css +32 -20
  18. package/src/components/Dropdown/Dropdown.module.css +47 -44
  19. package/src/components/Dropdown/Dropdown.tsx +2 -2
  20. package/src/components/FormControlWrapper/FormControlWrapper.module.css +12 -12
  21. package/src/components/HoverCard/HoverCard.module.css +1 -1
  22. package/src/components/Label/Label.module.css +20 -3
  23. package/src/components/Link/Link.module.css +18 -71
  24. package/src/components/Loader/Loader.module.css +3 -3
  25. package/src/components/Menu/Menu.module.css +33 -41
  26. package/src/components/Modal/Modal.module.css +27 -11
  27. package/src/components/NumberInput/NumberInput.module.css +39 -37
  28. package/src/components/NumberInput/NumberInput.tsx +2 -2
  29. package/src/components/Pagination/Pagination.module.css +10 -43
  30. package/src/components/Panel/Panel.module.css +3 -3
  31. package/src/components/Radio/Radio.module.css +32 -15
  32. package/src/components/ReadOnlyField/ReadOnlyField.module.css +1 -1
  33. package/src/components/SegmentedControl/SegmentedControl.module.css +37 -29
  34. package/src/components/Slider/Slider.module.css +51 -35
  35. package/src/components/Stepper/Stepper.module.css +3 -3
  36. package/src/components/Switch/Switch.module.css +27 -11
  37. package/src/components/Tabs/Tabs.module.css +309 -166
  38. package/src/components/TextArea/TextArea.module.css +36 -21
  39. package/src/components/TextArea/TextArea.tsx +2 -2
  40. package/src/components/TextField/TextField.module.css +38 -33
  41. package/src/components/TextField/TextField.tsx +2 -2
  42. package/src/components/Timeline/IMPLEMENTATION_NOTES.md +5 -0
  43. package/src/components/Timeline/Timeline.module.css +35 -34
  44. package/src/components/Toast/Toast.module.css +24 -11
  45. package/src/components/Tooltip/Tooltip.module.css +4 -2
  46. package/src/components/Tree/IMPLEMENTATION_NOTES.md +21 -0
  47. package/src/components/Tree/Tree.module.css +204 -39
  48. package/src/components/Tree/Tree.stories.tsx +81 -4
  49. package/src/components/Tree/Tree.tsx +214 -13
  50. package/src/components/Tree/USAGE.md +40 -3
@@ -4,6 +4,10 @@
4
4
  * - flex-grow: 1; flex-shrink: 0; (Layout control structures)
5
5
  * - transform: translateX(-50%); (Mantine's standard step marks positioning alignment offset)
6
6
  * - outline: none; border-style: solid; (Standard focus reset and border outlines)
7
+ * - Focus ring on thumb/input: the token schema no longer provides per-component focus
8
+ * colors for these (only `active` covers track/step-indicator-color). We apply the generic
9
+ * --recursica_brand_states_focus_* ring tokens (border-size/color/margin/blur) as a box-shadow
10
+ * ring instead of a color swap.
7
11
  */
8
12
 
9
13
  /* ==========================================
@@ -47,9 +51,7 @@
47
51
  flex-shrink: 0;
48
52
  width: var(--recursica_ui-kit_components_slider_properties_icon-size);
49
53
  height: var(--recursica_ui-kit_components_slider_properties_icon-size);
50
- color: var(
51
- --recursica_ui-kit_components_slider_variants_states_default_properties_colors_icon-color
52
- );
54
+ color: var(--recursica_ui-kit_components_slider_properties_colors_icon-color);
53
55
  }
54
56
 
55
57
  /* ==========================================
@@ -72,7 +74,7 @@
72
74
  --recursica_ui-kit_components_slider_properties_track-border-radius
73
75
  );
74
76
  background-color: var(
75
- --recursica_ui-kit_components_slider_variants_states_default_properties_colors_track
77
+ --recursica_ui-kit_components_slider_properties_colors_track
76
78
  );
77
79
  }
78
80
 
@@ -84,7 +86,7 @@
84
86
  --recursica_ui-kit_components_slider_properties_track-border-radius
85
87
  ) !important;
86
88
  background-color: var(
87
- --recursica_ui-kit_components_slider_variants_states_default_properties_colors_track-active
89
+ --recursica_ui-kit_components_slider_properties_colors_track-active
88
90
  ) !important;
89
91
  border: none !important;
90
92
  }
@@ -100,7 +102,7 @@
100
102
  --recursica_ui-kit_components_slider_properties_thumb-elevation
101
103
  );
102
104
  background-color: var(
103
- --recursica_ui-kit_components_slider_variants_states_default_properties_colors_thumb
105
+ --recursica_ui-kit_components_slider_properties_colors_thumb
104
106
  );
105
107
  border: none;
106
108
  cursor: pointer;
@@ -117,13 +119,13 @@
117
119
  .sliderThumb:focus,
118
120
  .sliderThumb:focus-visible {
119
121
  outline: none;
120
- background-color: var(
121
- --recursica_ui-kit_components_slider_variants_states_focus_properties_colors_thumb
122
- );
123
- box-shadow: 0 0 0 2px
124
- var(
125
- --recursica_ui-kit_components_slider_variants_states_focus_properties_colors_track-active
126
- );
122
+ box-shadow:
123
+ var(--recursica_ui-kit_components_slider_properties_thumb-elevation),
124
+ 0 0 0 var(--recursica_brand_states_focus_border-size)
125
+ var(--recursica_brand_states_focus_color),
126
+ 0 0 var(--recursica_brand_states_focus_blur)
127
+ var(--recursica_brand_states_focus_margin)
128
+ var(--recursica_brand_states_focus_color);
127
129
  }
128
130
 
129
131
  .sliderMark {
@@ -138,15 +140,17 @@
138
140
  --recursica_ui-kit_components_slider_properties_step-indicator-border-radius
139
141
  );
140
142
  background-color: var(
141
- --recursica_ui-kit_components_slider_variants_states_default_properties_colors_step-indicator-color
143
+ --recursica_ui-kit_components_slider_properties_colors_step-indicator-color
142
144
  );
143
145
  transform: translateX(-50%);
144
146
  border: none;
145
147
  }
146
148
 
147
149
  .sliderMark[data-filled] {
150
+ /* No default-state "-active" step-indicator token exists anymore (only disabled/error define
151
+ one); reusing the active-track color keeps filled marks visually tied to the filled track. */
148
152
  background-color: var(
149
- --recursica_ui-kit_components_slider_variants_states_default_properties_colors_step-indicator-color-active
153
+ --recursica_ui-kit_components_slider_properties_colors_track-active
150
154
  );
151
155
  }
152
156
 
@@ -282,17 +286,15 @@
282
286
  );
283
287
  border-style: solid;
284
288
  border-width: var(
285
- --recursica_ui-kit_components_slider_variants_states_default_properties_input-border-size
289
+ --recursica_ui-kit_components_slider_properties_input-border-size
286
290
  );
287
291
  border-color: var(
288
- --recursica_ui-kit_components_slider_variants_states_default_properties_colors_input-border-color
292
+ --recursica_ui-kit_components_slider_properties_colors_input-border-color
289
293
  );
290
294
  background-color: var(
291
- --recursica_ui-kit_components_slider_variants_states_default_properties_colors_input-background
292
- );
293
- color: var(
294
- --recursica_ui-kit_components_slider_variants_states_default_properties_colors_input-text
295
+ --recursica_ui-kit_components_slider_properties_colors_input-background-color
295
296
  );
297
+ color: var(--recursica_ui-kit_components_slider_properties_colors_input-text);
296
298
 
297
299
  font-family: var(
298
300
  --recursica_ui-kit_components_slider_properties_input-text_font-family
@@ -339,18 +341,12 @@
339
341
 
340
342
  .inputField:focus {
341
343
  outline: none;
342
- background-color: var(
343
- --recursica_ui-kit_components_slider_variants_states_focus_properties_colors_input-background
344
- );
345
- border-color: var(
346
- --recursica_ui-kit_components_slider_variants_states_focus_properties_colors_input-border-color
347
- );
348
- color: var(
349
- --recursica_ui-kit_components_slider_variants_states_focus_properties_colors_input-text
350
- );
351
- border-width: var(
352
- --recursica_ui-kit_components_slider_variants_states_focus_properties_input-border-size
353
- );
344
+ box-shadow:
345
+ 0 0 0 var(--recursica_brand_states_focus_border-size)
346
+ var(--recursica_brand_states_focus_color),
347
+ 0 0 var(--recursica_brand_states_focus_blur)
348
+ var(--recursica_brand_states_focus_margin)
349
+ var(--recursica_brand_states_focus_color);
354
350
  }
355
351
 
356
352
  /* Chrome, Safari, Edge, Opera: Hide number spin buttons */
@@ -400,6 +396,23 @@
400
396
  6. State-Specific Overrides (Disabled, Error)
401
397
  ========================================== */
402
398
 
399
+ /* Focus states */
400
+ /* The token schema's `active` state (not a separate `focus` state) now covers track/step-indicator
401
+ color while focus is within the slider; there is no `active` override for the filled mark. */
402
+ .sliderRoot:has(.sliderThumb:focus) .sliderTrack,
403
+ .sliderRoot:focus-within .sliderTrack {
404
+ background-color: var(
405
+ --recursica_ui-kit_components_slider_variants_states_active_properties_colors_track
406
+ );
407
+ }
408
+
409
+ .sliderRoot:has(.sliderThumb:focus) .sliderMark,
410
+ .sliderRoot:focus-within .sliderMark {
411
+ background-color: var(
412
+ --recursica_ui-kit_components_slider_variants_states_active_properties_colors_step-indicator-color
413
+ );
414
+ }
415
+
403
416
  /* Disabled state */
404
417
  .sliderContainer[data-disabled="true"] .iconWrapper {
405
418
  color: var(
@@ -441,12 +454,15 @@
441
454
 
442
455
  .sliderContainer[data-disabled="true"] {
443
456
  color: var(--form-field-disabled-text);
457
+ opacity: var(
458
+ --recursica_ui-kit_components_slider_variants_states_disabled_properties_opacity
459
+ );
444
460
  }
445
461
 
446
462
  .inputField:disabled {
447
463
  cursor: not-allowed;
448
464
  background-color: var(
449
- --recursica_ui-kit_components_slider_variants_states_disabled_properties_colors_input-background
465
+ --recursica_ui-kit_components_slider_variants_states_disabled_properties_colors_input-background-color
450
466
  );
451
467
  border-color: var(
452
468
  --recursica_ui-kit_components_slider_variants_states_disabled_properties_colors_input-border-color
@@ -498,7 +514,7 @@
498
514
 
499
515
  .inputField[data-error="true"] {
500
516
  background-color: var(
501
- --recursica_ui-kit_components_slider_variants_states_error_properties_colors_input-background
517
+ --recursica_ui-kit_components_slider_variants_states_error_properties_colors_input-background-color
502
518
  );
503
519
  border-color: var(
504
520
  --recursica_ui-kit_components_slider_variants_states_error_properties_colors_input-border-color
@@ -267,7 +267,7 @@
267
267
  /* Font details are implicitly mapped by sizes, but colors map to states */
268
268
  /* Upcoming State (Pending) - Default */
269
269
  background-color: var(
270
- --recursica_ui-kit_components_stepper_properties_colors_upcoming-indicator-background
270
+ --recursica_ui-kit_components_stepper_properties_colors_upcoming-indicator-background-color
271
271
  );
272
272
  border-color: var(
273
273
  --recursica_ui-kit_components_stepper_properties_colors_upcoming-indicator-border-color
@@ -281,7 +281,7 @@
281
281
  .root .stepIcon.Mui-completed,
282
282
  .root .stepIcon:has(.Mui-completed) {
283
283
  background-color: var(
284
- --recursica_ui-kit_components_stepper_properties_colors_completed-indicator-background
284
+ --recursica_ui-kit_components_stepper_properties_colors_completed-indicator-background-color
285
285
  );
286
286
  border-color: var(
287
287
  --recursica_ui-kit_components_stepper_properties_colors_completed-indicator-border-color
@@ -316,7 +316,7 @@
316
316
  .root .stepIcon.Mui-active,
317
317
  .root .stepIcon:has(.Mui-active) {
318
318
  background-color: var(
319
- --recursica_ui-kit_components_stepper_properties_colors_current-indicator-background
319
+ --recursica_ui-kit_components_stepper_properties_colors_current-indicator-background-color
320
320
  );
321
321
  border-color: var(
322
322
  --recursica_ui-kit_components_stepper_properties_colors_current-indicator-border-color
@@ -25,8 +25,17 @@
25
25
 
26
26
  .root:has(input:disabled) {
27
27
  cursor: not-allowed;
28
+ }
29
+
30
+ /* Track/thumb dim per selection state; label dims via its own (single, state-agnostic) token */
31
+ .root:has(input:checked:disabled) .track {
32
+ opacity: var(
33
+ --recursica_ui-kit_components_switch_variants_selection-states_selected_variants_states_disabled_properties_opacity
34
+ );
35
+ }
36
+ .root:has(input:disabled):not(:has(input:checked)) .track {
28
37
  opacity: var(
29
- --recursica_ui-kit_components_switch-item_properties_disabled-opacity
38
+ --recursica_ui-kit_components_switch_variants_selection-states_unselected_variants_states_disabled_properties_opacity
30
39
  );
31
40
  }
32
41
 
@@ -39,12 +48,12 @@
39
48
  /* HARDCODE: disable native hover color transitions applied by Mantine */
40
49
  .track:hover {
41
50
  background-color: var(
42
- --recursica_ui-kit_components_switch_properties_colors_track-unselected
51
+ --recursica_ui-kit_components_switch_variants_selection-states_unselected_properties_colors_track-color
43
52
  );
44
53
  }
45
54
  .root input:checked + .track:hover {
46
55
  background-color: var(
47
- --recursica_ui-kit_components_switch_properties_colors_track-selected
56
+ --recursica_ui-kit_components_switch_variants_selection-states_selected_properties_colors_track-color
48
57
  );
49
58
  }
50
59
 
@@ -55,7 +64,7 @@
55
64
  --recursica_ui-kit_components_switch_properties_track-border-radius
56
65
  );
57
66
  background-color: var(
58
- --recursica_ui-kit_components_switch_properties_colors_track-unselected
67
+ --recursica_ui-kit_components_switch_variants_selection-states_unselected_properties_colors_track-color
59
68
  );
60
69
  box-shadow: var(
61
70
  --recursica_ui-kit_components_switch_properties_track-elevation
@@ -79,7 +88,7 @@
79
88
 
80
89
  .root input:checked + .track {
81
90
  background-color: var(
82
- --recursica_ui-kit_components_switch_properties_colors_track-selected
91
+ --recursica_ui-kit_components_switch_variants_selection-states_selected_properties_colors_track-color
83
92
  );
84
93
  border-color: transparent;
85
94
  }
@@ -91,7 +100,7 @@
91
100
  --recursica_ui-kit_components_switch_properties_thumb-border-radius
92
101
  );
93
102
  background-color: var(
94
- --recursica_ui-kit_components_switch_properties_colors_thumb-unselected
103
+ --recursica_ui-kit_components_switch_variants_selection-states_unselected_properties_colors_thumb-color
95
104
  );
96
105
  box-shadow: var(
97
106
  --recursica_ui-kit_components_switch_properties_thumb-elevation
@@ -103,7 +112,7 @@
103
112
 
104
113
  .root input:checked + .track .thumb {
105
114
  background-color: var(
106
- --recursica_ui-kit_components_switch_properties_colors_thumb-selected
115
+ --recursica_ui-kit_components_switch_variants_selection-states_selected_properties_colors_thumb-color
107
116
  );
108
117
  }
109
118
 
@@ -114,6 +123,11 @@
114
123
  --recursica_ui-kit_components_switch-item_properties_label-max-width
115
124
  );
116
125
  }
126
+ .root:has(input:disabled) .labelWrapper {
127
+ opacity: var(
128
+ --recursica_ui-kit_components_switch-item_variants_states_disabled_properties_opacity
129
+ );
130
+ }
117
131
 
118
132
  .label {
119
133
  font-family: var(
@@ -140,7 +154,9 @@
140
154
  text-decoration: var(
141
155
  --recursica_ui-kit_components_switch-item_properties_text_text-decoration
142
156
  );
143
- color: var(--recursica_ui-kit_components_switch-item_properties_colors_text);
157
+ color: var(
158
+ --recursica_ui-kit_components_switch-item_properties_colors_text-color
159
+ );
144
160
  cursor: inherit;
145
161
  }
146
162
 
@@ -167,7 +183,7 @@
167
183
  .description[data-disabled="true"],
168
184
  .error[data-disabled="true"] {
169
185
  opacity: var(
170
- --recursica_ui-kit_components_switch-item_properties_disabled-opacity
186
+ --recursica_ui-kit_components_switch-item_variants_states_disabled_properties_opacity
171
187
  );
172
188
  }
173
189
 
@@ -195,7 +211,7 @@
195
211
  opacity: 0;
196
212
  transform: scale(0.5);
197
213
  color: var(
198
- --recursica_ui-kit_components_switch_properties_colors_icon-selected
214
+ --recursica_ui-kit_components_switch_variants_selection-states_selected_properties_colors_icon-color
199
215
  );
200
216
  }
201
217
 
@@ -203,7 +219,7 @@
203
219
  opacity: 1;
204
220
  transform: scale(1);
205
221
  color: var(
206
- --recursica_ui-kit_components_switch_properties_colors_icon-unselected
222
+ --recursica_ui-kit_components_switch_variants_selection-states_unselected_properties_colors_icon-color
207
223
  );
208
224
  }
209
225