abdul-react 0.0.29 → 0.0.31

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 (95) hide show
  1. package/lib/ComponentProps/TreeNodeProps.d.ts +1 -0
  2. package/lib/_virtual/index10.js +2 -2
  3. package/lib/_virtual/index11.js +2 -2
  4. package/lib/_virtual/index9.js +2 -2
  5. package/lib/assets/icons/access_key.svg.js +6 -0
  6. package/lib/assets/icons/access_key.svg.js.map +1 -0
  7. package/lib/assets/icons/honor_icon.svg.js +6 -0
  8. package/lib/assets/icons/honor_icon.svg.js.map +1 -0
  9. package/lib/assets/icons/iqoo_icon.svg.js +6 -0
  10. package/lib/assets/icons/iqoo_icon.svg.js.map +1 -0
  11. package/lib/assets/icons/jSON_code_icon.svg.js +6 -0
  12. package/lib/assets/icons/jSON_code_icon.svg.js.map +1 -0
  13. package/lib/assets/icons/list_icon.svg.js +6 -0
  14. package/lib/assets/icons/list_icon.svg.js.map +1 -0
  15. package/lib/assets/icons/motorola_icon.svg.js +6 -0
  16. package/lib/assets/icons/motorola_icon.svg.js.map +1 -0
  17. package/lib/assets/icons/oppo_icon.svg.js +6 -0
  18. package/lib/assets/icons/oppo_icon.svg.js.map +1 -0
  19. package/lib/assets/icons/realme_icon.svg.js +6 -0
  20. package/lib/assets/icons/realme_icon.svg.js.map +1 -0
  21. package/lib/assets/icons/vivo_icon.svg.js +6 -0
  22. package/lib/assets/icons/vivo_icon.svg.js.map +1 -0
  23. package/lib/components/AppHeader/AppHeader.js +9 -6
  24. package/lib/components/AppHeader/AppHeader.js.map +1 -1
  25. package/lib/components/Charts/BarChart/BarChart.d.ts +1 -0
  26. package/lib/components/Charts/BarChart/BarChart.js +128 -6
  27. package/lib/components/Charts/BarChart/BarChart.js.map +1 -1
  28. package/lib/components/ChatModalAi/ChatModalAi.js +7 -2
  29. package/lib/components/ChatModalAi/ChatModalAi.js.map +1 -1
  30. package/lib/components/ChatModalAi/types.d.ts +1 -0
  31. package/lib/components/DatePicker/DatePicker.js +20 -3
  32. package/lib/components/DatePicker/DatePicker.js.map +1 -1
  33. package/lib/components/DatePicker/types.d.ts +5 -1
  34. package/lib/components/Excel/ExcelFile/ExcelFile.d.ts +5 -0
  35. package/lib/components/Excel/ExcelFile/ExcelFile.js +9 -2
  36. package/lib/components/Excel/ExcelFile/ExcelFile.js.map +1 -1
  37. package/lib/components/Excel/ExcelFile/ExcelFileComponents/ActiveCell.d.ts +5 -0
  38. package/lib/components/Excel/ExcelFile/ExcelFileComponents/ActiveCell.js +14 -4
  39. package/lib/components/Excel/ExcelFile/ExcelFileComponents/ActiveCell.js.map +1 -1
  40. package/lib/components/Excel/ExcelFile/ExcelFileComponents/ColumnIndicator.js +10 -2
  41. package/lib/components/Excel/ExcelFile/ExcelFileComponents/ColumnIndicator.js.map +1 -1
  42. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Copied.d.ts +9 -1
  43. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Copied.js +26 -7
  44. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Copied.js.map +1 -1
  45. package/lib/components/Excel/ExcelFile/ExcelFileComponents/RowIndicator.js +14 -6
  46. package/lib/components/Excel/ExcelFile/ExcelFileComponents/RowIndicator.js.map +1 -1
  47. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Selected.d.ts +4 -0
  48. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Selected.js +15 -20
  49. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Selected.js.map +1 -1
  50. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.d.ts +7 -1
  51. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.js +203 -85
  52. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.js.map +1 -1
  53. package/lib/components/Excel/ExcelFile/ExcelFileComponents/reducer.js +23 -19
  54. package/lib/components/Excel/ExcelFile/ExcelFileComponents/reducer.js.map +1 -1
  55. package/lib/components/Excel/ExcelFile/ExcelFileComponents/reducerFunctions.js +4 -4
  56. package/lib/components/Excel/ExcelFile/ExcelFileComponents/reducerFunctions.js.map +1 -1
  57. package/lib/components/Excel/ExcelFile/ExcelFileComponents/types.d.ts +12 -0
  58. package/lib/components/Excel/ExcelFile/ExcelFileComponents/util.d.ts +1 -0
  59. package/lib/components/Excel/ExcelFile/ExcelFileComponents/util.js +33 -44
  60. package/lib/components/Excel/ExcelFile/ExcelFileComponents/util.js.map +1 -1
  61. package/lib/components/Icon/iconList.js +18 -0
  62. package/lib/components/Icon/iconList.js.map +1 -1
  63. package/lib/components/MenuOption/MenuOption.js +2 -1
  64. package/lib/components/MenuOption/MenuOption.js.map +1 -1
  65. package/lib/components/MobileSkin/MobileSkin.js +22 -2
  66. package/lib/components/MobileSkin/MobileSkin.js.map +1 -1
  67. package/lib/components/MobileSkin/MobileSkinInterface.d.ts +1 -1
  68. package/lib/components/Prompt/Prompt.js +4 -2
  69. package/lib/components/Prompt/Prompt.js.map +1 -1
  70. package/lib/components/Prompt/types.d.ts +1 -0
  71. package/lib/components/PromptContainer/PromptContainer.js +4 -2
  72. package/lib/components/PromptContainer/PromptContainer.js.map +1 -1
  73. package/lib/components/PromptContainer/types.d.ts +1 -0
  74. package/lib/components/SequentialConnectingBranch/components/Branches/Branches.js +1 -1
  75. package/lib/components/SequentialConnectingBranch/components/Branches/Branches.js.map +1 -1
  76. package/lib/components/TableTreeFn/Components/TableHead.js +12 -1
  77. package/lib/components/TableTreeFn/Components/TableHead.js.map +1 -1
  78. package/lib/index.cjs +584 -216
  79. package/lib/index.cjs.map +1 -1
  80. package/lib/index.d.ts +23 -2
  81. package/lib/node_modules/js-beautify/js/src/css/beautifier.js +1 -1
  82. package/lib/node_modules/js-beautify/js/src/css/index.js +1 -1
  83. package/lib/node_modules/js-beautify/js/src/css/options.js +1 -1
  84. package/lib/node_modules/js-beautify/js/src/html/beautifier.js +1 -1
  85. package/lib/node_modules/js-beautify/js/src/html/index.js +1 -1
  86. package/lib/node_modules/js-beautify/js/src/html/tokenizer.js +1 -1
  87. package/lib/node_modules/js-beautify/js/src/javascript/beautifier.js +1 -1
  88. package/lib/node_modules/js-beautify/js/src/javascript/index.js +1 -1
  89. package/lib/node_modules/js-beautify/js/src/javascript/options.js +1 -1
  90. package/lib/node_modules/js-beautify/js/src/javascript/tokenizer.js +1 -1
  91. package/lib/styles.css +1 -1
  92. package/lib/styles.css.map +1 -1
  93. package/lib/utils/handleTreeNodeExpandCollapse/handleTreeNodeExpandCollapse.js +1 -0
  94. package/lib/utils/handleTreeNodeExpandCollapse/handleTreeNodeExpandCollapse.js.map +1 -1
  95. package/package.json +2 -2
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import classNames from '../../../../_virtual/index.js';
4
- import { editable, cut, copy, blur, paste, keyDown, keyPress, dragStart, dragEnd, setData, setCreateFormulaParser, setSelection, bold, italic, underlineType, textAlign, fontSize, fontFamily, borderType, color, backgroundStyle, formatePainter, onMouseUp, addRowTop, addRowBottom, addColumnLeft, addColumnRight, deleteRow, deleteColumn } from './actions.js';
4
+ import { blur, setSelection, editable, setData, setCreateFormulaParser, cut, copy, paste, keyDown, onMouseUp, dragEnd, dragStart, addColumnRight, addColumnLeft, deleteColumn, deleteRow, addRowBottom, addRowTop, formatePainter, backgroundStyle, textAlign, fontFamily, fontSize, borderType, color, underlineType, italic, bold, keyPress } from './actions.js';
5
5
  import { slice } from './matrix.js';
