@ntbjs/react-components 2.0.2-rc.3 → 2.0.2-rc.4

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