@true-engineering/true-react-common-ui-kit 2.3.2 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/dist/components/AccountInfo/constants.d.ts +1 -0
  2. package/dist/components/Button/Button.d.ts +1 -3
  3. package/dist/components/Button/constants.d.ts +1 -0
  4. package/dist/components/Button/index.d.ts +1 -0
  5. package/dist/components/Button/types.d.ts +3 -0
  6. package/dist/components/DatePicker/DatePicker.styles.d.ts +4 -5
  7. package/dist/components/DatePicker/{DatePickerHeader → components/DatePickerHeader}/DatePickerHeader.styles.d.ts +1 -1
  8. package/dist/components/DatePicker/components/PopperContainer/PopperContainer.d.ts +4 -0
  9. package/dist/components/DatePicker/components/PopperContainer/index.d.ts +1 -0
  10. package/dist/components/DatePicker/components/index.d.ts +2 -0
  11. package/dist/components/DatePicker/constants.d.ts +2 -0
  12. package/dist/components/DatePicker/index.d.ts +2 -1
  13. package/dist/components/Description/constants.d.ts +1 -0
  14. package/dist/components/FiltersPane/FiltersPane.d.ts +2 -3
  15. package/dist/components/FiltersPane/components/Filter/Filter.d.ts +12 -0
  16. package/dist/components/FiltersPane/components/Filter/index.d.ts +1 -0
  17. package/dist/components/FiltersPane/{FilterInterval → components/FilterInterval}/FilterInterval.d.ts +2 -2
  18. package/dist/components/FiltersPane/{FilterInterval → components/FilterInterval}/FilterInterval.styles.d.ts +1 -1
  19. package/dist/components/FiltersPane/components/FilterInterval/index.d.ts +2 -0
  20. package/dist/components/FiltersPane/{FilterMultiSelect → components/FilterMultiSelect}/FilterMultiSelect.d.ts +2 -2
  21. package/dist/components/FiltersPane/{FilterSelect → components/FilterSelect}/FilterSelect.d.ts +2 -4
  22. package/dist/components/FiltersPane/{FilterSelect → components/FilterSelect}/FilterSelect.styles.d.ts +1 -1
  23. package/dist/components/FiltersPane/components/FilterSelect/index.d.ts +2 -0
  24. package/dist/components/FiltersPane/{FilterValueView → components/FilterValueView}/FilterValueView.styles.d.ts +1 -1
  25. package/dist/components/FiltersPane/components/FilterValueView/index.d.ts +2 -0
  26. package/dist/components/FiltersPane/{FilterWithDates → components/FilterWithDates}/FilterWithDates.d.ts +4 -9
  27. package/dist/components/FiltersPane/{FilterWithDates → components/FilterWithDates}/FilterWithDates.styles.d.ts +1 -1
  28. package/dist/components/FiltersPane/components/FilterWithDates/index.d.ts +2 -0
  29. package/dist/components/FiltersPane/{FilterWithPeriod → components/FilterWithPeriod}/FilterWithPeriod.d.ts +2 -3
  30. package/dist/components/FiltersPane/{FilterWithPeriod → components/FilterWithPeriod}/FilterWithPeriod.styles.d.ts +1 -1
  31. package/dist/components/FiltersPane/components/FilterWithPeriod/index.d.ts +2 -0
  32. package/dist/components/FiltersPane/components/FilterWrapper/FilterWrapper.d.ts +15 -0
  33. package/dist/components/FiltersPane/{FilterWrapper → components/FilterWrapper}/FilterWrapper.styles.d.ts +1 -1
  34. package/dist/components/FiltersPane/components/FilterWrapper/index.d.ts +2 -0
  35. package/dist/components/FiltersPane/{FiltersPaneSearch → components/FiltersPaneSearch}/FiltersPaneSearch.d.ts +2 -3
  36. package/dist/components/FiltersPane/{FiltersPaneSearch → components/FiltersPaneSearch}/FiltersPaneSearch.styles.d.ts +1 -1
  37. package/dist/components/FiltersPane/components/FiltersPaneSearch/index.d.ts +2 -0
  38. package/dist/components/FiltersPane/components/index.d.ts +9 -0
  39. package/dist/components/FiltersPane/constants.d.ts +9 -0
  40. package/dist/components/FiltersPane/helpers.d.ts +5 -0
  41. package/dist/components/FiltersPane/index.d.ts +1 -13
  42. package/dist/components/FiltersPane/types.d.ts +37 -7
  43. package/dist/components/FlexibleTable/FlexibleTable.d.ts +3 -3
  44. package/dist/components/FlexibleTable/{TableRow.d.ts → components/TableRow/TableRow.d.ts} +8 -8
  45. package/dist/components/FlexibleTable/components/TableRow/index.d.ts +1 -0
  46. package/dist/components/FlexibleTable/{TableValue.d.ts → components/TableValue/TableValue.d.ts} +3 -3
  47. package/dist/components/FlexibleTable/components/TableValue/index.d.ts +1 -0
  48. package/dist/components/FlexibleTable/components/index.d.ts +2 -0
  49. package/dist/components/FlexibleTable/constants.d.ts +1 -0
  50. package/dist/components/Icon/Icon.d.ts +3 -5
  51. package/dist/components/Icon/complexIcons/icons.d.ts +0 -1
  52. package/dist/components/Icon/components/ComplexIconBoilerplate/ComplexIconBoilerplate.d.ts +6 -0
  53. package/dist/components/Icon/components/ComplexIconBoilerplate/index.d.ts +1 -0
  54. package/dist/components/Icon/{IconBoilerplate.d.ts → components/IconBolerplate/IconBoilerplate.d.ts} +1 -1
  55. package/dist/components/Icon/components/IconBolerplate/index.d.ts +1 -0
  56. package/dist/components/Icon/components/index.d.ts +2 -0
  57. package/dist/components/Icon/helpers.d.ts +6 -0
  58. package/dist/components/Icon/icons-list.d.ts +1 -0
  59. package/dist/components/Icon/index.d.ts +2 -2
  60. package/dist/components/Icon/types.d.ts +12 -0
  61. package/dist/components/IncrementInput/{ChangeButton.d.ts → components/ChangeButton/ChangeButton.d.ts} +1 -2
  62. package/dist/components/IncrementInput/components/ChangeButton/index.d.ts +1 -0
  63. package/dist/components/IncrementInput/components/index.d.ts +1 -0
  64. package/dist/components/Input/Input.d.ts +2 -4
  65. package/dist/components/Input/constants.d.ts +1 -0
  66. package/dist/components/Input/index.d.ts +1 -0
  67. package/dist/components/Input/types.d.ts +2 -0
  68. package/dist/components/List/List.d.ts +3 -12
  69. package/dist/components/List/index.d.ts +1 -0
  70. package/dist/components/List/types.d.ts +12 -0
  71. package/dist/components/Modal/Modal.d.ts +1 -3
  72. package/dist/components/Modal/index.d.ts +1 -0
  73. package/dist/components/Modal/types.d.ts +3 -0
  74. package/dist/components/MultiSelect/MultiSelect.d.ts +2 -3
  75. package/dist/components/MultiSelect/{MultiSelectInput → components/MultiSelectInput}/MultiSelectInput.d.ts +2 -2
  76. package/dist/components/MultiSelect/{MultiSelectInput → components/MultiSelectInput}/MultiSelectInput.styles.d.ts +1 -1
  77. package/dist/components/MultiSelect/components/MultiSelectInput/index.d.ts +2 -0
  78. package/dist/components/MultiSelect/index.d.ts +2 -1
  79. package/dist/components/MultiSelect/types.d.ts +1 -0
  80. package/dist/components/MultiSelectList/MultiSelectList.d.ts +1 -4
  81. package/dist/components/MultiSelectList/constants.d.ts +3 -0
  82. package/dist/components/MultiSelectList/helpers.d.ts +3 -0
  83. package/dist/components/MultiSelectList/index.d.ts +1 -0
  84. package/dist/components/MultiSelectList/types.d.ts +12 -0
  85. package/dist/components/Notification/Notification.d.ts +1 -1
  86. package/dist/components/Notification/Notification.styles.d.ts +1 -1
  87. package/dist/components/Notification/index.d.ts +1 -0
  88. package/dist/components/Notification/types.d.ts +1 -0
  89. package/dist/components/PhoneInput/PhoneInput.d.ts +2 -2
  90. package/dist/components/PhoneInput/{PhoneInputCountryList → components/PhoneInputCountryList}/PhoneInputCountryList.d.ts +2 -3
  91. package/dist/components/PhoneInput/{PhoneInputCountryList → components/PhoneInputCountryList}/PhoneInputCountryList.styles.d.ts +1 -1
  92. package/dist/components/PhoneInput/components/PhoneInputCountryList/index.d.ts +2 -0
  93. package/dist/components/PhoneInput/components/index.d.ts +1 -0
  94. package/dist/components/PhoneInput/constants.d.ts +2 -0
  95. package/dist/components/PhoneInput/index.d.ts +2 -2
  96. package/dist/components/ScrollIntoViewIfNeeded/ScrollIntoViewIfNeeded.d.ts +2 -2
  97. package/dist/components/ScrollIntoViewIfNeeded/constants.d.ts +3 -0
  98. package/dist/components/SearchInput/SearchInput.d.ts +1 -1
  99. package/dist/components/Select/{SelectList → components/SelectList}/SelectList.d.ts +1 -1
  100. package/dist/components/Select/{SelectList → components/SelectList}/SelectList.styles.d.ts +1 -1
  101. package/dist/components/Select/components/SelectList/index.d.ts +2 -0
  102. package/dist/components/Select/{SelectListItem → components/SelectListItem}/SelectListItem.styles.d.ts +1 -1
  103. package/dist/components/Select/components/SelectListItem/index.d.ts +1 -0
  104. package/dist/components/Select/components/index.d.ts +2 -0
  105. package/dist/components/Select/index.d.ts +2 -2
  106. package/dist/components/SmartInput/SmartInput.d.ts +3 -15
  107. package/dist/components/SmartInput/constants.d.ts +18 -0
  108. package/dist/components/SmartInput/helpers.d.ts +1 -7
  109. package/dist/components/SmartInput/index.d.ts +1 -0
  110. package/dist/components/SmartInput/types.d.ts +1 -0
  111. package/dist/components/Switch/Switch.d.ts +1 -4
  112. package/dist/components/Switch/index.d.ts +1 -0
  113. package/dist/components/Switch/types.d.ts +4 -0
  114. package/dist/components/TextArea/TextArea.d.ts +5 -5
  115. package/dist/components/TextWithTooltip/TextWithTooltip.d.ts +2 -2
  116. package/dist/components/ThemedPreloader/ThemedPreloader.d.ts +1 -3
  117. package/dist/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.d.ts +1 -1
  118. package/dist/components/ThemedPreloader/components/index.d.ts +3 -2
  119. package/dist/components/ThemedPreloader/constants.d.ts +1 -0
  120. package/dist/components/ThemedPreloader/index.d.ts +2 -0
  121. package/dist/components/ThemedPreloader/types.d.ts +2 -0
  122. package/dist/components/Toaster/Toaster.d.ts +1 -1
  123. package/dist/components/Toaster/constants.d.ts +1 -0
  124. package/dist/components/Toaster/index.d.ts +1 -0
  125. package/dist/components/Toaster/types.d.ts +1 -0
  126. package/dist/components/Tooltip/index.d.ts +1 -1
  127. package/dist/true-react-common-ui-kit.js +1246 -1193
  128. package/dist/true-react-common-ui-kit.js.map +1 -1
  129. package/dist/true-react-common-ui-kit.umd.cjs +1245 -1192
  130. package/dist/true-react-common-ui-kit.umd.cjs.map +1 -1
  131. package/dist/types.d.ts +1 -1
  132. package/package.json +93 -93
  133. package/src/components/AccountInfo/AccountInfo.stories.tsx +32 -32
  134. package/src/components/AccountInfo/AccountInfo.tsx +76 -77
  135. package/src/components/AccountInfo/constants.ts +1 -0
  136. package/src/components/AddButton/AddButton.tsx +48 -48
  137. package/src/components/Button/Button.stories.tsx +56 -52
  138. package/src/components/Button/Button.tsx +154 -167
  139. package/src/components/Button/constants.ts +9 -0
  140. package/src/components/Button/index.ts +3 -2
  141. package/src/components/Button/types.ts +5 -0
  142. package/src/components/Checkbox/Checkbox.stories.tsx +32 -32
  143. package/src/components/Checkbox/Checkbox.tsx +105 -105
  144. package/src/components/CloseButton/CloseButton.styles.ts +34 -34
  145. package/src/components/CloseButton/CloseButton.tsx +35 -35
  146. package/src/components/Colors/Colors.tsx +26 -26
  147. package/src/components/CssBaseline/CssBaseline.tsx +15 -15
  148. package/src/components/DateInput/DateInput.stories.tsx +61 -61
  149. package/src/components/DateInput/DateInput.tsx +82 -82
  150. package/src/components/DatePicker/DatePicker.stories.tsx +87 -87
  151. package/src/components/DatePicker/DatePicker.styles.ts +44 -44
  152. package/src/components/DatePicker/DatePicker.tsx +309 -327
  153. package/src/components/DatePicker/{DatePickerHeader → components/DatePickerHeader}/DatePickerHeader.styles.ts +84 -84
  154. package/src/components/DatePicker/{DatePickerHeader → components/DatePickerHeader}/DatePickerHeader.tsx +79 -79
  155. package/src/components/DatePicker/{DatePickerHeader → components/DatePickerHeader}/index.ts +2 -2
  156. package/src/components/DatePicker/components/PopperContainer/PopperContainer.tsx +6 -0
  157. package/src/components/DatePicker/components/PopperContainer/index.ts +1 -0
  158. package/src/components/DatePicker/components/index.ts +2 -0
  159. package/src/components/DatePicker/constants.ts +6 -1
  160. package/src/components/DatePicker/helpers.ts +23 -23
  161. package/src/components/DatePicker/index.ts +4 -3
  162. package/src/components/DatePicker/types.ts +45 -45
  163. package/src/components/Description/Description.stories.tsx +27 -27
  164. package/src/components/Description/Description.tsx +59 -60
  165. package/src/components/Description/constants.ts +1 -0
  166. package/src/components/FiltersPane/FiltersPane.stories.tsx +295 -295
  167. package/src/components/FiltersPane/FiltersPane.tsx +150 -151
  168. package/src/components/FiltersPane/{FilterWrapper/FilterWrapper.tsx → components/Filter/Filter.tsx} +203 -346
  169. package/src/components/FiltersPane/components/Filter/index.ts +1 -0
  170. package/src/components/FiltersPane/{FilterInterval → components/FilterInterval}/FilterInterval.styles.ts +64 -64
  171. package/src/components/FiltersPane/{FilterInterval → components/FilterInterval}/FilterInterval.tsx +141 -143
  172. package/src/components/FiltersPane/components/FilterInterval/index.ts +2 -0
  173. package/src/components/FiltersPane/{FilterMultiSelect → components/FilterMultiSelect}/FilterMultiSelect.tsx +10 -10
  174. package/src/components/FiltersPane/{FilterMultiSelect → components/FilterMultiSelect}/index.ts +1 -1
  175. package/src/components/FiltersPane/{FilterSelect → components/FilterSelect}/FilterSelect.styles.ts +143 -143
  176. package/src/components/FiltersPane/{FilterSelect → components/FilterSelect}/FilterSelect.tsx +346 -348
  177. package/src/components/FiltersPane/components/FilterSelect/index.ts +2 -0
  178. package/src/components/FiltersPane/{FilterValueView → components/FilterValueView}/FilterValueView.styles.tsx +15 -15
  179. package/src/components/FiltersPane/{FilterValueView → components/FilterValueView}/FilterValueView.tsx +163 -166
  180. package/src/components/FiltersPane/components/FilterValueView/index.tsx +2 -0
  181. package/src/components/FiltersPane/{FilterWithDates → components/FilterWithDates}/FilterWithDates.styles.ts +60 -60
  182. package/src/components/FiltersPane/{FilterWithDates → components/FilterWithDates}/FilterWithDates.tsx +181 -184
  183. package/src/components/FiltersPane/components/FilterWithDates/index.ts +2 -0
  184. package/src/components/FiltersPane/{FilterWithPeriod → components/FilterWithPeriod}/FilterWithPeriod.styles.ts +17 -17
  185. package/src/components/FiltersPane/{FilterWithPeriod → components/FilterWithPeriod}/FilterWithPeriod.tsx +174 -198
  186. package/src/components/FiltersPane/components/FilterWithPeriod/index.ts +2 -0
  187. package/src/components/FiltersPane/{FilterWrapper → components/FilterWrapper}/FilterWrapper.styles.ts +110 -110
  188. package/src/components/FiltersPane/components/FilterWrapper/FilterWrapper.tsx +149 -0
  189. package/src/components/FiltersPane/components/FilterWrapper/index.ts +2 -0
  190. package/src/components/FiltersPane/{FiltersPaneSearch → components/FiltersPaneSearch}/FiltersPaneSearch.styles.ts +109 -109
  191. package/src/components/FiltersPane/{FiltersPaneSearch → components/FiltersPaneSearch}/FiltersPaneSearch.tsx +155 -155
  192. package/src/components/FiltersPane/components/FiltersPaneSearch/index.ts +2 -0
  193. package/src/components/FiltersPane/components/index.ts +9 -0
  194. package/src/components/FiltersPane/constants.ts +137 -0
  195. package/src/components/FiltersPane/helpers.ts +26 -0
  196. package/src/components/FiltersPane/index.ts +5 -20
  197. package/src/components/FiltersPane/types.ts +156 -112
  198. package/src/components/Flag/Flag.stories.tsx +29 -29
  199. package/src/components/Flag/Flag.tsx +27 -27
  200. package/src/components/FlexibleTable/FlexibleTable.stories.tsx +338 -84
  201. package/src/components/FlexibleTable/FlexibleTable.styles.ts +131 -131
  202. package/src/components/FlexibleTable/FlexibleTable.tsx +205 -205
  203. package/src/components/FlexibleTable/{TableRow.tsx → components/TableRow/TableRow.tsx} +152 -152
  204. package/src/components/FlexibleTable/components/TableRow/index.ts +1 -0
  205. package/src/components/FlexibleTable/{TableValue.tsx → components/TableValue/TableValue.tsx} +74 -75
  206. package/src/components/FlexibleTable/components/TableValue/index.ts +1 -0
  207. package/src/components/FlexibleTable/components/index.ts +2 -0
  208. package/src/components/FlexibleTable/constants.ts +1 -0
  209. package/src/components/FlexibleTable/types.ts +52 -52
  210. package/src/components/Icon/Icon.stories.tsx +86 -85
  211. package/src/components/Icon/Icon.tsx +27 -32
  212. package/src/components/Icon/complexIcons/icons.ts +5 -7
  213. package/src/components/Icon/{ComplexIconBoilerplate.tsx → components/ComplexIconBoilerplate/ComplexIconBoilerplate.tsx} +16 -17
  214. package/src/components/Icon/components/ComplexIconBoilerplate/index.ts +1 -0
  215. package/src/components/Icon/{IconBoilerplate.tsx → components/IconBolerplate/IconBoilerplate.tsx} +43 -42
  216. package/src/components/Icon/components/IconBolerplate/index.ts +1 -0
  217. package/src/components/Icon/components/index.ts +2 -0
  218. package/src/components/Icon/helpers.ts +9 -0
  219. package/src/components/Icon/{icons/icons.ts → icons-list.ts} +826 -838
  220. package/src/components/Icon/index.ts +4 -4
  221. package/src/components/Icon/types.ts +16 -0
  222. package/src/components/IncrementInput/IncrementInput.stories.tsx +31 -31
  223. package/src/components/IncrementInput/IncrementInput.tsx +80 -80
  224. package/src/components/IncrementInput/{ChangeButton.tsx → components/ChangeButton/ChangeButton.tsx} +33 -33
  225. package/src/components/IncrementInput/components/ChangeButton/index.ts +1 -0
  226. package/src/components/IncrementInput/components/index.ts +1 -0
  227. package/src/components/Input/Input.stories.tsx +86 -86
  228. package/src/components/Input/Input.tsx +308 -311
  229. package/src/components/Input/constants.ts +1 -0
  230. package/src/components/Input/index.ts +3 -2
  231. package/src/components/Input/types.ts +6 -0
  232. package/src/components/List/List.stories.tsx +63 -62
  233. package/src/components/List/List.tsx +54 -64
  234. package/src/components/List/index.ts +3 -2
  235. package/src/components/List/types.ts +13 -0
  236. package/src/components/Modal/Modal.stories.tsx +105 -105
  237. package/src/components/Modal/Modal.styles.ts +305 -305
  238. package/src/components/Modal/Modal.tsx +184 -200
  239. package/src/components/Modal/index.ts +3 -2
  240. package/src/components/Modal/types.ts +17 -0
  241. package/src/components/MoreMenu/MoreMenu.styles.ts +70 -70
  242. package/src/components/MoreMenu/MoreMenu.tsx +90 -90
  243. package/src/components/MultiSelect/MultiSelect.stories.tsx +46 -46
  244. package/src/components/MultiSelect/MultiSelect.tsx +92 -89
  245. package/src/components/MultiSelect/{MultiSelectInput → components/MultiSelectInput}/MultiSelectInput.styles.ts +73 -73
  246. package/src/components/MultiSelect/{MultiSelectInput → components/MultiSelectInput}/MultiSelectInput.tsx +51 -51
  247. package/src/components/MultiSelect/components/MultiSelectInput/index.ts +2 -0
  248. package/src/components/MultiSelect/{MultiSelectInput → components}/index.ts +1 -1
  249. package/src/components/MultiSelect/index.ts +4 -3
  250. package/src/components/MultiSelect/types.ts +1 -0
  251. package/src/components/MultiSelectList/MultiSelectList.styles.ts +124 -124
  252. package/src/components/MultiSelectList/MultiSelectList.tsx +441 -451
  253. package/src/components/MultiSelectList/constants.ts +21 -0
  254. package/src/components/MultiSelectList/helpers.ts +11 -0
  255. package/src/components/MultiSelectList/index.ts +3 -2
  256. package/src/components/MultiSelectList/types.ts +15 -0
  257. package/src/components/Notification/Notification.stories.tsx +46 -46
  258. package/src/components/Notification/Notification.styles.ts +50 -50
  259. package/src/components/Notification/Notification.tsx +78 -79
  260. package/src/components/Notification/index.ts +3 -2
  261. package/src/components/Notification/types.ts +1 -0
  262. package/src/components/NumberInput/NumberInput.stories.tsx +35 -35
  263. package/src/components/NumberInput/NumberInput.tsx +133 -133
  264. package/src/components/NumberInput/helpers.ts +86 -86
  265. package/src/components/PhoneInput/PhoneInput.stories.tsx +70 -70
  266. package/src/components/PhoneInput/PhoneInput.tsx +193 -194
  267. package/src/components/PhoneInput/{PhoneInputCountryList → components/PhoneInputCountryList}/PhoneInputCountryList.stories.tsx +21 -21
  268. package/src/components/PhoneInput/{PhoneInputCountryList → components/PhoneInputCountryList}/PhoneInputCountryList.styles.ts +100 -100
  269. package/src/components/PhoneInput/{PhoneInputCountryList → components/PhoneInputCountryList}/PhoneInputCountryList.tsx +145 -147
  270. package/src/components/PhoneInput/components/PhoneInputCountryList/index.ts +2 -0
  271. package/src/components/PhoneInput/components/index.ts +1 -0
  272. package/src/components/PhoneInput/constants.ts +3 -0
  273. package/src/components/PhoneInput/index.ts +5 -6
  274. package/src/components/PhoneInput/phone-info.ts +2147 -2147
  275. package/src/components/RadioButton/RadioButton.stories.tsx +46 -46
  276. package/src/components/RadioButton/RadioButton.tsx +55 -55
  277. package/src/components/ScrollIntoViewIfNeeded/ScrollIntoViewIfNeeded.ts +54 -61
  278. package/src/components/ScrollIntoViewIfNeeded/constants.ts +12 -0
  279. package/src/components/SearchInput/SearchInput.stories.tsx +23 -23
  280. package/src/components/SearchInput/SearchInput.styles.ts +50 -50
  281. package/src/components/SearchInput/SearchInput.tsx +51 -50
  282. package/src/components/Select/MultiSelect.stories.tsx +240 -240
  283. package/src/components/Select/Select.stories.tsx +235 -235
  284. package/src/components/Select/Select.tsx +575 -575
  285. package/src/components/Select/{SelectList → components/SelectList}/SelectList.styles.ts +72 -72
  286. package/src/components/Select/{SelectList → components/SelectList}/SelectList.tsx +158 -158
  287. package/src/components/Select/components/SelectList/index.ts +2 -0
  288. package/src/components/Select/{SelectListItem → components/SelectListItem}/SelectListItem.styles.ts +14 -14
  289. package/src/components/Select/{SelectListItem → components/SelectListItem}/SelectListItem.tsx +68 -68
  290. package/src/components/Select/components/SelectListItem/index.ts +1 -0
  291. package/src/components/Select/components/index.ts +2 -0
  292. package/src/components/Select/helpers.ts +26 -26
  293. package/src/components/Select/index.ts +4 -4
  294. package/src/components/SmartInput/SmartInput.stories.tsx +51 -50
  295. package/src/components/SmartInput/SmartInput.tsx +124 -147
  296. package/src/components/SmartInput/constants.ts +84 -0
  297. package/src/components/SmartInput/helpers.ts +13 -85
  298. package/src/components/SmartInput/index.ts +2 -1
  299. package/src/components/SmartInput/types.ts +11 -0
  300. package/src/components/Switch/Switch.stories.tsx +40 -40
  301. package/src/components/Switch/Switch.tsx +79 -83
  302. package/src/components/Switch/index.ts +3 -2
  303. package/src/components/Switch/types.ts +4 -0
  304. package/src/components/TextArea/TextArea.stories.tsx +35 -35
  305. package/src/components/TextArea/TextArea.tsx +174 -165
  306. package/src/components/TextWithInfo/TextWithInfo.stories.tsx +53 -53
  307. package/src/components/TextWithInfo/TextWithInfo.tsx +60 -60
  308. package/src/components/TextWithTooltip/TextWithTooltip.tsx +143 -143
  309. package/src/components/ThemedPreloader/ThemedPreloader.stories.tsx +41 -41
  310. package/src/components/ThemedPreloader/ThemedPreloader.tsx +47 -50
  311. package/src/components/ThemedPreloader/components/DefaultPreloader/DefaultPreloader.tsx +29 -29
  312. package/src/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.tsx +18 -18
  313. package/src/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.tsx +25 -25
  314. package/src/components/ThemedPreloader/components/index.ts +3 -2
  315. package/src/components/ThemedPreloader/constants.ts +1 -0
  316. package/src/components/ThemedPreloader/index.ts +4 -2
  317. package/src/components/ThemedPreloader/types.ts +3 -0
  318. package/src/components/Toaster/Toaster.stories.tsx +30 -30
  319. package/src/components/Toaster/Toaster.tsx +108 -110
  320. package/src/components/Toaster/constants.ts +1 -0
  321. package/src/components/Toaster/index.ts +3 -2
  322. package/src/components/Toaster/types.ts +1 -0
  323. package/src/components/Tooltip/Tooltip.stories.tsx +19 -19
  324. package/src/components/Tooltip/Tooltip.styles.ts +45 -45
  325. package/src/components/Tooltip/Tooltip.tsx +35 -35
  326. package/src/components/Tooltip/index.ts +3 -3
  327. package/src/helpers/deprecated.ts +23 -23
  328. package/src/helpers/index.ts +4 -4
  329. package/src/helpers/misc.ts +158 -158
  330. package/src/helpers/phone.ts +87 -87
  331. package/src/helpers/snippets.tsx +6 -6
  332. package/src/hooks/use-did-mount-effect.ts +18 -18
  333. package/src/hooks/use-dropdown.ts +82 -82
  334. package/src/hooks/use-on-click-outside.ts +77 -77
  335. package/src/hooks/use-theme.ts +32 -32
  336. package/src/hooks/use-tweak-styles.ts +13 -13
  337. package/src/theme.ts +149 -149
  338. package/src/types.ts +108 -107
  339. package/dist/components/FiltersPane/FilterInterval/index.d.ts +0 -1
  340. package/dist/components/FiltersPane/FilterSelect/index.d.ts +0 -1
  341. package/dist/components/FiltersPane/FilterSelect/locales.d.ts +0 -11
  342. package/dist/components/FiltersPane/FilterValueView/index.d.ts +0 -1
  343. package/dist/components/FiltersPane/FilterWithDates/index.d.ts +0 -1
  344. package/dist/components/FiltersPane/FilterWithPeriod/index.d.ts +0 -1
  345. package/dist/components/FiltersPane/FilterWrapper/FilterWrapper.d.ts +0 -27
  346. package/dist/components/FiltersPane/FilterWrapper/index.d.ts +0 -1
  347. package/dist/components/FiltersPane/FiltersPaneSearch/index.d.ts +0 -1
  348. package/dist/components/FiltersPane/locales.d.ts +0 -28
  349. package/dist/components/Icon/ComplexIconBoilerplate.d.ts +0 -7
  350. package/dist/components/Icon/icons/icons.d.ts +0 -9
  351. package/dist/components/Icon/icons/index.d.ts +0 -1
  352. package/dist/components/MultiSelectList/locales.d.ts +0 -11
  353. package/dist/components/PhoneInput/PhoneInputCountryList/index.d.ts +0 -2
  354. package/dist/components/Select/SelectList/index.d.ts +0 -1
  355. package/src/components/FiltersPane/FilterInterval/index.ts +0 -1
  356. package/src/components/FiltersPane/FilterSelect/index.ts +0 -1
  357. package/src/components/FiltersPane/FilterSelect/locales.ts +0 -37
  358. package/src/components/FiltersPane/FilterValueView/index.tsx +0 -1
  359. package/src/components/FiltersPane/FilterWithDates/index.ts +0 -1
  360. package/src/components/FiltersPane/FilterWithPeriod/index.ts +0 -1
  361. package/src/components/FiltersPane/FilterWrapper/index.ts +0 -1
  362. package/src/components/FiltersPane/FiltersPaneSearch/index.ts +0 -1
  363. package/src/components/FiltersPane/locales.ts +0 -107
  364. package/src/components/FlexibleTable/fixture-test.ts +0 -254
  365. package/src/components/Icon/icons/index.ts +0 -1
  366. package/src/components/MultiSelectList/locales.ts +0 -37
  367. package/src/components/PhoneInput/PhoneInputCountryList/index.ts +0 -2
  368. package/src/components/Select/SelectList/index.ts +0 -1
  369. /package/dist/components/DatePicker/{DatePickerHeader → components/DatePickerHeader}/DatePickerHeader.d.ts +0 -0
  370. /package/dist/components/DatePicker/{DatePickerHeader → components/DatePickerHeader}/index.d.ts +0 -0
  371. /package/dist/components/FiltersPane/{FilterMultiSelect → components/FilterMultiSelect}/index.d.ts +0 -0
  372. /package/dist/components/FiltersPane/{FilterValueView → components/FilterValueView}/FilterValueView.d.ts +0 -0
  373. /package/dist/components/MultiSelect/{MultiSelectInput → components}/index.d.ts +0 -0
  374. /package/dist/components/Select/{SelectListItem → components/SelectListItem}/SelectListItem.d.ts +0 -0
