@recursica/mantine-adapter 0.35.0 → 0.36.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 (65) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/SETUP.md +1 -1
  3. package/dist/mantine-adapter.cjs +2 -2
  4. package/dist/mantine-adapter.cjs.map +1 -1
  5. package/dist/mantine-adapter.css +1 -1
  6. package/dist/mantine-adapter.js +1385 -1300
  7. package/dist/mantine-adapter.js.map +1 -1
  8. package/dist/src/components/Tree/Tree.d.ts +9 -5
  9. package/dist/src/components/index.d.ts +1 -0
  10. package/dist/src/index.d.ts +1 -0
  11. package/llms.txt +2 -0
  12. package/package.json +1 -1
  13. package/src/components/Accordion/Accordion.module.css +123 -62
  14. package/src/components/Accordion/Accordion.stories.tsx +65 -33
  15. package/src/components/Accordion/Accordion.tsx +1 -0
  16. package/src/components/AutoComplete/AutoComplete.module.css +50 -49
  17. package/src/components/AutoComplete/AutoComplete.tsx +2 -2
  18. package/src/components/Avatar/Avatar.module.css +7 -7
  19. package/src/components/Badge/Badge.module.css +8 -8
  20. package/src/components/Button/Button.module.css +22 -89
  21. package/src/components/Card/Card.module.css +3 -3
  22. package/src/components/Checkbox/Checkbox.module.css +54 -15
  23. package/src/components/Chip/Chip.module.css +27 -26
  24. package/src/components/DatePicker/DatePicker.module.css +25 -30
  25. package/src/components/Dropdown/Dropdown.module.css +47 -44
  26. package/src/components/Dropdown/Dropdown.tsx +2 -2
  27. package/src/components/FormControlWrapper/FormControlWrapper.module.css +12 -12
  28. package/src/components/HoverCard/HoverCard.module.css +1 -1
  29. package/src/components/Label/Label.module.css +7 -3
  30. package/src/components/Layer/USAGE.md +54 -0
  31. package/src/components/Link/IMPLEMENTATION_NOTES.md +2 -9
  32. package/src/components/Link/Link.module.css +15 -76
  33. package/src/components/Link/USAGE.md +2 -9
  34. package/src/components/Loader/Loader.module.css +3 -3
  35. package/src/components/Menu/Menu.module.css +34 -41
  36. package/src/components/Modal/Modal.module.css +27 -11
  37. package/src/components/NumberInput/NumberInput.module.css +39 -37
  38. package/src/components/NumberInput/NumberInput.tsx +2 -2
  39. package/src/components/Pagination/Pagination.module.css +10 -43
  40. package/src/components/Panel/Panel.module.css +3 -3
  41. package/src/components/Popover/Popover.module.css +1 -1
  42. package/src/components/Radio/Radio.module.css +31 -14
  43. package/src/components/ReadOnlyField/ReadOnlyField.module.css +1 -1
  44. package/src/components/RecursicaThemeProvider/USAGE.md +60 -0
  45. package/src/components/SegmentedControl/SegmentedControl.module.css +29 -29
  46. package/src/components/Slider/IMPLEMENTATION_NOTES.md +9 -0
  47. package/src/components/Slider/Slider.module.css +44 -48
  48. package/src/components/Stepper/Stepper.module.css +3 -3
  49. package/src/components/Switch/Switch.module.css +26 -10
  50. package/src/components/Table/Table.module.css +53 -21
  51. package/src/components/Tabs/Tabs.module.css +309 -170
  52. package/src/components/TextArea/TextArea.module.css +36 -21
  53. package/src/components/TextArea/TextArea.tsx +2 -2
  54. package/src/components/TextField/TextField.module.css +38 -35
  55. package/src/components/TextField/TextField.tsx +2 -2
  56. package/src/components/Timeline/Timeline.module.css +41 -34
  57. package/src/components/Toast/Toast.module.css +19 -11
  58. package/src/components/Tooltip/Tooltip.module.css +4 -2
  59. package/src/components/Tree/IMPLEMENTATION_NOTES.md +17 -0
  60. package/src/components/Tree/Tree.module.css +173 -39
  61. package/src/components/Tree/Tree.stories.tsx +81 -4
  62. package/src/components/Tree/Tree.tsx +117 -15
  63. package/src/components/Tree/USAGE.md +36 -3
  64. package/src/components/index.ts +1 -0
  65. package/src/index.ts +3 -0
@@ -103,10 +103,10 @@
103
103
 
104
104
  /* Standard unchecked state */
105
105
  background-color: var(
106
- --recursica_ui-kit_components_checkbox_properties_colors_background-unchecked
106
+ --recursica_ui-kit_components_checkbox_variants_selection-states_unchecked_properties_colors_background-color
107
107
  );
108
108
  border-color: var(
109
- --recursica_ui-kit_components_checkbox_properties_colors_border-unchecked
109
+ --recursica_ui-kit_components_checkbox_variants_selection-states_unchecked_properties_colors_border-color
110
110
  );
