@infinite-table/infinite-react 6.0.16 → 6.0.18

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.
package/index.d.ts CHANGED
@@ -1628,6 +1628,12 @@ declare type TableRenderDetailRowFnParam = {
1628
1628
  };
1629
1629
  declare type TableRenderCellFn = (param: TableRenderCellFnParam) => Renderable;
1630
1630
  declare type TableRenderDetailRowFn = (param: TableRenderDetailRowFnParam) => Renderable;
1631
+ declare type RenderRangeOptions = {
1632
+ force?: boolean;
1633
+ renderCell: TableRenderCellFn;
1634
+ renderDetailRow?: TableRenderDetailRowFn;
1635
+ onRender: (items: Renderable[]) => void;
1636
+ };
1631
1637
  declare type HorizontalLayoutColVisibilityOptions = {
1632
1638
  horizontalLayoutPageIndex?: number;
1633
1639
  };
@@ -1702,12 +1708,7 @@ declare class ReactHeadlessTableRenderer extends Logger {
1702
1708
  rendered: boolean;
1703
1709
  mapped: boolean;
1704
1710
  };
1705
- renderRange(range: TableRenderRange, { renderCell, renderDetailRow, force, onRender, }: {
1706
- force?: boolean;
1707
- renderCell: TableRenderCellFn;
1708
- renderDetailRow?: TableRenderDetailRowFn;
1709
- onRender: (items: Renderable[]) => void;
1710
- }): Renderable[];
1711
+ renderRange(range: TableRenderRange, { renderCell, renderDetailRow, force, onRender }: RenderRangeOptions): Renderable[];
1711
1712
  private renderElement;
1712
1713
  private renderDetailElement;
1713
1714
  getFixedRanges: (currentRenderRange: TableRenderRange) => TableRenderRange[];
package/index.dev.js CHANGED
@@ -4000,12 +4000,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
4000
4000
  mapped: rendered
4001
4001
  };
4002
4002
  }
