@true-engineering/true-react-common-ui-kit 2.5.0 → 3.0.0-alpha.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 (387) hide show
  1. package/LICENSE +201 -201
  2. package/dist/components/AccountInfo/AccountInfo.d.ts +2 -3
  3. package/dist/components/AccountInfo/AccountInfo.styles.d.ts +6 -64
  4. package/dist/components/AccountInfo/index.d.ts +1 -1
  5. package/dist/components/AddButton/AddButton.d.ts +2 -3
  6. package/dist/components/AddButton/AddButton.styles.d.ts +3 -28
  7. package/dist/components/AddButton/index.d.ts +1 -1
  8. package/dist/components/Button/Button.d.ts +2 -4
  9. package/dist/components/Button/Button.styles.d.ts +8 -150
  10. package/dist/components/Button/index.d.ts +1 -1
  11. package/dist/components/Checkbox/Checkbox.d.ts +3 -17
  12. package/dist/components/Checkbox/Checkbox.styles.d.ts +3 -50
  13. package/dist/components/Checkbox/index.d.ts +1 -1
  14. package/dist/components/CloseButton/CloseButton.d.ts +3 -5
  15. package/dist/components/CloseButton/CloseButton.styles.d.ts +3 -27
  16. package/dist/components/CloseButton/index.d.ts +1 -1
  17. package/dist/components/Colors/Colors.styles.d.ts +1 -32
  18. package/dist/components/Colors/index.d.ts +0 -1
  19. package/dist/components/CssBaseline/CssBaseline.d.ts +2 -4
  20. package/dist/components/CssBaseline/CssBaseline.styles.d.ts +3 -11
  21. package/dist/components/CssBaseline/index.d.ts +1 -1
  22. package/dist/components/DateInput/DateInput.d.ts +3 -3
  23. package/dist/components/DateInput/DateInput.styles.d.ts +6 -11
  24. package/dist/components/DateInput/index.d.ts +1 -1
  25. package/dist/components/DatePicker/DatePicker.d.ts +5 -7
  26. package/dist/components/DatePicker/DatePicker.styles.d.ts +6 -33
  27. package/dist/components/DatePicker/components/DatePickerHeader/DatePickerHeader.d.ts +3 -3
  28. package/dist/components/DatePicker/components/DatePickerHeader/DatePickerHeader.styles.d.ts +7 -69
  29. package/dist/components/DatePicker/components/DatePickerHeader/index.d.ts +1 -1
  30. package/dist/components/DatePicker/index.d.ts +2 -2
  31. package/dist/components/Description/Description.d.ts +2 -3
  32. package/dist/components/Description/Description.styles.d.ts +3 -24
  33. package/dist/components/Description/index.d.ts +1 -1
  34. package/dist/components/FiltersPane/FiltersPane.d.ts +6 -8
  35. package/dist/components/FiltersPane/FiltersPane.styles.d.ts +8 -56
  36. package/dist/components/FiltersPane/components/FilterInterval/FilterInterval.d.ts +2 -4
  37. package/dist/components/FiltersPane/components/FilterInterval/FilterInterval.styles.d.ts +15 -52
  38. package/dist/components/FiltersPane/components/FilterInterval/index.d.ts +1 -1
  39. package/dist/components/FiltersPane/components/FilterSelect/FilterSelect.d.ts +2 -4
  40. package/dist/components/FiltersPane/components/FilterSelect/FilterSelect.styles.d.ts +15 -124
  41. package/dist/components/FiltersPane/components/FilterSelect/index.d.ts +1 -1
  42. package/dist/components/FiltersPane/components/FilterValueView/FilterValueView.d.ts +3 -1
  43. package/dist/components/FiltersPane/components/FilterValueView/FilterValueView.styles.d.ts +3 -12
  44. package/dist/components/FiltersPane/components/FilterValueView/index.d.ts +1 -1
  45. package/dist/components/FiltersPane/components/FilterWithDates/FilterWithDates.d.ts +5 -7
  46. package/dist/components/FiltersPane/components/FilterWithDates/FilterWithDates.styles.d.ts +26 -47
  47. package/dist/components/FiltersPane/components/FilterWithDates/index.d.ts +1 -1
  48. package/dist/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.d.ts +4 -6
  49. package/dist/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.styles.d.ts +7 -12
  50. package/dist/components/FiltersPane/components/FilterWithPeriod/index.d.ts +1 -1
  51. package/dist/components/FiltersPane/components/FilterWrapper/FilterWrapper.d.ts +5 -6
  52. package/dist/components/FiltersPane/components/FilterWrapper/FilterWrapper.styles.d.ts +6 -96
  53. package/dist/components/FiltersPane/components/FilterWrapper/index.d.ts +1 -1
  54. package/dist/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.d.ts +2 -4
  55. package/dist/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.styles.d.ts +10 -91
  56. package/dist/components/FiltersPane/components/FiltersPaneSearch/index.d.ts +1 -1
  57. package/dist/components/FiltersPane/helpers.d.ts +1 -1
  58. package/dist/components/FiltersPane/index.d.ts +1 -1
  59. package/dist/components/FiltersPane/types.d.ts +1 -1
  60. package/dist/components/Flag/Flag.d.ts +2 -3
  61. package/dist/components/Flag/Flag.styles.d.ts +3 -12
  62. package/dist/components/Flag/augment.d.ts +1 -1
  63. package/dist/components/Flag/index.d.ts +1 -1
  64. package/dist/components/FlexibleTable/FlexibleTable.d.ts +2 -4
  65. package/dist/components/FlexibleTable/FlexibleTable.styles.d.ts +7 -101
  66. package/dist/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.d.ts +17 -0
  67. package/dist/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.styles.d.ts +3 -0
  68. package/dist/components/FlexibleTable/components/FlexibleTableCell/index.d.ts +2 -0
  69. package/dist/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.d.ts +19 -0
  70. package/dist/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.styles.d.ts +6 -0
  71. package/dist/components/FlexibleTable/components/FlexibleTableRow/index.d.ts +2 -0
  72. package/dist/components/FlexibleTable/components/index.d.ts +2 -2
  73. package/dist/components/FlexibleTable/index.d.ts +2 -1
  74. package/dist/components/Icon/Icon.d.ts +2 -3
  75. package/dist/components/Icon/Icon.styles.d.ts +3 -8
  76. package/dist/components/Icon/complexIcons/augment.d.ts +1 -1
  77. package/dist/components/Icon/icons-list.d.ts +1 -1
  78. package/dist/components/Icon/index.d.ts +1 -1
  79. package/dist/components/IncrementInput/IncrementInput.d.ts +3 -3
  80. package/dist/components/IncrementInput/IncrementInput.styles.d.ts +7 -61
  81. package/dist/components/IncrementInput/index.d.ts +1 -1
  82. package/dist/components/Input/Input.d.ts +4 -6
  83. package/dist/components/Input/Input.styles.d.ts +6 -247
  84. package/dist/components/Input/index.d.ts +1 -1
  85. package/dist/components/List/List.d.ts +2 -4
  86. package/dist/components/List/List.styles.d.ts +3 -39
  87. package/dist/components/List/index.d.ts +1 -1
  88. package/dist/components/Modal/Modal.d.ts +2 -4
  89. package/dist/components/Modal/Modal.styles.d.ts +6 -239
  90. package/dist/components/Modal/index.d.ts +1 -1
  91. package/dist/components/MoreMenu/MoreMenu.d.ts +2 -4
  92. package/dist/components/MoreMenu/MoreMenu.styles.d.ts +6 -54
  93. package/dist/components/MoreMenu/index.d.ts +1 -1
  94. package/dist/components/MultiSelect/MultiSelect.d.ts +8 -8
  95. package/dist/components/MultiSelect/MultiSelect.styles.d.ts +7 -44
  96. package/dist/components/MultiSelect/components/MultiSelectInput/MultiSelectInput.d.ts +4 -4
  97. package/dist/components/MultiSelect/components/MultiSelectInput/MultiSelectInput.styles.d.ts +3 -62
  98. package/dist/components/MultiSelect/components/MultiSelectInput/index.d.ts +1 -1
  99. package/dist/components/MultiSelect/index.d.ts +2 -2
  100. package/dist/components/MultiSelect/types.d.ts +1 -1
  101. package/dist/components/MultiSelectList/MultiSelectList.d.ts +2 -4
  102. package/dist/components/MultiSelectList/MultiSelectList.styles.d.ts +13 -105
  103. package/dist/components/MultiSelectList/index.d.ts +1 -1
  104. package/dist/components/Notification/Notification.d.ts +4 -6
  105. package/dist/components/Notification/Notification.styles.d.ts +3 -37
  106. package/dist/components/Notification/index.d.ts +1 -1
  107. package/dist/components/Notification/types.d.ts +1 -1
  108. package/dist/components/PhoneInput/PhoneInput.d.ts +3 -3
  109. package/dist/components/PhoneInput/PhoneInput.styles.d.ts +9 -66
  110. package/dist/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.d.ts +2 -3
  111. package/dist/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.styles.d.ts +7 -83
  112. package/dist/components/PhoneInput/components/PhoneInputCountryList/index.d.ts +1 -1
  113. package/dist/components/PhoneInput/index.d.ts +2 -2
  114. package/dist/components/RadioButton/RadioButton.d.ts +3 -4
  115. package/dist/components/RadioButton/RadioButton.styles.d.ts +3 -30
  116. package/dist/components/RadioButton/index.d.ts +1 -1
  117. package/dist/components/ScrollIntoViewIfNeeded/ScrollIntoViewIfNeeded.d.ts +4 -4
  118. package/dist/components/SearchInput/SearchInput.d.ts +3 -4
  119. package/dist/components/SearchInput/SearchInput.styles.d.ts +7 -39
  120. package/dist/components/SearchInput/index.d.ts +1 -1
  121. package/dist/components/Select/Select.d.ts +3 -4
  122. package/dist/components/Select/Select.styles.d.ts +33 -80
  123. package/dist/components/Select/components/SelectList/SelectList.d.ts +2 -4
  124. package/dist/components/Select/components/SelectList/SelectList.styles.d.ts +3 -57
  125. package/dist/components/Select/components/SelectList/index.d.ts +1 -1
  126. package/dist/components/Select/components/SelectListItem/SelectListItem.styles.d.ts +2 -2
  127. package/dist/components/Select/index.d.ts +2 -2
  128. package/dist/components/SmartInput/SmartInput.d.ts +2 -2
  129. package/dist/components/SmartInput/helpers.d.ts +2 -2
  130. package/dist/components/SmartInput/types.d.ts +1 -1
  131. package/dist/components/Switch/Switch.d.ts +2 -4
  132. package/dist/components/Switch/Switch.styles.d.ts +3 -62
  133. package/dist/components/Switch/index.d.ts +1 -1
  134. package/dist/components/TextArea/TextArea.d.ts +2 -4
  135. package/dist/components/TextArea/TextArea.styles.d.ts +3 -128
  136. package/dist/components/TextArea/index.d.ts +1 -1
  137. package/dist/components/TextWithInfo/TextWithInfo.d.ts +2 -3
  138. package/dist/components/TextWithInfo/TextWithInfo.styles.d.ts +3 -48
  139. package/dist/components/TextWithInfo/index.d.ts +1 -1
  140. package/dist/components/TextWithTooltip/TextWithTooltip.d.ts +2 -3
  141. package/dist/components/TextWithTooltip/TextWithTooltip.styles.d.ts +6 -14
  142. package/dist/components/TextWithTooltip/index.d.ts +1 -1
  143. package/dist/components/ThemedPreloader/ThemedPreloader.d.ts +2 -3
  144. package/dist/components/ThemedPreloader/ThemedPreloader.styles.d.ts +7 -14
  145. package/dist/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.d.ts +2 -4
  146. package/dist/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.styles.d.ts +3 -43
  147. package/dist/components/ThemedPreloader/components/DotsPreloader/index.d.ts +1 -1
  148. package/dist/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.d.ts +2 -3
  149. package/dist/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.styles.d.ts +3 -9
  150. package/dist/components/ThemedPreloader/components/SvgPreloader/index.d.ts +1 -1
  151. package/dist/components/ThemedPreloader/index.d.ts +2 -2
  152. package/dist/components/Toaster/Toaster.d.ts +4 -5
  153. package/dist/components/Toaster/Toaster.styles.d.ts +6 -45
  154. package/dist/components/Toaster/index.d.ts +1 -1
  155. package/dist/components/Toaster/types.d.ts +1 -1
  156. package/dist/components/Tooltip/Tooltip.d.ts +2 -3
  157. package/dist/components/Tooltip/Tooltip.styles.d.ts +3 -35
  158. package/dist/components/Tooltip/index.d.ts +1 -1
  159. package/dist/helpers/index.d.ts +0 -1
  160. package/dist/helpers/phone.d.ts +3 -0
  161. package/dist/hooks/index.d.ts +0 -1
  162. package/dist/hooks/use-tweak-styles.d.ts +21 -2
  163. package/dist/index.d.ts +1 -1
  164. package/dist/theme/Provider.d.ts +11 -0
  165. package/dist/{theme.d.ts → theme/common.d.ts} +6 -10
  166. package/dist/theme/helpers.d.ts +10 -0
  167. package/dist/theme/index.d.ts +4 -0
  168. package/dist/theme/types.d.ts +72 -0
  169. package/dist/true-react-common-ui-kit.js +3038 -2529
  170. package/dist/true-react-common-ui-kit.js.map +1 -1
  171. package/dist/true-react-common-ui-kit.umd.cjs +2970 -2461
  172. package/dist/true-react-common-ui-kit.umd.cjs.map +1 -1
  173. package/dist/types.d.ts +4 -22
  174. package/dist/vite-env.d.ts +1 -1
  175. package/package.json +2 -2
  176. package/src/components/AccountInfo/AccountInfo.styles.ts +51 -55
  177. package/src/components/AccountInfo/AccountInfo.tsx +13 -10
  178. package/src/components/AccountInfo/constants.ts +1 -1
  179. package/src/components/AccountInfo/index.ts +2 -2
  180. package/src/components/AddButton/AddButton.stories.tsx +21 -21
  181. package/src/components/AddButton/AddButton.styles.ts +34 -34
  182. package/src/components/AddButton/AddButton.tsx +7 -6
  183. package/src/components/AddButton/index.ts +2 -2
  184. package/src/components/Button/Button.styles.ts +201 -196
  185. package/src/components/Button/Button.tsx +12 -19
  186. package/src/components/Button/index.ts +1 -1
  187. package/src/components/Checkbox/Checkbox.stories.tsx +5 -9
  188. package/src/components/Checkbox/Checkbox.styles.ts +46 -62
  189. package/src/components/Checkbox/Checkbox.tsx +3 -25
  190. package/src/components/Checkbox/index.ts +2 -2
  191. package/src/components/CloseButton/CloseButton.styles.ts +4 -5
  192. package/src/components/CloseButton/CloseButton.tsx +6 -8
  193. package/src/components/CloseButton/index.ts +2 -2
  194. package/src/components/Colors/Colors.stories.tsx +7 -7
  195. package/src/components/Colors/Colors.styles.ts +36 -38
  196. package/src/components/Colors/Colors.tsx +3 -3
  197. package/src/components/Colors/index.ts +1 -2
  198. package/src/components/CssBaseline/CssBaseline.styles.ts +14 -15
  199. package/src/components/CssBaseline/CssBaseline.tsx +6 -8
  200. package/src/components/CssBaseline/index.ts +2 -2
  201. package/src/components/DateInput/DateInput.styles.ts +18 -14
  202. package/src/components/DateInput/DateInput.tsx +20 -7
  203. package/src/components/DateInput/constants.ts +2 -2
  204. package/src/components/DateInput/index.ts +3 -3
  205. package/src/components/DatePicker/DatePicker.styles.ts +8 -14
  206. package/src/components/DatePicker/DatePicker.tsx +15 -16
  207. package/src/components/DatePicker/components/DatePickerHeader/DatePickerHeader.styles.ts +30 -26
  208. package/src/components/DatePicker/components/DatePickerHeader/DatePickerHeader.tsx +17 -7
  209. package/src/components/DatePicker/components/DatePickerHeader/index.ts +1 -1
  210. package/src/components/DatePicker/index.ts +2 -2
  211. package/src/components/Description/Description.styles.ts +30 -31
  212. package/src/components/Description/Description.tsx +6 -6
  213. package/src/components/Description/index.ts +2 -2
  214. package/src/components/FiltersPane/FiltersPane.styles.ts +87 -71
  215. package/src/components/FiltersPane/FiltersPane.tsx +23 -18
  216. package/src/components/FiltersPane/components/FilterInterval/FilterInterval.styles.ts +23 -27
  217. package/src/components/FiltersPane/components/FilterInterval/FilterInterval.tsx +25 -12
  218. package/src/components/FiltersPane/components/FilterInterval/index.ts +1 -1
  219. package/src/components/FiltersPane/components/FilterSelect/FilterSelect.styles.ts +21 -26
  220. package/src/components/FiltersPane/components/FilterSelect/FilterSelect.tsx +27 -14
  221. package/src/components/FiltersPane/components/FilterSelect/index.ts +1 -1
  222. package/src/components/FiltersPane/components/FilterValueView/FilterValueView.styles.tsx +4 -4
  223. package/src/components/FiltersPane/components/FilterValueView/FilterValueView.tsx +6 -4
  224. package/src/components/FiltersPane/components/FilterValueView/index.tsx +1 -1
  225. package/src/components/FiltersPane/components/FilterWithDates/FilterWithDates.styles.ts +33 -26
  226. package/src/components/FiltersPane/components/FilterWithDates/FilterWithDates.tsx +54 -25
  227. package/src/components/FiltersPane/components/FilterWithDates/index.ts +1 -1
  228. package/src/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.styles.ts +11 -7
  229. package/src/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.tsx +12 -9
  230. package/src/components/FiltersPane/components/FilterWithPeriod/index.ts +1 -1
  231. package/src/components/FiltersPane/components/FilterWrapper/FilterWrapper.styles.ts +11 -6
  232. package/src/components/FiltersPane/components/FilterWrapper/FilterWrapper.tsx +28 -10
  233. package/src/components/FiltersPane/components/FilterWrapper/index.ts +1 -1
  234. package/src/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.styles.ts +31 -24
  235. package/src/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.tsx +23 -10
  236. package/src/components/FiltersPane/components/FiltersPaneSearch/index.ts +1 -1
  237. package/src/components/FiltersPane/helpers.ts +1 -1
  238. package/src/components/FiltersPane/index.ts +1 -1
  239. package/src/components/FiltersPane/types.ts +1 -1
  240. package/src/components/Flag/Flag.styles.ts +17 -18
  241. package/src/components/Flag/Flag.tsx +3 -5
  242. package/src/components/Flag/augment.d.ts +1 -1
  243. package/src/components/Flag/index.ts +2 -2
  244. package/src/components/FlexibleTable/FlexibleTable.stories.tsx +12 -0
  245. package/src/components/FlexibleTable/FlexibleTable.styles.ts +10 -37
  246. package/src/components/FlexibleTable/FlexibleTable.tsx +19 -28
  247. package/src/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.styles.ts +28 -0
  248. package/src/components/FlexibleTable/components/{TableValue/TableValue.tsx → FlexibleTableCell/FlexibleTableCell.tsx} +11 -12
  249. package/src/components/FlexibleTable/components/FlexibleTableCell/index.ts +2 -0
  250. package/src/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.styles.ts +19 -0
  251. package/src/components/FlexibleTable/components/{TableRow/TableRow.tsx → FlexibleTableRow/FlexibleTableRow.tsx} +24 -25
  252. package/src/components/FlexibleTable/components/FlexibleTableRow/index.ts +2 -0
  253. package/src/components/FlexibleTable/components/index.ts +2 -2
  254. package/src/components/FlexibleTable/index.ts +4 -3
  255. package/src/components/Icon/Icon.styles.ts +10 -10
  256. package/src/components/Icon/Icon.tsx +6 -7
  257. package/src/components/Icon/complexIcons/augment.d.ts +1 -1
  258. package/src/components/Icon/complexIcons/avatarGreen.svg +57 -57
  259. package/src/components/Icon/complexIcons/index.ts +1 -1
  260. package/src/components/Icon/components/ComplexIconBoilerplate/ComplexIconBoilerplate.tsx +1 -1
  261. package/src/components/Icon/components/IconBolerplate/IconBoilerplate.tsx +1 -1
  262. package/src/components/Icon/helpers.ts +1 -1
  263. package/src/components/Icon/index.ts +1 -1
  264. package/src/components/IncrementInput/IncrementInput.styles.ts +77 -77
  265. package/src/components/IncrementInput/IncrementInput.tsx +59 -35
  266. package/src/components/IncrementInput/index.ts +2 -2
  267. package/src/components/Input/Input.styles.ts +307 -307
  268. package/src/components/Input/Input.tsx +13 -10
  269. package/src/components/Input/index.ts +1 -1
  270. package/src/components/List/List.styles.ts +51 -52
  271. package/src/components/List/List.tsx +3 -6
  272. package/src/components/List/index.ts +1 -1
  273. package/src/components/Modal/Modal.styles.ts +5 -7
  274. package/src/components/Modal/Modal.tsx +10 -8
  275. package/src/components/Modal/index.ts +1 -1
  276. package/src/components/MoreMenu/MoreMenu.stories.tsx +46 -46
  277. package/src/components/MoreMenu/MoreMenu.styles.ts +5 -7
  278. package/src/components/MoreMenu/MoreMenu.tsx +10 -7
  279. package/src/components/MoreMenu/index.ts +2 -2
  280. package/src/components/MultiSelect/MultiSelect.styles.ts +59 -55
  281. package/src/components/MultiSelect/MultiSelect.tsx +24 -15
  282. package/src/components/MultiSelect/components/MultiSelectInput/MultiSelectInput.styles.ts +4 -4
  283. package/src/components/MultiSelect/components/MultiSelectInput/MultiSelectInput.tsx +7 -6
  284. package/src/components/MultiSelect/components/MultiSelectInput/index.ts +1 -1
  285. package/src/components/MultiSelect/index.ts +2 -2
  286. package/src/components/MultiSelect/types.ts +1 -1
  287. package/src/components/MultiSelectList/MultiSelectList.styles.ts +37 -29
  288. package/src/components/MultiSelectList/MultiSelectList.tsx +36 -17
  289. package/src/components/MultiSelectList/helpers.ts +1 -1
  290. package/src/components/MultiSelectList/index.ts +1 -1
  291. package/src/components/Notification/Notification.styles.ts +14 -9
  292. package/src/components/Notification/Notification.tsx +6 -9
  293. package/src/components/Notification/index.ts +1 -1
  294. package/src/components/Notification/types.ts +1 -1
  295. package/src/components/NumberInput/index.ts +1 -1
  296. package/src/components/PhoneInput/PhoneInput.styles.ts +89 -84
  297. package/src/components/PhoneInput/PhoneInput.tsx +34 -17
  298. package/src/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.styles.ts +18 -15
  299. package/src/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.tsx +16 -6
  300. package/src/components/PhoneInput/components/PhoneInputCountryList/index.ts +1 -1
  301. package/src/components/PhoneInput/index.ts +2 -2
  302. package/src/components/PhoneInput/types.ts +16 -16
  303. package/src/components/RadioButton/RadioButton.styles.ts +37 -37
  304. package/src/components/RadioButton/RadioButton.tsx +6 -6
  305. package/src/components/RadioButton/index.ts +2 -2
  306. package/src/components/ScrollIntoViewIfNeeded/index.ts +1 -1
  307. package/src/components/SearchInput/SearchInput.styles.ts +28 -28
  308. package/src/components/SearchInput/SearchInput.tsx +12 -7
  309. package/src/components/SearchInput/index.ts +2 -2
  310. package/src/components/Select/Select.styles.ts +144 -96
  311. package/src/components/Select/Select.tsx +33 -34
  312. package/src/components/Select/components/SelectList/SelectList.styles.ts +4 -5
  313. package/src/components/Select/components/SelectList/SelectList.tsx +6 -7
  314. package/src/components/Select/components/SelectList/index.ts +1 -1
  315. package/src/components/Select/components/SelectListItem/SelectListItem.styles.ts +2 -2
  316. package/src/components/Select/components/SelectListItem/SelectListItem.tsx +1 -1
  317. package/src/components/Select/constants.ts +2 -2
  318. package/src/components/Select/helpers.ts +3 -2
  319. package/src/components/Select/index.ts +2 -2
  320. package/src/components/Select/types.ts +1 -1
  321. package/src/components/SmartInput/SmartInput.stories.tsx +2 -2
  322. package/src/components/SmartInput/SmartInput.tsx +2 -2
  323. package/src/components/SmartInput/helpers.ts +2 -2
  324. package/src/components/SmartInput/types.ts +1 -1
  325. package/src/components/Switch/Switch.styles.ts +75 -75
  326. package/src/components/Switch/Switch.tsx +3 -6
  327. package/src/components/Switch/index.ts +1 -1
  328. package/src/components/TextArea/TextArea.styles.ts +153 -153
  329. package/src/components/TextArea/TextArea.tsx +3 -6
  330. package/src/components/TextArea/index.ts +2 -2
  331. package/src/components/TextWithInfo/TextWithInfo.styles.ts +59 -60
  332. package/src/components/TextWithInfo/TextWithInfo.tsx +6 -5
  333. package/src/components/TextWithInfo/index.ts +2 -2
  334. package/src/components/TextWithTooltip/TextWithTooltip.stories.tsx +58 -58
  335. package/src/components/TextWithTooltip/TextWithTooltip.styles.ts +21 -19
  336. package/src/components/TextWithTooltip/TextWithTooltip.tsx +15 -9
  337. package/src/components/TextWithTooltip/index.ts +2 -2
  338. package/src/components/ThemedPreloader/ThemedPreloader.styles.ts +26 -21
  339. package/src/components/ThemedPreloader/ThemedPreloader.tsx +19 -11
  340. package/src/components/ThemedPreloader/components/DefaultPreloader/index.ts +1 -1
  341. package/src/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.styles.ts +54 -54
  342. package/src/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.tsx +3 -6
  343. package/src/components/ThemedPreloader/components/DotsPreloader/index.ts +2 -2
  344. package/src/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.styles.ts +11 -11
  345. package/src/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.tsx +5 -6
  346. package/src/components/ThemedPreloader/components/SvgPreloader/index.ts +2 -2
  347. package/src/components/ThemedPreloader/index.ts +2 -2
  348. package/src/components/Toaster/Toaster.styles.ts +60 -59
  349. package/src/components/Toaster/Toaster.tsx +15 -9
  350. package/src/components/Toaster/index.ts +1 -1
  351. package/src/components/Toaster/types.ts +1 -1
  352. package/src/components/Tooltip/Tooltip.styles.ts +20 -16
  353. package/src/components/Tooltip/Tooltip.tsx +10 -6
  354. package/src/components/Tooltip/index.ts +1 -1
  355. package/src/components/Tooltip/types.ts +1 -1
  356. package/src/components/index.ts +36 -36
  357. package/src/helpers/index.ts +0 -1
  358. package/src/helpers/misc.ts +1 -1
  359. package/src/helpers/phone.ts +4 -1
  360. package/src/helpers/popper-helpers.ts +17 -17
  361. package/src/hooks/index.ts +5 -6
  362. package/src/hooks/use-is-mounted.ts +15 -15
  363. package/src/hooks/use-tweak-styles.ts +56 -12
  364. package/src/index.ts +6 -6
  365. package/src/theme/Provider.tsx +21 -0
  366. package/src/{theme.ts → theme/common.ts} +6 -6
  367. package/src/theme/helpers.ts +74 -0
  368. package/src/theme/index.ts +4 -0
  369. package/src/theme/types.ts +137 -0
  370. package/src/types.ts +4 -82
  371. package/src/vite-env.d.ts +1 -1
  372. package/dist/components/FlexibleTable/components/TableRow/TableRow.d.ts +0 -28
  373. package/dist/components/FlexibleTable/components/TableRow/index.d.ts +0 -1
  374. package/dist/components/FlexibleTable/components/TableValue/TableValue.d.ts +0 -21
  375. package/dist/components/FlexibleTable/components/TableValue/index.d.ts +0 -1
  376. package/dist/components/IncrementInput/components/ChangeButton/ChangeButton.d.ts +0 -10
  377. package/dist/components/IncrementInput/components/ChangeButton/index.d.ts +0 -1
  378. package/dist/components/IncrementInput/components/index.d.ts +0 -1
  379. package/dist/helpers/deprecated.d.ts +0 -12
  380. package/dist/hooks/use-theme.d.ts +0 -9
  381. package/src/components/FlexibleTable/components/TableRow/index.ts +0 -1
  382. package/src/components/FlexibleTable/components/TableValue/index.ts +0 -1
  383. package/src/components/IncrementInput/components/ChangeButton/ChangeButton.tsx +0 -33
  384. package/src/components/IncrementInput/components/ChangeButton/index.ts +0 -1
  385. package/src/components/IncrementInput/components/index.ts +0 -1
  386. package/src/helpers/deprecated.ts +0 -23
  387. package/src/hooks/use-theme.ts +0 -32