111
111
  transition: all 0.2s ease; /* HARDCODE: consider global transition token */
112
112
  }
@@ -115,46 +115,85 @@
115
115
  .input:checked,
116
116
  .inputChecked {
117
117
  background-color: var(
118
- --recursica_ui-kit_components_checkbox_properties_colors_background-checked
118
+ --recursica_ui-kit_components_checkbox_variants_selection-states_checked_properties_colors_background-color
119
119
  );
120
120
  border-color: var(
121
- --recursica_ui-kit_components_checkbox_properties_colors_border-checked
121
+ --recursica_ui-kit_components_checkbox_variants_selection-states_checked_properties_colors_border-color
122
122
  );
123
123
  }
124
124
  .input[data-indeterminate],
125
125
  .inputIndeterminate {
126
126
  background-color: var(
127
- --recursica_ui-kit_components_checkbox_properties_colors_background-indeterminate
127
+ --recursica_ui-kit_components_checkbox_variants_selection-states_indeterminate_properties_colors_background-color
128
128
  );
129
129
  border-color: var(
130
- --recursica_ui-kit_components_checkbox_properties_colors_border-indeterminate
130
+ --recursica_ui-kit_components_checkbox_variants_selection-states_indeterminate_properties_colors_border-color
131
131
  );
132
132
  }
133
133
 
134
- /* Disabled State */
134
+ /* Disabled State (colors now differ per selection state, so each combination is mapped explicitly) */
135
135
  .input:disabled {
136
136
  cursor: not-allowed; /* HARDCODE: disabled state default */
137
+ }
138
+ .input:disabled:not(:checked):not([data-indeterminate]) {
139
+ opacity: var(
140
+ --recursica_ui-kit_components_checkbox_variants_selection-states_unchecked_variants_states_disabled_properties_opacity
141
+ );
142
+ background-color: var(
143
+ --recursica_ui-kit_components_checkbox_variants_selection-states_unchecked_variants_states_disabled_properties_colors_background-color
144
+ );
145
+ border-color: var(
146
+ --recursica_ui-kit_components_checkbox_variants_selection-states_unchecked_variants_states_disabled_properties_colors_border-color
147
+ );
148
+ }
149
+ .input:checked:disabled {
150
+ opacity: var(
151
+ --recursica_ui-kit_components_checkbox_variants_selection-states_checked_variants_states_disabled_properties_opacity
152
+ );
153
+ background-color: var(
154
+ --recursica_ui-kit_components_checkbox_variants_selection-states_checked_variants_states_disabled_properties_colors_background-color
155
+ );
156
+ border-color: var(
157
+ --recursica_ui-kit_components_checkbox_variants_selection-states_checked_variants_states_disabled_properties_colors_border-color
158
+ );
159
+ }
160
+ .input[data-indeterminate]:disabled {
137
161
  opacity: var(
138
- --recursica_ui-kit_components_checkbox_properties_disabled-opacity
162
+ --recursica_ui-kit_components_checkbox_variants_selection-states_indeterminate_variants_states_disabled_properties_opacity
139
163
  );
140
164
  background-color: var(
141
- --recursica_ui-kit_components_checkbox_properties_colors_disabled-background
165
+ --recursica_ui-kit_components_checkbox_variants_selection-states_indeterminate_variants_states_disabled_properties_colors_background-color
142
166
  );
143
167
  border-color: var(
144
- --recursica_ui-kit_components_checkbox_properties_colors_disabled-border
168
+ --recursica_ui-kit_components_checkbox_variants_selection-states_indeterminate_variants_states_disabled_properties_colors_border-color
145
169
  );
146
170
  }
147
171
 
148
172
  .icon {
149
173
  width: var(--recursica_ui-kit_components_checkbox_properties_icon-size);
150
174
  height: var(--recursica_ui-kit_components_checkbox_properties_icon-size);
175
+ }
176
+ /* No icon-color token exists for the unchecked state (no icon is visible then) */
177
+ .input:checked + .icon,
178
+ .inputChecked + .icon {
179
+ color: var(
180
+ --recursica_ui-kit_components_checkbox_variants_selection-states_checked_properties_colors_icon-color
181
+ );
182
+ }
183
+ .input[data-indeterminate] + .icon,
184
+ .inputIndeterminate + .icon {
185
+ color: var(
186
+ --recursica_ui-kit_components_checkbox_variants_selection-states_indeterminate_properties_colors_icon-color
187
+ );
188
+ }
189
+ .input:checked:disabled + .icon {
151
190
  color: var(
152
- --recursica_ui-kit_components_checkbox_properties_colors_icon-color
191
+ --recursica_ui-kit_components_checkbox_variants_selection-states_checked_variants_states_disabled_properties_colors_icon-color
153
192
  );
154
193
  }
