@true-engineering/true-react-common-ui-kit 1.0.2 → 1.2.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 (135) hide show
  1. package/dist/components/AccountInfo/AccountInfo.d.ts +4 -4
  2. package/dist/components/AccountInfo/AccountInfo.styles.d.ts +60 -56
  3. package/dist/components/AddButton/AddButton.d.ts +6 -6
  4. package/dist/components/AddButton/AddButton.styles.d.ts +23 -23
  5. package/dist/components/Button/Button.d.ts +19 -33
  6. package/dist/components/Button/Button.styles.d.ts +144 -144
  7. package/dist/components/Checkbox/Checkbox.d.ts +16 -27
  8. package/dist/components/Checkbox/Checkbox.styles.d.ts +39 -42
  9. package/dist/components/CloseButton/CloseButton.d.ts +4 -4
  10. package/dist/components/CloseButton/CloseButton.styles.d.ts +22 -22
  11. package/dist/components/Colors/Colors.styles.d.ts +28 -28
  12. package/dist/components/CssBaseline/CssBaseline.d.ts +1 -1
  13. package/dist/components/CssBaseline/CssBaseline.styles.d.ts +7 -7
  14. package/dist/components/DateInput/DateInput.d.ts +8 -9
  15. package/dist/components/DateInput/DateInput.styles.d.ts +7 -7
  16. package/dist/components/DatePicker/DatePicker.d.ts +29 -36
  17. package/dist/components/DatePicker/DatePicker.styles.d.ts +38 -34
  18. package/dist/components/DatePicker/DatePickerHeader/DatePickerHeader.d.ts +9 -9
  19. package/dist/components/DatePicker/DatePickerHeader/DatePickerHeader.styles.d.ts +59 -59
  20. package/dist/components/DatePicker/DatePickerInput/DatePickerInput.d.ts +7 -9
  21. package/dist/components/DatePicker/DatePickerInput/DatePickerInput.styles.d.ts +16 -16
  22. package/dist/components/Description/Description.d.ts +6 -6
  23. package/dist/components/Description/Description.styles.d.ts +18 -18
  24. package/dist/components/FiltersPane/FilterInterval/FilterInterval.d.ts +19 -19
  25. package/dist/components/FiltersPane/FilterInterval/FilterInterval.styles.d.ts +44 -44
  26. package/dist/components/FiltersPane/FilterMultiSelect/FilterMultiSelect.d.ts +2 -8
  27. package/dist/components/FiltersPane/FilterSelect/FilterSelect.d.ts +17 -35
  28. package/dist/components/FiltersPane/FilterSelect/FilterSelect.styles.d.ts +111 -111
  29. package/dist/components/FiltersPane/FilterSelect/locales.d.ts +6 -10
  30. package/dist/components/FiltersPane/FilterValueView/FilterValueView.d.ts +1 -9
  31. package/dist/components/FiltersPane/FilterValueView/FilterValueView.styles.d.ts +8 -8
  32. package/dist/components/FiltersPane/FilterWithDates/FilterWithDates.d.ts +13 -21
  33. package/dist/components/FiltersPane/FilterWithDates/FilterWithDates.styles.d.ts +41 -41
  34. package/dist/components/FiltersPane/FilterWithPeriod/FilterWithPeriod.d.ts +8 -8
  35. package/dist/components/FiltersPane/FilterWithPeriod/FilterWithPeriod.styles.d.ts +7 -7
  36. package/dist/components/FiltersPane/FilterWrapper/FilterWrapper.d.ts +18 -41
  37. package/dist/components/FiltersPane/FilterWrapper/FilterWrapper.styles.d.ts +92 -92
  38. package/dist/components/FiltersPane/FiltersPane.d.ts +15 -34
  39. package/dist/components/FiltersPane/FiltersPane.styles.d.ts +50 -50
  40. package/dist/components/FiltersPane/FiltersPaneSearch/FiltersPaneSearch.d.ts +18 -37
  41. package/dist/components/FiltersPane/FiltersPaneSearch/FiltersPaneSearch.styles.d.ts +82 -82
  42. package/dist/components/FiltersPane/locales.d.ts +22 -28
  43. package/dist/components/FiltersPane/types.d.ts +38 -65
  44. package/dist/components/Flag/Flag.d.ts +2 -2
  45. package/dist/components/Flag/Flag.styles.d.ts +8 -8
  46. package/dist/components/FlexibleTable/FlexibleTable.d.ts +20 -45
  47. package/dist/components/FlexibleTable/FlexibleTable.styles.d.ts +93 -93
  48. package/dist/components/FlexibleTable/TableRow.d.ts +21 -38
  49. package/dist/components/FlexibleTable/TableValue.d.ts +16 -28
  50. package/dist/components/FlexibleTable/types.d.ts +31 -37
  51. package/dist/components/Icon/ComplexIconBoilerplate.d.ts +1 -1
  52. package/dist/components/Icon/Icon.d.ts +2 -2
  53. package/dist/components/Icon/Icon.styles.d.ts +4 -4
  54. package/dist/components/Icon/IconBoilerplate.d.ts +1 -1
  55. package/dist/components/Icon/complexIcons/icons.d.ts +1 -1
  56. package/dist/components/Icon/icons/icons.d.ts +5 -97
  57. package/dist/components/IncrementInput/ChangeButton.d.ts +5 -5
  58. package/dist/components/IncrementInput/IncrementInput.d.ts +3 -4
  59. package/dist/components/IncrementInput/IncrementInput.styles.d.ts +52 -52
  60. package/dist/components/Input/Input.d.ts +37 -48
  61. package/dist/components/Input/Input.styles.d.ts +242 -242
  62. package/dist/components/List/List.d.ts +12 -12
  63. package/dist/components/List/List.styles.d.ts +35 -35
  64. package/dist/components/Modal/Modal.d.ts +19 -19
  65. package/dist/components/Modal/Modal.styles.d.ts +235 -235
  66. package/dist/components/MoreMenu/MoreMenu.d.ts +7 -7
  67. package/dist/components/MoreMenu/MoreMenu.styles.d.ts +45 -45
  68. package/dist/components/MultiSelect/MultiSelect.d.ts +13 -28
  69. package/dist/components/MultiSelect/MultiSelect.styles.d.ts +38 -38
  70. package/dist/components/MultiSelect/MultiSelectInput/MultiSelectInput.d.ts +6 -12
  71. package/dist/components/MultiSelect/MultiSelectInput/MultiSelectInput.styles.d.ts +58 -58
  72. package/dist/components/MultiSelectList/MultiSelectList.d.ts +20 -43
  73. package/dist/components/MultiSelectList/MultiSelectList.styles.d.ts +90 -90
  74. package/dist/components/MultiSelectList/locales.d.ts +6 -10
  75. package/dist/components/Notification/Notification.d.ts +9 -14
  76. package/dist/components/Notification/Notification.styles.d.ts +30 -33
  77. package/dist/components/NumberInput/NumberInput.d.ts +10 -16
  78. package/dist/components/NumberInput/helpers.d.ts +2 -10
  79. package/dist/components/PhoneInput/PhoneInput.d.ts +7 -14
  80. package/dist/components/PhoneInput/PhoneInput.styles.d.ts +60 -60
  81. package/dist/components/PhoneInput/PhoneInputCountryList/PhoneInputCountryList.d.ts +7 -7
  82. package/dist/components/PhoneInput/PhoneInputCountryList/PhoneInputCountryList.styles.d.ts +74 -78
  83. package/dist/components/PhoneInput/types.d.ts +11 -11
  84. package/dist/components/RadioButton/RadioButton.d.ts +8 -18
  85. package/dist/components/RadioButton/RadioButton.styles.d.ts +25 -25
  86. package/dist/components/ScrollIntoViewIfNeeded/ScrollIntoViewIfNeeded.d.ts +374 -634
  87. package/dist/components/SearchInput/SearchInput.d.ts +2 -12
  88. package/dist/components/SearchInput/SearchInput.styles.d.ts +32 -32
  89. package/dist/components/Select/Select.d.ts +24 -51
  90. package/dist/components/Select/Select.styles.d.ts +53 -53
  91. package/dist/components/Select/SelectList/SelectList.d.ts +17 -32
  92. package/dist/components/Select/SelectList/SelectList.styles.d.ts +35 -37
  93. package/dist/components/Select/helpers.d.ts +3 -9
  94. package/dist/components/SmartInput/SmartInput.d.ts +16 -28
  95. package/dist/components/SmartInput/helpers.d.ts +4 -8
  96. package/dist/components/Switch/Switch.d.ts +13 -26
  97. package/dist/components/Switch/Switch.styles.d.ts +58 -58
  98. package/dist/components/TextArea/TextArea.d.ts +23 -26
  99. package/dist/components/TextArea/TextArea.styles.d.ts +124 -124
  100. package/dist/components/TextWithInfo/TextWithInfo.d.ts +9 -9
  101. package/dist/components/TextWithInfo/TextWithInfo.styles.d.ts +40 -40
  102. package/dist/components/TextWithTooltip/TextWithTooltip.d.ts +12 -12
  103. package/dist/components/TextWithTooltip/TextWithTooltip.styles.d.ts +10 -10
  104. package/dist/components/ThemedPreloader/ThemedPreloader.d.ts +4 -4
  105. package/dist/components/ThemedPreloader/ThemedPreloader.styles.d.ts +10 -10
  106. package/dist/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.d.ts +1 -1
  107. package/dist/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.styles.d.ts +35 -35
  108. package/dist/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.d.ts +2 -2
  109. package/dist/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.styles.d.ts +5 -5
  110. package/dist/components/Toaster/Toaster.d.ts +11 -16
  111. package/dist/components/Toaster/Toaster.styles.d.ts +41 -41
  112. package/dist/components/Tooltip/Tooltip.d.ts +4 -4
  113. package/dist/components/Tooltip/Tooltip.styles.d.ts +27 -25
  114. package/dist/helpers/data-attributes.d.ts +4 -11
  115. package/dist/helpers/phone.d.ts +8 -28
  116. package/dist/helpers/utils.d.ts +7 -28
  117. package/dist/hooks/use-did-mount-effect.d.ts +1 -4
  118. package/dist/hooks/use-dropdown.d.ts +7 -14
  119. package/dist/hooks/use-is-mounted.d.ts +1 -1
  120. package/dist/hooks/use-on-click-outside.d.ts +4 -25
  121. package/dist/hooks/use-theme.d.ts +5 -10
  122. package/dist/hooks/use-tweak-styles.d.ts +1 -5
  123. package/dist/style.css +90 -205
  124. package/dist/theme.d.ts +55 -51
  125. package/dist/true-react-common-ui-kit.js +16711 -24314
  126. package/dist/true-react-common-ui-kit.js.map +1 -1
  127. package/dist/true-react-common-ui-kit.umd.cjs +39 -35
  128. package/dist/true-react-common-ui-kit.umd.cjs.map +1 -1
  129. package/dist/types.d.ts +23 -77
  130. package/package.json +1 -1
  131. package/src/components/Select/Select.stories.tsx +16 -12
  132. package/src/components/Select/Select.tsx +51 -41
  133. package/src/components/Select/SelectList/SelectList.tsx +17 -22
  134. package/src/components/Select/helpers.ts +14 -6
  135. package/src/components/SmartInput/SmartInput.tsx +130 -127
