zubin-grid 0.4.13 → 0.42.13

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 (53) hide show
  1. package/README.md +171 -36
  2. package/dist/adaptors/react/index.d.ts +71 -0
  3. package/dist/adaptors/react/index.d.ts.map +1 -0
  4. package/dist/adaptors/react/index.js +249 -0
  5. package/dist/adaptors/react/index.js.map +1 -0
  6. package/dist/core/cell.d.ts +17 -8
  7. package/dist/core/cell.d.ts.map +1 -1
  8. package/dist/core/cell.js +57 -39
  9. package/dist/core/cell.js.map +1 -1
  10. package/dist/core/grid-id.d.ts +7 -0
  11. package/dist/core/grid-id.d.ts.map +1 -0
  12. package/dist/core/grid-id.js +51 -0
  13. package/dist/core/grid-id.js.map +1 -0
  14. package/dist/core/grid.d.ts +9 -9
  15. package/dist/core/grid.d.ts.map +1 -1
  16. package/dist/core/grid.js +608 -199
  17. package/dist/core/grid.js.map +1 -1
  18. package/dist/core/head.d.ts +6 -12
  19. package/dist/core/head.d.ts.map +1 -1
  20. package/dist/core/head.js +20 -69
  21. package/dist/core/head.js.map +1 -1
  22. package/dist/core/helpers.d.ts +3 -3
  23. package/dist/core/helpers.d.ts.map +1 -1
  24. package/dist/core/helpers.js +5 -2
  25. package/dist/core/helpers.js.map +1 -1
  26. package/dist/core/persist.d.ts.map +1 -1
  27. package/dist/core/persist.js +53 -42
  28. package/dist/core/persist.js.map +1 -1
  29. package/dist/core/tail.d.ts +5 -10
  30. package/dist/core/tail.d.ts.map +1 -1
  31. package/dist/core/tail.js +7 -32
  32. package/dist/core/tail.js.map +1 -1
  33. package/dist/core/types/grid.types.d.ts +79 -32
  34. package/dist/core/types/grid.types.d.ts.map +1 -1
  35. package/dist/core/types/head.types.d.ts +7 -6
  36. package/dist/core/types/head.types.d.ts.map +1 -1
  37. package/dist/core/types/persist.types.d.ts +2 -0
  38. package/dist/core/types/persist.types.d.ts.map +1 -1
  39. package/dist/core/types/tail.types.d.ts +3 -2
  40. package/dist/core/types/tail.types.d.ts.map +1 -1
  41. package/dist/index.d.ts +7 -7
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +5 -5
  44. package/dist/index.js.map +1 -1
  45. package/package.json +5 -1
  46. package/dist/core/gridPersist.d.ts +0 -3
  47. package/dist/core/gridPersist.d.ts.map +0 -1
  48. package/dist/core/gridPersist.js +0 -2
  49. package/dist/core/gridPersist.js.map +0 -1
  50. package/dist/core/types/gridPersist.types.d.ts +0 -2
  51. package/dist/core/types/gridPersist.types.d.ts.map +0 -1
  52. package/dist/core/types/gridPersist.types.js +0 -2
  53. package/dist/core/types/gridPersist.types.js.map +0 -1
@@ -1,36 +1,37 @@
1
- const GRID_PERSIST_DB_NAME = "zubin-grid";
2
- const GRID_PERSIST_STORE_NAME = "grid-state";
3
- const gridPersistRuntimeCache = new Map();
4
- const gridPersistPendingReads = new Map();
5
- const gridPersistMemoryFallback = new Map();
6
- let gridPersistDatabasePromise = null;
1
+ const PERSIST_DB_NAME = "zubin-grid";
2
+ const PERSIST_STORE_NAME = "grid-state";
3
+ const persistRuntimeCache = new Map();
4
+ const persistPendingReads = new Map();
5
+ const persistMemoryFallback = new Map();
6
+ let persistDatabasePromise = null;
7
7
  export const defaultGridPersistAdapter = {
8
8
  async get(storageKey) {
9
- if (gridPersistMemoryFallback.has(storageKey)) {
10
- return gridPersistMemoryFallback.get(storageKey) ?? null;
9
+ if (persistMemoryFallback.has(storageKey)) {
10
+ return persistMemoryFallback.get(storageKey) ?? null;
11
11
  }
12
- const database = await openGridPersistDatabase();
12
+ const database = await openPersistDatabase();
13
13
  if (!database) {
14
14
  return null;
15
15
  }
16
- return ((await withGridPersistStore(database, "readonly", (store) => store.get(storageKey))) ?? null);
16
+ return ((await withPersistStore(database, "readonly", (store) => store.get(storageKey))) ??
17
+ null);
17
18
  },
18
19
  async set(storageKey, value) {
19
- gridPersistMemoryFallback.set(storageKey, value);
20
- const database = await openGridPersistDatabase();
20
+ persistMemoryFallback.set(storageKey, value);
21
+ const database = await openPersistDatabase();
21
22
  if (!database) {
22
23
  return;
23
24
  }
24
- await withGridPersistStore(database, "readwrite", (store) => store.put(value, storageKey));
25
+ await withPersistStore(database, "readwrite", (store) => store.put(value, storageKey));
25
26
  },
26
27
  async remove(storageKey) {
27
- gridPersistMemoryFallback.delete(storageKey);
28
- gridPersistRuntimeCache.delete(storageKey);
29
- const database = await openGridPersistDatabase();
28
+ persistMemoryFallback.delete(storageKey);
29
+ persistRuntimeCache.delete(storageKey);
30
+ const database = await openPersistDatabase();
30
31
  if (!database) {
31
32
  return;
32
33
  }
33
- await withGridPersistStore(database, "readwrite", (store) => store.delete(storageKey));
34
+ await withPersistStore(database, "readwrite", (store) => store.delete(storageKey));
34
35
  },
35
36
  };
36
37
  export function createGridPersistController(persist, options) {
@@ -43,19 +44,27 @@ export function createGridPersistController(persist, options) {
43
44
  return;
44
45
  }
45
46
  pendingPersistState = options.getState();
46
- gridPersistRuntimeCache.set(config.storageKey, pendingPersistState);
47
+ persistRuntimeCache.set(config.storageKey, pendingPersistState);
47
48
  if (persistWriteQueued) {
48
49
  return;
49
50
  }
50
51
  persistWriteQueued = true;
51
- scheduleGridPersistTask(() => {
52
+ schedulePersistTask(() => {
52
53
  persistWriteQueued = false;
53
54
  const snapshot = pendingPersistState;
55
+ const snapshotVersion = stateVersion;
54
56
  pendingPersistState = null;
55
57
  if (snapshot === null) {
56
58
  return;
57
59
  }
58
- void Promise.resolve(config.adapter.set(config.storageKey, snapshot)).catch(() => undefined);
60
+ void Promise.resolve(config.adapter.set(config.storageKey, snapshot))
61
+ .then(() => {
62
+ if (stateVersion !== snapshotVersion) {
63
+ return;
64
+ }
65
+ options.onPersistedStateApplied?.(snapshot);
66
+ })
67
+ .catch(() => undefined);
59
68
  });
60
69
  };
61
70
  return {
@@ -69,6 +78,7 @@ export function createGridPersistController(persist, options) {
69
78
  return;
70
79
  }
71
80
  options.replaceState(persistedState);
81
+ options.onHydratedStateApplied?.(persistedState);
72
82
  return;
73
83
  }
74
84
  const hydrationVersion = stateVersion;
@@ -77,6 +87,7 @@ export function createGridPersistController(persist, options) {
77
87
  return;
78
88
  }
79
89
  options.replaceState(nextState);
90
+ options.onHydratedStateApplied?.(nextState);
80
91
  });
81
92
  },