155
- .input:disabled + .icon {
194
+ .input[data-indeterminate]:disabled + .icon {
156
195
  color: var(
157
- --recursica_ui-kit_components_checkbox_properties_colors_disabled-icon
196
+ --recursica_ui-kit_components_checkbox_variants_selection-states_indeterminate_variants_states_disabled_properties_colors_icon-color
158
197
  );
159
198
  }
160
199
 
@@ -172,7 +211,7 @@
172
211
  word-wrap: break-word;
173
212
  white-space: normal;
174
213
  color: var(
175
- --recursica_ui-kit_components_checkbox-item_properties_colors_text
214
+ --recursica_ui-kit_components_checkbox-item_properties_colors_text-color
176
215
  );
177
216
  font-family: var(
178
217
  --recursica_ui-kit_components_checkbox-item_properties_text_font-family
@@ -202,7 +241,7 @@
202
241
  .root:has(input:disabled) .label {
203
242
  cursor: not-allowed; /* HARDCODE: disabled interaction */
204
243
  opacity: var(
205
- --recursica_ui-kit_components_checkbox-item_properties_disabled-opacity
244
+ --recursica_ui-kit_components_checkbox-item_variants_states_disabled_properties_opacity
206
245
  );
207
246
  color: var(
208
247
  --recursica_ui-kit_components_checkbox-item_properties_colors_disabled-text
@@ -6,12 +6,13 @@
6
6
  /* recursica-ignore: --recursica_ui-kit_components_chip_properties_close-icon-color */
7
7
  /* recursica-ignore: --recursica_ui-kit_components_chip_properties_leading-icon-color */
8
8
  /* recursica-ignore: --recursica_ui-kit_components_chip_properties_text-size */
9
- /* recursica-ignore: --recursica_ui-kit_components_chip_variants_styles_error_properties_colors_leading-icon-color */
10
- /* recursica-ignore: --recursica_ui-kit_components_chip_variants_styles_error_properties_colors_selected-icon-color */
11
- /* recursica-ignore: --recursica_ui-kit_components_chip_variants_styles_error-selected_properties_colors_icon */
12
- /* recursica-ignore: --recursica_ui-kit_components_chip_variants_styles_error-selected_properties_colors_leading-icon-color */
13
- /* recursica-ignore: --recursica_ui-kit_components_chip_variants_styles_selected_properties_colors_leading-icon-color */
14
- /* recursica-ignore: --recursica_ui-kit_components_chip_variants_styles_unselected_properties_colors_selected-icon-color */
9
+ /* recursica-ignore: --recursica_ui-kit_components_chip_variants_selection-states_unselected_variants_states_error_properties_colors_leading-icon-color */
10
+ /* recursica-ignore: --recursica_ui-kit_components_chip_variants_selection-states_unselected_variants_states_error_properties_colors_selected-icon-color */
11
+ /* recursica-ignore: --recursica_ui-kit_components_chip_variants_selection-states_unselected_variants_states_error_properties_colors_icon-color */
12
+ /* recursica-ignore: --recursica_ui-kit_components_chip_variants_selection-states_selected_variants_states_error_properties_colors_icon-color */
13
+ /* recursica-ignore: --recursica_ui-kit_components_chip_variants_selection-states_selected_variants_states_error_properties_colors_leading-icon-color */
14
+ /* recursica-ignore: --recursica_ui-kit_components_chip_variants_selection-states_selected_properties_colors_leading-icon-color */
15
+ /* recursica-ignore: --recursica_ui-kit_components_chip_variants_selection-states_unselected_properties_colors_selected-icon-color */
15
16
 
16
17
  /* HARDCODED VALUES
17
18
  border-style: solid; (Baseline reset)
@@ -31,19 +32,19 @@
31
32
  /* Token properties */
32
33
  --chip-height: max-content; /* Sizing is driven by padding and line height */
33
34
  --chip-bg: var(
34
- --recursica_ui-kit_components_chip_variants_styles_unselected_properties_colors_background
35
+ --recursica_ui-kit_components_chip_variants_selection-states_unselected_properties_colors_background-color
35
36
  );
36
37
  --chip-border: var(
37
- --recursica_ui-kit_components_chip_variants_styles_unselected_properties_colors_border-color
38
+ --recursica_ui-kit_components_chip_variants_selection-states_unselected_properties_colors_border-color
38
39
  );
39
40
  --chip-text: var(
40
- --recursica_ui-kit_components_chip_variants_styles_unselected_properties_colors_text
41
+ --recursica_ui-kit_components_chip_variants_selection-states_unselected_properties_colors_text-color
41
42
  );
42
43
  --chip-icon: var(
43
- --recursica_ui-kit_components_chip_variants_styles_unselected_properties_colors_leading-icon-color
44
+ --recursica_ui-kit_components_chip_variants_selection-states_unselected_properties_colors_leading-icon-color
44
45
  );
45
46
  --chip-close: var(
46
- --recursica_ui-kit_components_chip_variants_styles_unselected_properties_colors_close-icon-color
47
+ --recursica_ui-kit_components_chip_variants_selection-states_unselected_properties_colors_close-icon-color
47
48
  );
48
49
 
49
50
  /* Override Mantine's internal variables */
@@ -118,55 +119,55 @@
118
119
  /* Default (Unselected) hover/active interactions (Mantine overrides) */
119
120
  .label.label[data-checked] {
120
121
  --chip-bg: var(
121
- --recursica_ui-kit_components_chip_variants_styles_selected_properties_colors_background
122
+ --recursica_ui-kit_components_chip_variants_selection-states_selected_properties_colors_background-color
122
123
  );
123
124
  --chip-border: var(
124
- --recursica_ui-kit_components_chip_variants_styles_selected_properties_colors_border-color
125
+ --recursica_ui-kit_components_chip_variants_selection-states_selected_properties_colors_border-color
125
126
  );
126
127
  --chip-text: var(
127
- --recursica_ui-kit_components_chip_variants_styles_selected_properties_colors_text
128
+ --recursica_ui-kit_components_chip_variants_selection-states_selected_properties_colors_text-color
128
129
  );
129
130
  --chip-icon: var(
130
- --recursica_ui-kit_components_chip_variants_styles_selected_properties_colors_selected-icon-color
131
+ --recursica_ui-kit_components_chip_variants_selection-states_selected_properties_colors_selected-icon-color
131
132
  );
132
133
  --chip-close: var(
133
- --recursica_ui-kit_components_chip_variants_styles_selected_properties_colors_close-icon-color
134
+ --recursica_ui-kit_components_chip_variants_selection-states_selected_properties_colors_close-icon-color
134
135
  );
135
136
  }
136
137
 
137
138
  .root[data-error] .label.label {
138
139
  --chip-bg: var(
139
- --recursica_ui-kit_components_chip_variants_styles_error_properties_colors_background
140
+ --recursica_ui-kit_components_chip_variants_selection-states_unselected_variants_states_error_properties_colors_background-color
140
141
  );
141
142
  --chip-border: var(
142
- --recursica_ui-kit_components_chip_variants_styles_error_properties_colors_border-color
143
+ --recursica_ui-kit_components_chip_variants_selection-states_unselected_variants_states_error_properties_colors_border-color
143
144
  );
144
145
  --chip-text: var(
145
- --recursica_ui-kit_components_chip_variants_styles_error_properties_colors_text
146
+ --recursica_ui-kit_components_chip_variants_selection-states_unselected_variants_states_error_properties_colors_text-color
146
147
  );
147
148
  --chip-icon: var(
148
- --recursica_ui-kit_components_chip_variants_styles_error_properties_colors_icon
149
+ --recursica_ui-kit_components_chip_variants_selection-states_unselected_variants_states_error_properties_colors_leading-icon-color
149
150
  );
150
151
  --chip-close: var(
151
- --recursica_ui-kit_components_chip_variants_styles_error_properties_colors_close-icon-color
152
+ --recursica_ui-kit_components_chip_variants_selection-states_unselected_variants_states_error_properties_colors_close-icon-color
152
153
  );
153
154
  }
154
155
 
155
156
  .root[data-error] .label.label[data-checked] {
156
157
  --chip-bg: var(
157
- --recursica_ui-kit_components_chip_variants_styles_error-selected_properties_colors_background
158
+ --recursica_ui-kit_components_chip_variants_selection-states_selected_variants_states_error_properties_colors_background-color
158
159
  );
159
160
  --chip-border: var(
160
- --recursica_ui-kit_components_chip_variants_styles_error-selected_properties_colors_border-color
161
+ --recursica_ui-kit_components_chip_variants_selection-states_selected_variants_states_error_properties_colors_border-color
161
162
  );
162
163
  --chip-text: var(
163
- --recursica_ui-kit_components_chip_variants_styles_error-selected_properties_colors_text
164
+ --recursica_ui-kit_components_chip_variants_selection-states_selected_variants_states_error_properties_colors_text-color
164
165
  );
165
166
  --chip-icon: var(
166
- --recursica_ui-kit_components_chip_variants_styles_error-selected_properties_colors_selected-icon-color
167
+ --recursica_ui-kit_components_chip_variants_selection-states_selected_variants_states_error_properties_colors_selected-icon-color
167
168
  );
168
169
  --chip-close: var(
169
- --recursica_ui-kit_components_chip_variants_styles_error-selected_properties_colors_close-icon-color
170
+ --recursica_ui-kit_components_chip_variants_selection-states_selected_variants_states_error_properties_colors_close-icon-color
170
171
  );
171
172
  }
172
173
 
@@ -1,10 +1,9 @@
1
1
  /* EXEMPTIONS:
2
- - state-specific border-size variables are ignored because a uniform 1px border is applied globally to prevent
3
- unexpected layout shift or flickering during focus, disabled, or error state transitions. */
4
- /* recursica-ignore: --recursica_ui-kit_components_date-picker_variants_states_default_properties_border-size */
2
+ - border-size variables are ignored because a uniform 1px border is applied globally to prevent
3
+ unexpected layout shift or flickering during focused, disabled, or error state transitions. */
4
+ /* recursica-ignore: --recursica_ui-kit_components_date-picker_properties_border-size */
5
5
  /* recursica-ignore: --recursica_ui-kit_components_date-picker_variants_states_disabled_properties_border-size */
6
6
  /* recursica-ignore: --recursica_ui-kit_components_date-picker_variants_states_error_properties_border-size */
7
- /* recursica-ignore: --recursica_ui-kit_components_date-picker_variants_states_focus_properties_border-size */
8
7
 
9
8
  /* LAYOUT SPACING OVERRIDES:
10
9
  - Sets the --form-control-margin-bottom spacing hook to map component-specific layout tokens. */
@@ -108,13 +107,13 @@
108
107
 
109
108
  /* Base State Default Execution */
110
109
  background-color: var(
111
- --recursica_ui-kit_components_date-picker_variants_states_default_properties_colors_background
110
+ --recursica_ui-kit_components_date-picker_properties_colors_background-color
112
111
  );
113
112
  border-color: var(
114
- --recursica_ui-kit_components_date-picker_variants_states_default_properties_colors_border-color
113
+ --recursica_ui-kit_components_date-picker_properties_colors_border-color
115
114
  );
116
115
  color: var(
117
- --recursica_ui-kit_components_date-picker_variants_states_default_properties_colors_text
116
+ --recursica_ui-kit_components_date-picker_properties_colors_text-color
118
117
  );
119
118
 
120
119
  outline: none;
@@ -161,7 +160,7 @@
161
160
  width: var(--recursica_ui-kit_components_date-picker_properties_icon-size);
162
161
  height: var(--recursica_ui-kit_components_date-picker_properties_icon-size);
163
162
  color: var(
164
- --recursica_ui-kit_components_date-picker_variants_states_default_properties_colors_leading-icon
163
+ --recursica_ui-kit_components_date-picker_properties_colors_leading-icon
165
164
  );
166
165
  }
167
166
 
@@ -170,23 +169,16 @@
170
169
  -------------------------------------- */
171
170
 
172
171
  /* Focus State Mapping (Triggered internally via browser pseudo-pseudo-class) */
172
+ /* The token schema no longer provides per-component focus colors; apply the generic focus ring
173
+ tokens as a box-shadow ring instead of a color swap. */
173
174
  .input:focus-within,
174
175
  .input:focus {
175
- border-color: var(
176
- --recursica_ui-kit_components_date-picker_variants_states_focus_properties_colors_border-color
177
- );
178
- background-color: var(
179
- --recursica_ui-kit_components_date-picker_variants_states_focus_properties_colors_background
180
- );
181
- color: var(
182
- --recursica_ui-kit_components_date-picker_variants_states_focus_properties_colors_text
183
- );
184
- }
185
-
186
- .root:focus-within .section[data-position="left"] :global(svg) {
187
- color: var(
188
- --recursica_ui-kit_components_date-picker_variants_states_focus_properties_colors_leading-icon
189
- );
176
+ box-shadow:
177
+ 0 0 0 var(--recursica_brand_states_focus_border-size)
178
+ var(--recursica_brand_states_focus_color),
179
+ 0 0 var(--recursica_brand_states_focus_blur)
180
+ var(--recursica_brand_states_focus_margin)
181
+ var(--recursica_brand_states_focus_color);
190
182
  }
191
183
 
192
184
  /* Error State Mapping (Propagated strictly down from the wrapper DOM context) */
@@ -195,10 +187,10 @@
195
187
  --recursica_ui-kit_components_date-picker_variants_states_error_properties_colors_border-color
196
188
  ) !important;
197
189
  background-color: var(
198
- --recursica_ui-kit_components_date-picker_variants_states_error_properties_colors_background
190
+ --recursica_ui-kit_components_date-picker_variants_states_error_properties_colors_background-color
199
191
  ) !important;
200
192
  color: var(
201
- --recursica_ui-kit_components_date-picker_variants_states_error_properties_colors_text
193
+ --recursica_ui-kit_components_date-picker_variants_states_error_properties_colors_text-color
202
194
  ) !important;
203
195
  }
204
196
 
@@ -214,10 +206,13 @@
214
206
  --recursica_ui-kit_components_date-picker_variants_states_disabled_properties_colors_border-color
215
207
  ) !important;
