@geovi/the-datagrid 0.0.11 → 0.0.12

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 (71) hide show
  1. package/dist/base.css +1 -1
  2. package/dist/components/ui/command.d.ts +6 -6
  3. package/dist/filters/utils.d.ts.map +1 -1
  4. package/dist/grid/ReactDataGrid.d.ts +3 -9
  5. package/dist/grid/ReactDataGrid.d.ts.map +1 -1
  6. package/dist/grid/components/GridLoadingLayer.d.ts +14 -0
  7. package/dist/grid/components/GridLoadingLayer.d.ts.map +1 -0
  8. package/dist/grid/gridDefaultProps.d.ts +13 -0
  9. package/dist/grid/gridDefaultProps.d.ts.map +1 -0
  10. package/dist/grid/hooks/useGridColumnApi.d.ts +50 -0
  11. package/dist/grid/hooks/useGridColumnApi.d.ts.map +1 -0
  12. package/dist/grid/hooks/useGridColumnDefs.d.ts +42 -0
  13. package/dist/grid/hooks/useGridColumnDefs.d.ts.map +1 -0
  14. package/dist/grid/hooks/useGridColumnResize.d.ts +65 -0
  15. package/dist/grid/hooks/useGridColumnResize.d.ts.map +1 -0
  16. package/dist/grid/hooks/useGridColumnSizingApi.d.ts +37 -0
  17. package/dist/grid/hooks/useGridColumnSizingApi.d.ts.map +1 -0
  18. package/dist/grid/hooks/useGridContextMenuLayers.d.ts +61 -0
  19. package/dist/grid/hooks/useGridContextMenuLayers.d.ts.map +1 -0
  20. package/dist/grid/hooks/useGridContextMenus.d.ts +44 -0
  21. package/dist/grid/hooks/useGridContextMenus.d.ts.map +1 -0
  22. package/dist/grid/hooks/useGridDataLoader.d.ts +56 -0
  23. package/dist/grid/hooks/useGridDataLoader.d.ts.map +1 -0
  24. package/dist/grid/hooks/useGridEditing.d.ts +64 -0
  25. package/dist/grid/hooks/useGridEditing.d.ts.map +1 -0
  26. package/dist/grid/hooks/useGridHeaderReorder.d.ts +24 -0
  27. package/dist/grid/hooks/useGridHeaderReorder.d.ts.map +1 -0
  28. package/dist/grid/hooks/useGridImperativeApi.d.ts +270 -0
  29. package/dist/grid/hooks/useGridImperativeApi.d.ts.map +1 -0
  30. package/dist/grid/hooks/useGridKeyboardNavigation.d.ts +86 -0
  31. package/dist/grid/hooks/useGridKeyboardNavigation.d.ts.map +1 -0
  32. package/dist/grid/hooks/useGridPaginationApi.d.ts +46 -0
  33. package/dist/grid/hooks/useGridPaginationApi.d.ts.map +1 -0
  34. package/dist/grid/hooks/useGridRowApi.d.ts +45 -0
  35. package/dist/grid/hooks/useGridRowApi.d.ts.map +1 -0
  36. package/dist/grid/hooks/useGridScrollApi.d.ts +73 -0
  37. package/dist/grid/hooks/useGridScrollApi.d.ts.map +1 -0
  38. package/dist/grid/hooks/useGridSelection.d.ts +80 -0
  39. package/dist/grid/hooks/useGridSelection.d.ts.map +1 -0
  40. package/dist/grid/hooks/useGridVirtualListApi.d.ts +65 -0
  41. package/dist/grid/hooks/useGridVirtualListApi.d.ts.map +1 -0
  42. package/dist/grid/internalProps.d.ts +47 -0
  43. package/dist/grid/internalProps.d.ts.map +1 -0
  44. package/dist/grid/utils/columnGroups.d.ts +4 -0
  45. package/dist/grid/utils/columnGroups.d.ts.map +1 -1
  46. package/dist/grid/utils/columnWidthEstimation.d.ts +31 -0
  47. package/dist/grid/utils/columnWidthEstimation.d.ts.map +1 -0
  48. package/dist/grid/utils/liveColumnResize.d.ts +61 -0
  49. package/dist/grid/utils/liveColumnResize.d.ts.map +1 -0
  50. package/dist/grid/utils/loadingStore.d.ts +9 -0
  51. package/dist/grid/utils/loadingStore.d.ts.map +1 -0
  52. package/dist/grid/utils/rowHeightsMap.d.ts +3 -0
  53. package/dist/grid/utils/rowHeightsMap.d.ts.map +1 -0
  54. package/dist/grid/utils/rtlScroll.d.ts +6 -0
  55. package/dist/grid/utils/rtlScroll.d.ts.map +1 -0
  56. package/dist/grid/utils/spanRangeExtractor.d.ts +7 -0
  57. package/dist/grid/utils/spanRangeExtractor.d.ts.map +1 -0
  58. package/dist/index.cjs +13 -13
  59. package/dist/index.css +1 -1
  60. package/dist/index.js +14270 -12672
  61. package/dist/style/theme/amber-dark/index.css +1 -1
  62. package/dist/style/theme/amber-light/index.css +1 -1
  63. package/dist/style/theme/blue-dark/index.css +1 -1
  64. package/dist/style/theme/blue-light/index.css +1 -1
  65. package/dist/style/theme/default-dark/index.css +1 -1
  66. package/dist/style/theme/default-light/index.css +1 -1
  67. package/dist/style/theme/green-dark/index.css +1 -1
  68. package/dist/style/theme/green-light/index.css +1 -1
  69. package/dist/style/theme/pink-dark/index.css +1 -1
  70. package/dist/style/theme/pink-light/index.css +1 -1
  71. package/package.json +2 -1