6
6
  import reducer, { INITIAL_STATE } from './reducer.js';
7
7
  import context from './context.js';
@@ -27,7 +27,7 @@ import { throttle } from '../../../../utils/throttle/throttle.js';
27
27
  /**
28
28
  * The Spreadsheet component
29
29
  */
30
- const Spreadsheet = props => {
30
+ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, ref) {
31
31
  const {
32
32
  className,
33
33
  columnLabels,
@@ -54,13 +54,17 @@ const Spreadsheet = props => {
54
54
  maxColLimit,
55
55
  disableDeleteOption,
56
56
  contextMenu,
57
+ getActiveCell,
57
58
  onAddColumn,
58
59
  onDeleteColumn
59
60
  } = props;
60
61
  const [sheetChange, setSheetChange] = React.useState(false);
61
62
  const [maxWidth, setMaxWidth] = React.useState(0);
62
63
  const [maxHeight, setMaxHeight] = React.useState(0);
63
- const [renderReady, setRenderReady] = React.useState(true);
64
+ const [scrollPos, setScrollPos] = React.useState({
65
+ top: 0,
66
+ left: 0
67
+ });
64
68
  const resizeObserver = new ResizeObserver(entries => {
65
69
  const entry = entries[0];
66
70
  if (entry && rootRef.current) {
@@ -75,7 +79,6 @@ const Spreadsheet = props => {
75
79
  setMaxWidth(Math.min(rootRef.current.clientWidth, clientWidth));
76
80
  }
77
81
  }
78
- removeSelect();
79
82
  }
80
83
  });
81
84
  const scrollOption = props.scroller;
@@ -95,7 +98,6 @@ const Spreadsheet = props => {
95
98
  start: 0,
96
99
  end: 100
97
100
  });
