@recursica/mui-adapter 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 (54) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/SETUP.md +1 -1
  3. package/dist/mui-adapter.cjs +172 -23
  4. package/dist/mui-adapter.cjs.map +1 -1
  5. package/dist/mui-adapter.css +1 -1
  6. package/dist/mui-adapter.js +12963 -4694
  7. package/dist/mui-adapter.js.map +1 -1
  8. package/dist/src/components/Tree/Tree.d.ts +9 -5
  9. package/llms.txt +2 -0
  10. package/package.json +6 -1
  11. package/src/components/Accordion/Accordion.module.css +98 -62
  12. package/src/components/Autocomplete/Autocomplete.module.css +50 -47
  13. package/src/components/Autocomplete/Autocomplete.tsx +2 -2
  14. package/src/components/Avatar/Avatar.module.css +7 -7
  15. package/src/components/Badge/Badge.module.css +8 -8
  16. package/src/components/Button/Button.module.css +25 -43
  17. package/src/components/Card/Card.module.css +3 -3
  18. package/src/components/Checkbox/Checkbox.module.css +57 -16
  19. package/src/components/Chip/Chip.module.css +32 -20
  20. package/src/components/Dropdown/Dropdown.module.css +47 -44
  21. package/src/components/Dropdown/Dropdown.tsx +2 -2
  22. package/src/components/FormControlWrapper/FormControlWrapper.module.css +12 -12
  23. package/src/components/HoverCard/HoverCard.module.css +1 -1
  24. package/src/components/Label/Label.module.css +20 -3
  25. package/src/components/Layer/USAGE.md +50 -0
  26. package/src/components/Link/Link.module.css +18 -71
  27. package/src/components/Loader/Loader.module.css +3 -3
  28. package/src/components/Menu/Menu.module.css +33 -41
  29. package/src/components/Modal/Modal.module.css +27 -11
  30. package/src/components/NumberInput/NumberInput.module.css +39 -37
  31. package/src/components/NumberInput/NumberInput.tsx +2 -2
  32. package/src/components/Pagination/Pagination.module.css +10 -43
  33. package/src/components/Panel/Panel.module.css +3 -3
  34. package/src/components/Radio/Radio.module.css +32 -15
  35. package/src/components/ReadOnlyField/ReadOnlyField.module.css +1 -1
  36. package/src/components/RecursicaThemeProvider/USAGE.md +60 -0
  37. package/src/components/SegmentedControl/SegmentedControl.module.css +37 -29
  38. package/src/components/Slider/Slider.module.css +51 -35
  39. package/src/components/Stepper/Stepper.module.css +3 -3
  40. package/src/components/Switch/Switch.module.css +27 -11
  41. package/src/components/Tabs/Tabs.module.css +309 -166
  42. package/src/components/TextArea/TextArea.module.css +36 -21
  43. package/src/components/TextArea/TextArea.tsx +2 -2
  44. package/src/components/TextField/TextField.module.css +38 -33
  45. package/src/components/TextField/TextField.tsx +2 -2
  46. package/src/components/Timeline/IMPLEMENTATION_NOTES.md +5 -0
  47. package/src/components/Timeline/Timeline.module.css +35 -34
  48. package/src/components/Toast/Toast.module.css +24 -11
  49. package/src/components/Tooltip/Tooltip.module.css +4 -2
  50. package/src/components/Tree/IMPLEMENTATION_NOTES.md +21 -0
  51. package/src/components/Tree/Tree.module.css +204 -39
  52. package/src/components/Tree/Tree.stories.tsx +81 -4
  53. package/src/components/Tree/Tree.tsx +214 -13
  54. package/src/components/Tree/USAGE.md +40 -3
