@true-engineering/true-react-common-ui-kit 3.0.3 → 3.0.5

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 (300) hide show
  1. package/LICENSE +201 -201
  2. package/dist/components/FiltersPane/FiltersPane.d.ts +0 -1
  3. package/dist/components/FiltersPane/components/FilterMultiSelect/FilterMultiSelect.d.ts +0 -1
  4. package/dist/components/FiltersPane/components/FilterValueView/FilterValueView.d.ts +0 -1
  5. package/dist/components/FiltersPane/components/FilterWithDates/FilterWithDates.styles.d.ts +1 -1
  6. package/dist/components/Flag/augment.d.ts +1 -1
  7. package/dist/components/Icon/complexIcons/augment.d.ts +1 -1
  8. package/dist/components/MultiSelect/MultiSelect.d.ts +0 -1
  9. package/dist/components/TextWithInfo/TextWithInfo.styles.d.ts +1 -1
  10. package/dist/true-react-common-ui-kit.js +91 -79
  11. package/dist/true-react-common-ui-kit.js.map +1 -1
  12. package/dist/true-react-common-ui-kit.umd.cjs +91 -79
  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 +94 -94
  16. package/src/components/AccountInfo/AccountInfo.stories.tsx +32 -32
  17. package/src/components/AccountInfo/AccountInfo.styles.ts +51 -51
  18. package/src/components/AccountInfo/AccountInfo.tsx +79 -79
  19. package/src/components/AccountInfo/constants.ts +1 -1
  20. package/src/components/AccountInfo/index.ts +2 -2
  21. package/src/components/AddButton/AddButton.stories.tsx +21 -21
  22. package/src/components/AddButton/AddButton.styles.ts +34 -34
  23. package/src/components/AddButton/AddButton.tsx +49 -49
  24. package/src/components/AddButton/index.ts +2 -2
  25. package/src/components/Button/Button.stories.tsx +56 -56
  26. package/src/components/Button/Button.styles.ts +200 -200
  27. package/src/components/Button/Button.tsx +147 -147
  28. package/src/components/Button/constants.ts +9 -9
  29. package/src/components/Button/index.ts +3 -3
  30. package/src/components/Button/types.ts +5 -5
  31. package/src/components/Checkbox/Checkbox.stories.tsx +28 -28
  32. package/src/components/Checkbox/Checkbox.styles.ts +47 -47
  33. package/src/components/Checkbox/Checkbox.tsx +83 -83
  34. package/src/components/Checkbox/index.ts +2 -2
  35. package/src/components/CloseButton/CloseButton.styles.ts +33 -33
  36. package/src/components/CloseButton/CloseButton.tsx +33 -33
  37. package/src/components/CloseButton/index.ts +2 -2
  38. package/src/components/Colors/Colors.stories.tsx +7 -7
  39. package/src/components/Colors/Colors.styles.ts +36 -36
  40. package/src/components/Colors/Colors.tsx +26 -26
  41. package/src/components/Colors/index.ts +1 -1
  42. package/src/components/CssBaseline/CssBaseline.styles.ts +14 -14
  43. package/src/components/CssBaseline/CssBaseline.tsx +13 -13
  44. package/src/components/CssBaseline/index.ts +2 -2
  45. package/src/components/DateInput/DateInput.stories.tsx +61 -61
  46. package/src/components/DateInput/DateInput.styles.ts +18 -18
  47. package/src/components/DateInput/DateInput.tsx +87 -87
  48. package/src/components/DateInput/constants.ts +2 -2
  49. package/src/components/DateInput/index.ts +3 -3
  50. package/src/components/DatePicker/DatePicker.stories.tsx +88 -88
  51. package/src/components/DatePicker/DatePicker.styles.ts +38 -38
  52. package/src/components/DatePicker/DatePicker.tsx +306 -306
  53. package/src/components/DatePicker/components/DatePickerHeader/DatePickerHeader.styles.ts +88 -88
  54. package/src/components/DatePicker/components/DatePickerHeader/DatePickerHeader.tsx +89 -89
  55. package/src/components/DatePicker/components/DatePickerHeader/index.ts +2 -2
  56. package/src/components/DatePicker/components/PopperContainer/PopperContainer.tsx +6 -6
  57. package/src/components/DatePicker/components/PopperContainer/index.ts +1 -1
  58. package/src/components/DatePicker/components/index.ts +2 -2
  59. package/src/components/DatePicker/constants.ts +6 -6
  60. package/src/components/DatePicker/helpers.ts +23 -23
  61. package/src/components/DatePicker/index.ts +4 -4
  62. package/src/components/DatePicker/types.ts +45 -45
  63. package/src/components/Description/Description.stories.tsx +27 -27
  64. package/src/components/Description/Description.styles.ts +30 -30
  65. package/src/components/Description/Description.tsx +59 -59
  66. package/src/components/Description/constants.ts +1 -1
  67. package/src/components/Description/index.ts +2 -2
  68. package/src/components/FiltersPane/FiltersPane.stories.tsx +287 -287
  69. package/src/components/FiltersPane/FiltersPane.styles.ts +87 -87
  70. package/src/components/FiltersPane/FiltersPane.tsx +155 -155
  71. package/src/components/FiltersPane/components/Filter/Filter.tsx +203 -203
  72. package/src/components/FiltersPane/components/Filter/index.ts +1 -1
  73. package/src/components/FiltersPane/components/FilterInterval/FilterInterval.styles.ts +61 -61
  74. package/src/components/FiltersPane/components/FilterInterval/FilterInterval.tsx +154 -154
  75. package/src/components/FiltersPane/components/FilterInterval/index.ts +2 -2
  76. package/src/components/FiltersPane/components/FilterMultiSelect/FilterMultiSelect.tsx +10 -10
  77. package/src/components/FiltersPane/components/FilterMultiSelect/index.ts +1 -1
  78. package/src/components/FiltersPane/components/FilterSelect/FilterSelect.styles.ts +140 -140
  79. package/src/components/FiltersPane/components/FilterSelect/FilterSelect.tsx +354 -354
  80. package/src/components/FiltersPane/components/FilterSelect/index.ts +2 -2
  81. package/src/components/FiltersPane/components/FilterValueView/FilterValueView.styles.tsx +15 -15
  82. package/src/components/FiltersPane/components/FilterValueView/FilterValueView.tsx +165 -165
  83. package/src/components/FiltersPane/components/FilterValueView/index.tsx +2 -2
  84. package/src/components/FiltersPane/components/FilterWithDates/FilterWithDates.styles.ts +68 -68
  85. package/src/components/FiltersPane/components/FilterWithDates/FilterWithDates.tsx +210 -210
  86. package/src/components/FiltersPane/components/FilterWithDates/index.ts +2 -2
  87. package/src/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.styles.ts +21 -21
  88. package/src/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.tsx +177 -177
  89. package/src/components/FiltersPane/components/FilterWithPeriod/index.ts +2 -2
  90. package/src/components/FiltersPane/components/FilterWrapper/FilterWrapper.styles.ts +115 -115
  91. package/src/components/FiltersPane/components/FilterWrapper/FilterWrapper.tsx +167 -167
  92. package/src/components/FiltersPane/components/FilterWrapper/index.ts +2 -2
  93. package/src/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.styles.ts +117 -117
  94. package/src/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.tsx +165 -165
  95. package/src/components/FiltersPane/components/FiltersPaneSearch/index.ts +2 -2
  96. package/src/components/FiltersPane/components/index.ts +9 -9
  97. package/src/components/FiltersPane/constants.ts +137 -137
  98. package/src/components/FiltersPane/helpers.ts +26 -26
  99. package/src/components/FiltersPane/index.ts +5 -5
  100. package/src/components/FiltersPane/types.ts +156 -156
  101. package/src/components/Flag/Flag.stories.tsx +29 -29
  102. package/src/components/Flag/Flag.styles.ts +17 -17
  103. package/src/components/Flag/Flag.tsx +25 -25
  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.stories.tsx +353 -353
  107. package/src/components/FlexibleTable/FlexibleTable.styles.ts +103 -103
  108. package/src/components/FlexibleTable/FlexibleTable.tsx +260 -260
  109. package/src/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.styles.ts +32 -32
  110. package/src/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.tsx +69 -69
  111. package/src/components/FlexibleTable/components/FlexibleTableCell/index.ts +2 -2
  112. package/src/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.styles.ts +23 -23
  113. package/src/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.tsx +155 -155
  114. package/src/components/FlexibleTable/components/FlexibleTableRow/index.ts +2 -2
  115. package/src/components/FlexibleTable/components/index.ts +2 -2
  116. package/src/components/FlexibleTable/constants.ts +1 -1
  117. package/src/components/FlexibleTable/helpers.ts +15 -15
  118. package/src/components/FlexibleTable/index.ts +4 -4
  119. package/src/components/FlexibleTable/types.ts +52 -52
  120. package/src/components/Icon/Icon.stories.tsx +86 -86
  121. package/src/components/Icon/Icon.styles.ts +10 -10
  122. package/src/components/Icon/Icon.tsx +26 -26
  123. package/src/components/Icon/complexIcons/augment.d.ts +1 -1
  124. package/src/components/Icon/complexIcons/avatarGreen.svg +57 -57
  125. package/src/components/Icon/complexIcons/icons.ts +5 -5
  126. package/src/components/Icon/complexIcons/index.ts +1 -1
  127. package/src/components/Icon/components/ComplexIconBoilerplate/ComplexIconBoilerplate.tsx +16 -16
  128. package/src/components/Icon/components/ComplexIconBoilerplate/index.ts +1 -1
  129. package/src/components/Icon/components/IconBolerplate/IconBoilerplate.tsx +43 -43
  130. package/src/components/Icon/components/IconBolerplate/index.ts +1 -1
  131. package/src/components/Icon/components/index.ts +2 -2
  132. package/src/components/Icon/helpers.tsx +9 -9
  133. package/src/components/Icon/icons-list.ts +856 -856
  134. package/src/components/Icon/index.ts +5 -5
  135. package/src/components/Icon/snippet.tsx +6 -6
  136. package/src/components/Icon/types.ts +18 -18
  137. package/src/components/IncrementInput/IncrementInput.stories.tsx +31 -31
  138. package/src/components/IncrementInput/IncrementInput.styles.ts +77 -77
  139. package/src/components/IncrementInput/IncrementInput.tsx +104 -104
  140. package/src/components/IncrementInput/index.ts +2 -2
  141. package/src/components/Input/Input.stories.tsx +86 -86
  142. package/src/components/Input/Input.styles.ts +307 -307
  143. package/src/components/Input/Input.tsx +310 -310
  144. package/src/components/Input/constants.ts +1 -1
  145. package/src/components/Input/index.ts +3 -3
  146. package/src/components/Input/types.ts +6 -6
  147. package/src/components/List/List.stories.tsx +70 -70
  148. package/src/components/List/List.styles.ts +51 -51
  149. package/src/components/List/List.tsx +33 -33
  150. package/src/components/List/components/ListItem/ListItem.styles.ts +47 -47
  151. package/src/components/List/components/ListItem/ListItem.tsx +57 -57
  152. package/src/components/List/components/ListItem/index.ts +2 -2
  153. package/src/components/List/components/index.ts +1 -1
  154. package/src/components/List/index.ts +3 -3
  155. package/src/components/Modal/Modal.stories.tsx +105 -105
  156. package/src/components/Modal/Modal.styles.ts +303 -303
  157. package/src/components/Modal/Modal.tsx +186 -186
  158. package/src/components/Modal/index.ts +3 -3
  159. package/src/components/Modal/types.ts +17 -17
  160. package/src/components/MoreMenu/MoreMenu.stories.tsx +46 -46
  161. package/src/components/MoreMenu/MoreMenu.styles.ts +68 -68
  162. package/src/components/MoreMenu/MoreMenu.tsx +93 -93
  163. package/src/components/MoreMenu/index.ts +2 -2
  164. package/src/components/MultiSelect/MultiSelect.stories.tsx +46 -46
  165. package/src/components/MultiSelect/MultiSelect.styles.ts +59 -59
  166. package/src/components/MultiSelect/MultiSelect.tsx +101 -101
  167. package/src/components/MultiSelect/components/MultiSelectInput/MultiSelectInput.styles.ts +73 -73
  168. package/src/components/MultiSelect/components/MultiSelectInput/MultiSelectInput.tsx +53 -53
  169. package/src/components/MultiSelect/components/MultiSelectInput/index.ts +2 -2
  170. package/src/components/MultiSelect/components/index.ts +1 -1
  171. package/src/components/MultiSelect/index.ts +4 -4
  172. package/src/components/MultiSelect/types.ts +1 -1
  173. package/src/components/MultiSelectList/MultiSelectList.styles.ts +136 -136
  174. package/src/components/MultiSelectList/MultiSelectList.tsx +458 -458
  175. package/src/components/MultiSelectList/constants.ts +21 -21
  176. package/src/components/MultiSelectList/helpers.ts +11 -11
  177. package/src/components/MultiSelectList/index.ts +3 -3
  178. package/src/components/MultiSelectList/types.ts +15 -15
  179. package/src/components/Notification/Notification.stories.tsx +46 -46
  180. package/src/components/Notification/Notification.styles.ts +55 -55
  181. package/src/components/Notification/Notification.tsx +75 -75
  182. package/src/components/Notification/index.ts +3 -3
  183. package/src/components/Notification/types.ts +1 -1
  184. package/src/components/NumberInput/NumberInput.stories.tsx +35 -35
  185. package/src/components/NumberInput/NumberInput.tsx +133 -133
  186. package/src/components/NumberInput/helpers.ts +86 -86
  187. package/src/components/NumberInput/index.ts +1 -1
  188. package/src/components/PhoneInput/PhoneInput.stories.tsx +70 -70
  189. package/src/components/PhoneInput/PhoneInput.styles.ts +89 -89
  190. package/src/components/PhoneInput/PhoneInput.tsx +210 -210
  191. package/src/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.stories.tsx +21 -21
  192. package/src/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.styles.ts +103 -103
  193. package/src/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.tsx +155 -155
  194. package/src/components/PhoneInput/components/PhoneInputCountryList/index.ts +2 -2
  195. package/src/components/PhoneInput/components/index.ts +1 -1
  196. package/src/components/PhoneInput/constants.ts +3 -3
  197. package/src/components/PhoneInput/index.ts +4 -4
  198. package/src/components/PhoneInput/types.ts +16 -16
  199. package/src/components/RadioButton/RadioButton.stories.tsx +46 -46
  200. package/src/components/RadioButton/RadioButton.styles.ts +37 -37
  201. package/src/components/RadioButton/RadioButton.tsx +55 -55
  202. package/src/components/RadioButton/index.ts +2 -2
  203. package/src/components/ScrollIntoViewIfNeeded/ScrollIntoViewIfNeeded.ts +54 -54
  204. package/src/components/ScrollIntoViewIfNeeded/constants.ts +12 -12
  205. package/src/components/ScrollIntoViewIfNeeded/index.ts +1 -1
  206. package/src/components/SearchInput/SearchInput.stories.tsx +23 -23
  207. package/src/components/SearchInput/SearchInput.styles.ts +50 -50
  208. package/src/components/SearchInput/SearchInput.tsx +56 -56
  209. package/src/components/SearchInput/index.ts +2 -2
  210. package/src/components/Select/MultiSelect.stories.tsx +240 -240
  211. package/src/components/Select/Select.stories.tsx +235 -235
  212. package/src/components/Select/Select.styles.ts +146 -146
  213. package/src/components/Select/Select.tsx +574 -574
  214. package/src/components/Select/components/SelectList/SelectList.styles.ts +71 -71
  215. package/src/components/Select/components/SelectList/SelectList.tsx +157 -157
  216. package/src/components/Select/components/SelectList/index.ts +2 -2
  217. package/src/components/Select/components/SelectListItem/SelectListItem.styles.ts +14 -14
  218. package/src/components/Select/components/SelectListItem/SelectListItem.tsx +68 -68
  219. package/src/components/Select/components/SelectListItem/index.ts +1 -1
  220. package/src/components/Select/components/index.ts +2 -2
  221. package/src/components/Select/constants.ts +2 -2
  222. package/src/components/Select/helpers.ts +27 -27
  223. package/src/components/Select/index.ts +4 -4
  224. package/src/components/Select/types.ts +1 -1
  225. package/src/components/Skeleton/Skeleton.stories.tsx +19 -19
  226. package/src/components/Skeleton/Skeleton.styles.ts +46 -46
  227. package/src/components/Skeleton/Skeleton.tsx +12 -12
  228. package/src/components/Skeleton/index.ts +2 -2
  229. package/src/components/SmartInput/SmartInput.stories.tsx +51 -51
  230. package/src/components/SmartInput/SmartInput.tsx +124 -124
  231. package/src/components/SmartInput/constants.ts +84 -84
  232. package/src/components/SmartInput/helpers.ts +13 -13
  233. package/src/components/SmartInput/index.ts +2 -2
  234. package/src/components/SmartInput/types.ts +11 -11
  235. package/src/components/Switch/Switch.stories.tsx +40 -40
  236. package/src/components/Switch/Switch.styles.ts +75 -75
  237. package/src/components/Switch/Switch.tsx +76 -76
  238. package/src/components/Switch/index.ts +3 -3
  239. package/src/components/Switch/types.ts +4 -4
  240. package/src/components/TextArea/TextArea.stories.tsx +35 -35
  241. package/src/components/TextArea/TextArea.styles.ts +157 -153
  242. package/src/components/TextArea/TextArea.tsx +171 -171
  243. package/src/components/TextArea/index.ts +2 -2
  244. package/src/components/TextWithInfo/TextWithInfo.stories.tsx +53 -53
  245. package/src/components/TextWithInfo/TextWithInfo.styles.ts +59 -59
  246. package/src/components/TextWithInfo/TextWithInfo.tsx +61 -61
  247. package/src/components/TextWithInfo/index.ts +2 -2
  248. package/src/components/TextWithTooltip/TextWithTooltip.stories.tsx +58 -58
  249. package/src/components/TextWithTooltip/TextWithTooltip.styles.ts +21 -21
  250. package/src/components/TextWithTooltip/TextWithTooltip.tsx +149 -149
  251. package/src/components/TextWithTooltip/index.ts +2 -2
  252. package/src/components/ThemedPreloader/ThemedPreloader.stories.tsx +41 -41
  253. package/src/components/ThemedPreloader/ThemedPreloader.styles.ts +26 -26
  254. package/src/components/ThemedPreloader/ThemedPreloader.tsx +55 -55
  255. package/src/components/ThemedPreloader/components/DefaultPreloader/DefaultPreloader.tsx +29 -29
  256. package/src/components/ThemedPreloader/components/DefaultPreloader/index.ts +1 -1
  257. package/src/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.styles.ts +54 -54
  258. package/src/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.tsx +15 -15
  259. package/src/components/ThemedPreloader/components/DotsPreloader/index.ts +2 -2
  260. package/src/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.styles.ts +11 -11
  261. package/src/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.tsx +24 -24
  262. package/src/components/ThemedPreloader/components/SvgPreloader/index.ts +2 -2
  263. package/src/components/ThemedPreloader/components/index.ts +3 -3
  264. package/src/components/ThemedPreloader/constants.ts +1 -1
  265. package/src/components/ThemedPreloader/index.ts +4 -4
  266. package/src/components/ThemedPreloader/types.ts +3 -3
  267. package/src/components/Toaster/Toaster.stories.tsx +30 -30
  268. package/src/components/Toaster/Toaster.styles.ts +60 -60
  269. package/src/components/Toaster/Toaster.tsx +114 -114
  270. package/src/components/Toaster/constants.ts +1 -1
  271. package/src/components/Toaster/index.ts +3 -3
  272. package/src/components/Toaster/types.ts +1 -1
  273. package/src/components/Tooltip/Tooltip.stories.tsx +19 -19
  274. package/src/components/Tooltip/Tooltip.styles.ts +49 -49
  275. package/src/components/Tooltip/Tooltip.tsx +39 -39
  276. package/src/components/Tooltip/index.ts +3 -3
  277. package/src/components/Tooltip/types.ts +1 -1
  278. package/src/components/index.ts +37 -37
  279. package/src/constants/index.ts +1 -1
  280. package/src/constants/phone-info.ts +2147 -2147
  281. package/src/helpers/index.ts +3 -3
  282. package/src/helpers/misc.ts +158 -158
  283. package/src/helpers/phone.ts +91 -91
  284. package/src/helpers/popper-helpers.ts +17 -17
  285. package/src/hooks/index.ts +7 -7
  286. package/src/hooks/use-did-mount-effect.ts +18 -18
  287. package/src/hooks/use-dropdown.ts +82 -82
  288. package/src/hooks/use-is-mounted.ts +15 -15
  289. package/src/hooks/use-merged-refs.ts +4 -4
  290. package/src/hooks/use-mixed-styles.ts +14 -14
  291. package/src/hooks/use-on-click-outside.ts +77 -77
  292. package/src/hooks/use-tweak-styles.ts +57 -57
  293. package/src/index.ts +6 -6
  294. package/src/theme/Provider.tsx +21 -21
  295. package/src/theme/common.ts +160 -149
  296. package/src/theme/helpers.ts +74 -74
  297. package/src/theme/index.ts +4 -4
  298. package/src/theme/types.ts +141 -141
  299. package/src/types.ts +26 -26
  300. package/src/vite-env.d.ts +1 -1
