@true-engineering/true-react-common-ui-kit 1.5.0 → 1.5.2

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 (243) hide show
  1. package/LICENSE +201 -201
  2. package/dist/components/FiltersPane/FilterMultiSelect/FilterMultiSelect.d.ts +1 -0
  3. package/dist/components/FiltersPane/FilterValueView/FilterValueView.d.ts +1 -0
  4. package/dist/components/FiltersPane/FiltersPane.d.ts +1 -0
  5. package/dist/components/Flag/augment.d.ts +1 -1
  6. package/dist/components/Icon/complexIcons/augment.d.ts +1 -1
  7. package/dist/components/Input/Input.d.ts +4 -4
  8. package/dist/components/MultiSelect/MultiSelect.d.ts +1 -0
  9. package/dist/components/ScrollIntoViewIfNeeded/ScrollIntoViewIfNeeded.d.ts +1 -1
  10. package/dist/true-react-common-ui-kit.js +67 -60
  11. package/dist/true-react-common-ui-kit.js.map +1 -1
  12. package/dist/true-react-common-ui-kit.umd.cjs +67 -60
  13. package/dist/true-react-common-ui-kit.umd.cjs.map +1 -1
  14. package/dist/vite-env.d.ts +1 -1
  15. package/package.json +91 -91
  16. package/src/components/AccountInfo/AccountInfo.stories.tsx +35 -35
  17. package/src/components/AccountInfo/AccountInfo.styles.ts +55 -55
  18. package/src/components/AccountInfo/AccountInfo.tsx +106 -106
  19. package/src/components/AccountInfo/index.ts +2 -2
  20. package/src/components/AddButton/AddButton.stories.tsx +21 -21
  21. package/src/components/AddButton/AddButton.styles.ts +34 -34
  22. package/src/components/AddButton/AddButton.tsx +49 -49
  23. package/src/components/AddButton/index.ts +2 -2
  24. package/src/components/Button/Button.stories.tsx +61 -61
  25. package/src/components/Button/Button.styles.ts +196 -196
  26. package/src/components/Button/Button.tsx +195 -195
  27. package/src/components/Button/index.ts +2 -2
  28. package/src/components/Checkbox/Checkbox.stories.tsx +35 -35
  29. package/src/components/Checkbox/Checkbox.styles.ts +59 -59
  30. package/src/components/Checkbox/Checkbox.tsx +93 -93
  31. package/src/components/Checkbox/index.ts +2 -2
  32. package/src/components/CloseButton/CloseButton.styles.ts +34 -34
  33. package/src/components/CloseButton/CloseButton.tsx +37 -37
  34. package/src/components/CloseButton/index.ts +2 -2
  35. package/src/components/Colors/Colors.stories.tsx +7 -7
  36. package/src/components/Colors/Colors.styles.ts +38 -38
  37. package/src/components/Colors/Colors.tsx +34 -34
  38. package/src/components/Colors/index.ts +2 -2
  39. package/src/components/CssBaseline/CssBaseline.styles.ts +15 -15
  40. package/src/components/CssBaseline/CssBaseline.tsx +17 -17
  41. package/src/components/CssBaseline/index.ts +2 -2
  42. package/src/components/DateInput/DateInput.stories.tsx +63 -63
  43. package/src/components/DateInput/DateInput.styles.ts +14 -14
  44. package/src/components/DateInput/DateInput.tsx +60 -60
  45. package/src/components/DateInput/index.ts +2 -2
  46. package/src/components/DatePicker/DatePicker.stories.tsx +96 -96
  47. package/src/components/DatePicker/DatePicker.styles.ts +54 -54
  48. package/src/components/DatePicker/DatePicker.tsx +358 -358
  49. package/src/components/DatePicker/DatePickerHeader/DatePickerHeader.styles.ts +84 -84
  50. package/src/components/DatePicker/DatePickerHeader/DatePickerHeader.tsx +94 -94
  51. package/src/components/DatePicker/DatePickerHeader/index.ts +1 -1
  52. package/src/components/DatePicker/DatePickerInput/DatePickerInput.styles.ts +25 -25
  53. package/src/components/DatePicker/DatePickerInput/DatePickerInput.tsx +31 -31
  54. package/src/components/DatePicker/DatePickerInput/index.ts +1 -1
  55. package/src/components/DatePicker/index.ts +4 -4
  56. package/src/components/Description/Description.stories.tsx +29 -29
  57. package/src/components/Description/Description.styles.ts +31 -31
  58. package/src/components/Description/Description.tsx +69 -69
  59. package/src/components/Description/index.ts +2 -2
  60. package/src/components/FiltersPane/FilterInterval/FilterInterval.styles.ts +64 -64
  61. package/src/components/FiltersPane/FilterInterval/FilterInterval.tsx +162 -162
  62. package/src/components/FiltersPane/FilterInterval/index.ts +1 -1
  63. package/src/components/FiltersPane/FilterMultiSelect/FilterMultiSelect.tsx +14 -14
  64. package/src/components/FiltersPane/FilterMultiSelect/index.ts +1 -1
  65. package/src/components/FiltersPane/FilterSelect/FilterSelect.styles.ts +144 -144
  66. package/src/components/FiltersPane/FilterSelect/FilterSelect.tsx +397 -397
  67. package/src/components/FiltersPane/FilterSelect/index.ts +1 -1
  68. package/src/components/FiltersPane/FilterSelect/locales.ts +37 -37
  69. package/src/components/FiltersPane/FilterValueView/FilterValueView.styles.tsx +15 -15
  70. package/src/components/FiltersPane/FilterValueView/FilterValueView.tsx +186 -186
  71. package/src/components/FiltersPane/FilterValueView/index.tsx +1 -1
  72. package/src/components/FiltersPane/FilterWithDates/FilterWithDates.styles.ts +60 -60
  73. package/src/components/FiltersPane/FilterWithDates/FilterWithDates.tsx +222 -222
  74. package/src/components/FiltersPane/FilterWithDates/index.ts +1 -1
  75. package/src/components/FiltersPane/FilterWithPeriod/FilterWithPeriod.styles.ts +17 -17
  76. package/src/components/FiltersPane/FilterWithPeriod/FilterWithPeriod.tsx +231 -231
  77. package/src/components/FiltersPane/FilterWithPeriod/index.ts +1 -1
  78. package/src/components/FiltersPane/FilterWrapper/FilterWrapper.styles.ts +110 -110
  79. package/src/components/FiltersPane/FilterWrapper/FilterWrapper.tsx +360 -360
  80. package/src/components/FiltersPane/FilterWrapper/index.ts +1 -1
  81. package/src/components/FiltersPane/FiltersPane.stories.tsx +308 -308
  82. package/src/components/FiltersPane/FiltersPane.styles.ts +71 -71
  83. package/src/components/FiltersPane/FiltersPane.tsx +193 -193
  84. package/src/components/FiltersPane/FiltersPaneSearch/FiltersPaneSearch.styles.ts +109 -109
  85. package/src/components/FiltersPane/FiltersPaneSearch/FiltersPaneSearch.tsx +175 -175
  86. package/src/components/FiltersPane/FiltersPaneSearch/index.ts +1 -1
  87. package/src/components/FiltersPane/index.ts +20 -20
  88. package/src/components/FiltersPane/locales.ts +107 -107
  89. package/src/components/FiltersPane/types.ts +126 -126
  90. package/src/components/Flag/Flag.stories.tsx +29 -29
  91. package/src/components/Flag/Flag.styles.ts +18 -18
  92. package/src/components/Flag/Flag.tsx +28 -28
  93. package/src/components/Flag/augment.d.ts +1 -1
  94. package/src/components/Flag/index.ts +2 -2
  95. package/src/components/FlexibleTable/FlexibleTable.stories.tsx +80 -80
  96. package/src/components/FlexibleTable/FlexibleTable.styles.ts +131 -131
  97. package/src/components/FlexibleTable/FlexibleTable.tsx +243 -243
  98. package/src/components/FlexibleTable/TableRow.tsx +171 -171
  99. package/src/components/FlexibleTable/TableValue.tsx +83 -83
  100. package/src/components/FlexibleTable/fixture-test.ts +254 -254
  101. package/src/components/FlexibleTable/index.ts +3 -3
  102. package/src/components/FlexibleTable/types.ts +58 -58
  103. package/src/components/Icon/ComplexIconBoilerplate.tsx +17 -17
  104. package/src/components/Icon/Icon.stories.tsx +88 -88
  105. package/src/components/Icon/Icon.styles.ts +10 -10
  106. package/src/components/Icon/Icon.tsx +34 -34
  107. package/src/components/Icon/IconBoilerplate.tsx +42 -42
  108. package/src/components/Icon/complexIcons/augment.d.ts +1 -1
  109. package/src/components/Icon/complexIcons/avatarGreen.svg +57 -57
  110. package/src/components/Icon/complexIcons/icons.ts +7 -7
  111. package/src/components/Icon/complexIcons/index.ts +1 -1
  112. package/src/components/Icon/icons/icons.ts +838 -838
  113. package/src/components/Icon/icons/index.ts +1 -1
  114. package/src/components/Icon/index.ts +4 -4
  115. package/src/components/IncrementInput/ChangeButton.tsx +34 -34
  116. package/src/components/IncrementInput/IncrementInput.stories.tsx +34 -34
  117. package/src/components/IncrementInput/IncrementInput.styles.ts +77 -77
  118. package/src/components/IncrementInput/IncrementInput.tsx +95 -95
  119. package/src/components/IncrementInput/index.ts +2 -2
  120. package/src/components/Input/Input.stories.tsx +92 -92
  121. package/src/components/Input/Input.styles.ts +305 -305
  122. package/src/components/Input/Input.tsx +324 -310
  123. package/src/components/Input/index.ts +2 -2
  124. package/src/components/List/List.stories.tsx +62 -62
  125. package/src/components/List/List.styles.ts +52 -52
  126. package/src/components/List/List.tsx +82 -82
  127. package/src/components/List/index.ts +2 -2
  128. package/src/components/Modal/Modal.stories.tsx +113 -113
  129. package/src/components/Modal/Modal.styles.ts +308 -308
  130. package/src/components/Modal/Modal.tsx +210 -210
  131. package/src/components/Modal/index.ts +2 -2
  132. package/src/components/MoreMenu/MoreMenu.stories.tsx +46 -46
  133. package/src/components/MoreMenu/MoreMenu.styles.ts +70 -70
  134. package/src/components/MoreMenu/MoreMenu.tsx +102 -102
  135. package/src/components/MoreMenu/index.ts +2 -2
  136. package/src/components/MultiSelect/MultiSelect.stories.tsx +46 -46
  137. package/src/components/MultiSelect/MultiSelect.styles.ts +55 -55
  138. package/src/components/MultiSelect/MultiSelect.tsx +98 -98
  139. package/src/components/MultiSelect/MultiSelectInput/MultiSelectInput.styles.ts +73 -73
  140. package/src/components/MultiSelect/MultiSelectInput/MultiSelectInput.tsx +62 -62
  141. package/src/components/MultiSelect/MultiSelectInput/index.ts +1 -1
  142. package/src/components/MultiSelect/index.ts +3 -3
  143. package/src/components/MultiSelectList/MultiSelectList.styles.ts +125 -125
  144. package/src/components/MultiSelectList/MultiSelectList.tsx +519 -519
  145. package/src/components/MultiSelectList/index.ts +2 -2
  146. package/src/components/MultiSelectList/locales.ts +37 -37
  147. package/src/components/Notification/Notification.stories.tsx +51 -51
  148. package/src/components/Notification/Notification.styles.ts +50 -50
  149. package/src/components/Notification/Notification.tsx +84 -84
  150. package/src/components/Notification/index.ts +2 -2
  151. package/src/components/NumberInput/NumberInput.stories.tsx +36 -36
  152. package/src/components/NumberInput/NumberInput.tsx +154 -154
  153. package/src/components/NumberInput/helpers.ts +87 -87
  154. package/src/components/NumberInput/index.ts +1 -1
  155. package/src/components/PhoneInput/PhoneInput.stories.tsx +71 -71
  156. package/src/components/PhoneInput/PhoneInput.styles.ts +84 -84
  157. package/src/components/PhoneInput/PhoneInput.tsx +223 -223
  158. package/src/components/PhoneInput/PhoneInputCountryList/PhoneInputCountryList.stories.tsx +21 -21
  159. package/src/components/PhoneInput/PhoneInputCountryList/PhoneInputCountryList.styles.ts +100 -100
  160. package/src/components/PhoneInput/PhoneInputCountryList/PhoneInputCountryList.tsx +171 -171
  161. package/src/components/PhoneInput/PhoneInputCountryList/index.ts +2 -2
  162. package/src/components/PhoneInput/index.ts +6 -6
  163. package/src/components/PhoneInput/phone-info.ts +2167 -2167
  164. package/src/components/PhoneInput/types.ts +16 -16
  165. package/src/components/RadioButton/RadioButton.stories.tsx +46 -46
  166. package/src/components/RadioButton/RadioButton.styles.ts +37 -37
  167. package/src/components/RadioButton/RadioButton.tsx +56 -56
  168. package/src/components/RadioButton/index.ts +2 -2
  169. package/src/components/ScrollIntoViewIfNeeded/ScrollIntoViewIfNeeded.ts +66 -66
  170. package/src/components/ScrollIntoViewIfNeeded/index.ts +1 -1
  171. package/src/components/SearchInput/SearchInput.stories.tsx +24 -24
  172. package/src/components/SearchInput/SearchInput.styles.ts +50 -50
  173. package/src/components/SearchInput/SearchInput.tsx +63 -63
  174. package/src/components/SearchInput/index.ts +2 -2
  175. package/src/components/Select/Select.stories.tsx +258 -258
  176. package/src/components/Select/Select.styles.ts +85 -85
  177. package/src/components/Select/Select.tsx +508 -501
  178. package/src/components/Select/SelectList/SelectList.styles.ts +68 -68
  179. package/src/components/Select/SelectList/SelectList.tsx +139 -139
  180. package/src/components/Select/SelectList/index.ts +1 -1
  181. package/src/components/Select/helpers.ts +21 -21
  182. package/src/components/Select/index.ts +3 -3
  183. package/src/components/SmartInput/SmartInput.stories.tsx +63 -63
  184. package/src/components/SmartInput/SmartInput.tsx +180 -180
  185. package/src/components/SmartInput/helpers.ts +85 -85
  186. package/src/components/SmartInput/index.ts +1 -1
  187. package/src/components/Switch/Switch.stories.tsx +40 -40
  188. package/src/components/Switch/Switch.styles.ts +75 -75
  189. package/src/components/Switch/Switch.tsx +89 -89
  190. package/src/components/Switch/index.ts +2 -2
  191. package/src/components/TextArea/TextArea.stories.tsx +35 -35
  192. package/src/components/TextArea/TextArea.styles.ts +153 -153
  193. package/src/components/TextArea/TextArea.tsx +178 -178
  194. package/src/components/TextArea/index.ts +2 -2
  195. package/src/components/TextWithInfo/TextWithInfo.stories.tsx +53 -53
  196. package/src/components/TextWithInfo/TextWithInfo.styles.ts +60 -60
  197. package/src/components/TextWithInfo/TextWithInfo.tsx +67 -67
  198. package/src/components/TextWithInfo/index.ts +2 -2
  199. package/src/components/TextWithTooltip/TextWithTooltip.stories.tsx +58 -58
  200. package/src/components/TextWithTooltip/TextWithTooltip.styles.ts +19 -19
  201. package/src/components/TextWithTooltip/TextWithTooltip.tsx +163 -163
  202. package/src/components/TextWithTooltip/index.ts +2 -2
  203. package/src/components/ThemedPreloader/ThemedPreloader.stories.tsx +41 -41
  204. package/src/components/ThemedPreloader/ThemedPreloader.styles.ts +21 -21
  205. package/src/components/ThemedPreloader/ThemedPreloader.tsx +56 -56
  206. package/src/components/ThemedPreloader/components/DefaultPreloader/DefaultPreloader.tsx +34 -34
  207. package/src/components/ThemedPreloader/components/DefaultPreloader/index.ts +1 -1
  208. package/src/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.styles.ts +54 -54
  209. package/src/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.tsx +18 -18
  210. package/src/components/ThemedPreloader/components/DotsPreloader/index.ts +2 -2
  211. package/src/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.styles.ts +11 -11
  212. package/src/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.tsx +32 -32
  213. package/src/components/ThemedPreloader/components/SvgPreloader/index.ts +2 -2
  214. package/src/components/ThemedPreloader/components/index.ts +2 -2
  215. package/src/components/ThemedPreloader/index.ts +2 -2
  216. package/src/components/Toaster/Toaster.stories.tsx +34 -34
  217. package/src/components/Toaster/Toaster.styles.ts +59 -59
  218. package/src/components/Toaster/Toaster.tsx +113 -113
  219. package/src/components/Toaster/index.ts +2 -2
  220. package/src/components/Tooltip/Tooltip.stories.tsx +21 -21
  221. package/src/components/Tooltip/Tooltip.styles.ts +45 -45
  222. package/src/components/Tooltip/Tooltip.tsx +40 -40
  223. package/src/components/Tooltip/index.ts +3 -3
  224. package/src/components/Tooltip/types.ts +1 -1
  225. package/src/components/index.ts +36 -36
  226. package/src/helpers/colors.ts +2 -2
  227. package/src/helpers/data-attributes.ts +18 -18
  228. package/src/helpers/dateHelpers/date-helpers.ts +9 -9
  229. package/src/helpers/index.ts +5 -5
  230. package/src/helpers/phone.ts +106 -106
  231. package/src/helpers/popper-helpers.ts +17 -17
  232. package/src/helpers/snippets.tsx +5 -5
  233. package/src/helpers/utils.ts +178 -178
  234. package/src/hooks/index.ts +6 -6
  235. package/src/hooks/use-did-mount-effect.ts +21 -21
  236. package/src/hooks/use-dropdown.ts +85 -85
  237. package/src/hooks/use-is-mounted.ts +15 -15
  238. package/src/hooks/use-on-click-outside.ts +92 -92
  239. package/src/hooks/use-theme.ts +36 -36
  240. package/src/hooks/use-tweak-styles.ts +14 -14
  241. package/src/index.ts +6 -6
  242. package/src/theme.ts +155 -155
  243. package/src/vite-env.d.ts +1 -1
