@true-engineering/true-react-common-ui-kit 1.12.1 → 2.0.1

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 (264) hide show
  1. package/LICENSE +201 -201
  2. package/dist/components/DateInput/DateInput.d.ts +8 -8
  3. package/dist/components/DateInput/DateInput.styles.d.ts +2 -2
  4. package/dist/components/DateInput/constants.d.ts +2 -0
  5. package/dist/components/DateInput/index.d.ts +1 -0
  6. package/dist/components/DatePicker/DatePicker.d.ts +16 -24
  7. package/dist/components/DatePicker/DatePicker.styles.d.ts +12 -24
  8. package/dist/components/DatePicker/DatePickerHeader/DatePickerHeader.d.ts +3 -9
  9. package/dist/components/DatePicker/DatePickerHeader/index.d.ts +1 -0
  10. package/dist/components/DatePicker/constants.d.ts +1 -0
  11. package/dist/components/DatePicker/helpers.d.ts +3 -0
  12. package/dist/components/DatePicker/index.d.ts +1 -2
  13. package/dist/components/DatePicker/types.d.ts +4 -0
  14. package/dist/components/FiltersPane/FilterWithDates/FilterWithDates.d.ts +1 -1
  15. package/dist/components/Flag/augment.d.ts +1 -1
  16. package/dist/components/Icon/complexIcons/augment.d.ts +1 -1
  17. package/dist/helpers/utils.d.ts +2 -1
  18. package/dist/style.css +125 -50
  19. package/dist/true-react-common-ui-kit.js +397 -427
  20. package/dist/true-react-common-ui-kit.js.map +1 -1
  21. package/dist/true-react-common-ui-kit.umd.cjs +397 -427
  22. package/dist/true-react-common-ui-kit.umd.cjs.map +1 -1
  23. package/dist/types.d.ts +1 -1
  24. package/dist/vite-env.d.ts +1 -1
  25. package/package.json +3 -3
  26. package/src/components/AccountInfo/AccountInfo.stories.tsx +35 -35
  27. package/src/components/AccountInfo/AccountInfo.styles.ts +55 -55
  28. package/src/components/AccountInfo/AccountInfo.tsx +106 -106
  29. package/src/components/AccountInfo/index.ts +2 -2
  30. package/src/components/AddButton/AddButton.stories.tsx +21 -21
  31. package/src/components/AddButton/AddButton.styles.ts +34 -34
  32. package/src/components/AddButton/AddButton.tsx +49 -49
  33. package/src/components/AddButton/index.ts +2 -2
  34. package/src/components/Button/Button.stories.tsx +61 -61
  35. package/src/components/Button/Button.styles.ts +196 -196
  36. package/src/components/Button/Button.tsx +207 -207
  37. package/src/components/Button/index.ts +2 -2
  38. package/src/components/Checkbox/Checkbox.stories.tsx +35 -35
  39. package/src/components/Checkbox/Checkbox.styles.ts +62 -62
  40. package/src/components/Checkbox/Checkbox.tsx +106 -106
  41. package/src/components/Checkbox/index.ts +2 -2
  42. package/src/components/CloseButton/CloseButton.styles.ts +34 -34
  43. package/src/components/CloseButton/CloseButton.tsx +37 -37
  44. package/src/components/CloseButton/index.ts +2 -2
  45. package/src/components/Colors/Colors.stories.tsx +7 -7
  46. package/src/components/Colors/Colors.styles.ts +38 -38
  47. package/src/components/Colors/Colors.tsx +34 -34
  48. package/src/components/Colors/index.ts +2 -2
  49. package/src/components/CssBaseline/CssBaseline.styles.ts +15 -15
  50. package/src/components/CssBaseline/CssBaseline.tsx +17 -17
  51. package/src/components/CssBaseline/index.ts +2 -2
  52. package/src/components/DateInput/DateInput.stories.tsx +67 -63
  53. package/src/components/DateInput/DateInput.styles.ts +14 -14
  54. package/src/components/DateInput/DateInput.tsx +101 -60
  55. package/src/components/DateInput/constants.ts +2 -0
  56. package/src/components/DateInput/index.ts +3 -2
  57. package/src/components/DatePicker/DatePicker.stories.tsx +90 -96
  58. package/src/components/DatePicker/DatePicker.styles.ts +44 -54
  59. package/src/components/DatePicker/DatePicker.tsx +354 -358
  60. package/src/components/DatePicker/DatePickerHeader/DatePickerHeader.styles.ts +84 -84
  61. package/src/components/DatePicker/DatePickerHeader/DatePickerHeader.tsx +80 -94
  62. package/src/components/DatePicker/DatePickerHeader/index.ts +2 -1
  63. package/src/components/DatePicker/constants.ts +1 -0
  64. package/src/components/DatePicker/helpers.ts +24 -0
  65. package/src/components/DatePicker/index.ts +3 -4
  66. package/src/components/DatePicker/types.ts +40 -0
  67. package/src/components/Description/Description.stories.tsx +29 -29
  68. package/src/components/Description/Description.styles.ts +31 -31
  69. package/src/components/Description/Description.tsx +69 -69
  70. package/src/components/Description/index.ts +2 -2
  71. package/src/components/FiltersPane/FilterInterval/FilterInterval.styles.ts +64 -64
  72. package/src/components/FiltersPane/FilterInterval/FilterInterval.tsx +162 -162
  73. package/src/components/FiltersPane/FilterInterval/index.ts +1 -1
  74. package/src/components/FiltersPane/FilterMultiSelect/FilterMultiSelect.tsx +14 -14
  75. package/src/components/FiltersPane/FilterMultiSelect/index.ts +1 -1
  76. package/src/components/FiltersPane/FilterSelect/FilterSelect.styles.ts +144 -144
  77. package/src/components/FiltersPane/FilterSelect/FilterSelect.tsx +397 -397
  78. package/src/components/FiltersPane/FilterSelect/index.ts +1 -1
  79. package/src/components/FiltersPane/FilterSelect/locales.ts +37 -37
  80. package/src/components/FiltersPane/FilterValueView/FilterValueView.styles.tsx +15 -15
  81. package/src/components/FiltersPane/FilterValueView/FilterValueView.tsx +186 -186
  82. package/src/components/FiltersPane/FilterValueView/index.tsx +1 -1
  83. package/src/components/FiltersPane/FilterWithDates/FilterWithDates.styles.ts +60 -60
  84. package/src/components/FiltersPane/FilterWithDates/FilterWithDates.tsx +210 -222
  85. package/src/components/FiltersPane/FilterWithDates/index.ts +1 -1
  86. package/src/components/FiltersPane/FilterWithPeriod/FilterWithPeriod.styles.ts +17 -17
  87. package/src/components/FiltersPane/FilterWithPeriod/FilterWithPeriod.tsx +231 -231
  88. package/src/components/FiltersPane/FilterWithPeriod/index.ts +1 -1
  89. package/src/components/FiltersPane/FilterWrapper/FilterWrapper.styles.ts +110 -110
  90. package/src/components/FiltersPane/FilterWrapper/FilterWrapper.tsx +360 -360
  91. package/src/components/FiltersPane/FilterWrapper/index.ts +1 -1
  92. package/src/components/FiltersPane/FiltersPane.stories.tsx +308 -308
  93. package/src/components/FiltersPane/FiltersPane.styles.ts +71 -71
  94. package/src/components/FiltersPane/FiltersPane.tsx +193 -193
  95. package/src/components/FiltersPane/FiltersPaneSearch/FiltersPaneSearch.styles.ts +109 -109
  96. package/src/components/FiltersPane/FiltersPaneSearch/FiltersPaneSearch.tsx +175 -175
  97. package/src/components/FiltersPane/FiltersPaneSearch/index.ts +1 -1
  98. package/src/components/FiltersPane/index.ts +20 -20
  99. package/src/components/FiltersPane/locales.ts +107 -107
  100. package/src/components/FiltersPane/types.ts +126 -126
  101. package/src/components/Flag/Flag.stories.tsx +29 -29
  102. package/src/components/Flag/Flag.styles.ts +18 -18
  103. package/src/components/Flag/Flag.tsx +28 -28
  104. package/src/components/Flag/augment.d.ts +1 -1
  105. package/src/components/Flag/index.ts +2 -2
  106. package/src/components/FlexibleTable/FlexibleTable.styles.ts +131 -131
  107. package/src/components/FlexibleTable/FlexibleTable.tsx +243 -243
  108. package/src/components/FlexibleTable/TableRow.tsx +171 -171
  109. package/src/components/FlexibleTable/TableValue.tsx +81 -81
  110. package/src/components/FlexibleTable/fixture-test.ts +254 -254
  111. package/src/components/FlexibleTable/index.ts +3 -3
  112. package/src/components/FlexibleTable/types.ts +58 -58
  113. package/src/components/Icon/ComplexIconBoilerplate.tsx +17 -17
  114. package/src/components/Icon/Icon.stories.tsx +88 -88
  115. package/src/components/Icon/Icon.styles.ts +10 -10
  116. package/src/components/Icon/Icon.tsx +34 -34
  117. package/src/components/Icon/IconBoilerplate.tsx +42 -42
  118. package/src/components/Icon/complexIcons/augment.d.ts +1 -1
  119. package/src/components/Icon/complexIcons/avatarGreen.svg +57 -57
  120. package/src/components/Icon/complexIcons/icons.ts +7 -7
  121. package/src/components/Icon/complexIcons/index.ts +1 -1
  122. package/src/components/Icon/icons/icons.ts +838 -838
  123. package/src/components/Icon/icons/index.ts +1 -1
  124. package/src/components/Icon/index.ts +4 -4
  125. package/src/components/IncrementInput/ChangeButton.tsx +34 -34
  126. package/src/components/IncrementInput/IncrementInput.stories.tsx +34 -34
  127. package/src/components/IncrementInput/IncrementInput.styles.ts +77 -77
  128. package/src/components/IncrementInput/IncrementInput.tsx +95 -95
  129. package/src/components/IncrementInput/index.ts +2 -2
  130. package/src/components/Input/Input.stories.tsx +92 -92
  131. package/src/components/Input/Input.styles.ts +307 -307
  132. package/src/components/Input/Input.tsx +321 -321
  133. package/src/components/Input/index.ts +2 -2
  134. package/src/components/List/List.stories.tsx +62 -62
  135. package/src/components/List/List.styles.ts +52 -52
  136. package/src/components/List/List.tsx +82 -82
  137. package/src/components/List/index.ts +2 -2
  138. package/src/components/Modal/Modal.stories.tsx +113 -113
  139. package/src/components/Modal/Modal.styles.ts +308 -308
  140. package/src/components/Modal/Modal.tsx +210 -210
  141. package/src/components/Modal/index.ts +2 -2
  142. package/src/components/MoreMenu/MoreMenu.stories.tsx +46 -46
  143. package/src/components/MoreMenu/MoreMenu.styles.ts +70 -70
  144. package/src/components/MoreMenu/MoreMenu.tsx +102 -102
  145. package/src/components/MoreMenu/index.ts +2 -2
  146. package/src/components/MultiSelect/MultiSelect.stories.tsx +46 -46
  147. package/src/components/MultiSelect/MultiSelect.styles.ts +55 -55
  148. package/src/components/MultiSelect/MultiSelect.tsx +98 -98
  149. package/src/components/MultiSelect/MultiSelectInput/MultiSelectInput.styles.ts +73 -73
  150. package/src/components/MultiSelect/MultiSelectInput/MultiSelectInput.tsx +62 -62
  151. package/src/components/MultiSelect/MultiSelectInput/index.ts +1 -1
  152. package/src/components/MultiSelect/index.ts +3 -3
  153. package/src/components/MultiSelectList/MultiSelectList.styles.ts +125 -125
  154. package/src/components/MultiSelectList/MultiSelectList.tsx +519 -519
  155. package/src/components/MultiSelectList/index.ts +2 -2
  156. package/src/components/MultiSelectList/locales.ts +37 -37
  157. package/src/components/Notification/Notification.stories.tsx +51 -51
  158. package/src/components/Notification/Notification.styles.ts +50 -50
  159. package/src/components/Notification/Notification.tsx +84 -84
  160. package/src/components/Notification/index.ts +2 -2
  161. package/src/components/NumberInput/NumberInput.stories.tsx +36 -36
  162. package/src/components/NumberInput/NumberInput.tsx +154 -154
  163. package/src/components/NumberInput/helpers.ts +87 -87
  164. package/src/components/NumberInput/index.ts +1 -1
  165. package/src/components/PhoneInput/PhoneInput.stories.tsx +71 -71
  166. package/src/components/PhoneInput/PhoneInput.styles.ts +84 -84
  167. package/src/components/PhoneInput/PhoneInput.tsx +223 -223
  168. package/src/components/PhoneInput/PhoneInputCountryList/PhoneInputCountryList.stories.tsx +21 -21
  169. package/src/components/PhoneInput/PhoneInputCountryList/PhoneInputCountryList.styles.ts +100 -100
  170. package/src/components/PhoneInput/PhoneInputCountryList/PhoneInputCountryList.tsx +171 -171
  171. package/src/components/PhoneInput/PhoneInputCountryList/index.ts +2 -2
  172. package/src/components/PhoneInput/index.ts +6 -6
  173. package/src/components/PhoneInput/phone-info.ts +2167 -2167
  174. package/src/components/PhoneInput/types.ts +16 -16
  175. package/src/components/RadioButton/RadioButton.stories.tsx +46 -46
  176. package/src/components/RadioButton/RadioButton.styles.ts +37 -37
  177. package/src/components/RadioButton/RadioButton.tsx +56 -56
  178. package/src/components/RadioButton/index.ts +2 -2
  179. package/src/components/ScrollIntoViewIfNeeded/ScrollIntoViewIfNeeded.ts +66 -66
  180. package/src/components/ScrollIntoViewIfNeeded/index.ts +1 -1
  181. package/src/components/SearchInput/SearchInput.stories.tsx +24 -24
  182. package/src/components/SearchInput/SearchInput.styles.ts +50 -50
  183. package/src/components/SearchInput/SearchInput.tsx +63 -63
  184. package/src/components/SearchInput/index.ts +2 -2
  185. package/src/components/Select/MultiSelect.stories.tsx +263 -263
  186. package/src/components/Select/Select.stories.tsx +258 -258
  187. package/src/components/Select/Select.styles.ts +96 -96
  188. package/src/components/Select/Select.tsx +6 -2
  189. package/src/components/Select/SelectList/SelectList.styles.ts +72 -72
  190. package/src/components/Select/SelectList/SelectList.tsx +165 -165
  191. package/src/components/Select/SelectList/index.ts +1 -1
  192. package/src/components/Select/SelectListItem/SelectListItem.styles.ts +14 -14
  193. package/src/components/Select/SelectListItem/SelectListItem.tsx +73 -73
  194. package/src/components/Select/constants.ts +2 -2
  195. package/src/components/Select/helpers.ts +29 -29
  196. package/src/components/Select/index.ts +4 -4
  197. package/src/components/Select/types.ts +1 -1
  198. package/src/components/SmartInput/SmartInput.stories.tsx +63 -63
  199. package/src/components/SmartInput/SmartInput.tsx +180 -180
  200. package/src/components/SmartInput/helpers.ts +85 -85
  201. package/src/components/SmartInput/index.ts +1 -1
  202. package/src/components/Switch/Switch.stories.tsx +40 -40
  203. package/src/components/Switch/Switch.styles.ts +75 -75
  204. package/src/components/Switch/Switch.tsx +89 -89
  205. package/src/components/Switch/index.ts +2 -2
  206. package/src/components/TextArea/TextArea.stories.tsx +35 -35
  207. package/src/components/TextArea/TextArea.styles.ts +153 -153
  208. package/src/components/TextArea/TextArea.tsx +178 -178
  209. package/src/components/TextArea/index.ts +2 -2
  210. package/src/components/TextWithInfo/TextWithInfo.stories.tsx +53 -53
  211. package/src/components/TextWithInfo/TextWithInfo.styles.ts +60 -60
  212. package/src/components/TextWithInfo/TextWithInfo.tsx +67 -67
  213. package/src/components/TextWithInfo/index.ts +2 -2
  214. package/src/components/TextWithTooltip/TextWithTooltip.stories.tsx +58 -58
  215. package/src/components/TextWithTooltip/TextWithTooltip.styles.ts +19 -19
  216. package/src/components/TextWithTooltip/TextWithTooltip.tsx +163 -163
  217. package/src/components/TextWithTooltip/index.ts +2 -2
  218. package/src/components/ThemedPreloader/ThemedPreloader.stories.tsx +41 -41
  219. package/src/components/ThemedPreloader/ThemedPreloader.styles.ts +21 -21
  220. package/src/components/ThemedPreloader/ThemedPreloader.tsx +56 -56
  221. package/src/components/ThemedPreloader/components/DefaultPreloader/DefaultPreloader.tsx +34 -34
  222. package/src/components/ThemedPreloader/components/DefaultPreloader/index.ts +1 -1
  223. package/src/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.styles.ts +54 -54
  224. package/src/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.tsx +18 -18
  225. package/src/components/ThemedPreloader/components/DotsPreloader/index.ts +2 -2
  226. package/src/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.styles.ts +11 -11
  227. package/src/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.tsx +32 -32
  228. package/src/components/ThemedPreloader/components/SvgPreloader/index.ts +2 -2
  229. package/src/components/ThemedPreloader/components/index.ts +2 -2
  230. package/src/components/ThemedPreloader/index.ts +2 -2
  231. package/src/components/Toaster/Toaster.stories.tsx +34 -34
  232. package/src/components/Toaster/Toaster.styles.ts +59 -59
  233. package/src/components/Toaster/Toaster.tsx +113 -113
  234. package/src/components/Toaster/index.ts +2 -2
  235. package/src/components/Tooltip/Tooltip.stories.tsx +21 -21
  236. package/src/components/Tooltip/Tooltip.styles.ts +45 -45
  237. package/src/components/Tooltip/Tooltip.tsx +40 -40
  238. package/src/components/Tooltip/index.ts +3 -3
  239. package/src/components/Tooltip/types.ts +1 -1
  240. package/src/components/index.ts +36 -36
  241. package/src/helpers/colors.ts +2 -2
  242. package/src/helpers/dateHelpers/date-helpers.ts +9 -9
  243. package/src/helpers/index.ts +4 -4
  244. package/src/helpers/phone.ts +106 -106
  245. package/src/helpers/popper-helpers.ts +17 -17
  246. package/src/helpers/snippets.tsx +5 -5
  247. package/src/helpers/utils.ts +261 -250
  248. package/src/hooks/index.ts +6 -6
  249. package/src/hooks/use-did-mount-effect.ts +21 -21
  250. package/src/hooks/use-dropdown.ts +85 -85
  251. package/src/hooks/use-is-mounted.ts +15 -15
  252. package/src/hooks/use-on-click-outside.ts +92 -92
  253. package/src/hooks/use-theme.ts +36 -36
  254. package/src/hooks/use-tweak-styles.ts +14 -14
  255. package/src/index.ts +6 -6
  256. package/src/theme.ts +155 -155
  257. package/src/types.ts +105 -106
  258. package/src/vite-env.d.ts +1 -1
  259. package/dist/components/DatePicker/DatePickerInput/DatePickerInput.d.ts +0 -11
  260. package/dist/components/DatePicker/DatePickerInput/DatePickerInput.styles.d.ts +0 -20
  261. package/dist/components/DatePicker/DatePickerInput/index.d.ts +0 -1
  262. package/src/components/DatePicker/DatePickerInput/DatePickerInput.styles.ts +0 -25
  263. package/src/components/DatePicker/DatePickerInput/DatePickerInput.tsx +0 -31
  264. package/src/components/DatePicker/DatePickerInput/index.ts +0 -1
@@ -1,107 +1,107 @@
1
- import merge from 'lodash-es/merge';
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-es/merge';
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';