@true-engineering/true-react-common-ui-kit 4.0.0-alpha5 → 4.0.0-alpha50

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 (468) hide show
  1. package/README.md +11 -607
  2. package/dist/components/AccountInfo/AccountInfo.styles.d.ts +1 -1
  3. package/dist/components/AddButton/AddButton.styles.d.ts +1 -1
  4. package/dist/components/Button/Button.d.ts +1 -1
  5. package/dist/components/Button/Button.styles.d.ts +1 -1
  6. package/dist/components/Checkbox/Checkbox.d.ts +3 -1
  7. package/dist/components/Checkbox/Checkbox.styles.d.ts +3 -2
  8. package/dist/components/Checkbox/index.d.ts +1 -0
  9. package/dist/components/Checkbox/types.d.ts +3 -0
  10. package/dist/components/CloseButton/CloseButton.styles.d.ts +1 -1
  11. package/dist/components/ControlWrapper/ControlWrapper.d.ts +7 -3
  12. package/dist/components/ControlWrapper/ControlWrapper.styles.d.ts +3 -2
  13. package/dist/components/ControlWrapper/constants.d.ts +1 -0
  14. package/dist/components/ControlWrapper/helpers.d.ts +4 -0
  15. package/dist/components/ControlWrapper/index.d.ts +3 -0
  16. package/dist/components/ControlWrapper/types.d.ts +14 -0
  17. package/dist/components/CssBaseline/CssBaseline.styles.d.ts +1 -1
  18. package/dist/components/DateInput/DateInput.d.ts +1 -3
  19. package/dist/components/DateInput/DateInput.styles.d.ts +1 -1
  20. package/dist/components/DateInput/constants.d.ts +1 -1
  21. package/dist/components/DatePicker/DatePicker.d.ts +4 -4
  22. package/dist/components/DatePicker/DatePicker.styles.d.ts +1 -1
  23. package/dist/components/DatePicker/components/DatePickerBase/DatePickerBase.d.ts +5 -0
  24. package/dist/components/DatePicker/components/DatePickerBase/index.d.ts +1 -0
  25. package/dist/components/DatePicker/components/DatePickerHeader/DatePickerHeader.styles.d.ts +1 -1
  26. package/dist/components/DatePicker/components/PopperContainer/PopperContainer.d.ts +2 -4
  27. package/dist/components/DatePicker/components/index.d.ts +1 -0
  28. package/dist/components/DatePicker/constants.d.ts +7 -2
  29. package/dist/components/DatePicker/index.d.ts +1 -0
  30. package/dist/components/DatePicker/types.d.ts +2 -2
  31. package/dist/components/Description/Description.styles.d.ts +1 -1
  32. package/dist/components/FileInput/FileInput.d.ts +1 -1
  33. package/dist/components/FileInput/FileInput.styles.d.ts +1 -1
  34. package/dist/components/FileItem/FileItem.styles.d.ts +1 -1
  35. package/dist/components/FileItem/constants.d.ts +3 -4
  36. package/dist/components/FileItem/helpers.d.ts +3 -2
  37. package/dist/components/FileItem/types.d.ts +1 -2
  38. package/dist/components/FiltersPane/FiltersPane.d.ts +7 -3
  39. package/dist/components/FiltersPane/FiltersPane.styles.d.ts +2 -2
  40. package/dist/components/FiltersPane/components/Filter/Filter.d.ts +3 -4
  41. package/dist/components/FiltersPane/components/Filter/helpers.d.ts +4 -0
  42. package/dist/components/FiltersPane/components/FilterInterval/FilterInterval.d.ts +3 -11
  43. package/dist/components/FiltersPane/components/FilterInterval/FilterInterval.styles.d.ts +3 -6
  44. package/dist/components/FiltersPane/components/FilterMultiSelect/FilterMultiSelect.d.ts +0 -1
  45. package/dist/components/FiltersPane/components/FilterSelect/FilterSelect.styles.d.ts +3 -6
  46. package/dist/components/FiltersPane/components/FilterValueView/FilterValueView.d.ts +4 -3
  47. package/dist/components/FiltersPane/components/FilterValueView/FilterValueView.styles.d.ts +1 -1
  48. package/dist/components/FiltersPane/components/FilterWithDates/FilterWithDates.styles.d.ts +5 -11
  49. package/dist/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.styles.d.ts +1 -1
  50. package/dist/components/FiltersPane/components/FilterWrapper/FilterWrapper.d.ts +2 -3
  51. package/dist/components/FiltersPane/components/FilterWrapper/FilterWrapper.styles.d.ts +2 -2
  52. package/dist/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.d.ts +2 -1
  53. package/dist/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.styles.d.ts +1 -1
  54. package/dist/components/FiltersPane/constants.d.ts +1 -1
  55. package/dist/components/FiltersPane/helpers.d.ts +1 -1
  56. package/dist/components/FiltersPane/index.d.ts +1 -0
  57. package/dist/components/FiltersPane/types.d.ts +21 -7
  58. package/dist/components/Flag/Flag.styles.d.ts +1 -1
  59. package/dist/components/Flag/customFlags/customFlags.d.ts +10 -0
  60. package/dist/components/Flag/customFlags/index.d.ts +1 -0
  61. package/dist/components/FlexibleTable/FlexibleTable.d.ts +4 -2
  62. package/dist/components/FlexibleTable/FlexibleTable.styles.d.ts +2 -2
  63. package/dist/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.d.ts +4 -3
  64. package/dist/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.styles.d.ts +1 -1
  65. package/dist/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.d.ts +6 -6
  66. package/dist/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.styles.d.ts +1 -1
  67. package/dist/components/FlexibleTable/constants.d.ts +18 -2
  68. package/dist/components/FlexibleTable/helpers.d.ts +2 -2
  69. package/dist/components/FlexibleTable/types.d.ts +20 -12
  70. package/dist/components/FloatDocActions/FloatDocActions.d.ts +6 -0
  71. package/dist/components/FloatDocActions/FloatDocActions.styles.d.ts +8 -0
  72. package/dist/components/FloatDocActions/components/DocActions/DocActions.d.ts +12 -0
  73. package/dist/components/FloatDocActions/components/DocActions/DocActions.styles.d.ts +6 -0
  74. package/dist/components/FloatDocActions/components/DocActions/constants.d.ts +1 -0
  75. package/dist/components/FloatDocActions/components/DocActions/index.d.ts +4 -0
  76. package/dist/components/FloatDocActions/components/DocActions/types.d.ts +2 -0
  77. package/dist/components/FloatDocActions/components/index.d.ts +1 -0
  78. package/dist/components/FloatDocActions/constants.d.ts +1 -0
  79. package/dist/components/FloatDocActions/index.d.ts +3 -0
  80. package/dist/components/Icon/Icon.styles.d.ts +1 -1
  81. package/dist/components/Icon/icons/index.d.ts +31 -0
  82. package/dist/components/Icon/index.d.ts +1 -1
  83. package/dist/components/Icon/types.d.ts +7 -11
  84. package/dist/components/IconButton/IconButton.d.ts +1 -2
  85. package/dist/components/IconButton/IconButton.styles.d.ts +1 -1
  86. package/dist/components/IconButton/constants.d.ts +1 -1
  87. package/dist/components/IncrementInput/IncrementInput.styles.d.ts +1 -3
  88. package/dist/components/Input/Input.d.ts +3 -3
  89. package/dist/components/Input/Input.styles.d.ts +1 -1
  90. package/dist/components/Input/InputBase.d.ts +3 -3
  91. package/dist/components/List/List.d.ts +1 -1
  92. package/dist/components/List/List.styles.d.ts +1 -1
  93. package/dist/components/List/components/ListItem/ListItem.styles.d.ts +1 -1
  94. package/dist/components/List/index.d.ts +2 -1
  95. package/dist/components/List/types.d.ts +4 -0
  96. package/dist/components/Modal/Modal.d.ts +1 -1
  97. package/dist/components/Modal/Modal.styles.d.ts +1 -1
  98. package/dist/components/MoreMenu/MoreMenu.styles.d.ts +1 -1
  99. package/dist/components/MultiSelect/MultiSelect.d.ts +0 -1
  100. package/dist/components/MultiSelect/MultiSelect.styles.d.ts +1 -1
  101. package/dist/components/MultiSelect/components/MultiSelectInput/MultiSelectInput.styles.d.ts +1 -1
  102. package/dist/components/MultiSelectList/MultiSelectList.styles.d.ts +1 -1
  103. package/dist/components/MultiSelectList/constants.d.ts +1 -1
  104. package/dist/components/MultiSelectList/helpers.d.ts +1 -1
  105. package/dist/components/NewMoreMenu/NewMoreMenu.styles.d.ts +1 -1
  106. package/dist/components/Notification/Notification.styles.d.ts +1 -1
  107. package/dist/components/NumberInput/NumberInput.d.ts +1 -2
  108. package/dist/components/NumberInput/helpers.d.ts +2 -2
  109. package/dist/components/PhoneInput/PhoneInput.styles.d.ts +1 -1
  110. package/dist/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.styles.d.ts +1 -1
  111. package/dist/components/RadioButton/RadioButton.d.ts +3 -1
  112. package/dist/components/RadioButton/RadioButton.styles.d.ts +3 -2
  113. package/dist/components/RadioButton/index.d.ts +1 -0
  114. package/dist/components/RadioButton/types.d.ts +3 -0
  115. package/dist/components/ScrollIntoViewIfNeeded/ScrollIntoViewIfNeeded.d.ts +3 -373
  116. package/dist/components/ScrollIntoViewIfNeeded/constants.d.ts +1 -1
  117. package/dist/components/SearchInput/SearchInput.d.ts +1 -2
  118. package/dist/components/Select/Select.d.ts +8 -6
  119. package/dist/components/Select/Select.styles.d.ts +12 -22
  120. package/dist/components/Select/components/SelectList/SelectList.d.ts +5 -5
  121. package/dist/components/Select/components/SelectList/SelectList.styles.d.ts +1 -1
  122. package/dist/components/Select/components/SelectListItem/SelectListItem.d.ts +4 -3
  123. package/dist/components/Select/helpers.d.ts +1 -1
  124. package/dist/components/Select/index.d.ts +1 -1
  125. package/dist/components/Select/types.d.ts +4 -0
  126. package/dist/components/Selector/Selector.d.ts +0 -1
  127. package/dist/components/Selector/Selector.styles.d.ts +1 -1
  128. package/dist/components/Skeleton/Skeleton.styles.d.ts +1 -1
  129. package/dist/components/SmartInput/SmartInput.d.ts +1 -1
  130. package/dist/components/Status/Status.styles.d.ts +3 -2
  131. package/dist/components/Status/constants.d.ts +0 -1
  132. package/dist/components/Status/index.d.ts +1 -0
  133. package/dist/components/Status/types.d.ts +5 -2
  134. package/dist/components/Switch/Switch.styles.d.ts +1 -1
  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.styles.d.ts +1 -1
  143. package/dist/components/ThemedPreloader/ThemedPreloader.styles.d.ts +1 -1
  144. package/dist/components/ThemedPreloader/components/DotsPreloader/DotsPreloader.styles.d.ts +1 -1
  145. package/dist/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.styles.d.ts +1 -1
  146. package/dist/components/Toaster/Toaster.styles.d.ts +1 -1
  147. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  148. package/dist/components/Tooltip/Tooltip.styles.d.ts +1 -1
  149. package/dist/components/WithMessages/WithMessages.d.ts +1 -1
  150. package/dist/components/WithMessages/WithMessages.styles.d.ts +1 -1
  151. package/dist/components/WithPopup/WithPopup.d.ts +11 -3
  152. package/dist/components/WithPopup/WithPopup.styles.d.ts +1 -1
  153. package/dist/components/WithPopup/types.d.ts +4 -4
  154. package/dist/components/index.d.ts +1 -1
  155. package/dist/constants/phone-info.d.ts +1 -1
  156. package/dist/helpers/misc.d.ts +3 -3
  157. package/dist/helpers/phone.d.ts +1 -1
  158. package/dist/hooks/index.d.ts +7 -4
  159. package/dist/hooks/use-dropdown.d.ts +3 -3
  160. package/dist/hooks/use-intersection-ref.d.ts +8 -0
  161. package/dist/hooks/use-latest-ref.d.ts +2 -0
  162. package/dist/hooks/use-merge.d.ts +1 -0
  163. package/dist/hooks/use-mixed-styles.d.ts +3 -1
  164. package/dist/hooks/use-on-click-outside.d.ts +2 -2
  165. package/dist/hooks/use-tweak-styles.d.ts +6 -6
  166. package/dist/theme/Provider.d.ts +5 -2
  167. package/dist/theme/common.d.ts +1 -1
  168. package/dist/theme/create-themed-styles.d.ts +2 -0
  169. package/dist/theme/helpers.d.ts +9 -3
  170. package/dist/theme/index.d.ts +2 -0
  171. package/dist/theme/true-jss/ThemedStylesManager.d.ts +18 -0
  172. package/dist/theme/true-jss/TweakStylesManager.d.ts +34 -0
  173. package/dist/theme/true-jss/index.d.ts +2 -0
  174. package/dist/theme/true-jss/jss-context.d.ts +9 -0
  175. package/dist/theme/types.d.ts +7 -5
  176. package/dist/{style.css → true-react-common-ui-kit.css} +78 -142
  177. package/dist/true-react-common-ui-kit.js +2 -31591
  178. package/dist/true-react-common-ui-kit.js.map +1 -1
  179. package/dist/true-react-common-ui-kit.umd.cjs +3 -31580
  180. package/dist/true-react-common-ui-kit.umd.cjs.map +1 -1
  181. package/dist/types.d.ts +9 -2
  182. package/package.json +35 -33
  183. package/src/components/AccountInfo/AccountInfo.stories.tsx +19 -27
  184. package/src/components/AddButton/AddButton.stories.tsx +14 -17
  185. package/src/components/Button/Button.stories.tsx +8 -26
  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/Colors/Colors.stories.tsx +63 -3
  193. package/src/components/ControlWrapper/ControlWrapper.stories.tsx +45 -35
  194. package/src/components/ControlWrapper/ControlWrapper.styles.ts +7 -6
  195. package/src/components/ControlWrapper/ControlWrapper.tsx +33 -30
  196. package/src/components/ControlWrapper/constants.ts +11 -0
  197. package/src/components/ControlWrapper/helpers.ts +11 -0
  198. package/src/components/ControlWrapper/index.ts +3 -0
  199. package/src/components/ControlWrapper/types.ts +19 -0
  200. package/src/components/DateInput/DateInput.stories.tsx +13 -31
  201. package/src/components/DateInput/DateInput.tsx +3 -4
  202. package/src/components/DatePicker/DatePicker.stories.tsx +18 -42
  203. package/src/components/DatePicker/DatePicker.styles.ts +3 -1
  204. package/src/components/DatePicker/DatePicker.tsx +47 -16
  205. package/src/components/DatePicker/components/DatePickerBase/DatePickerBase.tsx +14 -0
  206. package/src/components/DatePicker/components/DatePickerBase/index.ts +1 -0
  207. package/src/components/DatePicker/components/PopperContainer/PopperContainer.tsx +4 -4
  208. package/src/components/DatePicker/components/index.ts +1 -0
  209. package/src/components/DatePicker/constants.ts +9 -3
  210. package/src/components/DatePicker/helpers.ts +1 -1
  211. package/src/components/DatePicker/index.ts +1 -0
  212. package/src/components/DatePicker/types.ts +6 -4
  213. package/src/components/Description/Description.stories.tsx +11 -16
  214. package/src/components/FileInput/FileInput.stories.tsx +59 -63
  215. package/src/components/FileItem/FileItem.stories.tsx +48 -48
  216. package/src/components/FileItem/constants.ts +3 -14
  217. package/src/components/FileItem/helpers.ts +3 -2
  218. package/src/components/FileItem/types.ts +1 -3
  219. package/src/components/FiltersPane/FiltersPane.stories.tsx +31 -28
  220. package/src/components/FiltersPane/FiltersPane.tsx +28 -19
  221. package/src/components/FiltersPane/components/Filter/Filter.tsx +36 -30
  222. package/src/components/FiltersPane/components/Filter/helpers.ts +18 -0
  223. package/src/components/FiltersPane/components/FilterInterval/FilterInterval.styles.ts +1 -2
  224. package/src/components/FiltersPane/components/FilterInterval/FilterInterval.tsx +5 -17
  225. package/src/components/FiltersPane/components/FilterSelect/FilterSelect.styles.ts +1 -2
  226. package/src/components/FiltersPane/components/FilterSelect/FilterSelect.tsx +22 -23
  227. package/src/components/FiltersPane/components/FilterValueView/FilterValueView.tsx +27 -22
  228. package/src/components/FiltersPane/components/FilterWithDates/FilterWithDates.styles.ts +3 -3
  229. package/src/components/FiltersPane/components/FilterWithDates/FilterWithDates.tsx +3 -4
  230. package/src/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.tsx +4 -3
  231. package/src/components/FiltersPane/components/FilterWrapper/FilterWrapper.tsx +14 -10
  232. package/src/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.styles.ts +5 -0
  233. package/src/components/FiltersPane/components/FiltersPaneSearch/FiltersPaneSearch.tsx +19 -19
  234. package/src/components/FiltersPane/helpers.ts +3 -3
  235. package/src/components/FiltersPane/index.ts +1 -0
  236. package/src/components/FiltersPane/types.ts +30 -6
  237. package/src/components/Flag/Flag.stories.tsx +16 -20
  238. package/src/components/Flag/Flag.styles.ts +4 -0
  239. package/src/components/Flag/Flag.tsx +25 -11
  240. package/src/components/Flag/customFlags/AB.svg +1 -0
  241. package/src/components/Flag/customFlags/OS.svg +1 -0
  242. package/src/components/Flag/customFlags/customFlags.ts +13 -0
  243. package/src/components/Flag/customFlags/index.ts +1 -0
  244. package/src/components/FlexibleTable/FlexibleTable.stories.tsx +47 -50
  245. package/src/components/FlexibleTable/FlexibleTable.styles.ts +4 -2
  246. package/src/components/FlexibleTable/FlexibleTable.tsx +44 -64
  247. package/src/components/FlexibleTable/components/FlexibleTableCell/FlexibleTableCell.tsx +8 -5
  248. package/src/components/FlexibleTable/components/FlexibleTableRow/FlexibleTableRow.tsx +13 -12
  249. package/src/components/FlexibleTable/constants.ts +6 -3
  250. package/src/components/FlexibleTable/types.ts +20 -16
  251. package/src/components/FloatDocActions/FloatDocActions.stories.tsx +111 -0
  252. package/src/components/FloatDocActions/FloatDocActions.styles.ts +12 -0
  253. package/src/components/FloatDocActions/FloatDocActions.tsx +34 -0
  254. package/src/components/FloatDocActions/components/DocActions/DocActions.styles.ts +29 -0
  255. package/src/components/FloatDocActions/components/DocActions/DocActions.tsx +43 -0
  256. package/src/components/FloatDocActions/components/DocActions/constants.ts +1 -0
  257. package/src/components/FloatDocActions/components/DocActions/index.ts +4 -0
  258. package/src/components/FloatDocActions/components/DocActions/types.ts +3 -0
  259. package/src/components/FloatDocActions/components/index.ts +1 -0
  260. package/src/components/FloatDocActions/constants.ts +1 -0
  261. package/src/components/FloatDocActions/index.ts +3 -0
  262. package/src/components/Icon/Icon.stories.tsx +80 -67
  263. package/src/components/Icon/Icon.styles.ts +1 -1
  264. package/src/components/Icon/Icon.tsx +17 -12
  265. package/src/components/Icon/icons/calendar.svg +1 -0
  266. package/src/components/Icon/icons/check.svg +1 -0
  267. package/src/components/Icon/icons/chevron-down-small.svg +1 -0
  268. package/src/components/Icon/icons/chevron-down.svg +1 -0
  269. package/src/components/Icon/icons/chevron-left.svg +1 -0
  270. package/src/components/Icon/icons/chevron-right.svg +1 -0
  271. package/src/components/Icon/icons/close-large.svg +1 -0
  272. package/src/components/Icon/icons/close-window.svg +1 -0
  273. package/src/components/Icon/icons/close.svg +1 -0
  274. package/src/components/Icon/icons/filter.svg +1 -0
  275. package/src/components/Icon/icons/index.ts +62 -0
  276. package/src/components/Icon/icons/information.svg +1 -0
  277. package/src/components/Icon/icons/menu.svg +1 -0
  278. package/src/components/Icon/icons/minus.svg +1 -0
  279. package/src/components/Icon/icons/plus.svg +1 -0
  280. package/src/components/Icon/icons/search.svg +1 -0
  281. package/src/components/Icon/icons/status-error.svg +1 -0
  282. package/src/components/Icon/icons/status-info.svg +1 -0
  283. package/src/components/Icon/icons/status-not-ok.svg +1 -0
  284. package/src/components/Icon/icons/status-ok.svg +1 -0
  285. package/src/components/Icon/icons/status-warning.svg +1 -0
  286. package/src/components/Icon/icons/trash-can.svg +1 -0
  287. package/src/components/Icon/index.ts +1 -1
  288. package/src/components/Icon/types.ts +7 -13
  289. package/src/components/IconButton/IconButton.stories.tsx +7 -12
  290. package/src/components/IconButton/IconButton.styles.ts +15 -13
  291. package/src/components/IconButton/constants.ts +1 -1
  292. package/src/components/IncrementInput/IncrementInput.stories.tsx +25 -23
  293. package/src/components/IncrementInput/IncrementInput.styles.ts +31 -39
  294. package/src/components/IncrementInput/IncrementInput.tsx +28 -25
  295. package/src/components/Input/Input.stories.tsx +37 -68
  296. package/src/components/Input/Input.styles.ts +4 -0
  297. package/src/components/Input/Input.tsx +3 -2
  298. package/src/components/Input/InputBase.tsx +54 -55
  299. package/src/components/List/List.stories.tsx +22 -17
  300. package/src/components/List/List.styles.ts +2 -1
  301. package/src/components/List/List.tsx +5 -2
  302. package/src/components/List/index.ts +2 -1
  303. package/src/components/List/types.ts +5 -0
  304. package/src/components/Modal/Modal.stories.tsx +50 -59
  305. package/src/components/Modal/Modal.tsx +1 -1
  306. package/src/components/MoreMenu/MoreMenu.stories.tsx +24 -15
  307. package/src/components/MultiSelect/MultiSelect.stories.tsx +23 -20
  308. package/src/components/MultiSelectList/MultiSelectList.tsx +15 -11
  309. package/src/components/MultiSelectList/helpers.ts +2 -2
  310. package/src/components/NewMoreMenu/NewMoreMenu.stories.tsx +42 -40
  311. package/src/components/Notification/Notification.stories.tsx +35 -34
  312. package/src/components/NumberInput/NumberInput.stories.tsx +32 -28
  313. package/src/components/PhoneInput/PhoneInput.stories.tsx +31 -56
  314. package/src/components/PhoneInput/PhoneInput.tsx +5 -2
  315. package/src/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.stories.tsx +5 -11
  316. package/src/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.tsx +1 -4
  317. package/src/components/RadioButton/RadioButton.stories.tsx +31 -21
  318. package/src/components/RadioButton/RadioButton.styles.ts +2 -1
  319. package/src/components/RadioButton/RadioButton.tsx +12 -5
  320. package/src/components/RadioButton/index.ts +1 -0
  321. package/src/components/RadioButton/types.ts +4 -0
  322. package/src/components/ScrollIntoViewIfNeeded/ScrollIntoViewIfNeeded.ts +15 -9
  323. package/src/components/SearchInput/SearchInput.stories.tsx +14 -14
  324. package/src/components/SearchInput/SearchInput.tsx +20 -29
  325. package/src/components/Select/CustomSelect.stories.tsx +29 -32
  326. package/src/components/Select/MultiSelect.stories.tsx +45 -45
  327. package/src/components/Select/Select.stories.tsx +45 -44
  328. package/src/components/Select/Select.styles.ts +5 -40
  329. package/src/components/Select/Select.tsx +67 -53
  330. package/src/components/Select/components/SelectList/SelectList.tsx +8 -6
  331. package/src/components/Select/components/SelectListItem/SelectListItem.tsx +5 -2
  332. package/src/components/Select/index.ts +1 -1
  333. package/src/components/Select/types.ts +3 -0
  334. package/src/components/Selector/Selector.stories.tsx +25 -27
  335. package/src/components/Selector/Selector.tsx +1 -2
  336. package/src/components/Skeleton/Skeleton.stories.tsx +13 -12
  337. package/src/components/SmartInput/SmartInput.stories.tsx +23 -23
  338. package/src/components/Status/Status.stories.tsx +79 -28
  339. package/src/components/Status/Status.styles.ts +2 -37
  340. package/src/components/Status/constants.ts +0 -10
  341. package/src/components/Status/index.ts +1 -1
  342. package/src/components/Status/types.ts +7 -3
  343. package/src/components/Switch/Switch.stories.tsx +19 -26
  344. package/src/components/TextArea/TextArea.stories.tsx +37 -26
  345. package/src/components/TextArea/TextArea.styles.ts +15 -8
  346. package/src/components/TextArea/TextArea.tsx +95 -62
  347. package/src/components/TextArea/index.ts +1 -1
  348. package/src/components/TextArea/types.ts +5 -5
  349. package/src/components/TextButton/TextButton.stories.tsx +8 -19
  350. package/src/components/TextButton/TextButton.styles.ts +1 -0
  351. package/src/components/TextWithInfo/TextWithInfo.stories.tsx +13 -21
  352. package/src/components/TextWithTooltip/TextWithTooltip.stories.tsx +26 -25
  353. package/src/components/TextWithTooltip/TextWithTooltip.tsx +1 -2
  354. package/src/components/ThemedPreloader/ThemedPreloader.stories.tsx +12 -23
  355. package/src/components/ThemedPreloader/components/SvgPreloader/SvgPreloader.tsx +4 -4
  356. package/src/components/Toaster/Toaster.stories.tsx +16 -14
  357. package/src/components/Tooltip/Tooltip.stories.tsx +5 -4
  358. package/src/components/Tooltip/Tooltip.styles.ts +2 -0
  359. package/src/components/Tooltip/Tooltip.tsx +1 -1
  360. package/src/components/WithMessages/WithMessages.stories.tsx +16 -20
  361. package/src/components/WithPopup/WithPopup.stories.tsx +27 -26
  362. package/src/components/WithPopup/WithPopup.tsx +36 -15
  363. package/src/components/WithTooltip/WithTooltip.stories.tsx +28 -28
  364. package/src/components/index.ts +1 -1
  365. package/src/constants/phone-info.ts +20 -33
  366. package/src/helpers/misc.ts +9 -7
  367. package/src/helpers/phone.ts +19 -15
  368. package/src/helpers/popper-helpers.ts +0 -1
  369. package/src/hooks/index.ts +7 -4
  370. package/src/hooks/use-intersection-ref.ts +30 -0
  371. package/src/hooks/use-latest-ref.ts +7 -0
  372. package/src/hooks/use-merge.ts +8 -0
  373. package/src/hooks/use-mixed-styles.ts +9 -11
  374. package/src/hooks/use-on-click-outside.ts +22 -14
  375. package/src/hooks/use-tweak-styles.ts +49 -27
  376. package/src/theme/Provider.tsx +10 -5
  377. package/src/theme/create-themed-styles.ts +78 -0
  378. package/src/theme/helpers.ts +41 -39
  379. package/src/theme/index.ts +2 -0
  380. package/src/theme/true-jss/ThemedStylesManager.ts +93 -0
  381. package/src/theme/true-jss/TweakStylesManager.ts +156 -0
  382. package/src/theme/true-jss/index.ts +2 -0
  383. package/src/theme/true-jss/jss-context.tsx +34 -0
  384. package/src/theme/types.ts +9 -8
  385. package/src/types.ts +17 -6
  386. package/dist/components/AccountInfo/AccountInfo.stories.d.ts +0 -6
  387. package/dist/components/AddButton/AddButton.stories.d.ts +0 -6
  388. package/dist/components/Button/Button.stories.d.ts +0 -6
  389. package/dist/components/Checkbox/Checkbox.stories.d.ts +0 -8
  390. package/dist/components/CloseButton/CloseButton.stories.d.ts +0 -5
  391. package/dist/components/Colors/Colors.d.ts +0 -2
  392. package/dist/components/Colors/Colors.stories.d.ts +0 -5
  393. package/dist/components/Colors/Colors.styles.d.ts +0 -1
  394. package/dist/components/Colors/index.d.ts +0 -1
  395. package/dist/components/ControlWrapper/ControlWrapper.stories.d.ts +0 -6
  396. package/dist/components/DateInput/DateInput.stories.d.ts +0 -7
  397. package/dist/components/DatePicker/DatePicker.stories.d.ts +0 -7
  398. package/dist/components/Description/Description.stories.d.ts +0 -16
  399. package/dist/components/FileInput/FileInput.stories.d.ts +0 -7
  400. package/dist/components/FileItem/FileItem.stories.d.ts +0 -8
  401. package/dist/components/FiltersPane/FiltersPane.stories.d.ts +0 -31
  402. package/dist/components/Flag/Flag.stories.d.ts +0 -12
  403. package/dist/components/FlexibleTable/FlexibleTable.stories.d.ts +0 -19
  404. package/dist/components/Icon/Icon.stories.d.ts +0 -6
  405. package/dist/components/Icon/complexIcons/icons.d.ts +0 -10
  406. package/dist/components/Icon/complexIcons/index.d.ts +0 -1
  407. package/dist/components/Icon/components/ComplexIconBoilerplate/ComplexIconBoilerplate.d.ts +0 -6
  408. package/dist/components/Icon/components/ComplexIconBoilerplate/index.d.ts +0 -1
  409. package/dist/components/Icon/components/IconBolerplate/IconBoilerplate.d.ts +0 -6
  410. package/dist/components/Icon/components/IconBolerplate/index.d.ts +0 -1
  411. package/dist/components/Icon/components/index.d.ts +0 -2
  412. package/dist/components/Icon/helpers.d.ts +0 -6
  413. package/dist/components/Icon/icons-list.d.ts +0 -1
  414. package/dist/components/IconButton/IconButton.stories.d.ts +0 -6
  415. package/dist/components/IncrementInput/IncrementInput.stories.d.ts +0 -6
  416. package/dist/components/Input/Input.stories.d.ts +0 -25
  417. package/dist/components/List/List.stories.d.ts +0 -5
  418. package/dist/components/Modal/Modal.stories.d.ts +0 -29
  419. package/dist/components/MoreMenu/MoreMenu.stories.d.ts +0 -6
  420. package/dist/components/MultiSelect/MultiSelect.stories.d.ts +0 -13
  421. package/dist/components/NewMoreMenu/NewMoreMenu.stories.d.ts +0 -12
  422. package/dist/components/Notification/Notification.stories.d.ts +0 -8
  423. package/dist/components/NumberInput/NumberInput.stories.d.ts +0 -7
  424. package/dist/components/PhoneInput/PhoneInput.stories.d.ts +0 -28
  425. package/dist/components/PhoneInput/components/PhoneInputCountryList/PhoneInputCountryList.stories.d.ts +0 -5
  426. package/dist/components/RadioButton/RadioButton.stories.d.ts +0 -7
  427. package/dist/components/SearchInput/SearchInput.stories.d.ts +0 -6
  428. package/dist/components/Select/CustomSelect.stories.d.ts +0 -11
  429. package/dist/components/Select/MultiSelect.stories.d.ts +0 -15
  430. package/dist/components/Select/Select.stories.d.ts +0 -15
  431. package/dist/components/Selector/Selector.stories.d.ts +0 -7
  432. package/dist/components/Skeleton/Skeleton.stories.d.ts +0 -6
  433. package/dist/components/SmartInput/SmartInput.stories.d.ts +0 -18
  434. package/dist/components/Status/Status.stories.d.ts +0 -6
  435. package/dist/components/Switch/Switch.stories.d.ts +0 -16
  436. package/dist/components/TextArea/TextArea.stories.d.ts +0 -17
  437. package/dist/components/TextButton/TextButton.stories.d.ts +0 -6
  438. package/dist/components/TextWithInfo/TextWithInfo.stories.d.ts +0 -12
  439. package/dist/components/TextWithTooltip/TextWithTooltip.stories.d.ts +0 -24
  440. package/dist/components/ThemedPreloader/ThemedPreloader.stories.d.ts +0 -17
  441. package/dist/components/Toaster/Toaster.stories.d.ts +0 -5
  442. package/dist/components/Tooltip/Tooltip.stories.d.ts +0 -5
  443. package/dist/components/WithMessages/WithMessages.stories.d.ts +0 -7
  444. package/dist/components/WithPopup/WithPopup.stories.d.ts +0 -16
  445. package/dist/components/WithTooltip/WithTooltip.stories.d.ts +0 -6
  446. package/src/components/Colors/Colors.styles.ts +0 -36
  447. package/src/components/Colors/Colors.tsx +0 -26
  448. package/src/components/Colors/index.ts +0 -1
  449. package/src/components/Flag/augment.d.ts +0 -1
  450. package/src/components/Icon/complexIcons/augment.d.ts +0 -1
  451. package/src/components/Icon/complexIcons/icons.ts +0 -19
  452. package/src/components/Icon/complexIcons/index.ts +0 -1
  453. package/src/components/Icon/components/ComplexIconBoilerplate/ComplexIconBoilerplate.tsx +0 -16
  454. package/src/components/Icon/components/ComplexIconBoilerplate/index.ts +0 -1
  455. package/src/components/Icon/components/IconBolerplate/IconBoilerplate.tsx +0 -43
  456. package/src/components/Icon/components/IconBolerplate/index.ts +0 -1
  457. package/src/components/Icon/components/index.ts +0 -2
  458. package/src/components/Icon/helpers.tsx +0 -9
  459. package/src/components/Icon/icons-list.ts +0 -855
  460. package/src/vite-env.d.ts +0 -1
  461. /package/src/components/Icon/{complexIcons/avatarGreen.svg → icons/avatar.svg} +0 -0
  462. /package/src/components/Icon/{complexIcons/fileExcel.svg → icons/file-excel.svg} +0 -0
  463. /package/src/components/Icon/{complexIcons/fileImage.svg → icons/file-image.svg} +0 -0
  464. /package/src/components/Icon/{complexIcons/fileOther.svg → icons/file-other.svg} +0 -0
  465. /package/src/components/Icon/{complexIcons/filePdf.svg → icons/file-pdf.svg} +0 -0
  466. /package/src/components/Icon/{complexIcons/fileWord.svg → icons/file-word.svg} +0 -0
  467. /package/src/components/Icon/{complexIcons/fileXml.svg → icons/file-xml.svg} +0 -0
  468. /package/src/components/Icon/{complexIcons/fileZip.svg → icons/file-zip.svg} +0 -0
