@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,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
+ - state-specific 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 the Mantine reference implementation) 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
  }
@@ -120,8 +120,8 @@ export const Dropdown = forwardRef<HTMLInputElement, DropdownProps>(
120
120
  <WithReadOnlyWrapper
121
121
  className={wrapperClass}
122
122
  style={injectedStyles}
123
- controlMaxWidth="var(--recursica_ui-kit_components_dropdown_properties_max-width)"
124
- controlMinWidth="var(--recursica_ui-kit_components_dropdown_properties_min-width)"
123
+ controlMaxWidth="var(--dropdown-control-max-width)"
124
+ controlMinWidth="var(--dropdown-control-min-width)"
125
125
  overStyled={overStyled as true}
126
126
  formLayout={formLayout}
127
127
  labelSize={labelSize}
@@ -10,28 +10,29 @@
10
10
 
11
11
  /* Global Form Field Colors */
12
12
  --form-field-background: var(
13
- --recursica_ui-kit_globals_form_field_colors_background
13
+ --recursica_ui-kit_globals_form_field_colors_background-color
14
14
  );
15
15
  --form-field-background-read-only: var(
16
- --recursica_ui-kit_globals_form_field_colors_background-read-only
16
+ --recursica_ui-kit_globals_form_field_colors_background-color-read-only
17
17
  );
18
- --form-field-border: var(--recursica_ui-kit_globals_form_field_colors_border);
19
- --form-field-border-error: var(
20
- --recursica_ui-kit_globals_form_field_colors_border-error
18
+ --form-field-border: var(
19
+ --recursica_ui-kit_globals_form_field_colors_border-color
21
20
  );
22
- --form-field-border-focus: var(
23
- --recursica_ui-kit_globals_form_field_colors_border-focus
21
+ --form-field-border-error: var(
22
+ --recursica_ui-kit_globals_form_field_colors_error-border-color
24
23
  );
25
24
  --form-field-border-selected: var(
26
25
  --recursica_ui-kit_globals_form_field_colors_border-selected
27
26
  );
28
27
  --form-field-disabled-background: var(
29
- --recursica_ui-kit_globals_form_field_colors_disabled-background
28
+ --recursica_ui-kit_globals_form_field_colors_disabled-background-color
30
29
  );
31
30
  --form-field-disabled-text: var(
32
31
  --recursica_ui-kit_globals_form_field_colors_disabled-text
33
32
  );
34
- --form-field-icon: var(--recursica_ui-kit_globals_form_field_colors_icon);
33
+ --form-field-icon: var(
34
+ --recursica_ui-kit_globals_form_field_colors_icon-color
35
+ );
35
36
  --form-field-placeholder-text-opacity: var(
36
37
  --recursica_ui-kit_globals_form_field_colors_placeholder-text-opacity
37
38
  );
@@ -40,15 +41,14 @@
40
41
  );
41
42
 
42
43
  /* Global Form Field Geometric Sizes */
44
+ /* No focus-specific border-color/border-size tokens exist anymore; components use the generic
45
+ --recursica_brand_states_focus_* ring tokens directly instead (see e.g. TextField.module.css). */
43
46
  --form-field-border-radius: var(
44
47
  --recursica_ui-kit_globals_form_field_size_border-radius
45
48
  );
46
49
  --form-field-border-size-default: var(
47
50
  --recursica_ui-kit_globals_form_field_size_border-size-default
48
51
  );
49
- --form-field-border-size-focus: var(
50
- --recursica_ui-kit_globals_form_field_size_border-size-focus
51
- );
52
52
  --form-field-horizontal-padding: var(
53
53
  --recursica_ui-kit_globals_form_field_size_horizontal-padding
54
54
  );
@@ -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(
@@ -1,3 +1,9 @@
1
+ /* EXEMPTIONS:
2
+ - layouts_stacked sizes width variables are ignored because stacked labels naturally occupy 100% width block-level
3
+ real estate in HTML rendering, making explicit width properties redundant. Mirrors the mantine-adapter reference. */
4
+ /* recursica-ignore: --recursica_ui-kit_components_label_variants_layouts_stacked_variants_sizes_default_properties_width */
5
+ /* recursica-ignore: --recursica_ui-kit_components_label_variants_layouts_stacked_variants_sizes_small_properties_width */
6
+
1
7
  .root {
2
8
  /* Prevent default MUI absolute positioning logic */
3
9
  position: relative;
@@ -37,7 +43,7 @@
37
43
  --recursica_ui-kit_components_label_properties_label-text_text-transform
38
44
  );
39
45
 
40
- color: var(--recursica_ui-kit_components_label_properties_colors_text);
46
+ color: var(--recursica_ui-kit_components_label_properties_colors_text-color);
41
47
  }
42
48
 
43
49
  .innerLayout {
@@ -56,7 +62,9 @@
56
62
 
57
63
  .required {
58
64
  /* Override the `.MuiInputLabel-asterisk` natively */
59
- color: var(--recursica_ui-kit_components_label_properties_colors_asterisk);
65
+ color: var(
66
+ --recursica_ui-kit_components_label_properties_colors_asterisk-color
67
+ );
60
68
  margin-left: var(
61
69
  --recursica_ui-kit_components_label_properties_required-indicator-gap
62
70
  );
@@ -70,7 +78,7 @@
70
78
  We explicitly override this bleed to prevent the main label text from turning red,
71
79
  while allowing the asterisk to take the error color! */
72
80
  .root:global(.Mui-error) {
73
- color: var(--recursica_ui-kit_components_label_properties_colors_text);
81
+ color: var(--recursica_ui-kit_components_label_properties_colors_text-color);
74
82
  }
75
83
  .root:global(.Mui-error) .required {
76
84
  color: var(
@@ -112,11 +120,17 @@
112
120
  text-transform: var(
113
121
  --recursica_ui-kit_components_label_properties_optional-text_text-transform
114
122
  );
123
+ opacity: var(
124
+ --recursica_ui-kit_components_label_properties_optional-text-opacity
125
+ );
115
126
  }
116
127
 
117
128
  .actionArea {
118
129
  display: flex;
119
130
  align-items: center;
131
+ margin-left: var(
132
+ --recursica_ui-kit_components_label_properties_edit-icon-gap
133
+ );
120
134
  }
121
135
 
122
136
  .editIcon {
@@ -127,6 +141,9 @@
127
141
  background: none;
128
142
  border: none;
129
143
  padding: 0;
144
+ margin-left: var(
145
+ --recursica_ui-kit_components_label_properties_edit-icon-gap
146
+ );
130
147
 
131
148
  width: 16px;
132
149
  height: 16px;
@@ -0,0 +1,50 @@
1
+ # Layer - Usage Guide
2
+
3
+ This document describes how to integrate and use the `Layer` component in your projects using `@recursica/mui-adapter`.
4
+
5
+ > [!NOTE] > `Layer` is defined once in `@recursica/adapter-common` and re-exported here so it shares the exact same behavior across every Recursica adapter.
6
+
7
+ ---
8
+
9
+ ## 1. Import Reference
10
+
11
+ ```tsx
12
+ import { Layer } from "@recursica/mui-adapter";
13
+ ```
14
+
15
+ ---
16
+
17
+ ## 2. Basic Example
18
+
19
+ `Layer` sets `data-recursica-layer` on its root element, which is what makes the theme+layer scoped CSS variables (surface color, border, elevation, padding) in `recursica_variables_scoped.css` actually apply. [`RecursicaThemeProvider`](../RecursicaThemeProvider/USAGE.md) automatically wraps your app in a `layer={0}` `Layer` by default (via its `initLayer0` prop), so you don't need to add one yourself for the base page. You still add `Layer`s manually for anything visually elevated above the page background:
20
+
21
+ ```tsx
22
+ import { RecursicaThemeProvider, Layer, Card } from "@recursica/mui-adapter";
23
+
24
+ function App() {
25
+ return (
26
+ <RecursicaThemeProvider theme="light">
27
+ {/* Page background/surface already uses layer 0, applied automatically */}
28
+ <Layer layer={1}>
29
+ <Card>Elevated content sits on layer 1</Card>
30
+ </Layer>
31
+ </RecursicaThemeProvider>
32
+ );
33
+ }
34
+ ```
35
+
36
+ ---
37
+
38
+ ## 3. Design System Integration
39
+
40
+ > [!IMPORTANT]
41
+ >
42
+ > - **Layer 0 is automatic**: `RecursicaThemeProvider` applies it for you by default. Only opt out (`initLayer0={false}`) if you need to control exactly where layer 0 starts in the tree, or need `contentsOnly` on the base layer — see [RecursicaThemeProvider usage](../RecursicaThemeProvider/USAGE.md).
43
+ > - **Layers 1–3 are manual**: Wrap any content that's visually elevated above the page background (a Card, Modal, Popover, etc.) in its own `<Layer layer={1|2|3}>`. Nesting `Layer`s is how Recursica communicates elevation to descendant components — do **not** pass a `layer` prop directly to other components; wrap them in a `Layer` instead (every other component's `USAGE.md` repeats this rule).
44
+ > - **`contentsOnly`**: When `true`, `Layer` renders with `display: contents` and omits `data-recursica-layer` entirely — use this when you need a layer boundary in your component tree without adding an extra DOM box or applying layer styling (e.g. a purely structural wrapper).
45
+
46
+ ---
47
+
48
+ ## 4. Key Integration Features & Constraints
49
+
50
+ `Layer` has no visual variants of its own — its entire purpose is to bind a subtree to a numbered layer's design tokens. It does not accept `overStyled`; instead, if you find yourself needing to override a layer's surface styling, that's a signal you may want a different layer number rather than an escape hatch.
@@ -1,4 +1,9 @@
1
- /*
1
+ /* EXEMPTIONS:
2
+ - text_text-transform is ignored because links naturally inherit casing directly from text
3
+ children rather than requiring custom CSS transforms. Mirrors the mantine-adapter reference. */
4
+ /* recursica-ignore: --recursica_ui-kit_components_link_properties_text_text-transform */
5
+
6
+ /*
2
7
  HARDCODED VALUES:
3
8
  - display: inline-flex; (Base layout to align icon and text correctly)
4
9
  - align-items: center;
@@ -16,31 +21,27 @@ HARDCODED VALUES:
16
21
  text-decoration: none;
17
22
  color: inherit;
18
23
 
19
- /* Typography Default Tokens */
24
+ /* Typography Tokens */
20
25
  font-family: var(
21
26
  --recursica_ui-kit_components_link_properties_text_font-family
22
27
  );
23
28
  font-size: var(--recursica_ui-kit_components_link_properties_text_font-size);
29
+ font-style: var(
30
+ --recursica_ui-kit_components_link_properties_text_font-style
31
+ );
32
+ font-weight: var(
33
+ --recursica_ui-kit_components_link_properties_text_font-weight
34
+ );
24
35
  letter-spacing: var(
25
36
  --recursica_ui-kit_components_link_properties_text_letter-spacing
26
37
  );
27
38
  line-height: var(
28
39
  --recursica_ui-kit_components_link_properties_text_line-height
29
40
  );
30
-
31
- /* Default State Tokens */
32
- font-style: var(
33
- --recursica_ui-kit_components_link_variants_states_default_properties_text_font-style
34
- );
35
- font-weight: var(
36
- --recursica_ui-kit_components_link_variants_states_default_properties_text_font-weight
37
- );
38
41
  text-decoration: var(
39
- --recursica_ui-kit_components_link_variants_states_default_properties_text_text-decoration
40
- );
41
- color: var(
42
- --recursica_ui-kit_components_link_variants_states_default_properties_colors_text
42
+ --recursica_ui-kit_components_link_properties_text_text-decoration
43
43
  );
44
+ color: var(--recursica_ui-kit_components_link_properties_colors_text-color);
44
45
  }
45
46
 
46
47
  .root[data-has-icon] {
@@ -49,49 +50,9 @@ HARDCODED VALUES:
49
50
  gap: var(--recursica_ui-kit_components_link_properties_icon-text-gap);
50
51
  }
51
52
 
52
- .root:hover {
53
- /* Reset Mantine's potential hover override */
54
- text-decoration: var(
55
- --recursica_ui-kit_components_link_variants_states_hover_properties_text_text-decoration
56
- );
57
- font-style: var(
58
- --recursica_ui-kit_components_link_variants_states_hover_properties_text_font-style
59
- );
60
- font-weight: var(
61
- --recursica_ui-kit_components_link_variants_states_hover_properties_text_font-weight
62
- );
63
- color: var(
64
- --recursica_ui-kit_components_link_variants_states_hover_properties_colors_text
65
- );
66
- }
67
-
68
53
  .root:visited {
69
- text-decoration: var(
70
- --recursica_ui-kit_components_link_variants_states_visited_properties_text_text-decoration
71
- );
72
- font-style: var(
73
- --recursica_ui-kit_components_link_variants_states_visited_properties_text_font-style
74
- );
75
- font-weight: var(
76
- --recursica_ui-kit_components_link_variants_states_visited_properties_text_font-weight
77
- );
78
- color: var(
79
- --recursica_ui-kit_components_link_variants_states_visited_properties_colors_text
80
- );
81
- }
82
-
83
- .root:visited:hover {
84
- text-decoration: var(
85
- --recursica_ui-kit_components_link_variants_states_visited-hover_properties_text_text-decoration
86
- );
87
- font-style: var(
88
- --recursica_ui-kit_components_link_variants_states_visited-hover_properties_text_font-style
89
- );
90
- font-weight: var(
91
- --recursica_ui-kit_components_link_variants_states_visited-hover_properties_text_font-weight
92
- );
93
54
  color: var(
94
- --recursica_ui-kit_components_link_variants_states_visited-hover_properties_colors_text
55
+ --recursica_ui-kit_components_link_variants_states_visited_properties_colors_text-color
95
56
  );
96
57
  }
97
58
 
@@ -104,26 +65,12 @@ HARDCODED VALUES:
104
65
 
105
66
  width: var(--recursica_ui-kit_components_link_properties_icon-size);
106
67
  height: var(--recursica_ui-kit_components_link_properties_icon-size);
107
- color: var(
108
- --recursica_ui-kit_components_link_variants_states_default_properties_colors_icon
109
- );
110
- }
111
-
112
- .root:hover .iconWrapper {
113
- color: var(
114
- --recursica_ui-kit_components_link_variants_states_hover_properties_colors_icon
115
- );
68
+ color: var(--recursica_ui-kit_components_link_properties_colors_icon-color);
116
69
  }
117
70
 
118
71
  .root:visited .iconWrapper {
119
72
  color: var(
120
- --recursica_ui-kit_components_link_variants_states_visited_properties_colors_icon
121
- );
122
- }
123
-
124
- .root:visited:hover .iconWrapper {
125
- color: var(
126
- --recursica_ui-kit_components_link_variants_states_visited-hover_properties_colors_icon
73
+ --recursica_ui-kit_components_link_variants_states_visited_properties_colors_icon-color
127
74
  );
128
75
  }
129
76
 
@@ -19,7 +19,7 @@
19
19
  }
20
20
  .root[data-size="small"][data-variant="oval"] {
21
21
  --loader-thickness: var(
22
- --recursica_ui-kit_components_loader_variants_sizes_small_properties_thickness
22
+ --recursica_ui-kit_components_loader_variants_sizes_small_properties_thickness-size
23
23
  );
24
24
  }
25
25
  .root[data-size="small"]:not([data-variant="oval"]) span {
@@ -36,7 +36,7 @@
36
36
  }
37
37
  .root[data-size="default"][data-variant="oval"] {
38
38
  --loader-thickness: var(
39
- --recursica_ui-kit_components_loader_variants_sizes_default_properties_thickness
39
+ --recursica_ui-kit_components_loader_variants_sizes_default_properties_thickness-size
40
40
  );
41
41
  }
42
42
  .root[data-size="default"]:not([data-variant="oval"]) span {
@@ -53,7 +53,7 @@
53
53
  }
54
54
  .root[data-size="large"][data-variant="oval"] {
55
55
  --loader-thickness: var(
56
- --recursica_ui-kit_components_loader_variants_sizes_large_properties_thickness
56
+ --recursica_ui-kit_components_loader_variants_sizes_large_properties_thickness-size
57
57
  );
58
58
  }
59
59
  .root[data-size="large"]:not([data-variant="oval"]) span {