@@ -7,7 +7,7 @@ declare const Command: React.ForwardRefExoticComponent<Omit<{
7
7
  ref?: React.Ref<HTMLDivElement>;
8
8
  } & {
9
9
  asChild?: boolean;
10
- }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>> & {
10
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
11
11
  label?: string;
12
12
  shouldFilter?: boolean;
13
13
  filter?: (value: string, search: string, keywords?: string[]) => number;
@@ -38,7 +38,7 @@ declare const CommandList: React.ForwardRefExoticComponent<Omit<{
38
38
  ref?: React.Ref<HTMLDivElement>;
39
39
  } & {
40
40
  asChild?: boolean;
41
- }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>> & {
41
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
42
42
  label?: string;
43
43
  } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
44
44
  declare const CommandEmpty: React.ForwardRefExoticComponent<Omit<{
@@ -47,14 +47,14 @@ declare const CommandEmpty: React.ForwardRefExoticComponent<Omit<{
47
47
  ref?: React.Ref<HTMLDivElement>;
48
48
  } & {
49
49
  asChild?: boolean;
50
- }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
50
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
51
51
  declare const CommandGroup: React.ForwardRefExoticComponent<Omit<{
52
52
  children?: React.ReactNode;
53
53
  } & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
54
54
  ref?: React.Ref<HTMLDivElement>;
55
55
  } & {
56
56
  asChild?: boolean;
57
- }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>>, "value" | "heading"> & {
57
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "value" | "heading"> & {
58
58
  heading?: React.ReactNode;
59
59
  value?: string;
60
60
  forceMount?: boolean;
@@ -63,7 +63,7 @@ declare const CommandSeparator: React.ForwardRefExoticComponent<Omit<Pick<Pick<R
63
63
  ref?: React.Ref<HTMLDivElement>;
64
64
  } & {
65
65
  asChild?: boolean;
66
- }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>> & {
66
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
67
67
  alwaysRender?: boolean;
68
68
  } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
69
69
  declare const CommandItem: React.ForwardRefExoticComponent<Omit<{
@@ -72,7 +72,7 @@ declare const CommandItem: React.ForwardRefExoticComponent<Omit<{
72
72
  ref?: React.Ref<HTMLDivElement>;
73
73
  } & {
74
74
  asChild?: boolean;
75
- }, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>>, "value" | "disabled" | "onSelect"> & {
75
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "value" | "disabled" | "onSelect"> & {
76
76
  disabled?: boolean;
77
77
  onSelect?: (value: string) => void;
78
78
  value?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/filters/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EAEV,eAAe,EAEf,eAAe,EACf,qBAAqB,EACtB,MAAM,UAAU,CAAC;AAqFlB;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,eA4XlC,CAAC;AAKF,eAAO,MAAM,WAAW,EAAE,eAAsC,CAAC;AAEjE,gCAAgC;AAEhC,wBAAgB,oBAAoB,CAClC,CAAC,EAAE,eAAe,GAAG,SAAS,GAC7B,eAAe,CAGjB;AAED,wBAAgB,cAAc,CAC5B,WAAW,EAAE,eAAe,EAC5B,IAAI,EAAE,MAAM,GACX,qBAAqB,GAAG,SAAS,CAGnC;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,qBAAqB,EAC5B,iBAAiB,CAAC,EAAE,eAAe,GAClC,OAAO,CAKT;AAsCD,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,eAAe,EAC5B,iBAAiB,CAAC,EAAE,eAAe,GAClC,OAAO,CAKT;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,eAAe,EAC5B,KAAK,EAAE,qBAAqB,GAAG,IAAI,EACnC,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,eAAe,CAAA;CAAE,GACvC,eAAe,CA6BjB;AAED,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,eAAe,EAC5B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,eAAe,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACtD,eAAe,CA0BjB;AAED,wBAAgB,WAAW,CACzB,WAAW,EAAE,eAAe,EAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,eAAe,CAAA;CAAE,GACvC,eAAe,CAmBjB;AAED,wBAAgB,eAAe,CAC7B,WAAW,EAAE,eAAe,EAC5B,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,eAAe,CAAA;CAAE,GACvC,eAAe,CAOjB;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,eAAe,EAC5B,OAAO,GAAE,UAAU,EAAO,GACzB,eAAe,CAuCjB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,GAAG,EAAE,EACX,WAAW,EAAE,eAAe,EAC5B,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,eAAe,CAAC;IAAC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAA;CAAE,GAC/D,GAAG,EAAE,CAmDP"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/filters/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EAEV,eAAe,EAEf,eAAe,EACf,qBAAqB,EACtB,MAAM,UAAU,CAAC;AAqFlB;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,eA4XlC,CAAC;AAKF,eAAO,MAAM,WAAW,EAAE,eAAsC,CAAC;AAEjE,gCAAgC;AAEhC,wBAAgB,oBAAoB,CAClC,CAAC,EAAE,eAAe,GAAG,SAAS,GAC7B,eAAe,CAGjB;AAED,wBAAgB,cAAc,CAC5B,WAAW,EAAE,eAAe,EAC5B,IAAI,EAAE,MAAM,GACX,qBAAqB,GAAG,SAAS,CAGnC;AAwBD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,qBAAqB,EAC5B,iBAAiB,CAAC,EAAE,eAAe,GAClC,OAAO,CAKT;AAsCD,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,eAAe,EAC5B,iBAAiB,CAAC,EAAE,eAAe,GAClC,OAAO,CAKT;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,eAAe,EAC5B,KAAK,EAAE,qBAAqB,GAAG,IAAI,EACnC,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,eAAe,CAAA;CAAE,GACvC,eAAe,CA6BjB;AAED,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,eAAe,EAC5B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,eAAe,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACtD,eAAe,CA0BjB;AAED,wBAAgB,WAAW,CACzB,WAAW,EAAE,eAAe,EAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,eAAe,CAAA;CAAE,GACvC,eAAe,CAmBjB;AAED,wBAAgB,eAAe,CAC7B,WAAW,EAAE,eAAe,EAC5B,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,eAAe,CAAA;CAAE,GACvC,eAAe,CAOjB;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,eAAe,EAC5B,OAAO,GAAE,UAAU,EAAO,GACzB,eAAe,CAuCjB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,GAAG,EAAE,EACX,WAAW,EAAE,eAAe,EAC5B,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,eAAe,CAAC;IAAC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAA;CAAE,GAC/D,GAAG,EAAE,CAmDP"}
@@ -1,13 +1,7 @@
1
- import { TypeCommunityPlugin, TypeDataGridProps } from '../types.js';
1
+ import { TypeDataGridProps } from '../types.js';
2
+ import { plugins, ReactDataGridDefaultProps } from './gridDefaultProps.js';
2
3
  import * as React from "react";
3
- /**
4
- * Inovua exposes feature plugins. The implementation here is built in, so
5
- * these executable descriptors expose equivalent enablement and state rather
6
- * than asking consumers to register them.
7
- */
8
- export declare const plugins: readonly TypeCommunityPlugin[];
9
- type ReactDataGridDefaultPropName = "idProperty" | "theme" | "enableColumnFilterContextMenu" | "enableColumnAutosize" | "skipHeaderOnAutoSize" | "resizable" | "liveColumnResize" | "columnDefaultWidth" | "columnMinWidth" | "columnMaxWidth" | "shareSpaceOnResize" | "columnResizeHandleWidth" | "columnResizeProxyWidth" | "allowGroupSplitOnReorder" | "filterTypes" | "virtualized" | "virtualizeColumnsThreshold" | "nativeScroll" | "scrollProps" | "rtl" | "allowMobileTransform" | "columnUserSelect" | "showCellBorders" | "showColumnMenuTool" | "sortable" | "sortFunctions" | "scrollTopOnFilter" | "scrollTopOnSort" | "columnFilterContextMenuAlignPositions" | "columnFilterContextMenuConstrainTo" | "columnFilterContextMenuPosition" | "updateMenuPositionOnScroll" | "columnContextMenuAlignPositions" | "columnContextMenuConstrainTo" | "columnContextMenuPosition" | "rowContextMenuAlignPositions" | "rowContextMenuConstrainTo" | "rowContextMenuPosition" | "updateMenuPositionOnColumnsChange" | "rowHeight" | "minRowHeight" | "defaultShowZebraRows" | "editStartEvent" | "isStartEditKeyPressed" | "autoFocusOnEditComplete" | "autoFocusOnEditEscape" | "emptyText" | "headerHeight" | "filterRowHeight" | "enableKeyboardNavigation" | "activateRowOnFocus" | "keyPageStep" | "allowRowTabNavigation" | "toggleRowSelectOnClick" | "toggleCellSelectOnClick" | "cellSelectionByIndex" | "showHoverRows" | "showEmptyRows" | "showActiveRowIndicator";
10
- type ReactDataGridDefaultProps = Required<Pick<TypeDataGridProps, ReactDataGridDefaultPropName>>;
4
+ export { plugins };
11
5
  type ReactDataGridComponent = React.FunctionComponent<TypeDataGridProps> & {
12
6
  defaultProps: ReactDataGridDefaultProps;
13
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ReactDataGrid.d.ts","sourceRoot":"","sources":["../../src/grid/ReactDataGrid.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAWV,mBAAmB,EAQnB,iBAAiB,EAgBlB,MAAM,UAAU,CAAC;AAyLlB;;;;GAIG;AACH,eAAO,MAAM,OAAO,EAAE,SAAS,mBAAmB,EAoHxC,CAAC;AAiBX,KAAK,4BAA4B,GAC7B,YAAY,GACZ,OAAO,GACP,+BAA+B,GAC/B,sBAAsB,GACtB,sBAAsB,GACtB,WAAW,GACX,kBAAkB,GAClB,oBAAoB,GACpB,gBAAgB,GAChB,gBAAgB,GAChB,oBAAoB,GACpB,yBAAyB,GACzB,wBAAwB,GACxB,0BAA0B,GAC1B,aAAa,GACb,aAAa,GACb,4BAA4B,GAC5B,cAAc,GACd,aAAa,GACb,KAAK,GACL,sBAAsB,GACtB,kBAAkB,GAClB,iBAAiB,GACjB,oBAAoB,GACpB,UAAU,GACV,eAAe,GACf,mBAAmB,GACnB,iBAAiB,GACjB,uCAAuC,GACvC,oCAAoC,GACpC,iCAAiC,GACjC,4BAA4B,GAC5B,iCAAiC,GACjC,8BAA8B,GAC9B,2BAA2B,GAC3B,8BAA8B,GAC9B,2BAA2B,GAC3B,wBAAwB,GACxB,mCAAmC,GACnC,WAAW,GACX,cAAc,GACd,sBAAsB,GACtB,gBAAgB,GAChB,uBAAuB,GACvB,yBAAyB,GACzB,uBAAuB,GACvB,WAAW,GACX,cAAc,GACd,iBAAiB,GACjB,0BAA0B,GAC1B,oBAAoB,GACpB,aAAa,GACb,uBAAuB,GACvB,wBAAwB,GACxB,yBAAyB,GACzB,sBAAsB,GACtB,eAAe,GACf,eAAe,GACf,wBAAwB,CAAC;AAE7B,KAAK,yBAAyB,GAAG,QAAQ,CACvC,IAAI,CAAC,iBAAiB,EAAE,4BAA4B,CAAC,CACtD,CAAC;AA0QF,KAAK,sBAAsB,GAAG,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,GAAG;IACzE,YAAY,EAAE,yBAAyB,CAAC;CACzC,CAAC;AA+0SF,QAAA,MAAM,6BAA6B,EAAoB,sBAAsB,CAAC;AA6B9E,OAAO,EAAE,6BAA6B,IAAI,aAAa,EAAE,CAAC;AAC1D,eAAe,6BAA6B,CAAC"}
1
+ {"version":3,"file":"ReactDataGrid.d.ts","sourceRoot":"","sources":["../../src/grid/ReactDataGrid.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAQV,iBAAiB,EAQlB,MAAM,UAAU,CAAC;AA2ElB,OAAO,EAGL,OAAO,EACP,KAAK,yBAAyB,EAC/B,MAAM,oBAAoB,CAAC;AAoC5B,OAAO,EAAE,OAAO,EAAE,CAAC;AAInB,KAAK,sBAAsB,GAAG,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,GAAG;IACzE,YAAY,EAAE,yBAAyB,CAAC;CACzC,CAAC;AAi7GF,QAAA,MAAM,6BAA6B,EAAoB,sBAAsB,CAAC;AA6B9E,OAAO,EAAE,6BAA6B,IAAI,aAAa,EAAE,CAAC;AAC1D,eAAe,6BAA6B,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { TypeDataGridProps } from '../../types.js';
2
+ import { LoadingStore } from '../utils/loadingStore.js';
3
+ import * as React from "react";
4
+ export type GridLoadingLayerProps = {
5
+ controlledLoading: boolean | undefined;
6
+ loadingText: React.ReactNode | (() => React.ReactNode);
7
+ onLoadingChange: ((loading: boolean) => void) | undefined;
8
+ renderLoadMask: TypeDataGridProps["renderLoadMask"];
9
+ store: LoadingStore;
10
+ surfaceRef: React.MutableRefObject<HTMLElement | null>;
11
+ theme: string;
12
+ };
13
+ export declare const GridLoadingLayer: React.NamedExoticComponent<GridLoadingLayerProps>;
14
+ //# sourceMappingURL=GridLoadingLayer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridLoadingLayer.d.ts","sourceRoot":"","sources":["../../../src/grid/components/GridLoadingLayer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,iBAAiB,EAAqB,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,MAAM,qBAAqB,GAAG;IAClC,iBAAiB,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,WAAW,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;IACvD,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D,cAAc,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACpD,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACvD,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,gBAAgB,mDAuD3B,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { TypeColumnGroup, TypeCommunityPlugin, TypeDataGridProps, TypeSortFunctions } from '../types.js';
2
+ export declare const EMPTY_COLUMN_GROUPS: TypeColumnGroup[];
3
+ export declare const DEFAULT_SORT_FUNCTIONS: TypeSortFunctions;
4
+ /**
5
+ * Inovua exposes feature plugins. The implementation here is built in, so
6
+ * these executable descriptors expose equivalent enablement and state rather
7
+ * than asking consumers to register them.
8
+ */
9
+ export declare const plugins: readonly TypeCommunityPlugin[];
10
+ export type ReactDataGridDefaultPropName = "idProperty" | "theme" | "enableColumnFilterContextMenu" | "enableColumnAutosize" | "skipHeaderOnAutoSize" | "resizable" | "liveColumnResize" | "columnDefaultWidth" | "columnMinWidth" | "columnMaxWidth" | "shareSpaceOnResize" | "columnResizeHandleWidth" | "columnResizeProxyWidth" | "allowGroupSplitOnReorder" | "filterTypes" | "virtualized" | "virtualizeColumnsThreshold" | "nativeScroll" | "scrollProps" | "rtl" | "allowMobileTransform" | "columnUserSelect" | "showCellBorders" | "showColumnMenuTool" | "sortable" | "sortFunctions" | "scrollTopOnFilter" | "scrollTopOnSort" | "columnFilterContextMenuAlignPositions" | "columnFilterContextMenuConstrainTo" | "columnFilterContextMenuPosition" | "updateMenuPositionOnScroll" | "columnContextMenuAlignPositions" | "columnContextMenuConstrainTo" | "columnContextMenuPosition" | "rowContextMenuAlignPositions" | "rowContextMenuConstrainTo" | "rowContextMenuPosition" | "updateMenuPositionOnColumnsChange" | "rowHeight" | "minRowHeight" | "defaultShowZebraRows" | "editStartEvent" | "isStartEditKeyPressed" | "autoFocusOnEditComplete" | "autoFocusOnEditEscape" | "emptyText" | "headerHeight" | "filterRowHeight" | "enableKeyboardNavigation" | "activateRowOnFocus" | "keyPageStep" | "allowRowTabNavigation" | "toggleRowSelectOnClick" | "toggleCellSelectOnClick" | "cellSelectionByIndex" | "showHoverRows" | "showEmptyRows" | "showActiveRowIndicator";
11
+ export type ReactDataGridDefaultProps = Required<Pick<TypeDataGridProps, ReactDataGridDefaultPropName>>;
12
+ export declare const REACT_DATA_GRID_DEFAULT_PROPS: ReactDataGridDefaultProps;
13
+ //# sourceMappingURL=gridDefaultProps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gridDefaultProps.d.ts","sourceRoot":"","sources":["../../src/grid/gridDefaultProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAGlB,eAAO,MAAM,mBAAmB,EAAE,eAAe,EAAO,CAAC;AAEzD,eAAO,MAAM,sBAAsB,EAAE,iBAEpC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,OAAO,EAAE,SAAS,mBAAmB,EAoHxC,CAAC;AAEX,MAAM,MAAM,4BAA4B,GACpC,YAAY,GACZ,OAAO,GACP,+BAA+B,GAC/B,sBAAsB,GACtB,sBAAsB,GACtB,WAAW,GACX,kBAAkB,GAClB,oBAAoB,GACpB,gBAAgB,GAChB,gBAAgB,GAChB,oBAAoB,GACpB,yBAAyB,GACzB,wBAAwB,GACxB,0BAA0B,GAC1B,aAAa,GACb,aAAa,GACb,4BAA4B,GAC5B,cAAc,GACd,aAAa,GACb,KAAK,GACL,sBAAsB,GACtB,kBAAkB,GAClB,iBAAiB,GACjB,oBAAoB,GACpB,UAAU,GACV,eAAe,GACf,mBAAmB,GACnB,iBAAiB,GACjB,uCAAuC,GACvC,oCAAoC,GACpC,iCAAiC,GACjC,4BAA4B,GAC5B,iCAAiC,GACjC,8BAA8B,GAC9B,2BAA2B,GAC3B,8BAA8B,GAC9B,2BAA2B,GAC3B,wBAAwB,GACxB,mCAAmC,GACnC,WAAW,GACX,cAAc,GACd,sBAAsB,GACtB,gBAAgB,GAChB,uBAAuB,GACvB,yBAAyB,GACzB,uBAAuB,GACvB,WAAW,GACX,cAAc,GACd,iBAAiB,GACjB,0BAA0B,GAC1B,oBAAoB,GACpB,aAAa,GACb,uBAAuB,GACvB,wBAAwB,GACxB,yBAAyB,GACzB,sBAAsB,GACtB,eAAe,GACf,eAAe,GACf,wBAAwB,CAAC;AAE7B,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAC9C,IAAI,CAAC,iBAAiB,EAAE,4BAA4B,CAAC,CACtD,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,yBAkF3C,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { TypeColumn, TypeColumnFilterValueChangeArg, TypeComputedColumn, TypeDataGridProps, TypeFilterTypes, TypeFilterValue, TypeGetColumnByParam, TypeSortFunctions, TypeSortInfo } from '../../types.js';
2
+ import { InternalColumnVisibilityController } from '../internalProps.js';
3
+ import * as React from "react";
4
+ export type UseGridColumnApiParams = {
5
+ allComputedColumns: TypeComputedColumn[];
6
+ allInputColumns: TypeColumn[];
7
+ allowUnsort: boolean;
8
+ checkboxColId: string;
9
+ checkboxEnabled: boolean;
10
+ columnOrderForDs: string[];
11
+ columnVisibilityController: InternalColumnVisibilityController | undefined;
12
+ columnVisibilityMap: Record<string, boolean>;
13
+ defaultSortDir: 1 | -1;
14
+ filterTypes: TypeFilterTypes;
15
+ filterValue: TypeFilterValue;
16
+ inputColumns: TypeColumn[];
17
+ onColumnFilterValueChange: TypeDataGridProps["onColumnFilterValueChange"];
18
+ onColumnVisibleChange: TypeDataGridProps["onColumnVisibleChange"];
19
+ orderedColumns: TypeColumn[];
20
+ setColumnVisibilityState: React.Dispatch<React.SetStateAction<Record<string, boolean>>>;
21
+ setFilterValueAndResetPage: (next: TypeFilterValue) => void;
22
+ setSortInfoAndResetPage: (next: TypeSortInfo) => void;
23
+ sortFunctions: TypeSortFunctions | null;
24
+ sortInfo: TypeSortInfo;
25
+ table: {
26
+ setColumnOrder: (order: string[]) => void;
27
+ };
28
+ theme: TypeDataGridProps["theme"];
29
+ };
30
+ /**
31
+ * Inovua-compatible per-column API: lookup, order, visibility, sorting and
32
+ * filtering. Extracted so this fan-out of callbacks stops anchoring the whole
33
+ * grid render scope.
34
+ */
35
+ export declare function useGridColumnApi(params: UseGridColumnApiParams): {
36
+ clearColumnFilterCompat: (column: TypeGetColumnByParam) => void;
37
+ computedOnColumnFilterValueChangeCompat: (event: TypeColumnFilterValueChangeArg) => void;
38
+ getColumnByCompat: (column: TypeGetColumnByParam, config?: {
39
+ initial?: boolean;
40
+ }) => TypeComputedColumn | TypeColumn | undefined;
41
+ getColumnFilterValueCompat: (column: TypeGetColumnByParam) => import('../../types.js').TypeSingleFilterValue | undefined;
42
+ getColumnIdCompat: (column: TypeGetColumnByParam) => string | null;
43
+ setColumnFilterValueCompat: (column: TypeGetColumnByParam, value: unknown, operator?: string) => void;
44
+ setColumnOrderCompat: (next: string[]) => void;
45
+ setColumnSortInfoCompat: (column: TypeGetColumnByParam, dir: 1 | 0 | -1) => void;
46
+ setColumnVisibleById: (columnId: string, visible: boolean) => void;
47
+ setColumnVisibleCompat: (column: TypeGetColumnByParam, visible: boolean) => void;
48
+ toggleColumnSortCompat: (column: TypeGetColumnByParam) => void;
49
+ };
50
+ //# sourceMappingURL=useGridColumnApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGridColumnApi.d.ts","sourceRoot":"","sources":["../../../src/grid/hooks/useGridColumnApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EACV,UAAU,EACV,8BAA8B,EAC9B,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EACb,MAAM,aAAa,CAAC;AASrB,OAAO,EAGL,KAAK,kCAAkC,EACxC,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,sBAAsB,GAAG;IACnC,kBAAkB,EAAE,kBAAkB,EAAE,CAAC;IACzC,eAAe,EAAE,UAAU,EAAE,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,0BAA0B,EAAE,kCAAkC,GAAG,SAAS,CAAC;IAC3E,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,WAAW,EAAE,eAAe,CAAC;IAC7B,WAAW,EAAE,eAAe,CAAC;IAC7B,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,yBAAyB,EAAE,iBAAiB,CAAC,2BAA2B,CAAC,CAAC;IAC1E,qBAAqB,EAAE,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;IAClE,cAAc,EAAE,UAAU,EAAE,CAAC;IAC7B,wBAAwB,EAAE,KAAK,CAAC,QAAQ,CACtC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAC9C,CAAC;IACF,0BAA0B,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5D,uBAAuB,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACtD,aAAa,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACxC,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE;QAAE,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;KAAE,CAAC;IACrD,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;CACnC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB;sCAkRlD,oBAAoB;qDAvPrB,8BAA8B;gCA0B5B,oBAAoB,WACnB;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAC7B,kBAAkB,GAAG,UAAU,GAAG,SAAS;yCA2KrC,oBAAoB;gCAjIpB,oBAAoB,KAAG,MAAM,GAAG,IAAI;yCAyIpC,oBAAoB,SAAS,OAAO,aAAa,MAAM;iCAhMzD,MAAM,EAAE;sCA8IN,oBAAoB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;qCAjCnC,MAAM,WAAW,OAAO;qCArC1B,oBAAoB,WAAW,OAAO;qCAuFtC,oBAAoB;EAyHhC"}
@@ -0,0 +1,42 @@
1
+ import { ColumnDef } from '@tanstack/react-table';
2
+ import { TypeCheckboxColumn, TypeColumn } from '../../types.js';
3
+ import * as React from "react";
4
+ export type UseGridColumnDefsParams = {
5
+ allInputColumns: TypeColumn[];
6
+ checkboxColId: string;
7
+ checkboxColumnProp: TypeCheckboxColumn | undefined;
8
+ checkboxEnabled: boolean;
9
+ commitRowSelection: (rowIndex: number, options?: {
10
+ checked?: boolean;
11
+ ctrlKey?: boolean;
12
+ metaKey?: boolean;
13
+ shiftKey?: boolean;
14
+ fromCheckbox?: boolean;
15
+ }) => void;
16
+ computedColumnMaxWidth: number | null;
17
+ computedColumnMinWidth: number;
18
+ deselectAllRows: () => void;
19
+ disabledRowsRef: React.MutableRefObject<Record<number, boolean> | undefined | null>;
20
+ getRowKey: (row: any, index: number) => string;
21
+ lastPointerRef: React.MutableRefObject<{
22
+ shiftKey: boolean;
23
+ }>;
24
+ multiSelect: boolean | undefined;
25
+ resizable: boolean;
26
+ rows: any[];
27
+ selectAllRows: () => void;
28
+ selectedMap: Record<string, any>;
29
+ selectionEnabled: boolean;
30
+ setActiveIndexCompat: (nextActiveIndex: number) => void;
31
+ sortable: boolean;
32
+ };
33
+ /**
34
+ * Builds the TanStack column definitions, including the checkbox column.
35
+ *
36
+ * The cell/header renderers are long-lived (TanStack caches them per column
37
+ * def), so they read live selection state through `selectionRuntimeRef` rather
38
+ * than capturing it. Owning that ref here keeps the whole arrangement out of
39
+ * the grid render scope.
40
+ */
41
+ export declare function useGridColumnDefs(params: UseGridColumnDefsParams): ColumnDef<any, any>[];
42
+ //# sourceMappingURL=useGridColumnDefs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGridColumnDefs.d.ts","sourceRoot":"","sources":["../../../src/grid/hooks/useGridColumnDefs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,KAAK,EACV,kBAAkB,EAElB,UAAU,EACX,MAAM,aAAa,CAAC;AAKrB,MAAM,MAAM,uBAAuB,GAAG;IACpC,eAAe,EAAE,UAAU,EAAE,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACnD,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,CAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,KACE,IAAI,CAAC;IACV,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,eAAe,EAAE,KAAK,CAAC,gBAAgB,CACrC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,CAC3C,CAAC;IACF,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C,cAAc,EAAE,KAAK,CAAC,gBAAgB,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC9D,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oBAAoB,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,yBA2ShE"}
@@ -0,0 +1,65 @@
1
+ import { TypeColumn, TypeDataGridProps } from '../../types.js';
2
+ import { GroupHeaderRenderItem, TypeColumnGroupHeaderRenderItem } from '../utils/columnGroups.js';
3
+ import * as React from "react";
4
+ export type GridColumnResizeEntry = {
5
+ column: TypeColumn;
6
+ width?: number;
7
+ flex?: number;
8
+ };
9
+ export type UseGridColumnResizeParams = {
10
+ autosizeSample: any[];
11
+ columnGroupHeaderRows: readonly TypeColumnGroupHeaderRenderItem[][];
12
+ columnWidths: Readonly<Record<string, number>>;
13
+ computedColumnDefaultWidth: number;
14
+ computedColumnMaxWidth: number | null;
15
+ computedColumnMinWidth: number;
16
+ flexWeights: Readonly<Record<string, number>>;
17
+ hasManualColumnWidths: boolean;
18
+ headerScrollRef: React.RefObject<HTMLDivElement | null>;
19
+ liveColumnResize: boolean;
20
+ mobileTransformActive: boolean;
21
+ onBatchColumnResize: TypeDataGridProps["onBatchColumnResize"];
22
+ onColumnResize: TypeDataGridProps["onColumnResize"];
23
+ orderedColumns: readonly TypeColumn[];
24
+ renderedColumnLayout: readonly {
25
+ id: string;
26
+ width: number;
27
+ }[];
28
+ reservedViewportWidthRef: React.MutableRefObject<number>;
29
+ resizable: boolean;
30
+ rtl: boolean;
31
+ scrollRef: React.RefObject<HTMLDivElement | null>;
32
+ setManualColumnFlexes: React.Dispatch<React.SetStateAction<Record<string, number | null>>>;
33
+ setManualColumnWidths: React.Dispatch<React.SetStateAction<Record<string, number>>>;
34
+ setReservedViewportWidth: React.Dispatch<React.SetStateAction<number>>;
35
+ shareSpaceOnResize: boolean;
36
+ showColumnMenuTool: boolean;
37
+ showHeader: boolean;
38
+ skipHeaderOnAutoSize: boolean;
39
+ surfaceRef: React.RefObject<HTMLDivElement | null>;
40
+ tableMinWidth: number | undefined;
41
+ };
42
+ /**
43
+ * Owns every column/group resize gesture. Keeping the pointer sessions, the
44
+ * live preview scheduling and the width commit paths in this module means the
45
+ * long-lived listener closures capture this hook's parameters instead of the
46
+ * whole `ReactDataGrid` render scope.
47
+ */
48
+ export declare function useGridColumnResize(params: UseGridColumnResizeParams): {
49
+ autosizeColumn: (columnId: string) => void;
50
+ commitColumnPixelResize: (column: TypeColumn, requestedWidth: number) => void;
51
+ commitColumnResizeEntries: (entries: {
52
+ column: TypeColumn;
53
+ width?: number;
54
+ flex?: number;
55
+ }[], nextReservedViewportWidth?: number) => void;
56
+ resizeColumnBy: (columnId: string, diff: number) => void;
57
+ resizeGroupBy: (item: GroupHeaderRenderItem, diff: number) => void;
58
+ resizeProxyElementRef: React.RefObject<HTMLDivElement | null>;
59
+ resizeProxyLeft: number | null;
60
+ resizingColumnId: string | null;
61
+ resizingGroupKey: string | null;
62
+ startColumnResize: (event: React.MouseEvent<HTMLElement> | React.PointerEvent<HTMLElement>, columnId: string) => void;
63
+ startGroupResize: (event: React.MouseEvent<HTMLElement> | React.PointerEvent<HTMLElement>, item: GroupHeaderRenderItem) => void;
64
+ };
65
+ //# sourceMappingURL=useGridColumnResize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGridColumnResize.d.ts","sourceRoot":"","sources":["../../../src/grid/hooks/useGridColumnResize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGjE,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,+BAA+B,EACrC,MAAM,uBAAuB,CAAC;AAe/B,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,cAAc,EAAE,GAAG,EAAE,CAAC;IACtB,qBAAqB,EAAE,SAAS,+BAA+B,EAAE,EAAE,CAAC;IACpE,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/C,0BAA0B,EAAE,MAAM,CAAC;IACnC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACxD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,mBAAmB,EAAE,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;IAC9D,cAAc,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACpD,cAAc,EAAE,SAAS,UAAU,EAAE,CAAC;IACtC,oBAAoB,EAAE,SAAS;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/D,wBAAwB,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzD,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAClD,qBAAqB,EAAE,KAAK,CAAC,QAAQ,CACnC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CACpD,CAAC;IACF,qBAAqB,EAAE,KAAK,CAAC,QAAQ,CACnC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAC7C,CAAC;IACF,wBAAwB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACnD,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,yBAAyB;+BA2mBtD,MAAM;sCAnQR,UAAU,kBAAkB,MAAM;yCA9JhC;QACP,MAAM,EAAE,UAAU,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,EAAE;+BAsUM,MAAM,QAAQ,MAAM;0BA+DxB,qBAAqB,QAAQ,MAAM;;;;;+BAwUjC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,YAC5D,MAAM;8BApOT,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,QAChE,qBAAqB;EAolBhC"}
@@ -0,0 +1,37 @@
1
+ import { TypeColumn } from '../../types.js';
2
+ import { GridColumnResizeEntry } from './useGridColumnResize.js';
3
+ import * as React from "react";
4
+ export type UseGridColumnSizingApiParams = {
5
+ autosizeSample: any[];
6
+ columnLayout: readonly {
7
+ id: string;
8
+ width: number;
9
+ }[];
10
+ columnViewportWidth: number;
11
+ columnWidths: Readonly<Record<string, number>>;
12
+ commitColumnResizeEntries: (entries: GridColumnResizeEntry[], nextReservedViewportWidth?: number) => void;
13
+ computedColumnDefaultWidth: number;
14
+ computedColumnMaxWidth: number | null;
15
+ computedColumnMinWidth: number;
16
+ flexWeights: Readonly<Record<string, number>>;
17
+ manualColumnFlexes: Record<string, number | null>;
18
+ orderedColumns: TypeColumn[];
19
+ setManualColumnFlexes: React.Dispatch<React.SetStateAction<Record<string, number | null>>>;
20
+ setManualColumnWidths: React.Dispatch<React.SetStateAction<Record<string, number>>>;
21
+ skipHeaderOnAutoSize: boolean;
22
+ };
23
+ /** The imperative column sizing API (setColumnSizes/Flexes/Auto/ToFit). */
24
+ export declare function useGridColumnSizingApi(params: UseGridColumnSizingApiParams): {
25
+ columnFlexes: Record<string, number>;
26
+ columnSizes: Record<string, number>;
27
+ setColumnSizeAutoCompat: (columnId: string, skipHeader?: boolean) => void;
28
+ setColumnSizesCompat: React.Dispatch<React.SetStateAction<Record<string, number>>>;
29
+ setColumnFlexesCompat: React.Dispatch<React.SetStateAction<Record<string, number | null>>>;
30
+ setColumnSizesToFitCompat: () => void;
31
+ setColumnsSizesAutoCompat: (config?: {
32
+ columnIds?: string[];
33
+ skipHeader?: boolean;
34
+ skipSortTool?: boolean;
35
+ }) => void;
36
+ };
37
+ //# sourceMappingURL=useGridColumnSizingApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGridColumnSizingApi.d.ts","sourceRoot":"","sources":["../../../src/grid/hooks/useGridColumnSizingApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQ9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,MAAM,4BAA4B,GAAG;IACzC,cAAc,EAAE,GAAG,EAAE,CAAC;IACtB,YAAY,EAAE,SAAS;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/C,yBAAyB,EAAE,CACzB,OAAO,EAAE,qBAAqB,EAAE,EAChC,yBAAyB,CAAC,EAAE,MAAM,KAC/B,IAAI,CAAC;IACV,0BAA0B,EAAE,MAAM,CAAC;IACnC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9C,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IAClD,cAAc,EAAE,UAAU,EAAE,CAAC;IAC7B,qBAAqB,EAAE,KAAK,CAAC,QAAQ,CACnC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CACpD,CAAC;IACF,qBAAqB,EAAE,KAAK,CAAC,QAAQ,CACnC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAC7C,CAAC;IACF,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,2EAA2E;AAC3E,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,4BAA4B;;;wCAoJ5D,MAAM,eAAe,OAAO;;;;yCAxC7B;QACR,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB;EA6IJ"}
@@ -0,0 +1,61 @@
1
+ import { TypeColumn, TypeColumnContextMenuProps, TypeComputedProps, TypeDataGridProps, TypeGetColumnByParam, TypeRowContextMenuProps, TypeSortInfo } from '../../types.js';
2
+ import { OpenColumnContextMenu, OpenRowContextMenu } from '../internalProps.js';
3
+ import * as React from "react";
4
+ export type UseGridContextMenuLayersParams = {
5
+ allowUnsort: boolean;
6
+ apiRef: React.MutableRefObject<TypeComputedProps | null>;
7
+ autosizeColumn: (columnId: string) => void;
8
+ checkboxColId: string;
9
+ checkboxEnabled: boolean;
10
+ columnContextMenu: OpenColumnContextMenu | null;
11
+ columnContextMenuAlignPositions: TypeDataGridProps["columnContextMenuAlignPositions"];
12
+ columnContextMenuConstrainTo: TypeDataGridProps["columnContextMenuConstrainTo"];
13
+ columnContextMenuPosition: NonNullable<TypeDataGridProps["columnContextMenuPosition"]>;
14
+ columnVisibilityMap: Record<string, boolean>;
15
+ effectiveEnableFiltering: boolean;
16
+ enableColumnAutosize: boolean;
17
+ enableFiltering: boolean | undefined;
18
+ groupedColumns: TypeColumn[];
19
+ hideColumnContextMenu: () => void;
20
+ hideRowContextMenu: () => void;
21
+ i18n: TypeDataGridProps["i18n"];
22
+ nativeScroll: boolean;
23
+ renderColumnContextMenu: TypeDataGridProps["renderColumnContextMenu"];
24
+ renderRowContextMenu: TypeDataGridProps["renderRowContextMenu"];
25
+ rowContextMenu: OpenRowContextMenu | null;
26
+ rowContextMenuAlignPositions: TypeDataGridProps["rowContextMenuAlignPositions"];
27
+ rowContextMenuConstrainTo: TypeDataGridProps["rowContextMenuConstrainTo"];
28
+ rowContextMenuPosition: NonNullable<TypeDataGridProps["rowContextMenuPosition"]>;
29
+ rtl: boolean;
30
+ setColumnSizesToFitCompat: () => void;
31
+ setColumnSortInfoCompat: (column: TypeGetColumnByParam, dir: 1 | 0 | -1) => void;
32
+ setColumnVisibleById: (columnId: string, visible: boolean) => void;
33
+ setColumnsSizesAutoCompat: (config?: {
34
+ columnIds?: string[];
35
+ skipHeader?: boolean;
36
+ skipSortTool?: boolean;
37
+ }) => void;
38
+ setEnableFilteringCompat: (next: boolean) => void;
39
+ sortInfo: TypeSortInfo;
40
+ sortable: boolean;
41
+ stableApi: TypeComputedProps;
42
+ themeName: string;
43
+ updateMenuPositionOnScroll: boolean;
44
+ };
45
+ /**
46
+ * Derives the column/row context menu render props and their default item
47
+ * lists from the currently open menu.
48
+ */
49
+ export declare function useGridContextMenuLayers(params: UseGridContextMenuLayersParams): {
50
+ columnMenuProps: TypeColumnContextMenuProps | null;
51
+ contextMenuCanSort: boolean;
52
+ contextMenuCanUnsort: boolean;
53
+ contextMenuColumnId: string | undefined;
54
+ renderedColumnContextMenu: React.ReactNode;
55
+ renderedRowContextMenu: React.ReactNode;
56
+ rowMenuProps: TypeRowContextMenuProps | null;
57
+ showColumnMenuLayer: boolean;
58
+ showRowMenuLayer: boolean;
59
+ visibleColumnCount: number;
60
+ };
61
+ //# sourceMappingURL=useGridContextMenuLayers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGridContextMenuLayers.d.ts","sourceRoot":"","sources":["../../../src/grid/hooks/useGridContextMenuLayers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EACV,UAAU,EACV,0BAA0B,EAC1B,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,YAAY,EACb,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,8BAA8B,GAAG;IAC3C,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACzD,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAChD,+BAA+B,EAAE,iBAAiB,CAAC,iCAAiC,CAAC,CAAC;IACtF,4BAA4B,EAAE,iBAAiB,CAAC,8BAA8B,CAAC,CAAC;IAChF,yBAAyB,EAAE,WAAW,CACpC,iBAAiB,CAAC,2BAA2B,CAAC,CAC/C,CAAC;IACF,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,wBAAwB,EAAE,OAAO,CAAC;IAClC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,eAAe,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,cAAc,EAAE,UAAU,EAAE,CAAC;IAC7B,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChC,YAAY,EAAE,OAAO,CAAC;IACtB,uBAAuB,EAAE,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;IACtE,oBAAoB,EAAE,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;IAChE,cAAc,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC1C,4BAA4B,EAAE,iBAAiB,CAAC,8BAA8B,CAAC,CAAC;IAChF,yBAAyB,EAAE,iBAAiB,CAAC,2BAA2B,CAAC,CAAC;IAC1E,sBAAsB,EAAE,WAAW,CACjC,iBAAiB,CAAC,wBAAwB,CAAC,CAC5C,CAAC;IACF,GAAG,EAAE,OAAO,CAAC;IACb,yBAAyB,EAAE,MAAM,IAAI,CAAC;IACtC,uBAAuB,EAAE,CACvB,MAAM,EAAE,oBAAoB,EAC5B,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KACZ,IAAI,CAAC;IACV,oBAAoB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACnE,yBAAyB,EAAE,CAAC,MAAM,CAAC,EAAE;QACnC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,KAAK,IAAI,CAAC;IACX,wBAAwB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,0BAA0B,EAAE,OAAO,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,8BAA8B;;;;;;;;;;;EAmPvC"}
@@ -0,0 +1,44 @@
1
+ import { TypeCellProps, TypeDataGridProps, TypeRowProps } from '../../types.js';
2
+ import { OpenColumnContextMenu, OpenRowContextMenu } from '../internalProps.js';
3
+ import * as React from "react";
4
+ export type UseGridContextMenusParams = {
5
+ onRowContextMenu: TypeDataGridProps["onRowContextMenu"];
6
+ renderRowContextMenu: TypeDataGridProps["renderRowContextMenu"];
7
+ surfaceRef: React.RefObject<HTMLDivElement | null>;
8
+ };
9
+ /**
10
+ * Open/close state for the column, row and column-filter context menus. The
11
+ * `onHide` callbacks supplied by consumers outlive the render that opened the
12
+ * menu, so they are held in refs inside this module rather than in the grid
13
+ * render scope.
14
+ */
15
+ export declare function useGridContextMenus(params: UseGridContextMenusParams): {
16
+ columnContextMenu: OpenColumnContextMenu | null;
17
+ filterContextMenuOnHideRef: React.RefObject<(() => void) | null>;
18
+ setColumnContextMenu: React.Dispatch<React.SetStateAction<OpenColumnContextMenu | null>>;
19
+ setOpenFilterMenuColId: React.Dispatch<React.SetStateAction<string | null>>;
20
+ setRowContextMenu: React.Dispatch<React.SetStateAction<OpenRowContextMenu | null>>;
21
+ columnVisibilityMenuOpen: boolean;
22
+ handleUiRowContextMenu: (rowProps: TypeRowProps, cellProps: TypeCellProps | undefined, event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement> | React.PointerEvent<HTMLElement>, alignTo: HTMLElement | {
23
+ left: number;
24
+ top: number;
25
+ }) => void;
26
+ hideColumnContextMenu: () => void;
27
+ hideColumnFilterContextMenu: () => void;
28
+ hideRowContextMenu: () => void;
29
+ openFilterMenuColId: string | null;
30
+ rowContextMenu: OpenRowContextMenu | null;
31
+ setColumnVisibilityMenuOpen: React.Dispatch<React.SetStateAction<boolean>>;
32
+ setOpenFilterContextMenuColumn: (columnId: string | null) => void;
33
+ showColumnContextMenu: (alignTo: HTMLElement | {
34
+ left: number;
35
+ top: number;
36
+ }, cellProps: TypeCellProps, _config?: {
37
+ computedVisibleIndex?: number;
38
+ }, onHide?: () => void, restoreFocusTo?: HTMLElement | null) => void;
39
+ showRowContextMenu: (alignTo: HTMLElement | {
40
+ left: number;
41
+ top: number;
42
+ }, rowProps: TypeRowProps, cellProps?: TypeCellProps, onHide?: () => void, restoreFocusTo?: HTMLElement | null) => void;
43
+ };
44
+ //# sourceMappingURL=useGridContextMenus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGridContextMenus.d.ts","sourceRoot":"","sources":["../../../src/grid/hooks/useGridContextMenus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,YAAY,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,yBAAyB,GAAG;IACtC,gBAAgB,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IACxD,oBAAoB,EAAE,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;IAChE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,yBAAyB;;uDAMZ,IAAI;;;;;uCA6G7C,YAAY,aACX,aAAa,GAAG,SAAS,SAEhC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,GAC7B,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,GAChC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,WAC1B,WAAW,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE;;;;;;;+CA3G3C,MAAM,GAAG,IAAI;qCAuCb,WAAW,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,aACzC,aAAa,YACd;QAAE,oBAAoB,CAAC,EAAE,MAAM,CAAA;KAAE,WAClC,MAAM,IAAI,mBACF,WAAW,GAAG,IAAI;kCA2B1B,WAAW,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,YAC1C,YAAY,cACV,aAAa,WAChB,MAAM,IAAI,mBACF,WAAW,GAAG,IAAI;EA4ExC"}
@@ -0,0 +1,56 @@
1
+ import { TypeColumn, TypeComputedProps, TypeDataGridProps, TypeFilterTypes, TypeFilterValue, TypeSortFunctions, TypeSortInfo } from '../../types.js';
2
+ import { InternalSearchController } from '../internalProps.js';
3
+ import * as React from "react";
4
+ export type UseGridDataLoaderParams = {
5
+ activeLocalFilter: boolean;
6
+ apiRef: React.MutableRefObject<TypeComputedProps | null>;
7
+ checkboxColId: string;
8
+ checkboxEnabled: boolean;
9
+ controlledLoading: boolean | undefined;
10
+ dataSource: TypeDataGridProps["dataSource"];
11
+ draftFilterValue: TypeFilterValue;
12
+ effectiveColumnOrder: string[];
13
+ filterTypes: TypeFilterTypes;
14
+ filterValue: TypeFilterValue;
15
+ idProperty: string;
16
+ inputColumns: TypeColumn[];
17
+ limit: number;
18
+ loadAbortControllerRef: React.MutableRefObject<AbortController | null>;
19
+ loadRequestIdRef: React.MutableRefObject<number>;
20
+ loadSkip: number;
21
+ localFilterValue: TypeFilterValue | null;
22
+ localPagination: boolean;
23
+ localSortInfo: TypeSortInfo | null;
24
+ notifyFilteredRowsCount: (count: number) => void;
25
+ orderedColumns: TypeColumn[];
26
+ paginationMode: TypeDataGridProps["pagination"];
27
+ remoteDataSource: boolean;
28
+ remotePagination: boolean;
29
+ searchActive: boolean;
30
+ searchConnected: boolean;
31
+ searchFilterRows: InternalSearchController["filterRows"] | undefined;
32
+ searchValue: string;
33
+ setCount: React.Dispatch<React.SetStateAction<number>>;
34
+ setFilterValue: (next: TypeFilterValue) => void;
35
+ setRows: React.Dispatch<React.SetStateAction<any[]>>;
36
+ sortFunctions: TypeSortFunctions | null;
37
+ sortInfo: TypeSortInfo;
38
+ themeName: string;
39
+ };
40
+ /**
41
+ * Owns everything that fetches or recomputes `rows`: the loading store, the
42
+ * data-source request, and the debounced filter commit that retriggers it.
43
+ *
44
+ * This is the closure most implicated in the retained-rows growth, so it lives
45
+ * in its own module: a memoised `loadData`/`reload` from an older render now
46
+ * only keeps this hook's parameters alive instead of the entire grid render
47
+ * scope (and, transitively, every other stale callback in it).
48
+ */
49
+ export declare function useGridDataLoader(params: UseGridDataLoaderParams): {
50
+ columnOrderForDs: string[];
51
+ controlledLoadingRef: React.RefObject<boolean | undefined>;
52
+ loading: boolean;
53
+ loadingStore: import('../utils/loadingStore.js').LoadingStore;
54
+ reload: () => void;
55
+ };
56
+ //# sourceMappingURL=useGridDataLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGridDataLoader.d.ts","sourceRoot":"","sources":["../../../src/grid/hooks/useGridDataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EAEjB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,YAAY,EACb,MAAM,aAAa,CAAC;AASrB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAgCjE,MAAM,MAAM,uBAAuB,GAAG;IACpC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACzD,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,UAAU,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC5C,gBAAgB,EAAE,eAAe,CAAC;IAClC,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,WAAW,EAAE,eAAe,CAAC;IAC7B,WAAW,EAAE,eAAe,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB,EAAE,KAAK,CAAC,gBAAgB,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IACvE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,uBAAuB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,cAAc,EAAE,UAAU,EAAE,CAAC;IAC7B,cAAc,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAChD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,wBAAwB,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;IACrE,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,cAAc,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAChD,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACrD,aAAa,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACxC,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB;;;;;;EA2XhE"}
@@ -0,0 +1,64 @@
1
+ import { Row } from '@tanstack/react-table';
2
+ import { TypeCancelEditArgs, TypeColumn, TypeCompleteEditArgs, TypeDataGridProps, TypeEditInfo, TypeStartEditArgs, TypeTryStartEditArgs } from '../../types.js';
3
+ import { GridCellEditStartArgs, GridEditingCell, GridEditNavigation } from '../components/GridBody.js';
4
+ import * as React from "react";
5
+ /** Only the virtualizer surface this hook needs; keeps the param type narrow. */
6
+ type EditRowScroller = {
7
+ scrollToIndex: (index: number, options?: {
8
+ align?: "start" | "center" | "end" | "auto";
9
+ }) => void;
10
+ };
11
+ export type UseGridEditingParams = {
12
+ autoFocusOnEditComplete: boolean;
13
+ autoFocusOnEditEscape: boolean;
14
+ columnWidths: Readonly<Record<string, number>>;
15
+ computedMinRowHeight: number;
16
+ computedVirtualizeColumns: boolean;
17
+ editStartEvent: string;
18
+ editable: boolean;
19
+ getDisabledRowState: (rowIndex: number) => boolean | null | undefined;
20
+ idProperty: string;
21
+ loadSkip: number;
22
+ multiSelect: boolean | undefined;
23
+ onEditCancel: TypeDataGridProps["onEditCancel"];
24
+ onEditComplete: TypeDataGridProps["onEditComplete"];
25
+ onEditStart: TypeDataGridProps["onEditStart"];
26
+ onEditStop: TypeDataGridProps["onEditStop"];
27
+ onEditValueChange: TypeDataGridProps["onEditValueChange"];
28
+ orderedColumns: TypeColumn[];
29
+ resolveRowHeight: (rowIndex: number) => number;
30
+ rowHeight: number | ((rowIndex: number) => number) | null | undefined;
31
+ rowModel: Row<any>[];
32
+ rowVirtualizer: EditRowScroller;
33
+ rowsCount: number;
34
+ selected: unknown;
35
+ selectedMap: Readonly<Record<string, boolean>>;
36
+ surfaceRef: React.RefObject<HTMLDivElement | null>;
37
+ themeName: string;
38
+ virtualized: boolean;
39
+ };
40
+ /**
41
+ * Owns the cell edit session: lifecycle callbacks, coordinate reconciliation
42
+ * and the Inovua-compatible imperative edit API. Isolating it here keeps the
43
+ * long-lived edit closures (promises, timeouts, editor callbacks) from
44
+ * capturing the whole `ReactDataGrid` render scope.
45
+ */
46
+ export declare function useGridEditing(params: UseGridEditingParams): {
47
+ cancelEditCompat: (args?: TypeCancelEditArgs) => void;
48
+ completeEditCompat: (args?: TypeCompleteEditArgs) => void;
49
+ coordinateEditingCell: GridEditingCell | null;
50
+ currentEditCompletePromiseRef: React.RefObject<Promise<unknown>>;
51
+ editCellNodesRef: React.RefObject<Map<string, HTMLTableCellElement>>;
52
+ editingCell: GridEditingCell | null;
53
+ getCurrentEditInfoCompat: () => TypeEditInfo | null;
54
+ handleEditCancel: (targetCell?: GridEditingCell) => void;
55
+ handleEditComplete: (navigation?: GridEditNavigation, value?: unknown, targetCell?: GridEditingCell) => Promise<void>;
56
+ handleEditStop: (navigation?: GridEditNavigation, value?: unknown) => Promise<void>;
57
+ handleEditValueChange: (value: unknown) => void;
58
+ handleUiCellEditStart: (args: GridCellEditStartArgs) => Promise<boolean>;
59
+ isInEditRef: React.RefObject<boolean>;
60
+ startEditCompat: (args: TypeStartEditArgs) => Promise<any>;
61
+ tryStartEditCompat: (args: TypeTryStartEditArgs) => Promise<any>;
62
+ };
63
+ export {};
64
+ //# sourceMappingURL=useGridEditing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGridEditing.d.ts","sourceRoot":"","sources":["../../../src/grid/hooks/useGridEditing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,KAAK,EACV,kBAAkB,EAClB,UAAU,EACV,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAEhC,iFAAiF;AACjF,KAAK,eAAe,GAAG;IACrB,aAAa,EAAE,CACb,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAA;KAAE,KACtD,IAAI,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,uBAAuB,EAAE,OAAO,CAAC;IACjC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,yBAAyB,EAAE,OAAO,CAAC;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IACtE,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,YAAY,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAChD,cAAc,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACpD,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC9C,UAAU,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC5C,iBAAiB,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;IAC1D,cAAc,EAAE,UAAU,EAAE,CAAC;IAC7B,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IACtE,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;IACrB,cAAc,EAAE,eAAe,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/C,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,oBAAoB;8BA03B/C,kBAAkB,KAAG,IAAI;gCAnFzB,oBAAoB,KAAG,IAAI;;;;;oCA4Hb,YAAY,GAAG,IAAI;oCAvR3B,eAAe;sCAlId,kBAAkB,UACvB,OAAO,eACF,eAAe;kCAyFV,kBAAkB,UAAU,OAAO;mCArH/C,OAAO;kCA7TR,qBAAqB;;4BA0hBf,iBAAiB,KAAG,OAAO,CAAC,GAAG,CAAC;+BAqChC,oBAAoB,KAAG,OAAO,CAAC,GAAG,CAAC;EAsMnD"}