@true-engineering/true-react-common-ui-kit 2.6.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 (363) hide show
  1. package/dist/components/AccountInfo/AccountInfo.d.ts +2 -3
  2. package/dist/components/AccountInfo/AccountInfo.styles.d.ts +6 -64
  3. package/dist/components/AccountInfo/index.d.ts +1 -1
  4. package/dist/components/AddButton/AddButton.d.ts +2 -3
  5. package/dist/components/AddButton/AddButton.styles.d.ts +3 -28
  6. package/dist/components/AddButton/index.d.ts +1 -1
  7. package/dist/components/Button/Button.d.ts +2 -4
  8. package/dist/components/Button/Button.styles.d.ts +8 -150
  9. package/dist/components/Button/index.d.ts +1 -1
  10. package/dist/components/Checkbox/Checkbox.d.ts +3 -17
  11. package/dist/components/Checkbox/Checkbox.styles.d.ts +3 -50
  12. package/dist/components/Checkbox/index.d.ts +1 -1
  13. package/dist/components/CloseButton/CloseButton.d.ts +3 -5
  14. package/dist/components/CloseButton/CloseButton.styles.d.ts +3 -27
  15. package/dist/components/CloseButton/index.d.ts +1 -1
  16. package/dist/components/Colors/Colors.styles.d.ts +1 -32
  17. package/dist/components/Colors/index.d.ts +0 -1
  18. package/dist/components/CssBaseline/CssBaseline.d.ts +2 -4
  19. package/dist/components/CssBaseline/CssBaseline.styles.d.ts +3 -11
  20. package/dist/components/CssBaseline/index.d.ts +1 -1
  21. package/dist/components/DateInput/DateInput.d.ts +3 -3
  22. package/dist/components/DateInput/DateInput.styles.d.ts +6 -11
  23. package/dist/components/DateInput/index.d.ts +1 -1
  24. package/dist/components/DatePicker/DatePicker.d.ts +5 -7
  25. package/dist/components/DatePicker/DatePicker.styles.d.ts +6 -33
  26. package/dist/components/DatePicker/components/DatePickerHeader/DatePickerHeader.d.ts +3 -3
  27. package/dist/components/DatePicker/components/DatePickerHeader/DatePickerHeader.styles.d.ts +7 -69
  28. package/dist/components/DatePicker/components/DatePickerHeader/index.d.ts +1 -1
  29. package/dist/components/DatePicker/index.d.ts +2 -2
  30. package/dist/components/Description/Description.d.ts +2 -3
  31. package/dist/components/Description/Description.styles.d.ts +3 -24
  32. package/dist/components/Description/index.d.ts +1 -1
  33. package/dist/components/FiltersPane/FiltersPane.d.ts +6 -8
  34. package/dist/components/FiltersPane/FiltersPane.styles.d.ts +8 -56
  35. package/dist/components/FiltersPane/components/FilterInterval/FilterInterval.d.ts +2 -4
  36. package/dist/components/FiltersPane/components/FilterInterval/FilterInterval.styles.d.ts +15 -52
  37. package/dist/components/FiltersPane/components/FilterInterval/index.d.ts +1 -1
  38. package/dist/components/FiltersPane/components/FilterSelect/FilterSelect.d.ts +2 -4
  39. package/dist/components/FiltersPane/components/FilterSelect/FilterSelect.styles.d.ts +15 -124
  40. package/dist/components/FiltersPane/components/FilterSelect/index.d.ts +1 -1
  41. package/dist/components/FiltersPane/components/FilterValueView/FilterValueView.d.ts +3 -1
  42. package/dist/components/FiltersPane/components/FilterValueView/FilterValueView.styles.d.ts +3 -12
  43. package/dist/components/FiltersPane/components/FilterValueView/index.d.ts +1 -1
  44. package/dist/components/FiltersPane/components/FilterWithDates/FilterWithDates.d.ts +5 -7
  45. package/dist/components/FiltersPane/components/FilterWithDates/FilterWithDates.styles.d.ts +26 -47
  46. package/dist/components/FiltersPane/components/FilterWithDates/index.d.ts +1 -1
  47. package/dist/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.d.ts +4 -6
  48. package/dist/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.styles.d.ts +7 -12
  49. package/dist/components/FiltersPane/components/FilterWithPeriod/index.d.ts +1 -1
  50. package/dist/components/FiltersPane/components/FilterWrapper/FilterWrapper.d.ts +5 -6
  51. package/dist/components/FiltersPane/components/FilterWrapper/FilterWrapper.styles.d.ts +6 -96
  52. package/dist/components/FiltersPane/components/FilterWrapper/index.d.ts +1 -1
  53. package/dist/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.d.ts +2 -4
  54. package/dist/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.styles.d.ts +10 -91
  55. package/dist/components/FiltersPane/components/FiltersPaneSearch/index.d.ts +1 -1
  56. package/dist/components/FiltersPane/helpers.d.ts +1 -1
  57. package/dist/components/FiltersPane/index.d.ts +1 -1
  58. package/dist/components/FiltersPane/types.d.ts +1 -1
  59. package/dist/components/Flag/Flag.d.ts +2 -3
  60. package/dist/components/Flag/Flag.styles.d.ts +3 -12
  61. package/dist/components/Flag/index.d.ts +1 -1
  62. package/dist/components/FlexibleTable/FlexibleTable.d.ts +2 -4
  63. package/dist/components/FlexibleTable/FlexibleTable.styles.d.ts +7 -101
  64. package/dist/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.d.ts +17 -0
  65. package/dist/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.styles.d.ts +3 -0
  66. package/dist/components/FlexibleTable/components/FlexibleTableCell/index.d.ts +2 -0
  67. package/dist/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.d.ts +19 -0
  68. package/dist/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.styles.d.ts +6 -0
  69. package/dist/components/FlexibleTable/components/FlexibleTableRow/index.d.ts +2 -0
  70. package/dist/components/FlexibleTable/components/index.d.ts +2 -2
  71. package/dist/components/FlexibleTable/index.d.ts +2 -1
  72. package/dist/components/Icon/Icon.d.ts +2 -3
  73. package/dist/components/Icon/Icon.styles.d.ts +3 -8
  74. package/dist/components/Icon/icons-list.d.ts +1 -1
  75. package/dist/components/Icon/index.d.ts +1 -1
  76. package/dist/components/IncrementInput/IncrementInput.d.ts +3 -3
  77. package/dist/components/IncrementInput/IncrementInput.styles.d.ts +7 -61
  78. package/dist/components/IncrementInput/index.d.ts +1 -1
  79. package/dist/components/Input/Input.d.ts +2 -4
  80. package/dist/components/Input/Input.styles.d.ts +6 -247
  81. package/dist/components/Input/index.d.ts +1 -1
  82. package/dist/components/List/List.d.ts +2 -4
  83. package/dist/components/List/List.styles.d.ts +3 -39
  84. package/dist/components/List/index.d.ts +1 -1
  85. package/dist/components/Modal/Modal.d.ts +2 -4
  86. package/dist/components/Modal/Modal.styles.d.ts +6 -239
  87. package/dist/components/Modal/index.d.ts +1 -1
  88. package/dist/components/MoreMenu/MoreMenu.d.ts +2 -4
  89. package/dist/components/MoreMenu/MoreMenu.styles.d.ts +6 -54
  90. package/dist/components/MoreMenu/index.d.ts +1 -1
  91. package/dist/components/MultiSelect/MultiSelect.d.ts +8 -8
  92. package/dist/components/MultiSelect/MultiSelect.styles.d.ts +7 -44
  93. package/dist/components/MultiSelect/components/MultiSelectInput/MultiSelectInput.d.ts +4 -4
  94. package/dist/components/MultiSelect/components/MultiSelectInput/MultiSelectInput.styles.d.ts +3 -62
  95. package/dist/components/MultiSelect/components/MultiSelectInput/index.d.ts +1 -1
  96. package/dist/components/MultiSelect/index.d.ts +2 -2
  97. package/dist/components/MultiSelect/types.d.ts +1 -1
  98. package/dist/components/MultiSelectList/MultiSelectList.d.ts +2 -4
  99. package/dist/components/MultiSelectList/MultiSelectList.styles.d.ts +13 -105
  100. package/dist/components/MultiSelectList/index.d.ts +1 -1
  101. package/dist/components/Notification/Notification.d.ts +4 -6
  102. package/dist/components/Notification/Notification.styles.d.ts +3 -37
  103. package/dist/components/Notification/index.d.ts +1 -1
  104. package/dist/components/Notification/types.d.ts +1 -1
  105. package/dist/components/PhoneInput/PhoneInput.d.ts +3 -3
  106. package/dist/components/PhoneInput/PhoneInput.styles.d.ts +9 -66
  107. package/dist/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.d.ts +2 -3
  108. package/dist/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.styles.d.ts +7 -83
  109. package/dist/components/PhoneInput/components/PhoneInputCountryList/index.d.ts +1 -1
  110. package/dist/components/PhoneInput/index.d.ts +2 -2
  111. package/dist/components/RadioButton/RadioButton.d.ts +3 -4
  112. package/dist/components/RadioButton/RadioButton.styles.d.ts +3 -30
  113. package/dist/components/RadioButton/index.d.ts +1 -1
  114. package/dist/components/ScrollIntoViewIfNeeded/ScrollIntoViewIfNeeded.d.ts +4 -4
  115. package/dist/components/SearchInput/SearchInput.d.ts +3 -4
  116. package/dist/components/SearchInput/SearchInput.styles.d.ts +7 -39
  117. package/dist/components/SearchInput/index.d.ts +1 -1
  118. package/dist/components/Select/Select.d.ts +3 -4
  119. package/dist/components/Select/Select.styles.d.ts +33 -80
  120. package/dist/components/Select/components/SelectList/SelectList.d.ts +2 -4
  121. package/dist/components/Select/components/SelectList/SelectList.styles.d.ts +3 -57
  122. package/dist/components/Select/components/SelectList/index.d.ts +1 -1
  123. package/dist/components/Select/components/SelectListItem/SelectListItem.styles.d.ts +2 -2
  124. package/dist/components/Select/index.d.ts +2 -2
  125. package/dist/components/SmartInput/SmartInput.d.ts +2 -2
  126. package/dist/components/SmartInput/helpers.d.ts +2 -2
  127. package/dist/components/SmartInput/types.d.ts +1 -1
  128. package/dist/components/Switch/Switch.d.ts +2 -4
  129. package/dist/components/Switch/Switch.styles.d.ts +3 -62
  130. package/dist/components/Switch/index.d.ts +1 -1
  131. package/dist/components/TextArea/TextArea.d.ts +2 -4
  132. package/dist/components/TextArea/TextArea.styles.d.ts +3 -128
  133. package/dist/components/TextArea/index.d.ts +1 -1
  134. package/dist/components/TextWithInfo/TextWithInfo.d.ts +2 -3
  135. package/dist/components/TextWithInfo/TextWithInfo.styles.d.ts +3 -48
  136. package/dist/components/TextWithInfo/index.d.ts +1 -1
  137. package/dist/components/TextWithTooltip/TextWithTooltip.d.ts +2 -3
  138. package/dist/components/TextWithTooltip/TextWithTooltip.styles.d.ts +6 -14
  139. package/dist/components/TextWithTooltip/index.d.ts +1 -1
  140. package/dist/components/ThemedPreloader/ThemedPreloader.d.ts +2 -3
  141. package/dist/components/ThemedPreloader/ThemedPreloader.styles.d.ts +7 -14
  142. package/dist/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.d.ts +2 -4
  143. package/dist/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.styles.d.ts +3 -43
  144. package/dist/components/ThemedPreloader/components/DotsPreloader/index.d.ts +1 -1
  145. package/dist/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.d.ts +2 -3
  146. package/dist/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.styles.d.ts +3 -9
  147. package/dist/components/ThemedPreloader/components/SvgPreloader/index.d.ts +1 -1
  148. package/dist/components/ThemedPreloader/index.d.ts +2 -2
  149. package/dist/components/Toaster/Toaster.d.ts +4 -5
  150. package/dist/components/Toaster/Toaster.styles.d.ts +6 -45
  151. package/dist/components/Toaster/index.d.ts +1 -1
  152. package/dist/components/Toaster/types.d.ts +1 -1
  153. package/dist/components/Tooltip/Tooltip.d.ts +2 -3
  154. package/dist/components/Tooltip/Tooltip.styles.d.ts +3 -35
  155. package/dist/components/Tooltip/index.d.ts +1 -1
  156. package/dist/helpers/index.d.ts +0 -1
  157. package/dist/helpers/phone.d.ts +3 -0
  158. package/dist/hooks/index.d.ts +0 -1
  159. package/dist/hooks/use-tweak-styles.d.ts +21 -2
  160. package/dist/index.d.ts +1 -1
  161. package/dist/theme/Provider.d.ts +11 -0
  162. package/dist/{theme.d.ts → theme/common.d.ts} +6 -10
  163. package/dist/theme/helpers.d.ts +10 -0
  164. package/dist/theme/index.d.ts +4 -0
  165. package/dist/theme/types.d.ts +72 -0
  166. package/dist/true-react-common-ui-kit.js +2980 -2471
  167. package/dist/true-react-common-ui-kit.js.map +1 -1
  168. package/dist/true-react-common-ui-kit.umd.cjs +2912 -2403
  169. package/dist/true-react-common-ui-kit.umd.cjs.map +1 -1
  170. package/dist/types.d.ts +4 -22
  171. package/package.json +2 -2
  172. package/src/components/AccountInfo/AccountInfo.styles.ts +5 -9
  173. package/src/components/AccountInfo/AccountInfo.tsx +13 -10
  174. package/src/components/AccountInfo/constants.ts +1 -1
  175. package/src/components/AccountInfo/index.ts +1 -1
  176. package/src/components/AddButton/AddButton.styles.ts +4 -4
  177. package/src/components/AddButton/AddButton.tsx +7 -6
  178. package/src/components/AddButton/index.ts +1 -1
  179. package/src/components/Button/Button.styles.ts +14 -9
  180. package/src/components/Button/Button.tsx +12 -19
  181. package/src/components/Button/index.ts +1 -1
  182. package/src/components/Checkbox/Checkbox.stories.tsx +5 -9
  183. package/src/components/Checkbox/Checkbox.styles.ts +8 -24
  184. package/src/components/Checkbox/Checkbox.tsx +3 -25
  185. package/src/components/Checkbox/index.ts +1 -1
  186. package/src/components/CloseButton/CloseButton.styles.ts +4 -5
  187. package/src/components/CloseButton/CloseButton.tsx +6 -8
  188. package/src/components/CloseButton/index.ts +1 -1
  189. package/src/components/Colors/Colors.styles.ts +3 -5
  190. package/src/components/Colors/Colors.tsx +3 -3
  191. package/src/components/Colors/index.ts +0 -1
  192. package/src/components/CssBaseline/CssBaseline.styles.ts +4 -5
  193. package/src/components/CssBaseline/CssBaseline.tsx +6 -8
  194. package/src/components/CssBaseline/index.ts +1 -1
  195. package/src/components/DateInput/DateInput.styles.ts +10 -6
  196. package/src/components/DateInput/DateInput.tsx +20 -7
  197. package/src/components/DateInput/index.ts +1 -1
  198. package/src/components/DatePicker/DatePicker.styles.ts +8 -14
  199. package/src/components/DatePicker/DatePicker.tsx +15 -16
  200. package/src/components/DatePicker/components/DatePickerHeader/DatePickerHeader.styles.ts +30 -26
  201. package/src/components/DatePicker/components/DatePickerHeader/DatePickerHeader.tsx +17 -7
  202. package/src/components/DatePicker/components/DatePickerHeader/index.ts +1 -1
  203. package/src/components/DatePicker/index.ts +2 -2
  204. package/src/components/Description/Description.styles.ts +4 -5
  205. package/src/components/Description/Description.tsx +6 -6
  206. package/src/components/Description/index.ts +1 -1
  207. package/src/components/FiltersPane/FiltersPane.styles.ts +38 -22
  208. package/src/components/FiltersPane/FiltersPane.tsx +23 -18
  209. package/src/components/FiltersPane/components/FilterInterval/FilterInterval.styles.ts +23 -27
  210. package/src/components/FiltersPane/components/FilterInterval/FilterInterval.tsx +25 -12
  211. package/src/components/FiltersPane/components/FilterInterval/index.ts +1 -1
  212. package/src/components/FiltersPane/components/FilterSelect/FilterSelect.styles.ts +21 -26
  213. package/src/components/FiltersPane/components/FilterSelect/FilterSelect.tsx +27 -14
  214. package/src/components/FiltersPane/components/FilterSelect/index.ts +1 -1
  215. package/src/components/FiltersPane/components/FilterValueView/FilterValueView.styles.tsx +4 -4
  216. package/src/components/FiltersPane/components/FilterValueView/FilterValueView.tsx +6 -4
  217. package/src/components/FiltersPane/components/FilterValueView/index.tsx +1 -1
  218. package/src/components/FiltersPane/components/FilterWithDates/FilterWithDates.styles.ts +33 -26
  219. package/src/components/FiltersPane/components/FilterWithDates/FilterWithDates.tsx +54 -25
  220. package/src/components/FiltersPane/components/FilterWithDates/index.ts +1 -1
  221. package/src/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.styles.ts +11 -7
  222. package/src/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.tsx +12 -9
  223. package/src/components/FiltersPane/components/FilterWithPeriod/index.ts +1 -1
  224. package/src/components/FiltersPane/components/FilterWrapper/FilterWrapper.styles.ts +11 -6
  225. package/src/components/FiltersPane/components/FilterWrapper/FilterWrapper.tsx +28 -10
  226. package/src/components/FiltersPane/components/FilterWrapper/index.ts +1 -1
  227. package/src/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.styles.ts +31 -24
  228. package/src/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.tsx +23 -10
  229. package/src/components/FiltersPane/components/FiltersPaneSearch/index.ts +1 -1
  230. package/src/components/FiltersPane/helpers.ts +1 -1
  231. package/src/components/FiltersPane/index.ts +1 -1
  232. package/src/components/FiltersPane/types.ts +1 -1
  233. package/src/components/Flag/Flag.styles.ts +4 -5
  234. package/src/components/Flag/Flag.tsx +3 -5
  235. package/src/components/Flag/index.ts +1 -1
  236. package/src/components/FlexibleTable/FlexibleTable.stories.tsx +12 -0
  237. package/src/components/FlexibleTable/FlexibleTable.styles.ts +10 -37
  238. package/src/components/FlexibleTable/FlexibleTable.tsx +19 -28
  239. package/src/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.styles.ts +28 -0
  240. package/src/components/FlexibleTable/components/{TableValue/TableValue.tsx → FlexibleTableCell/FlexibleTableCell.tsx} +11 -12
  241. package/src/components/FlexibleTable/components/FlexibleTableCell/index.ts +2 -0
  242. package/src/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.styles.ts +19 -0
  243. package/src/components/FlexibleTable/components/{TableRow/TableRow.tsx → FlexibleTableRow/FlexibleTableRow.tsx} +24 -25
  244. package/src/components/FlexibleTable/components/FlexibleTableRow/index.ts +2 -0
  245. package/src/components/FlexibleTable/components/index.ts +2 -2
  246. package/src/components/FlexibleTable/index.ts +2 -1
  247. package/src/components/Icon/Icon.styles.ts +4 -4
  248. package/src/components/Icon/Icon.tsx +6 -7
  249. package/src/components/Icon/components/ComplexIconBoilerplate/ComplexIconBoilerplate.tsx +1 -1
  250. package/src/components/Icon/components/IconBolerplate/IconBoilerplate.tsx +1 -1
  251. package/src/components/Icon/helpers.ts +1 -1
  252. package/src/components/Icon/index.ts +1 -1
  253. package/src/components/IncrementInput/IncrementInput.styles.ts +12 -12
  254. package/src/components/IncrementInput/IncrementInput.tsx +59 -35
  255. package/src/components/IncrementInput/index.ts +1 -1
  256. package/src/components/Input/Input.styles.ts +8 -8
  257. package/src/components/Input/Input.tsx +10 -8
  258. package/src/components/Input/index.ts +1 -1
  259. package/src/components/List/List.styles.ts +4 -5
  260. package/src/components/List/List.tsx +3 -6
  261. package/src/components/List/index.ts +1 -1
  262. package/src/components/Modal/Modal.styles.ts +5 -7
  263. package/src/components/Modal/Modal.tsx +10 -8
  264. package/src/components/Modal/index.ts +1 -1
  265. package/src/components/MoreMenu/MoreMenu.styles.ts +5 -7
  266. package/src/components/MoreMenu/MoreMenu.tsx +10 -7
  267. package/src/components/MoreMenu/index.ts +1 -1
  268. package/src/components/MultiSelect/MultiSelect.styles.ts +11 -7
  269. package/src/components/MultiSelect/MultiSelect.tsx +24 -15
  270. package/src/components/MultiSelect/components/MultiSelectInput/MultiSelectInput.styles.ts +4 -4
  271. package/src/components/MultiSelect/components/MultiSelectInput/MultiSelectInput.tsx +7 -6
  272. package/src/components/MultiSelect/components/MultiSelectInput/index.ts +1 -1
  273. package/src/components/MultiSelect/index.ts +2 -2
  274. package/src/components/MultiSelect/types.ts +1 -1
  275. package/src/components/MultiSelectList/MultiSelectList.styles.ts +37 -29
  276. package/src/components/MultiSelectList/MultiSelectList.tsx +36 -17
  277. package/src/components/MultiSelectList/helpers.ts +1 -1
  278. package/src/components/MultiSelectList/index.ts +1 -1
  279. package/src/components/Notification/Notification.styles.ts +14 -9
  280. package/src/components/Notification/Notification.tsx +6 -9
  281. package/src/components/Notification/index.ts +1 -1
  282. package/src/components/Notification/types.ts +1 -1
  283. package/src/components/PhoneInput/PhoneInput.styles.ts +18 -13
  284. package/src/components/PhoneInput/PhoneInput.tsx +34 -17
  285. package/src/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.styles.ts +18 -15
  286. package/src/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.tsx +16 -6
  287. package/src/components/PhoneInput/components/PhoneInputCountryList/index.ts +1 -1
  288. package/src/components/PhoneInput/index.ts +2 -2
  289. package/src/components/RadioButton/RadioButton.styles.ts +4 -4
  290. package/src/components/RadioButton/RadioButton.tsx +6 -6
  291. package/src/components/RadioButton/index.ts +1 -1
  292. package/src/components/SearchInput/SearchInput.styles.ts +28 -28
  293. package/src/components/SearchInput/SearchInput.tsx +12 -7
  294. package/src/components/SearchInput/index.ts +1 -1
  295. package/src/components/Select/Select.styles.ts +71 -23
  296. package/src/components/Select/Select.tsx +33 -34
  297. package/src/components/Select/components/SelectList/SelectList.styles.ts +4 -5
  298. package/src/components/Select/components/SelectList/SelectList.tsx +6 -7
  299. package/src/components/Select/components/SelectList/index.ts +1 -1
  300. package/src/components/Select/components/SelectListItem/SelectListItem.styles.ts +2 -2
  301. package/src/components/Select/components/SelectListItem/SelectListItem.tsx +1 -1
  302. package/src/components/Select/helpers.ts +3 -2
  303. package/src/components/Select/index.ts +2 -2
  304. package/src/components/SmartInput/SmartInput.stories.tsx +2 -2
  305. package/src/components/SmartInput/SmartInput.tsx +2 -2
  306. package/src/components/SmartInput/helpers.ts +2 -2
  307. package/src/components/SmartInput/types.ts +1 -1
  308. package/src/components/Switch/Switch.styles.ts +4 -4
  309. package/src/components/Switch/Switch.tsx +3 -6
  310. package/src/components/Switch/index.ts +1 -1
  311. package/src/components/TextArea/TextArea.styles.ts +4 -4
  312. package/src/components/TextArea/TextArea.tsx +3 -6
  313. package/src/components/TextArea/index.ts +1 -1
  314. package/src/components/TextWithInfo/TextWithInfo.styles.ts +4 -5
  315. package/src/components/TextWithInfo/TextWithInfo.tsx +6 -5
  316. package/src/components/TextWithInfo/index.ts +1 -1
  317. package/src/components/TextWithTooltip/TextWithTooltip.styles.ts +8 -6
  318. package/src/components/TextWithTooltip/TextWithTooltip.tsx +15 -9
  319. package/src/components/TextWithTooltip/index.ts +1 -1
  320. package/src/components/ThemedPreloader/ThemedPreloader.styles.ts +11 -6
  321. package/src/components/ThemedPreloader/ThemedPreloader.tsx +19 -11
  322. package/src/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.styles.ts +4 -4
  323. package/src/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.tsx +3 -6
  324. package/src/components/ThemedPreloader/components/DotsPreloader/index.ts +1 -1
  325. package/src/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.styles.ts +4 -4
  326. package/src/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.tsx +5 -6
  327. package/src/components/ThemedPreloader/components/SvgPreloader/index.ts +1 -1
  328. package/src/components/ThemedPreloader/index.ts +2 -2
  329. package/src/components/Toaster/Toaster.styles.ts +8 -7
  330. package/src/components/Toaster/Toaster.tsx +15 -9
  331. package/src/components/Toaster/index.ts +1 -1
  332. package/src/components/Toaster/types.ts +1 -1
  333. package/src/components/Tooltip/Tooltip.styles.ts +20 -16
  334. package/src/components/Tooltip/Tooltip.tsx +10 -6
  335. package/src/components/Tooltip/index.ts +1 -1
  336. package/src/helpers/index.ts +0 -1
  337. package/src/helpers/misc.ts +1 -1
  338. package/src/helpers/phone.ts +4 -1
  339. package/src/hooks/index.ts +0 -1
  340. package/src/hooks/use-tweak-styles.ts +56 -12
  341. package/src/index.ts +1 -1
  342. package/src/theme/Provider.tsx +21 -0
  343. package/src/{theme.ts → theme/common.ts} +6 -6
  344. package/src/theme/helpers.ts +74 -0
  345. package/src/theme/index.ts +4 -0
  346. package/src/theme/types.ts +137 -0
  347. package/src/types.ts +4 -82
  348. package/dist/components/FlexibleTable/components/TableRow/TableRow.d.ts +0 -28
  349. package/dist/components/FlexibleTable/components/TableRow/index.d.ts +0 -1
  350. package/dist/components/FlexibleTable/components/TableValue/TableValue.d.ts +0 -21
  351. package/dist/components/FlexibleTable/components/TableValue/index.d.ts +0 -1
  352. package/dist/components/IncrementInput/components/ChangeButton/ChangeButton.d.ts +0 -10
  353. package/dist/components/IncrementInput/components/ChangeButton/index.d.ts +0 -1
  354. package/dist/components/IncrementInput/components/index.d.ts +0 -1
  355. package/dist/helpers/deprecated.d.ts +0 -12
  356. package/dist/hooks/use-theme.d.ts +0 -9
  357. package/src/components/FlexibleTable/components/TableRow/index.ts +0 -1
  358. package/src/components/FlexibleTable/components/TableValue/index.ts +0 -1
  359. package/src/components/IncrementInput/components/ChangeButton/ChangeButton.tsx +0 -33
  360. package/src/components/IncrementInput/components/ChangeButton/index.ts +0 -1
  361. package/src/components/IncrementInput/components/index.ts +0 -1
  362. package/src/helpers/deprecated.ts +0 -23
  363. package/src/hooks/use-theme.ts +0 -32
