@true-engineering/true-react-common-ui-kit 4.0.0-alpha6 → 4.0.0-alpha61

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 (486) hide show
  1. package/README.md +12 -660
  2. package/dist/components/AccountInfo/AccountInfo.styles.d.ts +1 -1
  3. package/dist/components/AddButton/AddButton.d.ts +1 -0
  4. package/dist/components/AddButton/AddButton.styles.d.ts +1 -1
  5. package/dist/components/Button/Button.d.ts +1 -1
  6. package/dist/components/Button/Button.styles.d.ts +1 -1
  7. package/dist/components/Checkbox/Checkbox.d.ts +3 -1
  8. package/dist/components/Checkbox/Checkbox.styles.d.ts +3 -2
  9. package/dist/components/Checkbox/index.d.ts +1 -0
  10. package/dist/components/Checkbox/types.d.ts +3 -0
  11. package/dist/components/CloseButton/CloseButton.styles.d.ts +1 -1
  12. package/dist/components/ControlWrapper/ControlWrapper.d.ts +10 -3
  13. package/dist/components/ControlWrapper/ControlWrapper.styles.d.ts +3 -2
  14. package/dist/components/ControlWrapper/constants.d.ts +1 -0
  15. package/dist/components/ControlWrapper/helpers.d.ts +4 -0
  16. package/dist/components/ControlWrapper/index.d.ts +3 -0
  17. package/dist/components/ControlWrapper/types.d.ts +14 -0
  18. package/dist/components/CssBaseline/CssBaseline.styles.d.ts +1 -1
  19. package/dist/components/DateInput/DateInput.d.ts +1 -3
  20. package/dist/components/DateInput/DateInput.styles.d.ts +1 -1
  21. package/dist/components/DateInput/constants.d.ts +1 -1
  22. package/dist/components/DatePicker/DatePicker.d.ts +4 -4
  23. package/dist/components/DatePicker/DatePicker.styles.d.ts +1 -1
  24. package/dist/components/DatePicker/components/DatePickerBase/DatePickerBase.d.ts +5 -0
  25. package/dist/components/DatePicker/components/DatePickerBase/index.d.ts +1 -0
  26. package/dist/components/DatePicker/components/DatePickerHeader/DatePickerHeader.styles.d.ts +1 -1
  27. package/dist/components/DatePicker/components/PopperContainer/PopperContainer.d.ts +2 -4
  28. package/dist/components/DatePicker/components/index.d.ts +1 -0
  29. package/dist/components/DatePicker/constants.d.ts +7 -2
  30. package/dist/components/DatePicker/index.d.ts +1 -0
  31. package/dist/components/DatePicker/types.d.ts +2 -2
  32. package/dist/components/Description/Description.styles.d.ts +1 -1
  33. package/dist/components/FileInput/FileInput.d.ts +1 -1
  34. package/dist/components/FileInput/FileInput.styles.d.ts +1 -1
  35. package/dist/components/FileItem/FileItem.styles.d.ts +1 -1
  36. package/dist/components/FileItem/constants.d.ts +3 -4
  37. package/dist/components/FileItem/helpers.d.ts +3 -2
  38. package/dist/components/FileItem/types.d.ts +1 -2
  39. package/dist/components/FiltersPane/FiltersPane.d.ts +7 -3
  40. package/dist/components/FiltersPane/FiltersPane.styles.d.ts +2 -2
  41. package/dist/components/FiltersPane/components/Filter/Filter.d.ts +3 -4
  42. package/dist/components/FiltersPane/components/Filter/helpers.d.ts +4 -0
  43. package/dist/components/FiltersPane/components/FilterInterval/FilterInterval.d.ts +3 -11
  44. package/dist/components/FiltersPane/components/FilterInterval/FilterInterval.styles.d.ts +3 -6
  45. package/dist/components/FiltersPane/components/FilterMultiSelect/FilterMultiSelect.d.ts +0 -1
  46. package/dist/components/FiltersPane/components/FilterSelect/FilterSelect.styles.d.ts +3 -6
  47. package/dist/components/FiltersPane/components/FilterValueView/FilterValueView.d.ts +4 -3
  48. package/dist/components/FiltersPane/components/FilterValueView/FilterValueView.styles.d.ts +1 -1
  49. package/dist/components/FiltersPane/components/FilterWithDates/FilterWithDates.styles.d.ts +5 -11
  50. package/dist/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.styles.d.ts +1 -1
  51. package/dist/components/FiltersPane/components/FilterWrapper/FilterWrapper.d.ts +2 -3
  52. package/dist/components/FiltersPane/components/FilterWrapper/FilterWrapper.styles.d.ts +2 -2
  53. package/dist/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.d.ts +2 -1
  54. package/dist/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.styles.d.ts +1 -1
  55. package/dist/components/FiltersPane/constants.d.ts +1 -1
  56. package/dist/components/FiltersPane/helpers.d.ts +1 -1
  57. package/dist/components/FiltersPane/index.d.ts +1 -0
  58. package/dist/components/FiltersPane/types.d.ts +8 -3
  59. package/dist/components/Flag/Flag.styles.d.ts +1 -1
  60. package/dist/components/FlexibleTable/FlexibleTable.d.ts +4 -2
  61. package/dist/components/FlexibleTable/FlexibleTable.styles.d.ts +2 -2
  62. package/dist/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.d.ts +4 -3
  63. package/dist/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.styles.d.ts +1 -1
  64. package/dist/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.d.ts +2 -5
  65. package/dist/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.styles.d.ts +1 -1
  66. package/dist/components/FlexibleTable/helpers.d.ts +2 -2
  67. package/dist/components/FlexibleTable/types.d.ts +19 -11
  68. package/dist/components/FloatDocActions/FloatDocActions.d.ts +6 -0
  69. package/dist/components/FloatDocActions/FloatDocActions.styles.d.ts +8 -0
  70. package/dist/components/FloatDocActions/components/DocActions/DocActions.d.ts +12 -0
  71. package/dist/components/FloatDocActions/components/DocActions/DocActions.styles.d.ts +6 -0
  72. package/dist/components/FloatDocActions/components/DocActions/constants.d.ts +1 -0
  73. package/dist/components/FloatDocActions/components/DocActions/index.d.ts +4 -0
  74. package/dist/components/FloatDocActions/components/DocActions/types.d.ts +2 -0
  75. package/dist/components/FloatDocActions/components/index.d.ts +1 -0
  76. package/dist/components/FloatDocActions/constants.d.ts +1 -0
  77. package/dist/components/FloatDocActions/index.d.ts +3 -0
  78. package/dist/components/Icon/Icon.styles.d.ts +1 -1
  79. package/dist/components/Icon/icons/index.d.ts +31 -0
  80. package/dist/components/Icon/index.d.ts +1 -1
  81. package/dist/components/Icon/types.d.ts +7 -11
  82. package/dist/components/IconButton/IconButton.d.ts +1 -2
  83. package/dist/components/IconButton/IconButton.styles.d.ts +1 -1
  84. package/dist/components/IconButton/constants.d.ts +1 -1
  85. package/dist/components/IncrementInput/IncrementInput.styles.d.ts +1 -3
  86. package/dist/components/Input/Input.d.ts +3 -3
  87. package/dist/components/Input/Input.styles.d.ts +1 -1
  88. package/dist/components/Input/InputBase.d.ts +3 -3
  89. package/dist/components/List/List.d.ts +1 -1
  90. package/dist/components/List/List.styles.d.ts +1 -1
  91. package/dist/components/List/components/ListItem/ListItem.styles.d.ts +1 -1
  92. package/dist/components/List/index.d.ts +2 -1
  93. package/dist/components/List/types.d.ts +4 -0
  94. package/dist/components/Modal/Modal.d.ts +1 -1
  95. package/dist/components/Modal/Modal.styles.d.ts +1 -1
  96. package/dist/components/MoreMenu/MoreMenu.styles.d.ts +1 -1
  97. package/dist/components/MultiSelect/MultiSelect.d.ts +0 -1
  98. package/dist/components/MultiSelect/MultiSelect.styles.d.ts +1 -1
  99. package/dist/components/MultiSelect/components/MultiSelectInput/MultiSelectInput.styles.d.ts +1 -1
  100. package/dist/components/MultiSelectList/MultiSelectList.styles.d.ts +1 -1
  101. package/dist/components/MultiSelectList/constants.d.ts +1 -1
  102. package/dist/components/MultiSelectList/helpers.d.ts +1 -1
  103. package/dist/components/NewMoreMenu/NewMoreMenu.styles.d.ts +1 -1
  104. package/dist/components/Notification/Notification.styles.d.ts +1 -1
  105. package/dist/components/NumberInput/NumberInput.d.ts +1 -2
  106. package/dist/components/NumberInput/helpers.d.ts +2 -2
  107. package/dist/components/PhoneInput/PhoneInput.styles.d.ts +1 -1
  108. package/dist/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.styles.d.ts +1 -1
  109. package/dist/components/RadioButton/RadioButton.d.ts +3 -1
  110. package/dist/components/RadioButton/RadioButton.styles.d.ts +3 -2
  111. package/dist/components/RadioButton/index.d.ts +1 -0
  112. package/dist/components/RadioButton/types.d.ts +3 -0
  113. package/dist/components/ScrollIntoViewIfNeeded/ScrollIntoViewIfNeeded.d.ts +3 -373
  114. package/dist/components/ScrollIntoViewIfNeeded/constants.d.ts +1 -1
  115. package/dist/components/SearchInput/SearchInput.d.ts +2 -3
  116. package/dist/components/Select/Select.d.ts +3 -3
  117. package/dist/components/Select/Select.styles.d.ts +12 -22
  118. package/dist/components/Select/components/SelectList/SelectList.d.ts +8 -6
  119. package/dist/components/Select/components/SelectList/SelectList.styles.d.ts +3 -2
  120. package/dist/components/Select/components/SelectListItem/SelectListItem.d.ts +4 -3
  121. package/dist/components/Select/helpers.d.ts +1 -1
  122. package/dist/components/Select/index.d.ts +1 -1
  123. package/dist/components/Select/types.d.ts +4 -0
  124. package/dist/components/Selector/Selector.d.ts +0 -1
  125. package/dist/components/Selector/Selector.styles.d.ts +1 -1
  126. package/dist/components/Skeleton/Skeleton.styles.d.ts +1 -1
  127. package/dist/components/SmartInput/SmartInput.d.ts +1 -1
  128. package/dist/components/Status/Status.styles.d.ts +3 -2
  129. package/dist/components/Status/constants.d.ts +0 -1
  130. package/dist/components/Status/index.d.ts +1 -0
  131. package/dist/components/Status/types.d.ts +5 -2
  132. package/dist/components/Switch/Switch.d.ts +3 -2
  133. package/dist/components/Switch/Switch.styles.d.ts +3 -2
  134. package/dist/components/Switch/types.d.ts +3 -0
  135. package/dist/components/TextArea/TextArea.d.ts +5 -6
  136. package/dist/components/TextArea/TextArea.styles.d.ts +5 -4
  137. package/dist/components/TextArea/index.d.ts +1 -1
  138. package/dist/components/TextArea/types.d.ts +4 -2
  139. package/dist/components/TextButton/TextButton.d.ts +1 -1
  140. package/dist/components/TextButton/TextButton.styles.d.ts +1 -1
  141. package/dist/components/TextWithInfo/TextWithInfo.styles.d.ts +1 -1
  142. package/dist/components/TextWithTooltip/TextWithTooltip.d.ts +2 -0
  143. package/dist/components/TextWithTooltip/TextWithTooltip.styles.d.ts +1 -1
  144. package/dist/components/ThemedPreloader/ThemedPreloader.styles.d.ts +1 -1
  145. package/dist/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.styles.d.ts +1 -1
  146. package/dist/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.styles.d.ts +1 -1
  147. package/dist/components/Toaster/Toaster.styles.d.ts +1 -1
  148. package/dist/components/Tooltip/Tooltip.d.ts +3 -0
  149. package/dist/components/Tooltip/Tooltip.styles.d.ts +3 -2
  150. package/dist/components/Tooltip/types.d.ts +3 -0
  151. package/dist/components/WithMessages/WithMessages.d.ts +1 -1
  152. package/dist/components/WithMessages/WithMessages.styles.d.ts +1 -1
  153. package/dist/components/WithPopup/WithPopup.d.ts +11 -3
  154. package/dist/components/WithPopup/WithPopup.styles.d.ts +1 -1
  155. package/dist/components/WithPopup/types.d.ts +4 -4
  156. package/dist/components/WithTooltip/WithTooltip.d.ts +2 -0
  157. package/dist/components/index.d.ts +1 -1
  158. package/dist/constants/phone-info.d.ts +1 -1
  159. package/dist/helpers/misc.d.ts +5 -3
  160. package/dist/helpers/phone.d.ts +1 -1
  161. package/dist/hooks/index.d.ts +8 -4
  162. package/dist/hooks/use-dropdown.d.ts +3 -3
  163. package/dist/hooks/use-intersection-ref.d.ts +9 -0
  164. package/dist/hooks/use-latest-ref.d.ts +2 -0
  165. package/dist/hooks/use-merge.d.ts +1 -0
  166. package/dist/hooks/use-mixed-styles.d.ts +3 -1
  167. package/dist/hooks/use-on-click-outside.d.ts +2 -2
  168. package/dist/hooks/use-resize-ref.d.ts +7 -0
  169. package/dist/hooks/use-tweak-styles.d.ts +8 -7
  170. package/dist/theme/Provider.d.ts +3 -10
  171. package/dist/theme/common.d.ts +34 -4
  172. package/dist/theme/helpers.d.ts +2 -9
  173. package/dist/theme/types.d.ts +13 -10
  174. package/dist/true-react-common-ui-kit.js +7906 -27407
  175. package/dist/true-react-common-ui-kit.js.map +1 -1
  176. package/dist/true-react-common-ui-kit.umd.cjs +1 -31620
  177. package/dist/true-react-common-ui-kit.umd.cjs.map +1 -1
  178. package/dist/types.d.ts +9 -2
  179. package/package.json +36 -39
  180. package/src/components/AccountInfo/AccountInfo.stories.tsx +19 -27
  181. package/src/components/AccountInfo/AccountInfo.tsx +2 -3
  182. package/src/components/AddButton/AddButton.stories.tsx +14 -17
  183. package/src/components/AddButton/AddButton.tsx +3 -5
  184. package/src/components/Button/Button.stories.tsx +8 -26
  185. package/src/components/Button/Button.tsx +76 -77
  186. package/src/components/Checkbox/Checkbox.stories.tsx +27 -16
  187. package/src/components/Checkbox/Checkbox.styles.ts +3 -1
  188. package/src/components/Checkbox/Checkbox.tsx +7 -5
  189. package/src/components/Checkbox/index.ts +1 -0
  190. package/src/components/Checkbox/types.ts +4 -0
  191. package/src/components/CloseButton/CloseButton.stories.tsx +5 -6
  192. package/src/components/CloseButton/CloseButton.tsx +2 -4
  193. package/src/components/Colors/Colors.stories.tsx +64 -3
  194. package/src/components/ControlWrapper/ControlWrapper.stories.tsx +46 -35
  195. package/src/components/ControlWrapper/ControlWrapper.styles.ts +15 -6
  196. package/src/components/ControlWrapper/ControlWrapper.tsx +73 -44
  197. package/src/components/ControlWrapper/constants.ts +11 -0
  198. package/src/components/ControlWrapper/helpers.ts +11 -0
  199. package/src/components/ControlWrapper/index.ts +3 -0
  200. package/src/components/ControlWrapper/types.ts +19 -0
  201. package/src/components/CssBaseline/CssBaseline.styles.ts +2 -0
  202. package/src/components/CssBaseline/CssBaseline.tsx +2 -3
  203. package/src/components/DateInput/DateInput.stories.tsx +13 -31
  204. package/src/components/DateInput/DateInput.tsx +61 -64
  205. package/src/components/DatePicker/DatePicker.stories.tsx +18 -42
  206. package/src/components/DatePicker/DatePicker.styles.ts +3 -1
  207. package/src/components/DatePicker/DatePicker.tsx +284 -256
  208. package/src/components/DatePicker/components/DatePickerBase/DatePickerBase.tsx +14 -0
  209. package/src/components/DatePicker/components/DatePickerBase/index.ts +1 -0
  210. package/src/components/DatePicker/components/PopperContainer/PopperContainer.tsx +4 -4
  211. package/src/components/DatePicker/components/index.ts +1 -0
  212. package/src/components/DatePicker/constants.ts +9 -3
  213. package/src/components/DatePicker/helpers.ts +1 -1
  214. package/src/components/DatePicker/index.ts +1 -0
  215. package/src/components/DatePicker/types.ts +6 -4
  216. package/src/components/Description/Description.stories.tsx +11 -16
  217. package/src/components/Description/Description.tsx +2 -3
  218. package/src/components/FileInput/FileInput.stories.tsx +59 -63
  219. package/src/components/FileInput/FileInput.tsx +87 -95
  220. package/src/components/FileItem/FileItem.stories.tsx +48 -48
  221. package/src/components/FileItem/FileItem.tsx +2 -4
  222. package/src/components/FileItem/constants.ts +3 -14
  223. package/src/components/FileItem/helpers.ts +3 -2
  224. package/src/components/FileItem/types.ts +1 -3
  225. package/src/components/FiltersPane/FiltersPane.stories.tsx +34 -28
  226. package/src/components/FiltersPane/FiltersPane.tsx +28 -19
  227. package/src/components/FiltersPane/components/Filter/Filter.tsx +36 -30
  228. package/src/components/FiltersPane/components/Filter/helpers.ts +18 -0
  229. package/src/components/FiltersPane/components/FilterInterval/FilterInterval.styles.ts +1 -2
  230. package/src/components/FiltersPane/components/FilterInterval/FilterInterval.tsx +7 -20
  231. package/src/components/FiltersPane/components/FilterSelect/FilterSelect.styles.ts +1 -2
  232. package/src/components/FiltersPane/components/FilterSelect/FilterSelect.tsx +22 -23
  233. package/src/components/FiltersPane/components/FilterValueView/FilterValueView.tsx +8 -5
  234. package/src/components/FiltersPane/components/FilterWithDates/FilterWithDates.styles.ts +3 -3
  235. package/src/components/FiltersPane/components/FilterWithDates/FilterWithDates.tsx +9 -7
  236. package/src/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.tsx +4 -3
  237. package/src/components/FiltersPane/components/FilterWrapper/FilterWrapper.tsx +17 -12
  238. package/src/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.styles.ts +5 -0
  239. package/src/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.tsx +19 -19
  240. package/src/components/FiltersPane/helpers.ts +3 -3
  241. package/src/components/FiltersPane/index.ts +1 -0
  242. package/src/components/FiltersPane/types.ts +12 -4
  243. package/src/components/Flag/Flag.stories.tsx +15 -20
  244. package/src/components/Flag/Flag.tsx +2 -2
  245. package/src/components/FlexibleTable/FlexibleTable.stories.tsx +47 -50
  246. package/src/components/FlexibleTable/FlexibleTable.styles.ts +5 -2
  247. package/src/components/FlexibleTable/FlexibleTable.tsx +43 -64
  248. package/src/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.styles.ts +1 -0
  249. package/src/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.tsx +13 -7
  250. package/src/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.tsx +15 -15
  251. package/src/components/FlexibleTable/types.ts +19 -11
  252. package/src/components/FloatDocActions/FloatDocActions.stories.tsx +111 -0
  253. package/src/components/FloatDocActions/FloatDocActions.styles.ts +12 -0
  254. package/src/components/FloatDocActions/FloatDocActions.tsx +34 -0
  255. package/src/components/FloatDocActions/components/DocActions/DocActions.styles.ts +29 -0
  256. package/src/components/FloatDocActions/components/DocActions/DocActions.tsx +43 -0
  257. package/src/components/FloatDocActions/components/DocActions/constants.ts +1 -0
  258. package/src/components/FloatDocActions/components/DocActions/index.ts +4 -0
  259. package/src/components/FloatDocActions/components/DocActions/types.ts +3 -0
  260. package/src/components/FloatDocActions/components/index.ts +1 -0
  261. package/src/components/FloatDocActions/constants.ts +1 -0
  262. package/src/components/FloatDocActions/index.ts +3 -0
  263. package/src/components/Icon/Icon.stories.tsx +80 -67
  264. package/src/components/Icon/Icon.styles.ts +1 -1
  265. package/src/components/Icon/Icon.tsx +17 -12
  266. package/src/components/Icon/icons/calendar.svg +1 -0
  267. package/src/components/Icon/icons/check.svg +1 -0
  268. package/src/components/Icon/icons/chevron-down-small.svg +1 -0
  269. package/src/components/Icon/icons/chevron-down.svg +1 -0
  270. package/src/components/Icon/icons/chevron-left.svg +1 -0
  271. package/src/components/Icon/icons/chevron-right.svg +1 -0
  272. package/src/components/Icon/icons/close-large.svg +1 -0
  273. package/src/components/Icon/icons/close-window.svg +1 -0
  274. package/src/components/Icon/icons/close.svg +1 -0
  275. package/src/components/Icon/icons/filter.svg +1 -0
  276. package/src/components/Icon/icons/index.ts +62 -0
  277. package/src/components/Icon/icons/information.svg +1 -0
  278. package/src/components/Icon/icons/menu.svg +1 -0
  279. package/src/components/Icon/icons/minus.svg +1 -0
  280. package/src/components/Icon/icons/plus.svg +1 -0
  281. package/src/components/Icon/icons/search.svg +1 -0
  282. package/src/components/Icon/icons/status-error.svg +1 -0
  283. package/src/components/Icon/icons/status-info.svg +1 -0
  284. package/src/components/Icon/icons/status-not-ok.svg +1 -0
  285. package/src/components/Icon/icons/status-ok.svg +1 -0
  286. package/src/components/Icon/icons/status-warning.svg +1 -0
  287. package/src/components/Icon/icons/trash-can.svg +1 -0
  288. package/src/components/Icon/index.ts +1 -1
  289. package/src/components/Icon/types.ts +7 -13
  290. package/src/components/IconButton/IconButton.stories.tsx +7 -12
  291. package/src/components/IconButton/IconButton.styles.ts +15 -13
  292. package/src/components/IconButton/IconButton.tsx +44 -48
  293. package/src/components/IconButton/constants.ts +1 -1
  294. package/src/components/IncrementInput/IncrementInput.stories.tsx +25 -23
  295. package/src/components/IncrementInput/IncrementInput.styles.ts +31 -39
  296. package/src/components/IncrementInput/IncrementInput.tsx +28 -25
  297. package/src/components/Input/Input.stories.tsx +38 -68
  298. package/src/components/Input/Input.styles.ts +5 -2
  299. package/src/components/Input/Input.tsx +29 -26
  300. package/src/components/Input/InputBase.tsx +172 -172
  301. package/src/components/List/List.stories.tsx +22 -17
  302. package/src/components/List/List.styles.ts +2 -1
  303. package/src/components/List/List.tsx +7 -5
  304. package/src/components/List/components/ListItem/ListItem.tsx +2 -4
  305. package/src/components/List/index.ts +2 -1
  306. package/src/components/List/types.ts +5 -0
  307. package/src/components/Modal/Modal.stories.tsx +50 -59
  308. package/src/components/Modal/Modal.tsx +3 -5
  309. package/src/components/MoreMenu/MoreMenu.stories.tsx +24 -15
  310. package/src/components/MoreMenu/MoreMenu.tsx +2 -4
  311. package/src/components/MultiSelect/MultiSelect.stories.tsx +23 -20
  312. package/src/components/MultiSelect/MultiSelect.tsx +2 -4
  313. package/src/components/MultiSelectList/MultiSelectList.tsx +15 -11
  314. package/src/components/MultiSelectList/helpers.ts +2 -2
  315. package/src/components/NewMoreMenu/NewMoreMenu.stories.tsx +42 -40
  316. package/src/components/NewMoreMenu/NewMoreMenu.tsx +2 -4
  317. package/src/components/Notification/Notification.stories.tsx +35 -34
  318. package/src/components/Notification/Notification.tsx +2 -3
  319. package/src/components/NumberInput/NumberInput.stories.tsx +32 -28
  320. package/src/components/NumberInput/NumberInput.tsx +91 -93
  321. package/src/components/PhoneInput/PhoneInput.stories.tsx +29 -55
  322. package/src/components/PhoneInput/PhoneInput.tsx +3 -4
  323. package/src/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.stories.tsx +5 -11
  324. package/src/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.tsx +1 -4
  325. package/src/components/RadioButton/RadioButton.stories.tsx +31 -21
  326. package/src/components/RadioButton/RadioButton.styles.ts +2 -1
  327. package/src/components/RadioButton/RadioButton.tsx +12 -5
  328. package/src/components/RadioButton/index.ts +1 -0
  329. package/src/components/RadioButton/types.ts +4 -0
  330. package/src/components/ScrollIntoViewIfNeeded/ScrollIntoViewIfNeeded.ts +15 -9
  331. package/src/components/SearchInput/SearchInput.stories.tsx +19 -14
  332. package/src/components/SearchInput/SearchInput.styles.ts +6 -12
  333. package/src/components/SearchInput/SearchInput.tsx +21 -24
  334. package/src/components/Select/CustomSelect.stories.tsx +29 -32
  335. package/src/components/Select/MultiSelect.stories.tsx +45 -45
  336. package/src/components/Select/Select.stories.tsx +45 -44
  337. package/src/components/Select/Select.styles.ts +5 -40
  338. package/src/components/Select/Select.tsx +62 -52
  339. package/src/components/Select/components/SelectList/SelectList.styles.ts +2 -1
  340. package/src/components/Select/components/SelectList/SelectList.tsx +13 -7
  341. package/src/components/Select/components/SelectListItem/SelectListItem.tsx +5 -2
  342. package/src/components/Select/index.ts +1 -1
  343. package/src/components/Select/types.ts +3 -0
  344. package/src/components/Selector/Selector.stories.tsx +25 -27
  345. package/src/components/Selector/Selector.tsx +5 -8
  346. package/src/components/Skeleton/Skeleton.stories.tsx +13 -12
  347. package/src/components/SmartInput/SmartInput.stories.tsx +23 -23
  348. package/src/components/SmartInput/SmartInput.tsx +85 -87
  349. package/src/components/Status/Status.stories.tsx +79 -28
  350. package/src/components/Status/Status.styles.ts +2 -37
  351. package/src/components/Status/Status.tsx +5 -4
  352. package/src/components/Status/constants.ts +0 -10
  353. package/src/components/Status/index.ts +1 -1
  354. package/src/components/Status/types.ts +7 -3
  355. package/src/components/Switch/Switch.stories.tsx +19 -26
  356. package/src/components/Switch/Switch.styles.ts +21 -13
  357. package/src/components/Switch/Switch.tsx +11 -6
  358. package/src/components/Switch/types.ts +5 -0
  359. package/src/components/TextArea/TextArea.stories.tsx +37 -26
  360. package/src/components/TextArea/TextArea.styles.ts +15 -8
  361. package/src/components/TextArea/TextArea.tsx +114 -83
  362. package/src/components/TextArea/index.ts +1 -1
  363. package/src/components/TextArea/types.ts +5 -5
  364. package/src/components/TextButton/TextButton.stories.tsx +8 -19
  365. package/src/components/TextButton/TextButton.styles.ts +1 -0
  366. package/src/components/TextButton/TextButton.tsx +68 -69
  367. package/src/components/TextWithInfo/TextWithInfo.stories.tsx +13 -21
  368. package/src/components/TextWithInfo/TextWithInfo.tsx +2 -4
  369. package/src/components/TextWithTooltip/TextWithTooltip.stories.tsx +26 -25
  370. package/src/components/TextWithTooltip/TextWithTooltip.tsx +7 -6
  371. package/src/components/ThemedPreloader/ThemedPreloader.stories.tsx +12 -23
  372. package/src/components/ThemedPreloader/ThemedPreloader.tsx +2 -4
  373. package/src/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.tsx +4 -4
  374. package/src/components/Toaster/Toaster.stories.tsx +16 -14
  375. package/src/components/Toaster/Toaster.tsx +2 -4
  376. package/src/components/Tooltip/Tooltip.stories.tsx +15 -4
  377. package/src/components/Tooltip/Tooltip.styles.ts +2 -1
  378. package/src/components/Tooltip/Tooltip.tsx +12 -5
  379. package/src/components/Tooltip/types.ts +5 -0
  380. package/src/components/WithMessages/WithMessages.stories.tsx +16 -20
  381. package/src/components/WithMessages/WithMessages.tsx +41 -40
  382. package/src/components/WithPopup/WithPopup.stories.tsx +27 -26
  383. package/src/components/WithPopup/WithPopup.tsx +36 -15
  384. package/src/components/WithTooltip/WithTooltip.stories.tsx +28 -28
  385. package/src/components/WithTooltip/WithTooltip.tsx +4 -0
  386. package/src/components/index.ts +1 -1
  387. package/src/helpers/misc.ts +15 -7
  388. package/src/helpers/popper-helpers.ts +0 -1
  389. package/src/hooks/index.ts +8 -4
  390. package/src/hooks/use-intersection-ref.ts +48 -0
  391. package/src/hooks/use-latest-ref.ts +11 -0
  392. package/src/hooks/use-merge.ts +8 -0
  393. package/src/hooks/use-mixed-styles.ts +9 -11
  394. package/src/hooks/use-on-click-outside.ts +22 -14
  395. package/src/hooks/use-resize-ref.ts +35 -0
  396. package/src/hooks/use-tweak-styles.ts +18 -33
  397. package/src/theme/Provider.tsx +5 -17
  398. package/src/theme/common.ts +33 -36
  399. package/src/theme/helpers.ts +60 -50
  400. package/src/theme/types.ts +19 -15
  401. package/src/types.ts +17 -6
  402. package/dist/components/AccountInfo/AccountInfo.stories.d.ts +0 -6
  403. package/dist/components/AddButton/AddButton.stories.d.ts +0 -6
  404. package/dist/components/Button/Button.stories.d.ts +0 -6
  405. package/dist/components/Checkbox/Checkbox.stories.d.ts +0 -8
  406. package/dist/components/CloseButton/CloseButton.stories.d.ts +0 -5
  407. package/dist/components/Colors/Colors.d.ts +0 -2
  408. package/dist/components/Colors/Colors.stories.d.ts +0 -5
  409. package/dist/components/Colors/Colors.styles.d.ts +0 -1
  410. package/dist/components/Colors/index.d.ts +0 -1
  411. package/dist/components/ControlWrapper/ControlWrapper.stories.d.ts +0 -6
  412. package/dist/components/DateInput/DateInput.stories.d.ts +0 -7
  413. package/dist/components/DatePicker/DatePicker.stories.d.ts +0 -7
  414. package/dist/components/Description/Description.stories.d.ts +0 -16
  415. package/dist/components/FileInput/FileInput.stories.d.ts +0 -7
  416. package/dist/components/FileItem/FileItem.stories.d.ts +0 -8
  417. package/dist/components/FiltersPane/FiltersPane.stories.d.ts +0 -31
  418. package/dist/components/Flag/Flag.stories.d.ts +0 -12
  419. package/dist/components/FlexibleTable/FlexibleTable.stories.d.ts +0 -19
  420. package/dist/components/Icon/Icon.stories.d.ts +0 -6
  421. package/dist/components/Icon/complexIcons/icons.d.ts +0 -10
  422. package/dist/components/Icon/complexIcons/index.d.ts +0 -1
  423. package/dist/components/Icon/components/ComplexIconBoilerplate/ComplexIconBoilerplate.d.ts +0 -6
  424. package/dist/components/Icon/components/ComplexIconBoilerplate/index.d.ts +0 -1
  425. package/dist/components/Icon/components/IconBolerplate/IconBoilerplate.d.ts +0 -6
  426. package/dist/components/Icon/components/IconBolerplate/index.d.ts +0 -1
  427. package/dist/components/Icon/components/index.d.ts +0 -2
  428. package/dist/components/Icon/helpers.d.ts +0 -6
  429. package/dist/components/Icon/icons-list.d.ts +0 -1
  430. package/dist/components/IconButton/IconButton.stories.d.ts +0 -6
  431. package/dist/components/IncrementInput/IncrementInput.stories.d.ts +0 -6
  432. package/dist/components/Input/Input.stories.d.ts +0 -25
  433. package/dist/components/List/List.stories.d.ts +0 -5
  434. package/dist/components/Modal/Modal.stories.d.ts +0 -29
  435. package/dist/components/MoreMenu/MoreMenu.stories.d.ts +0 -6
  436. package/dist/components/MultiSelect/MultiSelect.stories.d.ts +0 -13
  437. package/dist/components/NewMoreMenu/NewMoreMenu.stories.d.ts +0 -12
  438. package/dist/components/Notification/Notification.stories.d.ts +0 -8
  439. package/dist/components/NumberInput/NumberInput.stories.d.ts +0 -7
  440. package/dist/components/PhoneInput/PhoneInput.stories.d.ts +0 -28
  441. package/dist/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.stories.d.ts +0 -5
  442. package/dist/components/RadioButton/RadioButton.stories.d.ts +0 -7
  443. package/dist/components/SearchInput/SearchInput.stories.d.ts +0 -7
  444. package/dist/components/Select/CustomSelect.stories.d.ts +0 -11
  445. package/dist/components/Select/MultiSelect.stories.d.ts +0 -15
  446. package/dist/components/Select/Select.stories.d.ts +0 -15
  447. package/dist/components/Selector/Selector.stories.d.ts +0 -7
  448. package/dist/components/Skeleton/Skeleton.stories.d.ts +0 -6
  449. package/dist/components/SmartInput/SmartInput.stories.d.ts +0 -18
  450. package/dist/components/Status/Status.stories.d.ts +0 -6
  451. package/dist/components/Switch/Switch.stories.d.ts +0 -16
  452. package/dist/components/TextArea/TextArea.stories.d.ts +0 -17
  453. package/dist/components/TextButton/TextButton.stories.d.ts +0 -6
  454. package/dist/components/TextWithInfo/TextWithInfo.stories.d.ts +0 -12
  455. package/dist/components/TextWithTooltip/TextWithTooltip.stories.d.ts +0 -24
  456. package/dist/components/ThemedPreloader/ThemedPreloader.stories.d.ts +0 -17
  457. package/dist/components/Toaster/Toaster.stories.d.ts +0 -5
  458. package/dist/components/Tooltip/Tooltip.stories.d.ts +0 -5
  459. package/dist/components/WithMessages/WithMessages.stories.d.ts +0 -7
  460. package/dist/components/WithPopup/WithPopup.stories.d.ts +0 -16
  461. package/dist/components/WithTooltip/WithTooltip.stories.d.ts +0 -6
  462. package/dist/style.css +0 -820
  463. package/src/components/Colors/Colors.styles.ts +0 -36
  464. package/src/components/Colors/Colors.tsx +0 -26
  465. package/src/components/Colors/index.ts +0 -1
  466. package/src/components/Flag/augment.d.ts +0 -1
  467. package/src/components/Flag/customFlags/augment.d.ts +0 -1
  468. package/src/components/Icon/complexIcons/augment.d.ts +0 -1
  469. package/src/components/Icon/complexIcons/icons.ts +0 -19
  470. package/src/components/Icon/complexIcons/index.ts +0 -1
  471. package/src/components/Icon/components/ComplexIconBoilerplate/ComplexIconBoilerplate.tsx +0 -16
  472. package/src/components/Icon/components/ComplexIconBoilerplate/index.ts +0 -1
  473. package/src/components/Icon/components/IconBolerplate/IconBoilerplate.tsx +0 -43
  474. package/src/components/Icon/components/IconBolerplate/index.ts +0 -1
  475. package/src/components/Icon/components/index.ts +0 -2
  476. package/src/components/Icon/helpers.tsx +0 -9
  477. package/src/components/Icon/icons-list.ts +0 -855
  478. package/src/vite-env.d.ts +0 -1
  479. /package/src/components/Icon/{complexIcons/avatarGreen.svg → icons/avatar.svg} +0 -0
  480. /package/src/components/Icon/{complexIcons/fileExcel.svg → icons/file-excel.svg} +0 -0
  481. /package/src/components/Icon/{complexIcons/fileImage.svg → icons/file-image.svg} +0 -0
  482. /package/src/components/Icon/{complexIcons/fileOther.svg → icons/file-other.svg} +0 -0
  483. /package/src/components/Icon/{complexIcons/filePdf.svg → icons/file-pdf.svg} +0 -0
  484. /package/src/components/Icon/{complexIcons/fileWord.svg → icons/file-word.svg} +0 -0
  485. /package/src/components/Icon/{complexIcons/fileXml.svg → icons/file-xml.svg} +0 -0
  486. /package/src/components/Icon/{complexIcons/fileZip.svg → icons/file-zip.svg} +0 -0