@@ -1,107 +1,107 @@
1
- import { merge } from 'lodash';
2
-
3
- export interface IFilterLocale {
4
- clear: string;
5
- all: string;
6
- other: string;
7
- chosen: string;
8
- searchPlaceholder: string;
9
- displayedFields: string;
10
- nothingFound: string;
11
- from: string;
12
- to: string;
13
- back: string;
14
- months: string[];
15
- periods: {
16
- [key: string]: string;
17
- THIS_MONTH: string;
18
- LAST_MONTH: string;
19
- THIS_YEAR: string;
20
- LAST_YEAR: string;
21
- CUSTOM: string;
22
- };
23
- }
24
-
25
- export type IPartialFilterLocale = Partial<Omit<IFilterLocale, 'periods'>> & {
26
- periods?: Partial<IFilterLocale['periods']>;
27
- };
28
-
29
- export const FilterLocales: Record<string, IFilterLocale> = {
30
- ru: {
31
- clear: 'Очистить',
32
- all: 'Все',
33
- other: 'Остальные',
34
- chosen: 'Выбранные',
35
- nothingFound: 'Не найдено',
36
- from: 'От',
37
- to: 'До',
38
- back: 'Назад',
39
- searchPlaceholder: 'Поиск',
40
- displayedFields: 'Поля для поиска',
41
- months: [
42
- 'Январь',
43
- 'Февраль',
44
- 'Март',
45
- 'Апрель',
46
- 'Май',
47
- 'Июнь',
48
- 'Июль',
49
- 'Август',
50
- 'Сентябрь',
51
- 'Октябрь',
52
- 'Ноябрь',
53
- 'Декабрь',
54
- ],
55
- periods: {
56
- THIS_MONTH: 'Этот месяц',
57
- LAST_MONTH: 'Прошлый месяц',
58
- THIS_YEAR: 'Этот год',
59
- LAST_YEAR: 'Прошлый год',
60
- CUSTOM: 'Другой период',
61
- },
62
- },
63
-
64
- en: {
65
- clear: 'Clear',
66
- all: 'All',
67
- other: 'Others',
68
- chosen: 'Chosen',
69
- nothingFound: 'Nothing found',
70
- from: 'From',
71
- to: 'To',
72
- back: 'Back',
73
- searchPlaceholder: 'Search',
74
- displayedFields: 'Displayed fields',
75
- months: [
76
- 'January',
77
- 'February',
78
- 'March',
79
- 'April',
80
- 'May',
81
- 'June',
82
- 'July',
83
- 'August',
84
- 'September',
85
- 'October',
86
- 'November',
87
- 'December',
88
- ],
89
- periods: {
90
- THIS_MONTH: 'This month',
91
- LAST_MONTH: 'Previous month',
92
- THIS_YEAR: 'This year',
93
- LAST_YEAR: 'Previous year',
94
- CUSTOM: 'Custom',
95
- },
96
- },
97
- };
98
-
99
- export type IFilterLocaleKey = keyof typeof FilterLocales;
100
-
101
- export const DEFAULT_LOCALE: IFilterLocaleKey = 'en';
102
-
103
- export const getLocale = (
104
- key: IFilterLocaleKey = DEFAULT_LOCALE,
105
- custom?: IPartialFilterLocale,
106
- custom2?: IPartialFilterLocale,
107
- ): IFilterLocale => merge({}, FilterLocales[key], custom, custom2);
1
+ import { merge } from 'lodash';
2
+
3
+ export interface IFilterLocale {
4
+ clear: string;
5
+ all: string;
6
+ other: string;
7
+ chosen: string;
8
+ searchPlaceholder: string;
9
+ displayedFields: string;
10
+ nothingFound: string;
11
+ from: string;
12
+ to: string;
13
+ back: string;
14
+ months: string[];
15
+ periods: {
16
+ [key: string]: string;
17
+ THIS_MONTH: string;
18
+ LAST_MONTH: string;
19
+ THIS_YEAR: string;
20
+ LAST_YEAR: string;
21
+ CUSTOM: string;
22
+ };
23
+ }
24
+
25
+ export type IPartialFilterLocale = Partial<Omit<IFilterLocale, 'periods'>> & {
26
+ periods?: Partial<IFilterLocale['periods']>;
27
+ };
28
+
29
+ export const FilterLocales: Record<string, IFilterLocale> = {
30
+ ru: {
31
+ clear: 'Очистить',
32
+ all: 'Все',
33
+ other: 'Остальные',
34
+ chosen: 'Выбранные',
35
+ nothingFound: 'Не найдено',
36
+ from: 'От',
37
+ to: 'До',
38
+ back: 'Назад',
39
+ searchPlaceholder: 'Поиск',
40
+ displayedFields: 'Поля для поиска',
41
+ months: [
42
+ 'Январь',
43
+ 'Февраль',
44
+ 'Март',
45
+ 'Апрель',
46
+ 'Май',
47
+ 'Июнь',
48
+ 'Июль',
49
+ 'Август',
50
+ 'Сентябрь',
51
+ 'Октябрь',
52
+ 'Ноябрь',
53
+ 'Декабрь',
54
+ ],
55
+ periods: {
56
+ THIS_MONTH: 'Этот месяц',
57
+ LAST_MONTH: 'Прошлый месяц',
58
+ THIS_YEAR: 'Этот год',
59
+ LAST_YEAR: 'Прошлый год',
60
+ CUSTOM: 'Другой период',
61
+ },
62
+ },
63
+
64
+ en: {
65
+ clear: 'Clear',
66
+ all: 'All',
67
+ other: 'Others',
68
+ chosen: 'Chosen',
69
+ nothingFound: 'Nothing found',
70
+ from: 'From',
71
+ to: 'To',
72
+ back: 'Back',
73
+ searchPlaceholder: 'Search',
74
+ displayedFields: 'Displayed fields',
75
+ months: [
76
+ 'January',
77
+ 'February',
78
+ 'March',
79
+ 'April',
80
+ 'May',
81
+ 'June',
82
+ 'July',
83
+ 'August',
84
+ 'September',
85
+ 'October',
86
+ 'November',
87
+ 'December',
88
+ ],
89
+ periods: {
90
+ THIS_MONTH: 'This month',
91
+ LAST_MONTH: 'Previous month',
92
+ THIS_YEAR: 'This year',
93
+ LAST_YEAR: 'Previous year',
94
+ CUSTOM: 'Custom',
95
+ },
96
+ },
97
+ };
98
+
99
+ export type IFilterLocaleKey = keyof typeof FilterLocales;
100
+
101
+ export const DEFAULT_LOCALE: IFilterLocaleKey = 'en';
102
+
103
+ export const getLocale = (
104
+ key: IFilterLocaleKey = DEFAULT_LOCALE,
105
+ custom?: IPartialFilterLocale,
106
+ custom2?: IPartialFilterLocale,
107
+ ): IFilterLocale => merge({}, FilterLocales[key], custom, custom2);
@@ -1,126 +1,126 @@
1
- import { FC, ReactNode } from 'react';
2
- import { IFilterIntervalProps } from './FilterInterval';
3
- import { IFilterMultiSelectProps } from './FilterMultiSelect';
4
- import { IFilterSelectProps } from './FilterSelect';
5
- import { IFilterWithDatesProps } from './FilterWithDates';
6
- import { IFilterWithPeriodProps } from './FilterWithPeriod';
7
- import { IFilterLocaleKey, IPartialFilterLocale } from './locales';
8
- import { IMultiSelectListValues } from '../MultiSelectList';
9
-
10
- export const PERIODS = [
11
- 'THIS_MONTH',
12
- 'LAST_MONTH',
13
- 'THIS_YEAR',
14
- 'LAST_YEAR',
15
- 'CUSTOM',
16
- ] as const;
17
-
18
- export type IPeriodType = (typeof PERIODS)[number];
19
-
20
- export type IFilterMultiSelectValues<Option = string> =
21
- IMultiSelectListValues<Option>;
22
-
23
- export type IPeriodsList = Array<IPeriodType | [string, IPeriodGetter]>;
24
-
25
- export interface IFiltersPaneSearchPayload<Value> {
26
- value?: string;
27
- field?: Value;
28
- }
29
-
30
- export interface IFilterValueViewProps<Value> {
31
- value?: Value;
32
- filter: ConfigItem<Value>;
33
- }
34
-
35
- export interface IDatePeriod {
36
- from: Date | null;
37
- to: Date | null;
38
- }
39
-
40
- export interface IPeriod extends IDatePeriod {
41
- periodType: string;
42
- label?: string;
43
- }
44
-
45
- export type IPeriodGetter = () => IDatePeriod;
46
-
47
- export type IFilterWithDatesValue = IDatePeriod;
48
-
49
- export type MultiSelectOptionType<Value> = Value | undefined extends
50
- | IFilterMultiSelectValues<infer Option>
51
- | undefined
52
- ? Option
53
- : unknown;
54
-
55
- export interface IConfigItemBasicBase<Value> {
56
- name: string;
57
- isInline?: boolean;
58
- requiredFilledFilters?: string[];
59
- localeKey?: IFilterLocaleKey;
60
- locale?: IPartialFilterLocale;
61
- getSelectedValueView?: (v: Value) => ReactNode;
62
- }
63
-
64
- export type IIntervalConfigItem<Value> = IConfigItemBasicBase<Value> & {
65
- type: 'interval';
66
- } & Omit<IFilterIntervalProps, 'value' | 'onChange' | 'labelName'>;
67
-
68
- export interface IBooleanConfigItem<Value> extends IConfigItemBasicBase<Value> {
69
- type: 'boolean';
70
- }
71
-
72
- export type IMultiSelectConfigItem<Value> = IConfigItemBasicBase<Value> & {
73
- type: 'multiSelect';
74
- } & Omit<
75
- IFilterMultiSelectProps<Value, MultiSelectOptionType<Value>>,
76
- 'value' | 'onChange'
77
- >;
78
-
79
- export type ISelectConfigItem<Value> = IConfigItemBasicBase<Value> & {
80
- type: 'select';
81
- } & Omit<IFilterSelectProps<Value>, 'value' | 'onChange'>;
82
-
83
- // Дата без периодов
84
- export type IDateRangeWithoutPeriodConfigItem<Value> =
85
- IConfigItemBasicBase<Value> & {
86
- type: 'dateRangeWithoutPeriod';
87
- dateFormat?: string;
88
- } & Omit<
89
- IFilterWithDatesProps,
90
- 'value' | 'onChange' | 'onStartBtnSubmit' | 'onEndBtnSubmit'
91
- >;
92
-
93
- // Дата С ПЕРИОДАМИ
94
- export type IDateRangeConfigItem<Value> = IConfigItemBasicBase<Value> & {
95
- type: 'dateRange';
96
- dateFormat?: string;
97
- } & Omit<IFilterWithPeriodProps, 'value' | 'onChange' | 'setIsOpen'>;
98
-
99
- export type CustomComponent<Value> = FC<{
100
- value?: Value;
101
- onChange: (v?: Value) => void;
102
- onClose?: () => void;
103
- filter: ICustomConfigItem<Value>;
104
- localeKey?: IFilterLocaleKey;
105
- locale?: IPartialFilterLocale;
106
- }>;
107
-
108
- export interface ICustomConfigItem<Value> extends IConfigItemBasicBase<Value> {
109
- [key: string]: any;
110
- type: 'custom';
111
- component: CustomComponent<Value>;
112
- valueViewType?: 'range' | 'multiple';
113
- }
114
-
115
- export type ConfigItem<Value> =
116
- | ISelectConfigItem<Value>
117
- | IMultiSelectConfigItem<Value>
118
- | ICustomConfigItem<Value>
119
- | IDateRangeWithoutPeriodConfigItem<Value>
120
- | IDateRangeConfigItem<Value>
121
- | IIntervalConfigItem<Value>
122
- | IBooleanConfigItem<Value>;
123
-
124
- export type ConfigType<Values> = {
125
- [K in keyof Values]: ConfigItem<Values[K]>;
126
- };
1
+ import { FC, ReactNode } from 'react';
2
+ import { IFilterIntervalProps } from './FilterInterval';
3
+ import { IFilterMultiSelectProps } from './FilterMultiSelect';
4
+ import { IFilterSelectProps } from './FilterSelect';
5
+ import { IFilterWithDatesProps } from './FilterWithDates';
6
+ import { IFilterWithPeriodProps } from './FilterWithPeriod';
7
+ import { IFilterLocaleKey, IPartialFilterLocale } from './locales';
8
+ import { IMultiSelectListValues } from '../MultiSelectList';
9
+
10
+ export const PERIODS = [
11
+ 'THIS_MONTH',
12
+ 'LAST_MONTH',
13
+ 'THIS_YEAR',
14
+ 'LAST_YEAR',
15
+ 'CUSTOM',
16
+ ] as const;
17
+
18
+ export type IPeriodType = (typeof PERIODS)[number];
19
+
20
+ export type IFilterMultiSelectValues<Option = string> =
21
+ IMultiSelectListValues<Option>;
22
+
23
+ export type IPeriodsList = Array<IPeriodType | [string, IPeriodGetter]>;
24
+
25
+ export interface IFiltersPaneSearchPayload<Value> {
26
+ value?: string;
27
+ field?: Value;
28
+ }
29
+
30
+ export interface IFilterValueViewProps<Value> {
31
+ value?: Value;
32
+ filter: ConfigItem<Value>;
33
+ }
34
+
35
+ export interface IDatePeriod {
36
+ from: Date | null;
37
+ to: Date | null;
38
+ }
39
+
40
+ export interface IPeriod extends IDatePeriod {
41
+ periodType: string;
42
+ label?: string;
43
+ }
44
+
45
+ export type IPeriodGetter = () => IDatePeriod;
46
+
47
+ export type IFilterWithDatesValue = IDatePeriod;
48
+
49
+ export type MultiSelectOptionType<Value> = Value | undefined extends
50
+ | IFilterMultiSelectValues<infer Option>
51
+ | undefined
52
+ ? Option
53
+ : unknown;
54
+
55
+ export interface IConfigItemBasicBase<Value> {
56
+ name: string;
57
+ isInline?: boolean;
58
+ requiredFilledFilters?: string[];
59
+ localeKey?: IFilterLocaleKey;
60
+ locale?: IPartialFilterLocale;
61
+ getSelectedValueView?: (v: Value) => ReactNode;
62
+ }
63
+
64
+ export type IIntervalConfigItem<Value> = IConfigItemBasicBase<Value> & {
65
+ type: 'interval';
66
+ } & Omit<IFilterIntervalProps, 'value' | 'onChange' | 'labelName'>;
67
+
68
+ export interface IBooleanConfigItem<Value> extends IConfigItemBasicBase<Value> {
69
+ type: 'boolean';
70
+ }
71
+
72
+ export type IMultiSelectConfigItem<Value> = IConfigItemBasicBase<Value> & {
73
+ type: 'multiSelect';
74
+ } & Omit<
75
+ IFilterMultiSelectProps<Value, MultiSelectOptionType<Value>>,
76
+ 'value' | 'onChange'
77
+ >;
78
+
79
+ export type ISelectConfigItem<Value> = IConfigItemBasicBase<Value> & {
80
+ type: 'select';
81
+ } & Omit<IFilterSelectProps<Value>, 'value' | 'onChange'>;
82
+
83
+ // Дата без периодов
84
+ export type IDateRangeWithoutPeriodConfigItem<Value> =
85
+ IConfigItemBasicBase<Value> & {
86
+ type: 'dateRangeWithoutPeriod';
87
+ dateFormat?: string;
88
+ } & Omit<
89
+ IFilterWithDatesProps,
90
+ 'value' | 'onChange' | 'onStartBtnSubmit' | 'onEndBtnSubmit'
91
+ >;
92
+
93
+ // Дата С ПЕРИОДАМИ
94
+ export type IDateRangeConfigItem<Value> = IConfigItemBasicBase<Value> & {
95
+ type: 'dateRange';
96
+ dateFormat?: string;
97
+ } & Omit<IFilterWithPeriodProps, 'value' | 'onChange' | 'setIsOpen'>;
98
+
99
+ export type CustomComponent<Value> = FC<{
100
+ value?: Value;
101
+ onChange: (v?: Value) => void;
102
+ onClose?: () => void;
103
+ filter: ICustomConfigItem<Value>;
104
+ localeKey?: IFilterLocaleKey;
105
+ locale?: IPartialFilterLocale;
106
+ }>;
107
+
108
+ export interface ICustomConfigItem<Value> extends IConfigItemBasicBase<Value> {
109
+ [key: string]: any;
110
+ type: 'custom';
111
+ component: CustomComponent<Value>;
112
+ valueViewType?: 'range' | 'multiple';
113
+ }
114
+
115
+ export type ConfigItem<Value> =
116
+ | ISelectConfigItem<Value>
117
+ | IMultiSelectConfigItem<Value>
118
+ | ICustomConfigItem<Value>
119
+ | IDateRangeWithoutPeriodConfigItem<Value>
120
+ | IDateRangeConfigItem<Value>
121
+ | IIntervalConfigItem<Value>
122
+ | IBooleanConfigItem<Value>;
123
+
124
+ export type ConfigType<Values> = {
125
+ [K in keyof Values]: ConfigItem<Values[K]>;
126
+ };
@@ -1,29 +1,29 @@
1
- import { ComponentStory } from '@storybook/react';
2
- import { countries } from 'country-flag-icons';
3
- import { Flag } from './Flag';
4
-
5
- export default {
6
- title: 'Flag',
7
- component: Flag,
8
- argTypes: {
9
- countryCode: { control: 'select', options: countries },
10
- },
11
- };
12
-
13
- const Template: ComponentStory<typeof Flag> = (args) => (
14
- <div style={{ width: 60, height: 40 }}>
15
- <Flag {...args} />
16
- </div>
17
- );
18
-
19
- export const Default = Template.bind({});
20
-
21
- Default.args = {
22
- countryCode: 'ug',
23
- };
24
-
25
- Default.parameters = {
26
- controls: {
27
- exclude: ['data'],
28
- },
29
- };
1
+ import { ComponentStory } from '@storybook/react';
2
+ import { countries } from 'country-flag-icons';
3
+ import { Flag } from './Flag';
4
+
5
+ export default {
6
+ title: 'Flag',
7
+ component: Flag,
8
+ argTypes: {
9
+ countryCode: { control: 'select', options: countries },
10
+ },
11
+ };
12
+
13
+ const Template: ComponentStory<typeof Flag> = (args) => (
14
+ <div style={{ width: 60, height: 40 }}>
15
+ <Flag {...args} />
16
+ </div>
17
+ );
18
+
19
+ export const Default = Template.bind({});
20
+
21
+ Default.args = {
22
+ countryCode: 'ug',
23
+ };
24
+
25
+ Default.parameters = {
26
+ controls: {
27
+ exclude: ['data'],
28
+ },
29
+ };
@@ -1,18 +1,18 @@
1
- import { colors } from '../../theme';
2
- import { ComponentStyles } from '../../types';
3
-
4
- export const styles = {
5
- root: {
6
- // приходится хардкодить в компоненте, тк либа Flags выдает флаги с 2-3 пиксельным отступом снизу
7
- // если будет нужно, то можно вынести border на уровень пропсов
8
- border: [1, 'solid', colors.BORDER_MAIN],
9
- borderRadius: 2,
10
- },
11
-
12
- noFlag: {
13
- width: 20,
14
- color: colors.FONT_MEDIUM,
15
- },
16
- };
17
-
18
- export type FlagStyles = ComponentStyles<typeof styles>;
1
+ import { colors } from '../../theme';
2
+ import { ComponentStyles } from '../../types';
3
+
4
+ export const styles = {
5
+ root: {
6
+ // приходится хардкодить в компоненте, тк либа Flags выдает флаги с 2-3 пиксельным отступом снизу
7
+ // если будет нужно, то можно вынести border на уровень пропсов
8
+ border: [1, 'solid', colors.BORDER_MAIN],
9
+ borderRadius: 2,
10
+ },
11
+
12
+ noFlag: {
13
+ width: 20,
14
+ color: colors.FONT_MEDIUM,
15
+ },
16
+ };
17
+
18
+ export type FlagStyles = ComponentStyles<typeof styles>;
@@ -1,28 +1,28 @@
1
- import { FC } from 'react';
2
- import Flags from 'country-flag-icons/react/3x2';
3
- import { hasFlag } from 'country-flag-icons';
4
- import { useTheme } from '../../hooks';
5
- import { Icon } from '../Icon';
6
- import { ICommonProps } from '../../types';
7
-
8
- import { FlagStyles, styles } from './Flag.styles';
9
-
10
- export interface IFlagProps extends ICommonProps {
11
- tweakStyles?: FlagStyles;
12
- countryCode?: string;
13
- }
14
-
15
- export const Flag: FC<IFlagProps> = ({ countryCode = '', tweakStyles }) => {
16
- const { classes } = useTheme('Flag', styles, tweakStyles);
17
- const CC = countryCode.toUpperCase();
18
-
19
- const TheFlag = hasFlag(CC)
20
- ? Flags[CC as keyof typeof Flags]
21
- : () => (
22
- <div className={classes.noFlag}>
23
- <Icon type="minus" />
24
- </div>
25
- );
26
-
27
- return <TheFlag className={classes.root} />;
28
- };
1
+ import { FC } from 'react';
2
+ import Flags from 'country-flag-icons/react/3x2';
3
+ import { hasFlag } from 'country-flag-icons';
4
+ import { useTheme } from '../../hooks';
5
+ import { Icon } from '../Icon';
6
+ import { ICommonProps } from '../../types';
7
+
8
+ import { FlagStyles, styles } from './Flag.styles';
9
+
10
+ export interface IFlagProps extends ICommonProps {
11
+ tweakStyles?: FlagStyles;
12
+ countryCode?: string;
13
+ }
14
+
15
+ export const Flag: FC<IFlagProps> = ({ countryCode = '', tweakStyles }) => {
16
+ const { classes } = useTheme('Flag', styles, tweakStyles);
17
+ const CC = countryCode.toUpperCase();
18
+
19
+ const TheFlag = hasFlag(CC)
20
+ ? Flags[CC as keyof typeof Flags]
21
+ : () => (
22
+ <div className={classes.noFlag}>
23
+ <Icon type="minus" />
24
+ </div>
25
+ );
26
+
27
+ return <TheFlag className={classes.root} />;
28
+ };
@@ -1 +1 @@
1
- declare module 'country-flag-icons/react/3x2';
1
+ declare module 'country-flag-icons/react/3x2';
@@ -1,2 +1,2 @@
1
- export * from './Flag';
2
- export type { FlagStyles } from './Flag.styles';
1
+ export * from './Flag';
2
+ export type { FlagStyles } from './Flag.styles';