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