98
- const [scrollCount, setScrollCount] = React.useState(0);
99
101
  const size = React.useMemo(() => {
100
102
  return calculateSpreadsheetSize(state.model.data, rowLabels, columnLabels);
101
103
  }, [state.model.data, rowLabels, columnLabels]);
@@ -134,6 +136,22 @@ const Spreadsheet = props => {
134
136
  const addColumnRight$1 = useAction(addColumnRight);
135
137
  const deleteRow$1 = useAction(deleteRow);
136
138
  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
+ // Expose removeSelect
152
+ React.useImperativeHandle(ref, () => ({
153
+ removeSelect
154
+ }));
137
155
  // Track active
138
156
  const prevActiveRef = React.useRef(state.active);
139
157
  React.useEffect(() => {
@@ -240,17 +258,6 @@ const Spreadsheet = props => {
240
258
  onKeyDownAction(event);
241
259
  }
242
260
  }, [state, onKeyDown, onKeyDownAction]);
243
- React.useEffect(() => {
244
- const handleDocumentClick = event => {
245
- if (workRef.current && !workRef.current.contains(event.target)) {
246
- removeSelect();
247
- }
248
- };
249
- document.addEventListener('click', handleDocumentClick);
250
- return () => {
251
- document.removeEventListener('click', handleDocumentClick);
252
- };
253
- }, [workRef]);
254
261
  const handleClick = React.useCallback(() => {
255
262
  if (state.formattedStyle.open && state.active) {
256
263
  formateClick(state.active);
@@ -288,57 +295,69 @@ const Spreadsheet = props => {
288
295
  if (!table) return;
289
296
  resizeObserver.observe(table);
290
297
  };
291
- const removeSelection = () => {
292
- if ((state.selectedColumn === null || state.selectedRow === null) && !state.autoFill.open) {
293
- removeSelect();
298
+ // Function to calculate cumulative height up to a row
299
+ const getCumulativeHeight = React.useCallback(row => {
300
+ let height = 0;
301
+ for (let r = 0; r < row; r++) {
302
+ height += state.rowDimensions[r]?.height || DEFAULT_ROW_HEIGHT;
294
303
  }
295
- };
296
- const updateVisibleRange = (newStart, newEnd, newScrollCount) => {
297
- setScrollCount(newScrollCount);
298
- setVisibleRange({
299
- start: newStart,
300
- end: newEnd
301
- });
302
- // Wait until next frame to scroll
303
- if (size.rows > 100) {
304
- requestAnimationFrame(() => {
305
- rootRef.current?.scrollTo({
306
- top: 1300,
307
- behavior: 'instant'
308
- });
309
- });
304
+ return height;
305
+ }, [state.rowDimensions]);
306
+ // Function to calculate cumulative width up to a column
307
+ const getCumulativeWidth = React.useCallback(col => {
308
+ let width = 0;
309
+ for (let c = 0; c < col; c++) {
310
+ width += state.columnDimensions[c]?.width || DEFAULT_COLUMN_WIDTH;
310
311
  }
311
- removeSelection();
312
- };
312
+ return width;
313
+ }, [state.columnDimensions]);
314
+ // Total height and width for spacers
315
+ const totalHeight = getCumulativeHeight(size.rows);
316
+ const totalWidth = getCumulativeWidth(size.columns);
317
+ const beforeRowHeight = getCumulativeHeight(visibleRowRange.start);
318
+ const afterRowHeight = totalHeight - getCumulativeHeight(visibleRowRange.end);
319
+ const beforeColWidth = getCumulativeWidth(visibleColRange.start);
320
+ const afterColWidth = totalWidth - getCumulativeWidth(visibleColRange.end);
321
+ // Throttled scroll handler for both vertical and horizontal virtualization
313
322
  const throttledHandleScroll = React.useMemo(() => throttle(e => {
314
- setRenderReady(false);
315
- requestAnimationFrame(() => {
316
- const {
317
- scrollTop,
318
- scrollHeight,
319
- offsetHeight
320
- } = e.target;
321
- const visibleRows = 100;
322
- const rowHeight = 50;
323
- const totalScroll = Math.ceil((size.rows - visibleRows) / rowHeight);
324
- const dynamicScroll = scrollHeight - offsetHeight;
325
- if (size.rows < visibleRows) {
326
- updateVisibleRange(0, size.rows, 0);
327
- setScrollCount(0);
328
- } else if (scrollTop === 0 && scrollCount !== 0) {
329
- const newScroll = scrollCount - 1;
330
- updateVisibleRange(newScroll * rowHeight, newScroll * rowHeight + visibleRows, newScroll);
331
- setScrollCount(newScroll);
332
- } else if (scrollTop > dynamicScroll - 30 && scrollCount < totalScroll - 1) {
333
- const newScroll = scrollCount + 1;
334
- updateVisibleRange(newScroll * rowHeight, newScroll * rowHeight + visibleRows, newScroll);
335
- setScrollCount(newScroll);
336
- } else if (scrollTop > dynamicScroll - 30 && scrollCount < totalScroll) {
337
- updateVisibleRange((scrollCount + 1) * rowHeight, size.rows, scrollCount + 1);
338
- setScrollCount(scrollCount + 1);
339
- }
340
- setRenderReady(true);
323
+ const target = e.target;
324
+ const {
325
+ scrollTop,
326
+ clientHeight,
327
+ scrollLeft,
328
+ clientWidth
329
+ } = target;
330
+ // For rows
331
+ let newRowStart = 0;
332
+ while (newRowStart < size.rows && getCumulativeHeight(newRowStart) < scrollTop) {
333
+ newRowStart++;
334
+ }
335
+ let newRowEnd = newRowStart;
336
+ while (newRowEnd < size.rows && getCumulativeHeight(newRowEnd) < scrollTop + clientHeight) {
337
+ newRowEnd++;
338
+ }
339
+ newRowStart = Math.max(0, newRowStart - ROW_BUFFER);
340
+ newRowEnd = Math.min(size.rows, newRowEnd + ROW_BUFFER);
341
+ setVisibleRowRange({
342
+ start: newRowStart,
343
+ end: newRowEnd
344
+ });
345
+ // For columns
346
+ let newColStart = 0;
347
+ while (newColStart < size.columns && getCumulativeWidth(newColStart) < scrollLeft) {
348
+ newColStart++;
349
+ }
350
+ let newColEnd = newColStart;
351
+ while (newColEnd < size.columns && getCumulativeWidth(newColEnd) < scrollLeft + clientWidth) {
352
+ newColEnd++;
353
+ }
354
+ newColStart = Math.max(0, newColStart - COL_BUFFER);
355
+ newColEnd = Math.min(size.columns, newColEnd + COL_BUFFER);
356
+ setVisibleColRange({
357
+ start: newColStart,
358
+ end: newColEnd
341
359
  });
360
+ // Close context menu on scroll
342
361
  setContextMenu({
343
362
  open: false,
344
363
  contextType: null,
@@ -352,20 +371,85 @@ const Spreadsheet = props => {
352
371
  disable: false
353
372
  }]
354
373
  });
355
- }, 100), [size.rows, scrollCount]);
356
- const scrollerFunction = () => {
357
- if (scrollOption) {
358
- return range(visibleRange.end, visibleRange.start);
359
- } else {
360
- return range(size.rows);
361
- }
374
+ }, 100), [size.rows, size.columns, getCumulativeHeight, getCumulativeWidth]);
375
+ // Update visible ranges when size changes (e.g., data update)
376
+ React.useEffect(() => {
377
+ setVisibleRowRange({
378
+ start: 0,
379
+ end: Math.min(50, size.rows)
380
+ });
381
+ setVisibleColRange({
382
+ start: 0,
383
+ end: Math.min(30, size.columns)
384
+ });
385
+ }, [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
+ });
404
+ }
405
+ });
362
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
+ });
420
+ });
421
+ };
422
+ const colgroup = jsxs("colgroup", {
423
+ children: [jsx("col", {
424
+ style: {
425
+ width: '60px'
426
+ }
427
+ }, "row-indicator"), ' ', jsx("col", {
428
+ style: {
429
+ width: `${beforeColWidth}px`
430
+ }
431
+ }, "left-spacer"), ' ', range(visibleColRange.start, visibleColRange.end).map(colNumber => jsx("col", {
432
+ style: {
433
+ width: `${state.columnDimensions[colNumber]?.width || DEFAULT_COLUMN_WIDTH}px`
434
+ }
435
+ }, colNumber)), jsx("col", {
436
+ style: {
437
+ width: `${afterColWidth}px`
438
+ }
439
+ }, "right-spacer"), ' ']
440
+ });
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;
363
445
  const tableNode = React.useMemo(() => jsxs(Table$1, {
364
446
  columns: size.columns,
365
447
  hideColumnIndicators: false,
366
448
  useTableRef: useTableRef,
367
- children: [jsxs(HeaderRow$1, {
368
- children: [jsx(CornerIndicator$1, {}), range(size.columns).map(columnNumber => columnLabels ? jsx(ColumnIndicator, {
449
+ children: [colgroup, jsxs(HeaderRow$1, {
450
+ children: [jsx(CornerIndicator$1, {}), jsx("th", {
451
+ className: "spacer left"
452
+ }), " ", visibleCols.map(columnNumber => columnLabels ? jsx(ColumnIndicator, {
369
453
  column: columnNumber,
370
454
  minimumColumnWidth: minimumColumnWidth,
371
455
  setContextMenu: props.setContextMenu,
@@ -378,7 +462,8 @@ const Spreadsheet = props => {
378
462
  disableDeleteOption: disableDeleteOption,
379
463
  contextMenu: contextMenu,
380
464
  onAddColumn: onAddColumn,
381
- onDeleteColumn: onDeleteColumn
465
+ onDeleteColumn: onDeleteColumn,
466
+ scrollToColumn: scrollToColumn
382
467
  }, columnNumber) : jsx(ColumnIndicator, {
383
468
  column: columnNumber,
384
469
  minimumColumnWidth: minimumColumnWidth,
@@ -391,9 +476,19 @@ const Spreadsheet = props => {
391
476
  disableDeleteOption: disableDeleteOption,
392
477
  contextMenu: contextMenu,
393
478
  onAddColumn: onAddColumn,
394
- onDeleteColumn: onDeleteColumn
395
- }, columnNumber))]
396
- }), renderReady && scrollerFunction().map(rowNumber => jsxs(Row$1, {
479
+ onDeleteColumn: onDeleteColumn,
480
+ scrollToColumn: scrollToColumn
481
+ }, columnNumber)), jsx("th", {
482
+ className: "spacer right"
483
+ }), " "]
484
+ }), jsxs("tr", {
485
+ style: {
486
+ height: `${beforeRowHeight}px`
487
+ },
488
+ children: [jsx("td", {
489
+ colSpan: spacerColSpan
490
+ }), " "]
491
+ }), range(visibleRowRange.end, visibleRowRange.start).map(rowNumber => jsxs(Row$1, {
397
492
  row: rowNumber,
398
493
  children: [rowLabels ? jsx(RowIndicator$1, {
399
494
  label: rowNumber in rowLabels ? rowLabels[rowNumber] : null,
@@ -406,7 +501,8 @@ const Spreadsheet = props => {
406
501
  maxRowLimit: maxRowLimit,
407
502
  disableDeleteOption: disableDeleteOption,
408
503
  contextMenu: contextMenu,
409
- setVisibleRange: setVisibleRange
504
+ setVisibleRange: setVisibleRange,
505
+ scrollToRow: scrollToRow
410
506
  }, rowNumber) : jsx(RowIndicator$1, {
411
507
  row: rowNumber,
412
508
  addRowTop: addRowTop$1,
@@ -417,19 +513,32 @@ const Spreadsheet = props => {
417
513
  maxRowLimit: maxRowLimit,
418
514
  disableDeleteOption: disableDeleteOption,
419
515
  contextMenu: contextMenu,
420
- setVisibleRange: setVisibleRange
421
- }, rowNumber), range(size.columns).map(columnNumber => jsx(Cell$1, {
516
+ setVisibleRange: setVisibleRange,
517
+ scrollToRow: scrollToRow
518
+ }, rowNumber), jsx("td", {
519
+ className: "spacer left"
520
+ }), " ", visibleCols.map(columnNumber => jsx(Cell$1, {
422
521
  row: rowNumber,
423
522
  column: columnNumber,
424
523
  // @ts-ignore
425
524
  DataViewer: DataViewer$1,
426
525
  editable: editable$1
427
- }, columnNumber))]
428
- }, rowNumber))]
429
- }), [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]);
526
+ }, columnNumber)), jsx("td", {
527
+ className: "spacer right"
528
+ }), " "]
529
+ }, rowNumber)), jsxs("tr", {
530
+ style: {
531
+ height: `${afterRowHeight}px`
532
+ },
533
+ children: [jsx("td", {
534
+ colSpan: spacerColSpan
535
+ }), " "]
536
+ })]
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]);
430
538
  const activeCellNode = React.useMemo(() => jsx(ActiveCell, {
431
539
  attachmentAction: attachmentAction,
432
540
  contextOption: contextOption,
541
+ getActiveCell: getActiveCell,
433
542
  setContextMenu: props.setContextMenu,
434
543
  // @ts-ignore
435
544
  DataEditor: DataEditor$1,
@@ -480,6 +589,11 @@ const Spreadsheet = props => {
480
589
  onClick: handleClick,
481
590
  onMouseMove: handleMouseMove,
482
591
  onScroll: e => {
592
+ const target = e.target;
593
+ setScrollPos({
594
+ top: target.scrollTop,
595
+ left: target.scrollLeft
596
+ });
483
597
  scrollOption && throttledHandleScroll(e);
484
598
  setContextMenu({
485
599
  open: false,
@@ -496,15 +610,19 @@ const Spreadsheet = props => {
496
610
  });
497
611
  },
498
612
  children: [tableNode, activeCellNode, jsx(Selected, {
499
- visibleRange: visibleRange
500
- }), jsx(Copied, {})]
613
+ visibleRange: visibleRange,
614
+ scrollPos: scrollPos
615
+ }), jsx(Copied, {
616
+ visibleRange: visibleRange,
617
+ scrollPos: scrollPos
618
+ })]
501
619
  })]
