abdul-react 0.0.31 → 0.0.33

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 (32) hide show
  1. package/lib/_virtual/index10.js +2 -2
  2. package/lib/_virtual/index11.js +2 -2
  3. package/lib/_virtual/index9.js +2 -2
  4. package/lib/components/Excel/ExcelFile/ExcelFileComponents/ActiveCell.d.ts +9 -1
  5. package/lib/components/Excel/ExcelFile/ExcelFileComponents/ActiveCell.js +7 -21
  6. package/lib/components/Excel/ExcelFile/ExcelFileComponents/ActiveCell.js.map +1 -1
  7. package/lib/components/Excel/ExcelFile/ExcelFileComponents/ColumnIndicator.js +2 -2
  8. package/lib/components/Excel/ExcelFile/ExcelFileComponents/ColumnIndicator.js.map +1 -1
  9. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Copied.d.ts +2 -1
  10. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Copied.js +5 -4
  11. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Copied.js.map +1 -1
  12. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Selected.d.ts +2 -1
  13. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Selected.js +5 -4
  14. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Selected.js.map +1 -1
  15. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.js +118 -142
  16. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.js.map +1 -1
  17. package/lib/components/Excel/ExcelFile/ExcelFileComponents/types.d.ts +12 -0
  18. package/lib/components/Excel/ExcelFile/ExcelFileComponents/util.d.ts +23 -3
  19. package/lib/components/Excel/ExcelFile/ExcelFileComponents/util.js +46 -82
  20. package/lib/components/Excel/ExcelFile/ExcelFileComponents/util.js.map +1 -1
  21. package/lib/index.cjs +186 -258
  22. package/lib/index.cjs.map +1 -1
  23. package/lib/node_modules/js-beautify/js/src/css/beautifier.js +1 -1
  24. package/lib/node_modules/js-beautify/js/src/css/index.js +1 -1
  25. package/lib/node_modules/js-beautify/js/src/css/options.js +1 -1
  26. package/lib/node_modules/js-beautify/js/src/html/beautifier.js +1 -1
  27. package/lib/node_modules/js-beautify/js/src/html/index.js +1 -1
  28. package/lib/node_modules/js-beautify/js/src/html/options.js +1 -1
  29. package/lib/node_modules/js-beautify/js/src/javascript/beautifier.js +1 -1
  30. package/lib/node_modules/js-beautify/js/src/javascript/index.js +1 -1
  31. package/lib/node_modules/js-beautify/js/src/javascript/options.js +1 -1
  32. package/package.json +2 -2
