@moysklad/uikit 28.1.0 → 30.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (372) hide show
  1. package/README.md +3 -0
  2. package/dist/colorVariables.css +10 -0
  3. package/dist/components/AutoComplete/AutoComplete.d.ts +4 -2
  4. package/dist/components/AutoComplete/AutoComplete.js +45 -31
  5. package/dist/components/Badge/Badge.js +2 -3
  6. package/dist/components/Badge/Badge_module.css +2 -3
  7. package/dist/components/BottomSheet/BottomSheet.js +2 -2
  8. package/dist/components/Breadcrumbs/BreadcrumbItem.d.ts +5 -3
  9. package/dist/components/Breadcrumbs/BreadcrumbItem.js +39 -8
  10. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +4 -1
  11. package/dist/components/Breadcrumbs/Breadcrumbs.js +10 -6
  12. package/dist/components/Button/Button.d.ts +1 -0
  13. package/dist/components/Button/Button.js +2 -2
  14. package/dist/components/Button/Button.module.js +1 -0
  15. package/dist/components/Button/Button_module.css +4 -0
  16. package/dist/components/Carousel/Carousel.js +5 -4
  17. package/dist/components/Checkbox/Checkbox.d.ts +1 -1
  18. package/dist/components/Chip/Chip.helpers.js +5 -2
  19. package/dist/components/Chip/Chip.js +9 -3
  20. package/dist/components/Chip/Chip.legacy_module.css +2 -2
  21. package/dist/components/Chip/Chip.types.d.ts +10 -4
  22. package/dist/components/Chip/Chip_module.css +5 -5
  23. package/dist/components/Chip/components/ChipLabel.d.ts +3 -1
  24. package/dist/components/Chip/components/ChipLabel.js +4 -2
  25. package/dist/components/Chip/components/ChipMainButton.d.ts +3 -4
  26. package/dist/components/Chip/components/ChipMainButton.js +2 -1
  27. package/dist/components/Chip/components/ChipRoot.d.ts +3 -2
  28. package/dist/components/Chip/components/ChipRoot.js +2 -1
  29. package/dist/components/Dropdown/Dropdown.d.ts +2 -0
  30. package/dist/components/Dropdown/Dropdown.js +7 -4
  31. package/dist/components/Dropdown/hooks/usePosition.d.ts +2 -1
  32. package/dist/components/Dropdown/hooks/usePosition.js +3 -3
  33. package/dist/components/EditableTitle/EditableTitle.js +1 -1
  34. package/dist/components/FieldLabel/FieldLabel.constants.d.ts +1 -0
  35. package/dist/components/FieldLabel/FieldLabel.constants.js +5 -0
  36. package/dist/components/FieldLabel/FieldLabel.d.ts +17 -0
  37. package/dist/components/FieldLabel/FieldLabel.js +76 -0
  38. package/dist/components/FieldLabel/FieldLabel.module.js +11 -0
  39. package/dist/components/FieldLabel/FieldLabel_module.css +42 -0
  40. package/dist/components/FieldLabel/components/HelpButton.d.ts +8 -0
  41. package/dist/components/FieldLabel/components/HelpButton.js +15 -0
  42. package/dist/components/FieldLabel/components/HelpButton.module.js +5 -0
  43. package/dist/components/FieldLabel/components/HelpButton_module.css +8 -0
  44. package/dist/components/FieldLabel/components/index.d.ts +1 -0
  45. package/dist/components/FieldLabel/components/index.js +1 -0
  46. package/dist/components/FileUploader/FileUploader.helpers.d.ts +1 -0
  47. package/dist/components/FileUploader/FileUploader.helpers.js +4 -1
  48. package/dist/components/FileUploader/FileUploader.js +3 -1
  49. package/dist/components/FileUploader/FileUploader.types.d.ts +1 -0
  50. package/dist/components/FileUploader/components/FileUploaderPreview/FileUploaderPreview.js +4 -4
  51. package/dist/components/Help/Help.d.ts +12 -5
  52. package/dist/components/Help/Help.js +22 -7
  53. package/dist/components/Help/Help.module.js +6 -2
  54. package/dist/components/Help/Help_module.css +36 -8
  55. package/dist/components/Hint/Hint.js +4 -5
  56. package/dist/components/Hint/Hint.module.js +2 -3
  57. package/dist/components/Hint/Hint_module.css +0 -9
  58. package/dist/components/Info/Info.d.ts +1 -4
  59. package/dist/components/Info/Info.js +27 -4
  60. package/dist/components/Info/Info.module.js +4 -1
  61. package/dist/components/Info/Info_module.css +21 -0
  62. package/dist/components/Input/Input.d.ts +10 -0
  63. package/dist/components/Input/Input.js +93 -42
  64. package/dist/components/Input/Input.module.js +19 -3
  65. package/dist/components/Input/Input_module.css +156 -19
  66. package/dist/components/Input/components/InfoBlock.d.ts +12 -0
  67. package/dist/components/Input/components/InfoBlock.js +29 -0
  68. package/dist/components/InputClear/InputClear.d.ts +5 -2
  69. package/dist/components/InputClear/InputClear.js +10 -4
  70. package/dist/components/InputClear/InputClear.module.js +3 -1
  71. package/dist/components/InputClear/InputClear_module.css +23 -10
  72. package/dist/components/InputUnit/InputUnit.d.ts +3 -0
  73. package/dist/components/InputUnit/InputUnit.js +42 -32
  74. package/dist/components/InputUnit/InputUnit.module.js +6 -1
  75. package/dist/components/InputUnit/InputUnit_module.css +27 -29
  76. package/dist/components/InputUnit/SelectUnit/SelectUnit.d.ts +1 -1
  77. package/dist/components/InputUnit/SelectUnit/SelectUnit.js +1 -4
  78. package/dist/components/InputUnit/SelectUnit/SelectUnit.module.js +1 -0
  79. package/dist/components/InputUnit/SelectUnit/SelectUnitVisible.d.ts +1 -1
  80. package/dist/components/InputUnit/SelectUnit/SelectUnitVisible.js +7 -2
  81. package/dist/components/InputUnit/SelectUnit/SelectUnit_module.css +29 -37
  82. package/dist/components/InputUnit/SelectUnit/type.d.ts +1 -0
  83. package/dist/components/InputUnit/Unit/Unit.js +1 -2
  84. package/dist/components/InputUnit/Unit/Unit_module.css +1 -0
  85. package/dist/components/Label/Label.d.ts +1 -0
  86. package/dist/components/LabelValue/LabelValue.js +18 -52
  87. package/dist/components/LabelValue/LabelValue.module.js +0 -3
  88. package/dist/components/LabelValue/LabelValue_module.css +0 -17
  89. package/dist/components/LabelValueCheckbox/LabelValueCheckbox.d.ts +10 -0
  90. package/dist/components/LabelValueCheckbox/LabelValueCheckbox.js +22 -0
  91. package/dist/components/LabelValueCheckbox/LabelValueCheckbox.module.js +5 -0
  92. package/dist/components/LabelValueCheckbox/LabelValueCheckbox_module.css +5 -0
  93. package/dist/components/LabelValueSelect/Input/Input_module.css +1 -3
  94. package/dist/components/MentionsTextfield/MentionsTextfield.d.ts +1 -1
  95. package/dist/components/MentionsTextfield/MentionsTextfield.js +41 -25
  96. package/dist/components/MentionsTextfield/OptionForStory/OptionForStory.d.ts +7 -0
  97. package/dist/components/MentionsTextfield/OptionForStory/OptionForStory.js +27 -0
  98. package/dist/components/MentionsTextfield/OptionForStory/OptionForStory.module.js +8 -0
  99. package/dist/components/MentionsTextfield/OptionForStory/OptionForStory_module.css +25 -0
  100. package/dist/components/MentionsTextfield/OptionForStory/index.d.ts +1 -0
  101. package/dist/components/MentionsTextfield/OptionForStory/index.js +1 -0
  102. package/dist/components/Multiselect/DropdownContent/MultiselectDropdownContent.js +5 -4
  103. package/dist/components/Multiselect/Input/Input_module.css +1 -3
  104. package/dist/components/Multiselect/Multiselect.d.ts +4 -0
  105. package/dist/components/Select/Combobox/Combobox_module.css +2 -6
  106. package/dist/components/Select/DropDownWithColors/DropDownWithColors.d.ts +1 -0
  107. package/dist/components/Select/DropDownWithColors/DropDownWithColors.js +2 -1
  108. package/dist/components/Select/DropdownActionsContainer/DropdownActionsContainer.d.ts +3 -0
  109. package/dist/components/Select/DropdownActionsContainer/DropdownActionsContainer.js +17 -0
  110. package/dist/components/Select/DropdownActionsContainer/DropdownActionsContainer.module.js +6 -0
  111. package/dist/components/Select/DropdownActionsContainer/DropdownActionsContainer_module.css +12 -0
  112. package/dist/components/Select/OptionsList/OptionsList.d.ts +2 -1
  113. package/dist/components/Select/OptionsList/OptionsList.js +3 -2
  114. package/dist/components/Select/OptionsList/OptionsList_module.css +4 -0
  115. package/dist/components/Select/Select.d.ts +8 -2
  116. package/dist/components/Select/Select.js +29 -34
  117. package/dist/components/Select/Select.module.js +1 -2
  118. package/dist/components/Select/Select_module.css +2 -14
  119. package/dist/components/Select/ShortVariant/ShortVariant.d.ts +5 -1
  120. package/dist/components/Select/ShortVariant/ShortVariant.js +5 -4
  121. package/dist/components/Select/ShortVariant/ShortVariant.module.js +1 -0
  122. package/dist/components/Select/ShortVariant/ShortVariant_module.css +5 -1
  123. package/dist/components/Select/types.d.ts +1 -0
  124. package/dist/components/Select/useDropdownPadding.d.ts +5 -0
  125. package/dist/components/Select/useDropdownPadding.js +22 -0
  126. package/dist/components/Textfield/Textfield.d.ts +18 -2
  127. package/dist/components/Textfield/Textfield.js +37 -13
  128. package/dist/components/Textfield/Textfield.module.js +2 -1
  129. package/dist/components/Textfield/Textfield_module.css +95 -23
  130. package/dist/components/Textfield/components/ActionButton/ActionButton.d.ts +9 -0
  131. package/dist/components/Textfield/components/ActionButton/ActionButton.js +12 -0
  132. package/dist/components/Textfield/components/ActionButton/ActionButton.module.js +9 -0
  133. package/dist/components/Textfield/components/ActionButton/ActionButton_module.css +54 -0
  134. package/dist/components/Textfield/components/ActionButton/index.d.ts +1 -0
  135. package/dist/components/Textfield/components/ActionButton/index.js +1 -0
  136. package/dist/components/Textfield/components/Container/Container.js +6 -3
  137. package/dist/components/Textfield/components/Counter/Counter.d.ts +3 -1
  138. package/dist/components/Textfield/components/Counter/Counter.js +5 -3
  139. package/dist/components/Textfield/components/Info/Info.d.ts +3 -1
  140. package/dist/components/Textfield/components/Info/Info.js +9 -4
  141. package/dist/components/Textfield/components/InnerContainer/InnerContainer.d.ts +3 -6
  142. package/dist/components/Textfield/components/InnerContainer/InnerContainer.js +2 -8
  143. package/dist/components/Textfield/components/InputContainer/InputContainer.d.ts +14 -3
  144. package/dist/components/Textfield/components/InputContainer/InputContainer.js +74 -5
  145. package/dist/components/Textfield/components/InputContainer/InputContainer.module.js +7 -1
  146. package/dist/components/Textfield/components/InputContainer/InputContainer_module.css +36 -7
  147. package/dist/components/Textfield/components/Label/Label.d.ts +2 -0
  148. package/dist/components/Textfield/components/Label/Label.js +11 -5
  149. package/dist/components/Textfield/components/Label/Label_module.css +1 -1
  150. package/dist/components/Textfield/components/ResizeHandle/ResizeHandle.d.ts +10 -0
  151. package/dist/components/Textfield/components/ResizeHandle/ResizeHandle.js +50 -0
  152. package/dist/components/Textfield/components/ResizeHandle/ResizeHandle.module.js +7 -0
  153. package/dist/components/Textfield/components/ResizeHandle/ResizeHandle_module.css +21 -0
  154. package/dist/components/Textfield/components/ResizeHandle/index.d.ts +1 -0
  155. package/dist/components/Textfield/components/ResizeHandle/index.js +1 -0
  156. package/dist/components/Textfield/consts/index.d.ts +2 -0
  157. package/dist/components/Textfield/consts/index.js +3 -0
  158. package/dist/components/Textfield/types/index.d.ts +12 -0
  159. package/dist/components/Textfield/types/index.js +5 -0
  160. package/dist/components/Textfield/utils/index.d.ts +3 -0
  161. package/dist/components/Textfield/utils/index.js +8 -0
  162. package/dist/components/Tooltip/Tooltip.d.ts +4 -1
  163. package/dist/components/Tooltip/Tooltip.js +9 -9
  164. package/dist/components/Tooltip/Tooltip.module.js +3 -1
  165. package/dist/components/Tooltip/Tooltip_module.css +13 -3
  166. package/dist/components/Tooltip/{consts.d.ts → constants/ArrowAlign.d.ts} +0 -2
  167. package/dist/components/Tooltip/constants/TooltipBodyColor.d.ts +4 -0
  168. package/dist/components/Tooltip/constants/TooltipBodyColor.js +5 -0
  169. package/dist/components/Tooltip/constants/index.d.ts +2 -0
  170. package/dist/components/Tooltip/constants/index.js +2 -0
  171. package/dist/components/Tooltip/hooks.d.ts +2 -2
  172. package/dist/components/Tooltip/hooks.js +1 -1
  173. package/dist/components/Tooltip/types.d.ts +4 -0
  174. package/dist/components/Tooltip/types.js +0 -0
  175. package/dist/components/ViewersStack/ViewersStack.d.ts +13 -0
  176. package/dist/components/ViewersStack/ViewersStack.js +77 -0
  177. package/dist/components/ViewersStack/ViewersStack.module.js +7 -0
  178. package/dist/components/ViewersStack/ViewersStack_module.css +18 -0
  179. package/dist/components/ViewersStack/components/Avatar/Avatar.d.ts +13 -0
  180. package/dist/components/ViewersStack/components/Avatar/Avatar.js +35 -0
  181. package/dist/components/ViewersStack/components/Avatar/Avatar.module.js +13 -0
  182. package/dist/components/ViewersStack/components/Avatar/Avatar_module.css +45 -0
  183. package/dist/components/ViewersStack/components/Counter/Counter.d.ts +9 -0
  184. package/dist/components/ViewersStack/components/Counter/Counter.js +27 -0
  185. package/dist/components/ViewersStack/components/Counter/Counter.module.js +5 -0
  186. package/dist/components/ViewersStack/components/Counter/Counter_module.css +20 -0
  187. package/dist/components/ViewersStack/components/ViewersTooltip/ViewersTooltip.d.ts +15 -0
  188. package/dist/components/ViewersStack/components/ViewersTooltip/ViewersTooltip.js +41 -0
  189. package/dist/components/ViewersStack/components/ViewersTooltip/ViewersTooltip.module.js +6 -0
  190. package/dist/components/ViewersStack/components/ViewersTooltip/ViewersTooltip_module.css +14 -0
  191. package/dist/components/ViewersStack/components/ViewersTooltipOverlayItem/ViewersTooltipOverlayItem.d.ts +6 -0
  192. package/dist/components/ViewersStack/components/ViewersTooltipOverlayItem/ViewersTooltipOverlayItem.js +53 -0
  193. package/dist/components/ViewersStack/components/ViewersTooltipOverlayItem/ViewersTooltipOverlayItem.module.js +7 -0
  194. package/dist/components/ViewersStack/components/ViewersTooltipOverlayItem/ViewersTooltipOverlayItem_module.css +18 -0
  195. package/dist/components/ViewersStack/components/common.module.js +7 -0
  196. package/dist/components/ViewersStack/components/common_module.css +27 -0
  197. package/dist/components/ViewersStack/types.d.ts +22 -0
  198. package/dist/components/ViewersStack/types.js +17 -0
  199. package/dist/components/ViewersStack/utils.d.ts +3 -0
  200. package/dist/components/ViewersStack/utils.js +17 -0
  201. package/dist/components/{EditableTitle → _shared/HintWithSkip}/HintWithSkip.d.ts +1 -1
  202. package/dist/components/{EditableTitle → _shared/HintWithSkip}/HintWithSkip.js +1 -1
  203. package/dist/data-grid/Table/Table.d.ts +14 -22
  204. package/dist/data-grid/Table/Table.js +99 -61
  205. package/dist/data-grid/Table/Table.module.js +2 -0
  206. package/dist/data-grid/Table/Table_module.css +23 -0
  207. package/dist/data-grid/Table/components/Body/Body.d.ts +10 -14
  208. package/dist/data-grid/Table/components/Body/Body.js +11 -47
  209. package/dist/data-grid/Table/components/DraggableRow/DraggableRow.js +1 -1
  210. package/dist/data-grid/Table/components/Footer/Footer.module.js +0 -1
  211. package/dist/data-grid/Table/components/Footer/FooterContent.d.ts +9 -0
  212. package/dist/data-grid/Table/components/Footer/{Footer.js → FooterContent.js} +4 -5
  213. package/dist/data-grid/Table/components/Footer/Footer_module.css +0 -5
  214. package/dist/data-grid/Table/components/Header/Header.module.js +0 -1
  215. package/dist/data-grid/Table/components/Header/HeaderCell.js +3 -1
  216. package/dist/data-grid/Table/components/Header/HeaderContent.d.ts +1 -0
  217. package/dist/data-grid/Table/components/Header/{Header.js → HeaderContent.js} +8 -6
  218. package/dist/data-grid/Table/components/Header/Header_module.css +0 -15
  219. package/dist/data-grid/Table/components/Row/Row.d.ts +13 -0
  220. package/dist/data-grid/Table/components/Row/Row.js +40 -0
  221. package/dist/data-grid/Table/components/Row/Row.module.js +14 -0
  222. package/dist/data-grid/Table/components/{TableRow/TableRow_module.css → Row/Row_module.css} +7 -7
  223. package/dist/data-grid/Table/components/SubRows/SubRows.d.ts +5 -4
  224. package/dist/data-grid/Table/components/SubRows/SubRows.js +3 -3
  225. package/dist/data-grid/Table/components/TableCell/TableCell.js +2 -0
  226. package/dist/data-grid/Table/components/TableDragOverlay/TableDragOverlay.d.ts +5 -6
  227. package/dist/data-grid/Table/components/TableDragOverlay/TableDragOverlay.js +2 -2
  228. package/dist/data-grid/Table/components/TableRow/TableRow.d.ts +6 -14
  229. package/dist/data-grid/Table/components/TableRow/TableRow.js +34 -25
  230. package/dist/data-grid/Table/components/VirtualTable/VirtualTable.d.ts +10 -0
  231. package/dist/data-grid/Table/components/VirtualTable/VirtualTable.js +78 -0
  232. package/dist/data-grid/Table/components/VirtualTable/VirtualTableRow.d.ts +11 -0
  233. package/dist/data-grid/Table/components/VirtualTable/VirtualTableRow.js +18 -0
  234. package/dist/data-grid/Table/components/index.d.ts +3 -3
  235. package/dist/data-grid/Table/components/index.js +2 -2
  236. package/dist/data-grid/Table/constants.d.ts +2 -0
  237. package/dist/data-grid/Table/constants.js +3 -1
  238. package/dist/data-grid/Table/hooks/index.d.ts +1 -0
  239. package/dist/data-grid/Table/hooks/index.js +1 -0
  240. package/dist/data-grid/Table/hooks/useRowContext.d.ts +16 -0
  241. package/dist/data-grid/Table/hooks/useRowContext.js +44 -0
  242. package/dist/data-grid/Table/hooks/useTableContext.d.ts +7 -2
  243. package/dist/data-grid/Table/hooks/useTableContext.js +12 -2
  244. package/dist/data-grid/Table/index.d.ts +2 -2
  245. package/dist/data-grid/Table/types.d.ts +8 -1
  246. package/dist/data-grid/Table/types.js +5 -0
  247. package/dist/data-grid/Table/utils/compareColumnIds.d.ts +1 -0
  248. package/dist/data-grid/Table/utils/compareColumnIds.js +6 -0
  249. package/dist/data-grid/Table/utils/getColumnWidthStyles.d.ts +5 -0
  250. package/dist/data-grid/Table/utils/getColumnWidthStyles.js +4 -1
  251. package/dist/data-grid/Table/utils/getTableColumnIds.d.ts +3 -0
  252. package/dist/data-grid/Table/utils/getTableColumnIds.js +5 -0
  253. package/dist/data-grid/Table/utils/index.d.ts +2 -0
  254. package/dist/data-grid/Table/utils/index.js +2 -0
  255. package/dist/data-grid/Table/utils/withDnD.js +1 -1
  256. package/dist/data-grid/base/DropdownItem/DropdownItem.d.ts +3 -3
  257. package/dist/data-grid/base/DropdownItem/DropdownItem.js +3 -2
  258. package/dist/data-grid/base/OverflowHint/OverflowHint.d.ts +1 -0
  259. package/dist/data-grid/base/OverflowHint/OverflowHint.js +5 -3
  260. package/dist/data-grid/base/OverflowHint/utils.d.ts +1 -0
  261. package/dist/data-grid/base/OverflowHint/utils.js +7 -0
  262. package/dist/data-grid/cells/AutoCompleteCell/AutoCompleteCell.js +3 -4
  263. package/dist/data-grid/cells/DecimalCell/DecimalCell_module.css +1 -1
  264. package/dist/data-grid/cells/FileCell/FileCell_module.css +1 -1
  265. package/dist/data-grid/cells/ImageCell/ImageCell.d.ts +1 -0
  266. package/dist/data-grid/cells/ImageCell/ImageCell.js +5 -2
  267. package/dist/data-grid/cells/IndexCheckboxDndCell/IndexCheckboxDndCell.d.ts +7 -2
  268. package/dist/data-grid/cells/IndexCheckboxDndCell/IndexCheckboxDndCell.js +6 -4
  269. package/dist/data-grid/cells/InputCell/InputCell.js +3 -4
  270. package/dist/data-grid/cells/IntegerCell/IntegerCell_module.css +1 -1
  271. package/dist/data-grid/cells/LinkCell/LinkCell_module.css +1 -1
  272. package/dist/data-grid/cells/NameCell/NameCell.js +3 -0
  273. package/dist/data-grid/cells/NameCell/NameCell_module.css +2 -2
  274. package/dist/data-grid/cells/NumberInputCell/NumberInputCell.js +19 -17
  275. package/dist/data-grid/cells/SelectCell/SelectCell.js +3 -4
  276. package/dist/data-grid/cells/TextCell/TextCell_module.css +1 -1
  277. package/dist/data-grid/cells/ToggleCell/ToggleCell_module.css +1 -1
  278. package/dist/data-grid/cells/components/EditableCellWrapper/EditableCellWrapper.d.ts +3 -0
  279. package/dist/data-grid/cells/components/EditableCellWrapper/EditableCellWrapper.js +9 -0
  280. package/dist/data-grid/cells/components/EditableCellWrapper/EditableCellWrapper.module.js +5 -0
  281. package/dist/data-grid/cells/{NumberInputCell/NumberInputCell_module.css → components/EditableCellWrapper/EditableCellWrapper_module.css} +2 -2
  282. package/dist/data-grid/cells/components/EditableCellWrapper/index.d.ts +1 -0
  283. package/dist/data-grid/cells/components/EditableCellWrapper/index.js +1 -0
  284. package/dist/data-grid/cells/components/RowActionsMenu/RowActionsMenu.d.ts +4 -3
  285. package/dist/data-grid/cells/components/RowActionsMenu/RowActionsMenu.js +13 -13
  286. package/dist/data-grid/cells/components/TableInput/TableInput.js +19 -3
  287. package/dist/data-grid/cells/components/TableInput/TableInput_module.css +1 -1
  288. package/dist/data-grid/cells/components/TableNumberInput/TableNumberInput.d.ts +4 -3
  289. package/dist/data-grid/cells/components/TableNumberInput/TableNumberInput.js +44 -55
  290. package/dist/data-grid/cells/components/TableSelect/ActionButton/ActionButton.d.ts +4 -1
  291. package/dist/data-grid/cells/components/TableSelect/ActionButton/ActionButton.js +4 -3
  292. package/dist/data-grid/cells/components/TableSelect/TableSelect.d.ts +15 -10
  293. package/dist/data-grid/cells/components/TableSelect/TableSelect.js +11 -7
  294. package/dist/data-grid/cells/components/index.d.ts +1 -0
  295. package/dist/data-grid/cells/components/index.js +1 -0
  296. package/dist/data-grid/cells/index.d.ts +1 -1
  297. package/dist/data-grid/cells/index.js +1 -1
  298. package/dist/data-grid/headers/PlainTextHeader.js +3 -2
  299. package/dist/data-grid/headers/components/Dropdown/DropdownArrowBtn/DropdownArrowBtn.js +5 -1
  300. package/dist/data-grid/headers/components/Dropdown/Option/Option.d.ts +1 -1
  301. package/dist/data-grid/headers/components/Dropdown/Option/Option.js +2 -2
  302. package/dist/data-grid/headers/components/Dropdown/Option/Option_module.css +10 -2
  303. package/dist/data-grid/headers/components/HeaderBuilder/HeaderBuilder.d.ts +13 -3
  304. package/dist/data-grid/headers/components/HeaderBuilder/HeaderBuilder.js +64 -83
  305. package/dist/data-grid/headers/components/HeaderBuilder/HeaderBuilder.module.js +2 -1
  306. package/dist/data-grid/headers/components/HeaderBuilder/HeaderBuilder_module.css +21 -0
  307. package/dist/data-grid/headers/components/HeaderSortGroups/components/SortByOption/SortByOption.js +7 -15
  308. package/dist/data-grid/headers/components/HideColumn/HideColumn.js +8 -13
  309. package/dist/data-grid/headers/components/ResetFilter/ResetFilter.js +7 -10
  310. package/dist/data-grid/headers/components/ResetFilter/ResetFilter.module.js +0 -1
  311. package/dist/data-grid/headers/components/ResetFilter/ResetFilter_module.css +1 -21
  312. package/dist/data-grid/headers/components/index.d.ts +1 -1
  313. package/dist/data-grid/headers/index.d.ts +1 -1
  314. package/dist/data-grid/headers/types/types.d.ts +1 -0
  315. package/dist/data-grid/types/index.d.ts +1 -0
  316. package/dist/data-grid/utils/isOverflowed.js +21 -1
  317. package/dist/hooks/useDebounceCallback/useDebounceCallback.d.ts +2 -0
  318. package/dist/hooks/useDebounceCallback/useDebounceCallback.js +21 -0
  319. package/dist/hooks/useDismissOnFocusOutside/index.d.ts +2 -1
  320. package/dist/hooks/useDismissOnFocusOutside/index.js +4 -3
  321. package/dist/hooks/useDismissOnOutsideClick/index.d.ts +2 -1
  322. package/dist/hooks/useDismissOnOutsideClick/index.js +4 -3
  323. package/dist/hooks/useTextField/useTextField.d.ts +4 -5
  324. package/dist/hooks/useTextField/useTextField.js +6 -24
  325. package/dist/hooks/useUnmount/useUnmount.d.ts +1 -0
  326. package/dist/hooks/useUnmount/useUnmount.js +9 -0
  327. package/dist/icon/components/MyApps12Icon.d.ts +8 -0
  328. package/dist/icon/components/MyApps12Icon.js +18 -0
  329. package/dist/icon/components/MyApps16Icon.d.ts +8 -0
  330. package/dist/icon/components/MyApps16Icon.js +17 -0
  331. package/dist/icon/components/MyApps20Icon.d.ts +8 -0
  332. package/dist/icon/components/MyApps20Icon.js +18 -0
  333. package/dist/icon/components/Smile12Icon.d.ts +8 -0
  334. package/dist/icon/components/Smile12Icon.js +17 -0
  335. package/dist/icon/components/Smile16Icon.d.ts +8 -0
  336. package/dist/icon/components/Smile16Icon.js +16 -0
  337. package/dist/icon/components/Smile20Icon.d.ts +8 -0
  338. package/dist/icon/components/Smile20Icon.js +17 -0
  339. package/dist/icon/index.d.ts +6 -0
  340. package/dist/icon/index.js +6 -0
  341. package/dist/index.d.ts +4 -4
  342. package/dist/index.js +3 -1
  343. package/dist/utils/debounce/debounce.d.ts +10 -0
  344. package/dist/utils/debounce/debounce.js +73 -0
  345. package/dist/utils/isRecordEqual/isRecordEqual.d.ts +1 -0
  346. package/dist/utils/isRecordEqual/isRecordEqual.js +9 -0
  347. package/dist/utils/utils.d.ts +2 -0
  348. package/dist/utils/utils.js +2 -0
  349. package/package.json +22 -3
  350. package/dist/components/LabelValue/HelpButton/HelpButton.module.js +0 -8
  351. package/dist/components/LabelValue/HelpButton/HelpButton_module.css +0 -44
  352. package/dist/components/LabelValue/HelpButton/index.d.ts +0 -8
  353. package/dist/components/LabelValue/HelpButton/index.js +0 -36
  354. package/dist/components/Textfield/components/ClearIcon/ClearIcon.d.ts +0 -6
  355. package/dist/components/Textfield/components/ClearIcon/ClearIcon.js +0 -13
  356. package/dist/components/Textfield/components/ClearIcon/ClearIcon.module.js +0 -6
  357. package/dist/components/Textfield/components/ClearIcon/ClearIcon_module.css +0 -11
  358. package/dist/data-grid/Table/components/Footer/Footer.d.ts +0 -9
  359. package/dist/data-grid/Table/components/Header/Header.d.ts +0 -8
  360. package/dist/data-grid/Table/components/TableRow/TableRow.module.js +0 -14
  361. package/dist/data-grid/cells/AutoCompleteCell/AutoCompleteCell.module.js +0 -5
  362. package/dist/data-grid/cells/AutoCompleteCell/AutoCompleteCell_module.css +0 -8
  363. package/dist/data-grid/cells/InputCell/InputCell.module.js +0 -5
  364. package/dist/data-grid/cells/InputCell/InputCell_module.css +0 -8
  365. package/dist/data-grid/cells/NumberInputCell/NumberInputCell.module.js +0 -5
  366. package/dist/data-grid/cells/SelectCell/SelectCell.module.js +0 -8
  367. package/dist/data-grid/cells/SelectCell/SelectCell_module.css +0 -33
  368. package/dist/data-grid/headers/components/HeaderSortGroups/components/SortByOption/SortByOption.module.js +0 -7
  369. package/dist/data-grid/headers/components/HeaderSortGroups/components/SortByOption/SortByOption_module.css +0 -22
  370. package/dist/data-grid/headers/components/HideColumn/HideColumn.module.js +0 -6
  371. package/dist/data-grid/headers/components/HideColumn/HideColumn_module.css +0 -20
  372. /package/dist/components/Tooltip/{consts.js → constants/ArrowAlign.js} +0 -0