@@ -1,2 +1,2 @@
1
1
  export * from './FilterWithPeriod';
2
- export type { FilterWithPeriodStyles } from './FilterWithPeriod.styles';
2
+ export type { IFilterWithPeriodStyles } from './FilterWithPeriod.styles';
@@ -1,8 +1,8 @@
1
- import { colors } from '../../../../theme';
2
- import { ComponentStyles } from '../../../../types';
1
+ import { colors, createThemedStyles, ITweakStyles } from '../../../../theme';
2
+ import { IFilterValueViewStyles } from '../FilterValueView';
3
3
  import { FILTER_HEIGHT } from '../../FiltersPane.styles';
4
4
 
5
- export const styles = {
5
+ export const useStyles = createThemedStyles('FilterWrapper', {
6
6
  root: {
7
7
  position: 'relative',
8
8
  transition: '0.25s ease-in-out',
@@ -105,6 +105,11 @@ export const styles = {
105
105
  'dropdown-enter-active': { extend: 'animationStart' },
106
106
  'dropdown-exit-active': { extend: 'animationStart' },
107
107
  'dropdown-exit': { extend: 'animationEnd' },
108
- };
109
-
110
- export type FilterWrapperStyles = ComponentStyles<typeof styles>;
108
+ });
109
+
110
+ export type IFilterWrapperStyles = ITweakStyles<
111
+ typeof useStyles,
112
+ {
113
+ tweakValueView: IFilterValueViewStyles;
114
+ }
115
+ >;
@@ -1,37 +1,47 @@
1
1
  import { useState, useRef, RefObject } from 'react';
2
2
  import { CSSTransition } from 'react-transition-group';
3
3
  import clsx from 'clsx';
4
- import { useTheme } from '../../../../hooks';
4
+ import { addDataTestId, getTestId } from '@true-engineering/true-react-platform-helpers';
5
+ import { addDataAttributes } from '../../../../helpers';
6
+ import { useTweakStyles } from '../../../../hooks';
7
+ import { ICommonProps } from '../../../../types';
5
8
  import { Icon } from '../../../Icon';
6
9
  import { ConfigItem, IFilterLocaleKey, IPartialFilterLocale } from '../../types';
7
10
  import { Filter } from '../Filter';
8
11
  import { FilterValueView } from '../FilterValueView';
9
- import { FilterWrapperStyles, styles } from './FilterWrapper.styles';
12
+ import { useStyles, IFilterWrapperStyles } from './FilterWrapper.styles';
10
13
 
11
- export interface IFilterWrapperProps<Values, Key extends keyof Values> {
12
- tweakStyles?: FilterWrapperStyles;
14
+ export interface IFilterWrapperProps<Values, Key extends keyof Values>
15
+ extends ICommonProps<IFilterWrapperStyles> {
13
16
  filter: ConfigItem<Values[Key]>;
14
17
  value?: Values[Key];
15
- onChange: <V>(value: V) => void;
16
18
  isDisabled?: boolean;
17
19
  localeKey?: IFilterLocaleKey;
18
20
  locale?: IPartialFilterLocale;
19
- testId?: string;
20
21
  filtersPaneRef: RefObject<HTMLDivElement> | null;
22
+ onChange<V>(value: V): void;
21
23
  }
22
24
 
23
25
  export function FilterWrapper<Values, Key extends keyof Values>({
24
26
  filter,
25
27
  value,
26
28
  isDisabled,
27
- onChange,
28
29
  locale,
29
30
  localeKey,
31
+ data,
30
32
  testId,
31
33
  filtersPaneRef,
32
34
  tweakStyles,
35
+ onChange,
33
36
  }: IFilterWrapperProps<Values, Key>): JSX.Element {
34
- const { classes } = useTheme('FilterWrapper', styles, tweakStyles);
37
+ const classes = useStyles({ theme: tweakStyles });
38
+
39
+ const tweakFilterValueViewStyles = useTweakStyles({
40
+ tweakStyles,
41
+ className: 'tweakValueView',
42
+ currentComponentName: 'FilterWrapper',
43
+ });
44
+
35
45
  const [isOpen, setIsOpen] = useState(false);
36
46
  const refItem = useRef<HTMLDivElement>(null);
37
47
 
@@ -86,7 +96,8 @@ export function FilterWrapper<Values, Key extends keyof Values>({
86
96
  [classes.boolean]: isBoolean,
87
97
  [classes.disabled]: isDisabled,
88
98
  })}
89
- data-testid={testId}
99
+ {...addDataTestId(testId)}
100
+ {...addDataAttributes(data)}
90
101
  >
91
102
  <div
92
103
  ref={refItem}
@@ -98,7 +109,14 @@ export function FilterWrapper<Values, Key extends keyof Values>({
98
109
  <div className={classes.name}>{filter.name}</div>
99
110
  {!isBoolean && value !== undefined && value !== null && (
100
111
  <div className={classes.value}>
101
- <FilterValueView value={value} filter={filter} localeKey={localeKey} locale={locale} />
112
+ <FilterValueView
113
+ value={value}
114
+ filter={filter}
115
+ localeKey={localeKey}
116
+ locale={locale}
117
+ testId={getTestId(testId, 'value')}
118
+ tweakStyles={tweakFilterValueViewStyles}
119
+ />
102
120
  </div>
103
121
  )}
104
122
  {!isBoolean && (
@@ -1,2 +1,2 @@
1
1
  export * from './FilterWrapper';
2
- export type { FilterWrapperStyles } from './FilterWrapper.styles';
2
+ export type { IFilterWrapperStyles } from './FilterWrapper.styles';
@@ -1,9 +1,10 @@
1
1
  import { rgba } from '../../../../helpers';
2
- import { colors, dimensions } from '../../../../theme';
3
- import { ComponentStyles } from '../../../../types';
2
+ import { colors, createThemedStyles, dimensions, ITweakStyles } from '../../../../theme';
3
+ import { ISearchInputStyles } from '../../../SearchInput';
4
+ import { ISelectStyles } from '../../../Select';
4
5
  import { FILTER_HEIGHT } from '../../FiltersPane.styles';
5
6
 
6
- export const styles = {
7
+ export const useStyles = createThemedStyles('FiltersPaneSearch', {
7
8
  root: {
8
9
  display: 'flex',
9
10
  position: 'relative',
@@ -78,32 +79,38 @@ export const styles = {
78
79
  active: {
79
80
  fontWeight: 'bold',
80
81
  },
82
+ });
81
83
 
82
- tweakSearchInput: {
83
- tweakInput: {
84
- inputWrapper: {
85
- backgroundColor: 'transparent',
86
- border: 'none',
87
- height: FILTER_HEIGHT - 2,
88
- fontSize: 14,
89
- minWidth: 140,
90
- },
84
+ export const searchInputStyles: ISearchInputStyles = {
85
+ tweakInput: {
86
+ inputWrapper: {
87
+ backgroundColor: 'transparent',
88
+ border: 'none',
89
+ height: FILTER_HEIGHT - 2,
90
+ fontSize: 14,
91
+ minWidth: 140,
92
+ },
91
93
 
92
- focused: {
93
- backgroundColor: 'transparent',
94
- border: 'none',
95
- },
94
+ focused: {
95
+ backgroundColor: 'transparent',
96
+ border: 'none',
96
97
  },
97
98
  },
99
+ };
98
100
 
99
- tweakSelect: {
100
- root: {
101
- borderRadius: 0,
102
- borderBottomLeftRadius: 6,
103
- borderBottomRightRadius: 6,
104
- boxShadow: 'none',
105
- },
101
+ export const selectStyles: ISelectStyles = {
102
+ root: {
103
+ borderRadius: 0,
104
+ borderBottomLeftRadius: 6,
105
+ borderBottomRightRadius: 6,
106
+ boxShadow: 'none',
106
107
  },
107
108
  };
108
109
 
109
- export type FiltersPaneSearchStyles = ComponentStyles<typeof styles>;
110
+ export type IFiltersPaneSearchStyles = ITweakStyles<
111
+ typeof useStyles,
112
+ {
113
+ tweakSearchInput: ISearchInputStyles;
114
+ tweakSelect: ISelectStyles;
115
+ }
116
+ >;
@@ -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,7 +1,6 @@
1
- import { colors } from '../../theme';
2
- import { ComponentStyles } from '../../types';
1
+ import { colors, ITweakStyles, createThemedStyles } from '../../theme';
3
2
 
4
- export const styles = {
3
+ export const useStyles = createThemedStyles('Flag', {
5
4
  root: {
6
5
  // приходится хардкодить в компоненте, тк либа Flags выдает флаги с 2-3 пиксельным отступом снизу
7
6
  // если будет нужно, то можно вынести border на уровень пропсов
@@ -13,6 +12,6 @@ export const styles = {
13
12
  width: 20,
14
13
  color: colors.FONT_MEDIUM,
15
14
  },
16
- };
15
+ });
17
16
 
18
- export type FlagStyles = ComponentStyles<typeof styles>;
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,2 +1,2 @@
1
1
  export * from './Flag';
2
- export type { FlagStyles } from './Flag.styles';
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';