@@ -1,16 +1,17 @@
1
1
  /* EXEMPTIONS:
2
- - colors_selected-item_supporting-text-color is ignored because selected menu items do not render
3
- supporting secondary text, making selected state overrides for supporting text colors obsolete. */
4
- /* recursica-ignore: --recursica_ui-kit_components_menu-item_properties_colors_selected-item_supporting-text-color */
2
+ - colors_supporting-text-color (selected variant) is ignored because selected menu items do not render
3
+ supporting secondary text, making the selected-state override for supporting text colors obsolete. */
4
+ /* recursica-ignore: --recursica_ui-kit_components_menu-item_variants_selection-states_selected_properties_colors_supporting-text-color */
5
5
 
6
6
  /* HARDCODED VALUES:
7
7
  - border-style: solid. Structural rendering rule for the dropdown border (Mantine uses Paper which may not set border natively).
8
- - opacity: 0.5 on disabled items. Recursica has no dedicated disabled-opacity token for menu items.
9
8
  - NOTE: overflow is intentionally NOT set on .dropdown. Mantine renders sub-menu dropdowns
10
9
  inside the parent dropdown DOM tree using Floating UI absolute positioning. Setting
11
10
  overflow: hidden clips sub-menus; overflow-y: auto causes unwanted scrollbars.
12
11
  - All structural layout (flex, cursor, pointer-events on disabled) is deferred to Mantine's
13
12
  native behavior. We only override visual design tokens (colors, typography, spacing, borders).
13
+ - Hover overlay: the schema no longer provides per-item hover-color/hover-opacity tokens; the
14
+ overlay now uses the generic --recursica_brand_states_hover_* tokens shared across components.
14
15
  */
15
16
 
16
17
  /* ======================================
@@ -19,7 +20,7 @@
19
20
 
20
21
  .dropdown {
21
22
  background-color: var(
22
- --recursica_ui-kit_components_menu_properties_colors_background
23
+ --recursica_ui-kit_components_menu_properties_colors_background-color
23
24
  );
24
25
  border-style: solid; /* HARDCODE: Mantine Paper does not set border-style natively */
25
26
  border-width: var(--recursica_ui-kit_components_menu_properties_border-size);
@@ -34,10 +35,7 @@
34
35
  min-width: var(--recursica_ui-kit_components_menu_properties_min-width);
35
36
  max-height: var(--recursica_ui-kit_components_menu_properties_max-height);
36
37
  max-width: var(--recursica_ui-kit_components_menu_properties_max-width);
37
-
38
- /* HARDCODE: Figma UI Kit does not export padding tokens for the Menu container itself.
39
- If added in the future, it would be mapped here. */
40
- padding: 8px;
38
+ padding: var(--recursica_ui-kit_components_menu_properties_padding);
41
39
  }
42
40
 
43
41
  /* ======================================
@@ -55,6 +53,7 @@
55
53
  border-radius: var(
56
54
  --recursica_ui-kit_components_menu-item_properties_border-radius
57
55
  );
56
+ margin-bottom: var(--recursica_ui-kit_components_menu_properties_item-gap);
58
57
 
59
58
  /* Typography */
60
59
  font-family: var(
@@ -84,22 +83,27 @@
84
83
 
85
84
  /* Default State: Unselected */
86
85
  background-color: var(
87
- --recursica_ui-kit_components_menu-item_properties_colors_unselected-item_background
86
+ --recursica_ui-kit_components_menu-item_variants_selection-states_unselected_properties_colors_background-color
88
87
  );
89
88
  color: var(
90
- --recursica_ui-kit_components_menu-item_properties_colors_unselected-item_text
89
+ --recursica_ui-kit_components_menu-item_variants_selection-states_unselected_properties_colors_text-color
91
90
  );
92
91
  opacity: 1;
93
92
  }
93
+ .item:last-of-type {
94
+ margin-bottom: 0;
95
+ }
94
96
 
95
97
  /* Override Mantine's native hover background to use our overlay technique */
96
98
  .item:hover {
97
99
  background-color: var(
98
- --recursica_ui-kit_components_menu-item_properties_colors_unselected-item_background
100
+ --recursica_ui-kit_components_menu-item_variants_selection-states_unselected_properties_colors_background-color
99
101
  );
100
102
  }
101
103
 
