@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
@@ -0,0 +1,24 @@
1
+ import { TypeColumn } from '../../types.js';
2
+ import { GroupHeaderRenderItem, TypeColumnGroupModel } from '../utils/columnGroups.js';
3
+ import * as React from "react";
4
+ export type UseGridHeaderReorderParams = {
5
+ allowColumnReorder: boolean;
6
+ allowGroupSplitOnReorder: boolean;
7
+ checkboxColId: string;
8
+ checkboxEnabled: boolean;
9
+ columnGroupModel: TypeColumnGroupModel;
10
+ orderedColumns: TypeColumn[];
11
+ renderColumnOrder: string[];
12
+ table: {
13
+ setColumnOrder: (order: string[]) => void;
14
+ };
15
+ };
16
+ /** Header drag-and-drop column/group reordering. */
17
+ export declare function useGridHeaderReorder(params: UseGridHeaderReorderParams): {
18
+ onGroupHeaderDragStart: (e: React.DragEvent, item: GroupHeaderRenderItem) => void;
19
+ onGroupHeaderDrop: (e: React.DragEvent, item: GroupHeaderRenderItem) => void;
20
+ onHeaderDragOver: (e: React.DragEvent) => void;
21
+ onHeaderDragStart: (e: React.DragEvent, columnId: string) => void;
22
+ onHeaderDrop: (e: React.DragEvent, targetId: string) => void;
23
+ };
24
+ //# sourceMappingURL=useGridHeaderReorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGridHeaderReorder.d.ts","sourceRoot":"","sources":["../../../src/grid/hooks/useGridHeaderReorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,OAAO,EAIL,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EAC1B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,0BAA0B,GAAG;IACvC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,wBAAwB,EAAE,OAAO,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,cAAc,EAAE,UAAU,EAAE,CAAC;IAC7B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,KAAK,EAAE;QAAE,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;KAAE,CAAC;CACtD,CAAC;AAEF,oDAAoD;AACpD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,0BAA0B;gCA0ChE,KAAK,CAAC,SAAS,QACZ,qBAAqB;2BA8FC,KAAK,CAAC,SAAS,QAAQ,qBAAqB;0BAY7C,KAAK,CAAC,SAAS;2BA5Hd,KAAK,CAAC,SAAS,YAAY,MAAM;sBA4GtC,KAAK,CAAC,SAAS,YAAY,MAAM;EA4B3D"}
@@ -0,0 +1,270 @@
1
+ import { Row } from '@tanstack/react-table';
2
+ import { TypeActiveCell, TypeCellProps, TypeCellSelection, TypeColumn, TypeComputedColumn, TypeComputedColumnsMap, TypeComputedProps, TypeDataGridProps, TypeFilterTypes, TypeFilterValue, TypePaginationProps, TypeRowSelection, TypeRowUnselected, TypeShowCellBorders, TypeSingleFilterValue, TypeSortInfo } from '../../types.js';
3
+ import { InternalDataGridProps, OpenColumnContextMenu, OpenRowContextMenu } from '../internalProps.js';
4
+ import { LoadingStore } from '../utils/loadingStore.js';
5
+ import { GridEditingCell } from '../components/GridBody.js';
6
+ import { useGridColumnApi } from './useGridColumnApi.js';
7
+ import { useGridColumnResize } from './useGridColumnResize.js';
8
+ import { useGridColumnSizingApi } from './useGridColumnSizingApi.js';
9
+ import { useGridEditing } from './useGridEditing.js';
10
+ import { useGridKeyboardNavigation } from './useGridKeyboardNavigation.js';
11
+ import { useGridPaginationApi } from './useGridPaginationApi.js';
12
+ import { useGridRowApi } from './useGridRowApi.js';
13
+ import { useGridScrollApi } from './useGridScrollApi.js';
14
+ import { useGridSelection } from './useGridSelection.js';
15
+ import { useGridVirtualListApi } from './useGridVirtualListApi.js';
16
+ import * as React from "react";
17
+ type ColumnApi = ReturnType<typeof useGridColumnApi>;
18
+ type ColumnResizeApi = ReturnType<typeof useGridColumnResize>;
19
+ type ColumnSizingApi = ReturnType<typeof useGridColumnSizingApi>;
20
+ type EditingApi = ReturnType<typeof useGridEditing>;
21
+ type KeyboardApi = ReturnType<typeof useGridKeyboardNavigation>;
22
+ type PaginationApi = ReturnType<typeof useGridPaginationApi>;
23
+ type RowApi = ReturnType<typeof useGridRowApi>;
24
+ type ScrollApi = ReturnType<typeof useGridScrollApi>;
25
+ type SelectionApi = ReturnType<typeof useGridSelection>;
26
+ type VirtualListApi = ReturnType<typeof useGridVirtualListApi>;
27
+ export type LockedColumnMetrics = {
28
+ hasLockedStart: boolean;
29
+ hasLockedEnd: boolean;
30
+ hasUnlocked: boolean;
31
+ firstLockedStartIndex: number;
32
+ lastLockedStartIndex: number;
33
+ firstUnlockedIndex: number;
34
+ lastUnlockedIndex: number;
35
+ firstLockedEndIndex: number;
36
+ lastLockedEndIndex: number;
37
+ totalLockedStartWidth: number;
38
+ totalLockedEndWidth: number;
39
+ totalUnlockedWidth: number;
40
+ };
41
+ export type UseGridImperativeApiParams = {
42
+ allComputedColumns: TypeComputedColumn[];
43
+ allInputColumns: TypeColumn[];
44
+ apiRef: React.MutableRefObject<TypeComputedProps | null>;
45
+ canNext: boolean;
46
+ cancelEditCompat: EditingApi["cancelEditCompat"];
47
+ cellMultiSelect: boolean;
48
+ cellSelectionByIndex: boolean;
49
+ cellSelectionEnabled: boolean;
50
+ cellSelectionState: TypeCellSelection;
51
+ checkboxColId: string;
52
+ checkboxEnabled: boolean;
53
+ clearColumnFilterCompat: ColumnApi["clearColumnFilterCompat"];
54
+ columnContextMenu: OpenColumnContextMenu | null;
55
+ columnContextMenuAlignPositions: TypeDataGridProps["columnContextMenuAlignPositions"];
56
+ columnContextMenuConstrainTo: TypeDataGridProps["columnContextMenuConstrainTo"];
57
+ columnContextMenuPosition: NonNullable<TypeDataGridProps["columnContextMenuPosition"]>;
58
+ columnFlexes: ColumnSizingApi["columnFlexes"];
59
+ columnLayout: readonly {
60
+ id: string;
61
+ width: number;
62
+ minWidth?: number;
63
+ maxWidth?: number;
64
+ }[];
65
+ columnOrderForDs: string[];
66
+ columnSizes: ColumnSizingApi["columnSizes"];
67
+ columnVisibilityMap: Record<string, boolean>;
68
+ columnWidthPrefixSums: number[];
69
+ columnWidths: Readonly<Record<string, number>>;
70
+ computedOnColumnFilterValueChangeCompat: ColumnApi["computedOnColumnFilterValueChangeCompat"];
71
+ columnsMap: TypeComputedColumnsMap;
72
+ commitColumnPixelResize: ColumnResizeApi["commitColumnPixelResize"];
73
+ commitColumnResizeEntries: ColumnResizeApi["commitColumnResizeEntries"];
74
+ commitRowSelection: SelectionApi["commitRowSelection"];
75
+ completeEditCompat: EditingApi["completeEditCompat"];
76
+ computedColumnDefaultWidth: number;
77
+ computedColumnMaxWidth: number | null;
78
+ computedColumnMinWidth: number;
79
+ computedFilterValueMap: Record<string, TypeSingleFilterValue> | null;
80
+ computedRowHeights: Record<string, number>;
81
+ computedVirtualizeColumns: boolean;
82
+ controlledLoadingRef: React.MutableRefObject<boolean | undefined>;
83
+ count: number;
84
+ currentEditCompletePromiseRef: EditingApi["currentEditCompletePromiseRef"];
85
+ dataSource: TypeDataGridProps["dataSource"];
86
+ deselectAllCompat: RowApi["deselectAllCompat"];
87
+ editStartEvent: string;
88
+ editable: boolean;
89
+ editingCell: GridEditingCell | null;
90
+ effectiveEnableFiltering: boolean;
91
+ emitSelectionChange: (nextSelected: TypeRowSelection, meta?: {
92
+ data?: unknown;
93
+ unselected?: TypeRowSelection;
94
+ }) => void;
95
+ enableFiltering: boolean | undefined;
96
+ enableKeyboardNavigation: boolean;
97
+ filterContextMenuOnHideRef: React.MutableRefObject<(() => void) | null>;
98
+ filterControlled: boolean;
99
+ filterTypes: TypeFilterTypes;
100
+ filterValue: TypeFilterValue;
101
+ getCellSelectionBetweenCompat: SelectionApi["getCellSelectionBetweenCompat"];
102
+ getCellSelectionKey: SelectionApi["getCellSelectionKey"];
103
+ getColumnByCompat: ColumnApi["getColumnByCompat"];
104
+ getColumnFilterValueCompat: ColumnApi["getColumnFilterValueCompat"];
105
+ getColumnIdCompat: ColumnApi["getColumnIdCompat"];
106
+ getCurrentEditInfoCompat: EditingApi["getCurrentEditInfoCompat"];
107
+ getItemId: (data: any) => any;
108
+ getItemIndexByIdCompat: RowApi["getItemIndexByIdCompat"];
109
+ getRenderRangeCompat: ScrollApi["getRenderRangeCompat"];
110
+ getRowHeightByIdCompat: (rowId: string | number) => number;
111
+ getRowKey: (row: any, index: number) => string;
112
+ getScrollLeftCompat: ScrollApi["getScrollLeftCompat"];
113
+ getScrollingElement: ScrollApi["getScrollingElement"];
114
+ gotoFirstPage: PaginationApi["gotoFirstPage"];
115
+ gotoLastPage: PaginationApi["gotoLastPage"];
116
+ gotoNextPage: PaginationApi["gotoNextPage"];
117
+ gotoPrevPage: PaginationApi["gotoPrevPage"];
118
+ gridFocused: boolean;
119
+ gridIdRef: React.MutableRefObject<number>;
120
+ handleGridFocus: KeyboardApi["handleGridFocus"];
121
+ handleGridKeyDown: KeyboardApi["handleGridKeyDown"];
122
+ handleScroll: React.UIEventHandler<HTMLDivElement>;
123
+ hasNextPage: PaginationApi["hasNextPage"];
124
+ hasPrevPage: PaginationApi["hasPrevPage"];
125
+ hideColumnContextMenu: () => void;
126
+ hideColumnFilterContextMenu: () => void;
127
+ hideRowContextMenu: () => void;
128
+ i18n: TypeDataGridProps["i18n"];
129
+ idProperty: string;
130
+ incrementActiveCellCompat: SelectionApi["incrementActiveCellCompat"];
131
+ incrementActiveIndex: SelectionApi["incrementActiveIndex"];
132
+ incrementScrollLeftCompat: ScrollApi["incrementScrollLeftCompat"];
133
+ incrementScrollTopCompat: ScrollApi["incrementScrollTopCompat"];
134
+ isCellSelected: SelectionApi["isCellSelected"];
135
+ isInEditRef: EditingApi["isInEditRef"];
136
+ isRowFullyVisibleCompat: ScrollApi["isRowFullyVisibleCompat"];
137
+ isRowRenderedCompat: ScrollApi["isRowRenderedCompat"];
138
+ lastActiveIndexRef: React.MutableRefObject<number | null>;
139
+ limit: number;
140
+ loadSkip: number;
141
+ loading: boolean;
142
+ loadingStore: LoadingStore;
143
+ localPagination: boolean;
144
+ lockedColumnMetrics: LockedColumnMetrics;
145
+ lockedEndColumns: TypeComputedColumn[];
146
+ lockedStartColumns: TypeComputedColumn[];
147
+ multiSelect: boolean | undefined;
148
+ normalizedActiveCell: TypeActiveCell;
149
+ normalizedActiveIndex: number;
150
+ notifyFilteredRowsCount: (count: number) => void;
151
+ onCellDoubleClick: TypeDataGridProps["onCellDoubleClick"];
152
+ onRowClick: TypeDataGridProps["onRowClick"];
153
+ onRowDoubleClick: TypeDataGridProps["onRowDoubleClick"];
154
+ openFilterMenuColId: string | null;
155
+ orderedColumns: TypeColumn[];
156
+ originalData: any[];
157
+ paginationMode: TypeDataGridProps["pagination"];
158
+ paginationProps: TypePaginationProps;
159
+ publicProps: InternalDataGridProps;
160
+ reload: () => void;
161
+ remotePagination: boolean;
162
+ reservedViewportWidth: number;
163
+ reservedViewportWidthRef: React.MutableRefObject<number>;
164
+ resolveRowHeight: (rowIndex: number) => number;
165
+ rootRef: React.RefObject<HTMLDivElement | null>;
166
+ rowContextMenu: OpenRowContextMenu | null;
167
+ rowContextMenuAlignPositions: TypeDataGridProps["rowContextMenuAlignPositions"];
168
+ rowContextMenuConstrainTo: TypeDataGridProps["rowContextMenuConstrainTo"];
169
+ rowContextMenuPosition: NonNullable<TypeDataGridProps["rowContextMenuPosition"]>;
170
+ rowModel: Row<any>[];
171
+ rows: any[];
172
+ safeLimit: number;
173
+ scrollRef: React.RefObject<HTMLDivElement | null>;
174
+ scrollToCellCompat: ScrollApi["scrollToCellCompat"];
175
+ scrollToColumnCompat: ScrollApi["scrollToColumnCompat"];
176
+ scrollToIndexCompat: ScrollApi["scrollToIndexCompat"];
177
+ selectAllCompat: RowApi["selectAllCompat"];
178
+ selected: TypeRowSelection;
179
+ selectedMap: Record<string, any>;
180
+ selectionEnabled: boolean;
181
+ setActiveCellCompat: SelectionApi["setActiveCellCompat"];
182
+ setActiveIndexCompat: SelectionApi["setActiveIndexCompat"];
183
+ setCellSelectionState: (next: TypeCellSelection) => void;
184
+ setColumnContextMenu: React.Dispatch<React.SetStateAction<OpenColumnContextMenu | null>>;
185
+ setColumnFilterValueCompat: ColumnApi["setColumnFilterValueCompat"];
186
+ setColumnFlexesCompat: ColumnSizingApi["setColumnFlexesCompat"];
187
+ setColumnOrderCompat: ColumnApi["setColumnOrderCompat"];
188
+ setColumnSizeAutoCompat: ColumnSizingApi["setColumnSizeAutoCompat"];
189
+ setColumnSizesCompat: ColumnSizingApi["setColumnSizesCompat"];
190
+ setColumnSizesToFitCompat: ColumnSizingApi["setColumnSizesToFitCompat"];
191
+ setColumnSortInfoCompat: ColumnApi["setColumnSortInfoCompat"];
192
+ setColumnVisibleCompat: ColumnApi["setColumnVisibleCompat"];
193
+ setColumnsSizesAutoCompat: ColumnSizingApi["setColumnsSizesAutoCompat"];
194
+ setShowCellBorders: React.Dispatch<React.SetStateAction<TypeShowCellBorders>>;
195
+ setShowEmptyRows: React.Dispatch<React.SetStateAction<boolean>>;
196
+ setShowHoverRows: React.Dispatch<React.SetStateAction<boolean>>;
197
+ setEnableFilteringCompat: (next: React.SetStateAction<boolean>) => void;
198
+ setFilterValueAndResetPage: PaginationApi["setFilterValueAndResetPage"];
199
+ setGridFocused: React.Dispatch<React.SetStateAction<boolean>>;
200
+ setItemAtCompat: RowApi["setItemAtCompat"];
201
+ setItemPropertyAtCompat: RowApi["setItemPropertyAtCompat"];
202
+ setItemPropertyForIdCompat: RowApi["setItemPropertyForIdCompat"];
203
+ setItemsAtCompat: RowApi["setItemsAtCompat"];
204
+ setLimitAndResetPage: PaginationApi["setLimitAndResetPage"];
205
+ setOpenFilterMenuColId: React.Dispatch<React.SetStateAction<string | null>>;
206
+ setReservedViewportWidth: React.Dispatch<React.SetStateAction<number>>;
207
+ setRowContextMenu: React.Dispatch<React.SetStateAction<OpenRowContextMenu | null>>;
208
+ setRowHeightByIdCompat: (nextHeight: number | null, rowId: string | number) => void;
209
+ setRowHeightsCompat: (nextRowHeights: Record<string, number>) => void;
210
+ setRows: React.Dispatch<React.SetStateAction<any[]>>;
211
+ setScrollLeftCompat: ScrollApi["setScrollLeftCompat"];
212
+ setScrollTopCompat: ScrollApi["setScrollTopCompat"];
213
+ setSelectedAtCompat: RowApi["setSelectedAtCompat"];
214
+ setSelectedByIdCompat: RowApi["setSelectedByIdCompat"];
215
+ setSelectedCompat: RowApi["setSelectedCompat"];
216
+ setShowHeader: React.Dispatch<React.SetStateAction<boolean>>;
217
+ setShowZebraRows: (next: React.SetStateAction<boolean>) => void;
218
+ setSkip: (nextSkip: number) => void;
219
+ setSortInfoAndResetPage: PaginationApi["setSortInfoAndResetPage"];
220
+ showCellBorders: TypeDataGridProps["showCellBorders"];
221
+ showColumnContextMenu: (alignTo: HTMLElement | {
222
+ left: number;
223
+ top: number;
224
+ }, cellProps: TypeCellProps, config?: {
225
+ computedVisibleIndex?: number;
226
+ }, onHide?: () => void, restoreFocusTo?: HTMLElement | null) => void;
227
+ showEmptyRows: boolean;
228
+ showHeader: boolean;
229
+ showHorizontalCellBorders: boolean;
230
+ showHoverRows: boolean;
231
+ showRowContextMenu: (alignTo: HTMLElement | {
232
+ left: number;
233
+ top: number;
234
+ }, rowProps: any, cellProps?: TypeCellProps, onHide?: () => void, restoreFocusTo?: HTMLElement | null) => void;
235
+ showVerticalCellBorders: boolean;
236
+ showZebraRows: boolean;
237
+ skip: number;
238
+ sortInfo: TypeSortInfo;
239
+ stableApi: TypeComputedProps;
240
+ stableApiTarget: TypeComputedProps;
241
+ startEditCompat: EditingApi["startEditCompat"];
242
+ surfaceRef: React.RefObject<HTMLDivElement | null>;
243
+ table: {
244
+ setColumnOrder: (order: string[]) => void;
245
+ };
246
+ toggleActiveCellSelectionCompat: SelectionApi["toggleActiveCellSelectionCompat"];
247
+ toggleColumnSortCompat: ColumnApi["toggleColumnSortCompat"];
248
+ tryStartEditCompat: EditingApi["tryStartEditCompat"];
249
+ unlockedColumns: TypeComputedColumn[];
250
+ unselected: TypeRowUnselected;
251
+ updateMenuPositionOnScroll: boolean;
252
+ virtualItems: readonly {
253
+ index: number;
254
+ }[];
255
+ virtualListCompat: VirtualListApi["virtualListCompat"];
256
+ virtualized: boolean;
257
+ visibleColumnsMap: TypeComputedColumnsMap;
258
+ visibleComputedColumns: TypeComputedColumn[];
259
+ };
260
+ /**
261
+ * Assembles the Inovua-compatible `TypeComputedProps` surface and publishes it
262
+ * on `apiRef` / the stable API proxy.
263
+ *
264
+ * The object it builds holds roughly a hundred arrow functions that live for as
265
+ * long as the grid does. Building it here means those functions capture this
266
+ * hook's parameters instead of the entire `ReactDataGrid` render scope.
267
+ */
268
+ export declare function useGridImperativeApi(params: UseGridImperativeApiParams): void;
269
+ export {};
270
+ //# sourceMappingURL=useGridImperativeApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGridImperativeApi.d.ts","sourceRoot":"","sources":["../../../src/grid/hooks/useGridImperativeApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ import { Row } from '@tanstack/react-table';
2
+ import { TypeActiveCell, TypeCellSelection, TypeColumn, TypeComputedProps, TypeDataGridProps, TypeTryStartEditArgs } from '../../types.js';
3
+ import * as React from "react";
4
+ export type UseGridKeyboardNavigationParams = {
5
+ activateRowOnFocus: boolean;
6
+ allowRowTabNavigation: boolean;
7
+ apiRef: React.MutableRefObject<TypeComputedProps | null>;
8
+ cellMultiSelect: boolean;
9
+ cellSelectionAnchorRef: React.MutableRefObject<TypeActiveCell>;
10
+ cellSelectionEnabled: boolean;
11
+ cellSelectionState: TypeCellSelection;
12
+ commitRowSelection: (rowIndex: number, options?: {
13
+ checked?: boolean;
14
+ ctrlKey?: boolean;
15
+ metaKey?: boolean;
16
+ shiftKey?: boolean;
17
+ fromCheckbox?: boolean;
18
+ }) => void;
19
+ enableKeyboardNavigation: boolean;
20
+ getCellSelectionKey: (rowIndex: number, columnIndex: number) => string;
21
+ getRenderRangeCompat: () => {
22
+ from: number;
23
+ to: number;
24
+ };
25
+ gridFocused: boolean;
26
+ incrementActiveIndex: (increment: number) => void;
27
+ incrementScrollLeftCompat: (delta: number) => void;
28
+ isRowFullyVisibleCompat: (rowIndex: number) => boolean;
29
+ isStartEditKeyPressed: NonNullable<TypeDataGridProps["isStartEditKeyPressed"]>;
30
+ keyPageStep: number;
31
+ lastActiveIndexRef: React.MutableRefObject<number | null>;
32
+ moveActiveCellQueue: (nextCell: TypeActiveCell) => void;
33
+ normalizedActiveCell: TypeActiveCell;
34
+ normalizedActiveIndex: number;
35
+ onBlurProp: React.FocusEventHandler<HTMLDivElement> | undefined;
36
+ onFocusProp: React.FocusEventHandler<HTMLDivElement> | undefined;
37
+ onKeyDownProp: React.KeyboardEventHandler<HTMLDivElement> | undefined;
38
+ onRowContextMenu: TypeDataGridProps["onRowContextMenu"];
39
+ orderedColumns: TypeColumn[];
40
+ pendingActiveCellRef: React.MutableRefObject<TypeActiveCell>;
41
+ renderRowContextMenu: TypeDataGridProps["renderRowContextMenu"];
42
+ resolveRowHeight: (rowIndex: number) => number;
43
+ rootRef: React.RefObject<HTMLDivElement | null>;
44
+ rowModel: Row<any>[];
45
+ rows: any[];
46
+ rtl: boolean;
47
+ scrollRef: React.RefObject<HTMLDivElement | null>;
48
+ scrollToCellCompat: (cell: {
49
+ rowIndex: number;
50
+ columnIndex: number;
51
+ }, config?: {
52
+ offset?: number;
53
+ left?: boolean;
54
+ right?: boolean;
55
+ top?: boolean;
56
+ }) => void;
57
+ scrollToIndexCompat: (index: number, config?: {
58
+ direction?: "top" | "bottom";
59
+ }) => void;
60
+ selectCellRange: (start: Exclude<TypeActiveCell, null>, end: Exclude<TypeActiveCell, null>, preserveCurrent?: boolean) => void;
61
+ selectableCellColumnIndexes: number[];
62
+ selectionEnabled: boolean;
63
+ setActiveIndexCompat: (nextActiveIndex: number) => void;
64
+ setCellSelectionState: (next: TypeCellSelection) => void;
65
+ setGridFocused: React.Dispatch<React.SetStateAction<boolean>>;
66
+ surfaceRef: React.RefObject<HTMLDivElement | null>;
67
+ toggleCellSelectOnClick: boolean;
68
+ tryStartEditCompat: (args: TypeTryStartEditArgs) => Promise<any>;
69
+ };
70
+ /**
71
+ * Focus, keyboard navigation and the focus-follows-active scroll sync.
72
+ *
73
+ * `handleGridKeyDown` reaches almost every other feature of the grid, so it is
74
+ * the single closure most likely to pin a whole render generation. Giving it
75
+ * its own module bounds what it can capture to the parameters below.
76
+ */
77
+ export declare function useGridKeyboardNavigation(params: UseGridKeyboardNavigationParams): {
78
+ clearPointerActivatesRow: () => void;
79
+ handleGridBlur: (event: React.FocusEvent<HTMLDivElement>) => void;
80
+ handleGridFocus: (event: React.FocusEvent<HTMLDivElement>) => void;
81
+ handleGridKeyDown: (event: React.KeyboardEvent<HTMLDivElement>) => void;
82
+ handleGridPointerDownCapture: (event: React.PointerEvent<HTMLDivElement>) => void;
83
+ moveActiveCell: (event: Pick<React.KeyboardEvent<HTMLDivElement>, "key" | "shiftKey" | "ctrlKey" | "metaKey">) => boolean;
84
+ scrollViewportFromKeyboard: (event: React.KeyboardEvent<HTMLDivElement>) => boolean;
85
+ };
86
+ //# sourceMappingURL=useGridKeyboardNavigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGridKeyboardNavigation.d.ts","sourceRoot":"","sources":["../../../src/grid/hooks/useGridKeyboardNavigation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { TypeDataGridProps, TypeFilterValue, TypePaginationProps, TypeSortInfo } from '../../types.js';
2
+ export type UseGridPaginationApiParams = {
3
+ canNext: boolean;
4
+ canPrev: boolean;
5
+ count: number;
6
+ filterControlled: boolean;
7
+ i18n: TypeDataGridProps["i18n"];
8
+ loadSkip: number;
9
+ localPagination: boolean;
10
+ pageCount: number;
11
+ pageIndex: number;
12
+ pageSizes: number[];
13
+ paginationEnabled: boolean;
14
+ reload: () => void;
15
+ remotePagination: boolean;
16
+ resetSkip: () => void;
17
+ rowsCount: number;
18
+ rtl: boolean;
19
+ safeLimit: number;
20
+ setDraftFilterValue: (next: TypeFilterValue) => void;
21
+ setFilterValue: (next: TypeFilterValue) => void;
22
+ setLimit: (next: number) => void;
23
+ setSkip: (nextSkip: number) => void;
24
+ setSortInfo: (next: TypeSortInfo) => void;
25
+ themeName: string;
26
+ };
27
+ /**
28
+ * Pagination navigation plus the page-resetting state setters that sorting and
29
+ * filtering funnel through.
30
+ */
31
+ export declare function useGridPaginationApi(params: UseGridPaginationApiParams): {
32
+ gotoFirstPage: () => void;
33
+ gotoLastPage: () => void;
34
+ gotoNextPage: () => void;
35
+ gotoPage: (page: number, config?: {
36
+ force: boolean;
37
+ }) => void;
38
+ gotoPrevPage: () => void;
39
+ hasNextPage: () => boolean;
40
+ hasPrevPage: () => boolean;
41
+ paginationProps: TypePaginationProps;
42
+ setFilterValueAndResetPage: (next: TypeFilterValue) => void;
43
+ setLimitAndResetPage: (next: number) => void;
44
+ setSortInfoAndResetPage: (next: TypeSortInfo) => void;
45
+ };
46
+ //# sourceMappingURL=useGridPaginationApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGridPaginationApi.d.ts","sourceRoot":"","sources":["../../../src/grid/hooks/useGridPaginationApi.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,YAAY,EACb,MAAM,aAAa,CAAC;AAGrB,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,OAAO,CAAC;IAC1B,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IACrD,cAAc,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAChD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,WAAW,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,0BAA0B;;;;qBAuD5D,MAAM,WAAW;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE;;;;;uCAXnC,eAAe;iCAhBf,MAAM;oCAQN,YAAY;EAsHtB"}
@@ -0,0 +1,45 @@
1
+ import { TypeRowSelection } from '../../types.js';
2
+ import * as React from "react";
3
+ export type UseGridRowApiParams = {
4
+ commitRowSelection: (rowIndex: number, options?: {
5
+ checked?: boolean;
6
+ ctrlKey?: boolean;
7
+ metaKey?: boolean;
8
+ shiftKey?: boolean;
9
+ fromCheckbox?: boolean;
10
+ }) => void;
11
+ deselectAllRows: () => void;
12
+ emitSelectionChange: (nextSelected: TypeRowSelection, meta?: {
13
+ data?: unknown;
14
+ unselected?: TypeRowSelection;
15
+ }) => void;
16
+ getRowKey: (row: any, index: number) => string;
17
+ idProperty: string;
18
+ rows: any[];
19
+ selectAllRows: () => void;
20
+ setRows: React.Dispatch<React.SetStateAction<any[]>>;
21
+ unselected: Record<string, any> | null | undefined;
22
+ };
23
+ /**
24
+ * Inovua-compatible row API: selection setters plus the in-place row mutation
25
+ * helpers (`setItemAt`, `setItemsAt`, …).
26
+ */
27
+ export declare function useGridRowApi(params: UseGridRowApiParams): {
28
+ deselectAllCompat: () => void;
29
+ getItemIndexByIdCompat: (rowId: string | number, data?: unknown[]) => number;
30
+ selectAllCompat: () => void;
31
+ setItemAtCompat: (index: number, item: unknown, config?: {
32
+ replace?: boolean;
33
+ property?: string;
34
+ value?: unknown;
35
+ }) => void;
36
+ setItemPropertyAtCompat: (index: number, property: string, value: unknown) => void;
37
+ setItemPropertyForIdCompat: (id: string | number, property: string, value: unknown) => void;
38
+ setItemsAtCompat: (items: unknown[] | Record<number, unknown>, config?: {
39
+ replace?: boolean;
40
+ }) => void;
41
+ setSelectedAtCompat: (index: number, nextSelected: boolean) => void;
42
+ setSelectedByIdCompat: (id: string, nextSelected: boolean) => void;
43
+ setSelectedCompat: (nextSelected: TypeRowSelection) => void;
44
+ };
45
+ //# sourceMappingURL=useGridRowApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGridRowApi.d.ts","sourceRoot":"","sources":["../../../src/grid/hooks/useGridRowApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,MAAM,MAAM,mBAAmB,GAAG;IAChC,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,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,mBAAmB,EAAE,CACnB,YAAY,EAAE,gBAAgB,EAC9B,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,gBAAgB,CAAA;KAAE,KACrD,IAAI,CAAC;IACV,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACrD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;CACpD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,mBAAmB;6BAjBhC,IAAI;oCAqEjB,MAAM,GAAG,MAAM,SAAS,OAAO,EAAE;2BA7DtB,IAAI;6BA0Ed,MAAM,QACP,OAAO,WACJ;QACP,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;qCA8BK,MAAM,YAAY,MAAM,SAAS,OAAO;qCAM3C,MAAM,GAAG,MAAM,YAAY,MAAM,SAAS,OAAO;8BAQ7C,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WACjC;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE;iCA3ExB,MAAM,gBAAgB,OAAO;gCAdhC,MAAM,gBAAgB,OAAO;sCAbnB,gBAAgB;EAmJlC"}
@@ -0,0 +1,73 @@
1
+ import { Row } from '@tanstack/react-table';
2
+ import { TypeComputedColumn } from '../../types.js';
3
+ import * as React from "react";
4
+ /** Only the virtualizer surface this hook needs; keeps the param type narrow. */
5
+ type ScrollRowVirtualizer = {
6
+ scrollToIndex: (index: number, options?: {
7
+ align?: "start" | "center" | "end" | "auto";
8
+ }) => void;
9
+ };
10
+ export type UseGridScrollApiParams = {
11
+ columnWidthPrefixSums: number[];
12
+ lastImperativeScrollAtRef: React.MutableRefObject<number>;
13
+ lockedColumnMetrics: {
14
+ totalLockedStartWidth: number;
15
+ totalLockedEndWidth: number;
16
+ };
17
+ resolveRowHeight: (rowIndex: number) => number;
18
+ rowHeight: number | ((rowIndex: number) => number) | null | undefined;
19
+ rowModel: Row<any>[];
20
+ rowVirtualizer: ScrollRowVirtualizer;
21
+ rtl: boolean;
22
+ scrollRef: React.RefObject<HTMLDivElement | null>;
23
+ stickyHeaderOffset: number;
24
+ surfaceRef: React.RefObject<HTMLDivElement | null>;
25
+ virtualItems: readonly {
26
+ index: number;
27
+ }[];
28
+ virtualized: boolean;
29
+ visibleComputedColumns: TypeComputedColumn[];
30
+ };
31
+ /**
32
+ * Imperative scrolling surface (scrollLeft/Top, scrollToIndex/Column/Cell and
33
+ * the render-range probes). Extracted so these callbacks close over this
34
+ * parameter list rather than the whole grid render scope.
35
+ */
36
+ export declare function useGridScrollApi(params: UseGridScrollApiParams): {
37
+ getRenderRangeCompat: () => {
38
+ from: number;
39
+ to: number;
40
+ };
41
+ getScrollLeftCompat: () => number;
42
+ getScrollingElement: () => HTMLDivElement | null;
43
+ incrementScrollLeftCompat: (delta: number) => void;
44
+ incrementScrollTopCompat: (delta: number) => void;
45
+ isRowFullyVisibleCompat: (rowIndex: number) => boolean;
46
+ isRowRenderedCompat: (rowIndex: number) => boolean;
47
+ scrollToCellCompat: (cell: {
48
+ rowIndex: number;
49
+ columnIndex: number;
50
+ }, config?: {
51
+ offset?: number;
52
+ left?: boolean;
53
+ right?: boolean;
54
+ top?: boolean;
55
+ }) => void;
56
+ scrollToColumnCompat: (index: number, config?: {
57
+ offset?: number;
58
+ duration?: number;
59
+ force?: boolean;
60
+ direction?: "left" | "right" | null;
61
+ }, callback?: (...args: unknown[]) => void) => void;
62
+ scrollToIndexCompat: (index: number, config?: {
63
+ top?: boolean;
64
+ direction?: "top" | "bottom";
65
+ force?: boolean;
66
+ duration?: number;
67
+ offset?: number;
68
+ }, callback?: (...args: unknown[]) => void) => void;
69
+ setScrollLeftCompat: (nextScrollLeft: number) => void;
70
+ setScrollTopCompat: (nextScrollTop: number) => void;
71
+ };
72
+ export {};
73
+ //# sourceMappingURL=useGridScrollApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGridScrollApi.d.ts","sourceRoot":"","sources":["../../../src/grid/hooks/useGridScrollApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,iFAAiF;AACjF,KAAK,oBAAoB,GAAG;IAC1B,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,sBAAsB,GAAG;IACnC,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,yBAAyB,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC1D,mBAAmB,EAAE;QACnB,qBAAqB,EAAE,MAAM,CAAC;QAC9B,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,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,oBAAoB,CAAC;IACrC,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAClD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACnD,YAAY,EAAE,SAAS;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3C,WAAW,EAAE,OAAO,CAAC;IACrB,sBAAsB,EAAE,kBAAkB,EAAE,CAAC;CAC9C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB;;;;;;;uCAsCnD,MAAM;sCAsBN,MAAM;wCA+LH,MAAM;oCAXN,MAAM;+BA1CT;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,WACtC;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,GAAG,CAAC,EAAE,OAAO,CAAC;KACf;kCA/DM,MAAM,WACJ;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;KACrC,aACU,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI;iCA9EhC,MAAM,WACJ;QACP,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;QAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,aACU,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI;0CAjDxB,MAAM;wCAsBP,MAAM;EAsOzB"}