@tipolox/litgrid-react 1.0.2 → 1.0.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"gridBindings.d.ts","sourceRoot":"","sources":["../src/gridBindings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,UAAU,EACV,SAAS,EACV,MAAM,sBAAsB,CAAA;AAE7B,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,OAAO,EAAE,CAAA;IACf,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,MAAM,EAAE,UAAU,CAAA;IAClB,KAAK,EAAE,SAAS,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;IACvB,yBAAyB,EAAE,OAAO,CAAA;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;IACzB,4BAA4B,EAAE,MAAM,CAAA;IACpC,qBAAqB,EAAE,MAAM,CAAA;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B,CAAA;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,eAAe,GACtB,IAAI,CAgBN"}
1
+ {"version":3,"file":"gridBindings.d.ts","sourceRoot":"","sources":["../src/gridBindings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,UAAU,EACV,SAAS,EACV,MAAM,sBAAsB,CAAA;AAE7B,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,OAAO,EAAE,CAAA;IACf,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,MAAM,EAAE,UAAU,CAAA;IAClB,KAAK,EAAE,SAAS,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;IACvB,yBAAyB,EAAE,OAAO,CAAA;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;IACzB,4BAA4B,EAAE,MAAM,CAAA;IACpC,qBAAqB,EAAE,MAAM,CAAA;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B,CAAA;AAID,wBAAgB,cAAc,CAC5B,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,eAAe,GACtB,IAAI,CAgCN"}
@@ -1,18 +1,35 @@
1
+ const synchronizedInputs = new WeakMap();
1
2
  export function syncGridInputs(grid, inputs) {
3
+ // Keep the existing effect-triggered synchronization contract, including
4
+ // in-place mutations. Navigation is retained by the structural grid setters.
2
5
  grid.data = inputs.data;
3
6
  grid.columns = inputs.columns;
4
- grid.config = inputs.config;
5
- grid.theme = inputs.theme;
6
- grid.ariaLabel = inputs.ariaLabel;
7
- grid.ariaDescription = inputs.ariaDescription;
8
- grid.screenReaderAnnouncements = inputs.screenReaderAnnouncements;
9
- grid.viewportHeight = inputs.height;
10
- grid.virtualRowHeight = inputs.rowHeight;
11
- grid.overscanCount = inputs.overscan;
12
- grid.columnOverscanCount = inputs.columnOverscan;
13
- grid.bestFitSampleSize = inputs.bestFitSampleSize;
14
- grid.quickSearchDebounceThreshold = inputs.quickSearchDebounceThreshold;
15
- grid.quickSearchDebounceMs = inputs.quickSearchDebounceMs;
16
- grid.columnStateStorageKey = inputs.columnStateStorageKey ?? null;
7
+ const values = {
8
+ config: inputs.config,
9
+ theme: inputs.theme, ariaLabel: inputs.ariaLabel, ariaDescription: inputs.ariaDescription,
10
+ screenReaderAnnouncements: inputs.screenReaderAnnouncements,
11
+ viewportHeight: inputs.height, virtualRowHeight: inputs.rowHeight,
12
+ overscanCount: inputs.overscan, columnOverscanCount: inputs.columnOverscan,
13
+ bestFitSampleSize: inputs.bestFitSampleSize,
14
+ quickSearchDebounceThreshold: inputs.quickSearchDebounceThreshold,
15
+ quickSearchDebounceMs: inputs.quickSearchDebounceMs,
16
+ columnStateStorageKey: inputs.columnStateStorageKey ?? null
17
+ };
18
+ // Snapshot only the fixed-size configuration, never row data or column content.
19
+ const config = inputs.config;
20
+ const configKey = JSON.stringify([
21
+ config.selection?.mode ?? 'none', config.selection?.checkboxes ?? false,
22
+ config.rowHeader?.enabled ?? false, config.rowHeader?.width ?? 56,
23
+ config.pagination?.enabled ?? false,
24
+ Number.isFinite(config.pagination?.pageSize) && config.pagination.pageSize > 0 ? Math.max(1, Math.floor(config.pagination.pageSize)) : 50,
25
+ Number.isFinite(config.pagination?.pageIndex) && config.pagination.pageIndex >= 0 ? Math.floor(config.pagination.pageIndex) : 0
26
+ ]);
27
+ const previous = synchronizedInputs.get(grid);
28
+ for (const [key, value] of Object.entries(values)) {
29
+ if (!previous || (key === 'config' ? previous.configKey !== configKey : previous[key] !== value)) {
30
+ Reflect.set(grid, key, value);
31
+ }
32
+ }
33
+ synchronizedInputs.set(grid, { ...values, configKey });
17
34
  }
18
35
  //# sourceMappingURL=gridBindings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gridBindings.js","sourceRoot":"","sources":["../src/gridBindings.ts"],"names":[],"mappings":"AAyBA,MAAM,UAAU,cAAc,CAC5B,IAAqB,EACrB,MAAuB;IAEvB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IACvB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAC3B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;IACzB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;IACjC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAA;IAC7C,IAAI,CAAC,yBAAyB,GAAG,MAAM,CAAC,yBAAyB,CAAA;IACjE,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAA;IACnC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAA;IACxC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAA;IACpC,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,cAAc,CAAA;IAChD,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAA;IACjD,IAAI,CAAC,4BAA4B,GAAG,MAAM,CAAC,4BAA4B,CAAA;IACvE,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAA;IACzD,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,IAAI,IAAI,CAAA;AACnE,CAAC"}
1
+ {"version":3,"file":"gridBindings.js","sourceRoot":"","sources":["../src/gridBindings.ts"],"names":[],"mappings":"AAyBA,MAAM,kBAAkB,GAAG,IAAI,OAAO,EAA4C,CAAA;AAElF,MAAM,UAAU,cAAc,CAC5B,IAAqB,EACrB,MAAuB;IAEvB,yEAAyE;IACzE,6EAA6E;IAC7E,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IACvB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAC7B,MAAM,MAAM,GAAG;QACb,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe;QACzF,yBAAyB,EAAE,MAAM,CAAC,yBAAyB;QAC3D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC,SAAS;QACjE,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,mBAAmB,EAAE,MAAM,CAAC,cAAc;QAC1E,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,4BAA4B,EAAE,MAAM,CAAC,4BAA4B;QACjE,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,IAAI,IAAI;KAC5D,CAAA;IACD,gFAAgF;IAChF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,MAAM,CAAC,SAAS,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,IAAI,KAAK;QACvE,MAAM,CAAC,SAAS,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,CAAC,UAAU,EAAE,OAAO,IAAI,KAAK;QACnC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,UAAW,CAAC,QAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAW,CAAC,QAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QAC7I,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,UAAW,CAAC,SAAU,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAW,CAAC,SAAU,CAAC,CAAC,CAAC,CAAC,CAAC;KACpI,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YACjG,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;IACD,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;AACxD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tipolox/litgrid-react",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "React integration for LitGrid.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -38,7 +38,7 @@
38
38
  "access": "public"
39
39
  },
40
40
  "dependencies": {
41
- "@tipolox/litgrid-web": "^1.0.2"
41
+ "@tipolox/litgrid-web": "^1.0.3"
42
42
  },
43
43
  "peerDependencies": {
44
44
  "react": "^19.2.5",