102
- /* Hover overlay using ::after pseudo-element (same technique as Accordion) */
104
+ /* Hover overlay using ::after pseudo-element (same technique as Accordion); no per-item
105
+ hover-color/hover-opacity tokens exist anymore, so this uses the generic overlay tokens
106
+ uniformly regardless of selection state. */
103
107
  .item::after {
104
108
  content: "";
105
109
  position: absolute;
@@ -107,58 +111,46 @@
107
111
  border-radius: inherit;
108
112
  z-index: 0;
109
113
  pointer-events: none;
110
- background-color: var(
111
- --recursica_ui-kit_components_menu-item_properties_colors_unselected-item_hover-color
112
- );
114
+ background-color: var(--recursica_brand_states_hover_color);
113
115
  opacity: 0;
114
116
  transition: opacity 150ms ease;
115
117
  }
116
118
 
117
119
  .item:hover:not([data-disabled])::after {
118
- opacity: var(
119
- --recursica_ui-kit_components_menu-item_properties_colors_unselected-item_hover-opacity
120
- );
120
+ opacity: var(--recursica_brand_states_hover_opacity);
121
121
  }
122
122
 
123
123
  /* Selected item state */
124
124
  .item[data-selected] {
125
125
  background-color: var(
126
- --recursica_ui-kit_components_menu-item_properties_colors_selected-item_background
126
+ --recursica_ui-kit_components_menu-item_variants_selection-states_selected_properties_colors_background-color
127
127
  );
128
128
  color: var(
129
- --recursica_ui-kit_components_menu-item_properties_colors_selected-item_text
129
+ --recursica_ui-kit_components_menu-item_variants_selection-states_selected_properties_colors_text-color
130
130
  );
131
131
  opacity: 1;
132
132
  }
133
133
 
134
- .item[data-selected]::after {
135
- background-color: var(
136
- --recursica_ui-kit_components_menu-item_properties_colors_selected-item_hover-color
137
- );
138
- }
139
-
140
134
  /* Hovered item state (keyboard navigation) */
141
135
  .item[data-hovered] {
142
136
  background-color: var(
143
- --recursica_ui-kit_components_menu-item_properties_colors_unselected-item_background
137
+ --recursica_ui-kit_components_menu-item_variants_selection-states_unselected_properties_colors_background-color
144
138
  );
145
139
  }
146
140
  .item[data-hovered]::after {
147
- opacity: var(
148
- --recursica_ui-kit_components_menu-item_properties_colors_unselected-item_hover-opacity
149
- );
141
+ opacity: var(--recursica_brand_states_hover_opacity);
150
142
  }
151
143
 
152
- .item[data-hovered][data-selected]::after {
144
+ /* Disabled item (opacity differs depending on selection state) */
145
+ .item[data-disabled]:not([data-selected]) {
153
146
  opacity: var(
154
- --recursica_ui-kit_components_menu-item_properties_colors_selected-item_hover-opacity
147
+ --recursica_ui-kit_components_menu-item_variants_selection-states_unselected_variants_states_disabled_properties_opacity
155
148
  );
156
149
  }
157
150
 
158
- /* Disabled item */
159
- .item[data-disabled] {
151
+ .item[data-disabled][data-selected] {
160
152
  opacity: var(
161
- --recursica_ui-kit_components_menu-item_properties_disabled-opacity
153
+ --recursica_ui-kit_components_menu-item_variants_selection-states_selected_variants_states_disabled_properties_opacity
162
154
  );
163
155
  }
164
156
 
@@ -192,7 +184,7 @@
192
184
  --recursica_ui-kit_components_menu-item_properties_icon-text-gap
193
185
  );
194
186
  color: var(
195
- --recursica_ui-kit_components_menu-item_properties_colors_unselected-item_leading-icon-color
187
+ --recursica_ui-kit_components_menu-item_variants_selection-states_unselected_properties_colors_leading-icon-color
196
188
  );
197
189
  }
198
190
 
@@ -205,19 +197,19 @@
205
197
  );
206
198
  margin-left: var(--recursica_ui-kit_components_menu-item_properties_text-gap);
