@recursica/mantine-adapter 0.21.0 → 0.23.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 +18 -0
- package/dist/mantine-adapter.cjs +1 -1
- package/dist/mantine-adapter.cjs.map +1 -1
- package/dist/mantine-adapter.css +1 -1
- package/dist/mantine-adapter.js +2017 -1630
- package/dist/mantine-adapter.js.map +1 -1
- package/dist/src/components/AutoComplete/AutoComplete.d.ts +9 -0
- package/dist/src/components/Avatar/Avatar.d.ts +1 -1
- package/dist/src/components/Badge/Badge.d.ts +1 -1
- package/dist/src/components/Button/Button.d.ts +1 -1
- package/dist/src/components/Card/Card.d.ts +1 -1
- package/dist/src/components/DatePicker/DatePicker.d.ts +8 -2
- package/dist/src/components/Flex/Flex.d.ts +1 -1
- package/dist/src/components/Link/Link.d.ts +1 -1
- package/dist/src/components/SegmentedControl/SegmentedControl.d.ts +6 -1
- package/dist/src/components/Slider/Slider.d.ts +24 -2
- package/dist/src/components/Text/Text.d.ts +1 -1
- package/dist/src/components/Toast/Toast.d.ts +1 -1
- package/dist/src/components/index.d.ts +1 -0
- package/dist/test.html +1 -0
- package/package.json +5 -2
- package/src/GlobalExemptions.modules.css +13 -0
- package/src/components/AutoComplete/AUTOCOMPLETE_IMPLEMENTATION_NOTES.md +21 -0
- package/src/components/AutoComplete/AutoComplete.module.css +311 -0
- package/src/components/AutoComplete/AutoComplete.stories.tsx +187 -0
- package/src/components/AutoComplete/AutoComplete.tsx +154 -0
- package/src/components/Avatar/Avatar.module.css +40 -36
- package/src/components/Badge/Badge.module.css +4 -1
- package/src/components/Breadcrumb/Breadcrumb.stories.tsx +3 -10
- package/src/components/Button/Button.module.css +215 -56
- package/src/components/Button/Button.stories.tsx +27 -0
- package/src/components/Button/Button.tsx +11 -4
- package/src/components/Card/Card.module.css +58 -1
- package/src/components/Card/Card.stories.tsx +4 -2
- package/src/components/Checkbox/Checkbox.module.css +74 -46
- package/src/components/Checkbox/Checkbox.stories.tsx +3 -0
- package/src/components/Checkbox/CheckboxGroup.tsx +1 -9
- package/src/components/Chip/Chip.module.css +19 -1
- package/src/components/DatePicker/DATEPICKER_IMPLEMENTATION_NOTES.md +16 -0
- package/src/components/DatePicker/DatePicker.module.css +286 -0
- package/src/components/DatePicker/DatePicker.stories.tsx +127 -4
- package/src/components/DatePicker/DatePicker.tsx +166 -5
- package/src/components/Dropdown/Dropdown.module.css +42 -15
- package/src/components/Dropdown/Dropdown.stories.tsx +3 -0
- package/src/components/Dropdown/Dropdown.tsx +5 -1
- package/src/components/FileInput/FileInput.module.css +50 -0
- package/src/components/FileUpload/FileUpload.module.css +43 -0
- package/src/components/FormControlLayout/FormControlLayout.module.css +12 -2
- package/src/components/FormControlWrapper/FormControlWrapper.module.css +67 -0
- package/src/components/HoverCard/HoverCard.module.css +12 -5
- package/src/components/Label/Label.module.css +11 -3
- package/src/components/Link/Link.module.css +8 -0
- package/src/components/Loader/LOADER_IMPLEMENTATION_NOTES.md +1 -2
- package/src/components/Loader/Loader.module.css +3 -9
- package/src/components/Menu/Menu.module.css +73 -30
- package/src/components/Modal/Modal.module.css +92 -47
- package/src/components/NumberInput/NumberInput.module.css +46 -15
- package/src/components/NumberInput/NumberInput.tsx +5 -1
- package/src/components/Pagination/Pagination.module.css +123 -41
- package/src/components/Panel/Panel.module.css +55 -3
- package/src/components/Popover/Popover.module.css +6 -4
- package/src/components/Radio/Radio.module.css +72 -59
- package/src/components/Radio/Radio.stories.tsx +3 -0
- package/src/components/Radio/RadioGroup.tsx +1 -8
- package/src/components/ReadOnlyField/ReadOnlyField.module.css +14 -0
- package/src/components/ReadOnlyField/ReadOnlyField.tsx +16 -1
- package/src/components/SegmentedControl/SegmentedControl.module.css +106 -41
- package/src/components/SegmentedControl/SegmentedControl.stories.tsx +1 -4
- package/src/components/SegmentedControl/SegmentedControl.tsx +18 -4
- package/src/components/Slider/IMPLEMENTATION_NOTES.md +49 -0
- package/src/components/Slider/Slider.module.css +498 -0
- package/src/components/Slider/Slider.stories.tsx +159 -4
- package/src/components/Slider/Slider.tsx +283 -4
- package/src/components/Stepper/Stepper.module.css +53 -2
- package/src/components/Switch/Switch.module.css +62 -23
- package/src/components/Switch/Switch.stories.tsx +3 -0
- package/src/components/Switch/Switch.tsx +1 -0
- package/src/components/Switch/SwitchGroup.tsx +3 -10
- package/src/components/Tabs/Tabs.module.css +33 -12
- package/src/components/TextArea/TextArea.module.css +58 -120
- package/src/components/TextArea/TextArea.stories.tsx +3 -0
- package/src/components/TextArea/TextArea.tsx +7 -3
- package/src/components/TextField/TextField.module.css +46 -15
- package/src/components/TextField/TextField.tsx +5 -1
- package/src/components/TimePicker/TimePicker.module.css +44 -0
- package/src/components/Timeline/Timeline.module.css +6 -0
- package/src/components/Toast/Toast.module.css +56 -1
- package/src/components/Toast/Toast.tsx +1 -1
- package/src/components/Tooltip/Tooltip.module.css +9 -0
- package/src/components/TransferList/TransferList.module.css +41 -0
- package/src/components/index.ts +1 -0
|
@@ -35,6 +35,9 @@
|
|
|
35
35
|
--tabs-vertical-padding: var(
|
|
36
36
|
--recursica_ui-kit_components_tabs_variants_orientation_horizontal_properties_vertical-padding
|
|
37
37
|
);
|
|
38
|
+
--tabs-content-alignment: var(
|
|
39
|
+
--recursica_ui-kit_components_tabs_variants_orientation_horizontal_properties_tab-content-alignment
|
|
40
|
+
);
|
|
38
41
|
}
|
|
39
42
|
|
|
40
43
|
.root[data-orientation="horizontal"] .list {
|
|
@@ -59,6 +62,9 @@
|
|
|
59
62
|
--tabs-vertical-padding: var(
|
|
60
63
|
--recursica_ui-kit_components_tabs_variants_orientation_vertical_properties_vertical-padding
|
|
61
64
|
);
|
|
65
|
+
--tabs-content-alignment: var(
|
|
66
|
+
--recursica_ui-kit_components_tabs_variants_orientation_vertical_properties_tab-content-alignment
|
|
67
|
+
);
|
|
62
68
|
}
|
|
63
69
|
|
|
64
70
|
.root[data-orientation="vertical"] .list {
|
|
@@ -85,17 +91,23 @@
|
|
|
85
91
|
--tabs-color: var(
|
|
86
92
|
--recursica_ui-kit_components_tabs_variants_styles_default_properties_active_colors_border-color
|
|
87
93
|
) !important;
|
|
94
|
+
--tabs-hover-color: var(
|
|
95
|
+
--recursica_ui-kit_components_tabs_variants_styles_default_properties_hover-color
|
|
96
|
+
);
|
|
97
|
+
--tabs-hover-opacity: var(
|
|
98
|
+
--recursica_ui-kit_components_tabs_variants_styles_default_properties_hover-opacity
|
|
99
|
+
);
|
|
88
100
|
}
|
|
89
101
|
|
|
90
102
|
.root[data-variant="default"][data-orientation="horizontal"] .list {
|
|
91
103
|
margin-bottom: var(
|
|
92
|
-
--recursica_ui-
|
|
104
|
+
--recursica_ui-kit_components_tabs_variants_styles_default_variants_orientation_horizontal_properties_tabs-content-gap
|
|
93
105
|
);
|
|
94
106
|
}
|
|
95
107
|
|
|
96
108
|
.root[data-variant="default"][data-orientation="vertical"] .list {
|
|
97
109
|
margin-right: var(
|
|
98
|
-
--recursica_ui-
|
|
110
|
+
--recursica_ui-kit_components_tabs_variants_styles_default_variants_orientation_vertical_properties_tabs-content-gap
|
|
99
111
|
);
|
|
100
112
|
}
|
|
101
113
|
|
|
@@ -116,17 +128,23 @@
|
|
|
116
128
|
--tabs-color: var(
|
|
117
129
|
--recursica_ui-kit_components_tabs_variants_styles_outline_properties_active_colors_border-color
|
|
118
130
|
) !important;
|
|
131
|
+
--tabs-hover-color: var(
|
|
132
|
+
--recursica_ui-kit_components_tabs_variants_styles_outline_properties_hover-color
|
|
133
|
+
);
|
|
134
|
+
--tabs-hover-opacity: var(
|
|
135
|
+
--recursica_ui-kit_components_tabs_variants_styles_outline_properties_hover-opacity
|
|
136
|
+
);
|
|
119
137
|
}
|
|
120
138
|
|
|
121
139
|
.root[data-variant="outline"][data-orientation="horizontal"] .list {
|
|
122
140
|
margin-bottom: var(
|
|
123
|
-
--recursica_ui-
|
|
141
|
+
--recursica_ui-kit_components_tabs_variants_styles_outline_variants_orientation_horizontal_properties_tabs-content-gap
|
|
124
142
|
);
|
|
125
143
|
}
|
|
126
144
|
|
|
127
145
|
.root[data-variant="outline"][data-orientation="vertical"] .list {
|
|
128
146
|
margin-right: var(
|
|
129
|
-
--recursica_ui-
|
|
147
|
+
--recursica_ui-kit_components_tabs_variants_styles_outline_variants_orientation_vertical_properties_tabs-content-gap
|
|
130
148
|
);
|
|
131
149
|
}
|
|
132
150
|
|
|
@@ -141,17 +159,23 @@
|
|
|
141
159
|
--tabs-border-radius: var(
|
|
142
160
|
--recursica_ui-kit_components_tabs_variants_styles_pills_properties_border-radius
|
|
143
161
|
);
|
|
162
|
+
--tabs-hover-color: var(
|
|
163
|
+
--recursica_ui-kit_components_tabs_variants_styles_pills_properties_hover-color
|
|
164
|
+
);
|
|
165
|
+
--tabs-hover-opacity: var(
|
|
166
|
+
--recursica_ui-kit_components_tabs_variants_styles_pills_properties_hover-opacity
|
|
167
|
+
);
|
|
144
168
|
}
|
|
145
169
|
|
|
146
170
|
.root[data-variant="pills"][data-orientation="horizontal"] .list {
|
|
147
171
|
margin-bottom: var(
|
|
148
|
-
--recursica_ui-
|
|
172
|
+
--recursica_ui-kit_components_tabs_variants_styles_pills_variants_orientation_horizontal_properties_tabs-content-gap
|
|
149
173
|
);
|
|
150
174
|
}
|
|
151
175
|
|
|
152
176
|
.root[data-variant="pills"][data-orientation="vertical"] .list {
|
|
153
177
|
margin-right: var(
|
|
154
|
-
--recursica_ui-
|
|
178
|
+
--recursica_ui-kit_components_tabs_variants_styles_pills_variants_orientation_vertical_properties_tabs-content-gap
|
|
155
179
|
);
|
|
156
180
|
}
|
|
157
181
|
|
|
@@ -165,8 +189,7 @@
|
|
|
165
189
|
gap: var(--tabs-element-gap);
|
|
166
190
|
display: flex;
|
|
167
191
|
align-items: center;
|
|
168
|
-
|
|
169
|
-
justify-content: flex-start;
|
|
192
|
+
justify-content: var(--tabs-content-alignment);
|
|
170
193
|
cursor: pointer;
|
|
171
194
|
position: relative;
|
|
172
195
|
|
|
@@ -386,10 +409,8 @@
|
|
|
386
409
|
position: absolute;
|
|
387
410
|
inset: 0;
|
|
388
411
|
border-radius: inherit;
|
|
389
|
-
background-color: var(
|
|
390
|
-
|
|
391
|
-
);
|
|
392
|
-
opacity: var(--recursica_ui-kit_components_tabs_properties_hover-opacity);
|
|
412
|
+
background-color: var(--tabs-hover-color);
|
|
413
|
+
opacity: var(--tabs-hover-opacity);
|
|
393
414
|
pointer-events: none;
|
|
394
415
|
z-index: 0;
|
|
395
416
|
}
|
|
@@ -1,3 +1,25 @@
|
|
|
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_textarea_variants_states_default_properties_border-size */
|
|
5
|
+
/* recursica-ignore: --recursica_ui-kit_components_textarea_variants_states_disabled_properties_border-size */
|
|
6
|
+
/* recursica-ignore: --recursica_ui-kit_components_textarea_variants_states_error_properties_border-size */
|
|
7
|
+
/* recursica-ignore: --recursica_ui-kit_components_textarea_variants_states_focus_properties_border-size */
|
|
8
|
+
|
|
9
|
+
/* LAYOUT SPACING OVERRIDES:
|
|
10
|
+
- Sets the --form-control-margin-bottom spacing hook to map component-specific layout tokens. */
|
|
11
|
+
.layoutOverride {
|
|
12
|
+
--form-control-margin-bottom: var(
|
|
13
|
+
--recursica_ui-kit_components_textarea_variants_layouts_stacked_properties_top-bottom-margin
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.layoutOverride[data-form-layout="side-by-side"] {
|
|
18
|
+
--form-control-margin-bottom: var(
|
|
19
|
+
--recursica_ui-kit_components_textarea_variants_layouts_side-by-side_properties_top-bottom-margin
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
|
|
1
23
|
/* HARDCODED VALUES:
|
|
2
24
|
- border-width: 1px. Native geometric boundary for the input box.
|
|
3
25
|
- border-style: solid. Native structural rendering rule.
|
|
@@ -9,29 +31,6 @@
|
|
|
9
31
|
display: flex;
|
|
10
32
|
position: relative;
|
|
11
33
|
width: 100%;
|
|
12
|
-
min-height: var(
|
|
13
|
-
--recursica_ui-kit_components_text-field_properties_min-height
|
|
14
|
-
);
|
|
15
|
-
|
|
16
|
-
/* Override Mantine native Input variables governing section spacing padding mathematics safely */
|
|
17
|
-
--input-left-section-size: calc(
|
|
18
|
-
var(--recursica_ui-kit_components_text-field_properties_icon-size) +
|
|
19
|
-
(
|
|
20
|
-
var(
|
|
21
|
-
--recursica_ui-kit_components_text-field_properties_horizontal-padding
|
|
22
|
-
) *
|
|
23
|
-
2
|
|
24
|
-
)
|
|
25
|
-
);
|
|
26
|
-
--input-right-section-size: calc(
|
|
27
|
-
var(--recursica_ui-kit_components_text-field_properties_icon-size) +
|
|
28
|
-
(
|
|
29
|
-
var(
|
|
30
|
-
--recursica_ui-kit_components_text-field_properties_horizontal-padding
|
|
31
|
-
) *
|
|
32
|
-
2
|
|
33
|
-
)
|
|
34
|
-
);
|
|
35
34
|
}
|
|
36
35
|
|
|
37
36
|
.input {
|
|
@@ -40,63 +39,69 @@
|
|
|
40
39
|
box-sizing: border-box;
|
|
41
40
|
margin: 0;
|
|
42
41
|
|
|
43
|
-
/*
|
|
44
|
-
min-height:
|
|
45
|
-
--recursica_ui-
|
|
42
|
+
/* Sizing driven by rows token */
|
|
43
|
+
min-height: calc(
|
|
44
|
+
var(--recursica_ui-kit_components_textarea_properties_rows) *
|
|
45
|
+
var(--recursica_ui-kit_components_textarea_properties_text_line-height) +
|
|
46
|
+
2 *
|
|
47
|
+
var(--recursica_ui-kit_components_textarea_properties_vertical-padding) +
|
|
48
|
+
2px
|
|
46
49
|
);
|
|
50
|
+
|
|
51
|
+
/* Box Geometry */
|
|
47
52
|
padding-top: var(
|
|
48
|
-
--recursica_ui-
|
|
53
|
+
--recursica_ui-kit_components_textarea_properties_vertical-padding
|
|
49
54
|
);
|
|
50
55
|
padding-bottom: var(
|
|
51
|
-
--recursica_ui-
|
|
56
|
+
--recursica_ui-kit_components_textarea_properties_vertical-padding
|
|
52
57
|
);
|
|
53
58
|
padding-left: var(
|
|
54
|
-
--recursica_ui-
|
|
59
|
+
--recursica_ui-kit_components_textarea_properties_horizontal-padding
|
|
55
60
|
);
|
|
56
61
|
padding-right: var(
|
|
57
|
-
--recursica_ui-
|
|
62
|
+
--recursica_ui-kit_components_textarea_properties_horizontal-padding
|
|
58
63
|
);
|
|
59
64
|
border-radius: var(
|
|
60
|
-
--recursica_ui-
|
|
65
|
+
--recursica_ui-kit_components_textarea_properties_border-radius
|
|
61
66
|
);
|
|
62
67
|
border-width: 1px;
|
|
63
68
|
border-style: solid;
|
|
64
69
|
|
|
65
70
|
/* Strict Typography Unification */
|
|
66
71
|
font-family: var(
|
|
67
|
-
--recursica_ui-
|
|
72
|
+
--recursica_ui-kit_components_textarea_properties_text_font-family
|
|
68
73
|
);
|
|
69
74
|
font-size: var(
|
|
70
|
-
--recursica_ui-
|
|
75
|
+
--recursica_ui-kit_components_textarea_properties_text_font-size
|
|
71
76
|
);
|
|
72
77
|
font-style: var(
|
|
73
|
-
--recursica_ui-
|
|
78
|
+
--recursica_ui-kit_components_textarea_properties_text_font-style
|
|
74
79
|
);
|
|
75
80
|
font-weight: var(
|
|
76
|
-
--recursica_ui-
|
|
81
|
+
--recursica_ui-kit_components_textarea_properties_text_font-weight
|
|
77
82
|
);
|
|
78
83
|
letter-spacing: var(
|
|
79
|
-
--recursica_ui-
|
|
84
|
+
--recursica_ui-kit_components_textarea_properties_text_letter-spacing
|
|
80
85
|
);
|
|
81
86
|
line-height: var(
|
|
82
|
-
--recursica_ui-
|
|
87
|
+
--recursica_ui-kit_components_textarea_properties_text_line-height
|
|
83
88
|
);
|
|
84
89
|
text-decoration: var(
|
|
85
|
-
--recursica_ui-
|
|
90
|
+
--recursica_ui-kit_components_textarea_properties_text_text-decoration
|
|
86
91
|
);
|
|
87
92
|
text-transform: var(
|
|
88
|
-
--recursica_ui-
|
|
93
|
+
--recursica_ui-kit_components_textarea_properties_text_text-transform
|
|
89
94
|
);
|
|
90
95
|
|
|
91
96
|
/* Base State Default Execution */
|
|
92
97
|
background-color: var(
|
|
93
|
-
--recursica_ui-
|
|
98
|
+
--recursica_ui-kit_components_textarea_variants_states_default_properties_colors_background
|
|
94
99
|
);
|
|
95
100
|
border-color: var(
|
|
96
|
-
--recursica_ui-
|
|
101
|
+
--recursica_ui-kit_components_textarea_variants_states_default_properties_colors_border-color
|
|
97
102
|
);
|
|
98
103
|
color: var(
|
|
99
|
-
--recursica_ui-
|
|
104
|
+
--recursica_ui-kit_components_textarea_variants_states_default_properties_colors_text
|
|
100
105
|
);
|
|
101
106
|
|
|
102
107
|
outline: none;
|
|
@@ -104,119 +109,52 @@
|
|
|
104
109
|
|
|
105
110
|
.input::placeholder {
|
|
106
111
|
opacity: var(
|
|
107
|
-
--recursica_ui-
|
|
112
|
+
--recursica_ui-kit_components_textarea_properties_placeholder-opacity
|
|
108
113
|
);
|
|
109
114
|
color: inherit;
|
|
110
115
|
}
|
|
111
116
|
|
|
112
|
-
/* Dynamic Padding Overrides */
|
|
113
|
-
.root[data-with-left-section] .input {
|
|
114
|
-
padding-left: var(--input-left-section-size);
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
.root[data-with-right-section] .input {
|
|
118
|
-
padding-right: var(--input-right-section-size);
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
/* Flexible End-Caps (Icons, actions) */
|
|
122
|
-
.section {
|
|
123
|
-
display: flex;
|
|
124
|
-
align-items: center;
|
|
125
|
-
justify-content: center;
|
|
126
|
-
height: 100%;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
.section :global(svg) {
|
|
130
|
-
width: var(--recursica_ui-kit_components_text-field_properties_icon-size);
|
|
131
|
-
height: var(--recursica_ui-kit_components_text-field_properties_icon-size);
|
|
132
|
-
color: var(
|
|
133
|
-
--recursica_ui-kit_components_text-field_variants_states_default_properties_colors_leading-icon
|
|
134
|
-
);
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
.section[data-position="right"] :global(svg) {
|
|
138
|
-
color: var(
|
|
139
|
-
--recursica_ui-kit_components_text-field_variants_states_default_properties_colors_trailing-icon
|
|
140
|
-
);
|
|
141
|
-
}
|
|
142
|
-
|
|
143
117
|
/* -------------------------------------
|
|
144
118
|
STATE CASCADE ARCHITECTURE
|
|
145
119
|
-------------------------------------- */
|
|
146
120
|
|
|
147
|
-
/* Focus State Mapping (Triggered internally via browser
|
|
121
|
+
/* Focus State Mapping (Triggered internally via browser focus rules) */
|
|
148
122
|
.input:focus-within,
|
|
149
123
|
.input:focus {
|
|
150
124
|
border-color: var(
|
|
151
|
-
--recursica_ui-
|
|
125
|
+
--recursica_ui-kit_components_textarea_variants_states_focus_properties_colors_border-color
|
|
152
126
|
);
|
|
153
127
|
background-color: var(
|
|
154
|
-
--recursica_ui-
|
|
128
|
+
--recursica_ui-kit_components_textarea_variants_states_focus_properties_colors_background
|
|
155
129
|
);
|
|
156
130
|
color: var(
|
|
157
|
-
--recursica_ui-
|
|
158
|
-
);
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
.root:focus-within .section[data-position="left"] :global(svg) {
|
|
162
|
-
color: var(
|
|
163
|
-
--recursica_ui-kit_components_text-field_variants_states_focus_properties_colors_leading-icon
|
|
164
|
-
);
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
.root:focus-within .section[data-position="right"] :global(svg) {
|
|
168
|
-
color: var(
|
|
169
|
-
--recursica_ui-kit_components_text-field_variants_states_focus_properties_colors_trailing-icon
|
|
131
|
+
--recursica_ui-kit_components_textarea_variants_states_focus_properties_colors_text
|
|
170
132
|
);
|
|
171
133
|
}
|
|
172
134
|
|
|
173
135
|
/* Error State Mapping (Propagated strictly down from the wrapper DOM context) */
|
|
174
136
|
.root[data-error] .input {
|
|
175
137
|
border-color: var(
|
|
176
|
-
--recursica_ui-
|
|
138
|
+
--recursica_ui-kit_components_textarea_variants_states_error_properties_colors_border-color
|
|
177
139
|
) !important;
|
|
178
140
|
background-color: var(
|
|
179
|
-
--recursica_ui-
|
|
180
|
-
) !important;
|
|
181
|
-
color: var(
|
|
182
|
-
--recursica_ui-kit_components_text-field_variants_states_error_properties_colors_text
|
|
183
|
-
) !important;
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
.root[data-error] .section[data-position="left"] :global(svg) {
|
|
187
|
-
color: var(
|
|
188
|
-
--recursica_ui-kit_components_text-field_variants_states_error_properties_colors_leading-icon
|
|
141
|
+
--recursica_ui-kit_components_textarea_variants_states_error_properties_colors_background
|
|
189
142
|
) !important;
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
.root[data-error] .section[data-position="right"] :global(svg) {
|
|
193
143
|
color: var(
|
|
194
|
-
--recursica_ui-
|
|
144
|
+
--recursica_ui-kit_components_textarea_variants_states_error_properties_colors_text
|
|
195
145
|
) !important;
|
|
196
146
|
}
|
|
197
147
|
|
|
198
148
|
/* Disabled State Mapping (Propagated strictly down from the wrapper DOM context) */
|
|
199
149
|
.root[data-disabled] .input {
|
|
200
150
|
border-color: var(
|
|
201
|
-
--recursica_ui-
|
|
151
|
+
--recursica_ui-kit_components_textarea_variants_states_disabled_properties_colors_border-color
|
|
202
152
|
) !important;
|
|
203
153
|
background-color: var(
|
|
204
|
-
--recursica_ui-
|
|
154
|
+
--recursica_ui-kit_components_textarea_variants_states_disabled_properties_colors_background
|
|
205
155
|
) !important;
|
|
206
156
|
color: var(
|
|
207
|
-
--recursica_ui-
|
|
157
|
+
--recursica_ui-kit_components_textarea_variants_states_disabled_properties_colors_text
|
|
208
158
|
) !important;
|
|
209
159
|
cursor: not-allowed;
|
|
210
160
|
}
|
|
211
|
-
|
|
212
|
-
.root[data-disabled] .section[data-position="left"] :global(svg) {
|
|
213
|
-
color: var(
|
|
214
|
-
--recursica_ui-kit_components_text-field_variants_states_disabled_properties_colors_leading-icon
|
|
215
|
-
) !important;
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
.root[data-disabled] .section[data-position="right"] :global(svg) {
|
|
219
|
-
color: var(
|
|
220
|
-
--recursica_ui-kit_components_text-field_variants_states_disabled_properties_colors_trailing-icon
|
|
221
|
-
) !important;
|
|
222
|
-
}
|
|
@@ -98,12 +98,16 @@ export const TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(
|
|
|
98
98
|
: styles.input;
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
+
const wrapperClass = className
|
|
102
|
+
? `${styles.layoutOverride} ${className}`
|
|
103
|
+
: styles.layoutOverride;
|
|
104
|
+
|
|
101
105
|
return (
|
|
102
106
|
<WithReadOnlyWrapper
|
|
103
|
-
className={
|
|
107
|
+
className={wrapperClass}
|
|
104
108
|
style={style as React.CSSProperties}
|
|
105
|
-
controlMaxWidth="var(--recursica_ui-
|
|
106
|
-
controlMinWidth="var(--recursica_ui-
|
|
109
|
+
controlMaxWidth="var(--recursica_ui-kit_components_textarea_properties_max-width)"
|
|
110
|
+
controlMinWidth="var(--recursica_ui-kit_components_textarea_properties_min-width)"
|
|
107
111
|
overStyled={overStyled as true}
|
|
108
112
|
formLayout={formLayout}
|
|
109
113
|
labelSize={labelSize}
|
|
@@ -1,3 +1,25 @@
|
|
|
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_text-field_variants_states_default_properties_border-size */
|
|
5
|
+
/* recursica-ignore: --recursica_ui-kit_components_text-field_variants_states_disabled_properties_border-size */
|
|
6
|
+
/* recursica-ignore: --recursica_ui-kit_components_text-field_variants_states_error_properties_border-size */
|
|
7
|
+
/* recursica-ignore: --recursica_ui-kit_components_text-field_variants_states_focus_properties_border-size */
|
|
8
|
+
|
|
9
|
+
/* LAYOUT SPACING OVERRIDES:
|
|
10
|
+
- Sets the --form-control-margin-bottom spacing hook to map component-specific layout tokens. */
|
|
11
|
+
.layoutOverride {
|
|
12
|
+
--form-control-margin-bottom: var(
|
|
13
|
+
--recursica_ui-kit_components_text-field_variants_layouts_stacked_properties_top-bottom-margin
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.layoutOverride[data-form-layout="side-by-side"] {
|
|
18
|
+
--form-control-margin-bottom: var(
|
|
19
|
+
--recursica_ui-kit_components_text-field_variants_layouts_side-by-side_properties_top-bottom-margin
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
|
|
1
23
|
/* HARDCODED VALUES:
|
|
2
24
|
- border-width: 1px. Native geometric boundary for the input box.
|
|
3
25
|
- border-style: solid. Native structural rendering rule.
|
|
@@ -15,22 +37,18 @@
|
|
|
15
37
|
|
|
16
38
|
/* Override Mantine native Input variables governing section spacing padding mathematics safely */
|
|
17
39
|
--input-left-section-size: calc(
|
|
18
|
-
var(
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
2
|
|
24
|
-
)
|
|
40
|
+
var(
|
|
41
|
+
--recursica_ui-kit_components_text-field_properties_horizontal-padding
|
|
42
|
+
) +
|
|
43
|
+
var(--recursica_ui-kit_components_text-field_properties_icon-size) +
|
|
44
|
+
var(--recursica_ui-kit_components_text-field_properties_icon-text-gap)
|
|
25
45
|
);
|
|
26
46
|
--input-right-section-size: calc(
|
|
27
|
-
var(
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
2
|
|
33
|
-
)
|
|
47
|
+
var(
|
|
48
|
+
--recursica_ui-kit_components_text-field_properties_horizontal-padding
|
|
49
|
+
) +
|
|
50
|
+
var(--recursica_ui-kit_components_text-field_properties_icon-size) +
|
|
51
|
+
var(--recursica_ui-kit_components_text-field_properties_icon-text-gap)
|
|
34
52
|
);
|
|
35
53
|
}
|
|
36
54
|
|
|
@@ -122,10 +140,23 @@
|
|
|
122
140
|
.section {
|
|
123
141
|
display: flex;
|
|
124
142
|
align-items: center;
|
|
125
|
-
justify-content: center;
|
|
126
143
|
height: 100%;
|
|
127
144
|
}
|
|
128
145
|
|
|
146
|
+
.section[data-position="left"] {
|
|
147
|
+
justify-content: flex-start;
|
|
148
|
+
padding-left: var(
|
|
149
|
+
--recursica_ui-kit_components_text-field_properties_horizontal-padding
|
|
150
|
+
);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.section[data-position="right"] {
|
|
154
|
+
justify-content: flex-end;
|
|
155
|
+
padding-right: var(
|
|
156
|
+
--recursica_ui-kit_components_text-field_properties_horizontal-padding
|
|
157
|
+
);
|
|
158
|
+
}
|
|
159
|
+
|
|
129
160
|
.section :global(svg) {
|
|
130
161
|
width: var(--recursica_ui-kit_components_text-field_properties_icon-size);
|
|
131
162
|
height: var(--recursica_ui-kit_components_text-field_properties_icon-size);
|
|
@@ -90,9 +90,13 @@ export const TextField = forwardRef<HTMLInputElement, TextFieldProps>(
|
|
|
90
90
|
: styles.section;
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
+
const wrapperClass = className
|
|
94
|
+
? `${styles.layoutOverride} ${className}`
|
|
95
|
+
: styles.layoutOverride;
|
|
96
|
+
|
|
93
97
|
return (
|
|
94
98
|
<WithReadOnlyWrapper
|
|
95
|
-
className={
|
|
99
|
+
className={wrapperClass}
|
|
96
100
|
style={style as React.CSSProperties}
|
|
97
101
|
controlMaxWidth="var(--recursica_ui-kit_components_text-field_properties_max-width)"
|
|
98
102
|
controlMinWidth="var(--recursica_ui-kit_components_text-field_properties_min-width)"
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* EXEMPTIONS:
|
|
3
|
+
* - TimePicker is a "Coming Soon" stub component.
|
|
4
|
+
* - It renders a placeholder and has no active implementation or CSS stylesheet yet.
|
|
5
|
+
* - The following tokens generated by Figma are ignored until the component is fully built.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_properties_border-radius */
|
|
9
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_properties_horizontal-padding */
|
|
10
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_properties_icon-size */
|
|
11
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_properties_icon-text-gap */
|
|
12
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_properties_placeholder-opacity */
|
|
13
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_properties_text_font-family */
|
|
14
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_properties_text_font-size */
|
|
15
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_properties_text_font-style */
|
|
16
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_properties_text_font-weight */
|
|
17
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_properties_text_letter-spacing */
|
|
18
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_properties_text_line-height */
|
|
19
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_properties_text_text-decoration */
|
|
20
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_properties_text_text-transform */
|
|
21
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_properties_vertical-padding */
|
|
22
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_properties_width */
|
|
23
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_variants_layouts_side-by-side_properties_top-bottom-margin */
|
|
24
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_variants_layouts_stacked_properties_top-bottom-margin */
|
|
25
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_variants_states_default_properties_border-size */
|
|
26
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_variants_states_disabled_properties_border-size */
|
|
27
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_variants_states_error_properties_border-size */
|
|
28
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_variants_states_focus_properties_border-size */
|
|
29
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_variants_states_default_properties_colors_background */
|
|
30
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_variants_states_default_properties_colors_border-color */
|
|
31
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_variants_states_default_properties_colors_icon */
|
|
32
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_variants_states_default_properties_colors_text */
|
|
33
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_variants_states_disabled_properties_colors_background */
|
|
34
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_variants_states_disabled_properties_colors_border-color */
|
|
35
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_variants_states_disabled_properties_colors_icon */
|
|
36
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_variants_states_disabled_properties_colors_text */
|
|
37
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_variants_states_error_properties_colors_background */
|
|
38
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_variants_states_error_properties_colors_border-color */
|
|
39
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_variants_states_error_properties_colors_icon */
|
|
40
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_variants_states_error_properties_colors_text */
|
|
41
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_variants_states_focus_properties_colors_background */
|
|
42
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_variants_states_focus_properties_colors_border-color */
|
|
43
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_variants_states_focus_properties_colors_icon */
|
|
44
|
+
/* recursica-ignore: --recursica_ui-kit_components_time-picker_variants_states_focus_properties_colors_text */
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/* EXEMPTIONS:
|
|
2
|
+
- timeline-bullet_variants_types_avatar_properties_avatar-size is ignored because under the avatar timeline variant,
|
|
3
|
+
the bullet container size uses fallback bullet-size configurations to maintain vertical alignment with the
|
|
4
|
+
inactive/active connector line, while the nested Avatar subcomponent handles its own sizing natively. */
|
|
5
|
+
/* recursica-ignore: --recursica_ui-kit_components_timeline-bullet_variants_types_avatar_properties_avatar-size */
|
|
6
|
+
|
|
1
7
|
.root {
|
|
2
8
|
display: flex;
|
|
3
9
|
flex-direction: column;
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
+
/* EXEMPTIONS:
|
|
2
|
+
- elevation levels layer-1, layer-2, and layer-3 are ignored because all toasts explicitly use the standard
|
|
3
|
+
layer-0 elevation shadow for styling consistency. */
|
|
4
|
+
/* recursica-ignore: --recursica_ui-kit_components_toast_properties_elevation_layer-1 */
|
|
5
|
+
/* recursica-ignore: --recursica_ui-kit_components_toast_properties_elevation_layer-2 */
|
|
6
|
+
/* recursica-ignore: --recursica_ui-kit_components_toast_properties_elevation_layer-3 */
|
|
7
|
+
|
|
1
8
|
/* HARDCODED VALUES:
|
|
2
9
|
- border-style: none. To ensure the notification doesn't render unwanted borders unless specified.
|
|
3
|
-
*/
|
|
10
|
+
*/
|
|
4
11
|
|
|
5
12
|
/* ======================================
|
|
6
13
|
TOAST / NOTIFICATION ROOT
|
|
@@ -54,6 +61,54 @@
|
|
|
54
61
|
--recursica_ui-kit_components_toast_variants_styles_default_properties_colors_button
|
|
55
62
|
);
|
|
56
63
|
}
|
|
64
|
+
|
|
65
|
+
/* Error Variant styling */
|
|
66
|
+
&[data-variant="error"] {
|
|
67
|
+
background-color: var(
|
|
68
|
+
--recursica_ui-kit_components_toast_variants_styles_error_properties_colors_background
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
& .icon {
|
|
72
|
+
color: var(
|
|
73
|
+
--recursica_ui-kit_components_toast_variants_styles_error_properties_colors_text
|
|
74
|
+
) !important;
|
|
75
|
+
}
|
|
76
|
+
& .title,
|
|
77
|
+
& .description {
|
|
78
|
+
color: var(
|
|
79
|
+
--recursica_ui-kit_components_toast_variants_styles_error_properties_colors_text
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
& .closeButton {
|
|
83
|
+
color: var(
|
|
84
|
+
--recursica_ui-kit_components_toast_variants_styles_error_properties_colors_button
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/* Success Variant styling */
|
|
90
|
+
&[data-variant="success"] {
|
|
91
|
+
background-color: var(
|
|
92
|
+
--recursica_ui-kit_components_toast_variants_styles_success_properties_colors_background
|
|
93
|
+
);
|
|
94
|
+
|
|
95
|
+
& .icon {
|
|
96
|
+
color: var(
|
|
97
|
+
--recursica_ui-kit_components_toast_variants_styles_success_properties_colors_text
|
|
98
|
+
) !important;
|
|
99
|
+
}
|
|
100
|
+
& .title,
|
|
101
|
+
& .description {
|
|
102
|
+
color: var(
|
|
103
|
+
--recursica_ui-kit_components_toast_variants_styles_success_properties_colors_text
|
|
104
|
+
);
|
|
105
|
+
}
|
|
106
|
+
& .closeButton {
|
|
107
|
+
color: var(
|
|
108
|
+
--recursica_ui-kit_components_toast_variants_styles_success_properties_colors_button
|
|
109
|
+
);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
57
112
|
}
|
|
58
113
|
|
|
59
114
|
/* ======================================
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
/* EXEMPTIONS:
|
|
2
|
+
- beak-inset is ignored because Tooltip positioning calculations are handled dynamically by Mantine/Floating UI at the React runtime.
|
|
3
|
+
- beak-size is ignored because Mantine's tooltip arrows compute their sizing and positional offsets
|
|
4
|
+
dynamically within the React rendering engine (requires inline pixel number rather than standard CSS variables).
|
|
5
|
+
The beak size is checked in JS against a fixed value of 16px. If this variable changes, the TSX components
|
|
6
|
+
need to be reviewed/re-compiled. */
|
|
7
|
+
/* recursica-ignore: --recursica_ui-kit_components_tooltip_properties_beak-inset = 8px */
|
|
8
|
+
/* recursica-ignore: --recursica_ui-kit_components_tooltip_properties_beak-size = 16px */
|
|
9
|
+
|
|
1
10
|
/* HARDCODED VALUES:
|
|
2
11
|
- border-style: solid. Structural rendering rule for the tooltip border (Mantine uses Box
|
|
3
12
|
which may not set border-style natively). Same pattern as Menu / HoverCard.
|