@@ -1,6 +1,13 @@
1
1
  import { ReactNode, useMemo, useRef, useState } from 'react';
2
2
  import clsx from 'clsx';
3
- import { addDataAttributes } from '../../../../helpers';
3
+ import {
4
+ addDataAttributes,
5
+ addDataTestId,
6
+ getTestId,
7
+ isArrayLikeNotEmpty,
8
+ isArrayNotEmpty,
9
+ isNotEmpty,
10
+ } from '@true-engineering/true-react-platform-helpers';
4
11
  import { useOnClickOutside, useTweakStyles } from '../../../../hooks';
5
12
  import { ICommonProps } from '../../../../types';
6
13
  import { Icon } from '../../../Icon';
@@ -29,6 +36,7 @@ export interface IFiltersPaneSearchProps<Value> extends ICommonProps<IFiltersPan
29
36
  hasClearSelectButton?: boolean;
30
37
  isDisabled?: boolean;
31
38
  isSelectSearchEnabled?: boolean;
39
+ isAutoSized?: boolean;
32
40
  }
33
41
 
34
42
  export function FiltersPaneSearch<Value>({
@@ -44,6 +52,7 @@ export function FiltersPaneSearch<Value>({
44
52
  hasClearSelectButton,
45
53
  isDisabled = false,
46
54
  isSelectSearchEnabled = true,
55
+ isAutoSized = false,
47
56
  maxLength,
48
57
  data,
49
58
  tweakStyles,
@@ -89,20 +98,15 @@ export function FiltersPaneSearch<Value>({
89
98
  setIsOpen(false);
90
99
  };
91
100
 
92
- const selectedFieldLabel = useMemo(
93
- () => (field !== undefined && getValueView !== undefined ? getValueView(field) : undefined),
94
- [field],
95
- );
96
-
97
101
  return (
98
102
  <div
99
103
  className={clsx(classes.root, {
100
104
  [classes.focused]: isInputFocused,
101
105
  [classes.disabled]: isDisabled,
106
+ [classes.hasValue]: isArrayLikeNotEmpty(value),
102
107
  })}
103
108
  ref={refRoot}
104
- data-testid={testId}
105
- {...addDataAttributes(data)}
109
+ {...addDataAttributes(data, testId)}
106
110
  >
107
111
  <SearchInput
108
112
  value={value}
@@ -111,26 +115,22 @@ export function FiltersPaneSearch<Value>({
111
115
  tweakStyles={tweakSearchInputStyles}
112
116
  onFocus={() => setIsInputFocused(true)}
113
117
  onBlur={() => setIsInputFocused(false)}
114
- testId={testId !== undefined ? `${testId}-input` : undefined}
118
+ testId={getTestId(testId, 'input')}
115
119
  maxLength={maxLength}
116
120
  isDisabled={isDisabled}
121
+ isAutoSized={isAutoSized}
117
122
  />
118
123
 
119
124
  <div className={classes.selectWrapper}>
120
125
  {/* Select block */}
121
- {fields.length > 0 && (
126
+ {isArrayNotEmpty(fields) && (
122
127
  <div
123
128
  className={classes.selectBlock}
124
129
  onClick={!isDisabled ? () => setIsOpen(!isOpen) : undefined}
125
- data-testid={testId !== undefined ? `${testId}-select` : undefined}
130
+ {...addDataTestId(testId, 'select')}
126
131
  >
127
- <div
128
- className={clsx(
129
- classes.selectLabel,
130
- selectedFieldLabel !== undefined && classes.active,
131
- )}
132
- >
133
- {selectedFieldLabel ?? translates.displayedFields}
132
+ <div className={clsx(classes.selectLabel, { [classes.active]: isNotEmpty(field) })}>
133
+ {isNotEmpty(field) ? getValueView?.(field) : translates.displayedFields}
134
134
  </div>
135
135
  <div className={clsx(classes.chevronIcon, isOpen && classes.open)}>
136
136
  <Icon type="chevron-down" />
@@ -152,7 +152,7 @@ export function FiltersPaneSearch<Value>({
152
152
  onChange={handleFieldsChange}
153
153
  isSearchEnabled={isSelectSearchEnabled}
154
154
  hasClearButton={hasClearSelectButton}
155
- testId={testId !== undefined ? `${testId}-dropdown` : undefined}
155
+ testId={getTestId(testId, 'dropdown')}
156
156
  />
157
157
  </div>
158
158
  )}
@@ -1,4 +1,4 @@
1
- import merge from 'lodash-es/merge';
1
+ import { merge } from '@true-engineering/true-react-platform-helpers';
2
2
  import { DEFAULT_LOCALE, DEFAULT_SELECT_LOCALE, FilterLocales, SelectLocales } from './constants';
3
3
  import {
4
4
  type IFilterLocale,
@@ -12,13 +12,13 @@ export const getLocale = (
12
12
  key: IFilterLocaleKey = DEFAULT_LOCALE,
13
13
  custom?: IPartialFilterLocale,
14
14
  custom2?: IPartialFilterLocale,
15
- ): IFilterLocale => merge({}, FilterLocales[key], custom, custom2);
15
+ ): IFilterLocale => merge(FilterLocales[key], custom, custom2);
16
16
 
17
17
  export const getSelectLocale = (
18
18
  key: ISelectLocaleKey = DEFAULT_SELECT_LOCALE,
19
19
  custom?: Partial<ISelectLocale>,
20
20
  custom2?: Partial<ISelectLocale>,
21
- ): ISelectLocale => merge({}, SelectLocales[key], custom, custom2);
21
+ ): ISelectLocale => merge(SelectLocales[key], custom, custom2);
22
22
 
23
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));
@@ -1,5 +1,6 @@
1
1
  export * from './FiltersPane';
2
2
  export type { IFiltersPaneStyles } from './FiltersPane.styles';
3
3
  export * from './types';
4
+ export { PERIODS, PERIODS_GETTERS } from './constants';
4
5
  // TODO : подумать над тем чтобы вынести это все наружу
5
6
  export * from './components';
@@ -1,6 +1,8 @@
1
1
  import { FC, ReactNode } from 'react';
2
+ import { ITestIdProps } from '../../types';
2
3
  import { IDatePickerProps } from '../DatePicker';
3
4
  import { IMultiSelectListValues } from '../MultiSelectList';
5
+ import { INumberInputProps } from '../NumberInput';
4
6
  import type {
5
7
  IFilterIntervalProps,
6
8
  IFilterMultiSelectProps,
@@ -47,7 +49,7 @@ export type MultiSelectOptionType<Value> = Value | undefined extends
47
49
  : unknown;
48
50
 
49
51
  export interface IConfigItemBasicBase<Value> {
50
- name: string;
52
+ name: ReactNode;
51
53
  isInline?: boolean;
52
54
  isClearable?: boolean;
53
55
  requiredFilledFilters?: string[];
@@ -58,6 +60,7 @@ export interface IConfigItemBasicBase<Value> {
58
60
 
59
61
  export type IIntervalConfigItem<Value> = IConfigItemBasicBase<Value> & {
60
62
  type: 'interval';
63
+ name: string;
61
64
  } & Omit<IFilterIntervalProps, 'value' | 'onChange' | 'labelName'>;
62
65
 
63
66
  export interface IBooleanConfigItem<Value> extends IConfigItemBasicBase<Value> {
@@ -84,22 +87,38 @@ export type IDateRangeConfigItem<Value> = IConfigItemBasicBase<Value> & {
84
87
  dateFormat?: string;
85
88
  } & Omit<IFilterWithPeriodProps, 'value' | 'onChange' | 'setIsOpen'>;
86
89
 
87
- export type CustomComponent<Value> = FC<{
90
+ export interface ICustomComponentProps<Value> extends ITestIdProps {
88
91
  value?: Value;
89
92
  onChange: (v?: Value) => void;
90
93
  onClose?: () => void;
91
94
  filter: ICustomConfigItem<Value>;
92
95
  localeKey?: IFilterLocaleKey;
93
96
  locale?: IPartialFilterLocale;
94
- }>;
97
+ }
98
+
99
+ export type CustomComponent<Value> = FC<ICustomComponentProps<Value>>;
100
+
101
+ export type ICustomValue<V> = V extends Array<infer T> ? T : never;
102
+
103
+ export interface ICustomRangeConfigItem<Value> extends IConfigItemBasicBase<Value> {
104
+ [key: string & {}]: any;
105
+ type: 'custom';
106
+ component: CustomComponent<Value>;
107
+ valueViewType?: 'range';
108
+ }
95
109
 
96
- export interface ICustomConfigItem<Value> extends IConfigItemBasicBase<Value> {
97
- [key: string]: any;
110
+ export interface ICustomMultipleConfigItem<Value> extends IConfigItemBasicBase<Value> {
111
+ [key: string & {}]: any;
98
112
  type: 'custom';
99
113
  component: CustomComponent<Value>;
100
- valueViewType?: 'range' | 'multiple';
114
+ valueViewType?: 'multiple';
115
+ getSelectedValue?: (v: ICustomValue<Value>) => ReactNode;
101
116
  }
102
117
 
118
+ export type ICustomConfigItem<Value> =
119
+ | ICustomRangeConfigItem<Value>
120
+ | ICustomMultipleConfigItem<Value>;
121
+
103
122
  export type ConfigItem<Value> =
104
123
  | ISelectConfigItem<Value>
105
124
  | IMultiSelectConfigItem<Value>
@@ -155,3 +174,8 @@ export type IFilterWithDateDatePickerProps = Omit<
155
174
  IDatePickerProps,
156
175
  'onChange' | 'value' | 'locale' | 'months' | 'selectedDate' | 'tweakStyles'
157
176
  >;
177
+
178
+ export type IFilterNumberInputProps = Omit<
179
+ INumberInputProps,
180
+ 'onChange' | 'value' | 'label' | 'testId' | 'tweakStyles'
181
+ >;
@@ -1,29 +1,25 @@
1
+ import { FC } from 'react';
1
2
  import { countries } from 'country-flag-icons';
2
- import { ComponentStory } from '@storybook/react';
3
- import { Flag } from './Flag';
3
+ import { type Meta } from '@storybook/react';
4
+ import { Flag, IFlagProps } from './Flag';
5
+ import { customFlags } from './customFlags';
4
6
 
5
- export default {
6
- title: 'Data Display/Flag',
7
- component: Flag,
8
- argTypes: {
9
- countryCode: { control: 'select', options: countries },
10
- },
11
- };
12
-
13
- const Template: ComponentStory<typeof Flag> = (args) => (
7
+ const Story: FC<IFlagProps> = (args) => (
14
8
  <div style={{ width: 60, height: 40 }}>
15
9
  <Flag {...args} />
16
10
  </div>
17
11
  );
18
12
 
19
- export const Default = Template.bind({});
20
-
21
- Default.args = {
22
- countryCode: 'ug',
23
- };
24
-
25
- Default.parameters = {
26
- controls: {
27
- exclude: ['data'],
13
+ const meta: Meta<typeof Story> = {
14
+ title: 'Data Display/Flag',
15
+ component: Story,
16
+ args: {
17
+ countryCode: 'ug',
18
+ },
19
+ argTypes: {
20
+ countryCode: { control: 'select', options: [...countries, ...Object.keys(customFlags)] },
28
21
  },
29
22
  };
23
+
24
+ export default meta;
25
+ export const Default = {};
@@ -2,6 +2,10 @@ import { colors, ITweakStyles, createThemedStyles } from '../../theme';
2
2
 
3
3
  export const useStyles = createThemedStyles('Flag', {
4
4
  root: {
5
+ display: 'flex',
6
+ width: '100%',
7
+ height: '100%',
8
+ boxSizing: 'border-box',
5
9
  // приходится хардкодить в компоненте, тк либа Flags выдает флаги с 2-3 пиксельным отступом снизу
6
10
  // если будет нужно, то можно вынести border на уровень пропсов
7
11
  border: [1, 'solid', colors.BORDER_MAIN],
@@ -1,9 +1,10 @@
1
1
  import { FC } from 'react';
2
2
  import { hasFlag } from 'country-flag-icons';
3
- import Flags from 'country-flag-icons/react/3x2';
3
+ import * as Flags from 'country-flag-icons/react/3x2';
4
4
  import { ICommonProps } from '../../types';
5
5
  import { Icon } from '../Icon';
6
- import { useStyles, IFlagStyles } from './Flag.styles';
6
+ import { customFlags } from './customFlags';
7
+ import { IFlagStyles, useStyles } from './Flag.styles';
7
8
 
8
9
  export interface IFlagProps extends Pick<ICommonProps<IFlagStyles>, 'tweakStyles'> {
9
10
  /** @default '' */
@@ -12,15 +13,28 @@ export interface IFlagProps extends Pick<ICommonProps<IFlagStyles>, 'tweakStyles
12
13
 
13
14
  export const Flag: FC<IFlagProps> = ({ countryCode = '', tweakStyles }) => {
14
15
  const classes = useStyles({ theme: tweakStyles });
15
- const CC = countryCode.toUpperCase();
16
+ const countryFlagKey = countryCode.toUpperCase();
16
17
 
17
- const TheFlag = hasFlag(CC)
18
- ? Flags[CC as keyof typeof Flags]
19
- : () => (
20
- <div className={classes.noFlag}>
21
- <Icon type="minus" />
22
- </div>
23
- );
18
+ const hasFlagInLibrary = hasFlag(countryFlagKey);
24
19
 
25
- return <TheFlag className={classes.root} />;
20
+ if (hasFlagInLibrary) {
21
+ const FlagComponent = Flags[countryFlagKey as keyof typeof Flags];
22
+ return (
23
+ <div className={classes.root}>
24
+ <FlagComponent />
25
+ </div>
26
+ );
27
+ }
28
+
29
+ const CustomFlag = customFlags[countryFlagKey as keyof typeof customFlags];
30
+
31
+ if (CustomFlag !== undefined) {
32
+ return <div className={classes.root} dangerouslySetInnerHTML={{ __html: CustomFlag }} />;
33
+ }
34
+
35
+ return (
36
+ <div className={classes.noFlag}>
37
+ <Icon type="minus" />
38
+ </div>
39
+ );
26
40
  };
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 341.3"><path fill="#FFF" d="M0 0h512v341.3H0z"/><g fill="#6DA544"><path d="M0 0h512v48.8H0zM0 97.5h512v48.8H0zM0 195h512v48.8H0zM0 292.6h512v48.8H0z"/></g><path fill="#D80027" d="M0 0h256v146.3H0z"/><path fill="#FFF" d="m116.9 114.4-7.5-14.8V69.9L128 59l18.6 10.9v22.3l7.4-7.4 4.2 3-4.2 11.8-14.9 14.8z"/><circle fill="#FFF" cx="82" cy="82.8" r="5.4"/><circle fill="#FFF" cx="90.8" cy="61.7" r="5.4"/><circle fill="#FFF" cx="106.6" cy="46.2" r="5.4"/><circle fill="#FFF" cx="128" cy="40.8" r="5.4"/><circle fill="#FFF" cx="149.4" cy="46.2" r="5.4"/><circle fill="#FFF" cx="165.2" cy="61.7" r="5.4"/><circle fill="#FFF" cx="174" cy="82.8" r="5.4"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 450 300"><path fill="#FFF" d="M0 0h450v300H0z"/><path fill="red" d="M0 100h450v200H0z"/><path fill="#FFDF00" d="M0 200h450v100H0z"/></svg>
@@ -0,0 +1,13 @@
1
+ import AB from './AB.svg?raw';
2
+ import OS from './OS.svg?raw';
3
+
4
+ export const customFlags = {
5
+ /**
6
+ * Абхазия
7
+ */
8
+ AB,
9
+ /**
10
+ * Южная осетия
11
+ */
12
+ OS,
13
+ };
@@ -0,0 +1 @@
1
+ export * from './customFlags';
@@ -1,14 +1,9 @@
1
1
  import { FC } from 'react';
2
2
  import { isNotEmpty } from '@true-engineering/true-react-platform-helpers';
3
- import { ComponentMeta, ComponentStory } from '@storybook/react';
4
- import { FlexibleTable } from './FlexibleTable';
3
+ import { type Meta } from '@storybook/react';
4
+ import { FlexibleTable, IFlexibleTableProps } from './FlexibleTable';
5
5
  import { IFlexibleTableConfigType, IValueComponentProps } from './types';
6
6
 
7
- export default {
8
- title: 'Table/FlexibleTable',
9
- component: FlexibleTable,
10
- } as ComponentMeta<typeof FlexibleTable>;
11
-
12
7
  interface ITableContent {
13
8
  contractCode: string;
14
9
  validFrom: Date;
@@ -77,7 +72,7 @@ const config: IFlexibleTableConfigType<ITableContent> = {
77
72
 
78
73
  const content: ITableContent[] = [
79
74
  {
80
- contractCode: 'SOME_CODE',
75
+ contractCode: 'SOME_CODE1',
81
76
  validFrom: new Date('2015-05-18'),
82
77
  validTo: new Date('2020-05-18'),
83
78
  title: 'Название',
@@ -91,7 +86,7 @@ const content: ITableContent[] = [
91
86
  publicNote: 'Public Note',
92
87
  },
93
88
  {
94
- contractCode: 'SOME_CODE',
89
+ contractCode: 'SOME_CODE2',
95
90
  validFrom: new Date('2015-05-18'),
96
91
  validTo: new Date('2020-05-18'),
97
92
  title: 'Название',
@@ -104,7 +99,7 @@ const content: ITableContent[] = [
104
99
  note: 'Only Note',
105
100
  },
106
101
  {
107
- contractCode: 'SOME_CODE',
102
+ contractCode: 'SOME_CODE3',
108
103
  validFrom: new Date('2015-05-18'),
109
104
  validTo: new Date('2020-05-18'),
110
105
  title: 'Название',
@@ -117,7 +112,7 @@ const content: ITableContent[] = [
117
112
  publicNote: 'Only Public Note',
118
113
  },
119
114
  {
120
- contractCode: 'SOME_CODE_1',
115
+ contractCode: 'SOME_CODE4',
121
116
  validFrom: new Date('2015-05-18'),
122
117
  validTo: new Date('2020-05-18'),
123
118
  title: 'Название',
@@ -129,7 +124,7 @@ const content: ITableContent[] = [
129
124
  status: 'Active',
130
125
  },
131
126
  {
132
- contractCode: 'SOME_CODE',
127
+ contractCode: 'SOME_CODE5',
133
128
  validFrom: new Date('2015-05-18'),
134
129
  validTo: new Date('2020-05-18'),
135
130
  title: 'Название',
@@ -141,7 +136,7 @@ const content: ITableContent[] = [
141
136
  status: 'Active',
142
137
  },
143
138
  {
144
- contractCode: 'SOME_CODE',
139
+ contractCode: 'SOME_CODE6',
145
140
  validFrom: new Date('2015-05-18'),
146
141
  validTo: new Date('2020-05-18'),
147
142
  title: 'Название',
@@ -153,7 +148,7 @@ const content: ITableContent[] = [
153
148
  status: 'Active',
154
149
  },
155
150
  {
156
- contractCode: 'SOME_CODE',
151
+ contractCode: 'SOME_CODE7',
157
152
  validFrom: new Date('2015-05-18'),
158
153
  validTo: new Date('2020-05-18'),
159
154
  title: 'Название',
@@ -165,7 +160,7 @@ const content: ITableContent[] = [
165
160
  status: 'Active',
166
161
  },
167
162
  {
168
- contractCode: 'SOME_CODE',
163
+ contractCode: 'SOME_CODE8',
169
164
  validFrom: new Date('2015-05-18'),
170
165
  validTo: new Date('2020-05-18'),
171
166
  title: 'Название',
@@ -177,7 +172,7 @@ const content: ITableContent[] = [
177
172
  status: 'Active',
178
173
  },
179
174
  {
180
- contractCode: 'SOME_CODE',
175
+ contractCode: 'SOME_CODE9',
181
176
  validFrom: new Date('2015-05-18'),
182
177
  validTo: new Date('2020-05-18'),
183
178
  title: 'Название',
@@ -189,7 +184,7 @@ const content: ITableContent[] = [
189
184
  status: 'Active',
190
185
  },
191
186
  {
192
- contractCode: 'SOME_CODE',
187
+ contractCode: 'SOME_CODE10',
193
188
  validFrom: new Date('2015-05-18'),
194
189
  validTo: new Date('2020-05-18'),
195
190
  title: 'Название',
@@ -201,7 +196,7 @@ const content: ITableContent[] = [
201
196
  status: 'Active',
202
197
  },
203
198
  {
204
- contractCode: 'SOME_CODE',
199
+ contractCode: 'SOME_CODE11',
205
200
  validFrom: new Date('2015-05-18'),
206
201
  validTo: new Date('2020-05-18'),
207
202
  title: 'Название',
@@ -213,7 +208,7 @@ const content: ITableContent[] = [
213
208
  status: 'Active',
214
209
  },
215
210
  {
216
- contractCode: 'SOME_CODE',
211
+ contractCode: 'SOME_CODE12',
217
212
  validFrom: new Date('2015-05-18'),
218
213
  validTo: new Date('2020-05-18'),
219
214
  title: 'Название',
@@ -225,7 +220,7 @@ const content: ITableContent[] = [
225
220
  status: 'Active',
226
221
  },
227
222
  {
228
- contractCode: 'OB_UT_M119',
223
+ contractCode: 'OB_UT_M13',
229
224
  validFrom: new Date('2015-05-18'),
230
225
  validTo: new Date('2020-05-18'),
231
226
  title: 'Название',
@@ -237,7 +232,7 @@ const content: ITableContent[] = [
237
232
  status: 'Active',
238
233
  },
239
234
  {
240
- contractCode: 'SOME_CODE',
235
+ contractCode: 'SOME_CODE14',
241
236
  validFrom: new Date('2015-05-18'),
242
237
  validTo: new Date('2020-05-18'),
243
238
  title: 'Название',
@@ -250,13 +245,15 @@ const content: ITableContent[] = [
250
245
  },
251
246
  ];
252
247
 
253
- const Template: ComponentStory<typeof FlexibleTable<ITableContent>> = (args) => (
248
+ const Story: FC<IFlexibleTableProps<ITableContent, unknown, 'contractCode'>> = (args) => (
254
249
  <div style={{ width: 700, overflow: 'auto' }}>
255
250
  <FlexibleTable<ITableContent>
256
251
  {...args}
257
252
  config={config}
258
253
  content={content}
259
254
  rowAttributes={['contractCode']}
255
+ enabledColumns={undefined}
256
+ uniqueField="contractCode"
260
257
  expandableRowComponent={(_0, _1, close) => (
261
258
  <div onClick={close}>
262
259
  всем привет :)
@@ -268,33 +265,33 @@ const Template: ComponentStory<typeof FlexibleTable<ITableContent>> = (args) =>
268
265
  </div>
269
266
  );
270
267
 
271
- export const Default = Template.bind({});
272
-
273
- Default.args = {
274
- isLoading: false,
275
- isFirstColumnSticky: true,
276
- isHorizontallyScrollable: true,
277
- isExpandableRowComponentInitiallyOpen: false,
278
- };
279
-
280
- Default.argTypes = {
281
- isExpandableRowComponentInitiallyOpen: { control: 'boolean' },
282
- };
283
-
284
- Default.parameters = {
285
- controls: {
286
- exclude: [
287
- 'data',
288
- 'testId',
289
- 'content',
290
- 'config',
291
- 'rowAttributes',
292
- 'headerContent',
293
- 'tweakStyles',
294
- 'onHeadClick',
295
- 'onRowClick',
296
- 'onRowHover',
297
- 'expandableRowComponent',
298
- ],
268
+ const meta: Meta<typeof Story> = {
269
+ title: 'Table/FlexibleTable',
270
+ component: Story,
271
+ args: {
272
+ isLoading: false,
273
+ isFirstColumnSticky: true,
274
+ isHorizontallyScrollable: true,
275
+ isExpandableRowComponentInitiallyOpen: false,
276
+ },
277
+ parameters: {
278
+ controls: {
279
+ exclude: [
280
+ 'data',
281
+ 'testId',
282
+ 'content',
283
+ 'config',
284
+ 'rowAttributes',
285
+ 'headerContent',
286
+ 'tweakStyles',
287
+ 'onHeadClick',
288
+ 'onRowClick',
289
+ 'onRowHover',
290
+ 'expandableRowComponent',
291
+ ],
292
+ },
299
293
  },
300
294
  };
295
+
296
+ export default meta;
297
+ export const Default = {};
@@ -1,10 +1,12 @@
1
1
  import { rgba } from '../../helpers';
2
- import { colors, ITweakStyles, createThemedStyles, animations } from '../../theme';
2
+ import { colors, ITweakStyles, createThemedStyles, animations, helpers } from '../../theme';
3
3
  import type { IFlexibleTableRowStyles } from './components';
4
4
 
5
5
  export const STICKY_SHADOW_PADDING = 12;
6
6
 
7
7
  export const useStyles = createThemedStyles('FlexibleTable', {
8
+ flexibleTableWrapper: {},
9
+
8
10
  root: {
9
11
  width: '100%',
10
12
  position: 'relative',
@@ -13,7 +15,7 @@ export const useStyles = createThemedStyles('FlexibleTable', {
13
15
  },
14
16
 
15
17
  scroll: {
16
- overflow: 'auto',
18
+ ...helpers.withScrollBar,
17
19
  /*
18
20
  Чтобы сделать таблицу на всю высоту проставьте
19
21
  height у родителя таблицы у себя в проекте.