207
199
  color: var(
208
- --recursica_ui-kit_components_menu-item_properties_colors_unselected-item_trailing-icon-color
200
+ --recursica_ui-kit_components_menu-item_variants_selection-states_unselected_properties_colors_trailing-icon-color
209
201
  );
210
202
  }
211
203
 
212
204
  .item[data-selected] .itemSection[data-position="left"] {
213
205
  color: var(
214
- --recursica_ui-kit_components_menu-item_properties_colors_selected-item_leading-icon-color
206
+ --recursica_ui-kit_components_menu-item_variants_selection-states_selected_properties_colors_leading-icon-color
215
207
  );
216
208
  }
217
209
 
218
210
  .item[data-selected] .itemSection[data-position="right"] {
219
211
  color: var(
220
- --recursica_ui-kit_components_menu-item_properties_colors_selected-item_trailing-icon-color
212
+ --recursica_ui-kit_components_menu-item_variants_selection-states_selected_properties_colors_trailing-icon-color
221
213
  );
222
214
  }
223
215
 
@@ -271,7 +263,7 @@
271
263
  );
272
264
 
273
265
  color: var(
274
- --recursica_ui-kit_components_menu-item_properties_colors_unselected-item_supporting-text-color
266
+ --recursica_ui-kit_components_menu-item_variants_selection-states_unselected_properties_colors_supporting-text-color
275
267
  );
276
268
  opacity: 0.7;
277
269
  }
@@ -1,9 +1,13 @@
1
1
  /* EXEMPTIONS:
2
- - content-style and header-style parent variables represent raw JSON styling objects rather than
2
+ - content-style and header-style parent variables represent raw JSON styling objects rather than
3
3
  direct CSS variables and cannot be applied directly in standard CSS files.
4
- Sub-properties are fully and individually mapped to elements natively. */
4
+ Sub-properties are fully and individually mapped to elements natively.
5
+ - header/footer background-color are ignored because .header/.footer are intentionally
6
+ transparent (inheriting .content's background), matching Panel's header/footer treatment. */
5
7
  /* recursica-ignore: --recursica_ui-kit_components_modal_properties_content-style */
6
8
  /* recursica-ignore: --recursica_ui-kit_components_modal_properties_header-style */
9
+ /* recursica-ignore: --recursica_ui-kit_components_modal_properties_colors_footer-background-color */
10
+ /* recursica-ignore: --recursica_ui-kit_components_modal_properties_colors_header-background-color */
7
11
 
8
12
  .root {
9
13
  }
@@ -37,7 +41,7 @@
37
41
 
38
42
  /* Appearance */
39
43
  background-color: var(
40
- --recursica_ui-kit_components_modal_properties_colors_background
44
+ --recursica_ui-kit_components_modal_properties_colors_content-background-color
41
45
  );
42
46
  box-shadow: var(--recursica_ui-kit_components_modal_properties_elevation);
43
47
 
@@ -47,8 +51,12 @@
47
51
  }
48
52
 
49
53
  .header {
50
- padding: var(--recursica_ui-kit_components_modal_properties_vertical-padding)
51
- var(--recursica_ui-kit_components_modal_properties_horizontal-padding);
54
+ padding: var(
55
+ --recursica_ui-kit_components_modal_properties_header-footer-vertical-padding
56
+ )
57
+ var(
58
+ --recursica_ui-kit_components_modal_properties_header-footer-horizontal-padding
59
+ );
52
60
  background-color: transparent; /* Inherit from content */
53
61
  }
54
62
 
@@ -93,8 +101,12 @@
93
101
  }
94
102
 