@@ -0,0 +1,27 @@
1
+ .wrapper-PSBfa1 {
2
+ justify-content: center;
3
+ align-items: center;
4
+ display: flex;
5
+ position: relative;
6
+ }
7
+
8
+ .text-sRc9nc {
9
+ pointer-events: none;
10
+ z-index: calc(var(--scaled-item-z-index) - 1);
11
+ position: absolute;
12
+ }
13
+
14
+ .wrapper-PSBfa1:hover .text-sRc9nc {
15
+ z-index: var(--scaled-item-z-index);
16
+ }
17
+
18
+ .animated-R8DWjF {
19
+ transform-origin: center;
20
+ transition: transform .2s ease-in-out;
21
+ }
22
+
23
+ .animated-R8DWjF:hover {
24
+ z-index: var(--scaled-item-z-index);
25
+ transform: scale(1.1);
26
+ }
27
+
@@ -0,0 +1,22 @@
1
+ import type { ValueOf } from '../../common';
2
+ export declare const Size: {
3
+ readonly M: "m";
4
+ readonly L: "l";
5
+ };
6
+ export type SizeValue = ValueOf<typeof Size>;
7
+ export declare const Color: {
8
+ readonly GREEN: "green";
9
+ readonly YELLOW: "yellow";
10
+ readonly PINK: "pink";
11
+ readonly VIOLET: "violet";
12
+ };
13
+ export type ColorValue = ValueOf<typeof Color>;
14
+ export declare const COLORS: ColorValue[];
15
+ export type Viewer = {
16
+ id: string;
17
+ label: string;
18
+ image?: string;
19
+ };
20
+ export type ColoredViewer = Viewer & {
21
+ color?: ColorValue;
22
+ };
@@ -0,0 +1,17 @@
1
+ const Size = {
2
+ M: 'm',
3
+ L: 'l'
4
+ };
5
+ const Color = {
6
+ GREEN: 'green',
7
+ YELLOW: 'yellow',
8
+ PINK: 'pink',
9
+ VIOLET: 'violet'
10
+ };
11
+ const COLORS = [
12
+ Color.GREEN,
13
+ Color.YELLOW,
14
+ Color.PINK,
15
+ Color.VIOLET
16
+ ];
17
+ export { COLORS, Color, Size };
@@ -0,0 +1,3 @@
1
+ import type { CSSProperties } from 'react';
2
+ export declare const getColorById: <T = string>(id: string, colors: T[]) => T;
3
+ export declare const getScaledItemZIndexStyle: (tooltipZIndex: number) => CSSProperties;
@@ -0,0 +1,17 @@
1
+ const generateHash = (input)=>{
2
+ let hash = 0;
3
+ for (const char of input){
4
+ hash = (hash << 5) - hash + char.charCodeAt(0);
5
+ hash |= 0;
6
+ }
7
+ return hash;
8
+ };
9
+ const getColorById = (id, colors)=>{
10
+ const hash = generateHash(id);
11
+ const colorIndex = Math.abs(hash) % colors.length;
12
+ return colors[colorIndex];
13
+ };
14
+ const getScaledItemZIndexStyle = (tooltipZIndex)=>({
15
+ '--scaled-item-z-index': tooltipZIndex - 1
16
+ });
17
+ export { getColorById, getScaledItemZIndexStyle };
@@ -1,5 +1,5 @@
1
1
  import type { FC } from 'react';
