@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
@@ -0,0 +1,54 @@
1
+ # Layer - Usage Guide
2
+
3
+ This document describes how to integrate and use the `Layer` component in your projects using `@recursica/mantine-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/mantine-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 {
23
+ RecursicaThemeProvider,
24
+ Layer,
25
+ Card,
26
+ } from "@recursica/mantine-adapter";
27
+
28
+ function App() {
29
+ return (
30
+ <RecursicaThemeProvider theme="light">
31
+ {/* Page background/surface already uses layer 0, applied automatically */}
32
+ <Layer layer={1}>
33
+ <Card>Elevated content sits on layer 1</Card>
34
+ </Layer>
35
+ </RecursicaThemeProvider>
36
+ );
37
+ }
38
+ ```
39
+
40
+ ---
41
+
42
+ ## 3. Design System Integration
43
+
44
+ > [!IMPORTANT]
45
+ >
46
+ > - **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).
47
+ > - **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).
48
+ > - **`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).
49
+
50
+ ---
51
+
52
+ ## 4. Key Integration Features & Constraints
53
+
54
+ `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,15 +1,8 @@
1
1
  # Link Component Implementation Notes
2
2
 
3
- ## Missing States in Design Tokens
3
+ ## States in Design Tokens
4
4
 
5
- Currently, the design tokens (`recursica_variables_scoped.css`) only provide states for:
6
-
7
- - `default`
8
- - `hover`
9
- - `visited`
10
- - `visited-hover`
11
-
12
- There are no tokens for the `active` or `focus` states. If these are needed, they must be added to the Figma variables and exported via the token pipeline. The component relies on the browser's default focus outline for accessibility unless overriden by a global reset.
5
+ The design tokens (`recursica_variables_scoped.css`) provide the base link styling directly on `--recursica_ui-kit_components_link_properties_*` (no distinct `default` state), plus a `visited` variant that overrides only `colors_text-color`/`colors_icon-color`. There is no per-state token for `hover` anymore (a prior schema version had one); the component currently applies no distinct hover treatment beyond the browser's native `cursor: pointer`. There are no tokens for `active` or `focus` either; the component relies on the browser's default focus outline for accessibility unless overridden by a global reset.
13
6
 
14
7
  ## Overriding Mantine's underline Prop
15
8
 
@@ -1,10 +1,7 @@
1
1
  /* EXEMPTIONS:
2
- - text_text-transform across multiple link states (default, hover, visited, visited-hover) is ignored
3
- because links naturally inherit casing directly from text children rather than requiring custom CSS transforms. */
4
- /* recursica-ignore: --recursica_ui-kit_components_link_variants_states_default_properties_text_text-transform */
5
- /* recursica-ignore: --recursica_ui-kit_components_link_variants_states_hover_properties_text_text-transform */
6
- /* recursica-ignore: --recursica_ui-kit_components_link_variants_states_visited_properties_text_text-transform */
7
- /* recursica-ignore: --recursica_ui-kit_components_link_variants_states_visited-hover_properties_text_text-transform */
2
+ - text_text-transform is ignored because links naturally inherit casing directly from text
3
+ children rather than requiring custom CSS transforms. */
4
+ /* recursica-ignore: --recursica_ui-kit_components_link_properties_text_text-transform */
8
5
 
9
6
  /*
10
7
  HARDCODED VALUES:
@@ -24,31 +21,27 @@ HARDCODED VALUES:
24
21
  text-decoration: none;
25
22
  color: inherit;
26
23
 
27
- /* Typography Default Tokens */
24
+ /* Typography Tokens */
28
25
  font-family: var(
29
26
  --recursica_ui-kit_components_link_properties_text_font-family
30
27
  );
31
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
+ );
32
35
  letter-spacing: var(
33
36
  --recursica_ui-kit_components_link_properties_text_letter-spacing
34
37
  );
35
38
  line-height: var(
36
39
  --recursica_ui-kit_components_link_properties_text_line-height
37
40
  );
38
-
39
- /* Default State Tokens */
40
- font-style: var(
41
- --recursica_ui-kit_components_link_variants_states_default_properties_text_font-style
42
- );
43
- font-weight: var(
44
- --recursica_ui-kit_components_link_variants_states_default_properties_text_font-weight
45
- );
46
41
  text-decoration: var(
47
- --recursica_ui-kit_components_link_variants_states_default_properties_text_text-decoration
48
- );
49
- color: var(
50
- --recursica_ui-kit_components_link_variants_states_default_properties_colors_text
42
+ --recursica_ui-kit_components_link_properties_text_text-decoration
51
43
  );
44
+ color: var(--recursica_ui-kit_components_link_properties_colors_text-color);
52
45
  }
53
46
 
