@infinite-table/infinite-react 0.5.0 → 0.5.2

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 (282) hide show
  1. package/README.md +104 -0
  2. package/index.css +896 -0
  3. package/index.d.ts +2264 -0
  4. package/index.esm.css +896 -0
  5. package/index.esm.js +15404 -0
  6. package/index.js +15240 -0
  7. package/package.json +9 -94
  8. package/.vscode/settings.json +0 -3
  9. package/API.md +0 -0
  10. package/build/buildPackageJson.js +0 -43
  11. package/build/scripts/test.js +0 -37
  12. package/bundler.config.js +0 -25
  13. package/globals.d.ts +0 -7
  14. package/rollup.config.js +0 -15
  15. package/run-build-deepmap.js +0 -47
  16. package/run-build.js +0 -45
  17. package/run-dts-concat.js +0 -21
  18. package/src/components/CSSVariableWatch.tsx +0 -82
  19. package/src/components/DataSource/BooleanCollectionState.ts +0 -214
  20. package/src/components/DataSource/BooleanDeepCollectionState.ts +0 -208
  21. package/src/components/DataSource/DataSourceContext.ts +0 -20
  22. package/src/components/DataSource/GroupRowsState.ts +0 -74
  23. package/src/components/DataSource/Indexer.ts +0 -27
  24. package/src/components/DataSource/RowSelectionState.ts +0 -763
  25. package/src/components/DataSource/defaultFilterTypes.ts +0 -64
  26. package/src/components/DataSource/index.tsx +0 -108
  27. package/src/components/DataSource/privateHooks/getChangeDetect.ts +0 -7
  28. package/src/components/DataSource/privateHooks/useLoadData.ts +0 -783
  29. package/src/components/DataSource/publicHooks/useDataSource.ts +0 -19
  30. package/src/components/DataSource/publicHooks/useDataSourceActions.ts +0 -14
  31. package/src/components/DataSource/state/getInitialState.ts +0 -494
  32. package/src/components/DataSource/state/normalizeSortInfo.ts +0 -35
  33. package/src/components/DataSource/state/reducer.ts +0 -466
  34. package/src/components/DataSource/state/rowInfoStatus.ts +0 -27
  35. package/src/components/DataSource/types.ts +0 -548
  36. package/src/components/HeadlessTable/HeadlessTableWithPinnedContainers.tsx +0 -142
  37. package/src/components/HeadlessTable/MappedCells.ts +0 -251
  38. package/src/components/HeadlessTable/RawTable.tsx +0 -98
  39. package/src/components/HeadlessTable/ReactHeadlessTableRenderer.tsx +0 -1516
  40. package/src/components/HeadlessTable/index.tsx +0 -234
  41. package/src/components/InfiniteTable/InfiniteCls.css.ts +0 -164
  42. package/src/components/InfiniteTable/InfiniteTableContext.ts +0 -16
  43. package/src/components/InfiniteTable/api/getImperativeApi.ts +0 -391
  44. package/src/components/InfiniteTable/api/getSelectionApi.ts +0 -364
  45. package/src/components/InfiniteTable/api/type.ts +0 -11
  46. package/src/components/InfiniteTable/components/ActiveCellIndicator.css.ts +0 -51
  47. package/src/components/InfiniteTable/components/ActiveCellIndicator.tsx +0 -116
  48. package/src/components/InfiniteTable/components/ActiveRowIndicator.css.ts +0 -56
  49. package/src/components/InfiniteTable/components/ActiveRowIndicator.tsx +0 -94
  50. package/src/components/InfiniteTable/components/CheckBox.css.ts +0 -13
  51. package/src/components/InfiniteTable/components/CheckBox.tsx +0 -96
  52. package/src/components/InfiniteTable/components/FilterEditors.tsx +0 -52
  53. package/src/components/InfiniteTable/components/InfiniteTableBody/InfiniteTableBody.tsx +0 -27
  54. package/src/components/InfiniteTable/components/InfiniteTableBody/index.tsx +0 -1
  55. package/src/components/InfiniteTable/components/InfiniteTableFooter/InfiniteTableFooter.tsx +0 -31
  56. package/src/components/InfiniteTable/components/InfiniteTableFooter/index.tsx +0 -1
  57. package/src/components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableColumnHeaderFilter.tsx +0 -102
  58. package/src/components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableHeader.tsx +0 -163
  59. package/src/components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableHeaderCell.tsx +0 -574
  60. package/src/components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableHeaderGroup.tsx +0 -79
  61. package/src/components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableHeaderTypes.tsx +0 -25
  62. package/src/components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableHeaderWrapper.tsx +0 -185
  63. package/src/components/InfiniteTable/components/InfiniteTableHeader/ResizeHandle/GroupResizeHandle.tsx +0 -159
  64. package/src/components/InfiniteTable/components/InfiniteTableHeader/ResizeHandle/ResizeHandle.css.ts +0 -124
  65. package/src/components/InfiniteTable/components/InfiniteTableHeader/ResizeHandle/columnResizer.ts +0 -166
  66. package/src/components/InfiniteTable/components/InfiniteTableHeader/ResizeHandle/index.tsx +0 -146
  67. package/src/components/InfiniteTable/components/InfiniteTableHeader/buildColumnAndGroupTree.ts +0 -240
  68. package/src/components/InfiniteTable/components/InfiniteTableHeader/header.css.ts +0 -358
  69. package/src/components/InfiniteTable/components/InfiniteTableHeader/index.tsx +0 -1
  70. package/src/components/InfiniteTable/components/InfiniteTableHeader/useColumnGroupResizeHandle.tsx +0 -114
  71. package/src/components/InfiniteTable/components/InfiniteTableHeader/useColumnResizeHandle.tsx +0 -146
  72. package/src/components/InfiniteTable/components/InfiniteTableLicenseFooter/footer.css.ts +0 -7
  73. package/src/components/InfiniteTable/components/InfiniteTableLicenseFooter/index.tsx +0 -110
  74. package/src/components/InfiniteTable/components/InfiniteTableRow/InfiniteTableCell.tsx +0 -120
  75. package/src/components/InfiniteTable/components/InfiniteTableRow/InfiniteTableCellTypes.ts +0 -74
  76. package/src/components/InfiniteTable/components/InfiniteTableRow/InfiniteTableColumnCell.tsx +0 -457
  77. package/src/components/InfiniteTable/components/InfiniteTableRow/InfiniteTableRow.tsx +0 -107
  78. package/src/components/InfiniteTable/components/InfiniteTableRow/InfiniteTableRowClassName.ts +0 -6
  79. package/src/components/InfiniteTable/components/InfiniteTableRow/InfiniteTableRowTypes.ts +0 -32
  80. package/src/components/InfiniteTable/components/InfiniteTableRow/InfiniteTableRowUnvirtualized.tsx +0 -75
  81. package/src/components/InfiniteTable/components/InfiniteTableRow/columnRendering.tsx +0 -263
  82. package/src/components/InfiniteTable/components/InfiniteTableRow/index.tsx +0 -1
  83. package/src/components/InfiniteTable/components/InfiniteTableRow/row.css.ts +0 -74
  84. package/src/components/InfiniteTable/components/InfiniteTableRow/useRowDOMProps.ts +0 -199
  85. package/src/components/InfiniteTable/components/LoadMask.css.ts +0 -34
  86. package/src/components/InfiniteTable/components/LoadMask.tsx +0 -27
  87. package/src/components/InfiniteTable/components/ScrollbarPlaceholder.tsx +0 -56
  88. package/src/components/InfiniteTable/components/cell.css.ts +0 -192
  89. package/src/components/InfiniteTable/components/icons/ArrowDown.tsx +0 -14
  90. package/src/components/InfiniteTable/components/icons/ArrowUp.tsx +0 -14
  91. package/src/components/InfiniteTable/components/icons/ExpanderIcon.css.ts +0 -31
  92. package/src/components/InfiniteTable/components/icons/ExpanderIcon.tsx +0 -63
  93. package/src/components/InfiniteTable/components/icons/Icon.tsx +0 -18
  94. package/src/components/InfiniteTable/components/icons/InfiniteTableIconClassName.ts +0 -1
  95. package/src/components/InfiniteTable/components/icons/LoadingIcon.css.ts +0 -8
  96. package/src/components/InfiniteTable/components/icons/LoadingIcon.tsx +0 -45
  97. package/src/components/InfiniteTable/components/icons/MenuIcon.tsx +0 -50
  98. package/src/components/InfiniteTable/components/icons/SortIcon.tsx +0 -113
  99. package/src/components/InfiniteTable/eventHandlers/eventHandlerTypes.ts +0 -57
  100. package/src/components/InfiniteTable/eventHandlers/index.ts +0 -95
  101. package/src/components/InfiniteTable/eventHandlers/keyboardNavigation.ts +0 -232
  102. package/src/components/InfiniteTable/eventHandlers/keyboardSelection.ts +0 -110
  103. package/src/components/InfiniteTable/eventHandlers/onCellClick.ts +0 -94
  104. package/src/components/InfiniteTable/eventHandlers/onKeyDown.ts +0 -25
  105. package/src/components/InfiniteTable/hooks/adjustColumnOrderForAllColumns.ts +0 -70
  106. package/src/components/InfiniteTable/hooks/reorderColumnsOnDrag.ts +0 -476
  107. package/src/components/InfiniteTable/hooks/useAutoSizeColumns.ts +0 -206
  108. package/src/components/InfiniteTable/hooks/useCellClassName.ts +0 -80
  109. package/src/components/InfiniteTable/hooks/useCellRendering.tsx +0 -217
  110. package/src/components/InfiniteTable/hooks/useColumnGroups.ts +0 -71
  111. package/src/components/InfiniteTable/hooks/useColumnMenu.ts +0 -72
  112. package/src/components/InfiniteTable/hooks/useColumnPointerEvents.ts +0 -258
  113. package/src/components/InfiniteTable/hooks/useColumnRowspan.ts +0 -43
  114. package/src/components/InfiniteTable/hooks/useColumnSizeFn.ts +0 -24
  115. package/src/components/InfiniteTable/hooks/useColumnsWhen.ts +0 -582
  116. package/src/components/InfiniteTable/hooks/useComputed.ts +0 -186
  117. package/src/components/InfiniteTable/hooks/useComputedVisibleColumns.ts +0 -219
  118. package/src/components/InfiniteTable/hooks/useDOMProps.ts +0 -306
  119. package/src/components/InfiniteTable/hooks/useEffectWithRaf.ts +0 -47
  120. package/src/components/InfiniteTable/hooks/useInfiniteTable.ts +0 -10
  121. package/src/components/InfiniteTable/hooks/useInfiniteTableState.ts +0 -11
  122. package/src/components/InfiniteTable/hooks/useInternalProps.ts +0 -8
  123. package/src/components/InfiniteTable/hooks/useLicense/LicenseDetails.ts +0 -13
  124. package/src/components/InfiniteTable/hooks/useLicense/crc32.ts +0 -56
  125. package/src/components/InfiniteTable/hooks/useLicense/decode.ts +0 -147
  126. package/src/components/InfiniteTable/hooks/useLicense/useLicense.ts +0 -39
  127. package/src/components/InfiniteTable/hooks/useRerenderOnKeyChange.ts +0 -21
  128. package/src/components/InfiniteTable/hooks/useRowHover.ts +0 -18
  129. package/src/components/InfiniteTable/hooks/useScrollToActiveCell.ts +0 -48
  130. package/src/components/InfiniteTable/hooks/useScrollToActiveRow.ts +0 -44
  131. package/src/components/InfiniteTable/hooks/useScrollbars.ts +0 -51
  132. package/src/components/InfiniteTable/hooks/useToggleGroupRow.ts +0 -56
  133. package/src/components/InfiniteTable/hooks/useUnpinnedRendering.tsx +0 -165
  134. package/src/components/InfiniteTable/hooks/useYourBrain.ts +0 -55
  135. package/src/components/InfiniteTable/index.tsx +0 -352
  136. package/src/components/InfiniteTable/internalProps.ts +0 -4
  137. package/src/components/InfiniteTable/state/computeColumnGroupsDepths.ts +0 -29
  138. package/src/components/InfiniteTable/state/getColumnVisibilityForHideEmptyGroupColumns.ts +0 -127
  139. package/src/components/InfiniteTable/state/getInitialState.ts +0 -375
  140. package/src/components/InfiniteTable/theme.css.ts +0 -556
  141. package/src/components/InfiniteTable/types/InfiniteTableAction.ts +0 -6
  142. package/src/components/InfiniteTable/types/InfiniteTableActionType.ts +0 -12
  143. package/src/components/InfiniteTable/types/InfiniteTableColumn.ts +0 -478
  144. package/src/components/InfiniteTable/types/InfiniteTableComputedValues.ts +0 -43
  145. package/src/components/InfiniteTable/types/InfiniteTableContextValue.ts +0 -12
  146. package/src/components/InfiniteTable/types/InfiniteTableInternalProps.ts +0 -3
  147. package/src/components/InfiniteTable/types/InfiniteTableProps.ts +0 -511
  148. package/src/components/InfiniteTable/types/InfiniteTableState.ts +0 -195
  149. package/src/components/InfiniteTable/types/Utility.ts +0 -35
  150. package/src/components/InfiniteTable/types/index.ts +0 -96
  151. package/src/components/InfiniteTable/utilities.css.ts +0 -179
  152. package/src/components/InfiniteTable/utils/MultiRowSelector.ts +0 -111
  153. package/src/components/InfiniteTable/utils/RenderHookComponentForInfinite.tsx +0 -52
  154. package/src/components/InfiniteTable/utils/adjustColumnOrderForPinning.ts +0 -33
  155. package/src/components/InfiniteTable/utils/assignFiltered.ts +0 -29
  156. package/src/components/InfiniteTable/utils/defaultGetColumContextMenuItems.tsx +0 -108
  157. package/src/components/InfiniteTable/utils/getColumnComputedType.ts +0 -33
  158. package/src/components/InfiniteTable/utils/getColumnForGroupBy.tsx +0 -313
  159. package/src/components/InfiniteTable/utils/getComputedVisibleColumns.ts +0 -773
  160. package/src/components/InfiniteTable/utils/getContextMenuForColumn.tsx +0 -72
  161. package/src/components/InfiniteTable/utils/infiniteDOMUtils.ts +0 -189
  162. package/src/components/InfiniteTable/utils/mapToObject.ts +0 -20
  163. package/src/components/InfiniteTable/utils/moveXatY.ts +0 -25
  164. package/src/components/InfiniteTable/utils/objectValuesExcept.ts +0 -9
  165. package/src/components/InfiniteTable/utils/progressiveSpeedScroller.ts +0 -158
  166. package/src/components/InfiniteTable/utils/rafFn.ts +0 -13
  167. package/src/components/InfiniteTable/utils/toCSSVarName.ts +0 -1
  168. package/src/components/InfiniteTable/utils/toMap.ts +0 -24
  169. package/src/components/Menu/Menu.tsx +0 -750
  170. package/src/components/Menu/MenuCls.css.ts +0 -139
  171. package/src/components/Menu/MenuContext.ts +0 -10
  172. package/src/components/Menu/MenuContextValue.ts +0 -15
  173. package/src/components/Menu/MenuProps.ts +0 -98
  174. package/src/components/Menu/MenuState.ts +0 -56
  175. package/src/components/Menu/MenuTriangleContext.ts +0 -352
  176. package/src/components/Menu/childrenToRuntimeItems.tsx +0 -103
  177. package/src/components/Menu/getMenuState.tsx +0 -119
  178. package/src/components/Menu/index.tsx +0 -88
  179. package/src/components/Menu/propToIdentifyMenu.ts +0 -1
  180. package/src/components/RawList/AvoidReactDiff.tsx +0 -48
  181. package/src/components/RawList/MappedItems.ts +0 -143
  182. package/src/components/RawList/ReactVirtualRenderer.tsx +0 -307
  183. package/src/components/RawList/index.tsx +0 -42
  184. package/src/components/RawList/types.ts +0 -23
  185. package/src/components/RawList/useVirtualRenderer.ts +0 -36
  186. package/src/components/RenderHookComponent.tsx +0 -10
  187. package/src/components/ResizeObserver/index.tsx +0 -170
  188. package/src/components/VirtualBrain/MatrixBrain.ts +0 -1621
  189. package/src/components/VirtualBrain/ScrollListener.ts +0 -39
  190. package/src/components/VirtualBrain/index.ts +0 -664
  191. package/src/components/VirtualList/ColumnListWithExternalScrolling.tsx +0 -78
  192. package/src/components/VirtualList/InfiniteListRootClassName.ts +0 -1
  193. package/src/components/VirtualList/RowListWithExternalScrolling.tsx +0 -120
  194. package/src/components/VirtualList/SpacePlaceholder.tsx +0 -32
  195. package/src/components/VirtualList/VirtualList.css.ts +0 -29
  196. package/src/components/VirtualList/VirtualList.tsx +0 -141
  197. package/src/components/VirtualList/VirtualRowList.tsx +0 -34
  198. package/src/components/VirtualList/types.ts +0 -56
  199. package/src/components/VirtualList/useCorrectHeightForRowElements.ts +0 -14
  200. package/src/components/VirtualScrollContainer/VirtualScrollContainer.css.ts +0 -51
  201. package/src/components/VirtualScrollContainer/getScrollableClassName.ts +0 -30
  202. package/src/components/VirtualScrollContainer/index.tsx +0 -63
  203. package/src/components/flexbox/index.ts +0 -562
  204. package/src/components/hooks/useComponentState/index.tsx +0 -562
  205. package/src/components/hooks/useComponentState/types.ts +0 -32
  206. package/src/components/hooks/useEffectOnceWithProperUnmount.ts +0 -33
  207. package/src/components/hooks/useEffectWithChanges.ts +0 -56
  208. package/src/components/hooks/useImmutableRef.ts +0 -7
  209. package/src/components/hooks/useInterceptedMap.ts +0 -71
  210. package/src/components/hooks/useLatest.tsx +0 -8
  211. package/src/components/hooks/useLazyLatest.ts +0 -23
  212. package/src/components/hooks/useMemoShallowObjectMerge.ts +0 -16
  213. package/src/components/hooks/useMounted.ts +0 -18
  214. package/src/components/hooks/useOnMount.ts +0 -21
  215. package/src/components/hooks/useOnScroll.ts +0 -34
  216. package/src/components/hooks/useOnce.ts +0 -10
  217. package/src/components/hooks/useOverlay/index.tsx +0 -418
  218. package/src/components/hooks/usePrevious.ts +0 -8
  219. package/src/components/hooks/usePropertyOld.ts +0 -168
  220. package/src/components/hooks/useRerender.ts +0 -12
  221. package/src/components/hooks/xuseProperty.ts +0 -165
  222. package/src/components/types/CellPosition.ts +0 -4
  223. package/src/components/types/NonUndefined.ts +0 -1
  224. package/src/components/types/RemoveObject.ts +0 -22
  225. package/src/components/types/Renderable.ts +0 -3
  226. package/src/components/types/ScrollPosition.ts +0 -7
  227. package/src/components/types/Setter.ts +0 -2
  228. package/src/components/types/Size.ts +0 -6
  229. package/src/components/types/SubscriptionCallback.ts +0 -10
  230. package/src/components/types/VoidFn.ts +0 -1
  231. package/src/components/utils/buildSubscriptionCallback.tsx +0 -60
  232. package/src/components/utils/clamp.ts +0 -3
  233. package/src/components/utils/debounce.ts +0 -16
  234. package/src/components/utils/decamelize.ts +0 -11
  235. package/src/components/utils/discardCallsWithEqualArg.ts +0 -42
  236. package/src/components/utils/getRenderIndexes.ts +0 -33
  237. package/src/components/utils/getScrollbarWidth.ts +0 -31
  238. package/src/components/utils/getVirtualRenderCount.ts +0 -21
  239. package/src/components/utils/isControlled.ts +0 -12
  240. package/src/components/utils/isControlledValue.ts +0 -5
  241. package/src/index.tsx +0 -34
  242. package/src/test.tsx +0 -18
  243. package/src/utils/DeepMap/index.ts +0 -588
  244. package/src/utils/DeepMap/once.ts +0 -16
  245. package/src/utils/DeepMap/sortAscending.ts +0 -1
  246. package/src/utils/DeepMap/tsconfig.deepmap.json +0 -17
  247. package/src/utils/DeepMap/xpackage.json +0 -26
  248. package/src/utils/debug.ts +0 -40
  249. package/src/utils/deepClone.ts +0 -38
  250. package/src/utils/getGlobal.ts +0 -3
  251. package/src/utils/groupAndPivot/defaultToKey.ts +0 -3
  252. package/src/utils/groupAndPivot/getGroupKeysForDataItem.ts +0 -19
  253. package/src/utils/groupAndPivot/getPivotColumnsAndColumnGroups.ts +0 -361
  254. package/src/utils/groupAndPivot/index.ts +0 -1229
  255. package/src/utils/groupAndPivot/types.ts +0 -10
  256. package/src/utils/join.ts +0 -4
  257. package/src/utils/mathIntersection.ts +0 -21
  258. package/src/utils/minified.d.ts +0 -2
  259. package/src/utils/minified.js +0 -6
  260. package/src/utils/multisort/index.ts +0 -151
  261. package/src/utils/multisort/sortTypes.ts +0 -25
  262. package/src/utils/notes-status.md +0 -92
  263. package/src/utils/pageGeometry/ConvexPoly.ts +0 -34
  264. package/src/utils/pageGeometry/Point.ts +0 -51
  265. package/src/utils/pageGeometry/PolyWithPoints.ts +0 -52
  266. package/src/utils/pageGeometry/Rectangle.ts +0 -98
  267. package/src/utils/pageGeometry/Triangle.ts +0 -16
  268. package/src/utils/pageGeometry/alignment/index.ts +0 -221
  269. package/src/utils/pageGeometry/polyContainsPoint.ts +0 -182
  270. package/src/utils/pageGeometry/types.ts +0 -3
  271. package/src/utils/proxyFnCall.ts +0 -46
  272. package/src/utils/raf.ts +0 -13
  273. package/src/utils/selectParent.ts +0 -18
  274. package/src/utils/shallowEqualObjects.ts +0 -49
  275. package/src/utils/stripVar.ts +0 -3
  276. package/src/utils/toUpperFirst.ts +0 -5
  277. package/todo.md +0 -2
  278. package/tsconfig.build.json +0 -8
  279. package/tsconfig.dev.json +0 -7
  280. package/tsconfig.json +0 -30
  281. package/tsconfig.typebundler.json +0 -13
  282. package/typedoc.json +0 -4