@@ -1,4 +1,3 @@
1
- import { Styles } from 'react-jss';
2
1
  import { IUiKitHelpers, IUiKitTheme } from './types';
3
2
 
4
3
  export const colors = {
@@ -49,41 +48,40 @@ export const dimensions = {
49
48
  } as const;
50
49
 
51
50
  export const helpers = {
52
- withAngle: (angleSize = 6, position: 'left' | 'right' = 'left', distance = 100): Styles =>
53
- ({
54
- display: 'inline-block',
55
- position: 'relative',
56
- marginTop: angleSize * 2 - 1,
57
- boxShadow: '0 8px 20px 0 rgba(0, 0, 0, 0.04)',
58
- border: ['solid', 1, colors.BORDER_MAIN],
59
- borderRadius: dimensions.BORDER_RADIUS_EXTRA_SMALL,
60
-
61
- '&:before': {
62
- content: '""',
63
- position: 'absolute',
64
- top: -angleSize,
65
- left: position === 'left' && distance,
66
- right: position === 'right' && distance,
67
- width: 0,
68
- height: 0,
69
- borderLeft: [angleSize, 'solid', 'transparent'],
70
- borderRight: [angleSize, 'solid', 'transparent'],
71
- borderBottom: [angleSize, 'solid', colors.BORDER_MAIN],
72
- },
51
+ withAngle: (angleSize = 6, position: 'left' | 'right' = 'left', distance = 100) => ({
52
+ display: 'inline-block',
53
+ position: 'relative',
54
+ marginTop: angleSize * 2 - 1,
55
+ boxShadow: '0 8px 20px 0 rgba(0, 0, 0, 0.04)',
56
+ border: ['solid', 1, colors.BORDER_MAIN],
57
+ borderRadius: dimensions.BORDER_RADIUS_EXTRA_SMALL,
58
+
59
+ '&:before': {
60
+ content: '""',
61
+ position: 'absolute',
62
+ top: -angleSize,
63
+ left: position === 'left' && distance,
64
+ right: position === 'right' && distance,
65
+ width: 0,
66
+ height: 0,
67
+ borderLeft: [angleSize, 'solid', 'transparent'],
68
+ borderRight: [angleSize, 'solid', 'transparent'],
69
+ borderBottom: [angleSize, 'solid', colors.BORDER_MAIN],
70
+ },
73
71
 
74
- '&:after': {
75
- content: '""',
76
- position: 'absolute',
77
- top: -angleSize + 1,
78
- left: position === 'left' && distance + 1,
79
- right: position === 'right' && distance + 1,
80
- width: 0,
81
- height: 0,
82
- borderLeft: [angleSize - 1, 'solid', 'transparent'],
83
- borderRight: [angleSize - 1, 'solid', 'transparent'],
84
- borderBottom: [angleSize - 1, 'solid', colors.CLASSIC_WHITE],
85
- },
86
- } as unknown as Styles),
72
+ '&:after': {
73
+ content: '""',
74
+ position: 'absolute',
75
+ top: -angleSize + 1,
76
+ left: position === 'left' && distance + 1,
77
+ right: position === 'right' && distance + 1,
78
+ width: 0,
79
+ height: 0,
80
+ borderLeft: [angleSize - 1, 'solid', 'transparent'],
81
+ borderRight: [angleSize - 1, 'solid', 'transparent'],
82
+ borderBottom: [angleSize - 1, 'solid', colors.CLASSIC_WHITE],
83
+ },
84
+ }),
87
85
 
88
86
  withScrollBar: {
89
87
  boxSizing: 'border-box',
@@ -135,7 +133,6 @@ const SLIDE_UP_POSITION_END = 0;
135
133
 
136
134
  export const animations = {
137
135
  defaultTransition: '0.25s ease-in-out',
138
- // Если понадобится, сюда можно пробросить параметры через useTheme props
139
136
  slideUp: {
140
137
  'slide-up-enter': {
141
138
  opacity: 0,
@@ -1,29 +1,29 @@
1
- import { createUseStyles, Styles } from 'react-jss';
2
- import merge from 'lodash-es/merge';
1
+ import { useMemo } from 'react';
2
+ import { createUseStyles } from 'react-jss';
3
3
  import {
4
4
  isArrayNotEmpty,
5
5
  isNotEmpty,
6
+ isString,
6
7
  mergeStyles,
7
8
  } from '@true-engineering/true-react-platform-helpers';
8
- import { getTheme } from './Provider';
9
+ import { mixStyles } from '../hooks/use-mixed-styles';
10
+ import { useTheme } from './Provider';
9
11
  import { IComponentName, IStyles, IUseStyles } from './types';
10
12
 
11
- const EMPTY_STYLES = {};
13
+ export const useThemeComponentStyles = <T>(
14
+ componentName?: IComponentName,
15
+ ): Partial<T> | undefined => {
16
+ const { components } = useTheme();
17
+ return isNotEmpty(componentName) ? (components?.[componentName] as never) : undefined;
18
+ };
12
19
 
13
20
  const isTweakStyle = (key: string): boolean => key.startsWith('tweak');
14
21
 
15
- const cleanStyles = <T>(tweakStyles?: T): T =>
16
- isNotEmpty(tweakStyles) && Object.keys(tweakStyles).some((key) => !isTweakStyle(key))
17
- ? tweakStyles
18
- : (EMPTY_STYLES as T);
22
+ const areStylesNotEmpty = <T>(tweakStyles?: T): tweakStyles is NonNullable<T> =>
23
+ isNotEmpty(tweakStyles) && !Object.keys(tweakStyles).every(isTweakStyle);
19
24
 
20
- const checkStyles = (componentName: string, styles: Record<string, unknown>): void => {
21
- const invalidClasses = Object.keys(styles).reduce((acc, key) => {
22
- if (isTweakStyle(key)) {
23
- acc.push(key);
24
- }
25
- return acc;
26
- }, [] as string[]);
25
+ const checkStyles = (styles: IStyles<string>, componentName = 'LocalComponent'): void => {
26
+ const invalidClasses = Object.keys(styles).filter(isTweakStyle);
27
27
 
28
28
  if (isArrayNotEmpty(invalidClasses)) {
29
29
  console.error(
@@ -32,45 +32,55 @@ const checkStyles = (componentName: string, styles: Record<string, unknown>): vo
32
32
  }
33
33
  };
34
34
 
35
- export const areStylesThemed = (styles: Record<string, unknown>): boolean =>
36
- // eslint-disable-next-line no-underscore-dangle
37
- styles.__themed === true;
38
-
39
- /**
40
- * Подмешивает стили из темы. Мутирует, добавляя специально поле,
41
- * по которому можно определить была ли уже произведена мутация ранее,
42
- * тем самым сохраняя ссылку на объект и позволяя этим кэшировать JSS стили
43
- */
44
- export const themedStyles = <T>(styles: T, themeComponentStyles: T): T => {
45
- merge(styles, themeComponentStyles); // mutation !!!!
46
- Object.defineProperty(styles, '__themed', { value: true });
47
- return styles;
48
- };
35
+ type TweakStylesCache = (styles: object[], idx?: number) => object | undefined;
36
+ const getTweakStylesCache = (): TweakStylesCache => {
37
+ let mergedStyles: object | undefined;
38
+ const cache = new WeakMap<object, TweakStylesCache>();
39
+
40
+ const getNext = (next: object) => {
41
+ if (!cache.has(next)) {
42
+ cache.set(next, getTweakStylesCache());
43
+ }
49
44
 
50
- export function createThemedStyles<C extends string, P>(styles: IStyles<C, P>): IUseStyles<C, P>;
45
+ return cache.get(next)!; // eslint-disable-line @typescript-eslint/no-non-null-assertion
46
+ };
51
47
 
52
- export function createThemedStyles<C extends string, P>(
53
- componentName: IComponentName,
54
- styles: IStyles<C, P>,
55
- ): IUseStyles<C, P>;
48
+ return (styles, idx = 0) => {
49
+ const next = styles.at(idx);
50
+ if (isNotEmpty(next)) {
51
+ return getNext(next)(styles, idx + 1);
52
+ }
56
53
 
57
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
58
- export function createThemedStyles<C extends string, P>(...args: any[]): IUseStyles<C, P> {
59
- const shouldUseTheme = args.length > 1;
60
- const styles: IStyles<C, P> = shouldUseTheme ? args[1] : args[0];
61
- const componentName: IComponentName | undefined = shouldUseTheme ? args[0] : undefined;
54
+ if (!isNotEmpty(mergedStyles)) {
55
+ const [first, ...rest] = styles;
56
+ mergedStyles = isArrayNotEmpty(rest) ? mergeStyles(first, ...rest) : first;
57
+ }
58
+
59
+ return mergedStyles;
60
+ };
61
+ };
62
+
63
+ const tweakStylesCache = getTweakStylesCache();
64
+ const useStyles = createUseStyles<string>((tweakStyles) => tweakStyles as never);
65
+
66
+ export const createThemedStyles: <C extends string>(
67
+ ...args: [IStyles<C>] | [IComponentName, IStyles<C>]
68
+ ) => IUseStyles<C> = (first, second?) => {
69
+ const componentName = isString(first) ? first : undefined;
70
+ const styles = second! ?? first; // eslint-disable-line @typescript-eslint/no-non-null-assertion
62
71
 
63
72
  if (process.env.NODE_ENV !== 'production') {
64
- checkStyles(componentName ?? 'LocalComponent', styles);
73
+ checkStyles(styles, componentName);
65
74
  }
66
- const useStyles = createUseStyles<C, P>((tweakStyles) => {
67
- const theme = getTheme();
68
- return mergeStyles(
69
- styles as Styles<C, P>,
70
- isNotEmpty(componentName) ? (theme?.components?.[componentName] as Styles<C, P>) : undefined,
71
- tweakStyles,
72
- );
73
- });
74
75
 
75
- return (data) => useStyles(isNotEmpty(data) ? { ...data, theme: cleanStyles(data.theme) } : data);
76
- }
76
+ return ({ theme, tweakStyles = theme }) => {
77
+ const themeStyles = useThemeComponentStyles<typeof styles>(componentName);
78
+
79
+ const data = useMemo(() => {
80
+ const resultStyles = mixStyles(styles, themeStyles, tweakStyles).filter(areStylesNotEmpty);
81
+ return { theme: tweakStylesCache(resultStyles) };
82
+ }, [themeStyles, tweakStyles]);
83
+
84
+ return useStyles(data);
85
+ };
86
+ };
@@ -1,20 +1,18 @@
1
- import { Styles } from 'react-jss';
2
- import { Classes, JssValue } from 'jss';
1
+ import type { Classes, JssStyle, JssValue, Styles } from 'jss';
2
+ import type { IMaybeArray } from '@true-engineering/true-react-platform-helpers';
3
3
  import type {
4
4
  IAccountInfoStyles,
5
5
  IAddButtonStyles,
6
6
  IButtonStyles,
7
7
  ICheckboxStyles,
8
8
  ICloseButtonStyles,
9
- ICommonIcon,
10
- IComplexIcon,
11
- IWithMessagesStyles,
12
9
  IControlWrapperStyles,
13
10
  ICssBaselineStyles,
14
11
  IDateInputStyles,
15
12
  IDatePickerHeaderStyles,
16
13
  IDatePickerStyles,
17
14
  IDescriptionStyles,
15
+ IDocActionsStyles,
18
16
  IDotsPreloaderStyles,
19
17
  IFileInputStyles,
20
18
  IFileItemStyles,
@@ -32,6 +30,7 @@ import type {
32
30
  IFlexibleTableStyles,
33
31
  IIconButtonStyles,
34
32
  IIconStyles,
33
+ IIconType,
35
34
  IIncrementInputStyles,
36
35
  IInputStyles,
37
36
  IListItemStyles,
@@ -63,21 +62,27 @@ import type {
63
62
  IThemedPreloaderStyles,
64
63
  IToasterStyles,
65
64
  ITooltipStyles,
65
+ IWithMessagesStyles,
66
66
  IWithPopupStyles,
67
67
  IWithTooltipStyles,
68
68
  } from '../components';
69
69
 
70
- export type IStyles<C extends string, P> = Styles<C, P, Partial<Styles<C, P>>>;
70
+ export type IStyles<C extends string> = Styles<C>;
71
+
72
+ export type IStyle = JssStyle;
73
+
74
+ export type IMixedStyles<T> = IMaybeArray<T | boolean | undefined>;
71
75
 
72
- export type IUseStyles<C extends string, P = unknown> = (
73
- data?: P & { theme?: Partial<Styles<C, P>> },
74
- ) => Classes<C>;
76
+ export type IUseStyles<C extends string> = (data: {
77
+ theme?: IMaybeArray<Partial<IStyles<C>>>;
78
+ tweakStyles?: IMaybeArray<Partial<IStyles<C>>>;
79
+ }) => Classes<C>;
75
80
 
76
81
  export type ITweakStyles<
77
82
  StyleCreator,
78
83
  ChildTweakStyles = unknown,
79
- > = StyleCreator extends IUseStyles<infer C, infer P>
80
- ? Partial<Styles<C, P>> & Partial<ChildTweakStyles>
84
+ > = StyleCreator extends IUseStyles<infer C>
85
+ ? Partial<IStyles<C>> & Partial<ChildTweakStyles>
81
86
  : never;
82
87
 
83
88
  export interface IComponentStyles {
@@ -91,6 +96,7 @@ export interface IComponentStyles {
91
96
  DatePicker: IDatePickerStyles;
92
97
  DatePickerHeader: IDatePickerHeaderStyles;
93
98
  Description: IDescriptionStyles;
99
+ DocActions: IDocActionsStyles;
94
100
  DotsPreloader: IDotsPreloaderStyles;
95
101
  SvgPreloader: ISvgPreloaderStyles;
96
102
  FileInput: IFileInputStyles;
@@ -145,14 +151,12 @@ export interface IComponentStyles {
145
151
 
146
152
  export type IComponentName = keyof IComponentStyles;
147
153
 
148
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
149
154
  export type IUiKitAnimations = Record<string, any>;
150
- export type IUiKitHelpers = Record<string, Styles | (() => Styles)>;
155
+ export type IUiKitHelpers = Record<string, IStyle | (() => IStyle)>;
151
156
 
152
157
  export interface IUiKitTheme {
153
158
  components?: Partial<IComponentStyles>;
154
- icons?: Partial<Record<ICommonIcon, ISvgIcon>>;
155
- complexIcons?: Partial<Record<IComplexIcon, string>>;
159
+ icons?: Partial<Record<IIconType, ISvgIcon>>;
156
160
  preloaders?: Partial<Record<IPreloaderSvgType, string>>; // TODO: заменить string
157
161
  animations?: IUiKitAnimations;
158
162
  colors?: Record<string, string>;
package/src/types.ts CHANGED
@@ -1,13 +1,15 @@
1
- import {
1
+ import type {
2
2
  FocusEventHandler,
3
- type KeyboardEvent,
3
+ KeyboardEvent,
4
4
  KeyboardEventHandler,
5
5
  MouseEvent,
6
6
  MouseEventHandler,
7
7
  PointerEventHandler,
8
8
  ReactNode,
9
9
  } from 'react';
10
- import { Modifier, Placement } from 'react-overlays/usePopper';
10
+ import type { Modifier, Placement } from 'react-overlays/usePopper';
11
+ import type { IMaybeArray } from '@true-engineering/true-react-platform-helpers';
12
+ import { IStyle } from './theme';
11
13
 
12
14
  export interface ITestIdProps {
13
15
  testId?: string;
@@ -22,7 +24,7 @@ export interface IDataAttributesProps extends ITestIdProps {
22
24
  }
23
25
 
24
26
  export interface ITweakStylesProps<TweakStyles> {
25
- tweakStyles?: TweakStyles;
27
+ tweakStyles?: IMaybeArray<TweakStyles>;
26
28
  }
27
29
 
28
30
  export type ICommonProps<TweakStyles> = IDataAttributesProps & ITweakStylesProps<TweakStyles>;
@@ -34,11 +36,9 @@ export interface IDropdownWithPopperOptions {
34
36
 
35
37
  shouldHideOnScroll?: boolean; // работает весьма условно без shouldUsePopper
36
38
  canBeFlipped?: boolean; // только с shouldUsePopper
37
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
38
39
  modifiers?: Array<Partial<Modifier<any, any>>>; // только с shouldUsePopper
39
40
  placement?: Placement; // only with shouldUsePopper
40
41
  // https://popper.js.org/docs/v2/modifiers/flip/
41
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
42
42
  flipOptions?: Record<string, any>; // только с shouldUsePopper
43
43
  }
44
44
  export type IClickHandlerEvent = MouseEvent | KeyboardEvent;
@@ -63,3 +63,14 @@ export interface IDomElementInteractions<T> {
63
63
  }
64
64
 
65
65
  export type IRenderNode<T> = ReactNode | ((props: T) => ReactNode);
66
+
67
+ export type IExtendableProps<T extends string | readonly string[]> = Record<
68
+ T extends ReadonlyArray<infer P> ? P : T,
69
+ IStyle
70
+ >;
71
+
72
+ export type IDefaultExtendableProps = IExtendableProps<'custom'>;
73
+
74
+ export type IWithPrefix<T, P extends string> = {
75
+ [K in keyof T as `${P}${K & string}`]: T[K];
76
+ };
@@ -1,6 +0,0 @@
1
- declare const _default: {
2
- title: string;
3
- component: import("react").FC<import("./AccountInfo").IAccountInfoProps>;
4
- };
5
- export default _default;
6
- export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, import("./AccountInfo").IAccountInfoProps>;
@@ -1,6 +0,0 @@
1
- declare const _default: {
2
- title: string;
3
- component: import("react").FC<import("./AddButton").IAddButtonProps>;
4
- };
5
- export default _default;
6
- export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, import("./AddButton").IAddButtonProps>;
@@ -1,6 +0,0 @@
1
- /// <reference types="react" />
2
- import { ComponentStory } from '@storybook/react';
3
- import { Button, IButtonProps } from './Button';
4
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, IButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
5
- export default _default;
6
- export declare const Default: ComponentStory<typeof Button>;
@@ -1,8 +0,0 @@
1
- import { FC } from 'react';
2
- import type { Meta, StoryObj } from '@storybook/react';
3
- import { Checkbox as CheckboxComponent, ICheckboxProps } from './Checkbox';
4
- declare const CheckboxComponentWithData: FC<ICheckboxProps<string>>;
5
- declare const meta: Meta<typeof CheckboxComponentWithData>;
6
- export default meta;
7
- type Story = StoryObj<typeof CheckboxComponent>;
8
- export declare const Default: Story;
@@ -1,5 +0,0 @@
1
- import { ComponentStory } from '@storybook/react';
2
- import { CloseButton } from './CloseButton';
3
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, import("./CloseButton").ICloseButtonProps>;
4
- export default _default;
5
- export declare const Default: ComponentStory<typeof CloseButton>;
@@ -1,2 +0,0 @@
1
- import { FC } from 'react';
2
- export declare const Colors: FC;
@@ -1,5 +0,0 @@
1
- declare const _default: {
2
- title: string;
3
- };
4
- export default _default;
5
- export declare const Default: () => JSX.Element;
@@ -1 +0,0 @@
1
- export declare const useStyles: import("../../theme").IUseStyles<"color" | "root" | "colorCard" | "colorName" | "hex", unknown>;
@@ -1 +0,0 @@
1
- export * from './Colors';
@@ -1,6 +0,0 @@
1
- declare const _default: {
2
- title: string;
3
- component: import("react").FC<import("./ControlWrapper").IControlWrapperProps>;
4
- };
5
- export default _default;
6
- export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, import("./ControlWrapper").IControlWrapperProps>;
@@ -1,7 +0,0 @@
1
- /// <reference types="react" />
2
- declare const _default: {
3
- title: string;
4
- component: import("react").ForwardRefExoticComponent<import("./DateInput").IDateInputProps & import("react").RefAttributes<HTMLInputElement>>;
5
- };
6
- export default _default;
7
- export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, import("./DateInput").IDateInputProps & import("react").RefAttributes<HTMLInputElement>>;
@@ -1,7 +0,0 @@
1
- /// <reference types="react" />
2
- declare const _default: {
3
- title: string;
4
- component: import("react").ForwardRefExoticComponent<import("./DatePicker").IDatePickerProps & import("react").RefAttributes<import("react-datepicker").ReactDatePicker<never, undefined>>>;
5
- };
6
- export default _default;
7
- export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, import("./DatePicker").IDatePickerProps & import("react").RefAttributes<import("react-datepicker").ReactDatePicker<never, undefined>>>;
@@ -1,16 +0,0 @@
1
- declare const _default: {
2
- title: string;
3
- component: import("react").FC<import("./Description").IDescriptionProps>;
4
- argTypes: {
5
- truncateIndex: {
6
- control: {
7
- type: string;
8
- min: number;
9
- max: number;
10
- step: number;
11
- };
12
- };
13
- };
14
- };
15
- export default _default;
16
- export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, import("./Description").IDescriptionProps>;
@@ -1,7 +0,0 @@
1
- /// <reference types="react" />
2
- declare const _default: {
3
- title: string;
4
- component: import("react").ForwardRefExoticComponent<import("./FileInput").IFileInputProps & import("react").RefAttributes<HTMLInputElement>>;
5
- };
6
- export default _default;
7
- export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, import("./FileInput").IFileInputProps & import("react").RefAttributes<HTMLInputElement>>;
@@ -1,8 +0,0 @@
1
- import { ComponentStory } from '@storybook/react';
2
- import { FileItem, IFileItemProps } from './FileItem';
3
- declare const _default: {
4
- title: string;
5
- component: import("react").FC<IFileItemProps>;
6
- };
7
- export default _default;
8
- export declare const Default: ComponentStory<typeof FileItem>;
@@ -1,31 +0,0 @@
1
- import { IFiltersPaneProps } from './FiltersPane';
2
- interface IFiltersPaneWithCustomProps<Values, Content> extends IFiltersPaneProps<Values, Content> {
3
- containerWidth: number;
4
- isSearchDisabled: boolean;
5
- shouldShowSettingsButton: boolean;
6
- withFieldNameInLabel: boolean;
7
- isGroupingEnabled: boolean;
8
- checkboxPosition: 'left' | 'right';
9
- isClearableFields: boolean;
10
- }
11
- declare function FiltersPaneWithCustomProps<Values, Content>({ containerWidth, isSearchDisabled, shouldShowSettingsButton, withFieldNameInLabel, isGroupingEnabled, checkboxPosition, isClearableFields, ...args }: IFiltersPaneWithCustomProps<Values, Content>): import("react/jsx-runtime").JSX.Element;
12
- declare const _default: {
13
- title: string;
14
- component: typeof FiltersPaneWithCustomProps;
15
- argTypes: {
16
- containerWidth: {
17
- control: {
18
- type: string;
19
- min: number;
20
- max: number;
21
- step: number;
22
- };
23
- };
24
- checkboxPosition: {
25
- control: string;
26
- options: string[];
27
- };
28
- };
29
- };
30
- export default _default;
31
- export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, IFiltersPaneWithCustomProps<unknown, unknown>>;
@@ -1,12 +0,0 @@
1
- declare const _default: {
2
- title: string;
3
- component: import("react").FC<import("./Flag").IFlagProps>;
4
- argTypes: {
5
- countryCode: {
6
- control: string;
7
- options: string[];
8
- };
9
- };
10
- };
11
- export default _default;
12
- export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, import("./Flag").IFlagProps>;
@@ -1,19 +0,0 @@
1
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, import("./FlexibleTable").IFlexibleTableProps<import("./types").ITableRow, Partial<Record<string, unknown>>, string>>;
2
- export default _default;
3
- interface ITableContent {
4
- contractCode: string;
5
- validFrom: Date;
6
- validTo: Date;
7
- validTo1?: Date;
8
- validTo2?: Date;
9
- title: string;
10
- signDate: Date;
11
- partner: string;
12
- partnerDescription: string;
13
- parentContract: string;
14
- currency: string;
15
- status: string;
16
- note?: string;
17
- publicNote?: string;
18
- }
19
- export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, import("./FlexibleTable").IFlexibleTableProps<ITableContent, Partial<Record<keyof ITableContent, unknown>>, keyof ITableContent>>;
@@ -1,6 +0,0 @@
1
- declare const _default: {
2
- title: string;
3
- };
4
- export default _default;
5
- export declare const Default: () => import("react/jsx-runtime").JSX.Element;
6
- export declare const Gallery: () => import("react/jsx-runtime").JSX.Element;
@@ -1,10 +0,0 @@
1
- export declare const complexIcons: {
2
- avatar: string;
3
- 'file-excel': string;
4
- 'file-image': string;
5
- 'file-other': string;
6
- 'file-pdf': string;
7
- 'file-word': string;
8
- 'file-xml': string;
9
- 'file-zip': string;
10
- };
@@ -1 +0,0 @@
1
- export * from './icons';
@@ -1,6 +0,0 @@
1
- import { FC } from 'react';
2
- import { IComplexIcon } from '../../types';
3
- export interface IComplexIconBoilerplateProps {
4
- type: IComplexIcon;
5
- }
6
- export declare const ComplexIconBoilerplate: FC<IComplexIconBoilerplateProps>;
@@ -1 +0,0 @@
1
- export * from './ComplexIconBoilerplate';
@@ -1,6 +0,0 @@
1
- import { FC } from 'react';
2
- import { ICommonIcon } from '../../types';
3
- export interface IIconBoilerplateProps {
4
- type: ICommonIcon;
5
- }
6
- export declare const IconBoilerplate: FC<IIconBoilerplateProps>;
@@ -1 +0,0 @@
1
- export * from './IconBoilerplate';
@@ -1,2 +0,0 @@
1
- export * from './ComplexIconBoilerplate';
2
- export * from './IconBolerplate';
@@ -1,6 +0,0 @@
1
- import type { IIconType, ISvgIcon } from './types';
2
- export declare const isComplexIcon: (type: IIconType) => type is "avatar" | "file-excel" | "file-image" | "file-other" | "file-pdf" | "file-word" | "file-xml" | "file-zip";
3
- /**
4
- * Эта функция позволяет корректно определить ключи в типе
5
- */
6
- export declare const checkIcons: <P extends string>(ico: Record<P, ISvgIcon>) => Record<P, ISvgIcon>;
@@ -1 +0,0 @@
1
- export declare const iconsList: Record<"direction" | "filter" | "document" | "copy" | "cancel" | "close" | "search" | "repeat" | "link" | "sort" | "size" | "menu" | "check" | "settings" | "list" | "arrow" | "vendor-service" | "aircraft-takeoff" | "archive" | "arrow-right" | "baggage" | "balloon" | "bluetooth" | "bonus" | "book" | "box" | "business" | "calendar" | "check-big" | "check-all" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "chevron-down-small" | "chevron-left-small" | "chevron-right-small" | "chevron-up-small" | "circle-check" | "close-large" | "close-window" | "copy-outline" | "crane" | "danger" | "download" | "email" | "eye" | "eye-closed" | "female" | "folder" | "folder-add" | "food" | "import" | "information" | "insurance" | "lock" | "lock-open" | "male" | "minus" | "burger-menu" | "pencil" | "pin" | "plane" | "plane-circle" | "plus" | "presentation" | "print" | "question" | "refresh" | "rocket" | "round-trip" | "vendor-logo" | "scan" | "send-email" | "sign-out" | "sort-asc" | "sort-desc" | "sort-list-asc" | "sort-list-desc" | "star" | "status-error" | "status-info" | "status-not-ok" | "status-ok" | "status-warning" | "three-circles" | "ticket-revert" | "ticket" | "time" | "trash-can" | "upgrade" | "user" | "user-group" | "voucher" | "upload", import("./types").ISvgIcon>;
@@ -1,6 +0,0 @@
1
- /// <reference types="react" />
2
- import { ComponentStory } from '@storybook/react';
3
- import { IconButton } from './IconButton';
4
- declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0fc72a6d").R, import("./IconButton").IIconButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
5
- export default _default;
6
- export declare const Default: ComponentStory<typeof IconButton>;
@@ -1,6 +0,0 @@
1
- declare const _default: {
2
- title: string;
3
- component: import("react").FC<import("./IncrementInput").IIncrementInputProps>;
4
- };
5
- export default _default;
6
- export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, import("./IncrementInput").IIncrementInputProps>;