95
103
  .scrollArea {
96
- padding: var(--recursica_ui-kit_components_modal_properties_vertical-padding)
97
- var(--recursica_ui-kit_components_modal_properties_horizontal-padding);
104
+ padding: var(
105
+ --recursica_ui-kit_components_modal_properties_content-vertical-padding
106
+ )
107
+ var(
108
+ --recursica_ui-kit_components_modal_properties_content-horizontal-padding
109
+ );
98
110
 
99
111
  /* Internal scrolling */
100
112
  flex: 1 1 auto;
@@ -137,11 +149,11 @@
137
149
  /* Smooth divider transitions */
138
150
  transition: border-color 0.15s ease;
139
151
  border-top: var(
140
- --recursica_ui-kit_components_modal_properties_scroll-divider-thickness
152
+ --recursica_ui-kit_components_modal_properties_scroll-divider-size
141
153
  )
142
154
  solid transparent;
143
155
  border-bottom: var(
144
- --recursica_ui-kit_components_modal_properties_scroll-divider-thickness
156
+ --recursica_ui-kit_components_modal_properties_scroll-divider-size
145
157
  )
146
158
  solid transparent;
147
159
  }
@@ -159,8 +171,12 @@
159
171
  }
160
172
 
161
173
  .footer {
162
- padding: var(--recursica_ui-kit_components_modal_properties_vertical-padding)
163
- var(--recursica_ui-kit_components_modal_properties_horizontal-padding);
174
+ padding: var(
175
+ --recursica_ui-kit_components_modal_properties_header-footer-vertical-padding
176
+ )
177
+ var(
178
+ --recursica_ui-kit_components_modal_properties_header-footer-horizontal-padding
179
+ );
164
180
  background-color: transparent;
165
181
  display: flex;
166
182
  justify-content: flex-end;
@@ -1,23 +1,36 @@
1
1
  /* EXEMPTIONS:
2
- - state-specific border-size variables are ignored because the input box uses a uniform static boundary to prevent
3
- unexpected layout shifts or flickering when switching between active, focused, or error states. */
4
- /* recursica-ignore: --recursica_ui-kit_components_number-input_variants_states_default_properties_border-size */
2
+ - border-size variables are ignored because the input box uses a uniform static boundary to prevent
3
+ unexpected layout shifts or flickering when switching between focused, disabled, or error states. */
4
+ /* recursica-ignore: --recursica_ui-kit_components_number-input_properties_border-size */
5
5
  /* recursica-ignore: --recursica_ui-kit_components_number-input_variants_states_disabled_properties_border-size */
6
6
  /* recursica-ignore: --recursica_ui-kit_components_number-input_variants_states_error_properties_border-size */
7
- /* recursica-ignore: --recursica_ui-kit_components_number-input_variants_states_focus_properties_border-size */
8
7
 
9
8
  /* LAYOUT SPACING OVERRIDES:
10
- - Sets the --form-control-margin-bottom spacing hook to map component-specific layout tokens. */
9
+ - Sets the --form-control-margin-bottom spacing hook to map component-specific layout tokens.
10
+ - Also sets the --number-input-control-{max,min}-width hooks consumed inline in NumberInput.tsx,
11
+ since the token schema no longer provides a single layout-agnostic min/max width. */
11
12
  .layoutOverride {
12
13
  --form-control-margin-bottom: var(
13
14
  --recursica_ui-kit_components_number-input_variants_layouts_stacked_properties_top-bottom-margin
14
15
  );
16
+ --number-input-control-max-width: var(
17
+ --recursica_ui-kit_components_number-input_variants_layouts_stacked_properties_max-width
18
+ );
19
+ --number-input-control-min-width: var(
20
+ --recursica_ui-kit_components_number-input_variants_layouts_stacked_properties_min-width
21
+ );
15
22
  }
16
23
 
17
24
  .layoutOverride[data-form-layout="side-by-side"] {
18
25
  --form-control-margin-bottom: var(
19
26
  --recursica_ui-kit_components_number-input_variants_layouts_side-by-side_properties_top-bottom-margin
20
27
  );
28
+ --number-input-control-max-width: var(
29
+ --recursica_ui-kit_components_number-input_variants_layouts_side-by-side_properties_max-width
30
+ );
31
+ --number-input-control-min-width: var(
32
+ --recursica_ui-kit_components_number-input_variants_layouts_side-by-side_properties_min-width
33
+ );
21
34
  }
22
35
 
23
36
  /* HARDCODED VALUES:
@@ -109,13 +122,13 @@
109
122
 
110
123
  /* Base State Default Execution */
111
124
  background-color: var(
112
- --recursica_ui-kit_components_number-input_variants_states_default_properties_colors_background
125
+ --recursica_ui-kit_components_number-input_properties_colors_background-color
113
126
  );
114
127
  border-color: var(
115
- --recursica_ui-kit_components_number-input_variants_states_default_properties_colors_border-color
128
+ --recursica_ui-kit_components_number-input_properties_colors_border-color
116
129
  );
117
130
  color: var(
118
- --recursica_ui-kit_components_number-input_variants_states_default_properties_colors_text
131
+ --recursica_ui-kit_components_number-input_properties_colors_text-color
119
132
  );
120
133
 
121
134
  outline: none;
@@ -162,13 +175,13 @@
162
175
  width: var(--recursica_ui-kit_components_number-input_properties_icon-size);
163
176
  height: var(--recursica_ui-kit_components_number-input_properties_icon-size);
164
177
  color: var(
165
- --recursica_ui-kit_components_number-input_variants_states_default_properties_colors_leading-icon
178
+ --recursica_ui-kit_components_number-input_properties_colors_leading-icon
166
179
  );
167
180
  }
