@true-engineering/true-react-common-ui-kit 2.5.0 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/LICENSE +201 -201
  2. package/dist/components/Flag/augment.d.ts +1 -1
  3. package/dist/components/Icon/complexIcons/augment.d.ts +1 -1
  4. package/dist/components/Input/Input.d.ts +2 -2
  5. package/dist/true-react-common-ui-kit.js +58 -58
  6. package/dist/true-react-common-ui-kit.js.map +1 -1
  7. package/dist/true-react-common-ui-kit.umd.cjs +58 -58
  8. package/dist/true-react-common-ui-kit.umd.cjs.map +1 -1
  9. package/dist/vite-env.d.ts +1 -1
  10. package/package.json +1 -1
  11. package/src/components/AccountInfo/AccountInfo.styles.ts +55 -55
  12. package/src/components/AccountInfo/index.ts +2 -2
  13. package/src/components/AddButton/AddButton.stories.tsx +21 -21
  14. package/src/components/AddButton/AddButton.styles.ts +34 -34
  15. package/src/components/AddButton/index.ts +2 -2
  16. package/src/components/Button/Button.styles.ts +196 -196
  17. package/src/components/Checkbox/Checkbox.styles.ts +62 -62
  18. package/src/components/Checkbox/index.ts +2 -2
  19. package/src/components/CloseButton/index.ts +2 -2
  20. package/src/components/Colors/Colors.stories.tsx +7 -7
  21. package/src/components/Colors/Colors.styles.ts +38 -38
  22. package/src/components/Colors/index.ts +2 -2
  23. package/src/components/CssBaseline/CssBaseline.styles.ts +15 -15
  24. package/src/components/CssBaseline/index.ts +2 -2
  25. package/src/components/DateInput/DateInput.styles.ts +14 -14
  26. package/src/components/DateInput/constants.ts +2 -2
  27. package/src/components/DateInput/index.ts +3 -3
  28. package/src/components/Description/Description.styles.ts +31 -31
  29. package/src/components/Description/index.ts +2 -2
  30. package/src/components/FiltersPane/FiltersPane.styles.ts +71 -71
  31. package/src/components/Flag/Flag.styles.ts +18 -18
  32. package/src/components/Flag/augment.d.ts +1 -1
  33. package/src/components/Flag/index.ts +2 -2
  34. package/src/components/FlexibleTable/index.ts +3 -3
  35. package/src/components/Icon/Icon.styles.ts +10 -10
  36. package/src/components/Icon/complexIcons/augment.d.ts +1 -1
  37. package/src/components/Icon/complexIcons/avatarGreen.svg +57 -57
  38. package/src/components/Icon/complexIcons/index.ts +1 -1
  39. package/src/components/IncrementInput/IncrementInput.styles.ts +77 -77
  40. package/src/components/IncrementInput/index.ts +2 -2
  41. package/src/components/Input/Input.styles.ts +307 -307
  42. package/src/components/Input/Input.tsx +3 -2
  43. package/src/components/List/List.styles.ts +52 -52
  44. package/src/components/MoreMenu/MoreMenu.stories.tsx +46 -46
  45. package/src/components/MoreMenu/index.ts +2 -2
  46. package/src/components/MultiSelect/MultiSelect.styles.ts +55 -55
  47. package/src/components/NumberInput/index.ts +1 -1
  48. package/src/components/PhoneInput/PhoneInput.styles.ts +84 -84
  49. package/src/components/PhoneInput/types.ts +16 -16
  50. package/src/components/RadioButton/RadioButton.styles.ts +37 -37
  51. package/src/components/RadioButton/index.ts +2 -2
  52. package/src/components/ScrollIntoViewIfNeeded/index.ts +1 -1
  53. package/src/components/SearchInput/index.ts +2 -2
  54. package/src/components/Select/Select.styles.ts +96 -96
  55. package/src/components/Select/constants.ts +2 -2
  56. package/src/components/Select/types.ts +1 -1
  57. package/src/components/Switch/Switch.styles.ts +75 -75
  58. package/src/components/TextArea/TextArea.styles.ts +153 -153
  59. package/src/components/TextArea/index.ts +2 -2
  60. package/src/components/TextWithInfo/TextWithInfo.styles.ts +60 -60
  61. package/src/components/TextWithInfo/index.ts +2 -2
  62. package/src/components/TextWithTooltip/TextWithTooltip.stories.tsx +58 -58
  63. package/src/components/TextWithTooltip/TextWithTooltip.styles.ts +19 -19
  64. package/src/components/TextWithTooltip/index.ts +2 -2
  65. package/src/components/ThemedPreloader/ThemedPreloader.styles.ts +21 -21
  66. package/src/components/ThemedPreloader/components/DefaultPreloader/index.ts +1 -1
  67. package/src/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.styles.ts +54 -54
  68. package/src/components/ThemedPreloader/components/DotsPreloader/index.ts +2 -2
  69. package/src/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.styles.ts +11 -11
  70. package/src/components/ThemedPreloader/components/SvgPreloader/index.ts +2 -2
  71. package/src/components/Toaster/Toaster.styles.ts +59 -59
  72. package/src/components/Tooltip/types.ts +1 -1
  73. package/src/components/index.ts +36 -36
  74. package/src/helpers/popper-helpers.ts +17 -17
  75. package/src/hooks/index.ts +6 -6
  76. package/src/hooks/use-is-mounted.ts +15 -15
  77. package/src/index.ts +6 -6
  78. package/src/vite-env.d.ts +1 -1
