@recursica/mui-adapter 0.18.1 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/dist/mui-adapter.cjs +172 -23
- package/dist/mui-adapter.cjs.map +1 -1
- package/dist/mui-adapter.css +1 -1
- package/dist/mui-adapter.js +12963 -4695
- package/dist/mui-adapter.js.map +1 -1
- package/dist/src/components/Tree/Tree.d.ts +9 -5
- package/package.json +6 -1
- package/src/components/Accordion/Accordion.module.css +98 -62
- package/src/components/Autocomplete/Autocomplete.module.css +50 -47
- package/src/components/Autocomplete/Autocomplete.tsx +2 -2
- package/src/components/Avatar/Avatar.module.css +7 -7
- package/src/components/Badge/Badge.module.css +8 -8
- package/src/components/Button/Button.module.css +25 -43
- package/src/components/Card/Card.module.css +3 -3
- package/src/components/Checkbox/Checkbox.module.css +57 -16
- package/src/components/Chip/Chip.module.css +32 -20
- package/src/components/Dropdown/Dropdown.module.css +47 -44
- package/src/components/Dropdown/Dropdown.tsx +2 -2
- package/src/components/FormControlWrapper/FormControlWrapper.module.css +12 -12
- package/src/components/HoverCard/HoverCard.module.css +1 -1
- package/src/components/Label/Label.module.css +20 -3
- package/src/components/Link/Link.module.css +18 -71
- package/src/components/Loader/Loader.module.css +3 -3
- package/src/components/Menu/Menu.module.css +33 -41
- package/src/components/Modal/Modal.module.css +27 -11
- package/src/components/NumberInput/NumberInput.module.css +39 -37
- package/src/components/NumberInput/NumberInput.tsx +2 -2
- package/src/components/Pagination/Pagination.module.css +10 -43
- package/src/components/Panel/Panel.module.css +3 -3
- package/src/components/Radio/Radio.module.css +32 -15
- package/src/components/ReadOnlyField/ReadOnlyField.module.css +1 -1
- package/src/components/SegmentedControl/SegmentedControl.module.css +37 -29
- package/src/components/Slider/Slider.module.css +51 -35
- package/src/components/Stepper/Stepper.module.css +3 -3
- package/src/components/Switch/Switch.module.css +27 -11
- package/src/components/Tabs/Tabs.module.css +309 -166
- package/src/components/TextArea/TextArea.module.css +36 -21
- package/src/components/TextArea/TextArea.tsx +2 -2
- package/src/components/TextField/TextField.module.css +38 -33
- package/src/components/TextField/TextField.tsx +2 -2
- package/src/components/Timeline/IMPLEMENTATION_NOTES.md +5 -0
- package/src/components/Timeline/Timeline.module.css +35 -34
- package/src/components/Toast/Toast.module.css +24 -11
- package/src/components/Tooltip/Tooltip.module.css +4 -2
- package/src/components/Tree/IMPLEMENTATION_NOTES.md +21 -0
- package/src/components/Tree/Tree.module.css +204 -39
- package/src/components/Tree/Tree.stories.tsx +81 -4
- package/src/components/Tree/Tree.tsx +214 -13
- package/src/components/Tree/USAGE.md +40 -3
|
@@ -120,8 +120,8 @@ export const Dropdown = forwardRef<HTMLInputElement, DropdownProps>(
|
|
|
120
120
|
<WithReadOnlyWrapper
|
|
121
121
|
className={wrapperClass}
|
|
122
122
|
style={injectedStyles}
|
|
123
|
-
controlMaxWidth="var(--
|
|
124
|
-
controlMinWidth="var(--
|
|
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(
|
|
19
|
-
|
|
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-
|
|
23
|
-
--recursica_ui-
|
|
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(
|
|
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(
|
|
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;
|
|
@@ -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
|
|
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-
|
|
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-
|
|
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 {
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
/* EXEMPTIONS:
|
|
2
|
-
-
|
|
3
|
-
supporting secondary text, making selected
|
|
4
|
-
/* recursica-ignore: --recursica_ui-kit_components_menu-
|
|
2
|
+
- colors_supporting-text-color (selected variant) is ignored because selected menu items do not render
|
|
3
|
+
supporting secondary text, making the selected-state override for supporting text colors obsolete. */
|
|
4
|
+
/* recursica-ignore: --recursica_ui-kit_components_menu-item_variants_selection-states_selected_properties_colors_supporting-text-color */
|
|
5
5
|
|
|
6
6
|
/* HARDCODED VALUES:
|
|
7
7
|
- border-style: solid. Structural rendering rule for the dropdown border (Mantine uses Paper which may not set border natively).
|
|
8
|
-
- opacity: 0.5 on disabled items. Recursica has no dedicated disabled-opacity token for menu items.
|
|
9
8
|
- NOTE: overflow is intentionally NOT set on .dropdown. Mantine renders sub-menu dropdowns
|
|
10
9
|
inside the parent dropdown DOM tree using Floating UI absolute positioning. Setting
|
|
11
10
|
overflow: hidden clips sub-menus; overflow-y: auto causes unwanted scrollbars.
|
|
12
11
|
- All structural layout (flex, cursor, pointer-events on disabled) is deferred to Mantine's
|
|
13
12
|
native behavior. We only override visual design tokens (colors, typography, spacing, borders).
|
|
13
|
+
- Hover overlay: the schema no longer provides per-item hover-color/hover-opacity tokens; the
|
|
14
|
+
overlay now uses the generic --recursica_brand_states_hover_* tokens shared across components.
|
|
14
15
|
*/
|
|
15
16
|
|
|
16
17
|
/* ======================================
|
|
@@ -19,7 +20,7 @@
|
|
|
19
20
|
|
|
20
21
|
.dropdown {
|
|
21
22
|
background-color: var(
|
|
22
|
-
--recursica_ui-kit_components_menu_properties_colors_background
|
|
23
|
+
--recursica_ui-kit_components_menu_properties_colors_background-color
|
|
23
24
|
);
|
|
24
25
|
border-style: solid; /* HARDCODE: Mantine Paper does not set border-style natively */
|
|
25
26
|
border-width: var(--recursica_ui-kit_components_menu_properties_border-size);
|
|
@@ -34,10 +35,7 @@
|
|
|
34
35
|
min-width: var(--recursica_ui-kit_components_menu_properties_min-width);
|
|
35
36
|
max-height: var(--recursica_ui-kit_components_menu_properties_max-height);
|
|
36
37
|
max-width: var(--recursica_ui-kit_components_menu_properties_max-width);
|
|
37
|
-
|
|
38
|
-
/* HARDCODE: Figma UI Kit does not export padding tokens for the Menu container itself.
|
|
39
|
-
If added in the future, it would be mapped here. */
|
|
40
|
-
padding: 8px;
|
|
38
|
+
padding: var(--recursica_ui-kit_components_menu_properties_padding);
|
|
41
39
|
}
|
|
42
40
|
|
|
43
41
|
/* ======================================
|
|
@@ -55,6 +53,7 @@
|
|
|
55
53
|
border-radius: var(
|
|
56
54
|
--recursica_ui-kit_components_menu-item_properties_border-radius
|
|
57
55
|
);
|
|
56
|
+
margin-bottom: var(--recursica_ui-kit_components_menu_properties_item-gap);
|
|
58
57
|
|
|
59
58
|
/* Typography */
|
|
60
59
|
font-family: var(
|
|
@@ -84,22 +83,27 @@
|
|
|
84
83
|
|
|
85
84
|
/* Default State: Unselected */
|
|
86
85
|
background-color: var(
|
|
87
|
-
--recursica_ui-kit_components_menu-
|
|
86
|
+
--recursica_ui-kit_components_menu-item_variants_selection-states_unselected_properties_colors_background-color
|
|
88
87
|
);
|
|
89
88
|
color: var(
|
|
90
|
-
--recursica_ui-kit_components_menu-
|
|
89
|
+
--recursica_ui-kit_components_menu-item_variants_selection-states_unselected_properties_colors_text-color
|
|
91
90
|
);
|
|
92
91
|
opacity: 1;
|
|
93
92
|
}
|
|
93
|
+
.item:last-of-type {
|
|
94
|
+
margin-bottom: 0;
|
|
95
|
+
}
|
|
94
96
|
|
|
95
97
|
/* Override Mantine's native hover background to use our overlay technique */
|
|
96
98
|
.item:hover {
|
|
97
99
|
background-color: var(
|
|
98
|
-
--recursica_ui-kit_components_menu-
|
|
100
|
+
--recursica_ui-kit_components_menu-item_variants_selection-states_unselected_properties_colors_background-color
|
|
99
101
|
);
|
|
100
102
|
}
|
|
101
103
|
|
|
102
|
-
/* Hover overlay using ::after pseudo-element (same technique as Accordion)
|
|
104
|
+
/* Hover overlay using ::after pseudo-element (same technique as Accordion); no per-item
|
|
105
|
+
hover-color/hover-opacity tokens exist anymore, so this uses the generic overlay tokens
|
|
106
|
+
uniformly regardless of selection state. */
|
|
103
107
|
.item::after {
|
|
104
108
|
content: "";
|
|
105
109
|
position: absolute;
|
|
@@ -107,58 +111,46 @@
|
|
|
107
111
|
border-radius: inherit;
|
|
108
112
|
z-index: 0;
|
|
109
113
|
pointer-events: none;
|
|
110
|
-
background-color: var(
|
|
111
|
-
--recursica_ui-kit_components_menu-item_properties_colors_unselected-item_hover-color
|
|
112
|
-
);
|
|
114
|
+
background-color: var(--recursica_brand_states_hover_color);
|
|
113
115
|
opacity: 0;
|
|
114
116
|
transition: opacity 150ms ease;
|
|
115
117
|
}
|
|
116
118
|
|
|
117
119
|
.item:hover:not([data-disabled])::after {
|
|
118
|
-
opacity: var(
|
|
119
|
-
--recursica_ui-kit_components_menu-item_properties_colors_unselected-item_hover-opacity
|
|
120
|
-
);
|
|
120
|
+
opacity: var(--recursica_brand_states_hover_opacity);
|
|
121
121
|
}
|
|
122
122
|
|
|
123
123
|
/* Selected item state */
|
|
124
124
|
.item[data-selected] {
|
|
125
125
|
background-color: var(
|
|
126
|
-
--recursica_ui-kit_components_menu-
|
|
126
|
+
--recursica_ui-kit_components_menu-item_variants_selection-states_selected_properties_colors_background-color
|
|
127
127
|
);
|
|
128
128
|
color: var(
|
|
129
|
-
--recursica_ui-kit_components_menu-
|
|
129
|
+
--recursica_ui-kit_components_menu-item_variants_selection-states_selected_properties_colors_text-color
|
|
130
130
|
);
|
|
131
131
|
opacity: 1;
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
-
.item[data-selected]::after {
|
|
135
|
-
background-color: var(
|
|
136
|
-
--recursica_ui-kit_components_menu-item_properties_colors_selected-item_hover-color
|
|
137
|
-
);
|
|
138
|
-
}
|
|
139
|
-
|
|
140
134
|
/* Hovered item state (keyboard navigation) */
|
|
141
135
|
.item[data-hovered] {
|
|
142
136
|
background-color: var(
|
|
143
|
-
--recursica_ui-kit_components_menu-
|
|
137
|
+
--recursica_ui-kit_components_menu-item_variants_selection-states_unselected_properties_colors_background-color
|
|
144
138
|
);
|
|
145
139
|
}
|
|
146
140
|
.item[data-hovered]::after {
|
|
147
|
-
opacity: var(
|
|
148
|
-
--recursica_ui-kit_components_menu-item_properties_colors_unselected-item_hover-opacity
|
|
149
|
-
);
|
|
141
|
+
opacity: var(--recursica_brand_states_hover_opacity);
|
|
150
142
|
}
|
|
151
143
|
|
|
152
|
-
|
|
144
|
+
/* Disabled item (opacity differs depending on selection state) */
|
|
145
|
+
.item[data-disabled]:not([data-selected]) {
|
|
153
146
|
opacity: var(
|
|
154
|
-
--recursica_ui-kit_components_menu-
|
|
147
|
+
--recursica_ui-kit_components_menu-item_variants_selection-states_unselected_variants_states_disabled_properties_opacity
|
|
155
148
|
);
|
|
156
149
|
}
|
|
157
150
|
|
|
158
|
-
|
|
159
|
-
.item[data-disabled] {
|
|
151
|
+
.item[data-disabled][data-selected] {
|
|
160
152
|
opacity: var(
|
|
161
|
-
--recursica_ui-kit_components_menu-
|
|
153
|
+
--recursica_ui-kit_components_menu-item_variants_selection-states_selected_variants_states_disabled_properties_opacity
|
|
162
154
|
);
|
|
163
155
|
}
|
|
164
156
|
|
|
@@ -192,7 +184,7 @@
|
|
|
192
184
|
--recursica_ui-kit_components_menu-item_properties_icon-text-gap
|
|
193
185
|
);
|
|
194
186
|
color: var(
|
|
195
|
-
--recursica_ui-kit_components_menu-
|
|
187
|
+
--recursica_ui-kit_components_menu-item_variants_selection-states_unselected_properties_colors_leading-icon-color
|
|
196
188
|
);
|
|
197
189
|
}
|
|
198
190
|
|
|
@@ -205,19 +197,19 @@
|
|
|
205
197
|
);
|
|
206
198
|
margin-left: var(--recursica_ui-kit_components_menu-item_properties_text-gap);
|
|
207
199
|
color: var(
|
|
208
|
-
--recursica_ui-kit_components_menu-
|
|
200
|
+
--recursica_ui-kit_components_menu-item_variants_selection-states_unselected_properties_colors_trailing-icon-color
|
|
209
201
|
);
|
|
210
202
|
}
|
|
211
203
|
|
|
212
204
|
.item[data-selected] .itemSection[data-position="left"] {
|
|
213
205
|
color: var(
|
|
214
|
-
--recursica_ui-kit_components_menu-
|
|
206
|
+
--recursica_ui-kit_components_menu-item_variants_selection-states_selected_properties_colors_leading-icon-color
|
|
215
207
|
);
|
|
216
208
|
}
|
|
217
209
|
|
|
218
210
|
.item[data-selected] .itemSection[data-position="right"] {
|
|
219
211
|
color: var(
|
|
220
|
-
--recursica_ui-kit_components_menu-
|
|
212
|
+
--recursica_ui-kit_components_menu-item_variants_selection-states_selected_properties_colors_trailing-icon-color
|
|
221
213
|
);
|
|
222
214
|
}
|
|
223
215
|
|
|
@@ -271,7 +263,7 @@
|
|
|
271
263
|
);
|
|
272
264
|
|
|
273
265
|
color: var(
|
|
274
|
-
--recursica_ui-kit_components_menu-
|
|
266
|
+
--recursica_ui-kit_components_menu-item_variants_selection-states_unselected_properties_colors_supporting-text-color
|
|
275
267
|
);
|
|
276
268
|
opacity: 0.7;
|
|
277
269
|
}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
/* EXEMPTIONS:
|
|
2
|
-
- content-style and header-style parent variables represent raw JSON styling objects rather than
|
|
2
|
+
- content-style and header-style parent variables represent raw JSON styling objects rather than
|
|
3
3
|
direct CSS variables and cannot be applied directly in standard CSS files.
|
|
4
|
-
Sub-properties are fully and individually mapped to elements natively.
|
|
4
|
+
Sub-properties are fully and individually mapped to elements natively.
|
|
5
|
+
- header/footer background-color are ignored because .header/.footer are intentionally
|
|
6
|
+
transparent (inheriting .content's background), matching Panel's header/footer treatment. */
|
|
5
7
|
/* recursica-ignore: --recursica_ui-kit_components_modal_properties_content-style */
|
|
6
8
|
/* recursica-ignore: --recursica_ui-kit_components_modal_properties_header-style */
|
|
9
|
+
/* recursica-ignore: --recursica_ui-kit_components_modal_properties_colors_footer-background-color */
|
|
10
|
+
/* recursica-ignore: --recursica_ui-kit_components_modal_properties_colors_header-background-color */
|
|
7
11
|
|
|
8
12
|
.root {
|
|
9
13
|
}
|
|
@@ -37,7 +41,7 @@
|
|
|
37
41
|
|
|
38
42
|
/* Appearance */
|
|
39
43
|
background-color: var(
|
|
40
|
-
--recursica_ui-
|
|
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(
|
|
51
|
-
|
|
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(
|
|
97
|
-
|
|
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-
|
|
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-
|
|
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(
|
|
163
|
-
|
|
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;
|