168
181
 
169
182
  .section[data-position="right"] :global(svg) {
170
183
  color: var(
171
- --recursica_ui-kit_components_number-input_variants_states_default_properties_colors_trailing-icon
184
+ --recursica_ui-kit_components_number-input_properties_colors_trailing-icon
172
185
  );
173
186
  }
174
187
 
@@ -188,7 +201,7 @@
188
201
  border: none;
189
202
  background: transparent;
190
203
  color: var(
191
- --recursica_ui-kit_components_number-input_variants_states_default_properties_colors_trailing-icon
204
+ --recursica_ui-kit_components_number-input_properties_colors_trailing-icon
192
205
  );
193
206
  }
194
207
 
@@ -201,30 +214,16 @@
201
214
  -------------------------------------- */
202
215
 
203
216
  /* Focus State Mapping (Triggered internally via browser pseudo-pseudo-class) */
217
+ /* The token schema no longer provides per-component focus colors; apply the generic focus ring
218
+ tokens as a box-shadow ring instead of a color swap. */
204
219
  .input:focus-within,
205
220
  .input:focus {
206
- border-color: var(
207
- --recursica_ui-kit_components_number-input_variants_states_focus_properties_colors_border-color
208
- );
209
- background-color: var(
210
- --recursica_ui-kit_components_number-input_variants_states_focus_properties_colors_background
211
- );
212
- color: var(
213
- --recursica_ui-kit_components_number-input_variants_states_focus_properties_colors_text
214
- );
215
- }
216
-
217
- .root:focus-within .section[data-position="left"] :global(svg) {
218
- color: var(
219
- --recursica_ui-kit_components_number-input_variants_states_focus_properties_colors_leading-icon
220
- );
221
- }
222
-
223
- .root:focus-within .section[data-position="right"] :global(svg),
224
- .root:focus-within .control {
225
- color: var(
226
- --recursica_ui-kit_components_number-input_variants_states_focus_properties_colors_trailing-icon
227
- );
221
+ box-shadow:
222
+ 0 0 0 var(--recursica_brand_states_focus_border-size)
223
+ var(--recursica_brand_states_focus_color),
224
+ 0 0 var(--recursica_brand_states_focus_blur)
225
+ var(--recursica_brand_states_focus_margin)
226
+ var(--recursica_brand_states_focus_color);
228
227
  }
229
228
 
230
229
  /* Error State Mapping (Propagated strictly down from the wrapper DOM context) */
@@ -233,10 +232,10 @@
233
232
  --recursica_ui-kit_components_number-input_variants_states_error_properties_colors_border-color
234
233
  ) !important;
