@infinite-table/infinite-react 0.4.13 → 0.5.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 (282) hide show
  1. package/.vscode/settings.json +3 -0
  2. package/API.md +0 -0
  3. package/build/buildPackageJson.js +43 -0
  4. package/build/scripts/test.js +37 -0
  5. package/bundler.config.js +25 -0
  6. package/globals.d.ts +7 -0
  7. package/package.json +95 -3
  8. package/rollup.config.js +15 -0
  9. package/run-build-deepmap.js +47 -0
  10. package/run-build.js +45 -0
  11. package/run-dts-concat.js +21 -0
  12. package/src/components/CSSVariableWatch.tsx +82 -0
  13. package/src/components/DataSource/BooleanCollectionState.ts +214 -0
  14. package/src/components/DataSource/BooleanDeepCollectionState.ts +208 -0
  15. package/src/components/DataSource/DataSourceContext.ts +20 -0
  16. package/src/components/DataSource/GroupRowsState.ts +74 -0
  17. package/src/components/DataSource/Indexer.ts +27 -0
  18. package/src/components/DataSource/RowSelectionState.ts +763 -0
  19. package/src/components/DataSource/defaultFilterTypes.ts +64 -0
  20. package/src/components/DataSource/index.tsx +108 -0
  21. package/src/components/DataSource/privateHooks/getChangeDetect.ts +7 -0
  22. package/src/components/DataSource/privateHooks/useLoadData.ts +783 -0
  23. package/src/components/DataSource/publicHooks/useDataSource.ts +19 -0
  24. package/src/components/DataSource/publicHooks/useDataSourceActions.ts +14 -0
  25. package/src/components/DataSource/state/getInitialState.ts +494 -0
  26. package/src/components/DataSource/state/normalizeSortInfo.ts +35 -0
  27. package/src/components/DataSource/state/reducer.ts +466 -0
  28. package/src/components/DataSource/state/rowInfoStatus.ts +27 -0
  29. package/src/components/DataSource/types.ts +548 -0
  30. package/src/components/HeadlessTable/HeadlessTableWithPinnedContainers.tsx +142 -0
  31. package/src/components/HeadlessTable/MappedCells.ts +251 -0
  32. package/src/components/HeadlessTable/RawTable.tsx +98 -0
  33. package/src/components/HeadlessTable/ReactHeadlessTableRenderer.tsx +1516 -0
  34. package/src/components/HeadlessTable/index.tsx +234 -0
  35. package/src/components/InfiniteTable/InfiniteCls.css.ts +164 -0
  36. package/src/components/InfiniteTable/InfiniteTableContext.ts +16 -0
  37. package/src/components/InfiniteTable/api/getImperativeApi.ts +391 -0
  38. package/src/components/InfiniteTable/api/getSelectionApi.ts +364 -0
  39. package/src/components/InfiniteTable/api/type.ts +11 -0
  40. package/src/components/InfiniteTable/components/ActiveCellIndicator.css.ts +51 -0
  41. package/src/components/InfiniteTable/components/ActiveCellIndicator.tsx +116 -0
  42. package/src/components/InfiniteTable/components/ActiveRowIndicator.css.ts +56 -0
  43. package/src/components/InfiniteTable/components/ActiveRowIndicator.tsx +94 -0
  44. package/src/components/InfiniteTable/components/CheckBox.css.ts +13 -0
  45. package/src/components/InfiniteTable/components/CheckBox.tsx +96 -0
  46. package/src/components/InfiniteTable/components/FilterEditors.tsx +52 -0
  47. package/src/components/InfiniteTable/components/InfiniteTableBody/InfiniteTableBody.tsx +27 -0
  48. package/src/components/InfiniteTable/components/InfiniteTableBody/index.tsx +1 -0
  49. package/src/components/InfiniteTable/components/InfiniteTableFooter/InfiniteTableFooter.tsx +31 -0
  50. package/src/components/InfiniteTable/components/InfiniteTableFooter/index.tsx +1 -0
  51. package/src/components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableColumnHeaderFilter.tsx +102 -0
  52. package/src/components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableHeader.tsx +163 -0
  53. package/src/components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableHeaderCell.tsx +574 -0
  54. package/src/components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableHeaderGroup.tsx +79 -0
  55. package/src/components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableHeaderTypes.tsx +25 -0
  56. package/src/components/InfiniteTable/components/InfiniteTableHeader/InfiniteTableHeaderWrapper.tsx +185 -0
  57. package/src/components/InfiniteTable/components/InfiniteTableHeader/ResizeHandle/GroupResizeHandle.tsx +159 -0
  58. package/src/components/InfiniteTable/components/InfiniteTableHeader/ResizeHandle/ResizeHandle.css.ts +124 -0
  59. package/src/components/InfiniteTable/components/InfiniteTableHeader/ResizeHandle/columnResizer.ts +166 -0
  60. package/src/components/InfiniteTable/components/InfiniteTableHeader/ResizeHandle/index.tsx +146 -0
  61. package/src/components/InfiniteTable/components/InfiniteTableHeader/buildColumnAndGroupTree.ts +240 -0
  62. package/src/components/InfiniteTable/components/InfiniteTableHeader/header.css.ts +358 -0
  63. package/src/components/InfiniteTable/components/InfiniteTableHeader/index.tsx +1 -0
  64. package/src/components/InfiniteTable/components/InfiniteTableHeader/useColumnGroupResizeHandle.tsx +114 -0
  65. package/src/components/InfiniteTable/components/InfiniteTableHeader/useColumnResizeHandle.tsx +146 -0
  66. package/src/components/InfiniteTable/components/InfiniteTableLicenseFooter/footer.css.ts +7 -0
  67. package/src/components/InfiniteTable/components/InfiniteTableLicenseFooter/index.tsx +110 -0
  68. package/src/components/InfiniteTable/components/InfiniteTableRow/InfiniteTableCell.tsx +120 -0
  69. package/src/components/InfiniteTable/components/InfiniteTableRow/InfiniteTableCellTypes.ts +74 -0
  70. package/src/components/InfiniteTable/components/InfiniteTableRow/InfiniteTableColumnCell.tsx +457 -0
  71. package/src/components/InfiniteTable/components/InfiniteTableRow/InfiniteTableRow.tsx +107 -0
  72. package/src/components/InfiniteTable/components/InfiniteTableRow/InfiniteTableRowClassName.ts +6 -0
  73. package/src/components/InfiniteTable/components/InfiniteTableRow/InfiniteTableRowTypes.ts +32 -0
  74. package/src/components/InfiniteTable/components/InfiniteTableRow/InfiniteTableRowUnvirtualized.tsx +75 -0
  75. package/src/components/InfiniteTable/components/InfiniteTableRow/columnRendering.tsx +263 -0
  76. package/src/components/InfiniteTable/components/InfiniteTableRow/index.tsx +1 -0
  77. package/src/components/InfiniteTable/components/InfiniteTableRow/row.css.ts +74 -0
  78. package/src/components/InfiniteTable/components/InfiniteTableRow/useRowDOMProps.ts +199 -0
  79. package/src/components/InfiniteTable/components/LoadMask.css.ts +34 -0
  80. package/src/components/InfiniteTable/components/LoadMask.tsx +27 -0
  81. package/src/components/InfiniteTable/components/ScrollbarPlaceholder.tsx +56 -0
  82. package/src/components/InfiniteTable/components/cell.css.ts +192 -0
  83. package/src/components/InfiniteTable/components/icons/ArrowDown.tsx +14 -0
  84. package/src/components/InfiniteTable/components/icons/ArrowUp.tsx +14 -0
  85. package/src/components/InfiniteTable/components/icons/ExpanderIcon.css.ts +31 -0
  86. package/src/components/InfiniteTable/components/icons/ExpanderIcon.tsx +63 -0
  87. package/src/components/InfiniteTable/components/icons/Icon.tsx +18 -0
  88. package/src/components/InfiniteTable/components/icons/InfiniteTableIconClassName.ts +1 -0
  89. package/src/components/InfiniteTable/components/icons/LoadingIcon.css.ts +8 -0
  90. package/src/components/InfiniteTable/components/icons/LoadingIcon.tsx +45 -0
  91. package/src/components/InfiniteTable/components/icons/MenuIcon.tsx +50 -0
  92. package/src/components/InfiniteTable/components/icons/SortIcon.tsx +113 -0
  93. package/src/components/InfiniteTable/eventHandlers/eventHandlerTypes.ts +57 -0
  94. package/src/components/InfiniteTable/eventHandlers/index.ts +95 -0
  95. package/src/components/InfiniteTable/eventHandlers/keyboardNavigation.ts +232 -0
  96. package/src/components/InfiniteTable/eventHandlers/keyboardSelection.ts +110 -0
  97. package/src/components/InfiniteTable/eventHandlers/onCellClick.ts +94 -0
  98. package/src/components/InfiniteTable/eventHandlers/onKeyDown.ts +25 -0
  99. package/src/components/InfiniteTable/hooks/adjustColumnOrderForAllColumns.ts +70 -0
  100. package/src/components/InfiniteTable/hooks/reorderColumnsOnDrag.ts +476 -0
  101. package/src/components/InfiniteTable/hooks/useAutoSizeColumns.ts +206 -0
  102. package/src/components/InfiniteTable/hooks/useCellClassName.ts +80 -0
  103. package/src/components/InfiniteTable/hooks/useCellRendering.tsx +217 -0
  104. package/src/components/InfiniteTable/hooks/useColumnGroups.ts +71 -0
  105. package/src/components/InfiniteTable/hooks/useColumnMenu.ts +72 -0
  106. package/src/components/InfiniteTable/hooks/useColumnPointerEvents.ts +258 -0
  107. package/src/components/InfiniteTable/hooks/useColumnRowspan.ts +43 -0
  108. package/src/components/InfiniteTable/hooks/useColumnSizeFn.ts +24 -0
  109. package/src/components/InfiniteTable/hooks/useColumnsWhen.ts +582 -0
  110. package/src/components/InfiniteTable/hooks/useComputed.ts +186 -0
  111. package/src/components/InfiniteTable/hooks/useComputedVisibleColumns.ts +219 -0
  112. package/src/components/InfiniteTable/hooks/useDOMProps.ts +306 -0
  113. package/src/components/InfiniteTable/hooks/useEffectWithRaf.ts +47 -0
  114. package/src/components/InfiniteTable/hooks/useInfiniteTable.ts +10 -0
  115. package/src/components/InfiniteTable/hooks/useInfiniteTableState.ts +11 -0
  116. package/src/components/InfiniteTable/hooks/useInternalProps.ts +8 -0
  117. package/src/components/InfiniteTable/hooks/useLicense/LicenseDetails.ts +13 -0
  118. package/src/components/InfiniteTable/hooks/useLicense/crc32.ts +56 -0
  119. package/src/components/InfiniteTable/hooks/useLicense/decode.ts +147 -0
  120. package/src/components/InfiniteTable/hooks/useLicense/useLicense.ts +39 -0
  121. package/src/components/InfiniteTable/hooks/useRerenderOnKeyChange.ts +21 -0
  122. package/src/components/InfiniteTable/hooks/useRowHover.ts +18 -0
  123. package/src/components/InfiniteTable/hooks/useScrollToActiveCell.ts +48 -0
  124. package/src/components/InfiniteTable/hooks/useScrollToActiveRow.ts +44 -0
  125. package/src/components/InfiniteTable/hooks/useScrollbars.ts +51 -0
  126. package/src/components/InfiniteTable/hooks/useToggleGroupRow.ts +56 -0
  127. package/src/components/InfiniteTable/hooks/useUnpinnedRendering.tsx +165 -0
  128. package/src/components/InfiniteTable/hooks/useYourBrain.ts +55 -0
  129. package/src/components/InfiniteTable/index.tsx +352 -0
  130. package/src/components/InfiniteTable/internalProps.ts +4 -0
  131. package/src/components/InfiniteTable/state/computeColumnGroupsDepths.ts +29 -0
  132. package/src/components/InfiniteTable/state/getColumnVisibilityForHideEmptyGroupColumns.ts +127 -0
  133. package/src/components/InfiniteTable/state/getInitialState.ts +375 -0
  134. package/src/components/InfiniteTable/theme.css.ts +556 -0
  135. package/src/components/InfiniteTable/types/InfiniteTableAction.ts +6 -0
  136. package/src/components/InfiniteTable/types/InfiniteTableActionType.ts +12 -0
  137. package/src/components/InfiniteTable/types/InfiniteTableColumn.ts +478 -0
  138. package/src/components/InfiniteTable/types/InfiniteTableComputedValues.ts +43 -0
  139. package/src/components/InfiniteTable/types/InfiniteTableContextValue.ts +12 -0
  140. package/src/components/InfiniteTable/types/InfiniteTableInternalProps.ts +3 -0
  141. package/src/components/InfiniteTable/types/InfiniteTableProps.ts +511 -0
  142. package/src/components/InfiniteTable/types/InfiniteTableState.ts +195 -0
  143. package/src/components/InfiniteTable/types/Utility.ts +35 -0
  144. package/src/components/InfiniteTable/types/index.ts +96 -0
  145. package/src/components/InfiniteTable/utilities.css.ts +179 -0
  146. package/src/components/InfiniteTable/utils/MultiRowSelector.ts +111 -0
  147. package/src/components/InfiniteTable/utils/RenderHookComponentForInfinite.tsx +52 -0
  148. package/src/components/InfiniteTable/utils/adjustColumnOrderForPinning.ts +33 -0
  149. package/src/components/InfiniteTable/utils/assignFiltered.ts +29 -0
  150. package/src/components/InfiniteTable/utils/defaultGetColumContextMenuItems.tsx +108 -0
  151. package/src/components/InfiniteTable/utils/getColumnComputedType.ts +33 -0
  152. package/src/components/InfiniteTable/utils/getColumnForGroupBy.tsx +313 -0
  153. package/src/components/InfiniteTable/utils/getComputedVisibleColumns.ts +773 -0
  154. package/src/components/InfiniteTable/utils/getContextMenuForColumn.tsx +72 -0
  155. package/src/components/InfiniteTable/utils/infiniteDOMUtils.ts +189 -0
  156. package/src/components/InfiniteTable/utils/mapToObject.ts +20 -0
  157. package/src/components/InfiniteTable/utils/moveXatY.ts +25 -0
  158. package/src/components/InfiniteTable/utils/objectValuesExcept.ts +9 -0
  159. package/src/components/InfiniteTable/utils/progressiveSpeedScroller.ts +158 -0
  160. package/src/components/InfiniteTable/utils/rafFn.ts +13 -0
  161. package/src/components/InfiniteTable/utils/toCSSVarName.ts +1 -0
  162. package/src/components/InfiniteTable/utils/toMap.ts +24 -0
  163. package/src/components/Menu/Menu.tsx +750 -0
  164. package/src/components/Menu/MenuCls.css.ts +139 -0
  165. package/src/components/Menu/MenuContext.ts +10 -0
  166. package/src/components/Menu/MenuContextValue.ts +15 -0
  167. package/src/components/Menu/MenuProps.ts +98 -0
  168. package/src/components/Menu/MenuState.ts +56 -0
  169. package/src/components/Menu/MenuTriangleContext.ts +352 -0
  170. package/src/components/Menu/childrenToRuntimeItems.tsx +103 -0
  171. package/src/components/Menu/getMenuState.tsx +119 -0
  172. package/src/components/Menu/index.tsx +88 -0
  173. package/src/components/Menu/propToIdentifyMenu.ts +1 -0
  174. package/src/components/RawList/AvoidReactDiff.tsx +48 -0
  175. package/src/components/RawList/MappedItems.ts +143 -0
  176. package/src/components/RawList/ReactVirtualRenderer.tsx +307 -0
  177. package/src/components/RawList/index.tsx +42 -0
  178. package/src/components/RawList/types.ts +23 -0
  179. package/src/components/RawList/useVirtualRenderer.ts +36 -0
  180. package/src/components/RenderHookComponent.tsx +10 -0
  181. package/src/components/ResizeObserver/index.tsx +170 -0
  182. package/src/components/VirtualBrain/MatrixBrain.ts +1621 -0
  183. package/src/components/VirtualBrain/ScrollListener.ts +39 -0
  184. package/src/components/VirtualBrain/index.ts +664 -0
  185. package/src/components/VirtualList/ColumnListWithExternalScrolling.tsx +78 -0
  186. package/src/components/VirtualList/InfiniteListRootClassName.ts +1 -0
  187. package/src/components/VirtualList/RowListWithExternalScrolling.tsx +120 -0
  188. package/src/components/VirtualList/SpacePlaceholder.tsx +32 -0
  189. package/src/components/VirtualList/VirtualList.css.ts +29 -0
  190. package/src/components/VirtualList/VirtualList.tsx +141 -0
  191. package/src/components/VirtualList/VirtualRowList.tsx +34 -0
  192. package/src/components/VirtualList/types.ts +56 -0
  193. package/src/components/VirtualList/useCorrectHeightForRowElements.ts +14 -0
  194. package/src/components/VirtualScrollContainer/VirtualScrollContainer.css.ts +51 -0
  195. package/src/components/VirtualScrollContainer/getScrollableClassName.ts +30 -0
  196. package/src/components/VirtualScrollContainer/index.tsx +63 -0
  197. package/src/components/flexbox/index.ts +562 -0
  198. package/src/components/hooks/useComponentState/index.tsx +562 -0
  199. package/src/components/hooks/useComponentState/types.ts +32 -0
  200. package/src/components/hooks/useEffectOnceWithProperUnmount.ts +33 -0
  201. package/src/components/hooks/useEffectWithChanges.ts +56 -0
  202. package/src/components/hooks/useImmutableRef.ts +7 -0
  203. package/src/components/hooks/useInterceptedMap.ts +71 -0
  204. package/src/components/hooks/useLatest.tsx +8 -0
  205. package/src/components/hooks/useLazyLatest.ts +23 -0
  206. package/src/components/hooks/useMemoShallowObjectMerge.ts +16 -0
  207. package/src/components/hooks/useMounted.ts +18 -0
  208. package/src/components/hooks/useOnMount.ts +21 -0
  209. package/src/components/hooks/useOnScroll.ts +34 -0
  210. package/src/components/hooks/useOnce.ts +10 -0
  211. package/src/components/hooks/useOverlay/index.tsx +418 -0
  212. package/src/components/hooks/usePrevious.ts +8 -0
  213. package/src/components/hooks/usePropertyOld.ts +168 -0
  214. package/src/components/hooks/useRerender.ts +12 -0
  215. package/src/components/hooks/xuseProperty.ts +165 -0
  216. package/src/components/types/CellPosition.ts +4 -0
  217. package/src/components/types/NonUndefined.ts +1 -0
  218. package/src/components/types/RemoveObject.ts +22 -0
  219. package/src/components/types/Renderable.ts +3 -0
  220. package/src/components/types/ScrollPosition.ts +7 -0
  221. package/src/components/types/Setter.ts +2 -0
  222. package/src/components/types/Size.ts +6 -0
  223. package/src/components/types/SubscriptionCallback.ts +10 -0
  224. package/src/components/types/VoidFn.ts +1 -0
  225. package/src/components/utils/buildSubscriptionCallback.tsx +60 -0
  226. package/src/components/utils/clamp.ts +3 -0
  227. package/src/components/utils/debounce.ts +16 -0
  228. package/src/components/utils/decamelize.ts +11 -0
  229. package/src/components/utils/discardCallsWithEqualArg.ts +42 -0
  230. package/src/components/utils/getRenderIndexes.ts +33 -0
  231. package/src/components/utils/getScrollbarWidth.ts +31 -0
  232. package/src/components/utils/getVirtualRenderCount.ts +21 -0
  233. package/src/components/utils/isControlled.ts +12 -0
  234. package/src/components/utils/isControlledValue.ts +5 -0
  235. package/src/index.tsx +34 -0
  236. package/src/test.tsx +18 -0
  237. package/src/utils/DeepMap/index.ts +588 -0
  238. package/src/utils/DeepMap/once.ts +16 -0
  239. package/src/utils/DeepMap/sortAscending.ts +1 -0
  240. package/src/utils/DeepMap/tsconfig.deepmap.json +17 -0
  241. package/src/utils/DeepMap/xpackage.json +26 -0
  242. package/src/utils/debug.ts +40 -0
  243. package/src/utils/deepClone.ts +38 -0
  244. package/src/utils/getGlobal.ts +3 -0
  245. package/src/utils/groupAndPivot/defaultToKey.ts +3 -0
  246. package/src/utils/groupAndPivot/getGroupKeysForDataItem.ts +19 -0
  247. package/src/utils/groupAndPivot/getPivotColumnsAndColumnGroups.ts +361 -0
  248. package/src/utils/groupAndPivot/index.ts +1229 -0
  249. package/src/utils/groupAndPivot/types.ts +10 -0
  250. package/src/utils/join.ts +4 -0
  251. package/src/utils/mathIntersection.ts +21 -0
  252. package/src/utils/minified.d.ts +2 -0
  253. package/src/utils/minified.js +6 -0
  254. package/src/utils/multisort/index.ts +151 -0
  255. package/src/utils/multisort/sortTypes.ts +25 -0
  256. package/src/utils/notes-status.md +92 -0
  257. package/src/utils/pageGeometry/ConvexPoly.ts +34 -0
  258. package/src/utils/pageGeometry/Point.ts +51 -0
  259. package/src/utils/pageGeometry/PolyWithPoints.ts +52 -0
  260. package/src/utils/pageGeometry/Rectangle.ts +98 -0
  261. package/src/utils/pageGeometry/Triangle.ts +16 -0
  262. package/src/utils/pageGeometry/alignment/index.ts +221 -0
  263. package/src/utils/pageGeometry/polyContainsPoint.ts +182 -0
  264. package/src/utils/pageGeometry/types.ts +3 -0
  265. package/src/utils/proxyFnCall.ts +46 -0
  266. package/src/utils/raf.ts +13 -0
  267. package/src/utils/selectParent.ts +18 -0
  268. package/src/utils/shallowEqualObjects.ts +49 -0
  269. package/src/utils/stripVar.ts +3 -0
  270. package/src/utils/toUpperFirst.ts +5 -0
  271. package/todo.md +2 -0
  272. package/tsconfig.build.json +8 -0
  273. package/tsconfig.dev.json +7 -0
  274. package/tsconfig.json +30 -0
  275. package/tsconfig.typebundler.json +13 -0
  276. package/typedoc.json +4 -0
  277. package/README.md +0 -104
  278. package/index.css +0 -857
  279. package/index.d.ts +0 -2111
  280. package/index.esm.css +0 -857
  281. package/index.esm.js +0 -13695
  282. package/index.js +0 -13565
