@ntbjs/react-components 2.0.2-rc.2 → 2.0.2-rc.3
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/build/inputs/ActionButton/ActionButton.js +9 -5
- package/build/inputs/ActionButton/ActionButton.js.map +1 -1
- package/build/inputs/ActionButton/ActionButton.styled.js +16 -13
- package/build/inputs/ActionButton/ActionButton.styled.js.map +1 -1
- package/build/inputs/CompactTextInput/CompactTextInput.js +59 -72
- package/build/inputs/CompactTextInput/CompactTextInput.js.map +1 -1
- package/build/inputs/CompactTextInput/CompactTextInput.styled.js +141 -226
- package/build/inputs/CompactTextInput/CompactTextInput.styled.js.map +1 -1
- package/build/inputs/TextArea/TextArea.js +67 -77
- package/build/inputs/TextArea/TextArea.js.map +1 -1
- package/build/inputs/TextArea/TextArea.styled.js +179 -220
- package/build/inputs/TextArea/TextArea.styled.js.map +1 -1
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js +20 -26
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js.map +1 -1
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js +19 -15
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js.map +1 -1
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js +18 -16
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js.map +1 -1
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js +75 -34
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js.map +1 -1
- package/build/widgets/Instructions/Instructions.js +0 -9
- package/build/widgets/Instructions/Instructions.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,22 +1,7 @@
|
|
|
1
|
-
import styled, {
|
|
1
|
+
import styled, { css } from 'styled-components';
|
|
2
2
|
import { applyDefaultTheme } from '../../utils/defaultTheme.js';
|
|
3
3
|
|
|
4
|
-
const
|
|
5
|
-
from {
|
|
6
|
-
opacity: 0
|
|
7
|
-
}
|
|
8
|
-
to {
|
|
9
|
-
opacity: 1
|
|
10
|
-
}
|
|
11
|
-
`;
|
|
12
|
-
const fadeOutCheck = keyframes`
|
|
13
|
-
from {
|
|
14
|
-
opacity: 1
|
|
15
|
-
}
|
|
16
|
-
to {
|
|
17
|
-
opacity: 0
|
|
18
|
-
}
|
|
19
|
-
`;
|
|
4
|
+
const shouldForwardProp = prop => !prop.startsWith('$');
|
|
20
5
|
const activeLabel = css`
|
|
21
6
|
font-size: 0.75rem;
|
|
22
7
|
padding: 0 3px;
|
|
@@ -25,9 +10,6 @@ const activeLabel = css`
|
|
|
25
10
|
left: 8px !important;
|
|
26
11
|
opacity: 1 !important;
|
|
27
12
|
`;
|
|
28
|
-
const shouldForwardProp = prop => {
|
|
29
|
-
return prop !== 'theme' && !prop.startsWith('$');
|
|
30
|
-
};
|
|
31
13
|
const TextAreaContainter = styled.div.withConfig({
|
|
32
14
|
shouldForwardProp
|
|
33
15
|
}).attrs(applyDefaultTheme)`
|
|
@@ -45,10 +27,35 @@ const Label = styled.label.withConfig({
|
|
|
45
27
|
justify-content: space-between;
|
|
46
28
|
align-items: center;
|
|
47
29
|
padding-top: 13px;
|
|
30
|
+
|
|
48
31
|
${props => props.disabled && css`
|
|
32
|
+
opacity: 0.5;
|
|
49
33
|
cursor: not-allowed;
|
|
50
34
|
`}
|
|
51
35
|
`;
|
|
36
|
+
const SuccessContainerBase = styled.div.withConfig({
|
|
37
|
+
shouldForwardProp
|
|
38
|
+
}).attrs(applyDefaultTheme)`
|
|
39
|
+
display: flex;
|
|
40
|
+
align-items: center;
|
|
41
|
+
pointer-events: none;
|
|
42
|
+
transition: opacity 0.5s ease-in-out;
|
|
43
|
+
opacity: ${props => props.$type === 'loading' || props.$type === 'success' ? 1 : 0};
|
|
44
|
+
${props => props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-500'))};
|
|
45
|
+
|
|
46
|
+
> svg {
|
|
47
|
+
width: 13px;
|
|
48
|
+
}
|
|
49
|
+
`;
|
|
50
|
+
const SuccessContainer = styled(SuccessContainerBase)`
|
|
51
|
+
position: absolute;
|
|
52
|
+
margin-top: -30px;
|
|
53
|
+
margin-left: 5px;
|
|
54
|
+
`;
|
|
55
|
+
const SuccessContainerLabel = styled(SuccessContainerBase)`
|
|
56
|
+
margin-right: 5px;
|
|
57
|
+
margin-top: -7px;
|
|
58
|
+
`;
|
|
52
59
|
const InputIconContainer = styled.div.withConfig({
|
|
53
60
|
shouldForwardProp
|
|
54
61
|
}).attrs(applyDefaultTheme)`
|
|
@@ -58,22 +65,25 @@ const InputIconContainer = styled.div.withConfig({
|
|
|
58
65
|
border-bottom-right-radius: 3px;
|
|
59
66
|
display: flex;
|
|
60
67
|
align-items: flex-start;
|
|
61
|
-
|
|
62
68
|
position: absolute;
|
|
63
69
|
right: 15px;
|
|
64
70
|
top: 10px;
|
|
65
71
|
bottom: 0;
|
|
72
|
+
|
|
66
73
|
> .smallPadingIcon {
|
|
67
74
|
padding: 4px;
|
|
68
|
-
width:
|
|
69
|
-
height:
|
|
75
|
+
width: 20px;
|
|
76
|
+
height: 20px;
|
|
70
77
|
border-radius: 5px;
|
|
71
78
|
opacity: 1;
|
|
72
79
|
margin-top: -5px;
|
|
73
80
|
${props => props.theme.themeProp('background-color', props.theme.getColor('gray-900'), props.theme.getColor('gray-300'), '!important')}
|
|
74
81
|
}
|
|
82
|
+
|
|
75
83
|
svg {
|
|
76
|
-
width:
|
|
84
|
+
width: auto;
|
|
85
|
+
max-width: 18px;
|
|
86
|
+
height: auto;
|
|
77
87
|
opacity: 0.7;
|
|
78
88
|
transition: opacity 250ms;
|
|
79
89
|
|
|
@@ -95,85 +105,60 @@ const TextInputField = styled.textarea.withConfig({
|
|
|
95
105
|
box-sizing: border-box;
|
|
96
106
|
appearance: none;
|
|
97
107
|
border: 1px solid;
|
|
98
|
-
transition:
|
|
99
|
-
|
|
100
|
-
border-color 350ms,
|
|
101
|
-
background 350ms;
|
|
102
|
-
|
|
103
|
-
${props => props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-900'))}
|
|
108
|
+
transition: height 550ms ease-in-out, border-color 350ms, background 350ms;
|
|
109
|
+
${props => props.theme.themeProp('color', props.theme.getColor('gray-200'), props.theme.getColor('gray-700'))};
|
|
104
110
|
|
|
105
111
|
${props => props.$borderRadius && css`
|
|
106
112
|
border-radius: ${props.$borderRadius}px;
|
|
107
113
|
`}
|
|
108
114
|
|
|
115
|
+
/* Type-specific styling */
|
|
109
116
|
${props => {
|
|
110
|
-
if (props
|
|
117
|
+
if (props.$type === 'error') {
|
|
111
118
|
return css`
|
|
112
119
|
${props.theme.themeProp('color', 'white', 'black')}
|
|
113
120
|
${props.theme.themeProp('background', '#7f1b1b', '#FBEAE6')}
|
|
114
121
|
${props.theme.themeProp('border-color', '#7f1b1b', '#FBEAE6')}
|
|
115
122
|
`;
|
|
116
|
-
}
|
|
123
|
+
}
|
|
124
|
+
if (props.$type === 'warning') {
|
|
117
125
|
return css`
|
|
118
126
|
${props.theme.themeProp('color', 'white', 'black')}
|
|
119
127
|
${props.theme.themeProp('background', '#634E01', '#FFFDE8')}
|
|
120
128
|
${props.theme.themeProp('border-color', '#634E01', '#FFFDE8')}
|
|
121
129
|
`;
|
|
122
|
-
}
|
|
130
|
+
}
|
|
131
|
+
if (props.$type === 'error-border') {
|
|
123
132
|
return css`
|
|
124
133
|
${props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-900'))}
|
|
125
134
|
${props.theme.themeProp('background', props.theme.getColor('gray-900'), props.theme.getColor('white'))}
|
|
126
135
|
${props.theme.themeProp('border-color', props.theme.getColor('red-200'), props.theme.getColor('red-500'))}
|
|
127
136
|
`;
|
|
128
|
-
}
|
|
137
|
+
}
|
|
138
|
+
if (props.$type === 'warning-border') {
|
|
129
139
|
return css`
|
|
130
140
|
${props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-900'))}
|
|
131
141
|
${props.theme.themeProp('background', props.theme.getColor('gray-900'), props.theme.getColor('white'))}
|
|
132
142
|
${props.theme.themeProp('border-color', props.theme.getColor('red-200'), props.theme.getColor('orange-500'))}
|
|
133
143
|
`;
|
|
134
|
-
} else {
|
|
135
|
-
return css`
|
|
136
|
-
${props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-900'))}
|
|
137
|
-
${props.theme.themeProp('background', props.theme.getColor('gray-900'), props.theme.getColor('white'))}
|
|
138
|
-
${props.theme.themeProp('border-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-400'))}
|
|
139
|
-
`;
|
|
140
144
|
}
|
|
145
|
+
return css`
|
|
146
|
+
${props.theme.themeProp('color', props.theme.getColor('gray-200'), props.theme.getColor('gray-700'))}
|
|
147
|
+
${props.theme.themeProp('background', props.theme.getColor('gray-900'), props.theme.getColor('white'))}
|
|
148
|
+
${props.theme.themeProp('border-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-400'))}
|
|
149
|
+
`;
|
|
141
150
|
}}
|
|
142
151
|
|
|
143
|
-
|
|
144
|
-
${props => props
|
|
145
|
-
cursor: default;
|
|
146
|
-
border-color: transparent !important;
|
|
147
|
-
padding: 12px 10px;
|
|
148
|
-
`}
|
|
149
|
-
|
|
150
|
-
${props => props.disabled && css`
|
|
151
|
-
cursor: not-allowed;
|
|
152
|
-
`}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
${props => props.$noBorder && !props.type && css`
|
|
156
|
-
${props => props.theme.themeProp('border-color', props.theme.getColor('gray-900'), props.theme.getColor('white'))}
|
|
157
|
-
`}
|
|
158
|
-
|
|
159
|
-
${props => props.$noBorder && props.type === 'warning' && css`
|
|
160
|
-
${props => props.theme.themeProp('border-color', '#634E01', '#FFFDE8')}
|
|
161
|
-
`}
|
|
162
|
-
|
|
163
|
-
${props => props.$noBorder && props.type === 'error' && css`
|
|
164
|
-
${props => props.theme.themeProp('border-color', '#7f1b1b', '#FBEAE6')}
|
|
165
|
-
`}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
${props => props.padding === 'small' && css`
|
|
152
|
+
/* Padding variations */
|
|
153
|
+
${props => props.$padding === 'small' && css`
|
|
169
154
|
padding: 5px 10px;
|
|
170
155
|
`}
|
|
171
156
|
|
|
172
|
-
${props => props
|
|
157
|
+
${props => props.$padding === 'medium' && css`
|
|
173
158
|
padding: 13px 15px;
|
|
174
159
|
`}
|
|
175
160
|
|
|
176
|
-
${props => props
|
|
161
|
+
${props => props.$padding === 'large' && css`
|
|
177
162
|
padding: 15px 55px;
|
|
178
163
|
`}
|
|
179
164
|
|
|
@@ -183,137 +168,153 @@ const TextInputField = styled.textarea.withConfig({
|
|
|
183
168
|
padding-top: 13.5px;
|
|
184
169
|
`}
|
|
185
170
|
|
|
171
|
+
/* Edit mode styling */
|
|
172
|
+
&:not(:hover):not(:focus) {
|
|
173
|
+
${props => props.$edit && css`
|
|
174
|
+
${props.$type === 'error' ? props.theme.themeProp('background', '#7f1b1b', '#FEE2E2') : props.$type === 'warning' ? props.theme.themeProp('background', '#634E01', '#FFFDE8') : props.theme.themeProp('background', 'rgba(39,39,42, 0.7)', 'rgba(244,244,245, 0.3)')};
|
|
175
|
+
${props.theme.themeProp('border-color', 'rgba(39,39,42, 0.7)', 'rgba(228,228,231, 0.3)')};
|
|
186
176
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
} else if (props.type === 'warning') {
|
|
196
|
-
return props.theme.themeProp('background', '#634E01', '#FFFDE8');
|
|
197
|
-
}
|
|
198
|
-
return '';
|
|
177
|
+
/* Text color for edit mode */
|
|
178
|
+
${props.$type === 'error' && props.theme.themeProp('color', 'white', 'black')}
|
|
179
|
+
${props.$type === 'warning' && props.theme.themeProp('color', 'white', 'black')}
|
|
180
|
+
`}
|
|
181
|
+
|
|
182
|
+
${props => props.$noBorder && props.$edit && css`
|
|
183
|
+
${props.theme.themeProp('border-color', '#27272A', 'rgba(244,244,245, 0.3)')}
|
|
184
|
+
`}
|
|
199
185
|
}
|
|
200
|
-
|
|
186
|
+
|
|
187
|
+
/* No border variations */
|
|
188
|
+
${props => props.$noBorder && !props.$type && css`
|
|
189
|
+
${props.theme.themeProp('border-color', props.theme.getColor('gray-900'), props.theme.getColor('white'))}
|
|
190
|
+
`}
|
|
191
|
+
|
|
192
|
+
${props => props.$noBorder && props.$type === 'warning' && css`
|
|
193
|
+
${props.theme.themeProp('border-color', '#634E01', '#FFFDE8')}
|
|
194
|
+
`}
|
|
195
|
+
|
|
196
|
+
${props => props.$noBorder && props.$type === 'error' && css`
|
|
197
|
+
${props.theme.themeProp('border-color', '#7f1b1b', '#FBEAE6')}
|
|
198
|
+
`}
|
|
199
|
+
|
|
200
|
+
/* Hover state */
|
|
201
|
+
&:hover:not(:focus):not([readonly]):not([disabled]) {
|
|
202
|
+
${props => {
|
|
203
|
+
if (props.$type === 'error') {
|
|
201
204
|
return props.theme.themeProp('background', '#901d1d', '#F7D5D0');
|
|
202
|
-
}
|
|
205
|
+
}
|
|
206
|
+
if (props.$type === 'warning') {
|
|
203
207
|
return props.theme.themeProp('background', '#806403', '#FFFEBF');
|
|
204
|
-
} else if (!props.disabled) {
|
|
205
|
-
return props.theme.themeProp('background', props.theme.getColor('gray-700'), props.theme.getColor('gray-100'));
|
|
206
208
|
}
|
|
207
|
-
return '';
|
|
209
|
+
return props.theme.themeProp('background', props.theme.getColor('gray-700'), props.theme.getColor('gray-100'));
|
|
208
210
|
}}
|
|
209
211
|
|
|
210
212
|
${props => props.$edit && props.theme.themeProp('border-color', props.theme.getColor('gray-700'), props.theme.getColor('gray-100'))}
|
|
211
213
|
|
|
212
|
-
${props => props.$noBorder &&
|
|
214
|
+
${props => props.$noBorder && props.$type !== 'warning' && props.$type !== 'error' && props.theme.themeProp('background', props.theme.getColor('gray-700'), props.theme.getColor('gray-100'))}
|
|
213
215
|
|
|
214
216
|
& + ${InputIconContainer} {
|
|
215
217
|
opacity: 1;
|
|
216
|
-
${props => props
|
|
218
|
+
${props => props.$type === 'success' && css`
|
|
217
219
|
opacity: 0;
|
|
218
220
|
`}
|
|
219
221
|
}
|
|
220
222
|
}
|
|
221
223
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
${props => props.theme.themeProp('opacity', 0.6, 0.5)}
|
|
226
|
-
|
|
227
|
-
${props => {
|
|
228
|
-
if (props.type === 'warning') {
|
|
229
|
-
return props.theme.themeProp('color', props.theme.getColor('gray-200'), props.theme.getColor('gray-700'));
|
|
230
|
-
} else if (props.type === 'error') {
|
|
231
|
-
return props.theme.themeProp('color', props.theme.getColor('gray-200'), props.theme.getColor('gray-700'));
|
|
232
|
-
}
|
|
233
|
-
return '';
|
|
234
|
-
}}
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
&:hover::placeholder {
|
|
238
|
-
${props => props.theme.themeProp('opacity', 0.6, 0.5)}
|
|
239
|
-
|
|
240
|
-
${props => {
|
|
241
|
-
if (props.type === 'warning') {
|
|
242
|
-
return props.theme.themeProp('color', props.theme.getColor('gray-900'), props.theme.getColor('gray-900'));
|
|
243
|
-
} else if (props.type === 'error') {
|
|
244
|
-
return props.theme.themeProp('color', props.theme.getColor('red-600'), props.theme.getColor('red-600'));
|
|
245
|
-
} else {
|
|
246
|
-
return props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-600'));
|
|
247
|
-
}
|
|
248
|
-
}}
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
&:focus::placeholder {
|
|
252
|
-
${props => props.theme.themeProp('opacity', 0.6, 0.5)}
|
|
253
|
-
|
|
254
|
-
${props => {
|
|
255
|
-
if (props.type === 'warning') {
|
|
256
|
-
return props.theme.themeProp('color', props.theme.getColor('gray-900'), props.theme.getColor('gray-900'));
|
|
257
|
-
} else if (props.type === 'error') {
|
|
258
|
-
return props.theme.themeProp('color', props.theme.getColor('red-600'), props.theme.getColor('red-600'));
|
|
259
|
-
} else {
|
|
260
|
-
return props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-600'));
|
|
261
|
-
}
|
|
262
|
-
}}
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
&&:focus {
|
|
224
|
+
/* Focus state */
|
|
225
|
+
&:focus:not([readonly]):not([disabled]) {
|
|
266
226
|
outline: none;
|
|
267
227
|
|
|
268
228
|
${props => {
|
|
269
|
-
if (props
|
|
270
|
-
if (props.type === 'error') {
|
|
271
|
-
return props.theme.themeProp('background', '#7f1b1b', '#FBEAE6');
|
|
272
|
-
} else if (props.type === 'warning') {
|
|
273
|
-
return props.theme.themeProp('background', '#634E01', '#FFFDE8');
|
|
274
|
-
}
|
|
275
|
-
return '';
|
|
276
|
-
}
|
|
277
|
-
if (props.type === 'error') {
|
|
229
|
+
if (props.$type === 'error') {
|
|
278
230
|
return css`
|
|
279
231
|
${props.theme.themeProp('border-color', '#D83018', '#D83018')}
|
|
280
232
|
${props.theme.themeProp('background', 'white', 'white')}
|
|
281
|
-
|
|
233
|
+
${props.theme.themeProp('color', 'black', 'black')}
|
|
282
234
|
`;
|
|
283
|
-
}
|
|
235
|
+
}
|
|
236
|
+
if (props.$type === 'warning') {
|
|
284
237
|
return css`
|
|
285
238
|
${props.theme.themeProp('border-color', '#F4E21E', '#F4E21E')}
|
|
286
239
|
${props.theme.themeProp('background', 'white', 'white')}
|
|
287
|
-
|
|
288
|
-
`;
|
|
289
|
-
} else {
|
|
290
|
-
return css`
|
|
291
|
-
${props.theme.themeProp('border-color', props.theme.getColor('gray-400'), props.theme.getColor('gray-600'))}
|
|
292
|
-
${props.theme.themeProp('background', 'transparent', props.theme.getColor('white'))}
|
|
240
|
+
${props.theme.themeProp('color', 'black', 'black')}
|
|
293
241
|
`;
|
|
294
242
|
}
|
|
243
|
+
return css`
|
|
244
|
+
border-color: ${props.theme.getColor('gray-600')};
|
|
245
|
+
${props.theme.themeProp('background', props.theme.getColor('gray-700'), props.theme.getColor('gray-100'))}
|
|
246
|
+
`;
|
|
295
247
|
}}
|
|
296
248
|
}
|
|
297
249
|
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
250
|
+
/* Read-only state */
|
|
251
|
+
${props => props.readOnly && css`
|
|
252
|
+
cursor: default;
|
|
253
|
+
border-color: transparent !important;
|
|
254
|
+
padding: 12px 10px;
|
|
255
|
+
|
|
256
|
+
&:hover {
|
|
257
|
+
${props.$type === 'error' && props.theme.themeProp('background', '#7f1b1b', '#FBEAE6')}
|
|
258
|
+
${props.$type === 'warning' && props.theme.themeProp('background', '#634E01', '#FFFDE8')}
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
&:focus {
|
|
262
|
+
${props.$type === 'error' && props.theme.themeProp('background', '#7f1b1b', '#FBEAE6')}
|
|
263
|
+
${props.$type === 'warning' && props.theme.themeProp('background', '#634E01', '#FFFDE8')}
|
|
264
|
+
}
|
|
265
|
+
`}
|
|
266
|
+
|
|
267
|
+
/* Disabled state */
|
|
268
|
+
${props => props.disabled && css`
|
|
269
|
+
opacity: 0.5;
|
|
270
|
+
cursor: not-allowed;
|
|
271
|
+
pointer-events: none;
|
|
272
|
+
`}
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
/* Placeholder styling - Default */
|
|
277
|
+
&::placeholder {
|
|
278
|
+
${props => props.theme.themeProp('opacity', '0.6', '0.7')}
|
|
279
|
+
${props => props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-600'))}
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
/* Placeholder styling for edit mode - Dark theme */
|
|
283
|
+
body.dark-theme & {
|
|
284
|
+
${props => props.$edit && (props.$type === 'error' || props.$type === 'warning') && css`
|
|
285
|
+
&::placeholder {
|
|
286
|
+
color: white !important;
|
|
287
|
+
opacity: 0.8 !important;
|
|
288
|
+
}
|
|
289
|
+
`}
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
/* Placeholder styling for edit mode - Light theme */
|
|
293
|
+
body:not(.dark-theme) & {
|
|
294
|
+
${props => props.$edit && (props.$type === 'error' || props.$type === 'warning') && css`
|
|
295
|
+
&::placeholder {
|
|
296
|
+
color: black !important;
|
|
297
|
+
opacity: 0.7 !important;
|
|
298
|
+
}
|
|
299
|
+
`}
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
/* Placeholder on focus - MUST come after and have same specificity */
|
|
303
|
+
body.dark-theme &:focus,
|
|
304
|
+
body:not(.dark-theme) &:focus {
|
|
305
|
+
${props => props.$type === 'error' || props.$type === 'warning' ? css`
|
|
306
|
+
&::placeholder {
|
|
307
|
+
color: ${props.theme.getColor('gray-700')} !important;
|
|
308
|
+
opacity: 0.6 !important;
|
|
309
|
+
}
|
|
310
|
+
` : css`
|
|
311
|
+
&::placeholder {
|
|
312
|
+
color: ${props.theme.getColor('gray-300')};
|
|
313
|
+
}
|
|
314
|
+
`}
|
|
315
|
+
}
|
|
310
316
|
|
|
311
|
-
${props => props.$edit && props.theme.themeProp('border-color', 'rgba(39,39,42, 0.7)', 'rgba(228,228,231, 0.3)')}
|
|
312
317
|
|
|
313
|
-
${props => props.$noBorder && props.$edit && css`
|
|
314
|
-
${props => props.theme.themeProp('border-color', '#27272A', 'rgba(244,244,245, 0.3)')}
|
|
315
|
-
`}
|
|
316
|
-
}
|
|
317
318
|
`;
|
|
318
319
|
const TextInputLabel = styled.label.withConfig({
|
|
319
320
|
shouldForwardProp
|
|
@@ -324,13 +325,9 @@ const TextInputLabel = styled.label.withConfig({
|
|
|
324
325
|
line-height: 1.2;
|
|
325
326
|
font-size: 0.875rem;
|
|
326
327
|
transition: all 150ms;
|
|
327
|
-
margin-
|
|
328
|
-
|
|
328
|
+
margin-bottom: 50px;
|
|
329
329
|
${props => props.theme.themeProp('color', props.theme.getColor('white'), props.theme.getColor('gray-700'))};
|
|
330
|
-
|
|
331
|
-
${props => props.theme.themeProp('opacity', 0.6, 0.5)}
|
|
332
|
-
|
|
333
|
-
|
|
330
|
+
${props => props.theme.themeProp('opacity', 0.6, 0.5)}
|
|
334
331
|
${props => props.theme.themeProp('background', `linear-gradient(0deg, ${props.theme.getColor('gray-900')} calc(50% + 1px), transparent 50%)`, `linear-gradient(0deg, ${props.theme.getColor('white')} calc(50% + 1px), transparent 50%)`)}
|
|
335
332
|
|
|
336
333
|
${props => !props.$inputIsEmpty && css`
|
|
@@ -340,7 +337,6 @@ const TextInputLabel = styled.label.withConfig({
|
|
|
340
337
|
${props => props.$hasPlaceholder && css`
|
|
341
338
|
${activeLabel};
|
|
342
339
|
`}
|
|
343
|
-
content: "";
|
|
344
340
|
|
|
345
341
|
${props => props.$hasIcon && css`
|
|
346
342
|
left: 55px;
|
|
@@ -357,7 +353,9 @@ const TextInputFieldIcon = styled.div.withConfig({
|
|
|
357
353
|
padding: 0 10px;
|
|
358
354
|
|
|
359
355
|
svg {
|
|
360
|
-
width:
|
|
356
|
+
width: auto;
|
|
357
|
+
max-width: 18px;
|
|
358
|
+
height: auto;
|
|
361
359
|
opacity: 0.6;
|
|
362
360
|
transition: opacity 250ms;
|
|
363
361
|
}
|
|
@@ -371,10 +369,13 @@ const TextInputFieldIconAlert = styled.div.withConfig({
|
|
|
371
369
|
padding: 0 10px 0 30px;
|
|
372
370
|
opacity: 0.6;
|
|
373
371
|
transition: opacity 250ms;
|
|
374
|
-
${props => props
|
|
372
|
+
${props => props.$type === 'warning' && props.theme.themeProp('color', '#EAB308', '#2F2402')}
|
|
373
|
+
|
|
375
374
|
svg {
|
|
376
375
|
margin-top: 12px;
|
|
377
|
-
width:
|
|
376
|
+
width: auto;
|
|
377
|
+
max-width: 18px;
|
|
378
|
+
height: auto;
|
|
378
379
|
}
|
|
379
380
|
`;
|
|
380
381
|
const TextInput = styled.div.withConfig({
|
|
@@ -385,7 +386,6 @@ const TextInput = styled.div.withConfig({
|
|
|
385
386
|
|
|
386
387
|
${props => props.disabled && css`
|
|
387
388
|
opacity: 0.5;
|
|
388
|
-
|
|
389
389
|
> * {
|
|
390
390
|
cursor: not-allowed;
|
|
391
391
|
}
|
|
@@ -395,7 +395,6 @@ const TextInput = styled.div.withConfig({
|
|
|
395
395
|
${TextInputLabel} {
|
|
396
396
|
${activeLabel};
|
|
397
397
|
}
|
|
398
|
-
|
|
399
398
|
${TextInputFieldIcon} {
|
|
400
399
|
svg {
|
|
401
400
|
opacity: 1;
|
|
@@ -405,7 +404,7 @@ const TextInput = styled.div.withConfig({
|
|
|
405
404
|
|
|
406
405
|
${TextInputField}:not(:placeholder-shown) + ${TextInputLabel} {
|
|
407
406
|
${activeLabel};
|
|
408
|
-
${props => props
|
|
407
|
+
${props => props.$type === 'error' && props.theme.themeProp('color', props.theme.getColor('red-200'), props.theme.getColor('red-500'))}
|
|
409
408
|
}
|
|
410
409
|
`;
|
|
411
410
|
const Description = styled.div.withConfig({
|
|
@@ -415,56 +414,16 @@ const Description = styled.div.withConfig({
|
|
|
415
414
|
padding: 0 0.6875rem;
|
|
416
415
|
font-size: 0.75rem;
|
|
417
416
|
line-height: 1.333;
|
|
418
|
-
|
|
419
417
|
${props => props.theme.themeProp('color', props.theme.getColor('gray-400'), props.theme.getColor('gray-500'))};
|
|
420
418
|
|
|
421
|
-
${props => (props
|
|
419
|
+
${props => (props.$type === 'warning-border' || props.$type === 'warning') && css`
|
|
422
420
|
${props.theme.themeProp('color', props.theme.getColor('red-200'), props.theme.getColor('orange-500'))}
|
|
423
421
|
`}
|
|
424
422
|
|
|
425
|
-
${props => (props
|
|
423
|
+
${props => (props.$type === 'error-border' || props.$type === 'error') && css`
|
|
426
424
|
${props.theme.themeProp('color', props.theme.getColor('red-200'), props.theme.getColor('red-500'))}
|
|
427
425
|
`}
|
|
428
426
|
`;
|
|
429
|
-
const SuccessContainer = styled.div.withConfig({
|
|
430
|
-
shouldForwardProp
|
|
431
|
-
}).attrs(applyDefaultTheme)`
|
|
432
|
-
opacity: 1;
|
|
433
|
-
pointer-events: none;
|
|
434
|
-
opacity: ${props => props.$fadeIn ? 0 : 1};
|
|
435
|
-
animation: ${props => props.$fadeIn ? fadeOutCheck : fadeInCheck} 0.5s ease-in-out;
|
|
436
|
-
transition: opacity 0.5s ease-in-out;
|
|
437
|
-
position: absolute;
|
|
438
|
-
margin-top: -35px;
|
|
439
|
-
margin-left: 5px;
|
|
440
|
-
width: 15px;
|
|
441
|
-
height: 15px;
|
|
442
|
-
padding: 5px;
|
|
443
|
-
${props => props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-500'))}
|
|
444
|
-
|
|
445
|
-
> svg {
|
|
446
|
-
width: 15px;
|
|
447
|
-
}
|
|
448
|
-
`;
|
|
449
|
-
const SuccessContainerLabel = styled.div.withConfig({
|
|
450
|
-
shouldForwardProp
|
|
451
|
-
}).attrs(applyDefaultTheme)`
|
|
452
|
-
opacity: 1;
|
|
453
|
-
pointer-events: none;
|
|
454
|
-
opacity: ${props => props.$fadeIn ? 0 : 1};
|
|
455
|
-
animation: ${props => props.$fadeIn ? fadeOutCheck : fadeInCheck} 0.5s ease-in-out;
|
|
456
|
-
transition: opacity 0.5s ease-in-out;
|
|
457
|
-
margin-right: 5px;
|
|
458
|
-
margin-top: -7px;
|
|
459
|
-
width: 15px;
|
|
460
|
-
height: 15px;
|
|
461
|
-
padding: 5px;
|
|
462
|
-
${props => props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-500'))}
|
|
463
|
-
|
|
464
|
-
> svg {
|
|
465
|
-
width: 13px;
|
|
466
|
-
}
|
|
467
|
-
`;
|
|
468
427
|
|
|
469
428
|
export { Description, InputIconContainer, Label, SuccessContainer, SuccessContainerLabel, TextAreaContainter, TextInput, TextInputField, TextInputFieldIcon, TextInputFieldIconAlert, TextInputLabel };
|
|
470
429
|
//# sourceMappingURL=TextArea.styled.js.map
|