@@ -1,307 +1,307 @@
1
- import { dimensions } from '../../theme';
2
- import { ComponentStyles } from '../../types';
3
-
4
- const PADDING_X = 12;
5
- export const AUTOSIZE_MAX_WIDTH = 480;
6
-
7
- export const styles = {
8
- root: {
9
- width: '100%',
10
- boxSizing: 'border-box',
11
- position: 'relative',
12
- },
13
-
14
- inputWrapper: {
15
- display: 'flex',
16
- width: '100%',
17
- height: dimensions.CONTROL_HEIGHT,
18
- boxSizing: 'border-box',
19
- transition: '0.25s ease-in-out',
20
- transitionProperty: 'border-color',
21
- backgroundColor: 'white',
22
- position: 'relative',
23
- },
24
-
25
- inputContent: {
26
- fontSize: 16,
27
- fontFamily: 'inherit',
28
- padding: [0, PADDING_X],
29
- },
30
-
31
- input: {
32
- extend: 'inputContent',
33
- width: '100%',
34
- height: '100%',
35
- outline: 'none',
36
- boxSizing: 'border-box',
37
- outlineStyle: 'none',
38
- transition: '0.25s ease-in-out',
39
- transitionProperty: 'background-color',
40
- border: 'none',
41
- background: 'none',
42
-
43
- '&::placeholder': {
44
- opacity: 1,
45
- },
46
-
47
- MozAppearance: 'textfield',
48
- '&::-webkit-inner-spin-button,&::-webkit-outer-spin-button': {
49
- WebkitAppearance: 'none',
50
- margin: 0,
51
- },
52
- },
53
-
54
- autosize: {
55
- display: 'inline-grid',
56
- verticalAlign: 'top',
57
- alignItems: 'center',
58
- justifyContent: 'start',
59
-
60
- '&::after, input': {
61
- width: 'auto',
62
- minWidth: '1em',
63
- gridArea: '1 / 2',
64
- font: 'inherit',
65
- justifySelf: 'stretch',
66
- },
67
-
68
- '&::after': {
69
- maxWidth: AUTOSIZE_MAX_WIDTH,
70
- content: 'attr(data-value) " "',
71
- visibility: 'hidden',
72
- whiteSpace: 'pre-wrap',
73
- },
74
- },
75
-
76
- focused: {
77
- position: 'relative',
78
- zIndex: 1,
79
- },
80
-
81
- unitsWrapper: {
82
- extend: 'inputContent',
83
-
84
- position: 'absolute',
85
- left: 0,
86
- height: '100%',
87
- boxSizing: 'border-box',
88
- display: 'flex',
89
- alignItems: 'center',
90
- pointerEvents: 'none',
91
- },
92
-
93
- fakeValue: {
94
- visibility: 'hidden',
95
- },
96
-
97
- units: {
98
- paddingLeft: 4,
99
- },
100
-
101
- withFloatingLabel: {
102
- paddingTop: 18,
103
- },
104
-
105
- floatingLabelWithoutPadding: {
106
- paddingTop: 18,
107
- paddingLeft: 0,
108
- },
109
-
110
- floating: {},
111
-
112
- activeLabel: {
113
- display: 'none',
114
-
115
- '&$floating': {
116
- display: 'block',
117
- transform: 'scale(0.75) translateY(-120%)',
118
- },
119
- },
120
-
121
- required: {
122
- '&:before': {
123
- content: '""',
124
- position: 'absolute',
125
- left: -12,
126
- top: '50%',
127
- transform: 'translate(0, -50%)',
128
- width: 6,
129
- height: 6,
130
- borderRadius: '50%',
131
- },
132
- },
133
-
134
- label: {
135
- position: 'absolute',
136
- pointerEvents: 'none',
137
- left: PADDING_X,
138
- top: '50%',
139
- transformOrigin: 'top left',
140
- transform: 'translateY(-50%)',
141
- transition: '0.25s ease-in-out',
142
- transitionProperty: 'transform, color',
143
- fontSize: 16,
144
- },
145
-
146
- floatingWithoutPadding: {
147
- left: 0,
148
- },
149
-
150
- requiredLabel: {
151
- '&:after': {
152
- content: '""',
153
- position: 'absolute',
154
- right: -8,
155
- top: 4,
156
- transform: 'translate(0, -50%)',
157
- width: 6,
158
- height: 6,
159
- borderRadius: '50%',
160
- },
161
- },
162
-
163
- activeIcon: {
164
- cursor: 'pointer',
165
- },
166
-
167
- 'border-top': {
168
- borderRadius: 0,
169
- borderWidth: [1, 0, 0, 0],
170
- },
171
-
172
- 'border-bottom': {
173
- borderRadius: 0,
174
- borderWidth: [0, 0, 1, 0],
175
- },
176
-
177
- 'border-left': {
178
- borderRadius: 0,
179
- borderWidth: [0, 0, 0, 1],
180
- },
181
-
182
- 'border-right': {
183
- borderRadius: 0,
184
- borderWidth: [0, 1, 0, 0],
185
- },
186
-
187
- top: {
188
- borderBottomLeftRadius: 0,
189
- borderBottomRightRadius: 0,
190
- },
191
-
192
- bottom: {
193
- borderTopLeftRadius: 0,
194
- borderTopRightRadius: 0,
195
- },
196
-
197
- 'top-left': {
198
- borderTopRightRadius: 0,
199
- borderBottomLeftRadius: 0,
200
- borderBottomRightRadius: 0,
201
- },
202
-
203
- 'top-right': {
204
- borderTopLeftRadius: 0,
205
- borderBottomLeftRadius: 0,
206
- borderBottomRightRadius: 0,
207
- },
208
-
209
- 'bottom-left': {
210
- borderTopLeftRadius: 0,
211
- borderTopRightRadius: 0,
212
- borderBottomRightRadius: 0,
213
- },
214
-
215
- 'bottom-right': {
216
- borderTopLeftRadius: 0,
217
- borderTopRightRadius: 0,
218
- borderBottomLeftRadius: 0,
219
- },
220
-
221
- left: {
222
- borderTopRightRadius: 0,
223
- borderBottomRightRadius: 0,
224
- },
225
-
226
- right: {
227
- borderTopLeftRadius: 0,
228
- borderBottomLeftRadius: 0,
229
- },
230
-
231
- middle: {
232
- borderRadius: 0,
233
- },
234
-
235
- controls: {
236
- display: 'flex',
237
- gridArea: '1 / 3',
238
- },
239
-
240
- icon: {
241
- display: 'flex',
242
- alignItems: 'center',
243
- padding: [0, 4],
244
- width: 20,
245
- transition: 'color 0.25s ease-in-out',
246
- boxSizing: 'content-box',
247
-
248
- '&:last-child': {
249
- paddingRight: 8,
250
- },
251
-
252
- '& + $units': {
253
- marginLeft: 4,
254
- },
255
- },
256
-
257
- clearIcon: {
258
- extend: 'icon',
259
- },
260
-
261
- inputIcon: {
262
- extend: 'icon',
263
- },
264
-
265
- withIcons: {
266
- paddingRight: 4,
267
- },
268
-
269
- withControls: {},
270
-
271
- invalid: {},
272
-
273
- disabled: {},
274
-
275
- invalidLabel: {},
276
-
277
- error: {
278
- fontSize: 12,
279
- },
280
-
281
- info: {
282
- fontSize: 12,
283
- paddingTop: 4,
284
- paddingLeft: 13,
285
- },
286
-
287
- 'error-top': {
288
- position: 'absolute',
289
- top: -18,
290
- left: -1,
291
- padding: [4, 8],
292
- zIndex: 1,
293
- },
294
-
295
- 'error-bottom': {
296
- paddingTop: 4,
297
- paddingLeft: 13,
298
- },
299
-
300
- loading: {},
301
-
302
- withUnits: {},
303
-
304
- tweakPreloader: {},
305
- };
306
-
307
- export type InputStyles = ComponentStyles<typeof styles>;
1
+ import { dimensions } from '../../theme';
2
+ import { ComponentStyles } from '../../types';
3
+
4
+ const PADDING_X = 12;
5
+ export const AUTOSIZE_MAX_WIDTH = 480;
6
+
7
+ export const styles = {
8
+ root: {
9
+ width: '100%',
10
+ boxSizing: 'border-box',
11
+ position: 'relative',
12
+ },
13
+
14
+ inputWrapper: {
15
+ display: 'flex',
16
+ width: '100%',
17
+ height: dimensions.CONTROL_HEIGHT,
18
+ boxSizing: 'border-box',
19
+ transition: '0.25s ease-in-out',
20
+ transitionProperty: 'border-color',
21
+ backgroundColor: 'white',
22
+ position: 'relative',
23
+ },
24
+
25
+ inputContent: {
26
+ fontSize: 16,
27
+ fontFamily: 'inherit',
28
+ padding: [0, PADDING_X],
29
+ },
30
+
31
+ input: {
32
+ extend: 'inputContent',
33
+ width: '100%',
34
+ height: '100%',
35
+ outline: 'none',
36
+ boxSizing: 'border-box',
37
+ outlineStyle: 'none',
38
+ transition: '0.25s ease-in-out',
39
+ transitionProperty: 'background-color',
40
+ border: 'none',
41
+ background: 'none',
42
+
43
+ '&::placeholder': {
44
+ opacity: 1,
45
+ },
46
+
47
+ MozAppearance: 'textfield',
48
+ '&::-webkit-inner-spin-button,&::-webkit-outer-spin-button': {
49
+ WebkitAppearance: 'none',
50
+ margin: 0,
51
+ },
52
+ },
53
+
54
+ autosize: {
55
+ display: 'inline-grid',
56
+ verticalAlign: 'top',
57
+ alignItems: 'center',
58
+ justifyContent: 'start',
59
+
60
+ '&::after, input': {
61
+ width: 'auto',
62
+ minWidth: '1em',
63
+ gridArea: '1 / 2',
64
+ font: 'inherit',
65
+ justifySelf: 'stretch',
66
+ },
67
+
68
+ '&::after': {
69
+ maxWidth: AUTOSIZE_MAX_WIDTH,
70
+ content: 'attr(data-value) " "',
71
+ visibility: 'hidden',
72
+ whiteSpace: 'pre-wrap',
73
+ },
74
+ },
75
+
76
+ focused: {
77
+ position: 'relative',
78
+ zIndex: 1,
79
+ },
80
+
81
+ unitsWrapper: {
82
+ extend: 'inputContent',
83
+
84
+ position: 'absolute',
85
+ left: 0,
86
+ height: '100%',
87
+ boxSizing: 'border-box',
88
+ display: 'flex',
89
+ alignItems: 'center',
90
+ pointerEvents: 'none',
91
+ },
92
+
93
+ fakeValue: {
94
+ visibility: 'hidden',
95
+ },
96
+
97
+ units: {
98
+ paddingLeft: 4,
99
+ },
100
+
101
+ withFloatingLabel: {
102
+ paddingTop: 18,
103
+ },
104
+
105
+ floatingLabelWithoutPadding: {
106
+ paddingTop: 18,
107
+ paddingLeft: 0,
108
+ },
109
+
110
+ floating: {},
111
+
112
+ activeLabel: {
113
+ display: 'none',
114
+
115
+ '&$floating': {
116
+ display: 'block',
117
+ transform: 'scale(0.75) translateY(-120%)',
118
+ },
119
+ },
120
+
121
+ required: {
122
+ '&:before': {
123
+ content: '""',
124
+ position: 'absolute',
125
+ left: -12,
126
+ top: '50%',
127
+ transform: 'translate(0, -50%)',
128
+ width: 6,
129
+ height: 6,
130
+ borderRadius: '50%',
131
+ },
132
+ },
133
+
134
+ label: {
135
+ position: 'absolute',
136
+ pointerEvents: 'none',
137
+ left: PADDING_X,
138
+ top: '50%',
139
+ transformOrigin: 'top left',
140
+ transform: 'translateY(-50%)',
141
+ transition: '0.25s ease-in-out',
142
+ transitionProperty: 'transform, color',
143
+ fontSize: 16,
144
+ },
145
+
146
+ floatingWithoutPadding: {
147
+ left: 0,
148
+ },
149
+
150
+ requiredLabel: {
151
+ '&:after': {
152
+ content: '""',
153
+ position: 'absolute',
154
+ right: -8,
155
+ top: 4,
156
+ transform: 'translate(0, -50%)',
157
+ width: 6,
158
+ height: 6,
159
+ borderRadius: '50%',
160
+ },
161
+ },
162
+
163
+ activeIcon: {
164
+ cursor: 'pointer',
165
+ },
166
+
167
+ 'border-top': {
168
+ borderRadius: 0,
169
+ borderWidth: [1, 0, 0, 0],
170
+ },
171
+
172
+ 'border-bottom': {
173
+ borderRadius: 0,
174
+ borderWidth: [0, 0, 1, 0],
175
+ },
176
+
177
+ 'border-left': {
178
+ borderRadius: 0,
179
+ borderWidth: [0, 0, 0, 1],
180
+ },
181
+
182
+ 'border-right': {
183
+ borderRadius: 0,
184
+ borderWidth: [0, 1, 0, 0],
185
+ },
186
+
187
+ top: {
188
+ borderBottomLeftRadius: 0,
189
+ borderBottomRightRadius: 0,
190
+ },
191
+
192
+ bottom: {
193
+ borderTopLeftRadius: 0,
194
+ borderTopRightRadius: 0,
195
+ },
196
+
197
+ 'top-left': {
198
+ borderTopRightRadius: 0,
199
+ borderBottomLeftRadius: 0,
200
+ borderBottomRightRadius: 0,
201
+ },
202
+
203
+ 'top-right': {
204
+ borderTopLeftRadius: 0,
205
+ borderBottomLeftRadius: 0,
206
+ borderBottomRightRadius: 0,
207
+ },
208
+
209
+ 'bottom-left': {
210
+ borderTopLeftRadius: 0,
211
+ borderTopRightRadius: 0,
212
+ borderBottomRightRadius: 0,
213
+ },
214
+
215
+ 'bottom-right': {
216
+ borderTopLeftRadius: 0,
217
+ borderTopRightRadius: 0,
218
+ borderBottomLeftRadius: 0,
219
+ },
220
+
221
+ left: {
222
+ borderTopRightRadius: 0,
223
+ borderBottomRightRadius: 0,
224
+ },
225
+
226
+ right: {
227
+ borderTopLeftRadius: 0,
228
+ borderBottomLeftRadius: 0,
229
+ },
230
+
231
+ middle: {
232
+ borderRadius: 0,
233
+ },
234
+
235
+ controls: {
236
+ display: 'flex',
237
+ gridArea: '1 / 3',
238
+ },
239
+
240
+ icon: {
241
+ display: 'flex',
242
+ alignItems: 'center',
243
+ padding: [0, 4],
244
+ width: 20,
245
+ transition: 'color 0.25s ease-in-out',
246
+ boxSizing: 'content-box',
247
+
248
+ '&:last-child': {
249
+ paddingRight: 8,
250
+ },
251
+
252
+ '& + $units': {
253
+ marginLeft: 4,
254
+ },
255
+ },
256
+
257
+ clearIcon: {
258
+ extend: 'icon',
259
+ },
260
+
261
+ inputIcon: {
262
+ extend: 'icon',
263
+ },
264
+
265
+ withIcons: {
266
+ paddingRight: 4,
267
+ },
268
+
269
+ withControls: {},
270
+
271
+ invalid: {},
272
+
273
+ disabled: {},
274
+
275
+ invalidLabel: {},
276
+
277
+ error: {
278
+ fontSize: 12,
279
+ },
280
+
281
+ info: {
282
+ fontSize: 12,
283
+ paddingTop: 4,
284
+ paddingLeft: 13,
285
+ },
286
+
287
+ 'error-top': {
288
+ position: 'absolute',
289
+ top: -18,
290
+ left: -1,
291
+ padding: [4, 8],
292
+ zIndex: 1,
293
+ },
294
+
295
+ 'error-bottom': {
296
+ paddingTop: 4,
297
+ paddingLeft: 13,
298
+ },
299
+
300
+ loading: {},
301
+
302
+ withUnits: {},
303
+
304
+ tweakPreloader: {},
305
+ };
306
+
307
+ export type InputStyles = ComponentStyles<typeof styles>;
@@ -9,6 +9,7 @@ import {
9
9
  KeyboardEvent,
10
10
  ClipboardEvent,
11
11
  InputHTMLAttributes,
12
+ ReactNode,
12
13
  } from 'react';
13
14
  import InputMask from 'react-input-mask';
14
15
  import clsx from 'clsx';
@@ -30,7 +31,7 @@ import { InputStyles, styles } from './Input.styles';
30
31
  export interface IInputProps extends ICommonProps, IReactInputMaskProps {
31
32
  tweakStyles?: InputStyles;
32
33
  value?: string;
33
- label?: string;
34
+ label?: ReactNode;
34
35
  placeholder?: string;
35
36
  /**
36
37
  * @default `text`
@@ -170,7 +171,7 @@ export const Input = forwardRef<HTMLInputElement, IInputProps>(
170
171
  const hasControls = hasClearIcon || iconType !== undefined || isLoading;
171
172
  const hasValue = value !== undefined && value !== '';
172
173
  const hasUnits = units !== undefined && units !== '';
173
- const hasLabel = isStringNotEmpty(label);
174
+ const hasLabel = isReactNodeNotEmpty(label);
174
175
  const hasPlaceholder =
175
176
  (!hasLabel || (hasFocus && !isReadonly) || shouldAlwaysShowPlaceholder) &&
176
177
  isStringNotEmpty(placeholder);