54
47
  .root[data-has-icon] {
@@ -57,49 +50,9 @@ HARDCODED VALUES:
57
50
  gap: var(--recursica_ui-kit_components_link_properties_icon-text-gap);
58
51
  }
59
52
 
60
- .root:hover {
61
- /* Reset Mantine's potential hover override */
62
- text-decoration: var(
63
- --recursica_ui-kit_components_link_variants_states_hover_properties_text_text-decoration
64
- );
65
- font-style: var(
66
- --recursica_ui-kit_components_link_variants_states_hover_properties_text_font-style
67
- );
68
- font-weight: var(
69
- --recursica_ui-kit_components_link_variants_states_hover_properties_text_font-weight
70
- );
71
- color: var(
72
- --recursica_ui-kit_components_link_variants_states_hover_properties_colors_text
73
- );
74
- }
75
-
76
53
  .root:visited {
77
- text-decoration: var(
78
- --recursica_ui-kit_components_link_variants_states_visited_properties_text_text-decoration
79
- );
80
- font-style: var(
81
- --recursica_ui-kit_components_link_variants_states_visited_properties_text_font-style
82
- );
83
- font-weight: var(
84
- --recursica_ui-kit_components_link_variants_states_visited_properties_text_font-weight
85
- );
86
54
  color: var(
87
- --recursica_ui-kit_components_link_variants_states_visited_properties_colors_text
88
- );
89
- }
90
-
91
- .root:visited:hover {
92
- text-decoration: var(
93
- --recursica_ui-kit_components_link_variants_states_visited-hover_properties_text_text-decoration
94
- );
95
- font-style: var(
96
- --recursica_ui-kit_components_link_variants_states_visited-hover_properties_text_font-style
97
- );
98
- font-weight: var(
99
- --recursica_ui-kit_components_link_variants_states_visited-hover_properties_text_font-weight
100
- );
101
- color: var(
102
- --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
103
56
  );
104
57
  }
105
58
 
@@ -112,26 +65,12 @@ HARDCODED VALUES:
112
65
 
113
66
  width: var(--recursica_ui-kit_components_link_properties_icon-size);
114
67
  height: var(--recursica_ui-kit_components_link_properties_icon-size);
115
- color: var(
116
- --recursica_ui-kit_components_link_variants_states_default_properties_colors_icon
117
- );
118
- }
119
-
120
- .root:hover .iconWrapper {
121
- color: var(
122
- --recursica_ui-kit_components_link_variants_states_hover_properties_colors_icon
123
- );
68
+ color: var(--recursica_ui-kit_components_link_properties_colors_icon-color);
124
69
  }
125
70
 
126
71
  .root:visited .iconWrapper {
127
72
  color: var(
128
- --recursica_ui-kit_components_link_variants_states_visited_properties_colors_icon
129
- );
130
- }
131
-
132
- .root:visited:hover .iconWrapper {
133
- color: var(
134
- --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
135
74
  );
136
75
  }
137
76
 
@@ -43,16 +43,9 @@ All Recursica components in the `@recursica/mantine-adapter` package adhere stri
43
43
 
44
44
  ## 4. Key Integration Features & Constraints
45
45
 
46
- ## Missing States in Design Tokens
46
+ ## States in Design Tokens
47
47
 
48
- Currently, the design tokens (`recursica_variables_scoped.css`) only provide states for:
49
-
50
- - `default`
51
- - `hover`
52
- - `visited`
53
- - `visited-hover`
54
-
55
- There are no tokens for the `active` or `focus` states. If these are needed, they must be added to the Figma variables and exported via the token pipeline. The component relies on the browser's default focus outline for accessibility unless overriden by a global reset.
48
+ The design tokens (`recursica_variables_scoped.css`) provide the base link styling directly on `--recursica_ui-kit_components_link_properties_*` (no distinct `default` state), plus a `visited` variant that overrides only `colors_text-color`/`colors_icon-color`. There is no per-state token for `hover` anymore (a prior schema version had one); the component currently applies no distinct hover treatment beyond the browser's native `cursor: pointer`. There are no tokens for `active` or `focus` either; the component relies on the browser's default focus outline for accessibility unless overridden by a global reset.
56
49
 
57
50
  ## Overriding Mantine's underline Prop
58
51
 
@@ -15,7 +15,7 @@
15
15
  }