@@ -30,8 +30,8 @@ import { throttle } from '../../../../utils/throttle/throttle.js';
30
30
  const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, ref) {
31
31
  const {
32
32
  className,
33
- columnLabels,
34
- rowLabels,
33
+ columnLabels = [],
34
+ rowLabels = [],
35
35
  toolbar,
36
36
  editable: editable$1,
37
37
  onKeyDown,
@@ -58,6 +58,10 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
58
58
  onAddColumn,
59
59
  onDeleteColumn
60
60
  } = props;
61
+ const DEFAULT_ROW_HEIGHT = 32;
62
+ const DEFAULT_COLUMN_WIDTH = props.minimumColumnWidth || 100;
63
+ const ROW_BUFFER = 20;
64
+ const COL_BUFFER = 30;
61
65
  const [sheetChange, setSheetChange] = React.useState(false);
62
66
  const [maxWidth, setMaxWidth] = React.useState(0);
63
67
  const [maxHeight, setMaxHeight] = React.useState(0);
@@ -68,20 +72,23 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
68
72
  const resizeObserver = new ResizeObserver(entries => {
69
73
  const entry = entries[0];
70
74
  if (entry && rootRef.current) {
71
- const target = entry.target;
72
- if (target) {
73
- const {
74
- clientWidth,
75
- clientHeight
76
- } = target;
77
- setMaxHeight(Math.min(rootRef.current.clientHeight, clientHeight));
78
- if (showHider) {
79
- setMaxWidth(Math.min(rootRef.current.clientWidth, clientWidth));
80
- }
81
- }
75
+ const {
76
+ clientWidth,
77
+ clientHeight
78
+ } = rootRef.current;
79
+ setMaxHeight(clientHeight);
80
+ setMaxWidth(showHider ? clientWidth : entry.contentRect.width);
82
81
  }
83
82
  });
84
- const scrollOption = props.scroller;
83
+ React.useEffect(() => {
84
+ if (rootRef.current) {
85
+ resizeObserver.observe(rootRef.current);
86
+ }
87
+ return () => {
88
+ resizeObserver.disconnect();
89
+ };
90
+ }, []);
91
+ // const scrollOption = props.scroller;
85
92
  const initialState = React.useMemo(() => {
86
93
  const createParser = props.createFormulaParser || createFormulaParser;
87
94
  const model = new Model(createParser, props.data);
@@ -94,13 +101,17 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
94
101
  }, [props.createFormulaParser, props.data, props.selected]);
95
102
  const reducerElements = React.useReducer(reducer, initialState);
96
103
  const [state, dispatch] = reducerElements;
97
- const [visibleRange, setVisibleRange] = React.useState({
98
- start: 0,
99
- end: 100
100
- });
101
104
  const size = React.useMemo(() => {
102
105
  return calculateSpreadsheetSize(state.model.data, rowLabels, columnLabels);
103
106
  }, [state.model.data, rowLabels, columnLabels]);
107
+ const [visibleRowRange, setVisibleRowRange] = React.useState({
108
+ start: 0,
109
+ end: Math.min(50, size.rows)
110
+ });
111
+ const [visibleColRange, setVisibleColRange] = React.useState({
112
+ start: 0,
113
+ end: Math.min(30, size.columns) // Initial visible columns
114
+ });
104
115
  const mode = state.mode;
105
116
  const rootRef = React.useRef(null);
106
117
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -136,18 +147,6 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
136
147
  const addColumnRight$1 = useAction(addColumnRight);
137
148
  const deleteRow$1 = useAction(deleteRow);
138
149
  const deleteColumn$1 = useAction(deleteColumn);
139
- const DEFAULT_ROW_HEIGHT = 32;
140
- const DEFAULT_COLUMN_WIDTH = props.minimumColumnWidth || 100;
141
- const ROW_BUFFER = 20;
142
- const COL_BUFFER = 10;
143
- const [visibleRowRange, setVisibleRowRange] = React.useState({
144
- start: 0,
145
- end: Math.min(50, size.rows)
146
- });
147
- const [visibleColRange, setVisibleColRange] = React.useState({
148
- start: 0,
149
- end: Math.min(30, size.columns) // Initial visible columns
150
- });
151
150
  // Expose removeSelect
152
151
  React.useImperativeHandle(ref, () => ({
153
152
  removeSelect
@@ -295,22 +294,20 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
295
294
  if (!table) return;
296
295
  resizeObserver.observe(table);
297
296
  };
298
- // Function to calculate cumulative height up to a row
299
297
  const getCumulativeHeight = React.useCallback(row => {
300
298
  let height = 0;
301
299
  for (let r = 0; r < row; r++) {
302
300
  height += state.rowDimensions[r]?.height || DEFAULT_ROW_HEIGHT;
303
301
  }
304
302
  return height;
305
- }, [state.rowDimensions]);
306
- // Function to calculate cumulative width up to a column
303
+ }, [state.rowDimensions, DEFAULT_ROW_HEIGHT]);
307
304
  const getCumulativeWidth = React.useCallback(col => {
308
305
  let width = 0;
309
306
  for (let c = 0; c < col; c++) {
310
307
  width += state.columnDimensions[c]?.width || DEFAULT_COLUMN_WIDTH;
311
308
  }
312
309
  return width;
313
- }, [state.columnDimensions]);
310
+ }, [state.columnDimensions, DEFAULT_COLUMN_WIDTH]);
314
311
  // Total height and width for spacers
315
312
  const totalHeight = getCumulativeHeight(size.rows);
316
313
  const totalWidth = getCumulativeWidth(size.columns);
@@ -318,7 +315,6 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
318
315
  const afterRowHeight = totalHeight - getCumulativeHeight(visibleRowRange.end);
319
316
  const beforeColWidth = getCumulativeWidth(visibleColRange.start);
320
317
  const afterColWidth = totalWidth - getCumulativeWidth(visibleColRange.end);
321
- // Throttled scroll handler for both vertical and horizontal virtualization
322
318
  const throttledHandleScroll = React.useMemo(() => throttle(e => {
323
319
  const target = e.target;
324
320
  const {
@@ -327,6 +323,10 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
327
323
  scrollLeft,
328
324
  clientWidth
329
325
  } = target;
326
+ setScrollPos({
327
+ top: scrollTop,
328
+ left: scrollLeft
329
+ });
330
330
  // For rows
331
331
  let newRowStart = 0;
332
332
  while (newRowStart < size.rows && getCumulativeHeight(newRowStart) < scrollTop) {
@@ -344,7 +344,7 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
344
344
  });
345
345
  // For columns
346
346
  let newColStart = 0;
347
- while (newColStart < size.columns && getCumulativeWidth(newColStart) < scrollLeft) {
347
+ while (newColStart < size.columns && getCumulativeWidth(newColStart) < scrollLeft + 100) {
348
348
  newColStart++;
349
349
  }
350
350
  let newColEnd = newColStart;
@@ -371,8 +371,7 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
371
371
  disable: false
372
372
  }]
373
373
  });