2
- import { type HintProps } from '../Hint/Hint';
2
+ import { type HintProps } from '../../Hint/Hint';
3
3
  interface HintWithSkipProps extends HintProps {
4
4
  skip?: boolean;
5
5
  }
@@ -1,5 +1,5 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { Hint } from "../Hint/Hint.js";
2
+ import { Hint } from "../../Hint/Hint.js";
3
3
  const HintWithSkip = ({ skip = false, ...hintProps })=>{
4
4
  if (skip) return hintProps.children;
5
5
  return /*#__PURE__*/ jsx(Hint, {
@@ -1,54 +1,46 @@
1
1
  import React, { type CSSProperties, type ReactNode } from 'react';
2
- import type { ColumnSizingState, Row, RowData, Table as TanstackTable, VisibilityState } from '@tanstack/react-table';
3
- import type { ValueOf } from '../../common';
4
- import { TableRowSize } from '../types';
5
- import { type HighlightedRowColor } from './components';
6
- import type { DnDConfig, TFooterToggleConfig, WithRowClickLink } from './types';
2
+ import type { ListRange } from 'react-virtuoso';
3
+ import type { ColumnSizingState, Row, RowData, Table as TanstackTable } from '@tanstack/react-table';
4
+ import { type TableRowSizeValue } from '../types';
5
+ import { type DnDConfig, type HighlightedRowColor, type RowClickCallOrderValue, type TFooterToggleConfig, type WithRowClickLink } from './types';
7
6
  declare module '@tanstack/react-table' {
8
7
  interface TableMeta<TData extends RowData> {
9
8
  updateData?: (rowIndex: number, columnId: string, value: unknown) => void;
10
9
  onSelectAll?: () => void;
10
+ [key: string]: unknown;
11
11
  }
12
12
  }
13
13
  export type TableProps<T extends WithRowClickLink> = {
14
14
  wrapperClassName?: string;
15
15
  className?: string;
16
16
  isLoading: boolean;
17
- /**
18
- * @deprecated Используется table.getState().rowSelection
19
- */
20
- rowSelection?: Record<string, boolean>;
21
- /**
22
- * @deprecated Используется table.getState().columnVisibility
23
- */
24
- columnVisibility?: VisibilityState;
25
17
  dataTestId?: string;
26
18
  pagination?: ReactNode;
27
19
  footerToggleConfig?: TFooterToggleConfig;
28
20
  tableHeightCalcDeps?: unknown[];
29
21
  bottomOffset?: number;
30
22
  table: TanstackTable<T>;
31
- /**
32
- * @deprecated Согласно дизайну строки доходят до правой границы контейнера
33
- */
34
- fillContainerSpace?: boolean;
35
- /**
36
- * @deprecated Согласно дизайну таблица принимает 100% от ширины родителя
37
- */
38
23
  fullWidth?: boolean;
39
24
  fullHeight?: boolean;
40
25
  dndConfig?: DnDConfig;
41
26
  renderRowContent?: (row: Row<T>) => ReactNode;
42
27
  getRowHighlightColor?: (row: Row<T>) => HighlightedRowColor | undefined;
43
28
  onRowClick?: (row: Row<T>) => void;
29
+ rowClickCallOrder?: RowClickCallOrderValue;
44
30
  onResizeColumn?: (sizing: ColumnSizingState) => void;
45
31
  headerStyle?: CSSProperties;
46
32
  isAdaptiveSizeColumns?: boolean;
47
- rowSize?: ValueOf<typeof TableRowSize>;
33
+ rowSize?: TableRowSizeValue;
34
+ isVirtualization?: boolean;
35
+ overscan?: number | {
36
+ main: number;
37
+ reverse: number;
38
+ };
39
+ rangeChanged?: (range: ListRange) => void;
48
40
  };
49
41
  type TableInnerProps<T extends WithRowClickLink> = TableProps<T> & {
50
42
  activeRowId?: string | null;
51
43
  };
52
- export declare const TableComponent: <T extends WithRowClickLink>({ wrapperClassName, className, isLoading, dataTestId, pagination, footerToggleConfig, tableHeightCalcDeps, bottomOffset, table, fullHeight, dndConfig, renderRowContent, onRowClick, onResizeColumn, headerStyle, isAdaptiveSizeColumns, rowSize, getRowHighlightColor, activeRowId, }: TableInnerProps<T>) => import("react/jsx-runtime").JSX.Element;
44
+ export declare const TableComponent: <T extends WithRowClickLink>({ wrapperClassName, className, isLoading, dataTestId, pagination, footerToggleConfig, tableHeightCalcDeps, bottomOffset, table, fullHeight, dndConfig, renderRowContent, onRowClick, rowClickCallOrder, onResizeColumn, headerStyle, isAdaptiveSizeColumns, rowSize, getRowHighlightColor, activeRowId, isVirtualization, overscan, rangeChanged, }: TableInnerProps<T>) => import("react/jsx-runtime").JSX.Element;
53
45
  export declare const Table: <T extends WithRowClickLink>(props: TableProps<T>) => React.JSX.Element;
54
46
  export {};
@@ -1,20 +1,23 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
2
  import { useRef } from "react";
3
3
  import { cn } from "../../common/css/cn.js";
4
4
  import { TableRowSize } from "../types/index.js";
5
- import { Body, Footer, Header, TableDragOverlay, TotalsToggle } from "./components/index.js";
6
- import { TableContextProvider, useColumnSizes, useIntersection, useRect, useTableHeight } from "./hooks/index.js";
7
- import { withDnD } from "./utils/index.js";
5
+ import { Body } from "./components/Body/Body.js";
6
+ import { FooterContent } from "./components/Footer/FooterContent.js";
7
+ import { HeaderContent } from "./components/Header/HeaderContent.js";
8
+ import { TableDragOverlay } from "./components/TableDragOverlay/TableDragOverlay.js";
9
+ import { TableRow } from "./components/TableRow/TableRow.js";
10
+ import { TotalsToggle } from "./components/TotalsToggle/TotalsToggle.js";
11
+ import { VirtualTable } from "./components/VirtualTable/VirtualTable.js";
12
+ import { RowContextProvider, TableContextProvider, useColumnSizes, useIntersection, useRect, useTableHeight } from "./hooks/index.js";
13
+ import { RowClickCallOrder } from "./types.js";
14
+ import { getTableColumnIds, withDnD } from "./utils/index.js";
8
15
  import Table_module from "./Table.module.js";
9
- const TableComponent = ({ wrapperClassName, className, isLoading, dataTestId, pagination, footerToggleConfig, tableHeightCalcDeps = [], bottomOffset = 0, table, fullHeight = true, dndConfig, renderRowContent, onRowClick, onResizeColumn, headerStyle, isAdaptiveSizeColumns = true, rowSize = TableRowSize.Comfort, getRowHighlightColor, activeRowId })=>{
16
+ const TableComponent = ({ wrapperClassName, className, isLoading, dataTestId, pagination, footerToggleConfig, tableHeightCalcDeps = [], bottomOffset = 0, table, fullHeight = true, dndConfig, renderRowContent, onRowClick, rowClickCallOrder = RowClickCallOrder.Default, onResizeColumn, headerStyle, isAdaptiveSizeColumns = true, rowSize = TableRowSize.Comfort, getRowHighlightColor, activeRowId, isVirtualization = false, overscan = 5, rangeChanged })=>{
10
17
  const { rows } = table.getRowModel();
11
- const headerGroups = table.getHeaderGroups();
12
- const footerGroups = table.getFooterGroups();
13
- const footers = footerGroups.map((group)=>group.headers.map((header)=>header.column.columnDef.footer)).flat().filter(Boolean);
14
- const hasFooters = footers.length > 0;
15
- const isTotalsToggleVisible = hasFooters && footerToggleConfig?.showTotalsToggle;
18
+ const { columnVisibility, rowSelection } = table.getState();
19
+ const columnIds = getTableColumnIds(table);
16
20
  const tableWrapperRef = useRef(null);
17
- const tableRef = useRef(null);
18
21
  const rect = useRect(tableWrapperRef);
19
22
  const tableWrapperRefIntersectionObserver = useIntersection(tableWrapperRef, {
20
23
  threshold: 1
@@ -32,63 +35,98 @@ const TableComponent = ({ wrapperClassName, className, isLoading, dataTestId, pa
32
35
  });
33
36
  const columnSizeVars = useColumnSizes(table, isAdaptiveSizeColumns);
34
37
  const isDragging = Boolean(activeRowId);
38
+ const tableWrapperStyles = fullHeight ? {
39
+ ...columnSizeVars,
40
+ height: maxHeight,
41
+ minHeight
42
+ } : {
43
+ ...columnSizeVars
44
+ };
45
+ const virtualTableProps = fullHeight ? {
46
+ customScrollParent: tableWrapperRef?.current ?? void 0
47
+ } : {
48
+ useWindowScroll: true
49
+ };
50
+ const getFooterContent = ()=>{
51
+ const footerGroups = table.getFooterGroups();
52
+ const footers = footerGroups.map((group)=>group.headers.map((header)=>header.column.columnDef.footer)).flat().filter(Boolean);
53
+ const hasFooters = footers.length > 0;
54
+ const isTotalsToggleVisible = hasFooters && footerToggleConfig?.showTotalsToggle;
55
+ if (hasFooters || pagination || isTotalsToggleVisible) return /*#__PURE__*/ jsx(FooterContent, {
56
+ footerGroups: footerGroups,
57
+ isEmptyFooter: isTotalsToggleVisible,
58
+ children: /*#__PURE__*/ jsxs("div", {
59
+ className: Table_module.footerControlBar,
60
+ children: [
61
+ pagination,
62
+ isTotalsToggleVisible && /*#__PURE__*/ jsx(TotalsToggle, {
63
+ onClick: footerToggleConfig.handleOnShow,
64
+ label: footerToggleConfig.label,
65
+ testId: `${dataTestId}-totals-toggle`
66
+ })
67
+ ]
68
+ })
69
+ });
70
+ return null;
71
+ };
72
+ const footerContent = getFooterContent();
35
73
  return /*#__PURE__*/ jsx(TableContextProvider, {
36
- table: table,
74
+ className: className,
75
+ isLoading: isLoading,
37
76
  onResizeColumn: onResizeColumn,
38
- children: /*#__PURE__*/ jsxs("div", {
39
- className: Table_module.container,
77
+ rowSize: rowSize,
78
+ table: table,
79
+ headerStyle: headerStyle,
80
+ children: /*#__PURE__*/ jsxs(RowContextProvider, {
81
+ draggingZIndex: dndConfig?.draggingZIndex,
82
+ enableRowOrdering: dndConfig?.enableRowOrdering,
83
+ getRowHighlightColor: getRowHighlightColor,
84
+ onRowClick: onRowClick,
85
+ rowClickCallOrder: rowClickCallOrder,
86
+ renderRowContent: renderRowContent,
40
87
  children: [
41
- isLoading && /*#__PURE__*/ jsx("div", {
42
- className: Table_module.spinner,
43
- "data-test-id": `${dataTestId}-spinner`
44
- }),
45
88
  /*#__PURE__*/ jsxs("div", {
46
- className: cn(Table_module.tableWrapper, wrapperClassName ?? ''),
47
- ref: tableWrapperRef,
48
- "data-test-id": dataTestId,
49
- "data-dnd-dragging": isDragging || void 0,
50
- style: fullHeight ? {
51
- height: maxHeight,
52
- minHeight
53
- } : {},
89
+ className: Table_module.container,
54
90
  children: [
55
- /*#__PURE__*/ jsxs("table", {
56
- ref: tableRef,
57
- style: columnSizeVars,
58
- className: cn(Table_module.table, className ?? ''),
59
- "data-row-height": rowSize,
60
- children: [
61
- /*#__PURE__*/ jsx(Header, {
62
- headerGroups: headerGroups,
63
- style: headerStyle
64
- }),
65
- /*#__PURE__*/ jsx(Body, {
66
- columnVisibility: table.getState().columnVisibility,
67
- rows: rows,
68
- isLoading: isLoading,
69
- rowSelection: table.getState().rowSelection,
70
- dndConfig: dndConfig,
71
- renderRowContent: renderRowContent,
72
- onRowClick: onRowClick,
73
- getRowHighlightColor: getRowHighlightColor
74
- })
75
- ]
91
+ isLoading && /*#__PURE__*/ jsx("div", {
92
+ className: Table_module.spinner,
93
+ "data-test-id": `${dataTestId}-spinner`
76
94
  }),
77
- (hasFooters || pagination || isTotalsToggleVisible) && /*#__PURE__*/ jsx("table", {
78
- style: columnSizeVars,
79
- className: cn(Table_module.table, Table_module.footerTable, className ?? ''),
80
- "data-row-height": rowSize,
81
- children: /*#__PURE__*/ jsx(Footer, {
82
- footerGroups: footerGroups,
83
- isEmptyFooter: isTotalsToggleVisible,
84
- children: /*#__PURE__*/ jsxs("div", {
85
- className: Table_module.footerControlBar,
95
+ /*#__PURE__*/ jsx("div", {
96
+ ref: tableWrapperRef,
97
+ className: cn(Table_module.tableWrapper, wrapperClassName),
98
+ style: tableWrapperStyles,
99
+ "data-test-id": dataTestId,
100
+ "data-dnd-dragging": isDragging || void 0,
101
+ children: isVirtualization ? /*#__PURE__*/ jsx(VirtualTable, {
102
+ footerContent: footerContent,
103
+ overscan: overscan,
104
+ rangeChanged: rangeChanged,
105
+ ...virtualTableProps
106
+ }) : /*#__PURE__*/ jsx(Fragment, {
107
+ children: /*#__PURE__*/ jsxs("table", {
108
+ "data-row-height": rowSize,
109
+ style: columnSizeVars,
110
+ className: cn(Table_module.table, className),
86
111
  children: [
87
- pagination,
88
- isTotalsToggleVisible && /*#__PURE__*/ jsx(TotalsToggle, {
89
- onClick: footerToggleConfig.handleOnShow,
90
- label: footerToggleConfig.label,
91
- testId: `${dataTestId}-totals-toggle`
112
+ /*#__PURE__*/ jsx("thead", {
113
+ className: Table_module.thead,
114
+ style: headerStyle,
115
+ children: /*#__PURE__*/ jsx(HeaderContent, {})
116
+ }),
117
+ /*#__PURE__*/ jsx(Body, {
118
+ isLoading: isLoading,
119
+ rows: rows,
120
+ columnVisibility: columnVisibility,
121
+ columnIds: columnIds,
122
+ rowSelection: rowSelection,
123
+ children: rows.map((row)=>/*#__PURE__*/ jsx(TableRow, {
124
+ row: row
125
+ }, row.id))
126
+ }),
127
+ footerContent && /*#__PURE__*/ jsx("tfoot", {
128
+ className: Table_module.tfoot,
129
+ children: footerContent
92
130
  })
93
131
  ]
94
132
  })
@@ -3,6 +3,8 @@ const Table_module = {
3
3
  container: "container-Aa44t5",
4
4
  tableWrapper: "tableWrapper-alPFf4",
5
5
  table: "table-ltDBYw",
6
+ thead: "thead-KKRmHF",
7
+ tfoot: "tfoot-YTLtwD",
6
8
  footerTable: "footerTable-__XFnr",
7
9
  footerControlBar: "footerControlBar-JmhT5T",
8
10
  spinner: "spinner-MztZm2",
@@ -47,6 +47,29 @@
47
47
  --cell-padding-bottom: 2px;
48
48
  }
49
49
 
50
+ .thead-KKRmHF {
51
+ z-index: 1;
52
+ background: var(--light-white);
53
+ position: sticky;
54
+ inset-block-start: 0;
55
+ }
56
+
57
+ .thead-KKRmHF:after {
58
+ background: var(--light-grey-400);
59
+ content: "";
60
+ width: 100%;
61
+ height: 1px;
62
+ position: absolute;
63
+ }
64
+
65
+ .tfoot-YTLtwD {
66
+ box-shadow: 0 -1px 0 0 var(--light-grey-400),0 2px 0 0 var(--light-white);
67
+ background-color: var(--light-white);
68
+ margin-top: auto;
69
+ position: sticky;
70
+ inset-block-end: 0;
71
+ }
72
+
50
73
  .footerTable-__XFnr {
51
74
  margin-top: auto;
52
75
  position: sticky;
@@ -1,17 +1,13 @@
1
- import { type ReactNode } from 'react';
1
+ import { type PropsWithChildren } from 'react';
2
2
  import type { Row, VisibilityState } from '@tanstack/react-table';
3
- import type { DnDConfig, WithRowClickLink } from '../../types';
4
- import { type HighlightedRowColor } from '../TableRow/TableRow';
5
- type Props<T extends WithRowClickLink> = {
6
- rows: Row<T>[];
3
+ import type { WithRowClickLink } from '../../types';
4
+ export type Props<T extends WithRowClickLink> = PropsWithChildren<{
7
5
  isLoading: boolean;
8
- rowSelection?: Record<string, boolean>;
9
- columnVisibility?: VisibilityState;
10
- dndConfig?: DnDConfig;
11
- renderRowContent?: (row: Row<T>) => ReactNode;
12
- getRowHighlightColor?: (row: Row<T>) => HighlightedRowColor | undefined;
13
- onRowClick?: (row: Row<T>) => void;
14
- };
15
- export declare const BodyComponent: <T extends WithRowClickLink>({ rows, isLoading, dndConfig, renderRowContent, getRowHighlightColor, onRowClick, }: Props<T>) => import("react/jsx-runtime").JSX.Element;
6
+ rowSelection: Record<string, boolean>;
7
+ columnVisibility: VisibilityState;
8
+ columnIds: string[];
9
+ rows: Row<T>[];
10
+ }>;
11
+ export declare function areEqual<T extends WithRowClickLink>(prevProps: Props<T>, nextProps: Props<T>): boolean;
12
+ export declare const BodyComponent: <T extends WithRowClickLink>({ children, isLoading, }: Props<T>) => import("react/jsx-runtime").JSX.Element;
16
13
  export declare const Body: <T extends WithRowClickLink>(props: Props<T>) => JSX.Element;
17
- export {};
@@ -1,56 +1,20 @@
1
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
- import { Fragment as external_react_Fragment, memo } from "react";
3
- import lodash_isequal from "lodash.isequal";
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { memo } from "react";
4
3
  import { cn } from "../../../../common/css/cn.js";
5
- import { SubRows } from "../SubRows/SubRows.js";
6
- import { TableCell } from "../TableCell/TableCell.js";
7
- import { TableRow } from "../TableRow/TableRow.js";
8
- import { TableSpacerCell } from "../TableSpacerCell/TableSpacerCell.js";
4
+ import { isRecordEqual } from "../../../../utils/index.js";
5
+ import { compareColumnIds } from "../../utils/index.js";
9
6
  import Body_module from "./Body.module.js";
10
7
  function areEqual(prevProps, nextProps) {
11
8
  const isLoadingEqual = prevProps.isLoading === nextProps.isLoading;
12
9
  const isRowsEqual = Object.is(prevProps.rows, nextProps.rows);
13
- const isColumnVisibilityEqual = lodash_isequal(prevProps.columnVisibility, nextProps.columnVisibility);
14
- const isSelectionEqual = lodash_isequal(prevProps.rowSelection, nextProps.rowSelection);
15
- const isRowHighlightEqual = prevProps.getRowHighlightColor === nextProps.getRowHighlightColor;
16
- return isLoadingEqual && isRowsEqual && isSelectionEqual && isColumnVisibilityEqual && isRowHighlightEqual;
10
+ const isColumnVisibilityEqual = isRecordEqual(prevProps.columnVisibility, nextProps.columnVisibility);
11
+ const isSelectionEqual = isRecordEqual(prevProps.rowSelection, nextProps.rowSelection);
12
+ const isColumnsListEqual = compareColumnIds(prevProps.columnIds, nextProps.columnIds);
13
+ return isLoadingEqual && isRowsEqual && isSelectionEqual && isColumnVisibilityEqual && isColumnsListEqual;
17
14
  }
18
- const BodyComponent = ({ rows, isLoading, dndConfig, renderRowContent, getRowHighlightColor, onRowClick })=>{
19
- const getRowClickHandler = (row)=>(e)=>{
20
- const cellText = document.getSelection();
21
- if (cellText && 'Range' === cellText.type) return e.stopPropagation();
22
- onRowClick?.(row);
23
- if ('function' == typeof row.original?.onRowClick) return row.original.onRowClick();
24
- };
25
- return /*#__PURE__*/ jsx("tbody", {
15
+ const BodyComponent = ({ children, isLoading })=>/*#__PURE__*/ jsx("tbody", {
26
16
  className: cn(isLoading && Body_module.active),
27
- children: rows.map((row)=>/*#__PURE__*/ jsxs(external_react_Fragment, {
28
- children: [
29
- /*#__PURE__*/ jsx(TableRow, {
30
- getRowHighlightColor: getRowHighlightColor,
31
- row: row,
32
- dndConfig: dndConfig,
33
- onClick: getRowClickHandler(row),
34
- children: renderRowContent ? /*#__PURE__*/ jsx(TableCell, {
35
- colSpan: row.getVisibleCells().length + 1,
36
- children: renderRowContent(row)
37
- }) : /*#__PURE__*/ jsxs(Fragment, {
38
- children: [
39
- row.getVisibleCells().map((cell)=>/*#__PURE__*/ jsx(TableCell, {
40
- cell: cell
41
- }, cell.id)),
42
- /*#__PURE__*/ jsx(TableSpacerCell, {
43
- variant: "body"
44
- })
45
- ]
46
- })
47
- }),
48
- /*#__PURE__*/ jsx(SubRows, {
49
- row: row
50
- })
51
- ]
52
- }, row.id))
17
+ children: children
53
18
  });
54
- };
55
19
  const Body = /*#__PURE__*/ memo(BodyComponent, areEqual);
56
- export { Body, BodyComponent };
20
+ export { Body, BodyComponent, areEqual };
@@ -15,10 +15,10 @@ const DraggableRowComponent = ({ row, children, className, draggingZIndex = 10,
15
15
  zIndex: isDragging ? draggingZIndex : void 0
16
16
  };
17
17
  return /*#__PURE__*/ jsx("tr", {
18
+ "data-is-dragging": isDragging,
18
19
  ...restProps,
19
20
  ref: setNodeRef,
20
21
  style: style,
21
- "data-is-dragging": isDragging,
22
22
  className: cn(className, DraggableRow_module.draggableRow, isDragging && DraggableRow_module.dragging),
23
23
  children: children
24
24
  });
@@ -1,6 +1,5 @@
1
1
  import "./Footer_module.css";
2
2
  const Footer_module = {
3
- tableFoot: "tableFoot-wZHDlK",
4
3
  tableFootRow: "tableFootRow-Hsy6XO",
5
4
  noPadding: "noPadding-OmAUxA"
6
5
  };
@@ -0,0 +1,9 @@
1
+ import { type PropsWithChildren } from 'react';
2
+ import { type HeaderGroup } from '@tanstack/react-table';
3
+ type Props<T> = {
4
+ footerGroups: HeaderGroup<T>[];
5
+ isEmptyFooter?: boolean;
6
+ };
7
+ export declare const FooterContentComponent: <T>({ footerGroups, isEmptyFooter, children, }: PropsWithChildren<Props<T>>) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const FooterContent: <T>(props: PropsWithChildren<Props<T>>) => JSX.Element;
9
+ export {};
@@ -1,11 +1,10 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
2
  import { memo } from "react";
3
3
  import { flexRender } from "@tanstack/react-table";
4
4
  import { getColumnWidthStyles } from "../../utils/index.js";
5
5
  import { TableSpacerCell } from "../TableSpacerCell/TableSpacerCell.js";
6
6
  import Footer_module from "./Footer.module.js";
7
- const FooterComponent = ({ footerGroups, isEmptyFooter = false, children })=>/*#__PURE__*/ jsxs("tfoot", {
8
- className: Footer_module.tableFoot,
7
+ const FooterContentComponent = ({ footerGroups, isEmptyFooter = false, children })=>/*#__PURE__*/ jsxs(Fragment, {
9
8
  children: [
10
9
  footerGroups.map((footerGroup)=>/*#__PURE__*/ jsxs("tr", {
11
10
  className: Footer_module.tableFootRow,
@@ -35,5 +34,5 @@ const FooterComponent = ({ footerGroups, isEmptyFooter = false, children })=>/*#
35
34
  })
36
35
  ]
37
36
  });
38
- const Footer = /*#__PURE__*/ memo(FooterComponent);
39
- export { Footer, FooterComponent };
37
+ const FooterContent = /*#__PURE__*/ memo(FooterContentComponent);
38
+ export { FooterContent, FooterContentComponent };
@@ -1,8 +1,3 @@
1
- .tableFoot-wZHDlK {
2
- box-shadow: 0 -1px 0 0 var(--light-grey-400),0 2px 0 0 var(--light-white);
3
- background-color: var(--light-white);
4
- }
5
-
6
1
  .tableFootRow-Hsy6XO {
7
2
  height: 32px;
8
3
  }
@@ -1,6 +1,5 @@
1
1
  import "./Header_module.css";
2
2
  const Header_module = {
3
- head: "head-VWzWMr",
4
3
  tableHead: "tableHead-GJzEFt",
5
4
  resizer: "resizer-UPOmzG"
6
5
  };
@@ -1,12 +1,14 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { flexRender } from "@tanstack/react-table";
3
+ import { getColumnDefMeta } from "../../../headers/index.js";
3
4
  import { useColumnResizeHandler } from "../../hooks/index.js";
4
5
  import { getColumnWidthStyles } from "../../utils/index.js";
5
6
  import Header_module from "./Header.module.js";
6
7
  const HeaderCell = ({ header })=>{
7
8
  const { id, column } = header;
9
+ const { isHidden } = getColumnDefMeta(column);
10
+ const isEnabledResize = column.getCanResize() && !isHidden;
8
11
  const resizeHandler = useColumnResizeHandler(header);
9
- const isEnabledResize = column.getCanResize();
10
12
  const sizeStyles = getColumnWidthStyles({
11
13
  column
12
14
  });
@@ -0,0 +1 @@
1
+ export declare const HeaderContent: <T>() => import("react/jsx-runtime").JSX.Element;
@@ -1,10 +1,11 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import { useTableContext } from "../../hooks/index.js";
2
3
  import { TableSpacerCell } from "../TableSpacerCell/TableSpacerCell.js";
3
4
  import { HeaderCell } from "./HeaderCell.js";
4
- import Header_module from "./Header.module.js";
5
- const Header = ({ headerGroups, style })=>/*#__PURE__*/ jsx("thead", {
6
- style: style,
7
- className: Header_module.head,
5
+ const HeaderContent = ()=>{
6
+ const { table } = useTableContext();
7
+ const headerGroups = table.getHeaderGroups();
8
+ return /*#__PURE__*/ jsx(Fragment, {
8
9
  children: headerGroups.map((headerGroup)=>/*#__PURE__*/ jsxs("tr", {
9
10
  children: [
10
11
  headerGroup.headers.map((header)=>/*#__PURE__*/ jsx(HeaderCell, {
@@ -17,4 +18,5 @@ const Header = ({ headerGroups, style })=>/*#__PURE__*/ jsx("thead", {
17
18
  ]
18
19
  }, headerGroup.id))
19
20
  });
20
- export { Header };
21
+ };
22
+ export { HeaderContent };
@@ -1,18 +1,3 @@
1
- .head-VWzWMr {
2
- z-index: 1;
3
- background: var(--light-white);
4
- position: sticky;
5
- inset-block-start: 0;
6
- }
7
-
8
- .head-VWzWMr:after {
9
- background: var(--light-grey-400);
10
- content: "";
11
- width: 100%;
12
- height: 1px;
13
- position: absolute;
14
- }
15
-
16
1
  .tableHead-GJzEFt {
17
2
  height: 32px;
18
3
  padding: 0;