216
208
  background-color: var(
217
- --recursica_ui-kit_components_date-picker_variants_states_disabled_properties_colors_background
209
+ --recursica_ui-kit_components_date-picker_variants_states_disabled_properties_colors_background-color
218
210
  ) !important;
219
211
  color: var(
220
- --recursica_ui-kit_components_date-picker_variants_states_disabled_properties_colors_text
212
+ --recursica_ui-kit_components_date-picker_variants_states_disabled_properties_colors_text-color
213
+ ) !important;
214
+ opacity: var(
215
+ --recursica_ui-kit_components_date-picker_variants_states_disabled_properties_opacity
221
216
  ) !important;
222
217
  cursor: not-allowed;
223
218
  }
@@ -236,7 +231,7 @@
236
231
 
237
232
  .dropdown {
238
233
  background-color: var(
239
- --recursica_ui-kit_components_hover-card-popover_properties_colors_background
234
+ --recursica_ui-kit_components_hover-card-popover_properties_colors_background-color
240
235
  );
241
236
  border: var(
242
237
  --recursica_ui-kit_components_hover-card-popover_properties_border-size
@@ -278,9 +273,9 @@
278
273
  .day[data-selected],
279
274
  .day[data-selected]:hover {
280
275
  background-color: var(
281
- --recursica_ui-kit_components_button_variants_styles_solid_properties_colors_background
276
+ --recursica_ui-kit_components_button_variants_styles_solid_properties_colors_background-color
282
277
  );
283
278
  color: var(
284
- --recursica_ui-kit_components_button_variants_styles_solid_properties_colors_text
279
+ --recursica_ui-kit_components_button_variants_styles_solid_properties_colors_text-color
285
280
  );
286
281
  }
@@ -1,23 +1,36 @@
1
1
  /* EXEMPTIONS:
2
- - state-specific border-size variables are ignored because a uniform 1px border is applied globally to prevent
2
+ - border-size variables are ignored because a uniform 1px border is applied globally to prevent
3
3
  unexpected layout shift or flickering during focus, disabled, or error state transitions. */
4
- /* recursica-ignore: --recursica_ui-kit_components_dropdown_variants_states_default_properties_border-size */
4
+ /* recursica-ignore: --recursica_ui-kit_components_dropdown_properties_border-size */
5
5
  /* recursica-ignore: --recursica_ui-kit_components_dropdown_variants_states_disabled_properties_border-size */
6
6
  /* recursica-ignore: --recursica_ui-kit_components_dropdown_variants_states_error_properties_border-size */
7
- /* recursica-ignore: --recursica_ui-kit_components_dropdown_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 --dropdown-control-{max,min}-width hooks consumed inline in Dropdown.tsx, since
11
+ 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_dropdown_variants_layouts_stacked_properties_top-bottom-margin
14
15
  );
16
+ --dropdown-control-max-width: var(
17
+ --recursica_ui-kit_components_dropdown_variants_layouts_stacked_properties_max-width
18
+ );
19
+ --dropdown-control-min-width: var(
20
+ --recursica_ui-kit_components_dropdown_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_dropdown_variants_layouts_side-by-side_properties_top-bottom-margin
20
27
  );
28
+ --dropdown-control-max-width: var(
29
+ --recursica_ui-kit_components_dropdown_variants_layouts_side-by-side_properties_max-width
30
+ );
31
+ --dropdown-control-min-width: var(
32
+ --recursica_ui-kit_components_dropdown_variants_layouts_side-by-side_properties_min-width
33
+ );
21
34
  }
22
35
 
23
36
  /* HARDCODED VALUES:
@@ -101,13 +114,13 @@
101
114
 
102
115
  /* Base State Default Execution */
103
116
  background-color: var(
104
- --recursica_ui-kit_components_dropdown_variants_states_default_properties_colors_background
117
+ --recursica_ui-kit_components_dropdown_properties_colors_background-color
105
118
  );
106
119
  border-color: var(
107
- --recursica_ui-kit_components_dropdown_variants_states_default_properties_colors_border-color
120
+ --recursica_ui-kit_components_dropdown_properties_colors_border-color
108
121
  );
109
122
  color: var(
110
- --recursica_ui-kit_components_dropdown_variants_states_default_properties_colors_text
123
+ --recursica_ui-kit_components_dropdown_properties_colors_text-color
111
124
  );
112
125
 
113
126
  outline: none;
@@ -153,13 +166,13 @@
153
166
  width: var(--recursica_ui-kit_components_dropdown_properties_icon-size);
154
167
  height: var(--recursica_ui-kit_components_dropdown_properties_icon-size);
155
168
  color: var(
156
- --recursica_ui-kit_components_dropdown_variants_states_default_properties_colors_leading-icon
169
+ --recursica_ui-kit_components_dropdown_properties_colors_leading-icon
157
170
  );
158
171
  }
159
172
 
160
173
  .section[data-position="right"] :global(svg) {
161
174
  color: var(
162
- --recursica_ui-kit_components_dropdown_variants_states_default_properties_colors_trailing-icon
175
+ --recursica_ui-kit_components_dropdown_properties_colors_trailing-icon
163
176
  );
164
177
  }
165
178
 
@@ -168,29 +181,16 @@
168
181
  -------------------------------------- */
169
182
 
170
183
  /* Focus State Mapping (Triggered internally via browser pseudo-pseudo-class) */
184
+ /* The token schema no longer provides per-component focus colors; apply the generic focus ring
185
+ tokens as a box-shadow ring instead of a color swap. */
171
186
  .input:focus-within,
172
187
  .input:focus {
173
- border-color: var(
174
- --recursica_ui-kit_components_dropdown_variants_states_focus_properties_colors_border-color
175
- );
176
- background-color: var(
177
- --recursica_ui-kit_components_dropdown_variants_states_focus_properties_colors_background
178
- );
179
- color: var(
180
- --recursica_ui-kit_components_dropdown_variants_states_focus_properties_colors_text
181
- );
182
- }
183
-
184
- .root:focus-within .section[data-position="left"] :global(svg) {
185
- color: var(
186
- --recursica_ui-kit_components_dropdown_variants_states_focus_properties_colors_leading-icon
187
- );
188
- }
189
-
190
- .root:focus-within .section[data-position="right"] :global(svg) {
191
- color: var(
192
- --recursica_ui-kit_components_dropdown_variants_states_focus_properties_colors_trailing-icon
193
- );
188
+ box-shadow:
189
+ 0 0 0 var(--recursica_brand_states_focus_border-size)
190
+ var(--recursica_brand_states_focus_color),
191
+ 0 0 var(--recursica_brand_states_focus_blur)
192
+ var(--recursica_brand_states_focus_margin)
193
+ var(--recursica_brand_states_focus_color);
194
194
  }
195
195
 
196
196
  /* Error State Mapping (Propagated strictly down from the wrapper DOM context) */
@@ -199,10 +199,10 @@
199
199
  --recursica_ui-kit_components_dropdown_variants_states_error_properties_colors_border-color
200
200
  ) !important;
