nntc-ui 0.2.6 → 0.2.7

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 (666) hide show
  1. package/components/common/Button/Button.d.ts +15 -0
  2. package/components/common/Button/Button.d.ts.map +1 -0
  3. package/components/common/Button/index.d.ts +2 -0
  4. package/components/common/Button/index.d.ts.map +1 -0
  5. package/components/common/ButtonsGroup/ButtonsGroup.d.ts +11 -0
  6. package/components/common/ButtonsGroup/ButtonsGroup.d.ts.map +1 -0
  7. package/{src/components/common/ButtonsGroup/index.ts → components/common/ButtonsGroup/index.d.ts} +1 -0
  8. package/components/common/ButtonsGroup/index.d.ts.map +1 -0
  9. package/components/common/Checkbox/Checkbox.d.ts +12 -0
  10. package/components/common/Checkbox/Checkbox.d.ts.map +1 -0
  11. package/{src/components/common/Checkbox/index.ts → components/common/Checkbox/index.d.ts} +1 -0
  12. package/components/common/Checkbox/index.d.ts.map +1 -0
  13. package/components/common/Checklist/Checklist.d.ts +17 -0
  14. package/components/common/Checklist/Checklist.d.ts.map +1 -0
  15. package/{src/components/common/Checklist/index.ts → components/common/Checklist/index.d.ts} +1 -1
  16. package/components/common/Checklist/index.d.ts.map +1 -0
  17. package/components/common/Checklist/models/Item.d.ts +5 -0
  18. package/components/common/Checklist/models/Item.d.ts.map +1 -0
  19. package/components/common/Checklist/models/SelectedItems.d.ts +4 -0
  20. package/components/common/Checklist/models/SelectedItems.d.ts.map +1 -0
  21. package/components/common/Checklist/utils/filterItems.d.ts +4 -0
  22. package/components/common/Checklist/utils/filterItems.d.ts.map +1 -0
  23. package/components/common/ColorPicker/ColorPicker.d.ts +18 -0
  24. package/components/common/ColorPicker/ColorPicker.d.ts.map +1 -0
  25. package/{src/components/common/ColorPicker/index.ts → components/common/ColorPicker/index.d.ts} +1 -0
  26. package/components/common/ColorPicker/index.d.ts.map +1 -0
  27. package/components/common/DateTime/DateTime.d.ts +29 -0
  28. package/components/common/DateTime/DateTime.d.ts.map +1 -0
  29. package/{src/components/common/DateTime/index.ts → components/common/DateTime/index.d.ts} +1 -0
  30. package/components/common/DateTime/index.d.ts.map +1 -0
  31. package/components/common/DateTime/models/dayjs.d.ts +25 -0
  32. package/components/common/DateTime/models/dayjs.d.ts.map +1 -0
  33. package/components/common/DateTime/ui/CalendarPopover/CalendarPopover.d.ts +18 -0
  34. package/components/common/DateTime/ui/CalendarPopover/CalendarPopover.d.ts.map +1 -0
  35. package/{src/components/common/DateTime/ui/CalendarPopover/index.ts → components/common/DateTime/ui/CalendarPopover/index.d.ts} +1 -0
  36. package/components/common/DateTime/ui/CalendarPopover/index.d.ts.map +1 -0
  37. package/components/common/DateTime/ui/TimeWheelColumn/TimeWheelColumn.d.ts +8 -0
  38. package/components/common/DateTime/ui/TimeWheelColumn/TimeWheelColumn.d.ts.map +1 -0
  39. package/{src/components/common/DateTime/ui/TimeWheelColumn/index.ts → components/common/DateTime/ui/TimeWheelColumn/index.d.ts} +1 -0
  40. package/components/common/DateTime/ui/TimeWheelColumn/index.d.ts.map +1 -0
  41. package/components/common/DateTime/utils/createCalendarDate.d.ts +3 -0
  42. package/components/common/DateTime/utils/createCalendarDate.d.ts.map +1 -0
  43. package/components/common/FieldShell/FieldErrorIcon.d.ts +11 -0
  44. package/components/common/FieldShell/FieldErrorIcon.d.ts.map +1 -0
  45. package/components/common/FieldShell/FieldShell.d.ts +32 -0
  46. package/components/common/FieldShell/FieldShell.d.ts.map +1 -0
  47. package/{src/components/common/FieldShell/index.ts → components/common/FieldShell/index.d.ts} +1 -0
  48. package/components/common/FieldShell/index.d.ts.map +1 -0
  49. package/components/common/Input/Input.d.ts +16 -0
  50. package/components/common/Input/Input.d.ts.map +1 -0
  51. package/components/common/Input/index.d.ts +2 -0
  52. package/components/common/Input/index.d.ts.map +1 -0
  53. package/components/common/MultiSelect/MultiSelect.d.ts +26 -0
  54. package/components/common/MultiSelect/MultiSelect.d.ts.map +1 -0
  55. package/{src/components/common/MultiSelect/index.ts → components/common/MultiSelect/index.d.ts} +1 -1
  56. package/components/common/MultiSelect/index.d.ts.map +1 -0
  57. package/components/common/MultiSelect/models/Item.d.ts +8 -0
  58. package/components/common/MultiSelect/models/Item.d.ts.map +1 -0
  59. package/{src/components/common/MultiSelect/models/TitleVariant.ts → components/common/MultiSelect/models/TitleVariant.d.ts} +1 -0
  60. package/components/common/MultiSelect/models/TitleVariant.d.ts.map +1 -0
  61. package/components/common/MultiSelect/ui/SelectPopover/SelectPopover.d.ts +14 -0
  62. package/components/common/MultiSelect/ui/SelectPopover/SelectPopover.d.ts.map +1 -0
  63. package/{src/components/common/MultiSelect/ui/SelectPopover/index.ts → components/common/MultiSelect/ui/SelectPopover/index.d.ts} +1 -0
  64. package/components/common/MultiSelect/ui/SelectPopover/index.d.ts.map +1 -0
  65. package/components/common/MultiSelect/utils/getTitle.d.ts +4 -0
  66. package/components/common/MultiSelect/utils/getTitle.d.ts.map +1 -0
  67. package/components/common/RadioButton/RadioButton.d.ts +13 -0
  68. package/components/common/RadioButton/RadioButton.d.ts.map +1 -0
  69. package/{src/components/common/RadioButton/index.ts → components/common/RadioButton/index.d.ts} +1 -0
  70. package/components/common/RadioButton/index.d.ts.map +1 -0
  71. package/components/common/Select/Select.d.ts +23 -0
  72. package/components/common/Select/Select.d.ts.map +1 -0
  73. package/{src/components/common/Select/index.ts → components/common/Select/index.d.ts} +1 -1
  74. package/components/common/Select/index.d.ts.map +1 -0
  75. package/components/common/Select/models/Divider.d.ts +5 -0
  76. package/components/common/Select/models/Divider.d.ts.map +1 -0
  77. package/components/common/Select/models/Item.d.ts +13 -0
  78. package/components/common/Select/models/Item.d.ts.map +1 -0
  79. package/components/common/Select/ui/SelectPopover/SelectPopover.d.ts +13 -0
  80. package/components/common/Select/ui/SelectPopover/SelectPopover.d.ts.map +1 -0
  81. package/{src/components/common/Select/ui/SelectPopover/index.ts → components/common/Select/ui/SelectPopover/index.d.ts} +1 -0
  82. package/components/common/Select/ui/SelectPopover/index.d.ts.map +1 -0
  83. package/components/common/WrapForLabel/WrapForLabel.d.ts +12 -0
  84. package/components/common/WrapForLabel/WrapForLabel.d.ts.map +1 -0
  85. package/{src/components/common/WrapForLabel/index.ts → components/common/WrapForLabel/index.d.ts} +1 -0
  86. package/components/common/WrapForLabel/index.d.ts.map +1 -0
  87. package/components/layout/Layout/Layout.d.ts +11 -0
  88. package/components/layout/Layout/Layout.d.ts.map +1 -0
  89. package/{src/components/layout/Layout/index.ts → components/layout/Layout/index.d.ts} +1 -0
  90. package/components/layout/Layout/index.d.ts.map +1 -0
  91. package/components/layout/Surface/Surface.d.ts +14 -0
  92. package/components/layout/Surface/Surface.d.ts.map +1 -0
  93. package/{src/components/layout/Surface/index.ts → components/layout/Surface/index.d.ts} +1 -0
  94. package/components/layout/Surface/index.d.ts.map +1 -0
  95. package/components/navigation/Menu/Menu.d.ts +15 -0
  96. package/components/navigation/Menu/Menu.d.ts.map +1 -0
  97. package/{src/components/navigation/Menu/index.ts → components/navigation/Menu/index.d.ts} +1 -1
  98. package/components/navigation/Menu/index.d.ts.map +1 -0
  99. package/components/navigation/Menu/models/Divider.d.ts +5 -0
  100. package/components/navigation/Menu/models/Divider.d.ts.map +1 -0
  101. package/components/navigation/Menu/models/Item.d.ts +19 -0
  102. package/components/navigation/Menu/models/Item.d.ts.map +1 -0
  103. package/components/navigation/Tabs/Tabs.d.ts +27 -0
  104. package/components/navigation/Tabs/Tabs.d.ts.map +1 -0
  105. package/{src/components/navigation/Tabs/index.ts → components/navigation/Tabs/index.d.ts} +1 -1
  106. package/components/navigation/Tabs/index.d.ts.map +1 -0
  107. package/components/navigation/Tabs/models/Item.d.ts +9 -0
  108. package/components/navigation/Tabs/models/Item.d.ts.map +1 -0
  109. package/components/view/Card/Card.d.ts +18 -0
  110. package/components/view/Card/Card.d.ts.map +1 -0
  111. package/components/view/Card/index.d.ts +2 -0
  112. package/components/view/Card/index.d.ts.map +1 -0
  113. package/components/view/Chip/Chip.d.ts +18 -0
  114. package/components/view/Chip/Chip.d.ts.map +1 -0
  115. package/{src/components/view/Chip/index.ts → components/view/Chip/index.d.ts} +1 -0
  116. package/components/view/Chip/index.d.ts.map +1 -0
  117. package/components/view/InputChip/InputChip.d.ts +17 -0
  118. package/components/view/InputChip/InputChip.d.ts.map +1 -0
  119. package/{src/components/view/InputChip/index.ts → components/view/InputChip/index.d.ts} +1 -0
  120. package/components/view/InputChip/index.d.ts.map +1 -0
  121. package/components/view/Loader/Loader.d.ts +9 -0
  122. package/components/view/Loader/Loader.d.ts.map +1 -0
  123. package/{src/components/view/Loader/index.ts → components/view/Loader/index.d.ts} +1 -0
  124. package/components/view/Loader/index.d.ts.map +1 -0
  125. package/components/view/Modal/Modal.d.ts +11 -0
  126. package/components/view/Modal/Modal.d.ts.map +1 -0
  127. package/components/view/Modal/index.d.ts +2 -0
  128. package/components/view/Modal/index.d.ts.map +1 -0
  129. package/components/view/Pairs/Pairs.d.ts +14 -0
  130. package/components/view/Pairs/Pairs.d.ts.map +1 -0
  131. package/{src/components/view/Pairs/index.ts → components/view/Pairs/index.d.ts} +1 -0
  132. package/components/view/Pairs/index.d.ts.map +1 -0
  133. package/components/view/Pairs/models/Pair.d.ts +5 -0
  134. package/components/view/Pairs/models/Pair.d.ts.map +1 -0
  135. package/components/view/Pairs/ui/TypographyWithTooltip.d.ts +6 -0
  136. package/components/view/Pairs/ui/TypographyWithTooltip.d.ts.map +1 -0
  137. package/components/view/Popover/Popover.d.ts +19 -0
  138. package/components/view/Popover/Popover.d.ts.map +1 -0
  139. package/{src/components/view/Popover/index.ts → components/view/Popover/index.d.ts} +1 -0
  140. package/components/view/Popover/index.d.ts.map +1 -0
  141. package/components/view/Popover/ui/Arrow/Arrow.d.ts +2 -0
  142. package/components/view/Popover/ui/Arrow/Arrow.d.ts.map +1 -0
  143. package/components/view/Popover/ui/Arrow/index.d.ts +2 -0
  144. package/components/view/Popover/ui/Arrow/index.d.ts.map +1 -0
  145. package/components/view/Popover/ui/PopoverContent/PopoverContent.d.ts +3 -0
  146. package/components/view/Popover/ui/PopoverContent/PopoverContent.d.ts.map +1 -0
  147. package/{src/components/view/Popover/ui/PopoverContent/index.ts → components/view/Popover/ui/PopoverContent/index.d.ts} +1 -0
  148. package/components/view/Popover/ui/PopoverContent/index.d.ts.map +1 -0
  149. package/components/view/Popover/ui/PopoverProvider/PopoverProvider.d.ts +4 -0
  150. package/components/view/Popover/ui/PopoverProvider/PopoverProvider.d.ts.map +1 -0
  151. package/components/view/Popover/ui/PopoverProvider/constants/PopoverContext.d.ts +3 -0
  152. package/components/view/Popover/ui/PopoverProvider/constants/PopoverContext.d.ts.map +1 -0
  153. package/components/view/Popover/ui/PopoverProvider/hooks/usePopover.d.ts +52 -0
  154. package/components/view/Popover/ui/PopoverProvider/hooks/usePopover.d.ts.map +1 -0
  155. package/{src/components/view/Popover/ui/PopoverProvider/index.ts → components/view/Popover/ui/PopoverProvider/index.d.ts} +1 -0
  156. package/components/view/Popover/ui/PopoverProvider/index.d.ts.map +1 -0
  157. package/components/view/Popover/ui/PopoverProvider/models/PopoverOptions.d.ts +13 -0
  158. package/components/view/Popover/ui/PopoverProvider/models/PopoverOptions.d.ts.map +1 -0
  159. package/components/view/Popover/ui/PopoverProvider/models/PopoverState.d.ts +5 -0
  160. package/components/view/Popover/ui/PopoverProvider/models/PopoverState.d.ts.map +1 -0
  161. package/components/view/Popover/ui/PopoverTrigger/PopoverTrigger.d.ts +5 -0
  162. package/components/view/Popover/ui/PopoverTrigger/PopoverTrigger.d.ts.map +1 -0
  163. package/{src/components/view/Popover/ui/PopoverTrigger/index.ts → components/view/Popover/ui/PopoverTrigger/index.d.ts} +1 -0
  164. package/components/view/Popover/ui/PopoverTrigger/index.d.ts.map +1 -0
  165. package/components/view/Tooltip/Tooltip.d.ts +16 -0
  166. package/components/view/Tooltip/Tooltip.d.ts.map +1 -0
  167. package/{src/components/view/Tooltip/index.ts → components/view/Tooltip/index.d.ts} +1 -0
  168. package/components/view/Tooltip/index.d.ts.map +1 -0
  169. package/components/view/Tooltip/ui/TooltipContent/TooltipContent.d.ts +9 -0
  170. package/components/view/Tooltip/ui/TooltipContent/TooltipContent.d.ts.map +1 -0
  171. package/{src/components/view/Tooltip/ui/TooltipContent/index.ts → components/view/Tooltip/ui/TooltipContent/index.d.ts} +1 -0
  172. package/components/view/Tooltip/ui/TooltipContent/index.d.ts.map +1 -0
  173. package/components/view/Tooltip/ui/TooltipProvider/TooltipProvider.d.ts +4 -0
  174. package/components/view/Tooltip/ui/TooltipProvider/TooltipProvider.d.ts.map +1 -0
  175. package/components/view/Tooltip/ui/TooltipProvider/constants/TooltipContext.d.ts +3 -0
  176. package/components/view/Tooltip/ui/TooltipProvider/constants/TooltipContext.d.ts.map +1 -0
  177. package/components/view/Tooltip/ui/TooltipProvider/hooks/useTooltip.d.ts +51 -0
  178. package/components/view/Tooltip/ui/TooltipProvider/hooks/useTooltip.d.ts.map +1 -0
  179. package/{src/components/view/Tooltip/ui/TooltipProvider/index.ts → components/view/Tooltip/ui/TooltipProvider/index.d.ts} +1 -0
  180. package/components/view/Tooltip/ui/TooltipProvider/index.d.ts.map +1 -0
  181. package/components/view/Tooltip/ui/TooltipProvider/models/TooltipOptions.d.ts +12 -0
  182. package/components/view/Tooltip/ui/TooltipProvider/models/TooltipOptions.d.ts.map +1 -0
  183. package/{src/components/view/Tooltip/ui/TooltipProvider/models/TooltipState.ts → components/view/Tooltip/ui/TooltipProvider/models/TooltipState.d.ts} +1 -1
  184. package/components/view/Tooltip/ui/TooltipProvider/models/TooltipState.d.ts.map +1 -0
  185. package/components/view/Tooltip/ui/TooltipTrigger/TooltipTrigger.d.ts +5 -0
  186. package/components/view/Tooltip/ui/TooltipTrigger/TooltipTrigger.d.ts.map +1 -0
  187. package/{src/components/view/Tooltip/ui/TooltipTrigger/index.ts → components/view/Tooltip/ui/TooltipTrigger/index.d.ts} +1 -0
  188. package/components/view/Tooltip/ui/TooltipTrigger/index.d.ts.map +1 -0
  189. package/components/view/TreeView/TreeView.d.ts +12 -0
  190. package/components/view/TreeView/TreeView.d.ts.map +1 -0
  191. package/{src/components/view/TreeView/index.ts → components/view/TreeView/index.d.ts} +1 -0
  192. package/components/view/TreeView/index.d.ts.map +1 -0
  193. package/components/view/TreeView/models/Item.d.ts +8 -0
  194. package/components/view/TreeView/models/Item.d.ts.map +1 -0
  195. package/components/view/TreeView/ui/TreeViewItem/TreeViewItem.d.ts +16 -0
  196. package/components/view/TreeView/ui/TreeViewItem/TreeViewItem.d.ts.map +1 -0
  197. package/{src/components/view/TreeView/ui/TreeViewItem/index.ts → components/view/TreeView/ui/TreeViewItem/index.d.ts} +1 -0
  198. package/components/view/TreeView/ui/TreeViewItem/index.d.ts.map +1 -0
  199. package/components/view/TreeView/utils/getFilteredTree.d.ts +3 -0
  200. package/components/view/TreeView/utils/getFilteredTree.d.ts.map +1 -0
  201. package/components/view/Typography/Typography.d.ts +9 -0
  202. package/components/view/Typography/Typography.d.ts.map +1 -0
  203. package/{src/components/view/Typography/index.ts → components/view/Typography/index.d.ts} +1 -0
  204. package/components/view/Typography/index.d.ts.map +1 -0
  205. package/components/view/VirtualTable/VirtualTable.d.ts +78 -0
  206. package/components/view/VirtualTable/VirtualTable.d.ts.map +1 -0
  207. package/components/view/VirtualTable/constants/defaultRowHeight.d.ts +2 -0
  208. package/components/view/VirtualTable/constants/defaultRowHeight.d.ts.map +1 -0
  209. package/{src/components/view/VirtualTable/index.ts → components/view/VirtualTable/index.d.ts} +1 -2
  210. package/components/view/VirtualTable/index.d.ts.map +1 -0
  211. package/components/view/VirtualTable/models/AdditionalButton.d.ts +9 -0
  212. package/components/view/VirtualTable/models/AdditionalButton.d.ts.map +1 -0
  213. package/{src/components/view/VirtualTable/models/ColumnAlign.ts → components/view/VirtualTable/models/ColumnAlign.d.ts} +1 -0
  214. package/components/view/VirtualTable/models/ColumnAlign.d.ts.map +1 -0
  215. package/components/view/VirtualTable/models/FilterBy.d.ts +12 -0
  216. package/components/view/VirtualTable/models/FilterBy.d.ts.map +1 -0
  217. package/components/view/VirtualTable/models/SortBy.d.ts +11 -0
  218. package/components/view/VirtualTable/models/SortBy.d.ts.map +1 -0
  219. package/{src/components/view/VirtualTable/models/SortType.ts → components/view/VirtualTable/models/SortType.d.ts} +1 -0
  220. package/components/view/VirtualTable/models/SortType.d.ts.map +1 -0
  221. package/components/view/VirtualTable/models/TableCell.d.ts +15 -0
  222. package/components/view/VirtualTable/models/TableCell.d.ts.map +1 -0
  223. package/components/view/VirtualTable/models/TableColumn.d.ts +52 -0
  224. package/components/view/VirtualTable/models/TableColumn.d.ts.map +1 -0
  225. package/components/view/VirtualTable/models/TableRow.d.ts +6 -0
  226. package/components/view/VirtualTable/models/TableRow.d.ts.map +1 -0
  227. package/{src/components/view/VirtualTable/models/VerticalAlign.ts → components/view/VirtualTable/models/VerticalAlign.d.ts} +1 -0
  228. package/components/view/VirtualTable/models/VerticalAlign.d.ts.map +1 -0
  229. package/{src/components/view/VirtualTable/models/VirtualTableBorders.ts → components/view/VirtualTable/models/VirtualTableBorders.d.ts} +1 -0
  230. package/components/view/VirtualTable/models/VirtualTableBorders.d.ts.map +1 -0
  231. package/components/view/VirtualTable/models/VirtualTableRef.d.ts +8 -0
  232. package/components/view/VirtualTable/models/VirtualTableRef.d.ts.map +1 -0
  233. package/components/view/VirtualTable/ui/DateFiltration/DateFiltration.d.ts +7 -0
  234. package/components/view/VirtualTable/ui/DateFiltration/DateFiltration.d.ts.map +1 -0
  235. package/{src/components/view/VirtualTable/ui/DateFiltration/index.ts → components/view/VirtualTable/ui/DateFiltration/index.d.ts} +1 -0
  236. package/components/view/VirtualTable/ui/DateFiltration/index.d.ts.map +1 -0
  237. package/components/view/VirtualTable/ui/DefaultColumn/DefaultColumn.d.ts +4 -0
  238. package/components/view/VirtualTable/ui/DefaultColumn/DefaultColumn.d.ts.map +1 -0
  239. package/{src/components/view/VirtualTable/ui/DefaultColumn/index.ts → components/view/VirtualTable/ui/DefaultColumn/index.d.ts} +1 -0
  240. package/components/view/VirtualTable/ui/DefaultColumn/index.d.ts.map +1 -0
  241. package/components/view/VirtualTable/ui/HeaderDropdown/HeaderDropdown.d.ts +23 -0
  242. package/components/view/VirtualTable/ui/HeaderDropdown/HeaderDropdown.d.ts.map +1 -0
  243. package/{src/components/view/VirtualTable/ui/HeaderDropdown/index.ts → components/view/VirtualTable/ui/HeaderDropdown/index.d.ts} +1 -0
  244. package/components/view/VirtualTable/ui/HeaderDropdown/index.d.ts.map +1 -0
  245. package/components/view/VirtualTable/ui/NumberFiltration/NumberFiltration.d.ts +7 -0
  246. package/components/view/VirtualTable/ui/NumberFiltration/NumberFiltration.d.ts.map +1 -0
  247. package/{src/components/view/VirtualTable/ui/NumberFiltration/index.ts → components/view/VirtualTable/ui/NumberFiltration/index.d.ts} +1 -0
  248. package/components/view/VirtualTable/ui/NumberFiltration/index.d.ts.map +1 -0
  249. package/components/view/VirtualTable/utils/alphanumericCompare.d.ts +2 -0
  250. package/components/view/VirtualTable/utils/alphanumericCompare.d.ts.map +1 -0
  251. package/components/view/VirtualTable/utils/dedupeFirstByColumnValue.d.ts +3 -0
  252. package/components/view/VirtualTable/utils/dedupeFirstByColumnValue.d.ts.map +1 -0
  253. package/components/view/VirtualTable/utils/getColumns.d.ts +5 -0
  254. package/components/view/VirtualTable/utils/getColumns.d.ts.map +1 -0
  255. package/components/view/VirtualTable/utils/getNextHorizontalHeaders.d.ts +4 -0
  256. package/components/view/VirtualTable/utils/getNextHorizontalHeaders.d.ts.map +1 -0
  257. package/components/view/VirtualTable/utils/getNextVerticalHeaders.d.ts +4 -0
  258. package/components/view/VirtualTable/utils/getNextVerticalHeaders.d.ts.map +1 -0
  259. package/components/view/VirtualTable/utils/getPrevHorizontalHeaders.d.ts +4 -0
  260. package/components/view/VirtualTable/utils/getPrevHorizontalHeaders.d.ts.map +1 -0
  261. package/components/view/VirtualTable/utils/getPrevVerticalHeaders.d.ts +4 -0
  262. package/components/view/VirtualTable/utils/getPrevVerticalHeaders.d.ts.map +1 -0
  263. package/components/view/VirtualTable/utils/recursiveFilter.d.ts +4 -0
  264. package/components/view/VirtualTable/utils/recursiveFilter.d.ts.map +1 -0
  265. package/components/view/VirtualTable/utils/recursiveSort.d.ts +4 -0
  266. package/components/view/VirtualTable/utils/recursiveSort.d.ts.map +1 -0
  267. package/components/view/VirtualTable/utils/rowMatchesFilter.d.ts +4 -0
  268. package/components/view/VirtualTable/utils/rowMatchesFilter.d.ts.map +1 -0
  269. package/components/view/VirtualTable/utils/rowSelection.d.ts +24 -0
  270. package/components/view/VirtualTable/utils/rowSelection.d.ts.map +1 -0
  271. package/hooks/useCompatId.d.ts +2 -0
  272. package/hooks/useCompatId.d.ts.map +1 -0
  273. package/hooks/useTranslation.d.ts +6 -0
  274. package/hooks/useTranslation.d.ts.map +1 -0
  275. package/icons/AddIcon.d.ts +4 -0
  276. package/icons/AddIcon.d.ts.map +1 -0
  277. package/icons/AlertIcon.d.ts +4 -0
  278. package/icons/AlertIcon.d.ts.map +1 -0
  279. package/icons/ArrowDropDownIcon.d.ts +4 -0
  280. package/icons/ArrowDropDownIcon.d.ts.map +1 -0
  281. package/icons/ArrowDropUpIcon.d.ts +4 -0
  282. package/icons/ArrowDropUpIcon.d.ts.map +1 -0
  283. package/icons/AttachIcon.d.ts +4 -0
  284. package/icons/AttachIcon.d.ts.map +1 -0
  285. package/icons/BarChartIcon.d.ts +4 -0
  286. package/icons/BarChartIcon.d.ts.map +1 -0
  287. package/icons/BookmarkAddIcon.d.ts +4 -0
  288. package/icons/BookmarkAddIcon.d.ts.map +1 -0
  289. package/icons/BookmarkIcon.d.ts +4 -0
  290. package/icons/BookmarkIcon.d.ts.map +1 -0
  291. package/icons/CheckboxDeselectedIcon.d.ts +4 -0
  292. package/icons/CheckboxDeselectedIcon.d.ts.map +1 -0
  293. package/icons/CheckboxIcon.d.ts +4 -0
  294. package/icons/CheckboxIcon.d.ts.map +1 -0
  295. package/icons/CheckboxSeveralIcon.d.ts +4 -0
  296. package/icons/CheckboxSeveralIcon.d.ts.map +1 -0
  297. package/icons/ChevronDownIcon.d.ts +4 -0
  298. package/icons/ChevronDownIcon.d.ts.map +1 -0
  299. package/icons/ChevronLeftIcon.d.ts +4 -0
  300. package/icons/ChevronLeftIcon.d.ts.map +1 -0
  301. package/icons/ChevronRightIcon.d.ts +4 -0
  302. package/icons/ChevronRightIcon.d.ts.map +1 -0
  303. package/icons/ChevronUpIcon.d.ts +4 -0
  304. package/icons/ChevronUpIcon.d.ts.map +1 -0
  305. package/icons/CircleFilledIcon.d.ts +4 -0
  306. package/icons/CircleFilledIcon.d.ts.map +1 -0
  307. package/icons/CloseIcon.d.ts +4 -0
  308. package/icons/CloseIcon.d.ts.map +1 -0
  309. package/icons/DateRangeIcon.d.ts +4 -0
  310. package/icons/DateRangeIcon.d.ts.map +1 -0
  311. package/icons/DeleteIcon.d.ts +4 -0
  312. package/icons/DeleteIcon.d.ts.map +1 -0
  313. package/icons/DoneIcon.d.ts +4 -0
  314. package/icons/DoneIcon.d.ts.map +1 -0
  315. package/icons/DownloadIcon.d.ts +4 -0
  316. package/icons/DownloadIcon.d.ts.map +1 -0
  317. package/icons/DragIcon.d.ts +4 -0
  318. package/icons/DragIcon.d.ts.map +1 -0
  319. package/icons/EditIcon.d.ts +4 -0
  320. package/icons/EditIcon.d.ts.map +1 -0
  321. package/icons/ErrorOutlineIcon.d.ts +4 -0
  322. package/icons/ErrorOutlineIcon.d.ts.map +1 -0
  323. package/icons/ExportTableIcon.d.ts +4 -0
  324. package/icons/ExportTableIcon.d.ts.map +1 -0
  325. package/icons/FileUploadIcon.d.ts +4 -0
  326. package/icons/FileUploadIcon.d.ts.map +1 -0
  327. package/icons/FilterClearIcon.d.ts +4 -0
  328. package/icons/FilterClearIcon.d.ts.map +1 -0
  329. package/icons/FilterIcon.d.ts +4 -0
  330. package/icons/FilterIcon.d.ts.map +1 -0
  331. package/icons/FullScreenOffIcon.d.ts +4 -0
  332. package/icons/FullScreenOffIcon.d.ts.map +1 -0
  333. package/icons/FullScreenOnIcon.d.ts +4 -0
  334. package/icons/FullScreenOnIcon.d.ts.map +1 -0
  335. package/icons/Icon.d.ts +8 -0
  336. package/icons/Icon.d.ts.map +1 -0
  337. package/icons/InfoIcon.d.ts +4 -0
  338. package/icons/InfoIcon.d.ts.map +1 -0
  339. package/icons/ListIcon.d.ts +4 -0
  340. package/icons/ListIcon.d.ts.map +1 -0
  341. package/icons/MoreVerticalIcon.d.ts +4 -0
  342. package/icons/MoreVerticalIcon.d.ts.map +1 -0
  343. package/icons/PointIcon.d.ts +4 -0
  344. package/icons/PointIcon.d.ts.map +1 -0
  345. package/icons/RadioDeselectedIcon.d.ts +4 -0
  346. package/icons/RadioDeselectedIcon.d.ts.map +1 -0
  347. package/icons/RadioSelectedIcon.d.ts +4 -0
  348. package/icons/RadioSelectedIcon.d.ts.map +1 -0
  349. package/icons/SaveIcon.d.ts +4 -0
  350. package/icons/SaveIcon.d.ts.map +1 -0
  351. package/icons/SearchIcon.d.ts +4 -0
  352. package/icons/SearchIcon.d.ts.map +1 -0
  353. package/icons/SelectUniqueIcon.d.ts +4 -0
  354. package/icons/SelectUniqueIcon.d.ts.map +1 -0
  355. package/icons/SettingsIcon.d.ts +4 -0
  356. package/icons/SettingsIcon.d.ts.map +1 -0
  357. package/icons/SortDownIcon.d.ts +4 -0
  358. package/icons/SortDownIcon.d.ts.map +1 -0
  359. package/icons/SortUpIcon.d.ts +4 -0
  360. package/icons/SortUpIcon.d.ts.map +1 -0
  361. package/icons/TableChartIcon.d.ts +4 -0
  362. package/icons/TableChartIcon.d.ts.map +1 -0
  363. package/icons/UploadIcon.d.ts +4 -0
  364. package/icons/UploadIcon.d.ts.map +1 -0
  365. package/icons/VisibilityIcon.d.ts +4 -0
  366. package/icons/VisibilityIcon.d.ts.map +1 -0
  367. package/icons/WellIcon.d.ts +4 -0
  368. package/icons/WellIcon.d.ts.map +1 -0
  369. package/{src/icons/index.ts → icons/index.d.ts} +1 -0
  370. package/icons/index.d.ts.map +1 -0
  371. package/index.css +3405 -0
  372. package/index.css.map +1 -0
  373. package/{src/index.ts → index.d.ts} +3 -38
  374. package/index.d.ts.map +1 -0
  375. package/index.js +3 -0
  376. package/index.js.LICENSE.txt +31 -0
  377. package/index.js.map +1 -0
  378. package/index.mjs +3 -0
  379. package/index.mjs.LICENSE.txt +31 -0
  380. package/index.mjs.map +1 -0
  381. package/{src/models/ButtonVariant.ts → models/ButtonVariant.d.ts} +1 -0
  382. package/models/ButtonVariant.d.ts.map +1 -0
  383. package/{src/models/CheckboxSize.ts → models/CheckboxSize.d.ts} +1 -0
  384. package/models/CheckboxSize.d.ts.map +1 -0
  385. package/{src/models/ChipSize.ts → models/ChipSize.d.ts} +1 -0
  386. package/models/ChipSize.d.ts.map +1 -0
  387. package/{src/models/ChipVariant.ts → models/ChipVariant.d.ts} +1 -0
  388. package/models/ChipVariant.d.ts.map +1 -0
  389. package/models/FieldError.d.ts +5 -0
  390. package/models/FieldError.d.ts.map +1 -0
  391. package/{src/models/FieldSize.ts → models/FieldSize.d.ts} +1 -0
  392. package/models/FieldSize.d.ts.map +1 -0
  393. package/{src/models/FieldVariant.ts → models/FieldVariant.d.ts} +1 -0
  394. package/models/FieldVariant.d.ts.map +1 -0
  395. package/{src/models/Maybe.ts → models/Maybe.d.ts} +1 -0
  396. package/models/Maybe.d.ts.map +1 -0
  397. package/{src/models/SurfaceSize.ts → models/SurfaceSize.d.ts} +1 -0
  398. package/models/SurfaceSize.d.ts.map +1 -0
  399. package/{src/models/SurfaceType.ts → models/SurfaceType.d.ts} +1 -0
  400. package/models/SurfaceType.d.ts.map +1 -0
  401. package/models/TypographyVariant.d.ts +2 -0
  402. package/models/TypographyVariant.d.ts.map +1 -0
  403. package/models/UiProps.d.ts +7 -0
  404. package/models/UiProps.d.ts.map +1 -0
  405. package/package.json +19 -100
  406. package/theme/ThemeProvider.d.ts +23 -0
  407. package/theme/ThemeProvider.d.ts.map +1 -0
  408. package/{src/utils/index.ts → utils/index.d.ts} +1 -0
  409. package/utils/index.d.ts.map +1 -0
  410. package/utils/toFirstLetterLowerCase.d.ts +2 -0
  411. package/utils/toFirstLetterLowerCase.d.ts.map +1 -0
  412. package/utils/toFirstLetterUpperCase.d.ts +2 -0
  413. package/utils/toFirstLetterUpperCase.d.ts.map +1 -0
  414. package/.editorconfig +0 -25
  415. package/.gitattributes +0 -64
  416. package/.gitlab-ci.yml +0 -40
  417. package/.helm/Chart.yaml +0 -5
  418. package/.helm/values.yaml +0 -12
  419. package/.prettierignore +0 -12
  420. package/.prettierrc.json +0 -19
  421. package/.storybook/global.d.ts +0 -4
  422. package/.storybook/main.ts +0 -12
  423. package/.storybook/preview.tsx +0 -59
  424. package/.stylelintignore +0 -3
  425. package/.stylelintrc.json +0 -5
  426. package/.vscode/settings.json +0 -10
  427. package/Dockerfile +0 -14
  428. package/babel.config.json +0 -23
  429. package/cssModulesPluginTemplate.cjs +0 -5
  430. package/eslint.config.mjs +0 -160
  431. package/nginx.conf +0 -14
  432. package/package.dist.json +0 -20
  433. package/postcss.config.cjs +0 -12
  434. package/src/components/common/Button/Button.stories.tsx +0 -93
  435. package/src/components/common/Button/Button.tsx +0 -59
  436. package/src/components/common/Button/button.module.css +0 -337
  437. package/src/components/common/Button/index.ts +0 -1
  438. package/src/components/common/ButtonsGroup/ButtonsGroup.stories.tsx +0 -52
  439. package/src/components/common/ButtonsGroup/ButtonsGroup.tsx +0 -25
  440. package/src/components/common/ButtonsGroup/buttonsGroup.module.css +0 -24
  441. package/src/components/common/Checkbox/Checkbox.stories.tsx +0 -48
  442. package/src/components/common/Checkbox/Checkbox.tsx +0 -82
  443. package/src/components/common/Checkbox/checkbox.module.css +0 -112
  444. package/src/components/common/Checklist/Checklist.stories.tsx +0 -138
  445. package/src/components/common/Checklist/Checklist.tsx +0 -159
  446. package/src/components/common/Checklist/checklist.module.css +0 -23
  447. package/src/components/common/Checklist/models/Item.ts +0 -4
  448. package/src/components/common/Checklist/models/SelectedItems.ts +0 -3
  449. package/src/components/common/Checklist/utils/filterItems.ts +0 -18
  450. package/src/components/common/ColorPicker/ColorPicker.stories.tsx +0 -198
  451. package/src/components/common/ColorPicker/ColorPicker.tsx +0 -157
  452. package/src/components/common/ColorPicker/colorPicker.module.css +0 -145
  453. package/src/components/common/DateTime/DateTime.stories.tsx +0 -249
  454. package/src/components/common/DateTime/DateTime.tsx +0 -236
  455. package/src/components/common/DateTime/dateTime.module.css +0 -21
  456. package/src/components/common/DateTime/models/dayjs.ts +0 -26
  457. package/src/components/common/DateTime/ui/CalendarPopover/CalendarPopover.tsx +0 -585
  458. package/src/components/common/DateTime/ui/CalendarPopover/calendarPopover.module.css +0 -226
  459. package/src/components/common/DateTime/ui/TimeWheelColumn/TimeWheelColumn.tsx +0 -106
  460. package/src/components/common/DateTime/ui/TimeWheelColumn/timeWheelColumn.module.css +0 -35
  461. package/src/components/common/DateTime/utils/createCalendarDate.ts +0 -15
  462. package/src/components/common/FieldShell/FieldErrorIcon.tsx +0 -39
  463. package/src/components/common/FieldShell/FieldShell.tsx +0 -104
  464. package/src/components/common/FieldShell/fieldShell.module.css +0 -456
  465. package/src/components/common/Input/Input.stories.tsx +0 -232
  466. package/src/components/common/Input/Input.tsx +0 -140
  467. package/src/components/common/Input/index.ts +0 -1
  468. package/src/components/common/Input/input.module.css +0 -49
  469. package/src/components/common/MultiSelect/MultiSelect.stories.tsx +0 -344
  470. package/src/components/common/MultiSelect/MultiSelect.tsx +0 -260
  471. package/src/components/common/MultiSelect/models/Item.ts +0 -7
  472. package/src/components/common/MultiSelect/multiSelect.module.css +0 -198
  473. package/src/components/common/MultiSelect/multiSelect.stories.module.css +0 -4
  474. package/src/components/common/MultiSelect/ui/SelectPopover/SelectPopover.tsx +0 -69
  475. package/src/components/common/MultiSelect/utils/getTitle.ts +0 -19
  476. package/src/components/common/RadioButton/RadioButton.stories.tsx +0 -134
  477. package/src/components/common/RadioButton/RadioButton.tsx +0 -90
  478. package/src/components/common/RadioButton/radioButton.module.css +0 -108
  479. package/src/components/common/Select/Select.stories.tsx +0 -294
  480. package/src/components/common/Select/Select.tsx +0 -181
  481. package/src/components/common/Select/models/Divider.ts +0 -4
  482. package/src/components/common/Select/models/Item.ts +0 -15
  483. package/src/components/common/Select/select.module.css +0 -87
  484. package/src/components/common/Select/ui/SelectPopover/SelectPopover.tsx +0 -49
  485. package/src/components/common/WrapForLabel/WrapForLabel.stories.tsx +0 -36
  486. package/src/components/common/WrapForLabel/WrapForLabel.tsx +0 -28
  487. package/src/components/common/WrapForLabel/wrapForLabel.module.css +0 -14
  488. package/src/components/layout/Layout/Layout.stories.tsx +0 -44
  489. package/src/components/layout/Layout/Layout.tsx +0 -24
  490. package/src/components/layout/Layout/layout.module.css +0 -16
  491. package/src/components/layout/Surface/Surface.stories.tsx +0 -56
  492. package/src/components/layout/Surface/Surface.tsx +0 -33
  493. package/src/components/layout/Surface/surface.module.css +0 -47
  494. package/src/components/navigation/Menu/Menu.stories.tsx +0 -324
  495. package/src/components/navigation/Menu/Menu.tsx +0 -157
  496. package/src/components/navigation/Menu/menu.module.css +0 -153
  497. package/src/components/navigation/Menu/models/Divider.ts +0 -4
  498. package/src/components/navigation/Menu/models/Item.ts +0 -20
  499. package/src/components/navigation/Tabs/Tabs.stories.tsx +0 -959
  500. package/src/components/navigation/Tabs/Tabs.tsx +0 -174
  501. package/src/components/navigation/Tabs/models/Item.ts +0 -9
  502. package/src/components/navigation/Tabs/tabs.module.css +0 -179
  503. package/src/components/navigation/Tabs/tabs.stories.module.css +0 -3
  504. package/src/components/view/Card/Card.stories.tsx +0 -99
  505. package/src/components/view/Card/Card.tsx +0 -66
  506. package/src/components/view/Card/card.module.css +0 -50
  507. package/src/components/view/Card/index.ts +0 -1
  508. package/src/components/view/Chip/Chip.stories.tsx +0 -219
  509. package/src/components/view/Chip/Chip.tsx +0 -89
  510. package/src/components/view/Chip/chip.module.css +0 -157
  511. package/src/components/view/InputChip/InputChip.stories.tsx +0 -117
  512. package/src/components/view/InputChip/InputChip.tsx +0 -77
  513. package/src/components/view/InputChip/inputChip.module.css +0 -188
  514. package/src/components/view/Loader/Loader.stories.tsx +0 -54
  515. package/src/components/view/Loader/Loader.tsx +0 -29
  516. package/src/components/view/Loader/loader.gif +0 -0
  517. package/src/components/view/Loader/loader.module.css +0 -8
  518. package/src/components/view/Modal/Modal.stories.tsx +0 -63
  519. package/src/components/view/Modal/Modal.tsx +0 -58
  520. package/src/components/view/Modal/index.ts +0 -1
  521. package/src/components/view/Modal/modal.module.css +0 -18
  522. package/src/components/view/Modal/modal.stories.module.css +0 -18
  523. package/src/components/view/Pairs/Pairs.stories.tsx +0 -101
  524. package/src/components/view/Pairs/Pairs.tsx +0 -63
  525. package/src/components/view/Pairs/models/Pair.ts +0 -4
  526. package/src/components/view/Pairs/pairs.module.css +0 -35
  527. package/src/components/view/Pairs/ui/TypographyWithTooltip.tsx +0 -31
  528. package/src/components/view/Popover/Popover.stories.tsx +0 -105
  529. package/src/components/view/Popover/Popover.tsx +0 -75
  530. package/src/components/view/Popover/popover.module.css +0 -23
  531. package/src/components/view/Popover/ui/Arrow/Arrow.tsx +0 -11
  532. package/src/components/view/Popover/ui/Arrow/index.ts +0 -1
  533. package/src/components/view/Popover/ui/PopoverContent/PopoverContent.tsx +0 -44
  534. package/src/components/view/Popover/ui/PopoverProvider/PopoverProvider.tsx +0 -13
  535. package/src/components/view/Popover/ui/PopoverProvider/constants/PopoverContext.ts +0 -5
  536. package/src/components/view/Popover/ui/PopoverProvider/hooks/usePopover.ts +0 -79
  537. package/src/components/view/Popover/ui/PopoverProvider/models/PopoverOptions.ts +0 -13
  538. package/src/components/view/Popover/ui/PopoverProvider/models/PopoverState.ts +0 -7
  539. package/src/components/view/Popover/ui/PopoverTrigger/PopoverTrigger.tsx +0 -36
  540. package/src/components/view/Tooltip/Tooltip.stories.tsx +0 -141
  541. package/src/components/view/Tooltip/Tooltip.tsx +0 -74
  542. package/src/components/view/Tooltip/tooltip.module.css +0 -93
  543. package/src/components/view/Tooltip/ui/TooltipContent/TooltipContent.tsx +0 -88
  544. package/src/components/view/Tooltip/ui/TooltipProvider/TooltipProvider.tsx +0 -13
  545. package/src/components/view/Tooltip/ui/TooltipProvider/constants/TooltipContext.ts +0 -5
  546. package/src/components/view/Tooltip/ui/TooltipProvider/hooks/useTooltip.ts +0 -76
  547. package/src/components/view/Tooltip/ui/TooltipProvider/models/TooltipOptions.ts +0 -12
  548. package/src/components/view/Tooltip/ui/TooltipTrigger/TooltipTrigger.tsx +0 -36
  549. package/src/components/view/TreeView/TreeView.stories.tsx +0 -174
  550. package/src/components/view/TreeView/TreeView.tsx +0 -76
  551. package/src/components/view/TreeView/models/Item.ts +0 -7
  552. package/src/components/view/TreeView/treeView.module.css +0 -3
  553. package/src/components/view/TreeView/ui/TreeViewItem/TreeViewItem.tsx +0 -84
  554. package/src/components/view/TreeView/ui/TreeViewItem/treeViewItem.module.css +0 -30
  555. package/src/components/view/TreeView/utils/getFilteredTree.ts +0 -23
  556. package/src/components/view/Typography/Typography.stories.tsx +0 -120
  557. package/src/components/view/Typography/Typography.tsx +0 -28
  558. package/src/components/view/Typography/typography.module.css +0 -132
  559. package/src/components/view/VirtualTable/VirtualTable.stories.tsx +0 -285
  560. package/src/components/view/VirtualTable/VirtualTable.tsx +0 -1159
  561. package/src/components/view/VirtualTable/constants/baseColumns.ts +0 -39
  562. package/src/components/view/VirtualTable/constants/bigBaseColumns.ts +0 -35
  563. package/src/components/view/VirtualTable/constants/bigSampleData.ts +0 -92
  564. package/src/components/view/VirtualTable/constants/defaultRowHeight.ts +0 -1
  565. package/src/components/view/VirtualTable/constants/sampleData.ts +0 -213
  566. package/src/components/view/VirtualTable/models/AdditionalButton.ts +0 -10
  567. package/src/components/view/VirtualTable/models/FilterBy.ts +0 -11
  568. package/src/components/view/VirtualTable/models/SortBy.ts +0 -11
  569. package/src/components/view/VirtualTable/models/TableCell.ts +0 -12
  570. package/src/components/view/VirtualTable/models/TableColumn.ts +0 -52
  571. package/src/components/view/VirtualTable/models/TableRow.ts +0 -6
  572. package/src/components/view/VirtualTable/models/VirtualTableRef.ts +0 -7
  573. package/src/components/view/VirtualTable/ui/DateFiltration/DateFiltration.tsx +0 -56
  574. package/src/components/view/VirtualTable/ui/DateFiltration/dateFiltration.module.css +0 -10
  575. package/src/components/view/VirtualTable/ui/DefaultColumn/DefaultColumn.tsx +0 -144
  576. package/src/components/view/VirtualTable/ui/HeaderDropdown/HeaderDropdown.tsx +0 -359
  577. package/src/components/view/VirtualTable/ui/HeaderDropdown/headerDropdown.module.css +0 -20
  578. package/src/components/view/VirtualTable/ui/NumberFiltration/NumberFiltration.tsx +0 -168
  579. package/src/components/view/VirtualTable/ui/NumberFiltration/numberFiltration.module.css +0 -27
  580. package/src/components/view/VirtualTable/utils/alphanumericCompare.ts +0 -29
  581. package/src/components/view/VirtualTable/utils/dedupeFirstByColumnValue.ts +0 -17
  582. package/src/components/view/VirtualTable/utils/getColumns.ts +0 -40
  583. package/src/components/view/VirtualTable/utils/getNextHorizontalHeaders.ts +0 -21
  584. package/src/components/view/VirtualTable/utils/getNextVerticalHeaders.ts +0 -18
  585. package/src/components/view/VirtualTable/utils/getPrevHorizontalHeaders.ts +0 -19
  586. package/src/components/view/VirtualTable/utils/getPrevVerticalHeaders.ts +0 -22
  587. package/src/components/view/VirtualTable/utils/recursiveFilter.ts +0 -15
  588. package/src/components/view/VirtualTable/utils/recursiveSort.ts +0 -24
  589. package/src/components/view/VirtualTable/utils/rowMatchesFilter.ts +0 -43
  590. package/src/components/view/VirtualTable/utils/rowSelection.ts +0 -125
  591. package/src/components/view/VirtualTable/virtualTable.module.css +0 -346
  592. package/src/hooks/useCompatId.ts +0 -12
  593. package/src/hooks/useTranslation.ts +0 -15
  594. package/src/hooks/window/hooks/useWindowSize.ts +0 -14
  595. package/src/hooks/window/index.ts +0 -1
  596. package/src/i18n/config.ts +0 -23
  597. package/src/i18n/locales/en.json +0 -23
  598. package/src/i18n/locales/ru.json +0 -23
  599. package/src/icons/AddIcon.tsx +0 -9
  600. package/src/icons/AlertIcon.tsx +0 -14
  601. package/src/icons/ArrowDropDownIcon.tsx +0 -9
  602. package/src/icons/ArrowDropUpIcon.tsx +0 -9
  603. package/src/icons/AttachIcon.tsx +0 -10
  604. package/src/icons/BarChartIcon.tsx +0 -9
  605. package/src/icons/BookmarkAddIcon.tsx +0 -12
  606. package/src/icons/BookmarkIcon.tsx +0 -9
  607. package/src/icons/CheckboxDeselectedIcon.tsx +0 -9
  608. package/src/icons/CheckboxIcon.tsx +0 -10
  609. package/src/icons/CheckboxSeveralIcon.tsx +0 -10
  610. package/src/icons/ChevronDownIcon.tsx +0 -9
  611. package/src/icons/ChevronLeftIcon.tsx +0 -9
  612. package/src/icons/ChevronRightIcon.tsx +0 -9
  613. package/src/icons/ChevronUpIcon.tsx +0 -9
  614. package/src/icons/CircleFilledIcon.tsx +0 -9
  615. package/src/icons/CloseIcon.tsx +0 -9
  616. package/src/icons/DateRangeIcon.tsx +0 -10
  617. package/src/icons/DeleteIcon.tsx +0 -16
  618. package/src/icons/DoneIcon.tsx +0 -9
  619. package/src/icons/DownloadIcon.tsx +0 -9
  620. package/src/icons/DragIcon.tsx +0 -21
  621. package/src/icons/EditIcon.tsx +0 -10
  622. package/src/icons/ErrorOutlineIcon.tsx +0 -14
  623. package/src/icons/ExportTableIcon.tsx +0 -19
  624. package/src/icons/FileUploadIcon.tsx +0 -9
  625. package/src/icons/FilterClearIcon.tsx +0 -24
  626. package/src/icons/FilterIcon.tsx +0 -13
  627. package/src/icons/FullScreenOffIcon.tsx +0 -9
  628. package/src/icons/FullScreenOnIcon.tsx +0 -12
  629. package/src/icons/Icon.tsx +0 -27
  630. package/src/icons/InfoIcon.tsx +0 -12
  631. package/src/icons/ListIcon.tsx +0 -9
  632. package/src/icons/MoreVerticalIcon.tsx +0 -10
  633. package/src/icons/PointIcon.tsx +0 -14
  634. package/src/icons/RadioDeselectedIcon.tsx +0 -10
  635. package/src/icons/RadioSelectedIcon.tsx +0 -10
  636. package/src/icons/SaveIcon.tsx +0 -17
  637. package/src/icons/SearchIcon.tsx +0 -10
  638. package/src/icons/SelectUniqueIcon.tsx +0 -9
  639. package/src/icons/SettingsIcon.tsx +0 -10
  640. package/src/icons/SortDownIcon.tsx +0 -9
  641. package/src/icons/SortUpIcon.tsx +0 -9
  642. package/src/icons/TableChartIcon.tsx +0 -9
  643. package/src/icons/UploadIcon.tsx +0 -9
  644. package/src/icons/VisibilityIcon.tsx +0 -18
  645. package/src/icons/WellIcon.tsx +0 -10
  646. package/src/models/FieldError.ts +0 -4
  647. package/src/models/TypographyVariant.ts +0 -20
  648. package/src/models/UiProps.ts +0 -3
  649. package/src/stories/icons/Icons.stories.tsx +0 -124
  650. package/src/styles/global.css +0 -142
  651. package/src/styles/localGlobal.css +0 -20
  652. package/src/styles/themes/dark.css +0 -132
  653. package/src/styles/themes/darkBlue.css +0 -132
  654. package/src/styles/themes/light.css +0 -132
  655. package/src/theme/ThemeProvider.tsx +0 -164
  656. package/src/types/global.d.ts +0 -13
  657. package/src/types/tanstack.d.ts +0 -40
  658. package/src/utils/toFirstLetterLowerCase.ts +0 -3
  659. package/src/utils/toFirstLetterUpperCase.ts +0 -3
  660. package/tsconfig.dist.json +0 -17
  661. package/tsconfig.json +0 -48
  662. package/vite.config.ts +0 -13
  663. package/webpack.dist.config.cjs +0 -105
  664. package/werf-giterminism.yaml +0 -19
  665. package/werf.yaml +0 -8
  666. package/wiki/VirtualTable.md +0 -660