235
234
  background-color: var(
236
- --recursica_ui-kit_components_number-input_variants_states_error_properties_colors_background
235
+ --recursica_ui-kit_components_number-input_variants_states_error_properties_colors_background-color
237
236
  ) !important;
238
237
  color: var(
239
- --recursica_ui-kit_components_number-input_variants_states_error_properties_colors_text
238
+ --recursica_ui-kit_components_number-input_variants_states_error_properties_colors_text-color
240
239
  ) !important;
241
240
  }
242
241
 
@@ -259,10 +258,13 @@
259
258
  --recursica_ui-kit_components_number-input_variants_states_disabled_properties_colors_border-color
260
259
  ) !important;
261
260
  background-color: var(
262
- --recursica_ui-kit_components_number-input_variants_states_disabled_properties_colors_background
261
+ --recursica_ui-kit_components_number-input_variants_states_disabled_properties_colors_background-color
263
262
  ) !important;
264
263
  color: var(
265
- --recursica_ui-kit_components_number-input_variants_states_disabled_properties_colors_text
264
+ --recursica_ui-kit_components_number-input_variants_states_disabled_properties_colors_text-color
265
+ ) !important;
266
+ opacity: var(
267
+ --recursica_ui-kit_components_number-input_variants_states_disabled_properties_opacity
266
268
  ) !important;
267
269
  cursor: not-allowed;
268
270
  }
@@ -110,8 +110,8 @@ export const NumberInput = forwardRef<HTMLInputElement, NumberInputProps>(
110
110
  <WithReadOnlyWrapper
111
111
  className={wrapperClass}
112
112
  style={style as React.CSSProperties}
113
- controlMaxWidth="var(--recursica_ui-kit_components_number-input_properties_max-width)"
114
- controlMinWidth="var(--recursica_ui-kit_components_number-input_properties_min-width)"
113
+ controlMaxWidth="var(--number-input-control-max-width)"
114
+ controlMinWidth="var(--number-input-control-min-width)"
115
115
  overStyled={overStyled as true}
116
116
  formLayout={formLayout}
117
117
  labelSize={labelSize}
@@ -145,13 +145,13 @@
145
145
  --recursica_ui-kit_components_button_variants_styles_outline_properties_elevation
146
146
  );
147
147
  background-color: var(
148
- --recursica_ui-kit_components_button_variants_styles_outline_properties_colors_background
148
+ --recursica_ui-kit_components_button_variants_styles_outline_properties_colors_background-color
149
149
  );
150
150
  border-color: var(
151
151
  --recursica_ui-kit_components_button_variants_styles_outline_properties_colors_border-color
152
152
  );
153
153
  color: var(
154
- --recursica_ui-kit_components_button_variants_styles_outline_properties_colors_text
154
+ --recursica_ui-kit_components_button_variants_styles_outline_properties_colors_text-color
155
155
  );
156
156
  }
157
157
 
@@ -160,13 +160,8 @@
160
160
  cursor: not-allowed;
161
161
  }
162
162
 
163
- .control:hover:not(:disabled) {
164
- color: var(
165
- --recursica_ui-kit_components_button_variants_styles_outline_properties_colors_text-hover
166
- );
167
- }
168
-
169
- /* Hover Overlay */
163
+ /* Hover Overlay: no per-variant hover-color/hover-opacity tokens exist anymore; use the
164
+ generic overlay tokens shared across components (same as Button). */
170
165
  .control::after {
171
166
  content: "";
172
167
  position: absolute;
@@ -176,15 +171,11 @@
176
171
  pointer-events: none;
177
172
  transition: opacity 150ms ease;
178
173
  opacity: 0;
179
- background-color: var(
180
- --recursica_ui-kit_components_button_variants_sizes_default_properties_hover-color
181
- );
174
+ background-color: var(--recursica_brand_states_hover_color);
182
175
  }
183
176
 
184
177
  .control:hover:not(:disabled)::after {
185
- opacity: var(
186
- --recursica_ui-kit_components_button_variants_sizes_default_properties_hover-opacity
187
- );
178
+ opacity: var(--recursica_brand_states_hover_opacity);
188
179
  }