@@ -1,24 +1,27 @@
1
1
  import { useRef, useState, useMemo, ReactNode } from 'react';
2
2
  import clsx from 'clsx';
3
3
  import { addDataAttributes } from '../../../../helpers';
4
- import { useTheme, useOnClickOutside, useTweakStyles } from '../../../../hooks';
4
+ import { useOnClickOutside, useTweakStyles } from '../../../../hooks';
5
5
  import { ICommonProps } from '../../../../types';
6
6
  import { Icon } from '../../../Icon';
7
7
  import { SearchInput } from '../../../SearchInput';
8
8
  import { getLocale } from '../../helpers';
9
9
  import { IFilterLocaleKey, IFiltersPaneSearchPayload, IPartialFilterLocale } from '../../types';
10
10
  import { FilterSelect, IFilterSelectProps } from '../FilterSelect';
11
- import { FiltersPaneSearchStyles, styles } from './FiltersPaneSearch.styles';
11
+ import {
12
+ useStyles,
13
+ IFiltersPaneSearchStyles,
14
+ searchInputStyles,
15
+ selectStyles,
16
+ } from './FiltersPaneSearch.styles';
12
17
 
13
- export interface IFiltersPaneSearchProps<Value> extends ICommonProps {
14
- tweakStyles?: FiltersPaneSearchStyles;
18
+ export interface IFiltersPaneSearchProps<Value> extends ICommonProps<IFiltersPaneSearchStyles> {
15
19
  field?: Value;
16
20
  fields?: Value[];
17
21
  value?: string;
18
22
  onChange: (v: IFiltersPaneSearchPayload<Value>) => void;
19
23
  localeKey?: IFilterLocaleKey;
20
24
  locale?: IPartialFilterLocale;
21
- testId?: string;
22
25
  maxLength?: number;
23
26
  getValueView?: (value: Value) => ReactNode;
24
27
  getValueId?: (value: Value) => string;
@@ -50,7 +53,21 @@ export function FiltersPaneSearch<Value>({
50
53
  tweakStyles,
51
54
  testId,
52
55
  }: IFiltersPaneSearchProps<Value>): JSX.Element {
53
- const { classes, componentStyles } = useTheme('FiltersPaneSearch', styles, tweakStyles);
56
+ const classes = useStyles({ theme: tweakStyles });
57
+
58
+ const tweakSearchInputStyles = useTweakStyles({
59
+ innerStyles: searchInputStyles,
60
+ tweakStyles,
61
+ className: 'tweakSearchInput',
62
+ currentComponentName: 'FiltersPaneSearch',
63
+ });
64
+
65
+ const tweakSelectStyles = useTweakStyles({
66
+ innerStyles: selectStyles,
67
+ tweakStyles,
68
+ className: 'tweakSelect',
69
+ currentComponentName: 'FiltersPaneSearch',
70
+ });
54
71
 
55
72
  const [isInputFocused, setIsInputFocused] = useState(false);
56
73
  const [isOpen, setIsOpen] = useState(false);
@@ -81,10 +98,6 @@ export function FiltersPaneSearch<Value>({
81
98
  [field],
82
99
  );
83
100
 
84
- const tweakSearchInputStyles = useTweakStyles(componentStyles, tweakStyles, 'tweakSearchInput');
85
-
86
- const tweakSelectStyles = useTweakStyles(componentStyles, tweakStyles, 'tweakSelect');
87
-
88
101
  return (
89
102
  <div
90
103
  className={clsx(classes.root, {
@@ -1,2 +1,2 @@
1
1
  export * from './FiltersPaneSearch';
2
- export type { FiltersPaneSearchStyles } from './FiltersPaneSearch.styles';
2
+ export type { IFiltersPaneSearchStyles } from './FiltersPaneSearch.styles';
@@ -20,7 +20,7 @@ export const getSelectLocale = (
20
20
  custom2?: Partial<ISelectLocale>,
21
21
  ): ISelectLocale => merge({}, SelectLocales[key], custom, custom2);
22
22
 
23
- export const sortValues = (arr: Array<number | undefined>) =>
23
+ export const sortValues = (arr: Array<number | undefined>): Array<number | undefined> =>
24
24
  arr.includes(undefined) ? arr : (arr as number[]).sort((a, b) => (a < b ? -1 : 1));
25
25
 
26
26
  export const defaultConvertFunction = (val: unknown): string => String(val);
@@ -1,5 +1,5 @@
1
1
  export * from './FiltersPane';
2
+ export type { IFiltersPaneStyles } from './FiltersPane.styles';
2
3
  export * from './types';
3
4
  // TODO : подумать над тем чтобы вынести это все наружу
4
5
  export * from './components';
5
- export type { FiltersPaneStyles } from './FiltersPane.styles';
@@ -152,5 +152,5 @@ export type ISelectLocaleKey = keyof typeof SelectLocales;
152
152
 
153
153
  export type IFilterWithDateDatePickerProps = Omit<
154
154
  IDatePickerProps,
155
- 'onChange' | 'value' | 'locale' | 'months' | 'selectedDate'
155
+ 'onChange' | 'value' | 'locale' | 'months' | 'selectedDate' | 'tweakStyles' // TODO: rethink
156
156
  >;
@@ -1,18 +1,17 @@
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, 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,18 +1,16 @@
1
1
  import { FC } from 'react';
2
2
  import { hasFlag } from 'country-flag-icons';
3
3
  import Flags from 'country-flag-icons/react/3x2';
4
- import { useTheme } from '../../hooks';
5
4
  import { ICommonProps } from '../../types';
6
5
  import { Icon } from '../Icon';
7
- import { FlagStyles, styles } from './Flag.styles';
6
+ import { useStyles, IFlagStyles } from './Flag.styles';
8
7
 
9
- export interface IFlagProps extends ICommonProps {
10
- tweakStyles?: FlagStyles;
8
+ export interface IFlagProps extends Pick<ICommonProps<IFlagStyles>, 'tweakStyles'> {
11
9
  countryCode?: string;
12
10
  }
13
11
 
14
12
  export const Flag: FC<IFlagProps> = ({ countryCode = '', tweakStyles }) => {
15
- const { classes } = useTheme('Flag', styles, tweakStyles);
13
+ const classes = useStyles({ theme: tweakStyles });
16
14
  const CC = countryCode.toUpperCase();
17
15
 
18
16
  const TheFlag = hasFlag(CC)
@@ -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 { IFlagStyles } from './Flag.styles';
@@ -2,6 +2,7 @@ import { FC } from 'react';
2
2
  import { ComponentStory } from '@storybook/react';
3
3
  import { FlexibleTable } from './FlexibleTable';
4
4
  import { FlexibleTableConfigType } from './types';
5
+ import { IFlexibleTableStyles } from './FlexibleTable.styles';
5
6
 
6
7
  export default {
7
8
  title: 'Table/FlexibleTable',
@@ -303,6 +304,16 @@ const content = [
303
304
  },
304
305
  ];
305
306
 
307
+ const tweak: IFlexibleTableStyles = {
308
+ tweakTableRow: {
309
+ tweakTableCell: {
310
+ root: {
311
+ color: 'red',
312
+ },
313
+ },
314
+ },
315
+ };
316
+
306
317
  const Template: ComponentStory<typeof FlexibleTable<ITableContent>> = (args) => (
307
318
  <FlexibleTable<ITableContent>
308
319
  {...args}
@@ -312,6 +323,7 @@ const Template: ComponentStory<typeof FlexibleTable<ITableContent>> = (args) =>
312
323
  <div onClick={close}>всем привет :) {item.contractCode}</div>
313
324
  ) : null
314
325
  }
326
+ tweakStyles={tweak}
315
327
  content={content}
316
328
  config={config}
317
329
  />
@@ -1,10 +1,10 @@
1
1
  import { rgba } from '../../helpers';
2
- import { colors } from '../../theme';
3
- import { ComponentStyles } from '../../types';
2
+ import { colors, ITweakStyles, createThemedStyles } from '../../theme';
3
+ import { IFlexibleTableRowStyles } from './components';
4
4
 
5
- const STICKY_SHADOW_PADDING = 12;
5
+ export const STICKY_SHADOW_PADDING = 12;
6
6
 
7
- export const styles = {
7
+ export const useStyles = createThemedStyles('FlexibleTable', {
8
8
  root: {
9
9
  position: 'relative',
10
10
  width: '100%',
@@ -12,10 +12,6 @@ export const styles = {
12
12
  borderSpacing: 0,
13
13
  },
14
14
 
15
- row: {
16
- position: 'relative',
17
- },
18
-
19
15
  scroll: {
20
16
  overflow: 'auto',
21
17
  /*
@@ -47,30 +43,8 @@ export const styles = {
47
43
  },
48
44
 
49
45
  headerRow: {
50
- verticalAlign: 'bottom',
51
- },
52
-
53
- activeRow: {},
54
-
55
- cell: {
56
46
  position: 'relative',
57
- boxSizing: 'content-box',
58
- padding: [14, 7, 14, 7],
59
- fontSize: 14,
60
- lineHeight: 1.42,
61
- zIndex: 5,
62
- verticalAlign: 'top',
63
- },
64
-
65
- cellSticky: {
66
- zIndex: 19,
67
- paddingLeft: 24,
68
- paddingRight: 12,
69
- transition: ['box-shadow', '0.25s', 'ease-in-out'],
70
- },
71
-
72
- cellSecond: {
73
- paddingLeft: STICKY_SHADOW_PADDING,
47
+ verticalAlign: 'bottom',
74
48
  },
75
49
 
76
50
  header: {
@@ -122,10 +96,9 @@ export const styles = {
122
96
  headerSecond: {
123
97
  paddingLeft: STICKY_SHADOW_PADDING,
124
98
  },
99
+ });
125
100
 
126
- editableRow: {
127
- cursor: 'pointer',
128
- },
129
- };
130
-
131
- export type FlexibleTableStyles = ComponentStyles<typeof styles>;
101
+ export type IFlexibleTableStyles = ITweakStyles<
102
+ typeof useStyles,
103
+ { tweakTableRow: IFlexibleTableRowStyles }
104
+ >;
@@ -1,16 +1,16 @@
1
- import { ReactNode, RefObject, useCallback, useEffect, useMemo, useRef, useState } from 'react';
1
+ import { ReactNode, RefObject, useCallback, useEffect, useRef, useState } from 'react';
2
2
  import clsx from 'clsx';
3
3
  import { addDataAttributes } from '../../helpers';
4
- import { useTheme } from '../../hooks';
4
+ import { useTweakStyles } from '../../hooks';
5
5
  import { ICommonProps } from '../../types';
6
6
  import { ThemedPreloader } from '../ThemedPreloader';
7
- import { TableRow } from './components';
7
+ import { FlexibleTableRow } from './components';
8
8
  import { FlexibleTableConfigType, IInfinityScrollConfig, ITitleComponent } from './types';
9
- import { FlexibleTableStyles, styles } from './FlexibleTable.styles';
9
+ import { useStyles, IFlexibleTableStyles } from './FlexibleTable.styles';
10
10
 
11
11
  // TODO: Заменить Record<string, any> на Record<string, unknown>
12
- export interface IFlexibleTableProps<Values extends Record<string, any>> extends ICommonProps {
13
- tweakStyles?: FlexibleTableStyles;
12
+ export interface IFlexibleTableProps<Values extends Record<string, any>>
13
+ extends ICommonProps<IFlexibleTableStyles> {
14
14
  content: Values[];
15
15
  headerContent?: Partial<Record<keyof Values, any>>;
16
16
  enabledColumns?: Array<keyof Values>;
@@ -28,7 +28,6 @@ export interface IFlexibleTableProps<Values extends Record<string, any>> extends
28
28
  refForScroll?: RefObject<HTMLDivElement>;
29
29
  nothingFoundContent?: ReactNode;
30
30
  expandableRowComponent?: (item: Values, isOpen: boolean, close: () => void) => ReactNode;
31
- testId?: string;
32
31
  }
33
32
 
34
33
  export function FlexibleTable<Values extends Record<string, any>>({
@@ -52,13 +51,19 @@ export function FlexibleTable<Values extends Record<string, any>>({
52
51
  testId,
53
52
  expandableRowComponent,
54
53
  }: IFlexibleTableProps<Values>): JSX.Element {
55
- const { classes } = useTheme('FlexibleTable', styles, tweakStyles);
54
+ const classes = useStyles({ theme: tweakStyles });
56
55
 
57
- const observer = useRef<IntersectionObserver>();
58
- const scrollRef = useRef<HTMLDivElement>(null);
56
+ const tweakTableRowStyles = useTweakStyles({
57
+ tweakStyles,
58
+ className: 'tweakTableRow',
59
+ currentComponentName: 'FlexibleTable',
60
+ });
59
61
 
60
62
  const [isHorizontallyScrolled, setIsHorizontallyScrolled] = useState(false);
61
63
 
64
+ const observer = useRef<IntersectionObserver>();
65
+ const scrollRef = useRef<HTMLDivElement>(null);
66
+
62
67
  const initIntersectionObserver = useCallback(
63
68
  (node: HTMLDivElement) => {
64
69
  if (infinityScrollConfig) {
@@ -91,20 +96,6 @@ export function FlexibleTable<Values extends Record<string, any>>({
91
96
  ],
92
97
  );
93
98
 
94
- const tableRowClasses = useMemo(
95
- () => ({
96
- root: classes.row,
97
- active: classes.activeRow,
98
- editable: classes.editableRow,
99
- cell: {
100
- root: classes.cell,
101
- sticky: classes.cellSticky,
102
- second: classes.cellSecond,
103
- },
104
- }),
105
- [tweakStyles],
106
- );
107
-
108
99
  useEffect(() => {
109
100
  const scrollContainer = (refForScroll ?? scrollRef).current;
110
101
  if (scrollContainer === null || !isHorizontallyScrollable || !isFirstColumnSticky) {
@@ -127,7 +118,7 @@ export function FlexibleTable<Values extends Record<string, any>>({
127
118
  >
128
119
  <table className={classes.root} data-testid={testId} {...addDataAttributes(data)}>
129
120
  <thead>
130
- <tr className={clsx(classes.row, classes.headerRow)}>
121
+ <tr className={classes.headerRow}>
131
122
  {(enabledColumns || Object.keys(content[0])).map((key, idx) => {
132
123
  const itemConfig = config?.[key];
133
124
 
@@ -152,7 +143,7 @@ export function FlexibleTable<Values extends Record<string, any>>({
152
143
  textAlign: itemConfig?.titleAlign ?? 'left',
153
144
  }}
154
145
  key={key as string}
155
- onClick={() => (onHeadClick ? onHeadClick(key) : undefined)}
146
+ onClick={() => onHeadClick?.(key)}
156
147
  >
157
148
  {titleContent}
158
149
  </th>
@@ -173,7 +164,7 @@ export function FlexibleTable<Values extends Record<string, any>>({
173
164
  )}
174
165
 
175
166
  {content.map((item, idx) => (
176
- <TableRow
167
+ <FlexibleTableRow
177
168
  item={item}
178
169
  uniqueField={uniqueField}
179
170
  isActive={activeRows?.includes(idx) ?? false}
@@ -182,9 +173,9 @@ export function FlexibleTable<Values extends Record<string, any>>({
182
173
  onRowHover={onRowHover}
183
174
  enabledColumns={enabledColumns}
184
175
  config={config}
185
- classes={tableRowClasses}
186
176
  key={uniqueField ? item[uniqueField] : idx}
187
177
  rowAttributes={rowAttributes}
178
+ tweakStyles={tweakTableRowStyles}
188
179
  expandableRowComponent={expandableRowComponent}
189
180
  />
190
181
  ))}
@@ -0,0 +1,28 @@
1
+ import { getTransition } from '@true-engineering/true-react-platform-helpers';
2
+ import { ITweakStyles, createThemedStyles } from '../../../../theme';
3
+ import { STICKY_SHADOW_PADDING } from '../../FlexibleTable.styles';
4
+
5
+ export const useStyles = createThemedStyles('FlexibleTableCell', {
6
+ root: {
7
+ position: 'relative',
8
+ boxSizing: 'content-box',
9
+ padding: [14, 7],
10
+ fontSize: 14,
11
+ lineHeight: 1.42,
12
+ zIndex: 5,
13
+ verticalAlign: 'top',
14
+ },
15
+
16
+ sticky: {
17
+ zIndex: 19,
18
+ paddingLeft: 24,
19
+ paddingRight: 12,
20
+ ...getTransition(['box-shadow']),
21
+ },
22
+
23
+ second: {
24
+ paddingLeft: STICKY_SHADOW_PADDING,
25
+ },
26
+ });
27
+
28
+ export type IFlexibleTableCellStyles = ITweakStyles<typeof useStyles>;
@@ -4,36 +4,35 @@ import { format } from 'date-fns';
4
4
  import type { ICommonProps } from '../../../../types';
5
5
  import { DEFAULT_DATE_FORMAT } from '../../constants';
6
6
  import type { FlexibleTableConfigType } from '../../types';
7
+ import { useStyles, IFlexibleTableCellStyles } from './FlexibleTableCell.styles';
7
8
 
8
- export interface ITableValueProps<Values extends Record<string, any>> extends ICommonProps {
9
+ export interface IFlexibleTableCellProps<Values extends Record<string, any>>
10
+ extends Pick<ICommonProps<IFlexibleTableCellStyles>, 'tweakStyles'> {
9
11
  item: Values;
10
12
  columnName: keyof Values;
11
13
  config?: FlexibleTableConfigType<Values>;
12
- classes: {
13
- root: string;
14
- sticky: string;
15
- second: string;
16
- };
17
14
  isFocusedRow?: boolean;
18
15
  isSecond?: boolean;
19
16
  isSticky?: boolean;
20
17
  isNestedComponentExpanded: boolean;
21
18
  isRowNestedComponentExpanded: boolean;
22
- onSetNestedComponent: (component?: ReactNode) => void;
19
+ onSetNestedComponent(component?: ReactNode): void;
23
20
  }
24
21
 
25
- function TableValue<Values extends Record<string, any>>({
22
+ function FlexibleTableCell<Values extends Record<string, any>>({
26
23
  item,
27
24
  columnName,
28
25
  config,
29
- classes,
30
26
  isFocusedRow,
31
27
  isSecond,
32
28
  isSticky,
33
29
  isNestedComponentExpanded,
34
30
  isRowNestedComponentExpanded,
31
+ tweakStyles,
35
32
  onSetNestedComponent,
36
- }: ITableValueProps<Values>): JSX.Element {
33
+ }: IFlexibleTableCellProps<Values>): JSX.Element {
34
+ const classes = useStyles({ theme: tweakStyles });
35
+
37
36
  const itemConfig = config?.[columnName];
38
37
  const value = item[columnName];
39
38
  let content = null;
@@ -57,7 +56,7 @@ function TableValue<Values extends Record<string, any>>({
57
56
  return (
58
57
  <td
59
58
  key={columnName as string}
60
- className={clsx(classes.root, isSticky && classes.sticky, isSecond && classes.second)}
59
+ className={clsx(classes.root, { [classes.sticky]: isSticky, [classes.second]: isSecond })}
61
60
  style={{
62
61
  textAlign: itemConfig?.cellAlign,
63
62
  position: isSticky ? 'sticky' : itemConfig?.position,
@@ -71,4 +70,4 @@ function TableValue<Values extends Record<string, any>>({
71
70
  );
72
71
  }
73
72
 
74
- export default TableValue;
73
+ export default FlexibleTableCell;
@@ -0,0 +1,2 @@
1
+ export * from './FlexibleTableCell';
2
+ export type { IFlexibleTableCellStyles } from './FlexibleTableCell.styles';
@@ -0,0 +1,19 @@
1
+ import { ITweakStyles, createThemedStyles } from '../../../../theme';
2
+ import { IFlexibleTableCellStyles } from '../FlexibleTableCell';
3
+
4
+ export const useStyles = createThemedStyles('FlexibleTableRow', {
5
+ root: {
6
+ position: 'relative',
7
+ },
8
+
9
+ active: {},
10
+
11
+ editable: {
12
+ cursor: 'pointer',
13
+ },
14
+ });
15
+
16
+ export type IFlexibleTableRowStyles = ITweakStyles<
17
+ typeof useStyles,
18
+ { tweakTableCell: IFlexibleTableCellStyles }
19
+ >;
@@ -1,12 +1,15 @@
1
1
  import { ReactNode, useState, memo } from 'react';
2
2
  import clsx from 'clsx';
3
3
  import { addDataAttributes } from '../../../../helpers';
4
+ import { useTweakStyles } from '../../../../hooks';
4
5
  import { ICommonProps, IDataAttributes } from '../../../../types';
5
6
  import { FlexibleTableConfigType, INestedComponent } from '../../types';
6
- import TableValue from '../TableValue/TableValue';
7
+ import FlexibleTableCell from '../FlexibleTableCell/FlexibleTableCell';
8
+ import { useStyles, IFlexibleTableRowStyles } from './FlexibleTableRow.styles';
7
9
 
8
10
  // TODO: Заменить Record<string, any> на Record<string, unknown>
9
- export interface ITableRowProps<Values extends Record<string, any>> extends ICommonProps {
11
+ export interface IFlexibleTableRowProps<Values extends Record<string, any>>
12
+ extends Pick<ICommonProps<IFlexibleTableRowStyles>, 'tweakStyles'> {
10
13
  item: Values;
11
14
  uniqueField?: keyof Values;
12
15
  isFirstColumnSticky?: boolean;
@@ -14,37 +17,33 @@ export interface ITableRowProps<Values extends Record<string, any>> extends ICom
14
17
  config?: FlexibleTableConfigType<Values>;
15
18
  enabledColumns?: Array<keyof Values>;
16
19
  rowAttributes?: Array<keyof Values>;
17
- expandableRowComponent?: (item: Values, isOpen: boolean, close: () => void) => ReactNode;
20
+ expandableRowComponent?(item: Values, isOpen: boolean, close: () => void): ReactNode;
18
21
  // TODO: Заменить string на Generic Values[uniqueField]
19
- onRowHover?: (id?: string) => void;
20
- onRowClick?: (id: string) => void;
21
- // чтобы не перерендеривать стили для каждой строчки / ячейки
22
- // TODO: Можно лучше через Classes
23
- classes: {
24
- root: string;
25
- active: string;
26
- editable: string;
27
- cell: {
28
- root: string;
29
- sticky: string;
30
- second: string;
31
- };
32
- };
22
+ onRowHover?(id?: string): void;
23
+ onRowClick?(id: string): void;
33
24
  }
34
25
 
35
- function TableRowInner<Values extends Record<string, any>>({
26
+ function FlexibleTableRowInner<Values extends Record<string, any>>({
36
27
  item,
37
28
  uniqueField,
38
29
  isFirstColumnSticky,
39
30
  isActive,
40
31
  config,
41
32
  enabledColumns,
42
- onRowHover,
43
- onRowClick,
44
33
  rowAttributes,
34
+ tweakStyles,
45
35
  expandableRowComponent,
46
- classes,
47
- }: ITableRowProps<Values>): JSX.Element {
36
+ onRowHover,
37
+ onRowClick,
38
+ }: IFlexibleTableRowProps<Values>): JSX.Element {
39
+ const classes = useStyles({ theme: tweakStyles });
40
+
41
+ const tweakTableCellStyles = useTweakStyles({
42
+ tweakStyles,
43
+ className: 'tweakTableCell',
44
+ currentComponentName: 'FlexibleTableRow',
45
+ });
46
+
48
47
  const [isFocused, setFocused] = useState(false);
49
48
  const [nestedComponent, setNestedComponent] = useState<INestedComponent>({
50
49
  isOpen: false,
@@ -122,14 +121,14 @@ function TableRowInner<Values extends Record<string, any>>({
122
121
  })}
123
122
  >
124
123
  {items.map((key, idx) => (
125
- <TableValue
124
+ <FlexibleTableCell
126
125
  columnName={key}
127
126
  isSticky={isFirstColumnSticky && idx === 0}
128
127
  isSecond={isFirstColumnSticky && idx === 1}
129
128
  key={key as string}
130
129
  item={item}
131
130
  config={config}
132
- classes={classes.cell}
131
+ tweakStyles={tweakTableCellStyles}
133
132
  isFocusedRow={isFocused}
134
133
  isNestedComponentExpanded={nestedComponent.isOpen && nestedComponent.cellKey === key}
135
134
  isRowNestedComponentExpanded={
@@ -149,4 +148,4 @@ function TableRowInner<Values extends Record<string, any>>({
149
148
  );
150
149
  }
151
150
 
152
- export const TableRow = memo(TableRowInner) as typeof TableRowInner;
151
+ export const FlexibleTableRow = memo(FlexibleTableRowInner) as typeof FlexibleTableRowInner;
@@ -0,0 +1,2 @@
1
+ export * from './FlexibleTableRow';
2
+ export type { IFlexibleTableRowStyles } from './FlexibleTableRow.styles';
@@ -1,2 +1,2 @@
1
- export * from './TableRow';
2
- export * from './TableValue';
1
+ export * from './FlexibleTableRow';
2
+ export * from './FlexibleTableCell';
@@ -1,3 +1,4 @@
1
- export * from './FlexibleTable';
2
- export * from './types';
3
- export type { FlexibleTableStyles } from './FlexibleTable.styles';
1
+ export * from './FlexibleTable';
2
+ export * from './types';
3
+ export type { IFlexibleTableStyles } from './FlexibleTable.styles';
4
+ export type { IFlexibleTableCellStyles, IFlexibleTableRowStyles } from './components';
@@ -1,10 +1,10 @@
1
- import { ComponentStyles } from '../../types';
2
-
3
- export const styles = {
4
- root: {
5
- display: 'flex',
6
- alignItems: 'center',
7
- },
8
- };
9
-
10
- export type IconStyles = ComponentStyles<typeof styles>;
1
+ import { ITweakStyles, createThemedStyles } from '../../theme';
2
+
3
+ export const useStyles = createThemedStyles('Icon', {
4
+ root: {
5
+ display: 'flex',
6
+ alignItems: 'center',
7
+ },
8
+ });
9
+
10
+ export type IIconStyles = ITweakStyles<typeof useStyles>;