16
16
  .root[data-size="small"][data-variant="oval"]::after {
17
17
  border-width: var(
18
- --recursica_ui-kit_components_loader_variants_sizes_small_properties_thickness
18
+ --recursica_ui-kit_components_loader_variants_sizes_small_properties_thickness-size
19
19
  );
20
20
  border-radius: var(
21
21
  --recursica_ui-kit_components_loader_variants_sizes_small_properties_border-radius
@@ -30,7 +30,7 @@
30
30
  }
31
31
  .root[data-size="default"][data-variant="oval"]::after {
32
32
  border-width: var(
33
- --recursica_ui-kit_components_loader_variants_sizes_default_properties_thickness
33
+ --recursica_ui-kit_components_loader_variants_sizes_default_properties_thickness-size
34
34
  );
35
35
  border-radius: var(
36
36
  --recursica_ui-kit_components_loader_variants_sizes_default_properties_border-radius
@@ -45,7 +45,7 @@
45
45
  }
46
46
  .root[data-size="large"][data-variant="oval"]::after {
47
47
  border-width: var(
48
- --recursica_ui-kit_components_loader_variants_sizes_large_properties_thickness
48
+ --recursica_ui-kit_components_loader_variants_sizes_large_properties_thickness-size
49
49
  );
50
50
  border-radius: var(
51
51
  --recursica_ui-kit_components_loader_variants_sizes_large_properties_border-radius
@@ -1,16 +1,18 @@
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
3
+ render supporting secondary text, making the selected-state override for supporting text
4
+ colors obsolete. */
5
+ /* recursica-ignore: --recursica_ui-kit_components_menu-item_variants_selection-states_selected_properties_colors_supporting-text-color */
5
6
 
6
7
  /* HARDCODED VALUES:
7
8
  - 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
9
  - NOTE: overflow is intentionally NOT set on .dropdown. Mantine renders sub-menu dropdowns
10
10
  inside the parent dropdown DOM tree using Floating UI absolute positioning. Setting
11
11
  overflow: hidden clips sub-menus; overflow-y: auto causes unwanted scrollbars.
12
12
  - All structural layout (flex, cursor, pointer-events on disabled) is deferred to Mantine's
13
13
  native behavior. We only override visual design tokens (colors, typography, spacing, borders).
14
+ - Hover overlay: the schema no longer provides per-item hover-color/hover-opacity tokens; the
15
+ overlay now uses the generic --recursica_brand_states_hover_* tokens shared across components.
14
16
  */
15
17
 
16
18
  /* ======================================
@@ -19,7 +21,7 @@
19
21
 
20
22
  .dropdown {
21
23
  background-color: var(
22
- --recursica_ui-kit_components_menu_properties_colors_background
24
+ --recursica_ui-kit_components_menu_properties_colors_background-color
23
25
  );
24
26
  border-style: solid; /* HARDCODE: Mantine Paper does not set border-style natively */
25
27
  border-width: var(--recursica_ui-kit_components_menu_properties_border-size);
@@ -34,10 +36,7 @@
34
36
  min-width: var(--recursica_ui-kit_components_menu_properties_min-width);
35
37
  max-height: var(--recursica_ui-kit_components_menu_properties_max-height);
36
38
  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;
39
+ padding: var(--recursica_ui-kit_components_menu_properties_padding);
41
40
  }
42
41
 
43
42
  /* ======================================
@@ -55,6 +54,7 @@
55
54
  border-radius: var(
56
55
  --recursica_ui-kit_components_menu-item_properties_border-radius
57
56
  );
57
+ margin-bottom: var(--recursica_ui-kit_components_menu_properties_item-gap);
58
58
 
59
59
  /* Typography */
60
60
  font-family: var(
@@ -84,22 +84,27 @@
84
84
 
85
85
  /* Default State: Unselected */
86
86
  background-color: var(
87
- --recursica_ui-kit_components_menu-item_properties_colors_unselected-item_background
87
+ --recursica_ui-kit_components_menu-item_variants_selection-states_unselected_properties_colors_background-color
88
88
  );
89
89
  color: var(
90
- --recursica_ui-kit_components_menu-item_properties_colors_unselected-item_text
90
+ --recursica_ui-kit_components_menu-item_variants_selection-states_unselected_properties_colors_text-color
91
91
  );
92
92
  opacity: 1;
93
93
  }
94
+ .item:last-of-type {
95
+ margin-bottom: 0;
96
+ }
94
97
 
95
98
  /* Override Mantine's native hover background to use our overlay technique */
96
99
  .item:hover {
97
100
  background-color: var(
98
- --recursica_ui-kit_components_menu-item_properties_colors_unselected-item_background
101
+ --recursica_ui-kit_components_menu-item_variants_selection-states_unselected_properties_colors_background-color
99
102
  );
100
103
  }
101
104
 
102
- /* Hover overlay using ::after pseudo-element (same technique as Accordion) */
105
+ /* Hover overlay using ::after pseudo-element (same technique as Accordion); no per-item
106
+ hover-color/hover-opacity tokens exist anymore, so this uses the generic overlay tokens
107
+ uniformly regardless of selection state. */
103
108
  .item::after {
104
109
  content: "";
105
110
  position: absolute;
@@ -107,58 +112,46 @@
107
112
  border-radius: inherit;
108
113
  z-index: 0;
109
114
  pointer-events: none;
110
- background-color: var(
111
- --recursica_ui-kit_components_menu-item_properties_colors_unselected-item_hover-color
112
- );
115
+ background-color: var(--recursica_brand_states_hover_color);
113
116
  opacity: 0;
114
117
  transition: opacity 150ms ease;
115
118
  }
116
119
 
117
120
  .item:hover:not([data-disabled])::after {
118
- opacity: var(
119
- --recursica_ui-kit_components_menu-item_properties_colors_unselected-item_hover-opacity
120
- );
121
+ opacity: var(--recursica_brand_states_hover_opacity);
121
122
  }
122
123
 
123
124
  /* Selected item state */
124
125
  .item[data-selected] {
125
126
  background-color: var(
126
- --recursica_ui-kit_components_menu-item_properties_colors_selected-item_background
127
+ --recursica_ui-kit_components_menu-item_variants_selection-states_selected_properties_colors_background-color
127
128
  );
128
129
  color: var(
129
- --recursica_ui-kit_components_menu-item_properties_colors_selected-item_text
130
+ --recursica_ui-kit_components_menu-item_variants_selection-states_selected_properties_colors_text-color
130
131
  );
131
132
  opacity: 1;
132
133
  }
133
134
 
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
135
  /* Hovered item state (keyboard navigation) */
141
136
  .item[data-hovered] {
142
137
  background-color: var(
143
- --recursica_ui-kit_components_menu-item_properties_colors_unselected-item_background
138
+ --recursica_ui-kit_components_menu-item_variants_selection-states_unselected_properties_colors_background-color
144
139
  );
145
140
  }
146
141
  .item[data-hovered]::after {
147
- opacity: var(
148
- --recursica_ui-kit_components_menu-item_properties_colors_unselected-item_hover-opacity
149
- );
142
+ opacity: var(--recursica_brand_states_hover_opacity);
150
143
  }
151
144
 
152
- .item[data-hovered][data-selected]::after {
145
+ /* Disabled item (opacity differs depending on selection state) */
146
+ .item[data-disabled]:not([data-selected]) {
153
147
  opacity: var(
154
- --recursica_ui-kit_components_menu-item_properties_colors_selected-item_hover-opacity
148
+ --recursica_ui-kit_components_menu-item_variants_selection-states_unselected_variants_states_disabled_properties_opacity
155
149
  );
156
150
  }
157
151
 
158
- /* Disabled item */
159
- .item[data-disabled] {
152
+ .item[data-disabled][data-selected] {
160
153
  opacity: var(
161
- --recursica_ui-kit_components_menu-item_properties_disabled-opacity
154
+ --recursica_ui-kit_components_menu-item_variants_selection-states_selected_variants_states_disabled_properties_opacity
162
155
  );
163
156
  }
164
157
 
@@ -192,7 +185,7 @@
192
185
  --recursica_ui-kit_components_menu-item_properties_icon-text-gap
193
186
  );
194
187
  color: var(
195
- --recursica_ui-kit_components_menu-item_properties_colors_unselected-item_leading-icon-color
188
+ --recursica_ui-kit_components_menu-item_variants_selection-states_unselected_properties_colors_leading-icon-color
196
189
  );
197
190
  }
198
191
 
@@ -205,19 +198,19 @@
205
198
  );
206
199
  margin-left: var(--recursica_ui-kit_components_menu-item_properties_text-gap);
207
200
  color: var(
208
- --recursica_ui-kit_components_menu-item_properties_colors_unselected-item_trailing-icon-color
201
+ --recursica_ui-kit_components_menu-item_variants_selection-states_unselected_properties_colors_trailing-icon-color
209
202
  );
210
203
  }
211
204
 
212
205
  .item[data-selected] .itemSection[data-position="left"] {
213
206
  color: var(
214
- --recursica_ui-kit_components_menu-item_properties_colors_selected-item_leading-icon-color
207
+ --recursica_ui-kit_components_menu-item_variants_selection-states_selected_properties_colors_leading-icon-color
215
208
  );
216
209
  }
217
210
 
218
211
  .item[data-selected] .itemSection[data-position="right"] {
219
212
  color: var(
220
- --recursica_ui-kit_components_menu-item_properties_colors_selected-item_trailing-icon-color
213
+ --recursica_ui-kit_components_menu-item_variants_selection-states_selected_properties_colors_trailing-icon-color
221
214
  );
222
215
  }
223
216
 
@@ -271,7 +264,7 @@
271
264
  );
272
265
 
273
266
  color: var(
274
- --recursica_ui-kit_components_menu-item_properties_colors_unselected-item_supporting-text-color
267
+ --recursica_ui-kit_components_menu-item_variants_selection-states_unselected_properties_colors_supporting-text-color
275
268
  );
276
269
  opacity: 0.7;
277
270
  }
@@ -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;