374
- }, 100), [size.rows, size.columns, getCumulativeHeight, getCumulativeWidth]);
375
- // Update visible ranges when size changes (e.g., data update)
374
+ }, 0), [size.rows, size.columns, getCumulativeHeight, getCumulativeWidth]);
376
375
  React.useEffect(() => {
377
376
  setVisibleRowRange({
378
377
  start: 0,
@@ -383,42 +382,65 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
383
382
  end: Math.min(30, size.columns)
384
383
  });
385
384
  }, [size.rows, size.columns]);
386
- const scrollToRow = (row, visibleRangeValue) => {
387
- if (!scrollOption || !rootRef.current) return;
388
- requestAnimationFrame(() => {
389
- const DEFAULT_ROW_HEIGHT = 32;
390
- let scrollTop = 0;
391
- for (let r = 0; r <= row; r++) {
392
- scrollTop += state.rowDimensions?.[r]?.height || DEFAULT_ROW_HEIGHT;
393
- }
394
- if (row >= visibleRange.end - 1) {
395
- setVisibleRange(prev => ({
396
- ...prev,
397
- start: visibleRangeValue?.start,
398
- end: visibleRangeValue?.end
399
- }));
400
- rootRef.current?.scrollTo({
401
- top: scrollTop + DEFAULT_ROW_HEIGHT,
402
- behavior: 'smooth'
403
- });
385
+ console.log(visibleColRange, 'col range');
386
+ console.log(visibleRowRange, 'row range');
387
+ const visibleRows = range(visibleRowRange.end, visibleRowRange.start);
388
+ const visibleCols = range(visibleColRange.end, visibleColRange.start);
389
+ const scrollToRow = React.useCallback(row => {
390
+ const root = rootRef.current;
391
+ if (!root) return;
392
+ const rowStart = getCumulativeHeight(row);
393
+ const rowHeight = state.rowDimensions[row]?.height || DEFAULT_ROW_HEIGHT;
394
+ const viewportTop = root.scrollTop;
395
+ const viewportBottom = viewportTop + root.clientHeight;
396
+ const rowEnd = rowStart + rowHeight;
397
+ let targetTop = viewportTop;
398
+ const fullyVisible = rowStart >= viewportTop && rowEnd <= viewportBottom;
399
+ if (!fullyVisible) {
400
+ if (rowStart < viewportTop) {
401
+ targetTop = rowStart;
402
+ } else if (rowEnd > viewportBottom) {
403
+ targetTop = rowEnd - root.clientHeight;
404
404
  }
405
+ }
406
+ targetTop = Math.max(0, targetTop);
407
+ root.scrollTo({
408
+ top: targetTop,
409
+ behavior: 'smooth'
405
410
  });
406
- };
407
- const scrollToColumn = column => {
408
- requestAnimationFrame(() => {
409
- const columnWidth = minimumColumnWidth;
410
- const scrollLeft = column * columnWidth;
411
- requestAnimationFrame(() => {
412
- if (!rootRef.current) return;
413
- if (column >= size.columns - 1) {
414
- rootRef.current.scrollTo({
415
- left: scrollLeft,
416
- behavior: 'smooth'
417
- });
418
- }
419
- });
411
+ }, [getCumulativeHeight, state.rowDimensions, DEFAULT_ROW_HEIGHT]);
412
+ const scrollToColumn = React.useCallback((column, align = 'start') => {
413
+ const root = rootRef.current;
414
+ if (!root) return;
415
+ const colStart = getCumulativeWidth(column);
416
+ const colWidth = state.columnDimensions[column]?.width || DEFAULT_COLUMN_WIDTH;
417
+ const viewportLeft = root.scrollLeft;
418
+ const viewportRight = viewportLeft + root.clientWidth;
419
+ const colEnd = colStart + colWidth;
420
+ let targetLeft = viewportLeft;
421
+ // If it's already fully visible, do nothing unless an explicit align was passed
422
+ const fullyVisible = colStart >= viewportLeft && colEnd <= viewportRight;
423
+ if (!fullyVisible) {
424
+ if (colStart < viewportLeft) {
425
+ targetLeft = colStart; // reveal from the left
426
+ } else if (colEnd > viewportRight) {
427
+ targetLeft = colEnd - root.clientWidth; // reveal from the right
428
+ }
429
+ }
430
+ // Optional alignment overrides
431
+ if (align === 'center') {
432
+ targetLeft = colStart - (root.clientWidth - colWidth) / 2;
433
+ } else if (align === 'end') {
434
+ targetLeft = colEnd - root.clientWidth;
435
+ }
436
+ // Clamp and scroll
437
+ targetLeft = Math.max(0, targetLeft);
438
+ root.scrollTo({
439
+ left: targetLeft,
440
+ behavior: 'smooth'
420
441
  });
421
- };
442
+ }, [getCumulativeWidth, state.columnDimensions, DEFAULT_COLUMN_WIDTH]);
443
+ const spacerColSpan = 1 + 1 + visibleCols.length + 1;
422
444
  const colgroup = jsxs("colgroup", {
423
445
  children: [jsx("col", {
424
446
  style: {
@@ -428,7 +450,7 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
428
450
  style: {
429
451
  width: `${beforeColWidth}px`
430
452
  }
431
- }, "left-spacer"), ' ', range(visibleColRange.start, visibleColRange.end).map(colNumber => jsx("col", {
453
+ }, "left-spacer"), ' ', visibleCols.map(colNumber => jsx("col", {
432
454
  style: {
433
455
  width: `${state.columnDimensions[colNumber]?.width || DEFAULT_COLUMN_WIDTH}px`
434
456
  }
@@ -438,10 +460,6 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
438
460
  }
439
461
  }, "right-spacer"), ' ']
440
462
  });
441
- // Visible columns array
442
- const visibleCols = range(visibleColRange.end, visibleColRange.start);
443
- // Total colspan for spacer rows (row indicator + left spacer + visible cols + right spacer)
444
- const spacerColSpan = 1 + 1 + visibleCols.length + 1;
445
463
  const tableNode = React.useMemo(() => jsxs(Table$1, {
446
464
  columns: size.columns,
447
465
  hideColumnIndicators: false,
@@ -449,25 +467,11 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
449
467
  children: [colgroup, jsxs(HeaderRow$1, {
450
468
  children: [jsx(CornerIndicator$1, {}), jsx("th", {
451
469
  className: "spacer left"
452
- }), " ", visibleCols.map(columnNumber => columnLabels ? jsx(ColumnIndicator, {
453
- column: columnNumber,
454
- minimumColumnWidth: minimumColumnWidth,
455
- setContextMenu: props.setContextMenu,
456
- label: columnNumber in columnLabels ? columnLabels[columnNumber] : null,
457
- deleteColumn: deleteColumn$1,
458
- addColumnLeft: addColumnLeft$1,
459
- addColumnRight: addColumnRight$1,
460
- columnContextEnable: props.columnContextEnable,
461
- maxColLimit: maxColLimit,
462
- disableDeleteOption: disableDeleteOption,
463
- contextMenu: contextMenu,
464
- onAddColumn: onAddColumn,
465
- onDeleteColumn: onDeleteColumn,
466
- scrollToColumn: scrollToColumn
467
- }, columnNumber) : jsx(ColumnIndicator, {
468
- column: columnNumber,
470
+ }), visibleCols.map(colNumber => jsx(ColumnIndicator, {
471
+ column: colNumber,
469
472
  minimumColumnWidth: minimumColumnWidth,
470
473
  setContextMenu: props.setContextMenu,
474
+ label: colNumber in columnLabels ? columnLabels[colNumber] : undefined,
471
475
  deleteColumn: deleteColumn$1,
472
476
  addColumnLeft: addColumnLeft$1,
473
477
  addColumnRight: addColumnRight$1,
@@ -478,9 +482,9 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
478
482
  onAddColumn: onAddColumn,
479
483
  onDeleteColumn: onDeleteColumn,
480
484
  scrollToColumn: scrollToColumn
481
- }, columnNumber)), jsx("th", {
485
+ }, colNumber)), jsx("th", {
482
486
  className: "spacer right"
483
- }), " "]
487
+ })]
484
488
  }), jsxs("tr", {
485
489
  style: {
486
490
  height: `${beforeRowHeight}px`
@@ -488,22 +492,10 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
488
492
  children: [jsx("td", {
489
493
  colSpan: spacerColSpan
490
494
  }), " "]
491
- }), range(visibleRowRange.end, visibleRowRange.start).map(rowNumber => jsxs(Row$1, {
495
+ }), visibleRows.map(rowNumber => jsxs(Row$1, {
492
496
  row: rowNumber,
493
- children: [rowLabels ? jsx(RowIndicator$1, {
494
- label: rowNumber in rowLabels ? rowLabels[rowNumber] : null,
495
- row: rowNumber,
496
- addRowTop: addRowTop$1,
497
- addRowBottom: addRowBottom$1,
498
- deleteRow: deleteRow$1,
499
- setContextMenu: props.setContextMenu,
500
- rowContextEnable: props.rowContextEnable,
501
- maxRowLimit: maxRowLimit,
502
- disableDeleteOption: disableDeleteOption,
503
- contextMenu: contextMenu,
504
- setVisibleRange: setVisibleRange,
505
- scrollToRow: scrollToRow
506
- }, rowNumber) : jsx(RowIndicator$1, {
497
+ children: [jsx(RowIndicator$1, {
498
+ label: rowNumber in rowLabels ? rowLabels?.[rowNumber] : undefined,
507
499
  row: rowNumber,
508
500
  addRowTop: addRowTop$1,
509
501
  addRowBottom: addRowBottom$1,
@@ -513,11 +505,11 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
513
505
  maxRowLimit: maxRowLimit,
514
506
  disableDeleteOption: disableDeleteOption,
515
507
  contextMenu: contextMenu,
516
- setVisibleRange: setVisibleRange,
508
+ setVisibleRange: setVisibleRowRange,
517
509
  scrollToRow: scrollToRow
518
510
  }, rowNumber), jsx("td", {
519
511
  className: "spacer left"
520
- }), " ", visibleCols.map(columnNumber => jsx(Cell$1, {
512
+ }), visibleCols.map(columnNumber => jsx(Cell$1, {
521
513
  row: rowNumber,
522
514
  column: columnNumber,
523
515
  // @ts-ignore
@@ -525,16 +517,16 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
525
517
  editable: editable$1
526
518
  }, columnNumber)), jsx("td", {
527
519
  className: "spacer right"
528
- }), " "]
529
- }, rowNumber)), jsxs("tr", {
520
+ })]
521
+ }, rowNumber)), jsx("tr", {
530
522
  style: {
531
523
  height: `${afterRowHeight}px`
532
524
  },
533
- children: [jsx("td", {
525
+ children: jsx("td", {
534
526
  colSpan: spacerColSpan
535
- }), " "]
527
+ })
536
528
  })]
537
- }), [Table$1, size.rows, size.columns, Row$1, HeaderRow$1, CornerIndicator$1, columnLabels, ColumnIndicator, rowLabels, RowIndicator$1, Cell$1, DataViewer$1, visibleRange.end, visibleRange.start, visibleRowRange, visibleColRange, beforeRowHeight, afterRowHeight, beforeColWidth, afterColWidth, state.rowDimensions, state.columnDimensions, size.columns, columnLabels, rowLabels]);
529
+ }), [Table$1, size.rows, size.columns, Row$1, HeaderRow$1, CornerIndicator$1, columnLabels, ColumnIndicator, rowLabels, RowIndicator$1, Cell$1, DataViewer$1, visibleRowRange, visibleColRange, beforeRowHeight, afterRowHeight, beforeColWidth, afterColWidth, state.rowDimensions, state.columnDimensions]);
538
530
  const activeCellNode = React.useMemo(() => jsx(ActiveCell, {
539
531
  attachmentAction: attachmentAction,
540
532
  contextOption: contextOption,
@@ -542,8 +534,10 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
542
534
  setContextMenu: props.setContextMenu,
543
535
  // @ts-ignore
544
536
  DataEditor: DataEditor$1,
545
- visibleRange: visibleRange
546
- }), [DataEditor$1, visibleRange]);
537
+ visibleRowRange: visibleRowRange,
538
+ visibleColRange: visibleColRange,
539
+ scrollPos: scrollPos
540
+ }), [DataEditor$1, visibleRowRange, visibleColRange, scrollPos]);
547
541
  const rootNode = React.useMemo(() => jsxs("div", {
548
542
  className: "ff-excel-spreadsheet-container",
549
543
  children: [jsx("div", {
@@ -588,32 +582,14 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
588
582
  onKeyDown: handleKeyDown,
589
583
  onClick: handleClick,
590
584
  onMouseMove: handleMouseMove,
591
- onScroll: e => {
592
- const target = e.target;
593
- setScrollPos({
594
- top: target.scrollTop,
595
- left: target.scrollLeft
596
- });
597
- scrollOption && throttledHandleScroll(e);
598
- setContextMenu({
599
- open: false,
600
- contextType: null,
601
- options: [{
602
- label: '',
603
- value: '',
604
- iconName: '',
605
- action: () => {},
606
- disableTooltip: '',
607
- visible: false,
608
- disable: false
609
- }]
610
- });
611
- },
585
+ onScroll: e => throttledHandleScroll(e),
612
586
  children: [tableNode, activeCellNode, jsx(Selected, {
613
- visibleRange: visibleRange,
587
+ visibleRowRange: visibleRowRange,
588
+ visibleColRange: visibleColRange,
614
589
  scrollPos: scrollPos
615
590
  }), jsx(Copied, {
616
- visibleRange: visibleRange,
591
+ visibleRowRange: visibleRowRange,
592
+ visibleColRange: visibleColRange,
617
593
  scrollPos: scrollPos
618
594
  })]
619
595
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"Spreadsheet.js","sources":["../../../../../src/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.tsx"],"sourcesContent":[null],"names":["Spreadsheet","React","forwardRef","props","ref","className","columnLabels","rowLabels","toolbar","editable","onKeyDown","Table","DefaultTable","Row","DefaultRow","sheetHeight","HeaderRow","DefaultHeaderRow","DataEditor","DefaultDataEditor","DataViewer","DefaultDataViewer","onSelect","onActivate","onEvaluatedDataChange","contextOption","attachmentAction","workRef","minimumColumnWidth","setContextMenu","showHider","maxRowLimit","maxColLimit","disableDeleteOption","contextMenu","getActiveCell","onAddColumn","onDeleteColumn","sheetChange","setSheetChange","useState","maxWidth","setMaxWidth","maxHeight","setMaxHeight","scrollPos","setScrollPos","top","left","resizeObserver","ResizeObserver","entries","entry","rootRef","current","target","clientWidth","clientHeight","Math","min","scrollOption","scroller","initialState","useMemo","createParser","createFormulaParser","model","Model","data","prev","INITIAL_STATE","selected","reducerElements","useReducer","reducer","state","dispatch","visibleRange","setVisibleRange","start","end","size","calculateSpreadsheetSize","mode","useRef","useAction","action","useCallback","args","setEditable","Actions","cut","copy","removeSelect","paste","onKeyDownAction","onKeyPress","onDragStart","onDragEnd","setData","setCreateFormulaParser","setSelection","onBold","onItalic","setUnderlineType","setTextAlign","setFontSize","setFontFamily","setBorderType","setColor","setBackgroundColor","setFormatePainter","formateClick","addRowTop","addRowBottom","addColumnLeft","addColumnRight","deleteRow","deleteColumn","DEFAULT_ROW_HEIGHT","DEFAULT_COLUMN_WIDTH","ROW_BUFFER","COL_BUFFER","visibleRowRange","setVisibleRowRange","rows","visibleColRange","setVisibleColRange","columns","useImperativeHandle","prevActiveRef","active","useEffect","root","isFocusedWithin","document","activeElement","blur","prevEvaluatedDataRef","evaluatedData","prevSelectedRef","equals","prevSelectedPropRef","prevDataPropRef","prevCreateFormulaParserPropRef","writeDataToClipboard","event","range","toRange","selectedData","Matrix","csv","getCSV","writeTextToClipboard","handleCut","shouldHandleClipboardEvent","preventDefault","stopPropagation","handleCopy","handlePaste","clipboardData","text","readTextFromClipboard","handleKeyDown","persist","defaultPrevented","hasKeyDownHandler","nativeEvent","handleClick","formattedStyle","open","handleMouseUp","removeEventListener","handleMouseMove","dragging","buttons","addEventListener","Cell","enhanceCell","DefaultCell","CornerIndicator","enhanceCornerIndicator","DefaultCornerIndicator","RowIndicator","enhanceRowIndicator","DefaultRowIndicator","ColumnIndicator","enhanceColumnIndicator","DefaultColumnIndicator","useTableRef","table","observe","getCumulativeHeight","row","height","r","rowDimensions","getCumulativeWidth","col","width","c","columnDimensions","totalHeight","totalWidth","beforeRowHeight","afterRowHeight","beforeColWidth","afterColWidth","throttledHandleScroll","throttle","e","scrollTop","scrollLeft","newRowStart","newRowEnd","max","newColStart","newColEnd","contextType","options","label","value","iconName","disableTooltip","visible","disable","scrollToRow","visibleRangeValue","requestAnimationFrame","scrollTo","behavior","scrollToColumn","column","columnWidth","colgroup","_jsxs","children","_jsx","style","map","colNumber","visibleCols","spacerColSpan","length","tableNode","hideColumnIndicators","columnNumber","columnContextEnable","colSpan","rowNumber","rowContextEnable","activeCellNode","ActiveCell","rootNode","classNames","includes","ExcelToolBar","onClick","onMouseMove","onScroll","Selected","Copied","context","Provider"],"mappings":"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"}
1
+ {"version":3,"file":"Spreadsheet.js","sources":["../../../../../src/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.tsx"],"sourcesContent":[null],"names":["Spreadsheet","React","forwardRef","props","ref","className","columnLabels","rowLabels","toolbar","editable","onKeyDown","Table","DefaultTable","Row","DefaultRow","sheetHeight","HeaderRow","DefaultHeaderRow","DataEditor","DefaultDataEditor","DataViewer","DefaultDataViewer","onSelect","onActivate","onEvaluatedDataChange","contextOption","attachmentAction","workRef","minimumColumnWidth","setContextMenu","showHider","maxRowLimit","maxColLimit","disableDeleteOption","contextMenu","getActiveCell","onAddColumn","onDeleteColumn","DEFAULT_ROW_HEIGHT","DEFAULT_COLUMN_WIDTH","ROW_BUFFER","COL_BUFFER","sheetChange","setSheetChange","useState","maxWidth","setMaxWidth","maxHeight","setMaxHeight","scrollPos","setScrollPos","top","left","resizeObserver","ResizeObserver","entries","entry","rootRef","current","clientWidth","clientHeight","contentRect","width","useEffect","observe","disconnect","initialState","useMemo","createParser","createFormulaParser","model","Model","data","prev","INITIAL_STATE","selected","reducerElements","useReducer","reducer","state","dispatch","size","calculateSpreadsheetSize","visibleRowRange","setVisibleRowRange","start","end","Math","min","rows","visibleColRange","setVisibleColRange","columns","mode","useRef","useAction","action","useCallback","args","setEditable","Actions","cut","copy","removeSelect","paste","onKeyDownAction","onKeyPress","onDragStart","onDragEnd","setData","setCreateFormulaParser","setSelection","onBold","onItalic","setUnderlineType","setTextAlign","setFontSize","setFontFamily","setBorderType","setColor","setBackgroundColor","setFormatePainter","formateClick","addRowTop","addRowBottom","addColumnLeft","addColumnRight","deleteRow","deleteColumn","useImperativeHandle","prevActiveRef","active","root","isFocusedWithin","document","activeElement","blur","prevEvaluatedDataRef","evaluatedData","prevSelectedRef","equals","prevSelectedPropRef","prevDataPropRef","prevCreateFormulaParserPropRef","writeDataToClipboard","event","range","toRange","selectedData","Matrix","csv","getCSV","writeTextToClipboard","handleCut","shouldHandleClipboardEvent","preventDefault","stopPropagation","handleCopy","handlePaste","clipboardData","text","readTextFromClipboard","handleKeyDown","persist","defaultPrevented","hasKeyDownHandler","nativeEvent","handleClick","formattedStyle","open","handleMouseUp","removeEventListener","handleMouseMove","dragging","buttons","addEventListener","Cell","enhanceCell","DefaultCell","CornerIndicator","enhanceCornerIndicator","DefaultCornerIndicator","RowIndicator","enhanceRowIndicator","DefaultRowIndicator","ColumnIndicator","enhanceColumnIndicator","DefaultColumnIndicator","useTableRef","table","getCumulativeHeight","row","height","r","rowDimensions","getCumulativeWidth","col","c","columnDimensions","totalHeight","totalWidth","beforeRowHeight","afterRowHeight","beforeColWidth","afterColWidth","throttledHandleScroll","throttle","e","target","scrollTop","scrollLeft","newRowStart","newRowEnd","max","newColStart","newColEnd","contextType","options","label","value","iconName","disableTooltip","visible","disable","console","log","visibleRows","visibleCols","scrollToRow","rowStart","rowHeight","viewportTop","viewportBottom","rowEnd","targetTop","fullyVisible","scrollTo","behavior","scrollToColumn","column","align","colStart","colWidth","viewportLeft","viewportRight","colEnd","targetLeft","spacerColSpan","length","colgroup","_jsxs","children","_jsx","style","map","colNumber","tableNode","hideColumnIndicators","undefined","columnContextEnable","colSpan","rowNumber","rowContextEnable","setVisibleRange","columnNumber","activeCellNode","ActiveCell","rootNode","classNames","includes","ExcelToolBar","onClick","onMouseMove","onScroll","Selected","Copied","context","Provider"],"mappings":"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"}
@@ -4,6 +4,18 @@ import { Selection } from './selection';
4
4
  import { Model } from './engine';
5
5
  import { PointRange } from './point-range';
6
6
  import { Matrix } from './matrix';
7
+ import { CSSProperties } from 'react';
8
+ export interface CellProps {
9
+ columnIndex: number;
10
+ rowIndex: number;
11
+ style: CSSProperties;
12
+ }
13
+ export interface GridDimensions {
14
+ rowCount: number;
15
+ columnCount: number;
16
+ rowHeight: number;
17
+ columnWidth: number;
18
+ }
7
19
  /** The base type of cell data in Spreadsheet */
8
20
  export type CellBase<Value = any> = {
9
21
  /** Whether the cell should not be editable */
@@ -6,6 +6,11 @@ import { Selection } from './selection';
6
6
  export { createEmpty as createEmptyMatrix } from './matrix';
7
7
  export declare const PLAIN_TEXT_MIME = "text/plain";
8
8
  export declare const FOCUS_WITHIN_SELECTOR = ":focus-within";
9
+ /** Constants for defaults */
10
+ export declare const DEFAULT_ROW_HEIGHT = 32;
11
+ export declare const DEFAULT_COLUMN_WIDTH = 100;
12
+ export declare const HEADER_HEIGHT = 32;
13
+ export declare const ROW_INDICATOR_WIDTH = 60;
9
14
  /** Move the cursor of given input element to the input's end */
10
15
  export declare function moveCursorToEnd(el: HTMLInputElement | HTMLTextAreaElement): void;
11
16
  /**
@@ -26,10 +31,22 @@ export declare function insertColumnDimension(columns: Types.columnDimensions, i
26
31
  export declare function insertRowDimension(rows: Types.rowDimensions, insertIndex: number, newHeight: number): Types.rowDimensions;
27
32
  export declare function deleteRowDimension(rows: Types.rowDimensions, deleteIndex: number): Types.rowDimensions;
28
33
  export declare function deleteColumnDimension(columns: Types.columnDimensions, deleteIndex: number): Types.columnDimensions;
34
+ /** Get the row top position (cumulative) */
35
+ export declare function getRowTop(row: number, rowDimensions: Types.StoreState['rowDimensions']): number;
36
+ /** Get the row height */
37
+ export declare function getRowHeight(row: number, rowDimensions: Types.StoreState['rowDimensions']): number;
38
+ /** Get the column left position (cumulative) */
39
+ export declare function getColumnLeft(column: number, columnDimensions: Types.StoreState['columnDimensions']): number;
40
+ /** Get the column width */
41
+ export declare function getColumnWidth(column: number, columnDimensions: Types.StoreState['columnDimensions']): number;
42
+ /** Get the total height of the spreadsheet */
43
+ export declare function getTotalHeight(numRows: number, rowDimensions: Types.StoreState['rowDimensions']): number;
44
+ /** Get the total width of the spreadsheet */
45
+ export declare function getTotalWidth(numCols: number, columnDimensions: Types.StoreState['columnDimensions']): number;
29
46
  /** Get the dimensions of cell at point from state */
30
- export declare function getCellDimensions(point: Point.Point, rowDimensions: Types.StoreState['rowDimensions'] | undefined, columnDimensions: Types.StoreState['columnDimensions'] | undefined): Types.Dimensions | undefined;
47
+ export declare function getCellDimensions(point: Point.Point, rowDimensions: Types.StoreState['rowDimensions'], columnDimensions: Types.StoreState['columnDimensions']): Types.Dimensions;
31
48
  /** Get the dimensions of customized cell at point from state */
32
- export declare function getScrollCellDimensions(point: Point.Point, rowDimensions: Types.StoreState['rowDimensions'] | undefined, columnDimensions: Types.StoreState['columnDimensions'] | undefined): Types.Dimensions | undefined;
49
+ export declare function getScrollCellDimensions(point: Point.Point, rowDimensions: Types.StoreState['rowDimensions'], columnDimensions: Types.StoreState['columnDimensions']): Types.Dimensions;
33
50
  /** Get the dimensions of a range of cells */
34
51
  export declare function getRangeDimensions(rowDimensions: Types.StoreState['rowDimensions'], columnDimensions: Types.StoreState['columnDimensions'], range: PointRange): Types.Dimensions | undefined;
35
52
  /** Get the dimensions of selected */
@@ -61,4 +78,7 @@ export declare function getMatrixDimensions(matrixData: [[]]): {
61
78
  rowCount: 1;
62
79
  columnCount: 0;
63
80
  };
64
- export declare function getVisibleRangeDimensions(fullRange: Types.FullRange | null, visibleRange: Types.VisibleRange, rowDimensions: Types.StoreState['rowDimensions'], columnDimensions: Types.StoreState['columnDimensions']): Types.Dimensions | undefined;
81
+ export declare function getVisibleRangeDimensions(fullRange: Types.FullRange | null, visibleRange: Types.VisibleRange, rowDimensions: Types.StoreState['rowDimensions'], columnDimensions: Types.StoreState['columnDimensions'], visibleColRange: {
82
+ start: number;
83
+ end: number;
84
+ }): Types.Dimensions | undefined;