201
201
  background-color: var(
202
- --recursica_ui-kit_components_dropdown_variants_states_error_properties_colors_background
202
+ --recursica_ui-kit_components_dropdown_variants_states_error_properties_colors_background-color
203
203
  ) !important;
204
204
  color: var(
205
- --recursica_ui-kit_components_dropdown_variants_states_error_properties_colors_text
205
+ --recursica_ui-kit_components_dropdown_variants_states_error_properties_colors_text-color
206
206
  ) !important;
207
207
  }
208
208
 
@@ -224,10 +224,13 @@
224
224
  --recursica_ui-kit_components_dropdown_variants_states_disabled_properties_colors_border-color
225
225
  ) !important;
226
226
  background-color: var(
227
- --recursica_ui-kit_components_dropdown_variants_states_disabled_properties_colors_background
227
+ --recursica_ui-kit_components_dropdown_variants_states_disabled_properties_colors_background-color
228
228
  ) !important;
229
229
  color: var(
230
- --recursica_ui-kit_components_dropdown_variants_states_disabled_properties_colors_text
230
+ --recursica_ui-kit_components_dropdown_variants_states_disabled_properties_colors_text-color
231
+ ) !important;
232
+ opacity: var(
233
+ --recursica_ui-kit_components_dropdown_variants_states_disabled_properties_opacity
231
234
  ) !important;