4003
- renderRange(range, {
4004
- renderCell,
4005
- renderDetailRow,
4006
- force,
4007
- onRender
4008
- }) {
4003
+ renderRange(range, { renderCell, renderDetailRow, force, onRender }) {
4009
4004
  if (this.destroyed) {
4010
4005
  return [];
4011
4006
  }
@@ -4122,6 +4117,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
4122
4117
  }
4123
4118
  const visitedCells = /* @__PURE__ */ new Map();
4124
4119
  const visitedRows = /* @__PURE__ */ new Map();
4120
+ const elementsRenderedOnTheFly = /* @__PURE__ */ new Set();
4125
4121
  ranges.forEach((range2) => {
4126
4122
  const { start: start2, end: end2 } = range2;
4127
4123
  const [startRow, startCol] = start2;
@@ -4150,7 +4146,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
4150
4146
  if (cellRendered && !force && cellMappedCorrectly) {
4151
4147
  continue;
4152
4148
  }
4153
- const elementIndex = cellRendered ? mappedCells.getElementIndexForCell(row, col) : (
4149
+ let elementIndex = cellRendered ? mappedCells.getElementIndexForCell(row, col) : (
4154
4150
  // TODO when horizontal layout, just do elementsOutsideItemRange.pop()
4155
4151
  horizontalLayout ? mappedCells.getElementFromListForRow(
4156
4152
  elementsOutsideItemRange,
@@ -4160,6 +4156,20 @@ var ReactHeadlessTableRenderer = class extends Logger {
4160
4156
  col
4161
4157
  )
4162
4158
  );
4159
+ if (elementIndex == null) {
4160
+ for (let i = this.itemDOMElements.length; i <= this.itemDOMRefs.length; i++) {
4161
+ if (!this.itemDOMElements[i] && this.itemDOMRefs[i] && !elementsRenderedOnTheFly.has(i)) {
4162
+ elementIndex = i;
4163
+ elementsRenderedOnTheFly.add(i);
4164
+ if (false) {
4165
+ this.debug(
4166
+ `Last-moment recovery of element ${elementIndex} to render cell ${row}:${col}`
4167
+ );
4168
+ }
4169
+ break;
4170
+ }
4171
+ }
4172
+ }
4163
4173
  if (elementIndex == null) {
4164
4174
  if (false) {
4165
4175
  this.error(`Cannot find element to render cell ${row}:${col}`);
@@ -5430,7 +5440,7 @@ var Icon = (props) => {
5430
5440
  // src/components/InfiniteTable/components/icons/IncludesOperatorIcon.tsx
5431
5441
  var React17 = __toESM(require("react"));
5432
5442
  var IncludesOperatorIcon = (props) => {
5433
- return /* @__PURE__ */ React17.createElement(Icon, { ...props }, /* @__PURE__ */ React17.createElement("path", { d: "M11.14 4L6.43 16H8.36L9.32 13.43H14.67L15.64 16H17.57L12.86 4M12 6.29L14.03 11.71H9.96M20" }), /* @__PURE__ */ React17.createElement("path", { d: "M4 18V15H2V20H22V18Z" }), /* @__PURE__ */ React17.createElement("path", { d: "M20 14V18H2V20H22V14Z" }));
5443
+ return /* @__PURE__ */ React17.createElement(Icon, { ...props }, /* @__PURE__ */ React17.createElement("path", { d: "M11.14 4L6.43 16H8.36L9.32 13.43H14.67L15.64 16H17.57L12.86 4H11.14M12 6.29L14.03 11.71H9.96L12 6.29" }), /* @__PURE__ */ React17.createElement("path", { d: "M4 18V15H2V20H22V18Z" }), /* @__PURE__ */ React17.createElement("path", { d: "M20 14V18H2V20H22V14Z" }));
5434
5444
  };
5435
5445
 
5436
5446
  // src/components/InfiniteTable/components/icons/EndsWithOperatorIcon.tsx
@@ -6825,7 +6835,7 @@ function NumberFilterEditor() {
6825
6835
  type: "number",
6826
6836
  "data-yyy": true,
6827
6837
  disabled,
6828
- value,
6838
+ value: value ?? "",
6829
6839
  onChange: (event) => {
6830
6840
  let value2 = isNaN(event.target.valueAsNumber) ? event.target.value : event.target.valueAsNumber;
6831
6841
  setValue(value2);
@@ -22506,7 +22516,7 @@ var useLicense = (licenseKey = "") => {
22506
22516
  }
22507
22517
  let valid2 = isValidLicense(licenseKey, {
22508
22518
  publishedAt: 1624970570587,
22509
- version: "6.0.16"
22519
+ version: "6.0.18"
22510
22520
  });
22511
22521
  if (!licenseKey && !valid2 && isInsidePlayground) {
22512
22522
  return true;
package/index.dev.mjs CHANGED
@@ -3941,12 +3941,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
3941
3941
  mapped: rendered
3942
3942
  };
3943
3943
  }
3944
- renderRange(range, {
3945
- renderCell,
3946
- renderDetailRow,
3947
- force,
3948
- onRender
3949
- }) {
3944
+ renderRange(range, { renderCell, renderDetailRow, force, onRender }) {
3950
3945
  if (this.destroyed) {
3951
3946
  return [];
3952
3947
  }
@@ -4063,6 +4058,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
4063
4058
  }
4064
4059
  const visitedCells = /* @__PURE__ */ new Map();
4065
4060
  const visitedRows = /* @__PURE__ */ new Map();
4061
+ const elementsRenderedOnTheFly = /* @__PURE__ */ new Set();
4066
4062
  ranges.forEach((range2) => {
4067
4063
  const { start: start2, end: end2 } = range2;
4068
4064
  const [startRow, startCol] = start2;
@@ -4091,7 +4087,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
4091
4087
  if (cellRendered && !force && cellMappedCorrectly) {
4092
4088
  continue;
4093
4089
  }
4094
- const elementIndex = cellRendered ? mappedCells.getElementIndexForCell(row, col) : (
4090
+ let elementIndex = cellRendered ? mappedCells.getElementIndexForCell(row, col) : (
4095
4091
  // TODO when horizontal layout, just do elementsOutsideItemRange.pop()
4096
4092
  horizontalLayout ? mappedCells.getElementFromListForRow(
4097
4093
  elementsOutsideItemRange,
@@ -4101,6 +4097,20 @@ var ReactHeadlessTableRenderer = class extends Logger {
4101
4097
  col
4102
4098
  )
4103
4099
  );
4100
+ if (elementIndex == null) {
4101
+ for (let i = this.itemDOMElements.length; i <= this.itemDOMRefs.length; i++) {
4102
+ if (!this.itemDOMElements[i] && this.itemDOMRefs[i] && !elementsRenderedOnTheFly.has(i)) {
4103
+ elementIndex = i;
4104
+ elementsRenderedOnTheFly.add(i);
4105
+ if (false) {
4106
+ this.debug(
4107
+ `Last-moment recovery of element ${elementIndex} to render cell ${row}:${col}`
4108
+ );
4109
+ }
4110
+ break;
4111
+ }
4112
+ }
4113
+ }
4104
4114
  if (elementIndex == null) {
4105
4115
  if (false) {
4106
4116
  this.error(`Cannot find element to render cell ${row}:${col}`);
@@ -5379,7 +5389,7 @@ var Icon = (props) => {
5379
5389
  // src/components/InfiniteTable/components/icons/IncludesOperatorIcon.tsx
5380
5390
  import * as React17 from "react";
5381
5391
  var IncludesOperatorIcon = (props) => {
5382
- return /* @__PURE__ */ React17.createElement(Icon, { ...props }, /* @__PURE__ */ React17.createElement("path", { d: "M11.14 4L6.43 16H8.36L9.32 13.43H14.67L15.64 16H17.57L12.86 4M12 6.29L14.03 11.71H9.96M20" }), /* @__PURE__ */ React17.createElement("path", { d: "M4 18V15H2V20H22V18Z" }), /* @__PURE__ */ React17.createElement("path", { d: "M20 14V18H2V20H22V14Z" }));
5392
+ return /* @__PURE__ */ React17.createElement(Icon, { ...props }, /* @__PURE__ */ React17.createElement("path", { d: "M11.14 4L6.43 16H8.36L9.32 13.43H14.67L15.64 16H17.57L12.86 4H11.14M12 6.29L14.03 11.71H9.96L12 6.29" }), /* @__PURE__ */ React17.createElement("path", { d: "M4 18V15H2V20H22V18Z" }), /* @__PURE__ */ React17.createElement("path", { d: "M20 14V18H2V20H22V14Z" }));
5383
5393
  };
5384
5394
 
5385
5395
  // src/components/InfiniteTable/components/icons/EndsWithOperatorIcon.tsx
@@ -6774,7 +6784,7 @@ function NumberFilterEditor() {
6774
6784
  type: "number",
6775
6785
  "data-yyy": true,
6776
6786
  disabled,
6777
- value,
6787
+ value: value ?? "",
6778
6788
  onChange: (event) => {
6779
6789
  let value2 = isNaN(event.target.valueAsNumber) ? event.target.value : event.target.valueAsNumber;
6780
6790
  setValue(value2);
@@ -22464,7 +22474,7 @@ var useLicense = (licenseKey = "") => {
22464
22474
  }
22465
22475
  let valid2 = isValidLicense(licenseKey, {
22466
22476
  publishedAt: 1624970570587,
22467
- version: "6.0.16"
22477
+ version: "6.0.18"
22468
22478
  });
22469
22479
  if (!licenseKey && !valid2 && isInsidePlayground) {
22470
22480
  return true;
package/index.js CHANGED
@@ -4000,12 +4000,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
4000
4000
  mapped: rendered
4001
4001
  };
4002
4002
  }
4003
- renderRange(range, {
4004
- renderCell,
4005
- renderDetailRow,
4006
- force,
4007
- onRender
4008
- }) {
4003
+ renderRange(range, { renderCell, renderDetailRow, force, onRender }) {
4009
4004
  if (this.destroyed) {
4010
4005
  return [];
4011
4006
  }
@@ -4122,6 +4117,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
4122
4117
  }
4123
4118
  const visitedCells = /* @__PURE__ */ new Map();
4124
4119
  const visitedRows = /* @__PURE__ */ new Map();
4120
+ const elementsRenderedOnTheFly = /* @__PURE__ */ new Set();
4125
4121
  ranges.forEach((range2) => {
4126
4122
  const { start: start2, end: end2 } = range2;
4127
4123
  const [startRow, startCol] = start2;
@@ -4150,7 +4146,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
4150
4146
  if (cellRendered && !force && cellMappedCorrectly) {
4151
4147
  continue;
4152
4148
  }
4153
- const elementIndex = cellRendered ? mappedCells.getElementIndexForCell(row, col) : (
4149
+ let elementIndex = cellRendered ? mappedCells.getElementIndexForCell(row, col) : (
4154
4150
  // TODO when horizontal layout, just do elementsOutsideItemRange.pop()
4155
4151
  horizontalLayout ? mappedCells.getElementFromListForRow(
4156
4152
  elementsOutsideItemRange,
@@ -4160,6 +4156,20 @@ var ReactHeadlessTableRenderer = class extends Logger {
4160
4156
  col
4161
4157
  )
4162
4158
  );
4159
+ if (elementIndex == null) {
4160
+ for (let i = this.itemDOMElements.length; i <= this.itemDOMRefs.length; i++) {
4161
+ if (!this.itemDOMElements[i] && this.itemDOMRefs[i] && !elementsRenderedOnTheFly.has(i)) {
4162
+ elementIndex = i;
4163
+ elementsRenderedOnTheFly.add(i);
4164
+ if (false) {
4165
+ this.debug(
4166
+ `Last-moment recovery of element ${elementIndex} to render cell ${row}:${col}`
4167
+ );
4168
+ }
4169
+ break;
4170
+ }
4171
+ }
4172
+ }
4163
4173
  if (elementIndex == null) {
4164
4174
  if (false) {
4165
4175
  this.error(`Cannot find element to render cell ${row}:${col}`);
@@ -5430,7 +5440,7 @@ var Icon = (props) => {
5430
5440
  // src/components/InfiniteTable/components/icons/IncludesOperatorIcon.tsx
5431
5441
  var React17 = __toESM(require("react"));
5432
5442
  var IncludesOperatorIcon = (props) => {
5433
- return /* @__PURE__ */ React17.createElement(Icon, { ...props }, /* @__PURE__ */ React17.createElement("path", { d: "M11.14 4L6.43 16H8.36L9.32 13.43H14.67L15.64 16H17.57L12.86 4M12 6.29L14.03 11.71H9.96M20" }), /* @__PURE__ */ React17.createElement("path", { d: "M4 18V15H2V20H22V18Z" }), /* @__PURE__ */ React17.createElement("path", { d: "M20 14V18H2V20H22V14Z" }));
5443
+ return /* @__PURE__ */ React17.createElement(Icon, { ...props }, /* @__PURE__ */ React17.createElement("path", { d: "M11.14 4L6.43 16H8.36L9.32 13.43H14.67L15.64 16H17.57L12.86 4H11.14M12 6.29L14.03 11.71H9.96L12 6.29" }), /* @__PURE__ */ React17.createElement("path", { d: "M4 18V15H2V20H22V18Z" }), /* @__PURE__ */ React17.createElement("path", { d: "M20 14V18H2V20H22V14Z" }));
5434
5444
  };
5435
5445
 
5436
5446
  // src/components/InfiniteTable/components/icons/EndsWithOperatorIcon.tsx
@@ -6825,7 +6835,7 @@ function NumberFilterEditor() {
6825
6835
  type: "number",
6826
6836
  "data-yyy": true,
6827
6837
  disabled,
6828
- value,
6838
+ value: value ?? "",
6829
6839
  onChange: (event) => {
6830
6840
  let value2 = isNaN(event.target.valueAsNumber) ? event.target.value : event.target.valueAsNumber;
6831
6841
  setValue(value2);
@@ -22506,7 +22516,7 @@ var useLicense = (licenseKey = "") => {
22506
22516
  }
22507
22517
  let valid2 = isValidLicense(licenseKey, {
22508
22518
  publishedAt: 1624970570587,
22509
- version: "6.0.16"
22519
+ version: "6.0.18"
22510
22520
  });
22511
22521
  if (!licenseKey && !valid2 && isInsidePlayground) {
22512
22522
  return true;
package/index.mjs CHANGED
@@ -3941,12 +3941,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
3941
3941
  mapped: rendered
3942
3942
  };
3943
3943
  }
3944
- renderRange(range, {
3945
- renderCell,
3946
- renderDetailRow,
3947
- force,
3948
- onRender
3949
- }) {
3944
+ renderRange(range, { renderCell, renderDetailRow, force, onRender }) {
3950
3945
  if (this.destroyed) {
3951
3946
  return [];
3952
3947
  }
@@ -4063,6 +4058,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
4063
4058
  }
4064
4059
  const visitedCells = /* @__PURE__ */ new Map();
4065
4060
  const visitedRows = /* @__PURE__ */ new Map();
4061
+ const elementsRenderedOnTheFly = /* @__PURE__ */ new Set();
4066
4062
  ranges.forEach((range2) => {
4067
4063
  const { start: start2, end: end2 } = range2;
4068
4064
  const [startRow, startCol] = start2;
@@ -4091,7 +4087,7 @@ var ReactHeadlessTableRenderer = class extends Logger {
4091
4087
  if (cellRendered && !force && cellMappedCorrectly) {
4092
4088
  continue;
4093
4089
  }
4094
- const elementIndex = cellRendered ? mappedCells.getElementIndexForCell(row, col) : (
4090
+ let elementIndex = cellRendered ? mappedCells.getElementIndexForCell(row, col) : (
4095
4091
  // TODO when horizontal layout, just do elementsOutsideItemRange.pop()
4096
4092
  horizontalLayout ? mappedCells.getElementFromListForRow(
4097
4093
  elementsOutsideItemRange,
@@ -4101,6 +4097,20 @@ var ReactHeadlessTableRenderer = class extends Logger {
4101
4097
  col
4102
4098
  )
4103
4099
  );
4100
+ if (elementIndex == null) {
4101
+ for (let i = this.itemDOMElements.length; i <= this.itemDOMRefs.length; i++) {
4102
+ if (!this.itemDOMElements[i] && this.itemDOMRefs[i] && !elementsRenderedOnTheFly.has(i)) {
4103
+ elementIndex = i;
4104
+ elementsRenderedOnTheFly.add(i);
4105
+ if (false) {
4106
+ this.debug(
4107
+ `Last-moment recovery of element ${elementIndex} to render cell ${row}:${col}`
4108
+ );
4109
+ }
4110
+ break;
4111
+ }
4112
+ }
4113
+ }
4104
4114
  if (elementIndex == null) {
4105
4115
  if (false) {
4106
4116
  this.error(`Cannot find element to render cell ${row}:${col}`);
@@ -5379,7 +5389,7 @@ var Icon = (props) => {
5379
5389
  // src/components/InfiniteTable/components/icons/IncludesOperatorIcon.tsx
5380
5390
  import * as React17 from "react";
5381
5391
  var IncludesOperatorIcon = (props) => {
5382
- return /* @__PURE__ */ React17.createElement(Icon, { ...props }, /* @__PURE__ */ React17.createElement("path", { d: "M11.14 4L6.43 16H8.36L9.32 13.43H14.67L15.64 16H17.57L12.86 4M12 6.29L14.03 11.71H9.96M20" }), /* @__PURE__ */ React17.createElement("path", { d: "M4 18V15H2V20H22V18Z" }), /* @__PURE__ */ React17.createElement("path", { d: "M20 14V18H2V20H22V14Z" }));
5392
+ return /* @__PURE__ */ React17.createElement(Icon, { ...props }, /* @__PURE__ */ React17.createElement("path", { d: "M11.14 4L6.43 16H8.36L9.32 13.43H14.67L15.64 16H17.57L12.86 4H11.14M12 6.29L14.03 11.71H9.96L12 6.29" }), /* @__PURE__ */ React17.createElement("path", { d: "M4 18V15H2V20H22V18Z" }), /* @__PURE__ */ React17.createElement("path", { d: "M20 14V18H2V20H22V14Z" }));
5383
5393
  };
5384
5394
 
5385
5395
  // src/components/InfiniteTable/components/icons/EndsWithOperatorIcon.tsx
@@ -6774,7 +6784,7 @@ function NumberFilterEditor() {
6774
6784
  type: "number",
6775
6785
  "data-yyy": true,
6776
6786
  disabled,
6777
- value,
6787
+ value: value ?? "",
6778
6788
  onChange: (event) => {
6779
6789
  let value2 = isNaN(event.target.valueAsNumber) ? event.target.value : event.target.valueAsNumber;
6780
6790
  setValue(value2);
@@ -22464,7 +22474,7 @@ var useLicense = (licenseKey = "") => {
22464
22474
  }
22465
22475
  let valid2 = isValidLicense(licenseKey, {
22466
22476
  publishedAt: 1624970570587,
22467
- version: "6.0.16"
22477
+ version: "6.0.18"
22468
22478
  });
22469
22479
  if (!licenseKey && !valid2 && isInsidePlayground) {
22470
22480
  return true;
package/package.json CHANGED
@@ -25,7 +25,7 @@
25
25
  "bugs": {
26
26
  "url": "https://github.com/infinite-table/infinite-react/issues"
27
27
  },
28
- "version": "6.0.16",
28
+ "version": "6.0.18",
29
29
  "main": "index.js",
30
30
  "module": "index.mjs",
31
31
  "typings": "index.d.ts",
@@ -34,5 +34,5 @@
34
34
  },
35
35
  "license": "Commercial & Open Source",
36
36
  "//": "will be updated at build time",
37
- "publishedAt": 1732547734552
37
+ "publishedAt": 1737126594343
38
38
  }