@@ -1,1159 +0,0 @@
1
- import { Header, flexRender, getCoreRowModel, useReactTable } from '@tanstack/react-table';
2
- import { Range, defaultRangeExtractor, useVirtualizer } from '@tanstack/react-virtual';
3
- import classnames from 'classnames';
4
- import dayjs from 'dayjs';
5
- import {
6
- Fragment,
7
- JSX,
8
- ReactNode,
9
- PointerEvent as ReactPointerEvent,
10
- forwardRef,
11
- useCallback,
12
- useEffect,
13
- useImperativeHandle,
14
- useMemo,
15
- useRef,
16
- useState,
17
- } from 'react';
18
- import { v4 as uuidv4 } from 'uuid';
19
-
20
- import { Button } from '@components/common/Button';
21
- import { Tooltip } from '@components/view/Tooltip';
22
- import { ChipSize } from '@models/ChipSize';
23
- import { UiProps } from '@models/UiProps';
24
- import { toFirstLetterUpperCase } from '@utils/index';
25
-
26
- import { defaultRowHeight } from './constants/defaultRowHeight';
27
- import { AdditionalButton } from './models/AdditionalButton';
28
- import { FilterBy } from './models/FilterBy';
29
- import { SortBy } from './models/SortBy';
30
- import { TableCell } from './models/TableCell';
31
- import { TableColumn } from './models/TableColumn';
32
- import { TableRow } from './models/TableRow';
33
- import { VirtualTableBorders } from './models/VirtualTableBorders';
34
- import { VirtualTableRef } from './models/VirtualTableRef';
35
- import { DefaultColumn } from './ui/DefaultColumn';
36
- import { HeaderDropdown } from './ui/HeaderDropdown';
37
- import { dedupeFirstByColumnValue } from './utils/dedupeFirstByColumnValue';
38
- import { getColumns } from './utils/getColumns';
39
- import { getNextHorizontalHeaders } from './utils/getNextHorizontalHeaders';
40
- import { getNextVerticalHeaders } from './utils/getNextVerticalHeaders';
41
- import { getPrevHorizontalHeaders } from './utils/getPrevHorizontalHeaders';
42
- import { getPrevVerticalHeaders } from './utils/getPrevVerticalHeaders';
43
- import { recursiveFilter } from './utils/recursiveFilter';
44
- import { recursiveSort } from './utils/recursiveSort';
45
- import { rowMatchesFilter } from './utils/rowMatchesFilter';
46
- import {
47
- computeRowSelection,
48
- getSelectedIndexesByRows,
49
- isInteractiveSelectionTarget,
50
- isScrollbarPointerEvent,
51
- } from './utils/rowSelection';
52
- import * as styles from './virtualTable.module.css';
53
-
54
- const rowSelectionDragThresholdPx = 4;
55
- const rowSelectionScrollEdgePx = 32;
56
- const rowSelectionScrollStepPx = 20;
57
-
58
- type Size = ChipSize;
59
-
60
- interface Props {
61
- /** Строки таблицы */
62
- rows: TableRow[];
63
- /** Описание колонок (заголовки, сортировка, фильтрация, форматирование) */
64
- columns: TableColumn[];
65
- /** Кастомный рендер ячеек: view — режим просмотра, edit — режим редактирования */
66
- additionalColumnsViews?: (
67
- id: string,
68
- value: string | number | undefined,
69
- payload: { [key: string]: string } | undefined,
70
- ) => {
71
- edit:
72
- | ((onChange: (changeValue?: string, withBlur?: boolean) => void, onBlur: () => void) => JSX.Element | null)
73
- | null;
74
- view: JSX.Element | null;
75
- };
76
- /** Колбэк при изменении значения редактируемой ячейки */
77
- onChangeCell?: (rowIndex: number, columnId: string, value: string | number | undefined, original?: TableRow) => void;
78
- /** Функция расчёта ширины колонки по индексу; по умолчанию — meta.width колонки или 200 px */
79
- cellWidth?: (columnIndex: number) => number;
80
- /** Кнопки действий в правой части каждой строки */
81
- rowButtons?: ((original: TableRow) => AdditionalButton[]) | undefined;
82
- /** Количество левых колонок, закреплённых при горизонтальной прокрутке */
83
- fixedColumnsCount?: number;
84
- /** Высота строк заголовка в пикселях (по одному значению на уровень вложенности) */
85
- headerRowHeight?: number[];
86
- /** Высота строки тела таблицы в пикселях */
87
- bodyRowHeight?: number;
88
- /** Ширина колонки с кнопками действий строки */
89
- rowActionWidth?: number;
90
- /** Автоматически измерять высоту строк по содержимому (для многострочного текста) */
91
- dynamicRowHeight?: boolean;
92
- /** Фиксированная высота контейнера таблицы в пикселях */
93
- height?: number;
94
- /** Прокрутить таблицу к последней строке при монтировании/обновлении */
95
- scrollToBottom?: boolean;
96
- /** Рендерить попапы фильтрации/сортировки внутри контейнера таблицы (важно для overflow и вкладок) */
97
- useTableContainerAsRootForPopup?: boolean;
98
- /** Размер компонента: small | medium | large */
99
- componentSize?: Size;
100
- /** Стиль границ ячеек: all | horizontal | vertical | none */
101
- borders?: VirtualTableBorders;
102
- /** Показывать в заголовке количество уникальных значений столбца */
103
- showUniqueValuesCount?: boolean;
104
- /** Начальные фильтры (управляемый режим — через onFiltersChange) */
105
- globalFilters?: FilterBy[];
106
- /** Начальные сортировки (управляемый режим — через onSortsChange) */
107
- globalSorts?: SortBy[];
108
- /** Колбэк при изменении активных фильтров пользователем */
109
- onFiltersChange?: (filters: FilterBy[]) => void;
110
- /** Колбэк при изменении активных сортировок (без внутренней сортировки по isNew) */
111
- onSortsChange?: (sorts: SortBy[]) => void;
112
- /** Дополнительный контент слева от заголовка колонки (например, кнопка синхронизации с картой) */
113
- leftAdditionalHeaderContent?: (headerName: string) => ReactNode;
114
- /** Дополнительный контент справа от заголовка колонки, перед кнопкой фильтрации */
115
- rightAdditionalHeaderContent?: (headerName: string) => ReactNode;
116
- /** Добавить закреплённую колонку с порядковыми номерами строк */
117
- showRowsNumbers?: boolean;
118
- /** Чередовать фон строк (zebra); по умолчанию true */
119
- stripedRows?: boolean;
120
- /** Включить выделение строк мышью (Ctrl — точечно, Shift — диапазон, drag — несколько подряд) */
121
- enableSelectRows?: boolean;
122
- /** Колбэк при изменении набора выделенных строк; передаются полные данные строк в порядке отображения */
123
- onSelectRowsChange?: (rows: TableRow[]) => void;
124
- /** Начальное выделение строк (те же объекты, что в rows; управляемый режим — через onSelectRowsChange) */
125
- globalSelectedRows?: TableRow[];
126
- }
127
-
128
- interface SelectionDragState {
129
- pointerId: number;
130
- startIndex: number;
131
- startX: number;
132
- startY: number;
133
- baseIndexes: Set<number>;
134
- ctrl: boolean;
135
- shift: boolean;
136
- anchorIndex: number | null;
137
- isDragCapable: boolean;
138
- hasDragged: boolean;
139
- }
140
-
141
- export const VirtualTable = forwardRef<VirtualTableRef, UiProps<Props>>((props, ref) => {
142
- const {
143
- rows,
144
- columns,
145
- additionalColumnsViews,
146
- onChangeCell,
147
- cellWidth,
148
- rowButtons,
149
- fixedColumnsCount = 0,
150
- headerRowHeight = [defaultRowHeight],
151
- bodyRowHeight = defaultRowHeight,
152
- rowActionWidth = 77,
153
- classes,
154
- dynamicRowHeight = false,
155
- height,
156
- scrollToBottom,
157
- useTableContainerAsRootForPopup,
158
- componentSize = 'small',
159
- borders = 'horizontal',
160
- showUniqueValuesCount = false,
161
- globalFilters,
162
- globalSorts,
163
- onFiltersChange,
164
- onSortsChange,
165
- leftAdditionalHeaderContent,
166
- rightAdditionalHeaderContent,
167
- showRowsNumbers,
168
- stripedRows = true,
169
- enableSelectRows = false,
170
- onSelectRowsChange,
171
- globalSelectedRows,
172
- } = props;
173
-
174
- const fixedWithNumbersCount = fixedColumnsCount + (showRowsNumbers ? 1 : 0);
175
-
176
- const [filterBy, setFilterBy] = useState<FilterBy[]>(globalFilters ?? []);
177
- const [sortBy, setSortBy] = useState<SortBy[]>([...(globalSorts ?? []), { columnName: 'isNew', direction: 'desc' }]);
178
- const [selectedIndexes, setSelectedIndexes] = useState<Set<number>>(() => new Set());
179
-
180
- const tableContainerRef = useRef<HTMLDivElement>(null);
181
- const selectedIndexesRef = useRef(selectedIndexes);
182
- const selectedRowsRef = useRef<TableRow[]>(enableSelectRows ? (globalSelectedRows ?? []) : []);
183
- const processedRowsRef = useRef<TableRow[]>([]);
184
- const lastSelectedIndexRef = useRef<number | null>(null);
185
- const lastSelectedRowRef = useRef<TableRow | null>(null);
186
- const selectionDragRef = useRef<SelectionDragState | null>(null);
187
- const onSelectRowsChangeRef = useRef(onSelectRowsChange);
188
- const enableSelectRowsRef = useRef(enableSelectRows);
189
-
190
- selectedIndexesRef.current = selectedIndexes;
191
- onSelectRowsChangeRef.current = onSelectRowsChange;
192
- enableSelectRowsRef.current = enableSelectRows;
193
-
194
- const rowNumberColumnId = useMemo(() => (showRowsNumbers ? `rowNumber_${uuidv4()}` : null), [showRowsNumbers]);
195
-
196
- const memoizedColumns = useMemo(() => {
197
- if (!rowNumberColumnId) {
198
- return getColumns(columns);
199
- }
200
-
201
- const buildRowsNumbersColumn = (template?: TableColumn): TableColumn => ({
202
- id: rowNumberColumnId,
203
- ...(!template?.columns?.length ? { accessorKey: rowNumberColumnId } : undefined),
204
- label: '#',
205
- columns: template?.columns?.map((child) => buildRowsNumbersColumn(child)),
206
- });
207
-
208
- const nextColumns = [buildRowsNumbersColumn(columns[0]), ...columns];
209
- const result = getColumns(nextColumns);
210
-
211
- return result;
212
- }, [columns, rowNumberColumnId]);
213
-
214
- const processedRows = useMemo(() => {
215
- const newRows = [...rows];
216
- // При переключении объета может возникнуть случай, когда у
217
- // новых строк не будет ранее выбранных значений из фильтра
218
- const nextFilterBy = filterBy.filter((filterByItem) => {
219
- if (filterByItem.type === 'value' && filterByItem.uniqueFirstPerValue && filterByItem.values.length === 0) {
220
- return true;
221
- }
222
-
223
- return rows.some((row) => rowMatchesFilter(row, filterByItem));
224
- });
225
- const filtered = nextFilterBy.length
226
- ? recursiveFilter(newRows, nextFilterBy)
227
- : filterBy.some(
228
- (fb) =>
229
- (fb.type === 'numberRange' && fb.values.some((v) => v !== Infinity && v !== -Infinity)) ||
230
- (fb.type === 'dateRange' &&
231
- fb.values.some((v) => !dayjs(v).isSame(dayjs(0)) && !dayjs(v).isSame(dayjs(Number.MAX_SAFE_INTEGER)))),
232
- )
233
- ? []
234
- : newRows;
235
- let sorted = sortBy.length ? recursiveSort(filtered, sortBy) : filtered;
236
-
237
- for (const fb of nextFilterBy) {
238
- if (fb.type === 'value' && fb.uniqueFirstPerValue) {
239
- sorted = dedupeFirstByColumnValue(sorted, fb.columnName);
240
- }
241
- }
242
-
243
- return sorted;
244
- }, [rows, sortBy, filterBy]);
245
-
246
- const memoizedData = useMemo(() => {
247
- const result = rowNumberColumnId
248
- ? processedRows.map((row, index) => ({
249
- ...row,
250
- [rowNumberColumnId]: {
251
- value: index + 1,
252
- },
253
- }))
254
- : processedRows;
255
-
256
- window.dispatchEvent(
257
- new CustomEvent('filteringRows', {
258
- detail: result,
259
- }),
260
- );
261
- return result;
262
- }, [processedRows, rowNumberColumnId]);
263
-
264
- processedRowsRef.current = processedRows;
265
-
266
- const emitSelection = useCallback((indexes: Set<number>, anchorIndex: number | null) => {
267
- const source = processedRowsRef.current;
268
- const orderedIndexes = [...indexes].filter((index) => index >= 0 && index < source.length).sort((a, b) => a - b);
269
- const nextIndexes = new Set(orderedIndexes);
270
- const nextRows = orderedIndexes.map((index) => source[index]);
271
- const previousIndexes = selectedIndexesRef.current;
272
- const sameSelection =
273
- nextIndexes.size === previousIndexes.size && orderedIndexes.every((index) => previousIndexes.has(index));
274
-
275
- if (!sameSelection) {
276
- setSelectedIndexes(nextIndexes);
277
- selectedIndexesRef.current = nextIndexes;
278
- selectedRowsRef.current = nextRows;
279
- onSelectRowsChangeRef.current?.(nextRows);
280
- }
281
-
282
- if (anchorIndex !== null && source[anchorIndex]) {
283
- lastSelectedIndexRef.current = anchorIndex;
284
- lastSelectedRowRef.current = source[anchorIndex];
285
- } else if (anchorIndex === null) {
286
- lastSelectedIndexRef.current = null;
287
- lastSelectedRowRef.current = null;
288
- }
289
- }, []);
290
-
291
- useEffect(() => {
292
- const lastSelectedRow = lastSelectedRowRef.current;
293
- if (lastSelectedRow) {
294
- const nextAnchorIndex = processedRows.indexOf(lastSelectedRow);
295
- lastSelectedIndexRef.current = nextAnchorIndex === -1 ? null : nextAnchorIndex;
296
- if (nextAnchorIndex === -1) {
297
- lastSelectedRowRef.current = null;
298
- }
299
- }
300
-
301
- if (selectedRowsRef.current.length === 0) {
302
- if (selectedIndexesRef.current.size > 0) {
303
- emitSelection(new Set(), lastSelectedIndexRef.current);
304
- }
305
- return;
306
- }
307
-
308
- const nextIndexes = getSelectedIndexesByRows(processedRows, selectedRowsRef.current);
309
- const fallbackAnchor = nextIndexes.size > 0 ? Math.max(...nextIndexes) : null;
310
-
311
- emitSelection(nextIndexes, lastSelectedIndexRef.current ?? fallbackAnchor);
312
- }, [processedRows, emitSelection]);
313
-
314
- useEffect(() => {
315
- if (!enableSelectRows && selectedIndexesRef.current.size > 0) {
316
- emitSelection(new Set(), null);
317
- }
318
- }, [enableSelectRows, emitSelection]);
319
-
320
- const partialFiltered = useMemo(() => {
321
- const newRows = [...rows];
322
- return Array.from({ length: filterBy.length + 1 }, (_, i) => recursiveFilter(newRows, filterBy.slice(0, i)));
323
- }, [rows, filterBy]);
324
-
325
- const columnsEstimateSize = useMemo(
326
- () =>
327
- cellWidth ??
328
- ((index: number) =>
329
- rowNumberColumnId && index === 0
330
- ? memoizedData.length.toString().length * 8 + 24
331
- : (memoizedColumns[index]?.meta?.width ?? 200)),
332
- [cellWidth, memoizedColumns, memoizedData, rowNumberColumnId],
333
- );
334
-
335
- const table = useReactTable({
336
- data: memoizedData,
337
- columns: memoizedColumns,
338
- defaultColumn: DefaultColumn,
339
- manualSorting: true,
340
- enableColumnPinning: true,
341
- getCoreRowModel: getCoreRowModel(),
342
- initialState: {
343
- columnPinning: {
344
- left:
345
- memoizedColumns
346
- .filter((_, index) => index < fixedWithNumbersCount)
347
- .map((mc) => mc.id)
348
- .filter((id) => id)
349
- .map((id) => id!) ?? [],
350
- },
351
- },
352
- meta: {
353
- updateData: (rowIndex: number, columnId: string, value: string | number | undefined, original?: TableRow) => {
354
- onChangeCell?.(rowIndex, columnId, value, original);
355
- },
356
- tableContainerRef,
357
- additionalColumnsViews,
358
- },
359
- });
360
-
361
- const { rows: rowsFromTable } = table.getRowModel();
362
- const headerGroups = table.getHeaderGroups();
363
-
364
- const rowVirtualizer = useVirtualizer({
365
- count: rowsFromTable.length,
366
- getScrollElement: () => tableContainerRef?.current,
367
- estimateSize: () => bodyRowHeight,
368
- overscan: 5,
369
- });
370
-
371
- const columnVirtualizer = useVirtualizer({
372
- horizontal: true,
373
- count: headerGroups[0]?.headers.length ?? 1,
374
- rangeExtractor: useCallback((range: Range) => {
375
- const stickyIndexes = [...Array(fixedWithNumbersCount)].map((_, index) => index);
376
- const next = new Set([...stickyIndexes, ...defaultRangeExtractor(range)]);
377
- return [...next].sort((a, b) => a - b);
378
- }, []),
379
- getScrollElement: () => tableContainerRef?.current,
380
- estimateSize: columnsEstimateSize,
381
- overscan: 5,
382
- });
383
-
384
- const fixedColumnsWidth = useMemo(
385
- () => [...Array(fixedWithNumbersCount)].reduce((sum: number, _, index) => sum + columnsEstimateSize(index), 0),
386
- [fixedWithNumbersCount, columnsEstimateSize],
387
- );
388
-
389
- const headerGroupHeight = useMemo(() => {
390
- const delta = headerGroups.length - headerRowHeight.length;
391
- const result = [...headerRowHeight];
392
- if (delta > 0) {
393
- for (let i = 0; i < delta; i++) {
394
- result.push(defaultRowHeight);
395
- }
396
- }
397
-
398
- return result;
399
- }, [headerRowHeight, headerGroups]);
400
-
401
- const summaryHeaderHeight = useMemo(
402
- () =>
403
- headerGroupHeight.reduce(
404
- (sum, current, currentIndex) => (currentIndex < headerGroups.length ? sum + current : sum),
405
- 0,
406
- ),
407
- [headerGroupHeight, headerGroups],
408
- );
409
-
410
- const headerGroupY = useCallback(
411
- (headerIndex: number) =>
412
- headerGroupHeight.reduce((sum, current, currentIndex) => (currentIndex < headerIndex ? sum + current : sum), 0),
413
- [headerGroupHeight, headerGroups],
414
- );
415
-
416
- const rowsTotalSize = rowVirtualizer.getTotalSize();
417
- const columnsTotalSize = columnVirtualizer.getTotalSize();
418
-
419
- const resetFilters = () => {
420
- setFilterBy([]);
421
- };
422
-
423
- const resetSorts = () => {
424
- setSortBy([{ columnName: 'isNew', direction: 'desc' }]);
425
- };
426
-
427
- useImperativeHandle(ref, () => ({
428
- resetFilters,
429
- resetSorts,
430
- }));
431
-
432
- useEffect(() => {
433
- if (tableContainerRef?.current) {
434
- const container = tableContainerRef?.current;
435
- const rightBorderElement = container.querySelector(`.${styles.rightBorder}`);
436
- if (rightBorderElement) {
437
- const containerWidth = container.clientWidth;
438
- const tableWidth = columnsTotalSize + (!!rowButtons ? rowActionWidth : 0);
439
- (rightBorderElement as HTMLElement).style.left =
440
- `${containerWidth > tableWidth ? tableWidth : containerWidth}px`;
441
- }
442
- }
443
- }, [tableContainerRef?.current?.clientWidth, columnsTotalSize, rowButtons, rowActionWidth]);
444
-
445
- useEffect(() => {
446
- if (tableContainerRef?.current) {
447
- const container = tableContainerRef?.current;
448
- const bottomBorderElement = container.querySelector(`.${styles.bottomBorder}`);
449
- if (bottomBorderElement) {
450
- const containerHeight = container.clientHeight;
451
- const tableHeight = rowsTotalSize + summaryHeaderHeight;
452
- (bottomBorderElement as HTMLElement).style.top =
453
- `${containerHeight > tableHeight ? tableHeight : containerHeight}px`;
454
- }
455
- }
456
- }, [tableContainerRef?.current?.clientHeight, rowsTotalSize]);
457
-
458
- useEffect(() => {
459
- const scrollListener = function (this: HTMLDivElement) {
460
- const marginLeftChangingElements = this.querySelectorAll(`.${styles.marginLeftChanging}`);
461
- marginLeftChangingElements?.forEach(
462
- (element) => ((element as HTMLElement).style.marginLeft = `${this.scrollLeft}px`),
463
- );
464
- };
465
-
466
- if (tableContainerRef?.current) {
467
- tableContainerRef.current.addEventListener('scroll', scrollListener);
468
- if (scrollToBottom) {
469
- tableContainerRef.current.scrollTo(0, tableContainerRef.current.scrollHeight);
470
- }
471
- }
472
-
473
- return () => {
474
- if (tableContainerRef?.current) {
475
- tableContainerRef.current.removeEventListener('scroll', scrollListener);
476
- }
477
- };
478
- }, [tableContainerRef, scrollToBottom]);
479
-
480
- const virtualRows = rowVirtualizer.getVirtualItems();
481
- const virtualColumns = columnVirtualizer.getVirtualItems();
482
- const lastVirtualColumnIndex = virtualColumns[virtualColumns.length - 1]?.index;
483
- const virtualRowsSizeByIndex = useMemo(
484
- () => new Map(virtualRows.map((item) => [item.index, item.size])),
485
- [virtualRows],
486
- );
487
-
488
- const getRowSizeByIndex = useCallback(
489
- (index: number) => virtualRowsSizeByIndex.get(index) ?? bodyRowHeight,
490
- [bodyRowHeight, virtualRowsSizeByIndex],
491
- );
492
-
493
- const getRowspanHeight = useCallback(
494
- (rowIndex: number, rowspan: number) => {
495
- const clampedRowspan = Math.max(1, Math.floor(rowspan));
496
- const lastRowIndex = Math.min(rowsFromTable.length - 1, rowIndex + clampedRowspan - 1);
497
- const rowsInRange = lastRowIndex - rowIndex + 1;
498
-
499
- let result = 0;
500
-
501
- for (let index = rowIndex; index <= lastRowIndex; index += 1) {
502
- result += getRowSizeByIndex(index);
503
- }
504
-
505
- const bordersCompensation = borders === 'all' || borders === 'horizontal' ? Math.max(0, rowsInRange - 1) : 0;
506
-
507
- return Math.max(0, result - bordersCompensation);
508
- },
509
- [borders, getRowSizeByIndex, rowsFromTable.length],
510
- );
511
-
512
- const isCellCoveredByRowspan = useCallback(
513
- (rowIndex: number, columnId: string) => {
514
- for (let index = rowIndex - 1; index >= 0; index -= 1) {
515
- const upperCell = rowsFromTable[index]?.original?.[columnId] as TableCell | undefined;
516
- const upperRowspan = Math.max(1, upperCell?.rowspan ?? 1);
517
-
518
- if (index + upperRowspan - 1 >= rowIndex) {
519
- return true;
520
- }
521
- }
522
-
523
- return false;
524
- },
525
- [rowsFromTable],
526
- );
527
-
528
- const getRowIndexFromTarget = (target: EventTarget | null): number | null => {
529
- if (!(target instanceof Element)) {
530
- return null;
531
- }
532
-
533
- const rowElement = target.closest(`.${styles.tr}`);
534
- if (!rowElement) {
535
- return null;
536
- }
537
-
538
- const index = Number(rowElement.getAttribute('data-index'));
539
- return Number.isFinite(index) ? index : null;
540
- };
541
-
542
- const getRowIndexFromClientY = useCallback(
543
- (clientY: number): number | null => {
544
- const container = tableContainerRef.current;
545
- const rowsCount = processedRowsRef.current.length;
546
- if (!container || rowsCount === 0) {
547
- return null;
548
- }
549
-
550
- const rect = container.getBoundingClientRect();
551
- const offset = clientY - rect.top + container.scrollTop - summaryHeaderHeight;
552
-
553
- if (offset < 0) {
554
- return 0;
555
- }
556
-
557
- const totalSize = rowVirtualizer.getTotalSize();
558
- if (offset >= totalSize) {
559
- return rowsCount - 1;
560
- }
561
-
562
- const measurements = rowVirtualizer.measurementsCache;
563
- if (measurements.length > 0) {
564
- let low = 0;
565
- let high = measurements.length - 1;
566
-
567
- while (low <= high) {
568
- const mid = (low + high) >> 1;
569
- const item = measurements[mid];
570
-
571
- if (offset < item.start) {
572
- high = mid - 1;
573
- } else if (offset >= item.end) {
574
- low = mid + 1;
575
- } else {
576
- return Math.min(rowsCount - 1, item.index);
577
- }
578
- }
579
- }
580
-
581
- if (!dynamicRowHeight) {
582
- return Math.max(0, Math.min(rowsCount - 1, Math.floor(offset / bodyRowHeight)));
583
- }
584
-
585
- const virtualItems = rowVirtualizer.getVirtualItems();
586
- if (virtualItems.length === 0) {
587
- return 0;
588
- }
589
-
590
- if (offset < virtualItems[0].start) {
591
- return virtualItems[0].index;
592
- }
593
-
594
- return virtualItems[virtualItems.length - 1].index;
595
- },
596
- [bodyRowHeight, dynamicRowHeight, rowVirtualizer, summaryHeaderHeight],
597
- );
598
-
599
- const scrollContainerWhileSelecting = (clientY: number) => {
600
- const container = tableContainerRef.current;
601
- if (!container) {
602
- return;
603
- }
604
-
605
- const rect = container.getBoundingClientRect();
606
- const visibleY = clientY - rect.top;
607
-
608
- if (visibleY < rowSelectionScrollEdgePx + summaryHeaderHeight) {
609
- container.scrollTop -= rowSelectionScrollStepPx;
610
- } else if (visibleY > rect.height - rowSelectionScrollEdgePx) {
611
- container.scrollTop += rowSelectionScrollStepPx;
612
- }
613
- };
614
-
615
- const applySelectionGesture = (currentIndex: number, isDrag: boolean) => {
616
- const drag = selectionDragRef.current;
617
- if (!drag) {
618
- return;
619
- }
620
-
621
- const result = computeRowSelection({
622
- startIndex: drag.startIndex,
623
- currentIndex,
624
- ctrl: drag.ctrl,
625
- shift: drag.shift,
626
- anchorIndex: drag.anchorIndex,
627
- baseIndexes: drag.baseIndexes,
628
- isDrag,
629
- });
630
-
631
- emitSelection(result.indexes, result.anchor);
632
- };
633
-
634
- const handleTablePointerDown = (event: ReactPointerEvent<HTMLDivElement>) => {
635
- if (!enableSelectRowsRef.current || event.button !== 0) {
636
- return;
637
- }
638
-
639
- const rowIndex = getRowIndexFromTarget(event.target);
640
- if (rowIndex === null) {
641
- if (
642
- isInteractiveSelectionTarget(event.target) ||
643
- isScrollbarPointerEvent(event) ||
644
- (event.target instanceof Element && Boolean(event.target.closest(`.${styles.th}`)))
645
- ) {
646
- return;
647
- }
648
-
649
- if (selectedIndexesRef.current.size > 0) {
650
- emitSelection(new Set(), null);
651
- }
652
-
653
- return;
654
- }
655
-
656
- if (isInteractiveSelectionTarget(event.target)) {
657
- return;
658
- }
659
-
660
- const isCellActionTarget =
661
- event.target instanceof Element && event.target.closest('[data-vt-cell-action]') !== null;
662
- const isModifierClick = event.ctrlKey || event.metaKey || event.shiftKey;
663
-
664
- if (isCellActionTarget && !isModifierClick) {
665
- return;
666
- }
667
-
668
- const isDragCapable = event.pointerType === 'mouse' || event.pointerType === 'pen';
669
-
670
- selectionDragRef.current = {
671
- pointerId: event.pointerId,
672
- startIndex: rowIndex,
673
- startX: event.clientX,
674
- startY: event.clientY,
675
- baseIndexes: new Set(selectedIndexesRef.current),
676
- ctrl: event.ctrlKey || event.metaKey,
677
- shift: event.shiftKey,
678
- anchorIndex: lastSelectedIndexRef.current,
679
- isDragCapable: isDragCapable && !isCellActionTarget,
680
- hasDragged: false,
681
- };
682
-
683
- if (isCellActionTarget) {
684
- applySelectionGesture(rowIndex, false);
685
- return;
686
- }
687
-
688
- if (isDragCapable) {
689
- event.currentTarget.setPointerCapture(event.pointerId);
690
- applySelectionGesture(rowIndex, false);
691
- }
692
- };
693
-
694
- const handleTablePointerMove = (event: ReactPointerEvent<HTMLDivElement>) => {
695
- const drag = selectionDragRef.current;
696
- if (!drag || !drag.isDragCapable || event.pointerId !== drag.pointerId) {
697
- return;
698
- }
699
-
700
- const deltaX = event.clientX - drag.startX;
701
- const deltaY = event.clientY - drag.startY;
702
- const distanceSquared = deltaX * deltaX + deltaY * deltaY;
703
- if (!drag.hasDragged && distanceSquared < rowSelectionDragThresholdPx * rowSelectionDragThresholdPx) {
704
- return;
705
- }
706
-
707
- drag.hasDragged = true;
708
- event.preventDefault();
709
- scrollContainerWhileSelecting(event.clientY);
710
-
711
- const currentIndex = getRowIndexFromClientY(event.clientY);
712
- if (currentIndex === null) {
713
- return;
714
- }
715
-
716
- applySelectionGesture(currentIndex, true);
717
- };
718
-
719
- const clearSelectionDrag = (event: ReactPointerEvent<HTMLDivElement>) => {
720
- const drag = selectionDragRef.current;
721
- if (!drag || event.pointerId !== drag.pointerId) {
722
- return;
723
- }
724
-
725
- if (!drag.isDragCapable && !drag.hasDragged) {
726
- applySelectionGesture(drag.startIndex, false);
727
- }
728
-
729
- selectionDragRef.current = null;
730
-
731
- if (event.currentTarget.hasPointerCapture(event.pointerId)) {
732
- event.currentTarget.releasePointerCapture(event.pointerId);
733
- }
734
- };
735
-
736
- const getRowBackgroundColor = useCallback(
737
- (row: TableRow, rowIndex: number) => {
738
- if (row?.isNew?.value === 1 || selectedIndexes.has(rowIndex)) {
739
- return 'var(--theme-table-selected-row)';
740
- }
741
-
742
- return rowIndex % 2 !== 0 ? 'var(--theme-table-even-row)' : 'var(--theme-table-background)';
743
- },
744
- [selectedIndexes],
745
- );
746
- const rowZIndexByIndex = useMemo(() => {
747
- const rowsCount = rowsFromTable.length;
748
- const result = new Map<number, number>();
749
-
750
- rowsFromTable.forEach((row, rowIndex) => {
751
- const maxRowspan = row
752
- .getAllCells()
753
- .reduce(
754
- (maxSpan, cell) =>
755
- Math.max(maxSpan, Math.max(1, (row.original?.[cell.column.id] as TableCell | undefined)?.rowspan ?? 1)),
756
- 1,
757
- );
758
-
759
- const spanWeight = maxRowspan - 1;
760
- const zIndex = spanWeight * (rowsCount + 1) + (rowsCount - rowIndex + 1);
761
-
762
- result.set(rowIndex, zIndex);
763
- });
764
-
765
- return result;
766
- }, [rowsFromTable]);
767
- const headerBaseZIndex = useMemo(
768
- () => rowsFromTable.length * rowsFromTable.length + rowsFromTable.length + 10,
769
- [rowsFromTable.length],
770
- );
771
-
772
- const renderHeaderNode = (header: Header<TableRow, unknown>) => {
773
- const metaLabel = (header.column.columnDef.meta as { label?: string } | undefined)?.label;
774
-
775
- if (typeof metaLabel === 'string') {
776
- const headerLines = metaLabel.split(/\r\n|\\r\\n|\n|\\n/);
777
-
778
- if (headerLines.length > 1) {
779
- return (
780
- <>
781
- {headerLines.map((line, index) => (
782
- <Fragment key={`${header.id}_${index}`}>
783
- {line}
784
- {index < headerLines.length - 1 && <br />}
785
- </Fragment>
786
- ))}
787
- </>
788
- );
789
- }
790
- }
791
-
792
- return flexRender(header.column.columnDef.header, header.getContext());
793
- };
794
-
795
- const [before, after] =
796
- virtualColumns.length > 0
797
- ? [
798
- fixedWithNumbersCount && virtualColumns[fixedWithNumbersCount].index !== fixedWithNumbersCount
799
- ? virtualColumns[fixedWithNumbersCount].start - fixedColumnsWidth
800
- : virtualColumns[0].start,
801
- columnsTotalSize - virtualColumns[virtualColumns.length - 1].end,
802
- ]
803
- : [0, 0];
804
-
805
- useEffect(() => {
806
- onFiltersChange?.(filterBy);
807
- }, [filterBy]);
808
-
809
- useEffect(() => {
810
- onSortsChange?.(sortBy.filter((sb) => sb.columnName !== 'isNew'));
811
- }, [sortBy]);
812
-
813
- return (
814
- <div
815
- className={classnames(
816
- styles.root,
817
- styles[componentSize as keyof typeof styles],
818
- styles[`borders${toFirstLetterUpperCase(borders)}` as keyof typeof styles],
819
- classes?.root,
820
- )}
821
- style={height ? { height } : undefined}
822
- >
823
- <div
824
- ref={tableContainerRef}
825
- className={classnames(styles.tableContainer, 'styledScroll', enableSelectRows && styles.selectRows)}
826
- onPointerDown={enableSelectRows ? handleTablePointerDown : undefined}
827
- onPointerMove={enableSelectRows ? handleTablePointerMove : undefined}
828
- onPointerUp={enableSelectRows ? clearSelectionDrag : undefined}
829
- onPointerCancel={enableSelectRows ? clearSelectionDrag : undefined}
830
- onDragStart={enableSelectRows ? (event) => event.preventDefault() : undefined}
831
- >
832
- <div
833
- className={styles.table}
834
- style={{
835
- height: `${rowsTotalSize + summaryHeaderHeight}px`,
836
- }}
837
- >
838
- <div
839
- style={{
840
- position: 'sticky',
841
- top: 0,
842
- zIndex: headerBaseZIndex,
843
- }}
844
- >
845
- {headerGroups.map((headerGroup, hgi) => {
846
- const innerCell = (header: Header<TableRow, unknown>) => {
847
- const headerMeta = header.column.columnDef.meta;
848
- const headerResultName =
849
- (headerMeta as { sortAnotherName?: string } | undefined)?.sortAnotherName ??
850
- header.column.columnDef.id ??
851
- header.id;
852
- const columnFilterIndex = filterBy.findIndex((fb) => fb.columnName === headerResultName);
853
- const rowsForChecklist = columnFilterIndex === -1 ? memoizedData : partialFiltered[columnFilterIndex];
854
-
855
- return (
856
- <div className={classnames(styles.thCell)}>
857
- {header.column.columnDef.id ===
858
- header.column.columnDef['accessorKey' as keyof typeof header.column.columnDef] &&
859
- header.column.columnDef.id !== rowNumberColumnId &&
860
- (headerMeta?.sortable ||
861
- headerMeta?.selectUnique ||
862
- headerMeta?.filtrationByValue ||
863
- headerMeta?.filtrationByDate ||
864
- headerMeta?.filtrationByNumber ||
865
- (headerMeta && showUniqueValuesCount)) ? (
866
- <HeaderDropdown
867
- headerMeta={headerMeta}
868
- sortBy={sortBy}
869
- setSortBy={setSortBy}
870
- filterBy={filterBy}
871
- setFilterBy={setFilterBy}
872
- rows={rowsForChecklist}
873
- rowsForUniqueCount={memoizedData}
874
- headerName={header.column.columnDef.id ?? header.id}
875
- containerRef={useTableContainerAsRootForPopup ? tableContainerRef : undefined}
876
- showUniqueValuesCount={showUniqueValuesCount}
877
- leftAdditionalContent={leftAdditionalHeaderContent}
878
- rightAdditionalContent={rightAdditionalHeaderContent}
879
- children={(afterNode) => (
880
- <div
881
- className={classnames(
882
- styles.label,
883
- !!headerMeta?.headerAlign
884
- ? styles[`align${headerMeta?.headerAlign}` as keyof typeof styles]
885
- : styles.alignLeft,
886
- )}
887
- >
888
- {renderHeaderNode(header)}
889
- {afterNode}
890
- </div>
891
- )}
892
- ></HeaderDropdown>
893
- ) : (
894
- <div
895
- className={classnames(
896
- styles.label,
897
- !!headerMeta?.headerAlign
898
- ? styles[`align${headerMeta?.headerAlign}` as keyof typeof styles]
899
- : styles.alignLeft,
900
- )}
901
- >
902
- {renderHeaderNode(header)}
903
- </div>
904
- )}
905
- </div>
906
- );
907
- };
908
-
909
- return (
910
- <Fragment key={headerGroup.id}>
911
- {[...Array(fixedWithNumbersCount)].map((_a, index) => {
912
- const header = headerGroup.headers[index];
913
-
914
- const nextHorizontalHeaders = getNextHorizontalHeaders(
915
- headerGroup.headers,
916
- index,
917
- lastVirtualColumnIndex,
918
- );
919
- const nextVerticalHeaders = getNextVerticalHeaders(headerGroups, hgi, index);
920
-
921
- return (
922
- <div
923
- key={`${headerGroup.id}-${header.id}`}
924
- className={classnames(
925
- styles.th,
926
- hgi === 0 ? styles.firstThRow : undefined,
927
- !nextVerticalHeaders.length &&
928
- index !== headerGroup.headers.length - 1 &&
929
- styles.thRightBorder,
930
- index === 0 && styles.thLeftBorder,
931
- nextVerticalHeaders.length && !nextHorizontalHeaders.length && styles.thHiddenColumn,
932
- styles.marginLeftChanging,
933
- )}
934
- style={{
935
- zIndex: headerBaseZIndex + 1,
936
- width: `${columnsEstimateSize(index)}px`,
937
- height: `${headerGroupHeight[hgi]}px`,
938
- transform:
939
- `translateX(` +
940
- `${Array.from({ length: index }, (_, i) => columnsEstimateSize(i)).reduce(
941
- (sum, w) => sum + w,
942
- 0,
943
- )}px` +
944
- `) ` +
945
- `translateY(${headerGroupY(hgi)}px)`,
946
- }}
947
- >
948
- {innerCell(header)}
949
- </div>
950
- );
951
- })}
952
-
953
- {virtualColumns.map((column) => {
954
- if (column.index > fixedWithNumbersCount - 1) {
955
- const header = headerGroup.headers[column.index];
956
- const nextHorizontalHeaders = getNextHorizontalHeaders(
957
- headerGroup.headers,
958
- column.index,
959
- lastVirtualColumnIndex,
960
- );
961
- const prevHorizontalHeaders = getPrevHorizontalHeaders(headerGroup.headers, column.index);
962
- const nextVerticalHeaders = getNextVerticalHeaders(headerGroups, hgi, column.index);
963
- const prevVerticalHeaders = getPrevVerticalHeaders(headerGroups, hgi, column.index);
964
-
965
- const thWidth =
966
- !nextHorizontalHeaders.length && !prevHorizontalHeaders.length
967
- ? column.size
968
- : column.size +
969
- nextHorizontalHeaders.reduce(
970
- (sum, current) => sum + (current.column.columnDef.meta?.width ?? 0),
971
- 0,
972
- );
973
- const zIndex =
974
- !nextHorizontalHeaders.length && !prevHorizontalHeaders.length
975
- ? undefined
976
- : headerBaseZIndex + nextHorizontalHeaders.length + 2;
977
- const thHeight = !prevVerticalHeaders.length
978
- ? headerGroupHeight[hgi]
979
- : headerGroupHeight[hgi] +
980
- prevVerticalHeaders.reduce(
981
- (sum, _, index) => sum + (headerGroupHeight[hgi - index - 1] ?? 0),
982
- 0,
983
- );
984
- const translateY = !prevVerticalHeaders.length
985
- ? headerGroupY(hgi)
986
- : headerGroupY(hgi) -
987
- prevVerticalHeaders.reduce(
988
- (sum, _, index) => sum + (headerGroupHeight[hgi - index - 1] ?? 0),
989
- 0,
990
- );
991
-
992
- return (
993
- <div
994
- key={`${headerGroup.id}-${header.id}`}
995
- className={classnames(
996
- styles.th,
997
- hgi === 0 && styles.firstThRow,
998
- !nextVerticalHeaders.length &&
999
- column.index !== headerGroup.headers.length - 1 &&
1000
- styles.thRightBorder,
1001
- column.index === 0 && styles.thLeftBorder,
1002
- nextVerticalHeaders.length && !nextHorizontalHeaders.length && styles.thHiddenColumn,
1003
- )}
1004
- style={{
1005
- width: `${thWidth}px`,
1006
- zIndex,
1007
- height: `${thHeight}px`,
1008
- transform:
1009
- `translateX(${column.start + (!!fixedWithNumbersCount ? -1 : 0)}px)` +
1010
- ` translateY(${translateY}px)`,
1011
- borderTop:
1012
- borders !== 'none' && translateY === 0 ? '1px solid var(--border-color)' : undefined,
1013
- }}
1014
- >
1015
- {innerCell(header)}
1016
- </div>
1017
- );
1018
- }
1019
- return null;
1020
- })}
1021
-
1022
- {!!rowButtons && (
1023
- <div
1024
- className={classnames(styles.th, hgi === 0 ? styles.firstThRow : undefined)}
1025
- style={{
1026
- width: `${rowActionWidth}px`,
1027
- height: `${headerGroupHeight[hgi]}px`,
1028
- transform:
1029
- `translateX(${columnsTotalSize + (!!fixedWithNumbersCount ? -2 : 0)}px)` +
1030
- ` translateY(${headerGroupY(hgi)}px)`,
1031
- }}
1032
- ></div>
1033
- )}
1034
- </Fragment>
1035
- );
1036
- })}
1037
- </div>
1038
-
1039
- {virtualRows.map((virtualRow) => {
1040
- const row = rowsFromTable[virtualRow.index];
1041
-
1042
- return (
1043
- <div
1044
- key={`row-${virtualRow.key}`}
1045
- data-index={virtualRow.index}
1046
- ref={dynamicRowHeight ? rowVirtualizer.measureElement : undefined}
1047
- className={classnames(
1048
- styles.tr,
1049
- stripedRows && virtualRow.index % 2 !== 0 && styles.evenRow,
1050
- (row.original?.isNew?.value === 1 || selectedIndexes.has(virtualRow.index)) && styles.selected,
1051
- )}
1052
- style={{
1053
- zIndex: rowZIndexByIndex.get(virtualRow.index) ?? 1,
1054
- ...(!dynamicRowHeight && {
1055
- height: virtualRow.size,
1056
- }),
1057
- transform:
1058
- `translateY(` +
1059
- `${summaryHeaderHeight + virtualRow.start - rowVirtualizer.options.scrollMargin}` +
1060
- `px)`,
1061
- }}
1062
- >
1063
- <div style={{ width: `${before}px` }} />
1064
-
1065
- {virtualColumns.map((virtualCol) => {
1066
- const cell = row.getAllCells()[virtualCol.index];
1067
- const isSticky = cell.column.getIsPinned() === 'left';
1068
- const currentCell = row.original?.[cell.column.id] as TableCell | undefined;
1069
- const rowspan = Math.max(1, currentCell?.rowspan ?? 1);
1070
- const isCoveredByRowspan = isCellCoveredByRowspan(virtualRow.index, cell.column.id);
1071
- const hasRowspan = rowspan > 1 && !isCoveredByRowspan;
1072
-
1073
- return (
1074
- <div
1075
- key={`cell-${virtualRow.key}-${virtualCol.key}`}
1076
- data-col-index={virtualCol.index}
1077
- className={classnames(styles.td, isSticky && styles.sticky)}
1078
- style={{
1079
- ...(isSticky && {
1080
- left: virtualCol.start,
1081
- marginLeft: virtualCol.index === 0 ? -1 : 0, // чтобы появился левый бордер
1082
- }),
1083
- width: `${virtualCol.size}px`,
1084
- ...(!dynamicRowHeight &&
1085
- !hasRowspan && {
1086
- overflow: 'hidden',
1087
- }),
1088
- }}
1089
- data-index={virtualRow.index}
1090
- >
1091
- {!isCoveredByRowspan &&
1092
- (hasRowspan ? (
1093
- <div
1094
- className={styles.rowspanContent}
1095
- style={{
1096
- height: `${getRowspanHeight(virtualRow.index, rowspan)}px`,
1097
- backgroundColor: getRowBackgroundColor(row.original, virtualRow.index),
1098
- }}
1099
- >
1100
- {flexRender(cell.column.columnDef.cell, cell.getContext())}
1101
- </div>
1102
- ) : (
1103
- flexRender(cell.column.columnDef.cell, cell.getContext())
1104
- ))}
1105
- </div>
1106
- );
1107
- })}
1108
-
1109
- {!!rowButtons && (
1110
- <div
1111
- className={classnames(styles.td)}
1112
- style={{
1113
- width: `${rowActionWidth}px`,
1114
- justifyContent: 'flex-start',
1115
- padding: '4px',
1116
- ...(!dynamicRowHeight && {
1117
- overflow: 'hidden',
1118
- }),
1119
- }}
1120
- >
1121
- {rowButtons?.(row.original)?.map((ab) => (
1122
- <Fragment key={ab.title}>
1123
- {ab.template ? (
1124
- ab.template(ab)
1125
- ) : (
1126
- <Tooltip
1127
- label={ab.title}
1128
- placement="top"
1129
- wrapTrigger
1130
- classes={{ trigger: styles.rowButtonTrigger }}
1131
- >
1132
- <Button
1133
- onClick={() => ab.onClick?.(virtualRow.index, row.original)}
1134
- componentSize="small"
1135
- variant="text"
1136
- icon={ab.icon}
1137
- ></Button>
1138
- </Tooltip>
1139
- )}
1140
- </Fragment>
1141
- ))}
1142
- </div>
1143
- )}
1144
-
1145
- <div style={{ width: `${after}px` }} />
1146
- </div>
1147
- );
1148
- })}
1149
- </div>
1150
- {borders !== 'none' && (
1151
- <>
1152
- <div className={styles.rightBorder} style={{ height: `${rowsTotalSize + summaryHeaderHeight}px` }} />
1153
- <div className={styles.bottomBorder} style={{ width: `${columnsTotalSize}px` }} />
1154
- </>
1155
- )}
1156
- </div>
1157
- </div>
1158
- );
1159
- });