@@ -1,26 +1,26 @@
1
- import merge from 'lodash-es/merge';
2
- import { DEFAULT_LOCALE, DEFAULT_SELECT_LOCALE, FilterLocales, SelectLocales } from './constants';
3
- import {
4
- type IFilterLocale,
5
- type IFilterLocaleKey,
6
- type IPartialFilterLocale,
7
- ISelectLocale,
8
- ISelectLocaleKey,
9
- } from './types';
10
-
11
- export const getLocale = (
12
- key: IFilterLocaleKey = DEFAULT_LOCALE,
13
- custom?: IPartialFilterLocale,
14
- custom2?: IPartialFilterLocale,
15
- ): IFilterLocale => merge({}, FilterLocales[key], custom, custom2);
16
-
17
- export const getSelectLocale = (
18
- key: ISelectLocaleKey = DEFAULT_SELECT_LOCALE,
19
- custom?: Partial<ISelectLocale>,
20
- custom2?: Partial<ISelectLocale>,
21
- ): ISelectLocale => merge({}, SelectLocales[key], custom, custom2);
22
-
23
- export const sortValues = (arr: Array<number | undefined>): Array<number | undefined> =>
24
- arr.includes(undefined) ? arr : (arr as number[]).sort((a, b) => (a < b ? -1 : 1));
25
-
26
- export const defaultConvertFunction = (val: unknown): string => String(val);
1
+ import merge from 'lodash-es/merge';
2
+ import { DEFAULT_LOCALE, DEFAULT_SELECT_LOCALE, FilterLocales, SelectLocales } from './constants';
3
+ import {
4
+ type IFilterLocale,
5
+ type IFilterLocaleKey,
6
+ type IPartialFilterLocale,
7
+ ISelectLocale,
8
+ ISelectLocaleKey,
9
+ } from './types';
10
+
11
+ export const getLocale = (
12
+ key: IFilterLocaleKey = DEFAULT_LOCALE,
13
+ custom?: IPartialFilterLocale,
14
+ custom2?: IPartialFilterLocale,
15
+ ): IFilterLocale => merge({}, FilterLocales[key], custom, custom2);
16
+
17
+ export const getSelectLocale = (
18
+ key: ISelectLocaleKey = DEFAULT_SELECT_LOCALE,
19
+ custom?: Partial<ISelectLocale>,
20
+ custom2?: Partial<ISelectLocale>,
21
+ ): ISelectLocale => merge({}, SelectLocales[key], custom, custom2);
22
+
23
+ export const sortValues = (arr: Array<number | undefined>): Array<number | undefined> =>
24
+ arr.includes(undefined) ? arr : (arr as number[]).sort((a, b) => (a < b ? -1 : 1));
25
+
26
+ export const defaultConvertFunction = (val: unknown): string => String(val);
@@ -1,5 +1,5 @@
1
- export * from './FiltersPane';
2
- export type { IFiltersPaneStyles } from './FiltersPane.styles';
3
- export * from './types';
4
- // TODO : подумать над тем чтобы вынести это все наружу
5
- export * from './components';
1
+ export * from './FiltersPane';
2
+ export type { IFiltersPaneStyles } from './FiltersPane.styles';
3
+ export * from './types';
4
+ // TODO : подумать над тем чтобы вынести это все наружу
5
+ export * from './components';
@@ -1,156 +1,156 @@
1
- import { FC, ReactNode } from 'react';
2
- import { IDatePickerProps } from '../DatePicker';
3
- import { IMultiSelectListValues } from '../MultiSelectList';
4
- import type {
5
- IFilterIntervalProps,
6
- IFilterMultiSelectProps,
7
- IFilterSelectProps,
8
- IFilterWithDatesProps,
9
- IFilterWithPeriodProps,
10
- } from './components';
11
- import { FilterLocales, PERIODS, SelectLocales } from './constants';
12
-
13
- export type IPeriodType = (typeof PERIODS)[number];
14
-
15
- export type IFilterMultiSelectValues<Option = string> = IMultiSelectListValues<Option>;
16
-
17
- export type IPeriodsList = Array<IPeriodType | [string, IPeriodGetter]>;
18
-
19
- export interface IFiltersPaneSearchPayload<Value> {
20
- value?: string;
21
- field?: Value;
22
- }
23
-
24
- export interface IFilterValueViewProps<Value> {
25
- value?: Value;
26
- filter: ConfigItem<Value>;
27
- }
28
-
29
- export interface IDatePeriod {
30
- from: Date | null;
31
- to: Date | null;
32
- }
33
-
34
- export interface IPeriod extends IDatePeriod {
35
- periodType: string;
36
- label?: string;
37
- }
38
-
39
- export type IPeriodGetter = () => IDatePeriod;
40
-
41
- export type IFilterWithDatesValue = IDatePeriod;
42
-
43
- export type MultiSelectOptionType<Value> = Value | undefined extends
44
- | IFilterMultiSelectValues<infer Option>
45
- | undefined
46
- ? Option
47
- : unknown;
48
-
49
- export interface IConfigItemBasicBase<Value> {
50
- name: string;
51
- isInline?: boolean;
52
- requiredFilledFilters?: string[];
53
- localeKey?: IFilterLocaleKey;
54
- locale?: IPartialFilterLocale;
55
- getSelectedValueView?: (v: Value) => ReactNode;
56
- }
57
-
58
- export type IIntervalConfigItem<Value> = IConfigItemBasicBase<Value> & {
59
- type: 'interval';
60
- } & Omit<IFilterIntervalProps, 'value' | 'onChange' | 'labelName'>;
61
-
62
- export interface IBooleanConfigItem<Value> extends IConfigItemBasicBase<Value> {
63
- type: 'boolean';
64
- }
65
-
66
- export type IMultiSelectConfigItem<Value> = IConfigItemBasicBase<Value> & {
67
- type: 'multiSelect';
68
- } & Omit<IFilterMultiSelectProps<Value, MultiSelectOptionType<Value>>, 'value' | 'onChange'>;
69
-
70
- export type ISelectConfigItem<Value> = IConfigItemBasicBase<Value> & {
71
- type: 'select';
72
- } & Omit<IFilterSelectProps<Value>, 'value' | 'onChange'>;
73
-
74
- // Дата без периодов
75
- export type IDateRangeWithoutPeriodConfigItem<Value> = IConfigItemBasicBase<Value> & {
76
- type: 'dateRangeWithoutPeriod';
77
- dateFormat?: string;
78
- } & Omit<IFilterWithDatesProps, 'value' | 'onChange' | 'onStartBtnSubmit' | 'onEndBtnSubmit'>;
79
-
80
- // Дата С ПЕРИОДАМИ
81
- export type IDateRangeConfigItem<Value> = IConfigItemBasicBase<Value> & {
82
- type: 'dateRange';
83
- dateFormat?: string;
84
- } & Omit<IFilterWithPeriodProps, 'value' | 'onChange' | 'setIsOpen'>;
85
-
86
- export type CustomComponent<Value> = FC<{
87
- value?: Value;
88
- onChange: (v?: Value) => void;
89
- onClose?: () => void;
90
- filter: ICustomConfigItem<Value>;
91
- localeKey?: IFilterLocaleKey;
92
- locale?: IPartialFilterLocale;
93
- }>;
94
-
95
- export interface ICustomConfigItem<Value> extends IConfigItemBasicBase<Value> {
96
- [key: string]: any;
97
- type: 'custom';
98
- component: CustomComponent<Value>;
99
- valueViewType?: 'range' | 'multiple';
100
- }
101
-
102
- export type ConfigItem<Value> =
103
- | ISelectConfigItem<Value>
104
- | IMultiSelectConfigItem<Value>
105
- | ICustomConfigItem<Value>
106
- | IDateRangeWithoutPeriodConfigItem<Value>
107
- | IDateRangeConfigItem<Value>
108
- | IIntervalConfigItem<Value>
109
- | IBooleanConfigItem<Value>;
110
-
111
- export type ConfigType<Values> = {
112
- [K in keyof Values]: ConfigItem<Values[K]>;
113
- };
114
-
115
- export interface IFilterLocale {
116
- clear: string;
117
- all: string;
118
- other: string;
119
- chosen: string;
120
- searchPlaceholder: string;
121
- displayedFields: string;
122
- nothingFound: string;
123
- from: string;
124
- to: string;
125
- back: string;
126
- months: string[];
127
- periods: {
128
- [key: string]: string;
129
- THIS_MONTH: string;
130
- LAST_MONTH: string;
131
- THIS_YEAR: string;
132
- LAST_YEAR: string;
133
- CUSTOM: string;
134
- };
135
- }
136
-
137
- export type IPartialFilterLocale = Partial<Omit<IFilterLocale, 'periods'>> & {
138
- periods?: Partial<IFilterLocale['periods']>;
139
- };
140
-
141
- export type IFilterLocaleKey = keyof typeof FilterLocales;
142
-
143
- export interface ISelectLocale {
144
- clear: string;
145
- all: string;
146
- chosen: string;
147
- searchPlaceholder: string;
148
- nothingFound: string;
149
- }
150
-
151
- export type ISelectLocaleKey = keyof typeof SelectLocales;
152
-
153
- export type IFilterWithDateDatePickerProps = Omit<
154
- IDatePickerProps,
155
- 'onChange' | 'value' | 'locale' | 'months' | 'selectedDate' | 'tweakStyles'
156
- >;
1
+ import { FC, ReactNode } from 'react';
2
+ import { IDatePickerProps } from '../DatePicker';
3
+ import { IMultiSelectListValues } from '../MultiSelectList';
4
+ import type {
5
+ IFilterIntervalProps,
6
+ IFilterMultiSelectProps,
7
+ IFilterSelectProps,
8
+ IFilterWithDatesProps,
9
+ IFilterWithPeriodProps,
10
+ } from './components';
11
+ import { FilterLocales, PERIODS, SelectLocales } from './constants';
12
+
13
+ export type IPeriodType = (typeof PERIODS)[number];
14
+
15
+ export type IFilterMultiSelectValues<Option = string> = IMultiSelectListValues<Option>;
16
+
17
+ export type IPeriodsList = Array<IPeriodType | [string, IPeriodGetter]>;
18
+
19
+ export interface IFiltersPaneSearchPayload<Value> {
20
+ value?: string;
21
+ field?: Value;
22
+ }
23
+
24
+ export interface IFilterValueViewProps<Value> {
25
+ value?: Value;
26
+ filter: ConfigItem<Value>;
27
+ }
28
+
29
+ export interface IDatePeriod {
30
+ from: Date | null;
31
+ to: Date | null;
32
+ }
33
+
34
+ export interface IPeriod extends IDatePeriod {
35
+ periodType: string;
36
+ label?: string;
37
+ }
38
+
39
+ export type IPeriodGetter = () => IDatePeriod;
40
+
41
+ export type IFilterWithDatesValue = IDatePeriod;
42
+
43
+ export type MultiSelectOptionType<Value> = Value | undefined extends
44
+ | IFilterMultiSelectValues<infer Option>
45
+ | undefined
46
+ ? Option
47
+ : unknown;
48
+
49
+ export interface IConfigItemBasicBase<Value> {
50
+ name: string;
51
+ isInline?: boolean;
52
+ requiredFilledFilters?: string[];
53
+ localeKey?: IFilterLocaleKey;
54
+ locale?: IPartialFilterLocale;
55
+ getSelectedValueView?: (v: Value) => ReactNode;
56
+ }
57
+
58
+ export type IIntervalConfigItem<Value> = IConfigItemBasicBase<Value> & {
59
+ type: 'interval';
60
+ } & Omit<IFilterIntervalProps, 'value' | 'onChange' | 'labelName'>;
61
+
62
+ export interface IBooleanConfigItem<Value> extends IConfigItemBasicBase<Value> {
63
+ type: 'boolean';
64
+ }
65
+
66
+ export type IMultiSelectConfigItem<Value> = IConfigItemBasicBase<Value> & {
67
+ type: 'multiSelect';
68
+ } & Omit<IFilterMultiSelectProps<Value, MultiSelectOptionType<Value>>, 'value' | 'onChange'>;
69
+
70
+ export type ISelectConfigItem<Value> = IConfigItemBasicBase<Value> & {
71
+ type: 'select';
72
+ } & Omit<IFilterSelectProps<Value>, 'value' | 'onChange'>;
73
+
74
+ // Дата без периодов
75
+ export type IDateRangeWithoutPeriodConfigItem<Value> = IConfigItemBasicBase<Value> & {
76
+ type: 'dateRangeWithoutPeriod';
77
+ dateFormat?: string;
78
+ } & Omit<IFilterWithDatesProps, 'value' | 'onChange' | 'onStartBtnSubmit' | 'onEndBtnSubmit'>;
79
+
80
+ // Дата С ПЕРИОДАМИ
81
+ export type IDateRangeConfigItem<Value> = IConfigItemBasicBase<Value> & {
82
+ type: 'dateRange';
83
+ dateFormat?: string;
84
+ } & Omit<IFilterWithPeriodProps, 'value' | 'onChange' | 'setIsOpen'>;
85
+
86
+ export type CustomComponent<Value> = FC<{
87
+ value?: Value;
88
+ onChange: (v?: Value) => void;
89
+ onClose?: () => void;
90
+ filter: ICustomConfigItem<Value>;
91
+ localeKey?: IFilterLocaleKey;
92
+ locale?: IPartialFilterLocale;
93
+ }>;
94
+
95
+ export interface ICustomConfigItem<Value> extends IConfigItemBasicBase<Value> {
96
+ [key: string]: any;
97
+ type: 'custom';
98
+ component: CustomComponent<Value>;
99
+ valueViewType?: 'range' | 'multiple';
100
+ }
101
+
102
+ export type ConfigItem<Value> =
103
+ | ISelectConfigItem<Value>
104
+ | IMultiSelectConfigItem<Value>
105
+ | ICustomConfigItem<Value>
106
+ | IDateRangeWithoutPeriodConfigItem<Value>
107
+ | IDateRangeConfigItem<Value>
108
+ | IIntervalConfigItem<Value>
109
+ | IBooleanConfigItem<Value>;
110
+
111
+ export type ConfigType<Values> = {
112
+ [K in keyof Values]: ConfigItem<Values[K]>;
113
+ };
114
+
115
+ export interface IFilterLocale {
116
+ clear: string;
117
+ all: string;
118
+ other: string;
119
+ chosen: string;
120
+ searchPlaceholder: string;
121
+ displayedFields: string;
122
+ nothingFound: string;
123
+ from: string;
124
+ to: string;
125
+ back: string;
126
+ months: string[];
127
+ periods: {
128
+ [key: string]: string;
129
+ THIS_MONTH: string;
130
+ LAST_MONTH: string;
131
+ THIS_YEAR: string;
132
+ LAST_YEAR: string;
133
+ CUSTOM: string;
134
+ };
135
+ }
136
+
137
+ export type IPartialFilterLocale = Partial<Omit<IFilterLocale, 'periods'>> & {
138
+ periods?: Partial<IFilterLocale['periods']>;
139
+ };
140
+
141
+ export type IFilterLocaleKey = keyof typeof FilterLocales;
142
+
143
+ export interface ISelectLocale {
144
+ clear: string;
145
+ all: string;
146
+ chosen: string;
147
+ searchPlaceholder: string;
148
+ nothingFound: string;
149
+ }
150
+
151
+ export type ISelectLocaleKey = keyof typeof SelectLocales;
152
+
153
+ export type IFilterWithDateDatePickerProps = Omit<
154
+ IDatePickerProps,
155
+ 'onChange' | 'value' | 'locale' | 'months' | 'selectedDate' | 'tweakStyles'
156
+ >;
@@ -1,29 +1,29 @@
1
- import { countries } from 'country-flag-icons';
2
- import { ComponentStory } from '@storybook/react';
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 { countries } from 'country-flag-icons';
2
+ import { ComponentStory } from '@storybook/react';
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,17 +1,17 @@
1
- import { colors, ITweakStyles, createThemedStyles } from '../../theme';
2
-
3
- export const useStyles = createThemedStyles('Flag', {
4
- root: {
5
- // приходится хардкодить в компоненте, тк либа Flags выдает флаги с 2-3 пиксельным отступом снизу
6
- // если будет нужно, то можно вынести border на уровень пропсов
7
- border: [1, 'solid', colors.BORDER_MAIN],
8
- borderRadius: 2,
9
- },
10
-
11
- noFlag: {
12
- width: 20,
13
- color: colors.FONT_MEDIUM,
14
- },
15
- });
16
-
17
- export type IFlagStyles = ITweakStyles<typeof useStyles>;
1
+ import { colors, ITweakStyles, createThemedStyles } from '../../theme';
2
+
3
+ export const useStyles = createThemedStyles('Flag', {
4
+ root: {
5
+ // приходится хардкодить в компоненте, тк либа Flags выдает флаги с 2-3 пиксельным отступом снизу
6
+ // если будет нужно, то можно вынести border на уровень пропсов
7
+ border: [1, 'solid', colors.BORDER_MAIN],
8
+ borderRadius: 2,
9
+ },
10
+
11
+ noFlag: {
12
+ width: 20,
13
+ color: colors.FONT_MEDIUM,
14
+ },
15
+ });
16
+
17
+ export type IFlagStyles = ITweakStyles<typeof useStyles>;
@@ -1,25 +1,25 @@
1
- import { FC } from 'react';
2
- import { hasFlag } from 'country-flag-icons';
3
- import Flags from 'country-flag-icons/react/3x2';
4
- import { ICommonProps } from '../../types';
5
- import { Icon } from '../Icon';
6
- import { useStyles, IFlagStyles } from './Flag.styles';
7
-
8
- export interface IFlagProps extends Pick<ICommonProps<IFlagStyles>, 'tweakStyles'> {
9
- countryCode?: string;
10
- }
11
-
12
- export const Flag: FC<IFlagProps> = ({ countryCode = '', tweakStyles }) => {
13
- const classes = useStyles({ theme: tweakStyles });
14
- const CC = countryCode.toUpperCase();
15
-
16
- const TheFlag = hasFlag(CC)
17
- ? Flags[CC as keyof typeof Flags]
18
- : () => (
19
- <div className={classes.noFlag}>
20
- <Icon type="minus" />
21
- </div>
22
- );
23
-
24
- return <TheFlag className={classes.root} />;
25
- };
1
+ import { FC } from 'react';
2
+ import { hasFlag } from 'country-flag-icons';
3
+ import Flags from 'country-flag-icons/react/3x2';
4
+ import { ICommonProps } from '../../types';
5
+ import { Icon } from '../Icon';
6
+ import { useStyles, IFlagStyles } from './Flag.styles';
7
+
8
+ export interface IFlagProps extends Pick<ICommonProps<IFlagStyles>, 'tweakStyles'> {
9
+ countryCode?: string;
10
+ }
11
+
12
+ export const Flag: FC<IFlagProps> = ({ countryCode = '', tweakStyles }) => {
13
+ const classes = useStyles({ theme: tweakStyles });
14
+ const CC = countryCode.toUpperCase();
15
+
16
+ const TheFlag = hasFlag(CC)
17
+ ? Flags[CC as keyof typeof Flags]
18
+ : () => (
19
+ <div className={classes.noFlag}>
20
+ <Icon type="minus" />
21
+ </div>
22
+ );
23
+
24
+ return <TheFlag className={classes.root} />;
25
+ };
@@ -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 { IFlagStyles } from './Flag.styles';
1
+ export * from './Flag';
2
+ export type { IFlagStyles } from './Flag.styles';