502
620
  }), [className, onKeyPress, handleKeyDown, handleMouseMove, tableNode, activeCellNode, maxWidth]);
503
621
  return jsx(context.Provider, {
504
622
  value: reducerElements,
505
623
  children: rootNode
506
624
  });
507
- };
625
+ });
508
626
 
509
627
  export { Spreadsheet as default };
510
628
  //# sourceMappingURL=Spreadsheet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Spreadsheet.js","sources":["../../../../../src/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.tsx"],"sourcesContent":[null],"names":["Spreadsheet","props","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","onAddColumn","onDeleteColumn","sheetChange","setSheetChange","React","useState","maxWidth","setMaxWidth","maxHeight","setMaxHeight","renderReady","setRenderReady","resizeObserver","ResizeObserver","entries","entry","rootRef","current","target","clientWidth","clientHeight","Math","min","removeSelect","scrollOption","scroller","initialState","useMemo","createParser","createFormulaParser","model","Model","data","prev","INITIAL_STATE","selected","reducerElements","useReducer","reducer","state","dispatch","visibleRange","setVisibleRange","start","end","scrollCount","setScrollCount","size","calculateSpreadsheetSize","mode","useRef","useAction","action","useCallback","args","setEditable","Actions","cut","copy","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","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","handleDocumentClick","contains","addEventListener","removeEventListener","handleClick","formattedStyle","open","handleMouseUp","handleMouseMove","dragging","buttons","Cell","enhanceCell","DefaultCell","CornerIndicator","enhanceCornerIndicator","DefaultCornerIndicator","RowIndicator","enhanceRowIndicator","DefaultRowIndicator","ColumnIndicator","enhanceColumnIndicator","DefaultColumnIndicator","useTableRef","ref","table","observe","removeSelection","selectedColumn","selectedRow","autoFill","updateVisibleRange","newStart","newEnd","newScrollCount","rows","requestAnimationFrame","scrollTo","top","behavior","throttledHandleScroll","throttle","e","scrollTop","scrollHeight","offsetHeight","visibleRows","rowHeight","totalScroll","ceil","dynamicScroll","newScroll","contextType","options","label","value","iconName","disableTooltip","visible","disable","scrollerFunction","tableNode","_jsxs","columns","hideColumnIndicators","children","_jsx","map","columnNumber","column","columnContextEnable","rowNumber","row","rowContextEnable","activeCellNode","ActiveCell","rootNode","style","width","classNames","includes","height","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","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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"}