232
235
  cursor: not-allowed;
233
236
  }
@@ -250,12 +253,10 @@
250
253
 
251
254
  .dropdown {
252
255
  background-color: var(
253
- --recursica_ui-kit_components_dropdown_variants_states_default_properties_colors_background
256
+ --recursica_ui-kit_components_dropdown_properties_colors_background-color
254
257
  );
255
258
  border: 1px solid
256
- var(
257
- --recursica_ui-kit_components_dropdown_variants_states_default_properties_colors_border-color
258
- );
259
+ var(--recursica_ui-kit_components_dropdown_properties_colors_border-color);
259
260
  border-radius: var(
260
261
  --recursica_ui-kit_components_dropdown_properties_border-radius
261
262
  );
@@ -273,7 +274,7 @@
273
274
  --recursica_ui-kit_components_dropdown_properties_text_font-weight
274
275
  );
275
276
  color: var(
276
- --recursica_ui-kit_components_dropdown_variants_states_default_properties_colors_text
277
+ --recursica_ui-kit_components_dropdown_properties_colors_text-color
277
278
  );
278
279
  padding: calc(
279
280
  var(--recursica_ui-kit_components_dropdown_properties_vertical-padding) *
@@ -283,14 +284,16 @@
283
284
  cursor: pointer;
284
285
  }