@@ -1,186 +0,0 @@
1
- import { useCallback, useEffect, useState } from 'react';
2
-
3
- import { useDataSourceContextValue } from '../../DataSource/publicHooks/useDataSource';
4
- import type { DataSourceSingleSortInfo } from '../../DataSource/types';
5
- import { useComponentState } from '../../hooks/useComponentState';
6
- import type { InfiniteTableState, InfiniteTableComputedValues } from '../types';
7
- import { MultiRowSelector } from '../utils/MultiRowSelector';
8
-
9
- import { useColumnGroups } from './useColumnGroups';
10
- import { useColumnRowspan } from './useColumnRowspan';
11
- import { useColumnSizeFn } from './useColumnSizeFn';
12
- import { useColumnsWhen } from './useColumnsWhen';
13
- import { useComputedVisibleColumns } from './useComputedVisibleColumns';
14
- import { useScrollbars } from './useScrollbars';
15
-
16
- export function useComputed<T>(): InfiniteTableComputedValues<T> {
17
- const { componentActions, componentState } =
18
- useComponentState<InfiniteTableState<T>>();
19
-
20
- const {
21
- componentActions: dataSourceActions,
22
- componentState: dataSourceState,
23
- getState: getDataSourceState,
24
- } = useDataSourceContextValue<T>();
25
-
26
- const {
27
- columnOrder,
28
- columnVisibility,
29
- columnPinning,
30
- columnSizing,
31
- columnTypes,
32
- brain,
33
- bodySize,
34
- showSeparatePivotColumnForSingleAggregation,
35
- } = componentState;
36
-
37
- useState(() => {
38
- componentState.onRowHeightCSSVarChange.onChange((rowHeight) => {
39
- if (rowHeight) {
40
- componentActions.rowHeight = rowHeight;
41
- }
42
- });
43
- componentState.onColumnHeaderHeightCSSVarChange.onChange(
44
- (columnHeaderHeight) => {
45
- if (columnHeaderHeight) {
46
- componentActions.columnHeaderHeight = columnHeaderHeight;
47
- }
48
- },
49
- );
50
- });
51
-
52
- useEffect(() => {
53
- dataSourceActions.showSeparatePivotColumnForSingleAggregation =
54
- showSeparatePivotColumnForSingleAggregation;
55
- }, [showSeparatePivotColumnForSingleAggregation]);
56
-
57
- const { multiSort, filterValue } = dataSourceState;
58
-
59
- useColumnGroups<T>();
60
-
61
- const { toggleGroupRow } = useColumnsWhen<T>();
62
-
63
- const setSortInfo = useCallback(
64
- (sortInfo: DataSourceSingleSortInfo<T>[]) => {
65
- const newSortInfo = getDataSourceState().multiSort
66
- ? sortInfo
67
- : sortInfo[0] ?? null;
68
- //@ts-ignore
69
- dataSourceActions.sortInfo = newSortInfo;
70
- },
71
- [getDataSourceState],
72
- );
73
-
74
- const columns = componentState.computedColumns;
75
-
76
- const {
77
- computedColumnOrder,
78
- computedVisibleColumns,
79
- computedVisibleColumnsMap,
80
- computedPinnedStartColumns,
81
- computedPinnedEndColumns,
82
- computedUnpinnedColumns,
83
- computedPinnedStartColumnsWidth,
84
- computedPinnedEndColumnsWidth,
85
- computedUnpinnedColumnsWidth,
86
- computedUnpinnedOffset,
87
- computedPinnedEndOffset,
88
- computedRemainingSpace,
89
- computedPinnedStartWidth,
90
- computedPinnedEndWidth,
91
- renderSelectionCheckBox,
92
- computedColumnsMap,
93
- computedColumnsMapInInitialOrder,
94
- fieldsToColumn,
95
- } = useComputedVisibleColumns({
96
- columns,
97
- // scrollbarWidth: scrollbars.vertical ? getScrollbarWidth() : 0,
98
-
99
- // #scrollbarverticaltag
100
- // we use the default scrollbar width - using it dynamically causes issues
101
- // since we can have a scenario where there is no vertical scrollbar and a horizontal resize
102
- // can cause a horizontal scrollbar which in turn causes a vertical scrollbar and the scenario
103
- // can loop so it's safer for now to always reserve space for the scrollbar
104
- scrollbarWidth: undefined,
105
- columnCssEllipsis: componentState.columnCssEllipsis,
106
- columnHeaderCssEllipsis: componentState.columnHeaderCssEllipsis,
107
- columnMinWidth: componentState.columnMinWidth,
108
- columnMaxWidth: componentState.columnMaxWidth,
109
- columnDefaultWidth: componentState.columnDefaultWidth,
110
- pinnedStartMaxWidth: componentState.pinnedStartMaxWidth,
111
- pinnedEndMaxWidth: componentState.pinnedEndMaxWidth,
112
- bodySize,
113
-
114
- viewportReservedWidth: componentState.viewportReservedWidth,
115
- resizableColumns: componentState.resizableColumns,
116
-
117
- sortable: componentState.sortable,
118
- draggableColumns: componentState.draggableColumns,
119
- sortInfo: dataSourceState.sortInfo ?? undefined,
120
- multiSort,
121
- setSortInfo,
122
-
123
- columnOrder,
124
-
125
- columnVisibility,
126
- columnVisibilityAssumeVisible: true,
127
-
128
- columnPinning,
129
- filterValue,
130
-
131
- columnSizing,
132
- columnTypes,
133
- });
134
-
135
- // console.log(computedVisibleColumns);
136
-
137
- const rowspan = useColumnRowspan(computedVisibleColumns);
138
- const columnSize = useColumnSizeFn<T>(computedVisibleColumns);
139
- const scrollbars = useScrollbars<T>(brain);
140
-
141
- const computedPinnedStartOverflow = computedPinnedStartWidth
142
- ? computedPinnedStartColumnsWidth > computedPinnedStartWidth
143
- : false;
144
- const computedPinnedEndOverflow = computedPinnedEndWidth
145
- ? computedPinnedEndColumnsWidth > computedPinnedEndWidth
146
- : false;
147
-
148
- const [multiRowSelector] = useState(() => {
149
- const multiRowSelector = new MultiRowSelector({
150
- getIdForIndex: (index: number) =>
151
- getDataSourceState().dataArray[index].id,
152
- });
153
-
154
- return multiRowSelector;
155
- });
156
-
157
- return {
158
- multiRowSelector,
159
- showColumnFilters: !!dataSourceState.filterValue,
160
- scrollbars,
161
- columnSize,
162
- rowspan,
163
- toggleGroupRow,
164
- computedColumnsMap,
165
- computedColumnsMapInInitialOrder,
166
- renderSelectionCheckBox,
167
- computedPinnedStartOverflow,
168
- computedPinnedEndOverflow,
169
- computedPinnedStartWidth,
170
- computedPinnedEndWidth,
171
- computedVisibleColumns,
172
- computedColumnOrder,
173
- computedRemainingSpace,
174
- computedVisibleColumnsMap,
175
- // computedColumnVisibility: columnVisibility,
176
- computedPinnedStartColumns,
177
- computedPinnedEndColumns,
178
- computedUnpinnedColumns,
179
- computedPinnedStartColumnsWidth,
180
- computedPinnedEndColumnsWidth,
181
- computedUnpinnedColumnsWidth,
182
- computedUnpinnedOffset,
183
- computedPinnedEndOffset,
184
- fieldsToColumn,
185
- };
186
- }
@@ -1,219 +0,0 @@
1
- import { useMemo } from 'react';
2
-
3
- import type {
4
- DataSourcePropFilterValue,
5
- DataSourceSingleSortInfo,
6
- } from '../../DataSource/types';
7
- import type { Size } from '../../types/Size';
8
- import type { InfiniteTableColumn } from '../types';
9
- import type {
10
- InfiniteTablePropColumnOrder,
11
- InfiniteTablePropColumnPinning,
12
- InfiniteTablePropColumnSizing,
13
- InfiniteTablePropColumnTypes,
14
- InfiniteTablePropColumnVisibility,
15
- } from '../types/InfiniteTableProps';
16
- import type { GetComputedVisibleColumnsResult } from '../utils/getComputedVisibleColumns';
17
- import { getComputedVisibleColumns } from '../utils/getComputedVisibleColumns';
18
-
19
- import { useRerenderOnKeyChange } from './useRerenderOnKeyChange';
20
-
21
- type UseComputedVisibleColumnsParam<T> = {
22
- columns: Map<string, InfiniteTableColumn<T>>;
23
-
24
- bodySize: Size;
25
- columnMinWidth?: number;
26
- columnMaxWidth?: number;
27
- columnCssEllipsis: boolean;
28
- columnHeaderCssEllipsis: boolean;
29
- viewportReservedWidth?: number;
30
-
31
- resizableColumns: boolean | undefined;
32
- scrollbarWidth: number | undefined;
33
-
34
- pinnedEndMaxWidth?: number;
35
- pinnedStartMaxWidth?: number;
36
-
37
- columnDefaultWidth?: number;
38
- sortable?: boolean;
39
- draggableColumns?: boolean;
40
- multiSort: boolean;
41
- sortInfo?: DataSourceSingleSortInfo<T>[];
42
- setSortInfo: (sortInfo: DataSourceSingleSortInfo<T>[]) => void;
43
-
44
- filterValue?: DataSourcePropFilterValue<T>;
45
-
46
- columnPinning: InfiniteTablePropColumnPinning;
47
- columnSizing: InfiniteTablePropColumnSizing;
48
- columnTypes: InfiniteTablePropColumnTypes<T>;
49
- columnOrder: InfiniteTablePropColumnOrder;
50
- columnVisibility: InfiniteTablePropColumnVisibility;
51
- columnVisibilityAssumeVisible?: boolean;
52
- };
53
-
54
- type UseComputedVisibleColumnsResult<T> = {
55
- renderSelectionCheckBox: boolean;
56
- columns: UseComputedVisibleColumnsParam<T>['columns'];
57
- fieldsToColumn: GetComputedVisibleColumnsResult<T>['fieldsToColumn'];
58
-
59
- computedColumnsMap: GetComputedVisibleColumnsResult<T>['computedColumnsMap'];
60
- computedColumnsMapInInitialOrder: GetComputedVisibleColumnsResult<T>['computedColumnsMapInInitialOrder'];
61
- computedRemainingSpace: GetComputedVisibleColumnsResult<T>['computedRemainingSpace'];
62
- computedUnpinnedOffset: GetComputedVisibleColumnsResult<T>['computedUnpinnedOffset'];
63
- computedPinnedEndOffset: GetComputedVisibleColumnsResult<T>['computedPinnedEndOffset'];
64
-
65
- computedPinnedStartColumnsWidth: GetComputedVisibleColumnsResult<T>['computedPinnedStartColumnsWidth'];
66
- computedPinnedEndColumnsWidth: GetComputedVisibleColumnsResult<T>['computedPinnedEndColumnsWidth'];
67
- computedUnpinnedColumnsWidth: GetComputedVisibleColumnsResult<T>['computedUnpinnedColumnsWidth'];
68
-
69
- computedPinnedStartColumns: GetComputedVisibleColumnsResult<T>['computedPinnedStartColumns'];
70
- computedPinnedEndColumns: GetComputedVisibleColumnsResult<T>['computedPinnedEndColumns'];
71
- computedUnpinnedColumns: GetComputedVisibleColumnsResult<T>['computedUnpinnedColumns'];
72
-
73
- computedVisibleColumns: GetComputedVisibleColumnsResult<T>['computedVisibleColumns'];
74
- computedVisibleColumnsMap: GetComputedVisibleColumnsResult<T>['computedVisibleColumnsMap'];
75
- computedPinnedEndWidth: GetComputedVisibleColumnsResult<T>['computedPinnedEndWidth'];
76
- computedPinnedStartWidth: GetComputedVisibleColumnsResult<T>['computedPinnedStartWidth'];
77
-
78
- computedColumnOrder: GetComputedVisibleColumnsResult<T>['computedColumnOrder'];
79
- };
80
-
81
- export const useComputedVisibleColumns = <T extends unknown>({
82
- columns,
83
- bodySize,
84
- columnMinWidth,
85
- columnMaxWidth,
86
- columnDefaultWidth,
87
- sortable,
88
- columnCssEllipsis,
89
- columnHeaderCssEllipsis,
90
- draggableColumns,
91
- sortInfo,
92
- multiSort,
93
- setSortInfo,
94
- filterValue,
95
- columnOrder,
96
- columnPinning,
97
- scrollbarWidth,
98
- columnTypes,
99
- pinnedEndMaxWidth,
100
- pinnedStartMaxWidth,
101
- viewportReservedWidth,
102
- resizableColumns,
103
- columnVisibility,
104
- columnVisibilityAssumeVisible,
105
- columnSizing,
106
- }: UseComputedVisibleColumnsParam<T>): UseComputedVisibleColumnsResult<T> => {
107
- const columnsRenderId = useRerenderOnKeyChange(columns);
108
-
109
- const {
110
- computedRemainingSpace,
111
- computedColumnOrder,
112
- computedVisibleColumns,
113
- computedVisibleColumnsMap,
114
- computedPinnedStartColumns,
115
- computedPinnedEndColumns,
116
- computedUnpinnedColumns,
117
- computedPinnedStartColumnsWidth,
118
- computedPinnedEndColumnsWidth,
119
- computedUnpinnedColumnsWidth,
120
- computedUnpinnedOffset,
121
- computedPinnedEndOffset,
122
- computedPinnedEndWidth,
123
- computedPinnedStartWidth,
124
- renderSelectionCheckBox,
125
- computedColumnsMap,
126
- computedColumnsMapInInitialOrder,
127
- fieldsToColumn,
128
- } = useMemo(() => {
129
- return getComputedVisibleColumns({
130
- columns,
131
- scrollbarWidth,
132
-
133
- bodySize,
134
- columnMinWidth,
135
- columnMaxWidth,
136
- columnDefaultWidth,
137
- columnCssEllipsis,
138
- columnHeaderCssEllipsis,
139
- viewportReservedWidth,
140
- resizableColumns,
141
-
142
- filterValue,
143
-
144
- sortable,
145
- sortInfo,
146
- setSortInfo,
147
- multiSort,
148
- pinnedEndMaxWidth,
149
- pinnedStartMaxWidth,
150
-
151
- draggableColumns,
152
- columnOrder,
153
-
154
- columnPinning,
155
-
156
- columnSizing,
157
- columnTypes,
158
-
159
- columnVisibility,
160
- columnVisibilityAssumeVisible: columnVisibilityAssumeVisible ?? true,
161
- });
162
- }, [
163
- columns,
164
-
165
- bodySize.width,
166
- columnMinWidth,
167
- columnMaxWidth,
168
- columnDefaultWidth,
169
-
170
- viewportReservedWidth,
171
- scrollbarWidth,
172
-
173
- sortable,
174
- sortInfo,
175
- setSortInfo,
176
- multiSort,
177
-
178
- filterValue,
179
-
180
- columnOrder,
181
- columnVisibility,
182
- columnVisibilityAssumeVisible,
183
- resizableColumns,
184
-
185
- pinnedEndMaxWidth,
186
- pinnedStartMaxWidth,
187
-
188
- columnSizing,
189
- columnTypes,
190
-
191
- columnPinning,
192
-
193
- columnsRenderId,
194
- ]);
195
-
196
- const result: UseComputedVisibleColumnsResult<T> = {
197
- renderSelectionCheckBox,
198
- columns,
199
- computedColumnsMap,
200
- computedPinnedEndWidth,
201
- computedPinnedStartWidth,
202
- computedRemainingSpace,
203
- computedUnpinnedOffset,
204
- computedPinnedEndOffset,
205
- computedPinnedStartColumnsWidth,
206
- computedPinnedEndColumnsWidth,
207
- computedUnpinnedColumnsWidth,
208
- computedPinnedStartColumns,
209
- computedPinnedEndColumns,
210
- computedUnpinnedColumns,
211
- computedVisibleColumns,
212
- computedVisibleColumnsMap,
213
- computedColumnOrder,
214
- computedColumnsMapInInitialOrder,
215
- fieldsToColumn,
216
- };
217
-
218
- return result;
219
- };
@@ -1,306 +0,0 @@
1
- import { CSSProperties, FocusEvent } from 'react';
2
- import { InfiniteTableClassName } from '..';
3
- import { join } from '../../../utils/join';
4
- import { stripVar } from '../../../utils/stripVar';
5
- import { getScrollbarWidth } from '../../utils/getScrollbarWidth';
6
- import {
7
- InfiniteCls,
8
- InfiniteClsHasPinnedEnd,
9
- InfiniteClsHasPinnedStart,
10
- InfiniteClsRecipe,
11
- } from '../InfiniteCls.css';
12
- import { InternalVars } from '../theme.css';
13
- import { InfiniteTableComputedColumn } from '../types';
14
- import {
15
- getCSSVarNameForColOffset,
16
- getCSSVarNameForColWidth,
17
- } from '../utils/infiniteDOMUtils';
18
- import { rafFn } from '../utils/rafFn';
19
- import { useInfiniteTable } from './useInfiniteTable';
20
-
21
- const scrollbarWidthHorizontal = stripVar(
22
- InternalVars.scrollbarWidthHorizontal,
23
- );
24
- const scrollbarWidthVertical = stripVar(InternalVars.scrollbarWidthVertical);
25
-
26
- const columnWidthAtIndex = stripVar(InternalVars.columnWidthAtIndex);
27
- const columnOffsetAtIndex = stripVar(InternalVars.columnOffsetAtIndex);
28
- const columnZIndexAtIndex = stripVar(InternalVars.columnZIndexAtIndex);
29
- const scrollLeftCSSVar = stripVar(InternalVars.scrollLeft);
30
- // const columnReorderEffectDurationAtIndex = stripVar(
31
- // InternalVars.columnReorderEffectDurationAtIndex,
32
- // );
33
- const activeCellColWidth = stripVar(InternalVars.activeCellColWidth);
34
- const activeCellColOffset = stripVar(InternalVars.activeCellColOffset);
35
- const baseZIndexForCells = stripVar(InternalVars.baseZIndexForCells);
36
-
37
- const pinnedStartWidthCSSVar = stripVar(InternalVars.pinnedStartWidth);
38
-
39
- const bodyWidthCSSVar = stripVar(InternalVars.bodyWidth);
40
- const bodyHeightCSSVar = stripVar(InternalVars.bodyHeight);
41
- const pinnedEndOffsetCSSVar = stripVar(InternalVars.pinnedEndOffset);
42
-
43
- const pinnedEndWidthCSSVar = stripVar(InternalVars.pinnedEndWidth);
44
-
45
- const computedVisibleColumnsCountCSSVar = stripVar(
46
- InternalVars.computedVisibleColumnsCount,
47
- );
48
-
49
- export function getColumnZIndex<T>(
50
- col: InfiniteTableComputedColumn<T>,
51
- params: { pinnedStartColsCount: number; visibleColsCount: number },
52
- ) {
53
- let computedZIndex: number | 'auto' = 'auto';
54
-
55
- const index = col.computedVisibleIndex;
56
-
57
- if (col.computedPinned) {
58
- if (col.computedPinned === 'start') {
59
- computedZIndex =
60
- params.pinnedStartColsCount - col.computedVisibleIndexInCategory;
61
- } else if (col.computedPinned === 'end') {
62
- computedZIndex =
63
- params.visibleColsCount + col.computedVisibleIndexInCategory;
64
- }
65
- } else {
66
- computedZIndex = -index * 10;
67
- }
68
-
69
- const zIndexValue =
70
- typeof computedZIndex === 'number'
71
- ? `calc( var(${baseZIndexForCells}) ` +
72
- (computedZIndex < 0 ? '-' : '+') +
73
- ` ${Math.abs(computedZIndex)} )`
74
- : 'auto';
75
-
76
- return zIndexValue;
77
- }
78
-
79
- export function useDOMProps<T>(
80
- initialDOMProps?: React.HTMLProps<HTMLDivElement>,
81
- ) {
82
- const scrollbarWidth = getScrollbarWidth();
83
-
84
- const { computed, componentState, componentActions } = useInfiniteTable<T>();
85
- const {
86
- focused,
87
- focusedWithin,
88
- domRef,
89
- onBlurWithin,
90
- onFocusWithin,
91
- onSelfFocus,
92
- onSelfBlur,
93
- bodySize,
94
- activeCellIndex,
95
- } = componentState;
96
- const {
97
- computedPinnedStartColumnsWidth,
98
- computedPinnedEndColumnsWidth,
99
- computedPinnedStartColumns,
100
- computedPinnedEndColumns,
101
- computedVisibleColumns,
102
- scrollbars,
103
- } = computed;
104
-
105
- const prevPinnedEndCols: InfiniteTableComputedColumn<T>[] = [];
106
- const cssVars: CSSProperties = computedVisibleColumns.reduce(
107
- (vars: CSSProperties, col) => {
108
- const index = col.computedVisibleIndex;
109
-
110
- //@ts-ignore
111
- vars[`${columnWidthAtIndex}-${index}`] = col.computedWidth + 'px';
112
-
113
- //@ts-ignore
114
- vars[`${columnOffsetAtIndex}-${index}`] =
115
- col.computedPinned === 'start'
116
- ? `calc( ${col.computedOffset}px + var(${scrollLeftCSSVar}) )`
117
- : col.computedPinned === 'end'
118
- ? // see #startcoloffsets-pinnedend
119
- `calc( var(${pinnedEndOffsetCSSVar}) ${
120
- prevPinnedEndCols.length ? '+' : ''
121
- } ${prevPinnedEndCols
122
- .map(
123
- (c) => `var(${columnWidthAtIndex}-${c.computedVisibleIndex})`,
124
- )
125
- .join(' + ')} + var(${scrollLeftCSSVar}) )`
126
- : `${col.computedOffset}px`;
127
-
128
- const zIndexValue = getColumnZIndex(col, {
129
- pinnedStartColsCount: computedPinnedStartColumns.length,
130
- visibleColsCount: computedVisibleColumns.length,
131
- });
132
-
133
- //@ts-ignore
134
- vars[`${columnZIndexAtIndex}-${index}`] = `${zIndexValue}`;
135
- //@ts-ignore
136
- // vars[`${columnReorderEffectDurationAtIndex}-${index}`] = '0s';
137
-
138
- if (col.computedPinned === 'end') {
139
- prevPinnedEndCols.push(col);
140
- }
141
- return vars;
142
- },
143
- {},
144
- );
145
-
146
- if (activeCellIndex != null) {
147
- //@ts-ignore
148
- cssVars[activeCellColWidth] = `var(${getCSSVarNameForColWidth(
149
- activeCellIndex[1],
150
- )})`;
151
- //@ts-ignore
152
- cssVars[activeCellColOffset] = `var(${getCSSVarNameForColOffset(
153
- activeCellIndex[1],
154
- )})`;
155
- }
156
-
157
- //@ts-ignore
158
- cssVars[computedVisibleColumnsCountCSSVar] = computedVisibleColumns.length;
159
-
160
- //@ts-ignore
161
- cssVars[scrollbarWidthHorizontal] = scrollbars.horizontal
162
- ? `${scrollbarWidth}px`
163
- : '0px';
164
- //@ts-ignore
165
- cssVars[scrollbarWidthVertical] = scrollbars.vertical
166
- ? `${scrollbarWidth}px`
167
- : '0px';
168
- //@ts-ignore
169
- cssVars[pinnedStartWidthCSSVar] =
170
- `calc( ` +
171
- computedPinnedStartColumns
172
- .map((c) => `var(${getCSSVarNameForColWidth(c.computedVisibleIndex)})`)
173
- .join(' + ') +
174
- ')';
175
-
176
- //@ts-ignore
177
- cssVars[pinnedEndWidthCSSVar] =
178
- `calc( ` +
179
- computedPinnedEndColumns
180
- .map((c) => `var(${getCSSVarNameForColWidth(c.computedVisibleIndex)})`)
181
- .join(' + ') +
182
- ')';
183
- //@ts-ignore
184
- cssVars[baseZIndexForCells] = computedVisibleColumns.length * 10;
185
-
186
- //@ts-ignore
187
- cssVars[
188
- pinnedEndOffsetCSSVar
189
- ] = `calc( var(${bodyWidthCSSVar}) - var(${pinnedEndWidthCSSVar}) - var(${scrollbarWidthVertical}) )`;
190
-
191
- //@ts-ignore
192
- cssVars[bodyWidthCSSVar] = `${bodySize.width}px`;
193
-
194
- //@ts-ignore
195
- cssVars[bodyHeightCSSVar] = `${bodySize.height}px`;
196
-
197
- const setFocused = rafFn((focused: boolean) => {
198
- componentActions.focused = focused;
199
- });
200
- const setFocusedWithin = rafFn((focused: boolean) => {
201
- componentActions.focusedWithin = focused;
202
- });
203
-
204
- const onFocus = (event: FocusEvent<HTMLDivElement>) => {
205
- initialDOMProps?.onFocus?.(event);
206
-
207
- if (event.target === domRef.current) {
208
- setFocused(true);
209
- onSelfFocus?.(event);
210
-
211
- if (focusedWithin) {
212
- setFocusedWithin(false);
213
- onBlurWithin?.(event);
214
- }
215
- } else {
216
- if (!focusedWithin) {
217
- setFocusedWithin(true);
218
- onFocusWithin?.(event);
219
- }
220
- }
221
- };
222
-
223
- const onBlur = (event: FocusEvent<HTMLDivElement>) => {
224
- initialDOMProps?.onBlur?.(event);
225
-
226
- if (event.target === domRef.current) {
227
- setFocused(false);
228
- onSelfBlur?.(event);
229
-
230
- if (focusedWithin) {
231
- setFocusedWithin(false);
232
- onBlurWithin?.(event);
233
- }
234
- } else {
235
- const contained = domRef.current?.contains((event as any).relatedTarget);
236
-
237
- if (!contained) {
238
- setFocusedWithin(false);
239
- onBlurWithin?.(event);
240
- }
241
- }
242
- };
243
-
244
- const domProps = {
245
- tabIndex: 0,
246
- ...initialDOMProps,
247
- onFocus,
248
- onBlur,
249
- };
250
-
251
- const className = join(
252
- InfiniteTableClassName,
253
- InfiniteCls,
254
-
255
- domProps?.className,
256
- computedPinnedStartColumnsWidth
257
- ? `${InfiniteTableClassName}--has-pinned-start ${InfiniteClsHasPinnedStart}`
258
- : null,
259
- computedPinnedEndColumnsWidth
260
- ? `${InfiniteTableClassName}--has-pinned-end ${InfiniteClsHasPinnedEnd}`
261
- : null,
262
- focused ? `${InfiniteTableClassName}--focused` : null,
263
- focusedWithin ? `${InfiniteTableClassName}--focused-within` : null,
264
-
265
- focused && componentState.focusedClassName
266
- ? componentState.focusedClassName
267
- : null,
268
- focusedWithin && componentState.focusedWithinClassName
269
- ? componentState.focusedWithinClassName
270
- : null,
271
- computed.computedPinnedStartOverflow
272
- ? `${InfiniteTableClassName}--has-pinned-start-overflow`
273
- : null,
274
- computed.computedPinnedEndOverflow
275
- ? `${InfiniteTableClassName}--has-pinned-end-overflow`
276
- : null,
277
-
278
- InfiniteClsRecipe({
279
- hasPinnedStart: !!computedPinnedStartColumnsWidth,
280
- hasPinnedEnd: !!computedPinnedEndColumnsWidth,
281
- // hasPinnedStartOverflow: !!computed.computedPinnedStartOverflow,
282
- // hasPinnedEndOverflow: !!computed.computedPinnedEndOverflow,
283
- focused,
284
- focusedWithin,
285
- }),
286
- );
287
-
288
- domProps.className = className;
289
-
290
- domProps.style = {
291
- ...initialDOMProps?.style,
292
- ...cssVars,
293
- };
294
- if (focused) {
295
- if (componentState.focusedStyle) {
296
- Object.assign(domProps.style, componentState.focusedStyle);
297
- }
298
- }
299
- if (focusedWithin) {
300
- if (componentState.focusedWithinStyle) {
301
- Object.assign(domProps.style, componentState.focusedWithinStyle);
302
- }
303
- }
304
-
305
- return domProps;
306
- }