@@ -407,13 +407,15 @@ function reducer(state, action) {
407
407
  const {
408
408
  active
409
409
  } = state;
410
+ const newSelected = extend && active ? new EntireRowsSelection(active.row, row) : new EntireRowsSelection(row, row);
411
+ const newActive = extend && active ? active : {
412
+ ...ORIGIN,
413
+ row
414
+ };
410
415
  return {
411
416
  ...state,
412
- selected: extend && active ? new EntireRowsSelection(active.row, row) : new EntireRowsSelection(row, row),
413
- active: extend && active ? active : {
414
- ...ORIGIN,
415
- row
416
- },
417
+ selected: newSelected,
418
+ active: newActive,
417
419
  mode: 'view',
418
420
  selectedColumn: null,
419
421
  selectedRow: row
@@ -428,13 +430,15 @@ function reducer(state, action) {
428
430
  const {
429
431
  active
430
432
  } = state;
433
+ const newSelected = extend && active ? new EntireColumnsSelection(active.column, column) : new EntireColumnsSelection(column, column);
434
+ const newActive = extend && active ? active : {
435
+ ...ORIGIN,
436
+ column
437
+ };
431
438
  return {
432
439
  ...state,
433
- selected: extend && active ? new EntireColumnsSelection(active.column, column) : new EntireColumnsSelection(column, column),
434
- active: extend && active ? active : {
435
- ...ORIGIN,
436
- column
437
- },
440
+ selected: newSelected,
441
+ active: newActive,
438
442
  mode: 'view',
439
443
  selectedColumn: column,
440
444
  selectedRow: null
@@ -798,23 +802,23 @@ function reducer(state, action) {
798
802
  row: 0,
799
803
  column: 0
800
804
  };
801
- if (rowCount > columnCount) {
805
+ if (Math.abs(rowCount) > Math.abs(columnCount)) {
802
806
  startPoint = {
803
- row: activeCell?.row ?? 0,
804
- column: start.column
807
+ row: Math.min(start.row, end.row),
808
+ column: activeCell?.column ?? 0
805
809
  };
806
810
  endPoint = {
807
- row: activeCell?.row ?? 0,
808
- column: end.column
811
+ row: Math.max(start.row, end.row),
812
+ column: activeCell?.column ?? 0
809
813
  };
810
814
  } else {
811
815
  startPoint = {
812
- row: start.row,
813
- column: activeCell?.column ?? 0
816
+ row: activeCell?.row ?? 0,
817
+ column: Math.min(start.column, end.column)
814
818
  };
815
819
  endPoint = {
816
- row: end.row,
817
- column: activeCell?.column ?? 0
820
+ row: activeCell?.row ?? 0,
821
+ column: Math.max(start.column, end.column)
818
822
  };
819
823
  }
820
824
  return {