@@ -0,0 +1,556 @@
1
+ import {
2
+ createGlobalThemeContract,
3
+ createThemeContract,
4
+ globalStyle,
5
+ } from '@vanilla-extract/css';
6
+ import { toCSSVarName } from './utils/toCSSVarName';
7
+
8
+ export const columnHeaderHeightName = 'column-header-height';
9
+ export const InternalVars = createThemeContract({
10
+ currentColumnWidth: null,
11
+ currentColumnTransformX: null,
12
+ currentColumnTransformY: null,
13
+
14
+ activeCellRowOffset: null,
15
+ activeCellRowHeight: null,
16
+
17
+ activeCellOffsetX: null,
18
+ activeCellOffsetY: null,
19
+
20
+ scrollTopForActiveRow: null,
21
+ // this will be set to `${columnWidthAtIndex}-${the index of the column on which the active cell is}`
22
+ activeCellColWidth: null,
23
+
24
+ // this will be set to `${columnOffsetAtIndex}-${the index of the column on which the active cell is}`
25
+ activeCellColOffset: null,
26
+
27
+ columnReorderEffectDurationAtIndex: null,
28
+ columnWidthAtIndex: null,
29
+ columnOffsetAtIndex: null,
30
+ columnOffsetAtIndexWhileReordering: null,
31
+ columnZIndexAtIndex: null,
32
+
33
+ pinnedStartWidth: null,
34
+ pinnedEndWidth: null,
35
+
36
+ pinnedEndOffset: null,
37
+
38
+ computedVisibleColumnsCount: null,
39
+
40
+ baseZIndexForCells: null,
41
+
42
+ bodyWidth: null,
43
+ bodyHeight: null,
44
+
45
+ scrollbarWidthHorizontal: null,
46
+ scrollbarWidthVertical: null,
47
+
48
+ scrollLeft: null,
49
+ scrollTop: null,
50
+ });
51
+ export const ThemeVars = createGlobalThemeContract(
52
+ {
53
+ color: {
54
+ /**
55
+ * Brand-specific accent color. This probably needs override to match your app.
56
+ */
57
+ accent: 'accent-color',
58
+ error: 'error-color',
59
+ /**
60
+ * The text color inside the component
61
+ */
62
+ color: 'color',
63
+ },
64
+ spacing: {
65
+ 0: 'space-0',
66
+ 1: 'space-1',
67
+ 2: 'space-2',
68
+ 3: 'space-3',
69
+ 4: 'space-4',
70
+ 5: 'space-5',
71
+ 6: 'space-6',
72
+ 7: 'space-7',
73
+ 8: 'space-8',
74
+ 9: 'space-9',
75
+ 10: 'space-10',
76
+ },
77
+ fontSize: {
78
+ 0: 'font-size-0',
79
+ 1: 'font-size-1',
80
+ 2: 'font-size-2',
81
+ 3: 'font-size-3',
82
+ 4: 'font-size-4',
83
+ 5: 'font-size-5',
84
+ 6: 'font-size-6',
85
+ 7: 'font-size-7',
86
+ },
87
+ fontFamily: 'font-family',
88
+ minHeight: 'min-height',
89
+ borderRadius: 'border-radius',
90
+ /**
91
+ * The background color for the whole component.
92
+ *
93
+ * Overriden in the `dark` theme.
94
+ */
95
+ background: 'background',
96
+
97
+ components: {
98
+ LoadMask: {
99
+ /**
100
+ * The padding used for the content inside the LoadMask.
101
+ */
102
+ padding: 'load-mask-padding',
103
+ color: 'load-mask-color',
104
+ textBackground: 'load-mask-text-background',
105
+ overlayBackground: 'load-mask-overlay-background',
106
+ overlayOpacity: 'load-mask-overlay-opacity',
107
+ borderRadius: 'load-mask-border-radius',
108
+ },
109
+ Header: {
110
+ /**
111
+ * Background color for the header. Defaults to [`--infinie-header-cell-background`](#header-cell-background).
112
+ *
113
+ * Overriden in the `dark` theme.
114
+ */
115
+ background: 'header-background',
116
+ /**
117
+ * The text color inside the header.
118
+ *
119
+ * Overriden in the `dark` theme.
120
+ */
121
+ color: 'header-color',
122
+
123
+ /**
124
+ * The height of the column header.
125
+ *
126
+ * @alias column-header-height
127
+ */
128
+ columnHeaderHeight: columnHeaderHeightName,
129
+ },
130
+ HeaderCell: {
131
+ /**
132
+ * Background for header cells.
133
+ *
134
+ * Overriden in the `dark` theme.
135
+ */
136
+ background: 'header-cell-background',
137
+ hoverBackground: 'header-cell-hover-background',
138
+ padding: 'header-cell-padding',
139
+ paddingX: 'header-cell-padding-x',
140
+ paddingY: 'header-cell-padding-y',
141
+ iconSize: 'header-cell-icon-size',
142
+ menuIconLineWidth: 'header-cell-menu-icon-line-width',
143
+ sortIconMargin: 'header-cell-sort-icon-margin',
144
+ /**
145
+ * The width of the area you can hover over in order to grab the column resize handle.
146
+ * Defaults to `20px`.
147
+ *
148
+ * The purpose of this active area is to make it easier to grab the resize handle.
149
+ */
150
+ resizeHandleActiveAreaWidth: 'resize-handle-active-area-width',
151
+
152
+ /**
153
+ * The width of the colored column resize handle that is displayed on hover and on drag. Defaults to `2px`
154
+ */
155
+ resizeHandleWidth: 'resize-handle-width',
156
+
157
+ /**
158
+ * The color of the column resize handle - the resize handle is the visible indicator that you see
159
+ * when hovering over the right-edge of a resizable column. Also visible on drag while doing a column resize.
160
+ */
161
+ resizeHandleHoverBackground: 'resize-handle-hover-background',
162
+
163
+ /**
164
+ * The color of the column resize handle when it has reached a min/max constraint.
165
+ */
166
+ resizeHandleConstrainedHoverBackground:
167
+ 'resize-handle-constrained-hover-background',
168
+ },
169
+ Cell: {
170
+ padding: 'cell-padding',
171
+ borderWidth: 'cell-border-width',
172
+ /**
173
+ * Specifies the border for cells.
174
+ *
175
+ * Overriden in the `dark` theme - eg: `1px solid #2a323d`
176
+ */
177
+ border: 'cell-border',
178
+ borderInvisible: 'cell-border-invisible',
179
+ borderRadius: 'cell-border-radius',
180
+ reorderEffectDuration: 'column-reorder-effect-duration',
181
+ pinnedBorder: 'pinned-cell-border',
182
+
183
+ /**
184
+ * Text color inside rows. Defaults to `currentColor`
185
+ *
186
+ * Overriden in `dark` theme.
187
+ */
188
+ color: 'cell-color',
189
+
190
+ /**
191
+ * The RED component of the color used for the active cell when cell keyboard navigation is enabled.
192
+ *
193
+ * The easiest way to define the color of the active cell is to use these 3 variables:
194
+ * `--infinite-active-cell-border-color--r`
195
+ * `--infinite-active-cell-border-color--g`
196
+ * `--infinite-active-cell-border-color--b`
197
+ * as they define both the border and the background color of the active cell and the active row.
198
+ *
199
+ * You can also specify the GREEN and BLUE components of the color using the next two css vars.
200
+ *
201
+ * The border color of the active cell is decomposed into multiple variables for convenience as by default
202
+ * the background of the active cell is the same color, but with the opacity specified by the value of `--infinie-active-cell-background-alpha`.
203
+ *
204
+ * If you don't want this, you can use `--infinite-active-cell-background` instead.
205
+ */
206
+ activeBorderColor_R: 'active-cell-border-color--r',
207
+
208
+ /**
209
+ * The GREEN component of the color used for the active cell when cell keyboard navigation is enabled.
210
+ *
211
+ * The easiest way to define the color of the active cell is to use these 3 variables:
212
+ * `--infinite-active-cell-border-color--r`
213
+ * `--infinite-active-cell-border-color--g`
214
+ * `--infinite-active-cell-border-color--b`
215
+ * as they define both the border and the background color of the active cell and the active row.
216
+ *
217
+ * You can also specify the RED and BLUE components of the color using the next two css vars.
218
+ *
219
+ * The border color of the active cell is decomposed into multiple variables for convenience as by default
220
+ * the background of the active cell is the same color, but with the opacity specified by the value of `--infinie-active-cell-background-alpha`.
221
+ *
222
+ * If you don't want this, you can use `--infinite-active-cell-background` instead.
223
+ */
224
+ activeBorderColor_G: 'active-cell-border-color--g',
225
+
226
+ /**
227
+ * The BLUE component of the color used for the active cell when cell keyboard navigation is enabled.
228
+ *
229
+ * The easiest way to define the color of the active cell is to use these 3 variables:
230
+ * `--infinite-active-cell-border-color--r`
231
+ * `--infinite-active-cell-border-color--g`
232
+ * `--infinite-active-cell-border-color--b`
233
+ * as they define both the border and the background color of the active cell and the active row.
234
+ *
235
+ * You can also specify the RED and GREEN components of the color using the next two css vars.
236
+ *
237
+ * The border color of the active cell is decomposed into multiple variables for convenience as by default
238
+ * the background of the active cell is the same color, but with the opacity specified by the value of `--infinie-active-cell-background-alpha`.
239
+ *
240
+ * If you don't want this, you can use `--infinite-active-cell-background` instead.
241
+ */
242
+ activeBorderColor_B: 'active-cell-border-color--b',
243
+
244
+ /**
245
+ * The opacity of the background color for the active cell (when cell keyboard navigation is enabled).
246
+ *
247
+ * The background color of the active cell is based on the value of the above 3 variables, but with the opacity specified by this variable.
248
+ * This is applied when the component has focus.
249
+ */
250
+ activeBackgroundAlpha: 'active-cell-background-alpha',
251
+
252
+ /**
253
+ * Same as the above, but applied when the component does not have focus.
254
+ */
255
+ activeBackgroundAlphaWhenTableUnfocused:
256
+ 'active-cell-background-alpha--table-unfocused',
257
+
258
+ /**
259
+ * The background color of the active cell defaults to the same color (with modified opacity, as explained above) as the border color.
260
+ *
261
+ * However, specify this to explicitly override the default.
262
+ */
263
+ activeBackground: 'active-cell-background',
264
+
265
+ /**
266
+ * The color for border of the active cell (when cell keyboard navigation is enabled).
267
+ */
268
+ activeBorderColor: 'active-cell-border-color',
269
+ /**
270
+ * The width of the border for the active cell.
271
+ */
272
+ activeBorderWidth: 'active-cell-border-width',
273
+
274
+ /**
275
+ * The style of the border for the active cell (eg: 'solid', 'dashed', 'dotted') - defaults to 'dashed'.
276
+ */
277
+ activeBorderStyle: 'active-cell-border-style',
278
+
279
+ /**
280
+ * Specifies the border for the active cell. Defaults to `var(--infinite-active-cell-border-width) var(--infinite-active-cell-border-style) var(--infinite-active-cell-border-color)`.
281
+ */
282
+ activeBorder: 'active-cell-border',
283
+ },
284
+ SelectionCheckBox: {
285
+ marginInline: 'selection-checkbox-margin-inline',
286
+ },
287
+ Menu: {
288
+ background: 'menu-background',
289
+ color: 'menu-color',
290
+ padding: 'menu-padding',
291
+ cellPaddingVertical: 'menu-cell-padding-vertical',
292
+ cellPaddingHorizontal: 'menu-cell-padding-horizontal',
293
+ cellMarginVertical: 'menu-cell-margin-vertical',
294
+ itemDisabledBackground: 'menu-item-disabled-background',
295
+ itemActiveBackground: 'menu-item-active-background',
296
+ itemActiveOpacity: 'menu-item-active-opacity',
297
+ itemPressedOpacity: 'menu-item-pressed-opacity',
298
+ itemPressedBackground: 'menu-item-pressed-background',
299
+ itemDisabledOpacity: 'menu-item-disabled-opacity',
300
+ borderRadius: 'menu-border-radius',
301
+ shadowColor: 'menu-shadow-color',
302
+ },
303
+ Row: {
304
+ /**
305
+ * Background color for rows. Defaults to [`--infinite-background`](#background).
306
+ *
307
+ * Overriden in `dark` theme.
308
+ */
309
+ background: 'row-background',
310
+
311
+ /**
312
+ * Background color for odd rows. Even rows will use [`--infinite-row-background`](#row-background).
313
+ *
314
+ * Overriden in `dark` theme.
315
+ */
316
+ oddBackground: 'row-odd-background',
317
+
318
+ selectedBackground: 'row-selected-background',
319
+
320
+ /**
321
+ * The background color of the active row. Defaults to the value of `var(--infinite-active-cell-background)`.
322
+ *
323
+ * However, specify this to explicitly override the default.
324
+ */
325
+ activeBackground: 'active-row-background',
326
+
327
+ /**
328
+ * The border color for the active row. Defaults to the value of `var(--infinite-active-cell-border-color)`.
329
+ */
330
+ activeBorderColor: 'active-row-border-color',
331
+
332
+ /**
333
+ * The width of the border for the active row. Defaults to the value of `var(--infinite-active-cell-border-width)`.
334
+ */
335
+ activeBorderWidth: 'active-row-border-width',
336
+
337
+ /**
338
+ * The style of the border for the active row (eg: 'solid', 'dashed', 'dotted') - defaults to the value of `var(--infinite-active-cell-border-style)`, which is `dashed` by default.
339
+ */
340
+ activeBorderStyle: 'active-row-border-style',
341
+
342
+ /**
343
+ * Specifies the border for the active row. Defaults to `var(--infinite-active-row-border-width) var(--infinite-active-row-border-style) var(--infinite-active-row-border-color)`.
344
+ */
345
+ activeBorder: 'active-row-border',
346
+
347
+ /**
348
+ * The opacity of the background color for the active row (when row keyboard navigation is enabled).
349
+ * When you explicitly specify `--infinite-active-row-background`, this variable will not be used.
350
+ * Instead, this variable is used when the active row background uses the color of the active cell (border).
351
+ *
352
+ * This is applied when the component has focus.
353
+ *
354
+ * Defaults to the value of `var(--infinite-active-cell-background-alpha)`.
355
+ */
356
+ activeBackgroundAlpha: 'active-row-background-alpha',
357
+
358
+ /**
359
+ * Same as the above, but applied when the component does not have focus.
360
+ *
361
+ * When you explicitly specify `--infinite-active-row-background`, this variable will not be used.
362
+ * Instead, this variable is used when the active row background uses the color of the active cell (border).
363
+ *
364
+ * Defaults to the value of `var(--infinite-active-cell-background-alpha--table-unfocused)`.
365
+ */
366
+ activeBackgroundAlphaWhenTableUnfocused:
367
+ 'active-row-background-alpha--table-unfocused',
368
+
369
+ /**
370
+ * Background color for rows, on hover.
371
+ *
372
+ * Overriden in the `dark` theme.
373
+ */
374
+ hoverBackground: 'row-hover-background',
375
+ selectedHoverBackground: 'row-selected-hover-background',
376
+ groupRowBackground: 'group-row-background',
377
+ groupRowColumnNesting: 'group-row-column-nesting',
378
+ groupNesting: 'dont-override-group-row-nesting-length',
379
+ pointerEventsWhileScrolling: 'row-pointer-events-while-scrolling',
380
+ },
381
+ ColumnCell: {
382
+ background: 'column-cell-bg-dont-override',
383
+ },
384
+ },
385
+ },
386
+ toCSSVarName,
387
+ );
388
+
389
+ // declare here vars that default to other vars
390
+ const LoadMaskVars = {
391
+ [ThemeVars.components.LoadMask.textBackground]: 'rgba(255,255,255,0.8)',
392
+ [ThemeVars.components.LoadMask.overlayBackground]: 'gray',
393
+ [ThemeVars.components.LoadMask.overlayOpacity]: '0.3',
394
+ [ThemeVars.components.LoadMask.color]: 'inherit',
395
+ [ThemeVars.components.LoadMask.padding]: ThemeVars.spacing[5],
396
+ [ThemeVars.components.LoadMask.borderRadius]: ThemeVars.borderRadius,
397
+ };
398
+
399
+ const HeaderCellVars = {
400
+ [ThemeVars.components.HeaderCell.resizeHandleActiveAreaWidth]: '20px',
401
+ [ThemeVars.components.HeaderCell.resizeHandleWidth]: '2px',
402
+ [ThemeVars.components.HeaderCell.resizeHandleHoverBackground]: '#6bff6b',
403
+ [ThemeVars.components.HeaderCell.resizeHandleConstrainedHoverBackground]:
404
+ ThemeVars.color.error,
405
+ [ThemeVars.components.HeaderCell.background]: '#ededed',
406
+ [ThemeVars.components.HeaderCell.hoverBackground]: '#dfdfdf',
407
+ [ThemeVars.components.HeaderCell.paddingX]: ThemeVars.spacing['3'],
408
+ [ThemeVars.components.HeaderCell.paddingY]: ThemeVars.spacing['3'],
409
+ [ThemeVars.components.HeaderCell
410
+ .padding]: `${ThemeVars.components.HeaderCell.paddingY} ${ThemeVars.components.HeaderCell.paddingX} `,
411
+
412
+ [ThemeVars.components.HeaderCell.iconSize]: '16px',
413
+ [ThemeVars.components.HeaderCell.menuIconLineWidth]: '1px',
414
+ [ThemeVars.components.HeaderCell.sortIconMargin]: '16px',
415
+ };
416
+ const HeaderVars = {
417
+ [ThemeVars.components.Header.background]:
418
+ ThemeVars.components.HeaderCell.background,
419
+ [ThemeVars.components.Header.color]: '#6f6f6f',
420
+ [ThemeVars.components.Header.columnHeaderHeight]: '30px',
421
+ };
422
+
423
+ const CellVars = {
424
+ [ThemeVars.components.Cell.color]: 'currentColor',
425
+ [ThemeVars.components.Cell.borderWidth]: '1px',
426
+ [ThemeVars.components.Cell
427
+ .padding]: `${ThemeVars.spacing[2]} ${ThemeVars.spacing[3]}`,
428
+ [ThemeVars.components.Cell
429
+ .border]: `${ThemeVars.components.Cell.borderWidth} solid #c6c6c6`,
430
+
431
+ [ThemeVars.components.Cell
432
+ .pinnedBorder]: `${ThemeVars.components.Cell.borderWidth} solid #2a323d`,
433
+ [ThemeVars.components.Cell.borderInvisible]: 'none',
434
+ [ThemeVars.components.Cell.borderRadius]: ThemeVars.spacing[2],
435
+ [ThemeVars.components.Cell.reorderEffectDuration]: '.2s',
436
+
437
+ [ThemeVars.components.Cell.activeBorderStyle]: 'dashed',
438
+ [ThemeVars.components.Cell.activeBorderWidth]: '1px',
439
+ [ThemeVars.components.Cell.activeBorderColor_R]: '77',
440
+ [ThemeVars.components.Cell.activeBorderColor_G]: '149',
441
+ [ThemeVars.components.Cell.activeBorderColor_B]: '215',
442
+
443
+ [ThemeVars.components.Cell.activeBackgroundAlpha]: '0.25',
444
+ [ThemeVars.components.Cell.activeBackgroundAlphaWhenTableUnfocused]: '0.1',
445
+ };
446
+
447
+ const SelectionCheckBoxVars = {
448
+ [ThemeVars.components.SelectionCheckBox
449
+ .marginInline]: `${ThemeVars.spacing[2]}`,
450
+ };
451
+
452
+ const RowVars = {
453
+ [ThemeVars.components.Row.background]: ThemeVars.background,
454
+ [ThemeVars.components.Row.oddBackground]: '#f6f6f6',
455
+ [ThemeVars.components.Row.selectedBackground]: '#d1e9ff',
456
+ [ThemeVars.components.Row.selectedHoverBackground]: '#add8ff',
457
+ [ThemeVars.components.Row.groupRowBackground]: '#cbc5c5',
458
+ [ThemeVars.components.Row.groupRowColumnNesting]: '30px',
459
+ [ThemeVars.components.Row.hoverBackground]: '#dbdbdb',
460
+ [ThemeVars.components.Row.pointerEventsWhileScrolling]: 'auto',
461
+ };
462
+
463
+ const MenuVars = {
464
+ [ThemeVars.components.Menu.background]: ThemeVars.background,
465
+ [ThemeVars.components.Menu.color]: ThemeVars.components.Cell.color,
466
+ [ThemeVars.components.Menu.padding]: ThemeVars.spacing[3],
467
+ [ThemeVars.components.Menu.cellPaddingVertical]: ThemeVars.spacing[3],
468
+ [ThemeVars.components.Menu.cellPaddingHorizontal]: ThemeVars.spacing[3],
469
+ [ThemeVars.components.Menu.cellMarginVertical]: ThemeVars.spacing[0],
470
+ [ThemeVars.components.Menu.itemDisabledBackground]:
471
+ ThemeVars.components.Menu.background,
472
+ [ThemeVars.components.Menu.itemDisabledOpacity]: 0.5,
473
+ [ThemeVars.components.Menu.itemActiveBackground]:
474
+ ThemeVars.components.Row.hoverBackground,
475
+ [ThemeVars.components.Menu.itemPressedBackground]:
476
+ ThemeVars.components.Row.hoverBackground,
477
+ [ThemeVars.components.Menu.itemActiveOpacity]: 0.9,
478
+ [ThemeVars.components.Menu.itemPressedOpacity]: 1,
479
+ [ThemeVars.components.Menu.borderRadius]: ThemeVars.spacing[2],
480
+ [ThemeVars.components.Menu.shadowColor]: `rgba(0,0,0,0.25)`,
481
+ };
482
+
483
+ const LightTheme = {
484
+ [ThemeVars.spacing[0]]: '0rem' /* 0px when 1rem=16px */,
485
+ [ThemeVars.spacing[1]]: '0.125rem' /* 2px when 1rem=16px */,
486
+ [ThemeVars.spacing[2]]: '0.25rem' /* 4px when 1rem=16px */,
487
+ [ThemeVars.spacing[3]]: '0.5rem' /* 8px when 1rem=16px */,
488
+ [ThemeVars.spacing[4]]: '0.75rem' /* 12px when 1rem=16px */,
489
+ [ThemeVars.spacing[5]]: '1rem' /* 16px when 1rem=16px */,
490
+ [ThemeVars.spacing[6]]: '1.25rem' /* 20px when 1rem=16px */,
491
+ [ThemeVars.spacing[7]]: '1.5rem' /* 24px when 1rem=16px */,
492
+ [ThemeVars.spacing[8]]: '2.25rem' /* 36px when 1rem=16px */,
493
+ [ThemeVars.spacing[9]]: '3rem' /* 48px when 1rem=16px */,
494
+ [ThemeVars.spacing[10]]: '4rem' /* 64px when 1rem=16px */,
495
+
496
+ [ThemeVars.fontSize[0]]: '0.5rem' /* 8px when 1rem=16px */,
497
+ [ThemeVars.fontSize[1]]: '0.625rem' /* 10px when 1rem=16px */,
498
+ [ThemeVars.fontSize[2]]: '0.75rem' /* 12px when 1rem=16px */,
499
+ [ThemeVars.fontSize[3]]: '0.875rem' /* 14px when 1rem=16px */,
500
+ [ThemeVars.fontSize[4]]: '1rem' /* 16px when 1rem=16px */,
501
+ [ThemeVars.fontSize[5]]: '1.25rem' /* 20px when 1rem=16px */,
502
+ [ThemeVars.fontSize[6]]: '1.5rem' /* 24px when 1rem=16px */,
503
+ [ThemeVars.fontSize[7]]: '2.25rem' /* 36px when 1rem=16px */,
504
+
505
+ [ThemeVars.fontFamily]: 'inherit',
506
+ [ThemeVars.color.color]: '#484848',
507
+ [ThemeVars.color.accent]: '#ff7043',
508
+ [ThemeVars.color.error]: '#ff0000',
509
+ [ThemeVars.borderRadius]: ThemeVars.spacing[2],
510
+ [ThemeVars.background]: 'white',
511
+ [ThemeVars.minHeight]: '100px',
512
+
513
+ ...SelectionCheckBoxVars,
514
+ ...MenuVars,
515
+ ...LoadMaskVars,
516
+ ...HeaderCellVars,
517
+ ...HeaderVars,
518
+ ...CellVars,
519
+ ...RowVars,
520
+ };
521
+
522
+ const DarkTheme = {
523
+ [ThemeVars.background]: '#101419',
524
+ [ThemeVars.components.Cell.border]: '1px solid #2a323d',
525
+ [ThemeVars.components.Header.color]: '#c3c3c3',
526
+ [ThemeVars.components.HeaderCell.background]: '#1b2129',
527
+ [ThemeVars.components.HeaderCell.hoverBackground]: '#222932',
528
+ [ThemeVars.components.Header.background]:
529
+ ThemeVars.components.HeaderCell.background,
530
+ [ThemeVars.components.Row.hoverBackground]: '#3b4754',
531
+ [ThemeVars.components.Row.selectedBackground]: '#0a2e4f',
532
+ [ThemeVars.components.Row.selectedHoverBackground]: '#0b243a',
533
+ [ThemeVars.components.Row.background]: ThemeVars.background,
534
+ [ThemeVars.components.Row.oddBackground]: '#242a31',
535
+ [ThemeVars.components.Cell.color]: '#c3c3c3',
536
+ [ThemeVars.components.Menu.shadowColor]: `rgba(0,0,0,0.25)`,
537
+ [ThemeVars.components.Menu.shadowColor]: `rgba(255,255,255,0.25)`,
538
+ };
539
+
540
+ globalStyle(':root', {
541
+ //@ts-ignore
542
+ vars: LightTheme,
543
+ '@media': {
544
+ '(prefers-color-scheme: dark)': {
545
+ vars: DarkTheme,
546
+ },
547
+ },
548
+ });
549
+
550
+ globalStyle('.light, .infinite-light, .light:root, .infinite-light:root', {
551
+ //@ts-ignore
552
+ vars: LightTheme,
553
+ });
554
+ globalStyle('.dark, .infinite-dark', {
555
+ vars: DarkTheme,
556
+ });
@@ -0,0 +1,6 @@
1
+ import { InfiniteTableActionType } from './InfiniteTableActionType';
2
+
3
+ export type InfiniteTableAction = {
4
+ type: InfiniteTableActionType;
5
+ payload?: any;
6
+ };
@@ -0,0 +1,12 @@
1
+ export enum InfiniteTableActionType {
2
+ SET_COLUMN_SIZE,
3
+ // SET_VIEWPORT_SIZE,
4
+ SET_SCROLL_POSITION,
5
+ SET_BODY_SIZE,
6
+ SET_COLUMN_ORDER,
7
+ SET_COLUMN_VISIBILITY,
8
+ SET_COLUMN_SHIFTS,
9
+ SET_COLUMN_PINNING,
10
+ SET_COLUMN_AGGREGATIONS,
11
+ SET_DRAGGING_COLUMN_ID,
12
+ }