@@ -1,4 +1,4 @@
1
- import React, {useState, useEffect, forwardRef} from 'react';
1
+ import React, { useState, useEffect, forwardRef } from 'react';
2
2
  import { Input, IInputProps } from '../Input';
3
3
  import {
4
4
  CharactersMap,
@@ -38,140 +38,143 @@ export const SMART_INPUT_REGEX_MAP = {
38
38
  benefitCert: /^[a-zA-Z0-9/]*$/i,
39
39
  };
40
40
 
41
- export const SmartInput = forwardRef<HTMLInputElement, ISmartInputProps>(({
42
- onChange,
43
- isUpperCase,
44
- smartType = 'default',
45
- regExp,
46
- value = '',
47
- maxLength,
48
- ...rest
49
- }, ref) => {
50
- const [currentValue, setCurrentValue] = useState<string>(
51
- getUpperCaseIfNeeded(value),
52
- );
53
- const [caretPosition, setCaretPosition] = useState<number | null>(null);
54
- const [input, setInput] = useState<HTMLInputElement | null>(null);
55
- const regex = regExp || SMART_INPUT_REGEX_MAP[smartType];
56
-
57
- useEffect(() => {
58
- if (
59
- input &&
60
- input.type !== 'email' &&
61
- input.selectionStart !== caretPosition
62
- ) {
63
- input.selectionStart = caretPosition;
64
- input.selectionEnd = caretPosition;
41
+ export const SmartInput = forwardRef<HTMLInputElement, ISmartInputProps>(
42
+ (
43
+ {
44
+ onChange,
45
+ isUpperCase,
46
+ smartType = 'default',
47
+ regExp,
48
+ value = '',
49
+ maxLength,
50
+ ...rest
51
+ },
52
+ ref,
53
+ ) => {
54
+ const [currentValue, setCurrentValue] = useState<string>(
55
+ getUpperCaseIfNeeded(value),
56
+ );
57
+ const [caretPosition, setCaretPosition] = useState<number | null>(null);
58
+ const [input, setInput] = useState<HTMLInputElement | null>(null);
59
+ const regex = regExp || SMART_INPUT_REGEX_MAP[smartType];
60
+
61
+ useEffect(() => {
62
+ if (
63
+ input &&
64
+ input.type !== 'email' &&
65
+ input.selectionStart !== caretPosition
66
+ ) {
67
+ input.selectionStart = caretPosition;
68
+ input.selectionEnd = caretPosition;
69
+ }
70
+ }, [caretPosition]);
71
+
72
+ useEffect(() => {
73
+ setCurrentValue(getUpperCaseIfNeeded(value));
74
+ }, [value]);
75
+
76
+ function getUpperCaseIfNeeded(str: string) {
77
+ return isUpperCase ? str.toUpperCase() : str;
65
78
  }
66
- }, [caretPosition]);
67
79
 
68
- useEffect(() => {
69
- setCurrentValue(getUpperCaseIfNeeded(value));
70
- }, [value]);
80
+ const handleChange = (
81
+ str: string,
82
+ event?: React.FormEvent<HTMLInputElement>,
83
+ ) => {
84
+ const mappedValue = str
85
+ .split('')
86
+ .map((symbol) =>
87
+ regex.test(symbol)
88
+ ? symbol
89
+ : transformCaseSensitive(
90
+ smartType,
91
+ smartType !== 'email'
92
+ ? CharactersMap
93
+ : { ...CharactersMap, '"': '@' },
94
+ symbol,
95
+ ),
96
+ )
97
+ .filter((symbol) => regex.test(symbol))
98
+ .join('');
99
+ const domElement = event?.currentTarget;
100
+
101
+ if (domElement) {
102
+ if (!input) {
103
+ setInput(domElement);
104
+ }
105
+
106
+ setCurrentValue(getUpperCaseIfNeeded(mappedValue));
107
+ onChange(getUpperCaseIfNeeded(mappedValue));
108
+
109
+ if (mappedValue !== currentValue) {
110
+ setCaretPosition(domElement.selectionStart);
111
+ } else {
112
+ setCaretPosition(
113
+ domElement.selectionStart ? domElement.selectionStart - 1 : null,
114
+ );
115
+ }
116
+ }
117
+ };
71
118
 
72
- function getUpperCaseIfNeeded(str: string) {
73
- return isUpperCase ? str.toUpperCase() : str;
74
- }
119
+ const handlePaste = (event: React.ClipboardEvent<HTMLInputElement>) => {
120
+ const str = event.clipboardData.getData('text/plain').split('').join('');
121
+ const domElement = event.currentTarget;
75
122
 
76
- const handleChange = (
77
- str: string,
78
- event?: React.FormEvent<HTMLInputElement>,
79
- ) => {
80
- const mappedValue = str
81
- .split('')
82
- .map((symbol) =>
83
- regex.test(symbol)
84
- ? symbol
85
- : transformCaseSensitive(
86
- smartType,
87
- smartType !== 'email'
88
- ? CharactersMap
89
- : { ...CharactersMap, '"': '@' },
90
- symbol,
91
- ),
92
- )
93
- .filter((symbol) => regex.test(symbol))
94
- .join('');
95
- const domElement = event?.currentTarget;
96
-
97
- if (domElement) {
98
123
  if (!input) {
99
124
  setInput(domElement);
100
125
  }
101
126
 
102
- setCurrentValue(getUpperCaseIfNeeded(mappedValue));
103
- onChange(getUpperCaseIfNeeded(mappedValue));
104
-
105
- if (mappedValue !== currentValue) {
106
- setCaretPosition(domElement.selectionStart);
107
- } else {
108
- setCaretPosition(
109
- domElement.selectionStart ? domElement.selectionStart - 1 : null,
110
- );
127
+ event.preventDefault();
128
+ const selectionStart = domElement.selectionStart ?? 0;
129
+ const selectionEnd = domElement.selectionEnd ?? 0;
130
+
131
+ let mappedValue = str
132
+ .split('')
133
+ .map((symbol) =>
134
+ regex.test(symbol)
135
+ ? symbol
136
+ : transformCaseSensitive(smartType, TransliterationMap, symbol),
137
+ )
138
+ .filter((letter) => regex.test(letter))
139
+ .join('');
140
+
141
+ const newValueLength =
142
+ mappedValue.length +
143
+ currentValue.length -
144
+ (selectionEnd - selectionStart);
145
+
146
+ if (
147
+ maxLength !== undefined &&
148
+ maxLength >= 0 &&
149
+ newValueLength > maxLength
150
+ ) {
151
+ const validMappedValueLength =
152
+ mappedValue.length - (newValueLength - maxLength);
153
+
154
+ mappedValue = mappedValue.substring(0, validMappedValueLength);
111
155
  }
112
- }
113
- };
114
-
115
- const handlePaste = (event: React.ClipboardEvent<HTMLInputElement>) => {
116
- const str = event.clipboardData.getData('text/plain').split('').join('');
117
- const domElement = event.currentTarget;
118
-
119
- if (!input) {
120
- setInput(domElement);
121
- }
122
156
 
123
- event.preventDefault();
124
- const selectionStart = domElement.selectionStart ?? 0;
125
- const selectionEnd = domElement.selectionEnd ?? 0;
126
-
127
- let mappedValue = str
128
- .split('')
129
- .map((symbol) =>
130
- regex.test(symbol)
131
- ? symbol
132
- : transformCaseSensitive(smartType, TransliterationMap, symbol),
133
- )
134
- .filter((letter) => regex.test(letter))
135
- .join('');
136
-
137
- const newValueLength =
138
- mappedValue.length +
139
- currentValue.length -
140
- (selectionEnd - selectionStart);
141
-
142
- if (
143
- maxLength !== undefined &&
144
- maxLength >= 0 &&
145
- newValueLength > maxLength
146
- ) {
147
- const validMappedValueLength =
148
- mappedValue.length - (newValueLength - maxLength);
149
-
150
- mappedValue = mappedValue.substring(0, validMappedValueLength);
151
- }
152
-
153
- const newValue = getUpperCaseIfNeeded(
154
- `${currentValue?.substring(
155
- 0,
156
- selectionStart,
157
- )}${mappedValue}${currentValue?.substring(
158
- selectionEnd,
159
- )}`,
157
+ const newValue = getUpperCaseIfNeeded(
158
+ `${currentValue?.substring(
159
+ 0,
160
+ selectionStart,
161
+ )}${mappedValue}${currentValue?.substring(selectionEnd)}`,
162
+ );
163
+
164
+ setCaretPosition(selectionStart + mappedValue.length);
165
+ setCurrentValue(newValue);
166
+ onChange(newValue);
167
+ };
168
+
169
+ return (
170
+ <Input
171
+ {...rest}
172
+ ref={ref}
173
+ maxLength={maxLength}
174
+ onChange={handleChange}
175
+ onPaste={handlePaste}
176
+ value={currentValue}
177
+ />
160
178
  );
161
-
162
- setCaretPosition(selectionStart + mappedValue.length);
163
- setCurrentValue(newValue);
164
- onChange(newValue);
165
- };
166
-
167
- return (
168
- <Input
169
- {...rest}
170
- ref={ref}
171
- maxLength={maxLength}
172
- onChange={handleChange}
173
- onPaste={handlePaste}
174
- value={currentValue}
175
- />
176
- );
177
- });
179
+ },
180
+ );