package/dist/types.d.ts CHANGED
@@ -20,7 +20,7 @@ export interface IDropdownWithPopperOptions {
20
20
  }
21
21
  export declare type IIcon = IIconType | ReactElement;
22
22
  export declare type ComponentStyles<StyleSheet, Props = unknown> = Partial<Styles<keyof StyleSheet, Props>>;
23
- export declare type ComponentName = 'AccountInfo' | 'AddButton' | 'Button' | 'CloseButton' | 'Checkbox' | 'CssBaseline' | 'Colors' | 'DateInput' | 'DatePicker' | 'DatePickerHeader' | 'Description' | 'DotsPreloader' | 'SvgPreloader' | 'FiltersPane' | 'FilterInterval' | 'FilterSelect' | 'FilterWithDates' | 'FilterWithPeriod' | 'FilterWrapper' | 'FiltersPaneSearch' | 'Flag' | 'FlexibleTable' | 'Icon' | 'IncrementInput' | 'Input' | 'List' | 'Modal' | 'MoreMenu' | 'MultiSelect' | 'MultiSelectInput' | 'MultiSelectList' | 'Notification' | 'PhoneInput' | 'PhoneInputCountryList' | 'RadioButton' | 'SearchInput' | 'Select' | 'SelectList' | 'ScrollIntoViewIfNeeded' | 'Switch' | 'TextArea' | 'TextWithInfo' | 'TextWithTooltip' | 'ThemedPreloader' | 'Tooltip' | 'Toaster';
23
+ export declare type ComponentName = 'AccountInfo' | 'AddButton' | 'Button' | 'CloseButton' | 'Checkbox' | 'CssBaseline' | 'Colors' | 'DateInput' | 'DatePicker' | 'DatePickerHeader' | 'Description' | 'DotsPreloader' | 'SvgPreloader' | 'FiltersPane' | 'FilterInterval' | 'FilterSelect' | 'FilterWithDates' | 'FilterWithPeriod' | 'FilterWrapper' | 'FilterValueView' | 'FiltersPaneSearch' | 'Flag' | 'FlexibleTable' | 'Icon' | 'IncrementInput' | 'Input' | 'List' | 'Modal' | 'MoreMenu' | 'MultiSelect' | 'MultiSelectInput' | 'MultiSelectList' | 'Notification' | 'PhoneInput' | 'PhoneInputCountryList' | 'RadioButton' | 'SearchInput' | 'Select' | 'SelectList' | 'ScrollIntoViewIfNeeded' | 'Switch' | 'TextArea' | 'TextWithInfo' | 'TextWithTooltip' | 'ThemedPreloader' | 'Tooltip' | 'Toaster';
24
24
  export declare type UiKitAnimations = Record<string, any>;