285
286
 
287
+ /* No per-option selected/hovered tokens exist in the schema; use the generic overlay tint
288
+ (same technique as Table's row hover) to highlight the active option. */
286
289
  .option[data-selected="true"],
287
290
  .option[data-combobox-selected="true"],
288
291
  .option[data-hovered="true"],
289
292
  .option:hover {
290
- background-color: var(
291
- --recursica_ui-kit_components_dropdown_variants_states_focus_properties_colors_background
292
- );
293
- color: var(
294
- --recursica_ui-kit_components_dropdown_variants_states_focus_properties_colors_text
293
+ background-color: color-mix(
294
+ in srgb,
295
+ var(--recursica_brand_states_hover_color)
296
+ calc(var(--recursica_brand_states_hover_opacity) * 100%),
297
+ transparent
295
298
  );
296
299
  }
@@ -114,8 +114,8 @@ export const Dropdown = forwardRef<HTMLInputElement, DropdownProps>(
114
114
  <WithReadOnlyWrapper
115
115
  className={wrapperClass}
116
116
  style={injectedStyles}
117
- controlMaxWidth="var(--recursica_ui-kit_components_dropdown_properties_max-width)"
118
- controlMinWidth="var(--recursica_ui-kit_components_dropdown_properties_min-width)"
117
+ controlMaxWidth="var(--dropdown-control-max-width)"
118
+ controlMinWidth="var(--dropdown-control-min-width)"
119
119
  overStyled={overStyled as true}
120
120
  formLayout={formLayout}
121
121
  labelSize={labelSize}
@@ -3,28 +3,29 @@
3
3
  .root {
4
4
  /* Global Form Field Colors */
5
5
  --form-field-background: var(
6
- --recursica_ui-kit_globals_form_field_colors_background
6
+ --recursica_ui-kit_globals_form_field_colors_background-color
7
7
  );
8
8
  --form-field-background-read-only: var(
9
- --recursica_ui-kit_globals_form_field_colors_background-read-only
9
+ --recursica_ui-kit_globals_form_field_colors_background-color-read-only
10
10
  );
11
- --form-field-border: var(--recursica_ui-kit_globals_form_field_colors_border);
12
- --form-field-border-error: var(
13
- --recursica_ui-kit_globals_form_field_colors_border-error
11
+ --form-field-border: var(
12
+ --recursica_ui-kit_globals_form_field_colors_border-color
14
13
  );
15
- --form-field-border-focus: var(
16
- --recursica_ui-kit_globals_form_field_colors_border-focus
14
+ --form-field-border-error: var(
15
+ --recursica_ui-kit_globals_form_field_colors_error-border-color
17
16
  );
18
17
  --form-field-border-selected: var(
19
18
  --recursica_ui-kit_globals_form_field_colors_border-selected
20
19
  );
21
20
  --form-field-disabled-background: var(
22
- --recursica_ui-kit_globals_form_field_colors_disabled-background
21
+ --recursica_ui-kit_globals_form_field_colors_disabled-background-color
23
22
  );
24
23
  --form-field-disabled-text: var(
25
24
  --recursica_ui-kit_globals_form_field_colors_disabled-text
26
25
  );
27
- --form-field-icon: var(--recursica_ui-kit_globals_form_field_colors_icon);
26
+ --form-field-icon: var(
27
+ --recursica_ui-kit_globals_form_field_colors_icon-color
28
+ );
28
29
  --form-field-placeholder-text-opacity: var(
29
30
  --recursica_ui-kit_globals_form_field_colors_placeholder-text-opacity
30
31
  );
@@ -33,15 +34,14 @@
33
34
  );
34
35
 
35
36
  /* Global Form Field Geometric Sizes */
37
+ /* No focus-specific border-color/border-size tokens exist anymore; components use the generic
38
+ --recursica_brand_states_focus_* ring tokens directly instead (see e.g. TextField.module.css). */
36
39
  --form-field-border-radius: var(
37
40
  --recursica_ui-kit_globals_form_field_size_border-radius
38
41
  );
39
42
  --form-field-border-size-default: var(
40
43
  --recursica_ui-kit_globals_form_field_size_border-size-default
41
44
  );
42
- --form-field-border-size-focus: var(
43
- --recursica_ui-kit_globals_form_field_size_border-size-focus
44
- );
45
45
  --form-field-horizontal-padding: var(
46
46
  --recursica_ui-kit_globals_form_field_size_horizontal-padding
47
47
  );
@@ -19,7 +19,7 @@
19
19
 
20
20
  .dropdown {
21
21
  background-color: var(
22
- --recursica_ui-kit_components_hover-card-popover_properties_colors_background
22
+ --recursica_ui-kit_components_hover-card-popover_properties_colors_background-color
23
23
  );
24
24
  border-style: solid; /* HARDCODE: Mantine Paper does not set border-style natively */
25
25
  border-width: var(
@@ -16,7 +16,7 @@
16
16
  align-items: baseline;
17
17
  box-sizing: border-box;
18
18
  margin: 0;
19
- color: var(--recursica_ui-kit_components_label_properties_colors_text);
19
+ color: var(--recursica_ui-kit_components_label_properties_colors_text-color);
20
20
  }
21
21
 
22
22
  .root[data-alignment="left"] {
@@ -62,7 +62,9 @@
62
62
  margin-left: var(
63
63
  --recursica_ui-kit_components_label_properties_required-indicator-gap
64
64
  );
65
- color: var(--recursica_ui-kit_components_label_properties_colors_asterisk);
65
+ color: var(
66
+ --recursica_ui-kit_components_label_properties_colors_asterisk-color
67
+ );
66
68
 
67
69
  /* Inherit identical typography bounds to prevent flex row line-height stretching */
68
70
  font-family: var(
@@ -139,5 +141,7 @@
139
141
  }
140
142
 
141
143
  .editIconWrapper[data-replaces-asterisk="true"] {
142
- color: var(--recursica_ui-kit_components_label_properties_colors_asterisk);
144
+ color: var(
145
+ --recursica_ui-kit_components_label_properties_colors_asterisk-color
146
+ );
143
147
  }