@lensui/lens-table 0.1.81 → 0.1.82

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/dist/index.cjs CHANGED
@@ -1929,9 +1929,6 @@ function TableInner({
1929
1929
  defaultSelectedCell,
1930
1930
  onSelectedCellChange,
1931
1931
  rangeSelection = false,
1932
- selectedRange,
1933
- defaultSelectedRange,
1934
- onSelectedRangeChange,
1935
1932
  rowSelection,
1936
1933
  selectedRowKeys,
1937
1934
  defaultSelectedRowKeys,
@@ -2341,20 +2338,6 @@ function TableInner({
2341
2338
  }, [columns, getDataRowKey, rows]);
2342
2339
  const resolvedSelectedCell = (0, import_react8.useMemo)(() => resolveSelectionTarget(selectedCell), [resolveSelectionTarget, selectedCell]);
2343
2340
  const resolvedDefaultSelectedCell = (0, import_react8.useMemo)(() => resolveSelectionTarget(defaultSelectedCell), [defaultSelectedCell, resolveSelectionTarget]);
2344
- const resolveSelectionRangeTarget = (0, import_react8.useCallback)((target) => {
2345
- if (target == null) return target;
2346
- const anchor = resolveSelectionTarget(target.anchor);
2347
- const focus = resolveSelectionTarget(target.focus);
2348
- return anchor && focus ? { anchor, focus } : null;
2349
- }, [resolveSelectionTarget]);
2350
- const resolvedSelectedRange = (0, import_react8.useMemo)(
2351
- () => resolveSelectionRangeTarget(selectedRange),
2352
- [resolveSelectionRangeTarget, selectedRange]
2353
- );
2354
- const resolvedDefaultSelectedRange = (0, import_react8.useMemo)(
2355
- () => resolveSelectionRangeTarget(defaultSelectedRange),
2356
- [defaultSelectedRange, resolveSelectionRangeTarget]
2357
- );
2358
2341
  const handleSelectedCellChange = (0, import_react8.useCallback)((next) => {
2359
2342
  if (!onSelectedCellChange) return;
2360
2343
  if (!next) {
@@ -2367,11 +2350,7 @@ function TableInner({
2367
2350
  onSelectedCellChange({ ...next, value });
2368
2351
  }, [columns, onSelectedCellChange, rows]);
2369
2352
  const [selection, setSelection] = useControllableValue(resolvedSelectedCell, resolvedDefaultSelectedCell, handleSelectedCellChange);
2370
- const [selectionRange, setSelectionRange] = useControllableValue(
2371
- resolvedSelectedRange,
2372
- resolvedDefaultSelectedRange,
2373
- onSelectedRangeChange
2374
- );
2353
+ const [selectionRange, setSelectionRange] = (0, import_react8.useState)(null);
2375
2354
  const rangeDragRef = (0, import_react8.useRef)(null);
2376
2355
  (0, import_react8.useEffect)(() => {
2377
2356
  if (!selection) return void 0;
@@ -3497,10 +3476,8 @@ function TableInner({
3497
3476
  if (focus.rowIndex === drag.anchor.rowIndex && focus.columnIndex === drag.anchor.columnIndex) return;
3498
3477
  drag.moved = true;
3499
3478
  event.preventDefault();
3500
- if (selectionRange?.focus.rowIndex === focus.rowIndex && selectionRange.focus.columnIndex === focus.columnIndex)
3501
- return;
3502
- setSelectionRange({ anchor: drag.anchor, focus });
3503
- }, [columns, locateCell, selectionRange, setSelectionRange]);
3479
+ setSelectionRange((current) => current?.focus.rowIndex === focus.rowIndex && current.focus.columnIndex === focus.columnIndex ? current : { anchor: drag.anchor, focus });
3480
+ }, [columns, locateCell]);
3504
3481
  const endRangeDrag = (0, import_react8.useCallback)((event) => {
3505
3482
  const drag = rangeDragRef.current;
3506
3483
  if (!drag) return;
package/dist/index.d.cts CHANGED
@@ -415,11 +415,6 @@ interface TableProps<Row extends object> {
415
415
  onSelectedCellChange?: (selection: SelectedCellChange | null) => void;
416
416
  /** Enable spreadsheet-style mouse drag selection across multiple body cells. Defaults to false. */
417
417
  rangeSelection?: boolean;
418
- /** Controlled rectangular cell selection. */
419
- selectedRange?: GridSelectionRangeTarget | null;
420
- /** Initial rectangular cell selection for uncontrolled usage. */
421
- defaultSelectedRange?: GridSelectionRangeTarget | null;
422
- onSelectedRangeChange?: (range: GridSelectionRange | null) => void;
423
418
  rowSelection?: boolean | RowSelectionConfig;
424
419
  selectedRowKeys?: GridKey[];
425
420
  defaultSelectedRowKeys?: GridKey[];
package/dist/index.d.ts CHANGED
@@ -415,11 +415,6 @@ interface TableProps<Row extends object> {
415
415
  onSelectedCellChange?: (selection: SelectedCellChange | null) => void;
416
416
  /** Enable spreadsheet-style mouse drag selection across multiple body cells. Defaults to false. */
417
417
  rangeSelection?: boolean;
418
- /** Controlled rectangular cell selection. */
419
- selectedRange?: GridSelectionRangeTarget | null;
420
- /** Initial rectangular cell selection for uncontrolled usage. */
421
- defaultSelectedRange?: GridSelectionRangeTarget | null;
422
- onSelectedRangeChange?: (range: GridSelectionRange | null) => void;
423
418
  rowSelection?: boolean | RowSelectionConfig;
424
419
  selectedRowKeys?: GridKey[];
425
420
  defaultSelectedRowKeys?: GridKey[];
package/dist/index.js CHANGED
@@ -1899,9 +1899,6 @@ function TableInner({
1899
1899
  defaultSelectedCell,
1900
1900
  onSelectedCellChange,
1901
1901
  rangeSelection = false,
1902
- selectedRange,
1903
- defaultSelectedRange,
1904
- onSelectedRangeChange,
1905
1902
  rowSelection,
1906
1903
  selectedRowKeys,
1907
1904
  defaultSelectedRowKeys,
@@ -2311,20 +2308,6 @@ function TableInner({
2311
2308
  }, [columns, getDataRowKey, rows]);
2312
2309
  const resolvedSelectedCell = useMemo2(() => resolveSelectionTarget(selectedCell), [resolveSelectionTarget, selectedCell]);
2313
2310
  const resolvedDefaultSelectedCell = useMemo2(() => resolveSelectionTarget(defaultSelectedCell), [defaultSelectedCell, resolveSelectionTarget]);
2314
- const resolveSelectionRangeTarget = useCallback2((target) => {
2315
- if (target == null) return target;
2316
- const anchor = resolveSelectionTarget(target.anchor);
2317
- const focus = resolveSelectionTarget(target.focus);
2318
- return anchor && focus ? { anchor, focus } : null;
2319
- }, [resolveSelectionTarget]);
2320
- const resolvedSelectedRange = useMemo2(
2321
- () => resolveSelectionRangeTarget(selectedRange),
2322
- [resolveSelectionRangeTarget, selectedRange]
2323
- );
2324
- const resolvedDefaultSelectedRange = useMemo2(
2325
- () => resolveSelectionRangeTarget(defaultSelectedRange),
2326
- [defaultSelectedRange, resolveSelectionRangeTarget]
2327
- );
2328
2311
  const handleSelectedCellChange = useCallback2((next) => {
2329
2312
  if (!onSelectedCellChange) return;
2330
2313
  if (!next) {
@@ -2337,11 +2320,7 @@ function TableInner({
2337
2320
  onSelectedCellChange({ ...next, value });
2338
2321
  }, [columns, onSelectedCellChange, rows]);
2339
2322
  const [selection, setSelection] = useControllableValue(resolvedSelectedCell, resolvedDefaultSelectedCell, handleSelectedCellChange);
2340
- const [selectionRange, setSelectionRange] = useControllableValue(
2341
- resolvedSelectedRange,
2342
- resolvedDefaultSelectedRange,
2343
- onSelectedRangeChange
2344
- );
2323
+ const [selectionRange, setSelectionRange] = useState6(null);
2345
2324
  const rangeDragRef = useRef4(null);
2346
2325
  useEffect3(() => {
2347
2326
  if (!selection) return void 0;
@@ -3467,10 +3446,8 @@ function TableInner({
3467
3446
  if (focus.rowIndex === drag.anchor.rowIndex && focus.columnIndex === drag.anchor.columnIndex) return;
3468
3447
  drag.moved = true;
3469
3448
  event.preventDefault();
3470
- if (selectionRange?.focus.rowIndex === focus.rowIndex && selectionRange.focus.columnIndex === focus.columnIndex)
3471
- return;
3472
- setSelectionRange({ anchor: drag.anchor, focus });
3473
- }, [columns, locateCell, selectionRange, setSelectionRange]);
3449
+ setSelectionRange((current) => current?.focus.rowIndex === focus.rowIndex && current.focus.columnIndex === focus.columnIndex ? current : { anchor: drag.anchor, focus });
3450
+ }, [columns, locateCell]);
3474
3451
  const endRangeDrag = useCallback2((event) => {
3475
3452
  const drag = rangeDragRef.current;
3476
3453
  if (!drag) return;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lensui/lens-table",
3
- "version": "0.1.81",
3
+ "version": "0.1.82",
4
4
  "description": "A lightweight, canvas-rendered React table component for LensUI.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",