25
25
  export declare type UiKitHelpers = Record<string, Styles | (() => Styles)>;
26
26
  export interface UiKitTheme {
package/package.json CHANGED
@@ -1,93 +1,93 @@
1
- {
2
- "name": "@true-engineering/true-react-common-ui-kit",
3
- "version": "2.3.2",
4
- "description": "True Engineering React UI Kit with theming support",
5
- "author": "True Engineering (https://trueengineering.ru)",
6
- "keywords": [
7
- "TE",
8
- "True Engineering",
9
- "UI Kit with theming support",
10
- "UI Kit"
11
- ],
12
- "homepage": "",
13
- "license": "Apache-2.0",
14
- "type": "module",
15
- "types": "dist/index.d.ts",
16
- "main": "dist/true-react-common-ui-kit.umd.cjs",
17
- "module": "./dist/true-react-common-ui-kit.js",
18
- "directories": {
19
- "lib": "src"
20
- },
21
- "publishConfig": {
22
- "access": "public"
23
- },
24
- "files": [
25
- "src",
26
- "dist"
27
- ],
28
- "exports": {
29
- ".": {
30
- "require": "./dist/true-react-common-ui-kit.umd.cjs",
31
- "import": "./dist/true-react-common-ui-kit.js"
32
- },
33
- "./dist/style.css": "./dist/style.css",
34
- "./src": "./src/index.ts"
35
- },
36
- "scripts": {
37
- "build": "tsc && vite build",
38
- "lint": "eslint \"**/*.{js,jsx,ts,tsx}\"",
39
- "format": "prettier --write \"**/*.{js,jsx,css,json,ts,tsx}\"",
40
- "format:check": "prettier --check \"**/*.{js,jsx,css,json,ts,tsx}\"",
41
- "full-check": "yarn format:check && yarn lint",
42
- "types-check": "tsc --noEmit"
43
- },
44
- "dependencies": {
45
- "@true-engineering/true-react-platform-helpers": "0.0.5",
46
- "clsx": "1.2.1",
47
- "country-flag-icons": "1.5.5",
48
- "date-fns": "2.29.3",
49
- "hex-to-rgba": "2.0.1",
50
- "jss": "10.9.2",
51
- "lodash-es": "4.17.21",
52
- "react": "18.2.0",
53
- "react-datepicker": "4.25.0",
54
- "react-dom": "18.2.0",
55
- "react-input-mask": "3.0.0-alpha.2",
56
- "react-jss": "10.9.2",
57
- "react-overlays": "5.2.1",
58
- "react-remove-scroll": "2.5.6",
59
- "react-transition-group": "4.4.5",
60
- "scroll-into-view-if-needed": "3.0.6",
61
- "ts-debounce": "4.0.0"
62
- },
63
- "devDependencies": {
64
- "@babel/core": "7.20.12",
65
- "@storybook/addon-actions": "6.5.15",
66
- "@storybook/addon-essentials": "6.5.15",
67
- "@storybook/addon-interactions": "6.5.15",
68
- "@storybook/addon-links": "6.5.15",
69
- "@storybook/builder-vite": "0.3.0",
70
- "@storybook/react": "6.5.15",
71
- "@storybook/testing-library": "0.0.13",
72
- "@swc/core": "^1.3.30",
73
- "@trivago/prettier-plugin-sort-imports": "4.3.0",
74
- "@types/lodash-es": "4.17.11",
75
- "@types/react": "18.0.26",
76
- "@types/react-datepicker": "4.19.4",
77
- "@types/react-dom": "18.0.9",
78
- "@types/react-input-mask": "3.0.2",
79
- "@types/react-transition-group": "4.4.5",
80
- "@typescript-eslint/eslint-plugin": "5.48.2",
81
- "@typescript-eslint/parser": "5.48.2",
82
- "@vitejs/plugin-react": "3.0.0",
83
- "eslint": "8.36.0",
84
- "eslint-config-prettier": "8.7.0",
85
- "eslint-plugin-react": "7.32.2",
86
- "prettier": "2.8.3",
87
- "rollup-plugin-swc3": "0.3.0",
88
- "typescript": "4.9.3",
89
- "unplugin-swc": "1.3.2",
90
- "vite": "4.0.0",
91
- "vite-plugin-dts": "1.7.1"
92
- }
93
- }
1
+ {
2
+ "name": "@true-engineering/true-react-common-ui-kit",
3
+ "version": "2.5.0",
4
+ "description": "True Engineering React UI Kit with theming support",
5
+ "author": "True Engineering (https://trueengineering.ru)",
6
+ "keywords": [
7
+ "TE",
8
+ "True Engineering",
9
+ "UI Kit with theming support",
10
+ "UI Kit"
11
+ ],
12
+ "homepage": "",
13
+ "license": "Apache-2.0",
14
+ "type": "module",
15
+ "types": "dist/index.d.ts",
16
+ "main": "dist/true-react-common-ui-kit.umd.cjs",
17
+ "module": "./dist/true-react-common-ui-kit.js",
18
+ "directories": {
19
+ "lib": "src"
20
+ },
21
+ "publishConfig": {
22
+ "access": "public"
23
+ },
24
+ "files": [
25
+ "src",
26
+ "dist"
27
+ ],
28
+ "exports": {
29
+ ".": {
30
+ "require": "./dist/true-react-common-ui-kit.umd.cjs",
31
+ "import": "./dist/true-react-common-ui-kit.js"
32
+ },
33
+ "./dist/style.css": "./dist/style.css",
34
+ "./src": "./src/index.ts"
35
+ },
36
+ "scripts": {
37
+ "build": "tsc && vite build",
38
+ "lint": "eslint \"**/*.{js,jsx,ts,tsx}\"",
39
+ "format": "prettier --write \"**/*.{js,jsx,css,json,ts,tsx}\"",
40
+ "format:check": "prettier --check \"**/*.{js,jsx,css,json,ts,tsx}\"",
41
+ "full-check": "yarn format:check && yarn lint",
42
+ "types-check": "tsc --noEmit"
43
+ },
44
+ "dependencies": {
45
+ "@true-engineering/true-react-platform-helpers": "0.0.5",
46
+ "clsx": "1.2.1",
47
+ "country-flag-icons": "1.5.5",
48
+ "date-fns": "2.29.3",
49
+ "hex-to-rgba": "2.0.1",
50
+ "jss": "10.9.2",
51
+ "lodash-es": "4.17.21",
52
+ "react": "18.2.0",
53
+ "react-datepicker": "4.25.0",
54
+ "react-dom": "18.2.0",
55
+ "react-input-mask": "3.0.0-alpha.2",
56
+ "react-jss": "10.9.2",
57
+ "react-overlays": "5.2.1",
58
+ "react-remove-scroll": "2.5.6",
59
+ "react-transition-group": "4.4.5",
60
+ "scroll-into-view-if-needed": "3.0.6",
61
+ "ts-debounce": "4.0.0"
62
+ },
63
+ "devDependencies": {
64
+ "@babel/core": "7.20.12",
65
+ "@storybook/addon-actions": "6.5.15",
66
+ "@storybook/addon-essentials": "6.5.15",
67
+ "@storybook/addon-interactions": "6.5.15",
68
+ "@storybook/addon-links": "6.5.15",
69
+ "@storybook/builder-vite": "0.3.0",
70
+ "@storybook/react": "6.5.15",
71
+ "@storybook/testing-library": "0.0.13",
72
+ "@swc/core": "^1.3.30",
73
+ "@trivago/prettier-plugin-sort-imports": "4.3.0",
74
+ "@types/lodash-es": "4.17.11",
75
+ "@types/react": "18.0.26",
76
+ "@types/react-datepicker": "4.19.4",
77
+ "@types/react-dom": "18.0.9",
78
+ "@types/react-input-mask": "3.0.2",
79
+ "@types/react-transition-group": "4.4.5",
80
+ "@typescript-eslint/eslint-plugin": "5.48.2",
81
+ "@typescript-eslint/parser": "5.48.2",
82
+ "@vitejs/plugin-react": "3.0.0",
83
+ "eslint": "8.36.0",
84
+ "eslint-config-prettier": "8.7.0",
85
+ "eslint-plugin-react": "7.32.2",
86
+ "prettier": "2.8.3",
87
+ "rollup-plugin-swc3": "0.3.0",
88
+ "typescript": "4.9.3",
89
+ "unplugin-swc": "1.3.2",
90
+ "vite": "4.0.0",
91
+ "vite-plugin-dts": "1.7.1"
92
+ }
93
+ }
@@ -1,32 +1,32 @@
1
- import { ComponentStory } from '@storybook/react';
2
- import { AccountInfo } from './AccountInfo';
3
-
4
- export default {
5
- title: 'AccountInfo',
6
- component: AccountInfo,
7
- };
8
-
9
- const Template: ComponentStory<typeof AccountInfo> = (args) => (
10
- <div
11
- style={{
12
- display: 'flex',
13
- alignItems: 'center',
14
- justifyContent: 'center',
15
- width: 400,
16
- height: 200,
17
- border: '1px dotted rgba(0, 0, 0, 0.2)',
18
- }}
19
- >
20
- <AccountInfo {...args} options={[{ item: 'Logout', onClick: () => console.log('logout') }]} />
21
- </div>
22
- );
23
-
24
- export const Default = Template.bind({});
25
- Default.args = {
26
- accountName: 'Ivan Ivanov',
27
- };
28
- Default.parameters = {
29
- controls: {
30
- exclude: ['data', 'options', 'avatar'],
31
- },
32
- };
1
+ import { ComponentStory } from '@storybook/react';
2
+ import { AccountInfo } from './AccountInfo';
3
+
4
+ export default {
5
+ title: 'AccountInfo',
6
+ component: AccountInfo,
7
+ };
8
+
9
+ const Template: ComponentStory<typeof AccountInfo> = (args) => (
10
+ <div
11
+ style={{
12
+ display: 'flex',
13
+ alignItems: 'center',
14
+ justifyContent: 'center',
15
+ width: 400,
16
+ height: 200,
17
+ border: '1px dotted rgba(0, 0, 0, 0.2)',
18
+ }}
19
+ >
20
+ <AccountInfo {...args} options={[{ item: 'Logout', onClick: () => console.log('logout') }]} />
21
+ </div>
22
+ );
23
+
24
+ export const Default = Template.bind({});
25
+ Default.args = {
26
+ accountName: 'Ivan Ivanov',
27
+ };
28
+ Default.parameters = {
29
+ controls: {
30
+ exclude: ['data', 'options', 'avatar'],
31
+ },
32
+ };
@@ -1,77 +1,76 @@
1
- import React, { FC, ReactNode, useRef, useState } from 'react';
2
- import { CSSTransition } from 'react-transition-group';
3
- import clsx from 'clsx';
4
- import { addDataAttributes } from '../../helpers';
5
- import { useOnClickOutsideWithRef, useTheme, useTweakStyles } from '../../hooks';
6
- import { ICommonProps } from '../../types';
7
- import { Icon } from '../Icon';
8
- import { IListProps, List } from '../List';
9
- import { AccountInfoStyles, styles } from './AccountInfo.styles';
10
-
11
- export interface IAccountInfoProps extends ICommonProps {
12
- tweakStyles?: AccountInfoStyles;
13
- avatar?: ReactNode;
14
- accountName: ReactNode;
15
- options: IListProps['items'];
16
- }
17
-
18
- const ANIMATION_TIMEOUT = 150;
19
-
20
- export const AccountInfo: FC<IAccountInfoProps> = ({
21
- data,
22
- avatar,
23
- tweakStyles,
24
- accountName,
25
- options,
26
- }) => {
27
- // TODO: потестить
28
- const { classes, componentStyles } = useTheme('AccountInfo', styles, tweakStyles, {
29
- timeout: ANIMATION_TIMEOUT,
30
- });
31
- const nameRef = useRef<HTMLDivElement>(null);
32
- const dropdownRef = useRef<HTMLDivElement>(null);
33
-
34
- const [isMenuOpen, setIsMenuOpen] = useState(false);
35
-
36
- const toggleMenu = (event: React.MouseEvent<HTMLDivElement>) => {
37
- event.stopPropagation();
38
- setIsMenuOpen((v) => !v);
39
- };
40
-
41
- useOnClickOutsideWithRef(dropdownRef, () => setIsMenuOpen(false), nameRef);
42
-
43
- const tweakListStyles = useTweakStyles(componentStyles, tweakStyles, 'tweakList');
44
-
45
- return (
46
- <div className={classes.root} {...addDataAttributes(data)} tabIndex={0}>
47
- {avatar ?? (
48
- <div className={classes.avatarIcon}>
49
- <Icon type="avatar" />
50
- </div>
51
- )}
52
- <div ref={nameRef} className={classes.account} onClick={toggleMenu}>
53
- <div className={clsx(classes.accountName, isMenuOpen && classes.accountNameOpened)}>
54
- {accountName}
55
- </div>
56
- <div className={clsx(classes.accountChevron, isMenuOpen && classes.accountChevronOpened)}>
57
- <Icon type="chevron-down-small" />
58
- </div>
59
- <CSSTransition
60
- in={isMenuOpen}
61
- timeout={ANIMATION_TIMEOUT}
62
- unmountOnExit
63
- classNames={{
64
- enter: classes['slide-up-enter'],
65
- enterActive: classes['slide-up-enter-active'],
66
- exit: classes['slide-up-exit'],
67
- exitActive: classes['slide-up-exit-active'],
68
- }}
69
- >
70
- <div ref={dropdownRef} className={classes.accountMenu} onClick={toggleMenu}>
71
- <List items={options} tweakStyles={tweakListStyles} />
72
- </div>
73
- </CSSTransition>
74
- </div>
75
- </div>
76
- );
77
- };
1
+ import { FC, ReactNode, useRef, useState, MouseEvent } from 'react';
2
+ import { CSSTransition } from 'react-transition-group';
3
+ import clsx from 'clsx';
4
+ import { addDataAttributes } from '../../helpers';
5
+ import { useOnClickOutsideWithRef, useTheme, useTweakStyles } from '../../hooks';
6
+ import { ICommonProps } from '../../types';
7
+ import { Icon } from '../Icon';
8
+ import { IListProps, List } from '../List';
9
+ import { ANIMATION_TIMEOUT } from './constants';
10
+ import { AccountInfoStyles, styles } from './AccountInfo.styles';
11
+
12
+ export interface IAccountInfoProps extends ICommonProps {
13
+ tweakStyles?: AccountInfoStyles;
14
+ avatar?: ReactNode;
15
+ accountName: ReactNode;
16
+ options: IListProps['items'];
17
+ }
18
+
19
+ export const AccountInfo: FC<IAccountInfoProps> = ({
20
+ data,
21
+ avatar,
22
+ tweakStyles,
23
+ accountName,
24
+ options,
25
+ }) => {
26
+ // TODO: потестить
27
+ const { classes, componentStyles } = useTheme('AccountInfo', styles, tweakStyles, {
28
+ timeout: ANIMATION_TIMEOUT,
29
+ });
30
+ const nameRef = useRef<HTMLDivElement>(null);
31
+ const dropdownRef = useRef<HTMLDivElement>(null);
32
+
33
+ const [isMenuOpen, setIsMenuOpen] = useState(false);
34
+
35
+ const toggleMenu = (event: MouseEvent<HTMLDivElement>) => {
36
+ event.stopPropagation();
37
+ setIsMenuOpen((v) => !v);
38
+ };
39
+
40
+ useOnClickOutsideWithRef(dropdownRef, () => setIsMenuOpen(false), nameRef);
41
+
42
+ const tweakListStyles = useTweakStyles(componentStyles, tweakStyles, 'tweakList');
43
+
44
+ return (
45
+ <div className={classes.root} {...addDataAttributes(data)} tabIndex={0}>
46
+ {avatar ?? (
47
+ <div className={classes.avatarIcon}>
48
+ <Icon type="avatar" />
49
+ </div>
50
+ )}
51
+ <div ref={nameRef} className={classes.account} onClick={toggleMenu}>
52
+ <div className={clsx(classes.accountName, isMenuOpen && classes.accountNameOpened)}>
53
+ {accountName}
54
+ </div>
55
+ <div className={clsx(classes.accountChevron, isMenuOpen && classes.accountChevronOpened)}>
56
+ <Icon type="chevron-down-small" />
57
+ </div>
58
+ <CSSTransition
59
+ in={isMenuOpen}
60
+ timeout={ANIMATION_TIMEOUT}
61
+ unmountOnExit
62
+ classNames={{
63
+ enter: classes['slide-up-enter'],
64
+ enterActive: classes['slide-up-enter-active'],
65
+ exit: classes['slide-up-exit'],
66
+ exitActive: classes['slide-up-exit-active'],
67
+ }}
68
+ >
69
+ <div ref={dropdownRef} className={classes.accountMenu} onClick={toggleMenu}>
70
+ <List items={options} tweakStyles={tweakListStyles} />
71
+ </div>
72
+ </CSSTransition>
73
+ </div>
74
+ </div>
75
+ );
76
+ };
@@ -0,0 +1 @@
1
+ export const ANIMATION_TIMEOUT = 150;
@@ -1,48 +1,48 @@
1
- import { FC } from 'react';
2
- import clsx from 'clsx';
3
- import { addDataAttributes } from '../../helpers';
4
- import { useTheme } from '../../hooks';
5
- import { ICommonProps } from '../../types';
6
- import { Icon } from '../Icon';
7
- import { AddButtonStyles, styles } from './AddButton.styles';
8
-
9
- export interface IAddButtonProps extends ICommonProps {
10
- tweakStyles?: AddButtonStyles;
11
- text: string;
12
- type?: 'submit' | 'button';
13
- isDisabled?: boolean;
14
- isFullWidth?: boolean;
15
- onClick?(): void | Promise<void>;
16
- }
17
-
18
- // TODO: Весьма сомнительный компонент
19
- export const AddButton: FC<IAddButtonProps> = ({
20
- text,
21
- type = 'button',
22
- isDisabled,
23
- onClick,
24
- isFullWidth,
25
- data,
26
- tweakStyles,
27
- }) => {
28
- const { classes } = useTheme('AddButton', styles, tweakStyles);
29
-
30
- return (
31
- <button
32
- type={type}
33
- className={clsx(
34
- classes.root,
35
- isDisabled && classes.disabled,
36
- isFullWidth && classes.fullWidth,
37
- )}
38
- onClick={!isDisabled ? onClick : undefined}
39
- disabled={isDisabled}
40
- {...addDataAttributes(data)}
41
- >
42
- <div className={classes.icon}>
43
- <Icon type={'plus'} />
44
- </div>
45
- <div>{text}</div>
46
- </button>
47
- );
48
- };
1
+ import { FC } from 'react';
2
+ import clsx from 'clsx';
3
+ import { addDataAttributes } from '../../helpers';
4
+ import { useTheme } from '../../hooks';
5
+ import { ICommonProps } from '../../types';
6
+ import { Icon } from '../Icon';
7
+ import { AddButtonStyles, styles } from './AddButton.styles';
8
+
9
+ export interface IAddButtonProps extends ICommonProps {
10
+ tweakStyles?: AddButtonStyles;
11
+ text: string;
12
+ type?: 'submit' | 'button';
13
+ isDisabled?: boolean;
14
+ isFullWidth?: boolean;
15
+ onClick?(): void | Promise<void>;
16
+ }
17
+
18
+ // TODO: Весьма сомнительный компонент
19
+ export const AddButton: FC<IAddButtonProps> = ({
20
+ text,
21
+ type = 'button',
22
+ isDisabled,
23
+ onClick,
24
+ isFullWidth,
25
+ data,
26
+ tweakStyles,
27
+ }) => {
28
+ const { classes } = useTheme('AddButton', styles, tweakStyles);
29
+
30
+ return (
31
+ <button
32
+ type={type}
33
+ className={clsx(
34
+ classes.root,
35
+ isDisabled && classes.disabled,
36
+ isFullWidth && classes.fullWidth,
37
+ )}
38
+ onClick={!isDisabled ? onClick : undefined}
39
+ disabled={isDisabled}
40
+ {...addDataAttributes(data)}
41
+ >
42
+ <div className={classes.icon}>
43
+ <Icon type={'plus'} />
44
+ </div>
45
+ <div>{text}</div>
46
+ </button>
47
+ );
48
+ };
@@ -1,52 +1,56 @@
1
- import { ComponentStory, ComponentMeta } from '@storybook/react';
2
- import { IIconType } from '../Icon';
3
- import { complexIcons } from '../Icon/complexIcons';
4
- import { icons } from '../Icon/icons';
5
- import { Button, BUTTON_VIEWS, IButtonProps } from './Button';
6
-
7
- const sizeTypes: Array<IButtonProps['size']> = ['s', 'm', 'l', 'xl'];
8
-
9
- const iconTypes = [undefined, ...Object.keys(icons), ...Object.keys(complexIcons)] as IIconType[];
10
-
11
- const preloaderTypes: Array<IButtonProps['preloaderType']> = ['dots', 'default', 'logo'];
12
-
13
- export default {
14
- title: 'Button',
15
- component: Button,
16
- args: {
17
- size: 'l',
18
- view: 'primary',
19
- icon: undefined,
20
- iconPosition: 'left',
21
- preloaderType: 'dots',
22
- children: 'Button',
23
- isActive: false,
24
- isInline: false,
25
- isLoading: false,
26
- isDisabled: false,
27
- isFullWidth: false,
28
- },
29
- argTypes: {
30
- view: { options: BUTTON_VIEWS, control: 'inline-radio' },
31
- icon: { options: iconTypes, control: 'select' },
32
- size: { options: sizeTypes, control: 'inline-radio' },
33
- iconPosition: { options: ['left', 'right'], control: 'inline-radio' },
34
- preloaderType: { options: preloaderTypes, control: 'inline-radio' },
35
- },
36
- parameters: {
37
- controls: {
38
- exclude: [
39
- 'data',
40
- 'testId',
41
- 'onClick',
42
- 'onMouseDown',
43
- 'tweakStyles',
44
- 'shouldSkipTabNavigation',
45
- ],
46
- },
47
- },
48
- } as ComponentMeta<typeof Button>;
49
-
50
- export const Default: ComponentStory<typeof Button> = (args) => (
51
- <Button {...args} key={args.size} />
52
- );
1
+ import { ComponentStory, ComponentMeta } from '@storybook/react';
2
+ import { IIconType, iconsList } from '../Icon';
3
+ import { complexIcons } from '../Icon/complexIcons';
4
+ import { Button, IButtonProps } from './Button';
5
+ import { BUTTON_VIEWS } from './constants';
6
+
7
+ const sizeTypes: Array<IButtonProps['size']> = ['s', 'm', 'l', 'xl'];
8
+
9
+ const iconTypes = [
10
+ undefined,
11
+ ...Object.keys(iconsList),
12
+ ...Object.keys(complexIcons),
13
+ ] as IIconType[];
14
+
15
+ const preloaderTypes: Array<IButtonProps['preloaderType']> = ['dots', 'default', 'logo'];
16
+
17
+ export default {
18
+ title: 'Button',
19
+ component: Button,
20
+ args: {
21
+ size: 'l',
22
+ view: 'primary',
23
+ icon: undefined,
24
+ iconPosition: 'left',
25
+ preloaderType: 'dots',
26
+ children: 'Button',
27
+ isActive: false,
28
+ isInline: false,
29
+ isLoading: false,
30
+ isDisabled: false,
31
+ isFullWidth: false,
32
+ },
33
+ argTypes: {
34
+ view: { options: BUTTON_VIEWS, control: 'inline-radio' },
35
+ icon: { options: iconTypes, control: 'select' },
36
+ size: { options: sizeTypes, control: 'inline-radio' },
37
+ iconPosition: { options: ['left', 'right'], control: 'inline-radio' },
38
+ preloaderType: { options: preloaderTypes, control: 'inline-radio' },
39
+ },
40
+ parameters: {
41
+ controls: {
42
+ exclude: [
43
+ 'data',
44
+ 'testId',
45
+ 'onClick',
46
+ 'onMouseDown',
47
+ 'tweakStyles',
48
+ 'shouldSkipTabNavigation',
49
+ ],
50
+ },
51
+ },
52
+ } as ComponentMeta<typeof Button>;
53
+
54
+ export const Default: ComponentStory<typeof Button> = (args) => (
55
+ <Button {...args} key={args.size} />
56
+ );