189
180
 
190
181
  /* Active Style: Solid */
@@ -196,19 +187,13 @@
196
187
  --recursica_ui-kit_components_button_variants_styles_solid_properties_elevation
197
188
  );
198
189
  background-color: var(
199
- --recursica_ui-kit_components_button_variants_styles_solid_properties_colors_background
190
+ --recursica_ui-kit_components_button_variants_styles_solid_properties_colors_background-color
200
191
  );
201
192
  border-color: var(
202
193
  --recursica_ui-kit_components_button_variants_styles_solid_properties_colors_border-color
203
194
  );
204
195
  color: var(
205
- --recursica_ui-kit_components_button_variants_styles_solid_properties_colors_text
206
- );
207
- }
208
-
209
- .control[data-active]:hover:not(:disabled) {
210
- color: var(
211
- --recursica_ui-kit_components_button_variants_styles_solid_properties_colors_text-hover
196
+ --recursica_ui-kit_components_button_variants_styles_solid_properties_colors_text-color
212
197
  );
213
198
  }
214
199
 
@@ -221,13 +206,13 @@
221
206
  --recursica_ui-kit_components_button_variants_styles_text_properties_elevation
222
207
  );
223
208
  background-color: var(
224
- --recursica_ui-kit_components_button_variants_styles_text_properties_colors_background
209
+ --recursica_ui-kit_components_button_variants_styles_text_properties_colors_background-color
225
210
  );
226
211
  border-color: var(
227
212
  --recursica_ui-kit_components_button_variants_styles_text_properties_colors_border-color
228
213
  );
229
214
  color: var(
230
- --recursica_ui-kit_components_button_variants_styles_text_properties_colors_text
215
+ --recursica_ui-kit_components_button_variants_styles_text_properties_colors_text-color
231
216
  );
232
217
 
233
218
  /* Also explicitly inherit navigation sizes incase they differ from pages */
@@ -246,24 +231,6 @@
246
231
  );
247
232
  }
248
233
 
249
- .control[data-variant="text"]:hover:not(:disabled) {
250
- color: var(
251
- --recursica_ui-kit_components_button_variants_styles_text_properties_colors_text-hover
252
- );
253
- }
254
-
255
- /* Hover Overlay for Navigation */
256
- .control[data-variant="text"]::after {
257
- background-color: var(
258
- --recursica_ui-kit_components_button_variants_sizes_default_properties_hover-color
259
- );
260
- }
261
- .control[data-variant="text"]:hover:not(:disabled)::after {
262
- opacity: var(
263
- --recursica_ui-kit_components_button_variants_sizes_default_properties_hover-opacity
264
- );
265
- }
266
-
267
234
  /* Dots */
268
235
  .dots {
269
236
  display: inline-flex;
@@ -12,7 +12,7 @@
12
12
 
13
13
  .content {
14
14
  background-color: var(
15
- --recursica_ui-kit_components_panel_properties_colors_background
15
+ --recursica_ui-kit_components_panel_properties_colors_background-color
16
16
  );
17
17
  border-style: solid;
18
18
  border-width: var(--recursica_ui-kit_components_panel_properties_border-size);
@@ -43,7 +43,7 @@
43
43
 
44
44
  .header {
45
45
  background-color: var(
46
- --recursica_ui-kit_components_panel_properties_colors_header-footer-background
46
+ --recursica_ui-kit_components_panel_properties_colors_header-background-color
47
47
  );
48
48
  padding: var(
49
49
  --recursica_ui-kit_components_panel_properties_header-footer-vertical-padding
@@ -154,7 +154,7 @@
154
154
 
155
155
  .footer {
156
156
  background-color: var(
157
- --recursica_ui-kit_components_panel_properties_colors_header-footer-background
157
+ --recursica_ui-kit_components_panel_properties_colors_footer-background-color
158
158
  );
159
159
  padding: var(
160
160
  --recursica_ui-kit_components_panel_properties_header-footer-vertical-padding