82
93
  markStateChanged() {
@@ -96,10 +107,10 @@ function resolvePersistConfig(persist) {
96
107
  };
97
108
  }
98
109
  function loadPersistedState(storageKey, adapter) {
99
- if (gridPersistRuntimeCache.has(storageKey)) {
100
- return gridPersistRuntimeCache.get(storageKey) ?? null;
110
+ if (persistRuntimeCache.has(storageKey)) {
111
+ return persistRuntimeCache.get(storageKey) ?? null;
101
112
  }
102
- const pendingRead = gridPersistPendingReads.get(storageKey);
113
+ const pendingRead = persistPendingReads.get(storageKey);
103
114
  if (pendingRead) {
104
115
  return pendingRead;
105
116
  }
@@ -112,24 +123,24 @@ function loadPersistedState(storageKey, adapter) {
112
123
  }
113
124
  if (!isPromiseLike(nextState)) {
114
125
  const resolvedState = nextState ?? null;
115
- gridPersistRuntimeCache.set(storageKey, resolvedState);
126
+ persistRuntimeCache.set(storageKey, resolvedState);
116
127
  return resolvedState;
117
128
  }
118
129
  const pendingState = nextState
119
130
  .then((resolvedState) => {
120
131
  const nextResolvedState = resolvedState ?? null;
121
- gridPersistRuntimeCache.set(storageKey, nextResolvedState);
122
- gridPersistPendingReads.delete(storageKey);
132
+ persistRuntimeCache.set(storageKey, nextResolvedState);
133
+ persistPendingReads.delete(storageKey);
123
134
  return nextResolvedState;
124
135
  })
125
136
  .catch(() => {
126
- gridPersistPendingReads.delete(storageKey);
137
+ persistPendingReads.delete(storageKey);
127
138
  return null;
128
139
  });
129
- gridPersistPendingReads.set(storageKey, pendingState);
140
+ persistPendingReads.set(storageKey, pendingState);
130
141
  return pendingState;
131
142
  }
132
- function scheduleGridPersistTask(task) {
143
+ function schedulePersistTask(task) {
133
144
  if (typeof queueMicrotask === "function") {
134
145
  queueMicrotask(task);
135
146
  return;
@@ -142,19 +153,19 @@ function isPromiseLike(value) {
142
153
  "then" in value &&
143
154
  typeof value.then === "function");
144
155
  }
145
- function openGridPersistDatabase() {
146
- if (gridPersistDatabasePromise) {
147
- return gridPersistDatabasePromise;
156
+ function openPersistDatabase() {
157
+ if (persistDatabasePromise) {
158
+ return persistDatabasePromise;
148
159
  }
149
160
  if (typeof indexedDB === "undefined") {
150
- gridPersistDatabasePromise = Promise.resolve(null);
151
- return gridPersistDatabasePromise;
161
+ persistDatabasePromise = Promise.resolve(null);
162
+ return persistDatabasePromise;
152
163
  }
153
- gridPersistDatabasePromise = new Promise((resolve) => {
154
- const request = indexedDB.open(GRID_PERSIST_DB_NAME, 1);
164
+ persistDatabasePromise = new Promise((resolve) => {
165
+ const request = indexedDB.open(PERSIST_DB_NAME, 1);
155
166
  request.onupgradeneeded = () => {
156
- if (!request.result.objectStoreNames.contains(GRID_PERSIST_STORE_NAME)) {
157
- request.result.createObjectStore(GRID_PERSIST_STORE_NAME);
167
+ if (!request.result.objectStoreNames.contains(PERSIST_STORE_NAME)) {
168
+ request.result.createObjectStore(PERSIST_STORE_NAME);
158
169
  }
159
170
  };
160
171
  request.onsuccess = () => {
@@ -167,12 +178,12 @@ function openGridPersistDatabase() {
167
178
  resolve(null);
168
179
  };
169
180
  });
170
- return gridPersistDatabasePromise;
181
+ return persistDatabasePromise;
171
182
  }
172
- function withGridPersistStore(database, mode, createRequest) {
183
+ function withPersistStore(database, mode, createRequest) {
173
184
  return new Promise((resolve, reject) => {
174
- const transaction = database.transaction(GRID_PERSIST_STORE_NAME, mode);
175
- const store = transaction.objectStore(GRID_PERSIST_STORE_NAME);
185
+ const transaction = database.transaction(PERSIST_STORE_NAME, mode);
186
+ const store = transaction.objectStore(PERSIST_STORE_NAME);
176
187
  let result;
177
188
  let hasResult = false;
178
189
  let request;
@@ -1 +1 @@
1
- {"version":3,"file":"persist.js","sourceRoot":"","sources":["../../core/persist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persist.js","sourceRoot":"","sources":["../../core/persist.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,9 @@
1
1
  import type { Cell } from "./types/cell.types.js";
2
- import type { Grid, GridPosition, GridState } from "./types/grid.types.js";
3
- import type { GridHead } from "./types/head.types.js";
4
- import type { GridAxisTailUpdater, GridTailHookValue, GridTailState } from "./types/tail.types.js";
5
- export type { GridAxisCell, GridAxisTailUpdater, GridTailState } from "./types/tail.types.js";
6
- export declare function useRowTail<TCell, TRowId extends string, TColumnId extends string, TRowHead extends GridHead<TRowId>, TColumnHead extends GridHead<TColumnId>, TStateCell, TState extends GridState<TStateCell, TRowHead, TColumnHead>, TTail = void>(currentGrid: Grid<TCell, TRowId, TColumnId, TRowHead, TColumnHead, TStateCell, TState>, position: GridPosition<TColumnId, TRowId>, onRowUpdate?: GridAxisTailUpdater<TCell, TRowId, TColumnId, TTail>): GridTailHookValue<TTail>;
7
- export declare function useRowTail<TCell, TRowId extends string, TColumnId extends string, TRowHead extends GridHead<TRowId>, TColumnHead extends GridHead<TColumnId>, TStateCell, TState extends GridState<TStateCell, TRowHead, TColumnHead>, TTail = void>(currentGrid: Grid<TCell, TRowId, TColumnId, TRowHead, TColumnHead, TStateCell, TState>, rowId: TRowId, onRowUpdate?: GridAxisTailUpdater<TCell, TRowId, TColumnId, TTail>): GridTailHookValue<TTail>;
8
- export declare function useColumnTail<TCell, TRowId extends string, TColumnId extends string, TRowHead extends GridHead<TRowId>, TColumnHead extends GridHead<TColumnId>, TStateCell, TState extends GridState<TStateCell, TRowHead, TColumnHead>, TTail = void>(currentGrid: Grid<TCell, TRowId, TColumnId, TRowHead, TColumnHead, TStateCell, TState>, position: GridPosition<TColumnId, TRowId>, onColumnUpdate?: GridAxisTailUpdater<TCell, TRowId, TColumnId, TTail>): GridTailHookValue<TTail>;
9
- export declare function useColumnTail<TCell, TRowId extends string, TColumnId extends string, TRowHead extends GridHead<TRowId>, TColumnHead extends GridHead<TColumnId>, TStateCell, TState extends GridState<TStateCell, TRowHead, TColumnHead>, TTail = void>(currentGrid: Grid<TCell, TRowId, TColumnId, TRowHead, TColumnHead, TStateCell, TState>, columnId: TColumnId, onColumnUpdate?: GridAxisTailUpdater<TCell, TRowId, TColumnId, TTail>): GridTailHookValue<TTail>;
10
- export declare function createTailCellMap<TId extends string>(heads: readonly GridHead<TId>[]): Map<TId, Cell<GridTailState<unknown>>>;
11
- export declare function getTailCell<TId extends string>(tailCells: Map<TId, Cell<GridTailState<unknown>>>, id: TId, axis: "row" | "column"): Cell<GridTailState<unknown>>;
2
+ import type { GridHead, GridId } from "./types/head.types.js";
3
+ import type { GridTailState } from "./types/tail.types.js";
4
+ export type { GridAxisCell, GridAxisTailUpdater, GridTailState, } from "./types/tail.types.js";
5
+ export declare function createTailCellMap<TId extends GridId>(heads: readonly GridHead<TId>[]): Map<string, Cell<GridTailState<unknown>>>;
6
+ export declare function getTailCell<TId extends GridId>(tailCells: Map<string, Cell<GridTailState<unknown>>>, id: TId, axis: "row" | "column"): Cell<GridTailState<unknown>>;
12
7
  export declare function setTailCellResult(tailCell: Cell<GridTailState<unknown>>, nextValue: unknown): boolean;
13
8
  export declare function readReactiveTailValue<TTail>(tailState: GridTailState<TTail>): TTail | null | undefined;
14
9
  //# sourceMappingURL=tail.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tail.d.ts","sourceRoot":"","sources":["../../core/tail.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAEV,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACd,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE9F,wBAAgB,UAAU,CACxB,KAAK,EACL,MAAM,SAAS,MAAM,EACrB,SAAS,SAAS,MAAM,EACxB,QAAQ,SAAS,QAAQ,CAAC,MAAM,CAAC,EACjC,WAAW,SAAS,QAAQ,CAAC,SAAS,CAAC,EACvC,UAAU,EACV,MAAM,SAAS,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,EAC3D,KAAK,GAAG,IAAI,EAEZ,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,EACtF,QAAQ,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,EACzC,WAAW,CAAC,EAAE,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,GACjE,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC5B,wBAAgB,UAAU,CACxB,KAAK,EACL,MAAM,SAAS,MAAM,EACrB,SAAS,SAAS,MAAM,EACxB,QAAQ,SAAS,QAAQ,CAAC,MAAM,CAAC,EACjC,WAAW,SAAS,QAAQ,CAAC,SAAS,CAAC,EACvC,UAAU,EACV,MAAM,SAAS,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,EAC3D,KAAK,GAAG,IAAI,EAEZ,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,EACtF,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,GACjE,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAsC5B,wBAAgB,aAAa,CAC3B,KAAK,EACL,MAAM,SAAS,MAAM,EACrB,SAAS,SAAS,MAAM,EACxB,QAAQ,SAAS,QAAQ,CAAC,MAAM,CAAC,EACjC,WAAW,SAAS,QAAQ,CAAC,SAAS,CAAC,EACvC,UAAU,EACV,MAAM,SAAS,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,EAC3D,KAAK,GAAG,IAAI,EAEZ,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,EACtF,QAAQ,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,EACzC,cAAc,CAAC,EAAE,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,GACpE,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC5B,wBAAgB,aAAa,CAC3B,KAAK,EACL,MAAM,SAAS,MAAM,EACrB,SAAS,SAAS,MAAM,EACxB,QAAQ,SAAS,QAAQ,CAAC,MAAM,CAAC,EACjC,WAAW,SAAS,QAAQ,CAAC,SAAS,CAAC,EACvC,UAAU,EACV,MAAM,SAAS,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,EAC3D,KAAK,GAAG,IAAI,EAEZ,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,EACtF,QAAQ,EAAE,SAAS,EACnB,cAAc,CAAC,EAAE,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,GACpE,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAsC5B,wBAAgB,iBAAiB,CAAC,GAAG,SAAS,MAAM,EAAE,KAAK,EAAE,SAAS,QAAQ,CAAC,GAAG,CAAC,EAAE,0CAIpF;AAED,wBAAgB,WAAW,CAAC,GAAG,SAAS,MAAM,EAC5C,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EACjD,EAAE,EAAE,GAAG,EACP,IAAI,EAAE,KAAK,GAAG,QAAQ,gCASvB;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EACtC,SAAS,EAAE,OAAO,WAYnB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,4BAE3E"}
1
+ {"version":3,"file":"tail.d.ts","sourceRoot":"","sources":["../../core/tail.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAGV,aAAa,EACd,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,YAAY,EACZ,mBAAmB,EACnB,aAAa,GACd,MAAM,uBAAuB,CAAC;AAE/B,wBAAgB,iBAAiB,CAAC,GAAG,SAAS,MAAM,EAAE,KAAK,EAAE,SAAS,QAAQ,CAAC,GAAG,CAAC,EAAE,6CAOpF;AAED,wBAAgB,WAAW,CAAC,GAAG,SAAS,MAAM,EAC5C,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EACpD,EAAE,EAAE,GAAG,EACP,IAAI,EAAE,KAAK,GAAG,QAAQ,gCASvB;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EACtC,SAAS,EAAE,OAAO,WAYnB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,4BAE3E"}
package/dist/core/tail.js CHANGED
@@ -1,40 +1,15 @@
1
- import { useCallback, useEffect, useSyncExternalStore } from "react";
2
1
  import { cell } from "./cell.js";
3
- export function useRowTail(currentGrid, rowIdOrPosition, onRowUpdate) {
4
- const resolvedRowId = Array.isArray(rowIdOrPosition)
5
- ? rowIdOrPosition[1]
6
- : rowIdOrPosition;
7
- useEffect(() => {
8
- if (!onRowUpdate)
9
- return;
10
- return currentGrid.registerRowTail(resolvedRowId, onRowUpdate);
11
- }, [currentGrid, resolvedRowId, onRowUpdate]);
12
- const subscribe = useCallback((callback) => currentGrid.subscribeRowTail(resolvedRowId, callback), [currentGrid, resolvedRowId]);
13
- const getSnapshot = useCallback(() => readReactiveTailValue(currentGrid.getRowTailState(resolvedRowId)), [currentGrid, resolvedRowId]);
14
- const tail = useSyncExternalStore(subscribe, getSnapshot);
15
- return tail;
16
- }
17
- export function useColumnTail(currentGrid, columnIdOrPosition, onColumnUpdate) {
18
- const resolvedColumnId = Array.isArray(columnIdOrPosition)
19
- ? columnIdOrPosition[0]
20
- : columnIdOrPosition;
21
- useEffect(() => {
22
- if (!onColumnUpdate)
23
- return;
24
- return currentGrid.registerColumnTail(resolvedColumnId, onColumnUpdate);
25
- }, [currentGrid, resolvedColumnId, onColumnUpdate]);
26
- const subscribe = useCallback((callback) => currentGrid.subscribeColumnTail(resolvedColumnId, callback), [currentGrid, resolvedColumnId]);
27
- const getSnapshot = useCallback(() => readReactiveTailValue(currentGrid.getColumnTailState(resolvedColumnId)), [currentGrid, resolvedColumnId]);
28
- const tail = useSyncExternalStore(subscribe, getSnapshot);
29
- return tail;
30
- }
2
+ import { createGridIdKey, formatGridId } from "./grid-id.js";
31
3
  export function createTailCellMap(heads) {
32
- return new Map(heads.map((head) => [head.id, cell(createTailState())]));
4
+ return new Map(heads.map((head) => [
5
+ createGridIdKey(head.id),
6
+ cell(createTailState()),
7
+ ]));
33
8
  }
34
9
  export function getTailCell(tailCells, id, axis) {
35
- const currentTailCell = tailCells.get(id);
10
+ const currentTailCell = tailCells.get(createGridIdKey(id));
36
11
  if (!currentTailCell) {
37
- throw new Error(`Missing ${axis} tail "${id}".`);
12
+ throw new Error(`Missing ${axis} tail "${formatGridId(id)}".`);
38
13
  }
39
14
  return currentTailCell;
40
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tail.js","sourceRoot":"","sources":["../../core/tail.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tail.js","sourceRoot":"","sources":["../../core/tail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAgB7D,MAAM,UAAU,iBAAiB,CAAqB,KAA+B;IACnF,OAAO,IAAI,GAAG,CACZ,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAClB,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,IAAI,CAAyB,eAAe,EAAE,CAAC;KAChD,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,SAAoD,EACpD,EAAO,EACP,IAAsB;IAEtB,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;IAE3D,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,UAAU,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,QAAsC,EACtC,SAAkB;IAElB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;IACxC,MAAM,aAAa,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAEjD,IAAI,eAAe,CAAC,gBAAgB,EAAE,aAAa,CAAC,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAE5B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAQ,SAA+B;IAC1E,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5D,CAAC;AAED,SAAS,eAAe,CAAC,KAAe;IACtC,OAAO,KAAK,KAAK,SAAS;QACxB,CAAC,CAAC;YACE,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,IAAI;SACZ;QACH,CAAC,CAAC;YACE,UAAU,EAAE,IAAI;YAChB,KAAK;SACN,CAAC;AACR,CAAC;AAED,SAAS,eAAe,CACtB,aAAqC,EACrC,cAAsC;IAEtC,OAAO,CACL,aAAa,CAAC,UAAU,KAAK,cAAc,CAAC,UAAU;QACtD,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,CACrD,CAAC;AACJ,CAAC"}
@@ -1,13 +1,21 @@
1
1
  import type { Cell, Subscriber, Updater } from "./cell.types.js";
2
- import type { GridHead } from "./head.types.js";
2
+ import type { GridHead, GridId } from "./head.types.js";
3
3
  import type { GridAxisCell, GridAxisTailUpdater, GridTailState } from "./tail.types.js";
4
- export type { GridPersistAdapter, GridPersistOption } from "./gridPersist.types.js";
5
- import type { GridPersistOption } from "./gridPersist.types.js";
4
+ export type { GridPersistAdapter, GridPersistOption } from "./persist.types.js";
5
+ import type { GridPersistOption } from "./persist.types.js";
6
6
  export type GridRecord = Record<string, unknown>;
7
7
  export type GridSetMode = "update" | "replace";
8
+ export interface GridCellMeta {
9
+ existsInDb: boolean;
10
+ isDirty: boolean;
11
+ }
12
+ export interface GridCellSnapshot<TCell> {
13
+ value: TCell | undefined;
14
+ meta: GridCellMeta;
15
+ }
8
16
  export type GridUpdateType = "grid" | "cells" | "rows" | "columns" | "row-head" | "column-head" | "row-tail" | "column-tail";
9
17
  export type GridUpdateAction = "clear" | "replace" | "recompute" | "update" | "upsert";
10
- export type GridUpdateSource = "cell.set" | "clearCells" | "clearGrid" | "recomputeColumnTail" | "recomputeRowTail" | "setGrid" | "updateColumnHead" | "updateColumnTail" | "updateRowHead" | "updateRowTail" | "upsertCell" | "upsertCells" | "upsertColumn" | "upsertColumns" | "upsertRow" | "upsertRows";
18
+ export type GridUpdateSource = "cell.set" | "clearCells" | "clearGrid" | "recomputeColumnTail" | "recomputeRowTail" | "setGrid" | "setCell" | "updateColumnHead" | "updateColumnTail" | "updateRowHead" | "updateRowTail" | "upsertCell" | "upsertCells" | "upsertColumn" | "upsertColumns" | "upsertRow" | "upsertRows";
11
19
  export interface GridState<TCell, TRow = GridRecord, TColumn = GridRecord> {
12
20
  cells: readonly TCell[];
13
21
  rows: readonly TRow[];
@@ -20,25 +28,69 @@ type NonArrayValue<TValue> = TValue extends readonly unknown[] ? never : TValue;
20
28
  export type SchemaCell<TState extends GridState<GridRecord, GridRecord, GridRecord>> = TState["cells"][number];
21
29
  export type SchemaRow<TState extends GridState<GridRecord, GridRecord, GridRecord>> = TState["rows"][number];
22
30
  export type SchemaColumn<TState extends GridState<GridRecord, GridRecord, GridRecord>> = TState["columns"][number];
23
- export interface GridStateCell<TCell, TRowId extends string = string, TColumnId extends string = string> {
31
+ export interface GridStateCell<TCell, TRowId extends GridId = GridId, TColumnId extends GridId = GridId> {
24
32
  rowId: TRowId;
25
33
  columnId: TColumnId;
26
34
  value: TCell;
27
35
  }
28
36
  export type GridStateInitializer<TState> = NonArrayValue<NonAny<TState>> | NonArrayValue<StrictPartial<TState>> | (() => NonArrayValue<NonAny<TState>> | NonArrayValue<StrictPartial<TState>>);
29
- export type GridPosition<TColumnId extends string = string, TRowId extends string = string> = readonly [columnId: TColumnId, rowId: TRowId];
30
- export type GridRows<TColumnId extends string = string, TRowId extends string = string> = readonly (readonly GridPosition<TColumnId, TRowId>[])[];
37
+ export interface GridCellPosition {
38
+ row: number;
39
+ col: number;
40
+ }
41
+ export type GridDimension = "rows" | "columns";
42
+ export type DimensionGridPosition<TDimension extends GridDimension = GridDimension> = TDimension extends "rows" ? {
43
+ row: number;
44
+ col?: never;
45
+ } : {
46
+ row?: never;
47
+ col: number;
48
+ };
49
+ export interface DimensionGridState<TCell, TDimension extends GridDimension = GridDimension> {
50
+ dimension: TDimension;
51
+ cells: readonly (TCell | undefined)[];
52
+ }
53
+ export interface DimensionGridOptions<TCell, TDimension extends GridDimension = GridDimension> {
54
+ persist?: false | GridPersistOption<DimensionGridState<TCell, TDimension>>;
55
+ }
56
+ export interface DimensionGridUpdateDiff<TDimension extends GridDimension = GridDimension> {
57
+ type: "cells" | "dimension";
58
+ action: "clear" | "replace" | "resize" | "update";
59
+ source: "cell.set" | "clearGrid" | "parent" | "setCell" | "setGrid";
60
+ dimension: TDimension;
61
+ size: number;
62
+ previousSize?: number;
63
+ indices?: readonly number[];
64
+ }
65
+ export interface DimensionGrid<TCell, TDimension extends GridDimension = GridDimension, TRowId extends GridId = GridId, TColumnId extends GridId = GridId> {
66
+ readonly dimension: TDimension;
67
+ readonly size: number;
68
+ readonly rowHeaders: readonly TRowId[];
69
+ readonly colHeaders: readonly TColumnId[];
70
+ getState: () => DimensionGridState<TCell, TDimension>;
71
+ setGrid: (nextState: DimensionGridState<TCell, TDimension> | readonly (TCell | undefined)[], mode?: GridSetMode) => void;
72
+ readCell: (index: number) => GridCellSnapshot<TCell>;
73
+ setCell: (index: number, nextValue: Updater<TCell | undefined>) => void;
74
+ getCell: (index: number) => Cell<TCell | undefined>;
75
+ getValue: (index: number) => TCell | undefined;
76
+ hasCell: (index: number) => boolean;
77
+ clearGrid: () => void;
78
+ subscribeGrid: (callback: DimensionGridSubscriber<TCell, TDimension, TRowId, TColumnId>) => () => void;
79
+ }
80
+ export type DimensionGridSubscriber<TCell, TDimension extends GridDimension = GridDimension, TRowId extends GridId = GridId, TColumnId extends GridId = GridId> = (currentGrid: DimensionGrid<TCell, TDimension, TRowId, TColumnId>, diff: DimensionGridUpdateDiff<TDimension>) => void;
31
81
  export interface GridSchemaOptions<TState extends GridState<GridRecord, GridRecord, GridRecord>, TRowHeadIdKey extends keyof SchemaRow<TState> & string, TColumnHeadIdKey extends keyof SchemaColumn<TState> & string, TRowCellKey extends keyof SchemaCell<TState> & string, TColumnCellKey extends keyof SchemaCell<TState> & string, TPersistState = unknown> {
32
82
  rowHeaders: readonly [headIdKey: TRowHeadIdKey, cellKey: TRowCellKey];
33
83
  colHeaders: readonly [headIdKey: TColumnHeadIdKey, cellKey: TColumnCellKey];
34
84
  persist?: GridPersistOption<TPersistState>;
35
85
  }
36
- export type GridUpsertHead<THead extends GridHead<string>> = Omit<THead, "label" | "order"> & Partial<Pick<THead, "label" | "order">>;
37
- export interface Grid<TCell, TRowId extends string = string, TColumnId extends string = string, TRowHead extends GridHead<TRowId> = GridHead<TRowId>, TColumnHead extends GridHead<TColumnId> = GridHead<TColumnId>, TStateCell = GridStateCell<TCell, TRowId, TColumnId>, TState extends GridState<TStateCell, TRowHead, TColumnHead> = GridState<TStateCell, TRowHead, TColumnHead>> {
86
+ export type GridUpsertHead<THead extends GridHead<GridId>> = Omit<THead, "label" | "order"> & Partial<Pick<THead, "label" | "order">>;
87
+ export interface Grid<TCell, TRowId extends GridId = GridId, TColumnId extends GridId = GridId, TRowHead extends GridHead<TRowId> = GridHead<TRowId>, TColumnHead extends GridHead<TColumnId> = GridHead<TColumnId>, TStateCell = GridStateCell<TCell, TRowId, TColumnId>, TState extends GridState<TStateCell, TRowHead, TColumnHead> = GridState<TStateCell, TRowHead, TColumnHead>> {
38
88
  readonly rowHeaders: readonly TRowId[];
39
89
  readonly colHeaders: readonly TColumnId[];
40
90
  getState: () => TState;
41
91
  setGrid: (nextState: TState | Partial<TState>, mode?: GridSetMode) => void;
92
+ readCell: (rowId: TRowId, columnId: TColumnId) => GridCellSnapshot<TCell>;
93
+ setCell: (rowId: TRowId, columnId: TColumnId, nextValue: Updater<TCell | undefined>) => void;
42
94
  getCell: (rowId: TRowId, columnId: TColumnId) => Cell<TCell>;
43
95
  getValue: (rowId: TRowId, columnId: TColumnId) => TCell;
44
96
  hasCell: (rowId: TRowId, columnId: TColumnId) => boolean;
@@ -72,17 +124,16 @@ export interface Grid<TCell, TRowId extends string = string, TColumnId extends s
72
124
  recomputeRowTail: (rowId: TRowId) => void;
73
125
  recomputeColumnTail: (columnId: TColumnId) => void;
74
126
  }
75
- export type SubGridState<TCell, TRowId extends string = string, TColumnId extends string = string, TRowHead extends GridHead<TRowId> = GridHead<TRowId>, TColumnHead extends GridHead<TColumnId> = GridHead<TColumnId>> = GridState<GridStateCell<TCell, TRowId, TColumnId>, TRowHead, TColumnHead>;
76
- export type SubGrid<TCell, TRowId extends string = string, TColumnId extends string = string, TRowHead extends GridHead<TRowId> = GridHead<TRowId>, TColumnHead extends GridHead<TColumnId> = GridHead<TColumnId>> = Grid<TCell, TRowId, TColumnId, TRowHead, TColumnHead, GridStateCell<TCell, TRowId, TColumnId>, SubGridState<TCell, TRowId, TColumnId, TRowHead, TColumnHead>>;
77
- export interface CreateSubGridOptions<TCell, TRowId extends string = string, TColumnId extends string = string, TRowHead extends GridHead<TRowId> = GridHead<TRowId>, TColumnHead extends GridHead<TColumnId> = GridHead<TColumnId>> {
78
- cells?: readonly GridStateCell<TCell, TRowId, TColumnId>[];
79
- persist?: GridPersistOption<SubGridState<TCell, TRowId, TColumnId, TRowHead, TColumnHead>>;
127
+ export type SubGridState<TCell, TRowId extends GridId = GridId, TColumnId extends GridId = GridId, TRowHead extends GridHead<TRowId> = GridHead<TRowId>, TColumnHead extends GridHead<TColumnId> = GridHead<TColumnId>> = GridState<GridStateCell<TCell, TRowId, TColumnId>, TRowHead, TColumnHead>;
128
+ export type SubGrid<TCell, TRowId extends GridId = GridId, TColumnId extends GridId = GridId, TRowHead extends GridHead<TRowId> = GridHead<TRowId>, TColumnHead extends GridHead<TColumnId> = GridHead<TColumnId>> = Grid<TCell, TRowId, TColumnId, TRowHead, TColumnHead, GridStateCell<TCell, TRowId, TColumnId>, SubGridState<TCell, TRowId, TColumnId, TRowHead, TColumnHead>>;
129
+ export interface CreateSubGridOptions<TCell, TRowId extends GridId = GridId, TColumnId extends GridId = GridId, TRowHead extends GridHead<TRowId> = GridHead<TRowId>, TColumnHead extends GridHead<TColumnId> = GridHead<TColumnId>> {
130
+ persist?: false | GridPersistOption<SubGridState<TCell, TRowId, TColumnId, TRowHead, TColumnHead>>;
80
131
  }
81
- export interface GridAxisIds<TRowId extends string, TColumnId extends string> {
132
+ export interface GridAxisIds<TRowId extends GridId, TColumnId extends GridId> {
82
133
  rows: readonly TRowId[];
83
134
  cols: readonly TColumnId[];
84
135
  }
85
- export interface GridUpdateDiff<TRowId extends string = string, TColumnId extends string = string, TRowHead extends GridHead<TRowId> = GridHead<TRowId>, TColumnHead extends GridHead<TColumnId> = GridHead<TColumnId>, TStateCell = unknown> {
136
+ export interface GridUpdateDiff<TRowId extends GridId = GridId, TColumnId extends GridId = GridId, TRowHead extends GridHead<TRowId> = GridHead<TRowId>, TColumnHead extends GridHead<TColumnId> = GridHead<TColumnId>, TStateCell = unknown> {
86
137
  type: GridUpdateType;
87
138
  action: GridUpdateAction;
88
139
  source: GridUpdateSource;
@@ -99,22 +150,19 @@ export interface GridUpdateDiff<TRowId extends string = string, TColumnId extend
99
150
  cells?: readonly TStateCell[];
100
151
  previousCells?: readonly TStateCell[];
101
152
  }
102
- export type GridSubscriber<TCell, TRowId extends string = string, TColumnId extends string = string, TRowHead extends GridHead<TRowId> = GridHead<TRowId>, TColumnHead extends GridHead<TColumnId> = GridHead<TColumnId>, TStateCell = GridStateCell<TCell, TRowId, TColumnId>, TState extends GridState<TStateCell, TRowHead, TColumnHead> = GridState<TStateCell, TRowHead, TColumnHead>> = (currentGrid: Grid<TCell, TRowId, TColumnId, TRowHead, TColumnHead, TStateCell, TState>, diff: GridUpdateDiff<TRowId, TColumnId, TRowHead, TColumnHead, TStateCell>) => void;
103
- export interface UseGridOptions<TCell, TRowId extends string = string, TColumnId extends string = string, TRowHead extends GridHead<TRowId> = GridHead<TRowId>, TColumnHead extends GridHead<TColumnId> = GridHead<TColumnId>, TStateCell = GridStateCell<TCell, TRowId, TColumnId>, TState extends GridState<TStateCell, TRowHead, TColumnHead> = GridState<TStateCell, TRowHead, TColumnHead>> {
104
- onGridUpdate?: GridSubscriber<TCell, TRowId, TColumnId, TRowHead, TColumnHead, TStateCell, TState>;
105
- }
106
- export type SchemaRowId<TState extends GridState<GridRecord, GridRecord, GridRecord>, TRowHeadIdKey extends keyof SchemaRow<TState> & string> = Extract<SchemaRow<TState>[TRowHeadIdKey], string>;
107
- export type SchemaColumnId<TState extends GridState<GridRecord, GridRecord, GridRecord>, TColumnHeadIdKey extends keyof SchemaColumn<TState> & string> = Extract<SchemaColumn<TState>[TColumnHeadIdKey], string>;
153
+ export type GridSubscriber<TCell, TRowId extends GridId = GridId, TColumnId extends GridId = GridId, TRowHead extends GridHead<TRowId> = GridHead<TRowId>, TColumnHead extends GridHead<TColumnId> = GridHead<TColumnId>, TStateCell = GridStateCell<TCell, TRowId, TColumnId>, TState extends GridState<TStateCell, TRowHead, TColumnHead> = GridState<TStateCell, TRowHead, TColumnHead>> = (currentGrid: Grid<TCell, TRowId, TColumnId, TRowHead, TColumnHead, TStateCell, TState>, diff: GridUpdateDiff<TRowId, TColumnId, TRowHead, TColumnHead, TStateCell>) => void;
154
+ export type SchemaRowId<TState extends GridState<GridRecord, GridRecord, GridRecord>, TRowHeadIdKey extends keyof SchemaRow<TState> & string> = Extract<SchemaRow<TState>[TRowHeadIdKey], GridId>;
155
+ export type SchemaColumnId<TState extends GridState<GridRecord, GridRecord, GridRecord>, TColumnHeadIdKey extends keyof SchemaColumn<TState> & string> = Extract<SchemaColumn<TState>[TColumnHeadIdKey], GridId>;
108
156
  export type SchemaCellValue<TState extends GridState<GridRecord, GridRecord, GridRecord>, TRowHeadIdKey extends keyof SchemaRow<TState> & string, TColumnHeadIdKey extends keyof SchemaColumn<TState> & string, TRowCellKey extends keyof SchemaCell<TState> & string, TColumnCellKey extends keyof SchemaCell<TState> & string> = SchemaCell<TState> & Record<TRowCellKey, SchemaRowId<TState, TRowHeadIdKey>> & Record<TColumnCellKey, SchemaColumnId<TState, TColumnHeadIdKey>>;
109
157
  export type SchemaRowHead<TState extends GridState<GridRecord, GridRecord, GridRecord>, TRowHeadIdKey extends keyof SchemaRow<TState> & string> = SchemaRow<TState> & GridHead<SchemaRowId<TState, TRowHeadIdKey>>;
110
158
  export type SchemaColumnHead<TState extends GridState<GridRecord, GridRecord, GridRecord>, TColumnHeadIdKey extends keyof SchemaColumn<TState> & string> = SchemaColumn<TState> & GridHead<SchemaColumnId<TState, TColumnHeadIdKey>>;
111
159
  export type SchemaSnapshot<TState extends GridState<GridRecord, GridRecord, GridRecord>, TRowHeadIdKey extends keyof SchemaRow<TState> & string, TColumnHeadIdKey extends keyof SchemaColumn<TState> & string, TRowCellKey extends keyof SchemaCell<TState> & string, TColumnCellKey extends keyof SchemaCell<TState> & string> = GridState<SchemaCellValue<TState, TRowHeadIdKey, TColumnHeadIdKey, TRowCellKey, TColumnCellKey>, SchemaRowHead<TState, TRowHeadIdKey>, SchemaColumnHead<TState, TColumnHeadIdKey>>;
112
- export interface GridInitialCellEntry<TCell, TRowId extends string, TColumnId extends string> {
160
+ export interface GridInitialCellEntry<TCell, TRowId extends GridId, TColumnId extends GridId> {
113
161
  rowId: TRowId;
114
162
  columnId: TColumnId;
115
163
  cell: Cell<TCell>;
116
164
  }
117
- export interface GridStateAdapter<TCell, TRowId extends string, TColumnId extends string, TStateCell> {
165
+ export interface GridStateAdapter<TCell, TRowId extends GridId, TColumnId extends GridId, TStateCell> {
118
166
  deserializeCell: (stateCell: TStateCell) => {
119
167
  rowId: TRowId;
120
168
  columnId: TColumnId;
@@ -122,19 +170,18 @@ export interface GridStateAdapter<TCell, TRowId extends string, TColumnId extend
122
170
  };
123
171
  serializeCell: (rowId: TRowId, columnId: TColumnId, value: TCell) => TStateCell;
124
172
  }
125
- export type BroadSchemaRowHead<TState extends GridState<GridRecord, GridRecord, GridRecord>> = SchemaRow<TState> & GridHead<string>;
126
- export type BroadSchemaColumnHead<TState extends GridState<GridRecord, GridRecord, GridRecord>> = SchemaColumn<TState> & GridHead<string>;
173
+ export type BroadSchemaRowHead<TState extends GridState<GridRecord, GridRecord, GridRecord>> = SchemaRow<TState> & GridHead<GridId>;
174
+ export type BroadSchemaColumnHead<TState extends GridState<GridRecord, GridRecord, GridRecord>> = SchemaColumn<TState> & GridHead<GridId>;
127
175
  export type BroadSchemaSnapshot<TState extends GridState<GridRecord, GridRecord, GridRecord>> = GridState<SchemaCell<TState>, BroadSchemaRowHead<TState>, BroadSchemaColumnHead<TState>>;
128
- export interface InternalGridCellSetter<TCell, TRowId extends string, TColumnId extends string> {
129
- __setCellValue: (rowId: TRowId, columnId: TColumnId, newValue: TCell) => void;
130
- }
131
- export type WritableGrid<TCell, TRowId extends string, TColumnId extends string, TRowHead extends GridHead<TRowId>, TColumnHead extends GridHead<TColumnId>, TStateCell, TState extends GridState<TStateCell, TRowHead, TColumnHead>> = Grid<TCell, TRowId, TColumnId, TRowHead, TColumnHead, TStateCell, TState> & InternalGridCellSetter<TCell, TRowId, TColumnId>;
132
176
  export type AnyGrid = Grid<any, any, any, any, any, any, any>;
133
- export type GridRowIdOf<TGrid extends AnyGrid> = TGrid extends Grid<any, infer TRowId, any, any, any, any, any> ? Extract<TRowId, string> : never;
134
- export type GridColumnIdOf<TGrid extends AnyGrid> = TGrid extends Grid<any, any, infer TColumnId, any, any, any, any> ? Extract<TColumnId, string> : never;
177
+ export type AnyDimensionGrid = DimensionGrid<any, any, any, any>;
178
+ export type GridRowIdOf<TGrid extends AnyGrid> = TGrid extends Grid<any, infer TRowId, any, any, any, any, any> ? Extract<TRowId, GridId> : never;
179
+ export type GridColumnIdOf<TGrid extends AnyGrid> = TGrid extends Grid<any, any, infer TColumnId, any, any, any, any> ? Extract<TColumnId, GridId> : never;
135
180
  export type GridRowHeadOf<TGrid extends AnyGrid> = TGrid extends Grid<any, any, any, infer TRowHead, any, any, any> ? TRowHead : never;
136
181
  export type GridColumnHeadOf<TGrid extends AnyGrid> = TGrid extends Grid<any, any, any, any, infer TColumnHead, any, any> ? TColumnHead : never;
137
182
  export type ParentSubGridState<TCell, TParentGrid extends AnyGrid> = SubGridState<TCell, GridRowIdOf<TParentGrid>, GridColumnIdOf<TParentGrid>, GridRowHeadOf<TParentGrid>, GridColumnHeadOf<TParentGrid>>;
138
183
  export type ParentSubGrid<TCell, TParentGrid extends AnyGrid> = SubGrid<TCell, GridRowIdOf<TParentGrid>, GridColumnIdOf<TParentGrid>, GridRowHeadOf<TParentGrid>, GridColumnHeadOf<TParentGrid>>;
139
184
  export type ParentSubGridOptions<TCell, TParentGrid extends AnyGrid> = CreateSubGridOptions<TCell, GridRowIdOf<TParentGrid>, GridColumnIdOf<TParentGrid>, GridRowHeadOf<TParentGrid>, GridColumnHeadOf<TParentGrid>>;
185
+ export type ParentDimensionGrid<TCell, TDimension extends GridDimension, TParentGrid extends AnyGrid> = DimensionGrid<TCell, TDimension, GridRowIdOf<TParentGrid>, GridColumnIdOf<TParentGrid>>;
186
+ export type ParentDimensionGridOptions<TCell, TDimension extends GridDimension, TParentGrid extends AnyGrid> = DimensionGridOptions<TCell, TDimension>;
140
187
  //# sourceMappingURL=grid.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"grid.types.d.ts","sourceRoot":"","sources":["../../../core/types/grid.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grid.types.d.ts","sourceRoot":"","sources":["../../../core/types/grid.types.ts"],"names":[],"mappings":"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"}