abdul-react 0.0.20 → 0.0.22

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 (26) 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 +4 -0
  5. package/lib/components/Excel/ExcelFile/ExcelFileComponents/ActiveCell.js +1 -1
  6. package/lib/components/Excel/ExcelFile/ExcelFileComponents/ActiveCell.js.map +1 -1
  7. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Selected.d.ts +7 -1
  8. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Selected.js +6 -2
  9. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Selected.js.map +1 -1
  10. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.js +6 -3
  11. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.js.map +1 -1
  12. package/lib/components/Excel/ExcelFile/ExcelFileComponents/util.d.ts +12 -3
  13. package/lib/components/Excel/ExcelFile/ExcelFileComponents/util.js +30 -12
  14. package/lib/components/Excel/ExcelFile/ExcelFileComponents/util.js.map +1 -1
  15. package/lib/index.cjs +43 -18
  16. package/lib/index.cjs.map +1 -1
  17. package/lib/node_modules/js-beautify/js/src/css/index.js +1 -1
  18. package/lib/node_modules/js-beautify/js/src/html/beautifier.js +1 -1
  19. package/lib/node_modules/js-beautify/js/src/html/index.js +1 -1
  20. package/lib/node_modules/js-beautify/js/src/html/options.js +1 -1
  21. package/lib/node_modules/js-beautify/js/src/html/tokenizer.js +1 -1
  22. package/lib/node_modules/js-beautify/js/src/javascript/beautifier.js +1 -1
  23. package/lib/node_modules/js-beautify/js/src/javascript/index.js +1 -1
  24. package/lib/node_modules/js-beautify/js/src/javascript/options.js +1 -1
  25. package/lib/node_modules/js-beautify/js/src/javascript/tokenizer.js +1 -1
  26. package/package.json +1 -1
package/lib/index.cjs CHANGED
@@ -37019,16 +37019,20 @@ function deleteColumnDimension(columns, deleteIndex) {
37019
37019
  return updated;
37020
37020
  }
37021
37021
  /** Get the dimensions of cell at point from state */
37022
- function getCellDimensions(point, rowDimensions, columnDimensions) {
37022
+ function getCellDimensions(point, rowDimensions, columnDimensions, visibleRange) {
37023
37023
  const DEFAULT_ROW_HEIGHT = 32;
37024
- const DEFAULT_COLUMN_WIDTH = 100; // Use your minimumColumnWidth or a default value; adjust based on props if needed
37025
- const HEADER_HEIGHT = 32; // Adjust based on your header row height (e.g., from CSS or measured)
37026
- const ROW_INDICATOR_WIDTH = 60; // From your RowIndicator minWidth style
37024
+ const DEFAULT_COLUMN_WIDTH = 100;
37025
+ const HEADER_HEIGHT = 32;
37026
+ const ROW_INDICATOR_WIDTH = 60;
37027
37027
  let top = HEADER_HEIGHT;
37028
37028
  for (let r = 0; r < point.row; r++) {
37029
37029
  top += (rowDimensions?.[r] ? rowDimensions?.[r]?.height : DEFAULT_ROW_HEIGHT) || DEFAULT_ROW_HEIGHT;
37030
37030
  }
37031
37031
  const height = (rowDimensions?.[point.row] ? rowDimensions?.[point.row]?.height : DEFAULT_ROW_HEIGHT) || DEFAULT_ROW_HEIGHT;
37032
+ if (visibleRange && rowDimensions && rowDimensions[visibleRange.start]) {
37033
+ const visibleTop = rowDimensions[visibleRange.start]?.top || HEADER_HEIGHT;
37034
+ top = top - visibleTop + HEADER_HEIGHT;
37035
+ }
37032
37036
  let left = ROW_INDICATOR_WIDTH;
37033
37037
  for (let c = 0; c < point.column; c++) {
37034
37038
  left += (columnDimensions?.[c] ? columnDimensions?.[c]?.width : DEFAULT_COLUMN_WIDTH) || DEFAULT_COLUMN_WIDTH;
@@ -37042,16 +37046,20 @@ function getCellDimensions(point, rowDimensions, columnDimensions) {
37042
37046
  };
37043
37047
  }
37044
37048
  /** Get the dimensions of customized cell at point from state */
37045
- function getScrollCellDimensions(point, rowDimensions, columnDimensions) {
37049
+ function getScrollCellDimensions(point, rowDimensions, columnDimensions, visibleRange) {
37046
37050
  const DEFAULT_ROW_HEIGHT = 32;
37047
- const DEFAULT_COLUMN_WIDTH = 100; // Use your minimumColumnWidth or a default value
37048
- const HEADER_HEIGHT = 32; // Adjust as needed
37051
+ const DEFAULT_COLUMN_WIDTH = 100;
37052
+ const HEADER_HEIGHT = 32;
37049
37053
  const ROW_INDICATOR_WIDTH = 60;
37050
- let top = HEADER_HEIGHT + 4000; // Preserve your fixed top for scrolling, but add header offset
37054
+ let top = HEADER_HEIGHT;
37051
37055
  for (let r = 0; r < point.row; r++) {
37052
37056
  top += (rowDimensions?.[r] ? rowDimensions?.[r]?.height : DEFAULT_ROW_HEIGHT) || DEFAULT_ROW_HEIGHT;
37053
37057
  }
37054
37058
  const height = (rowDimensions?.[point.row] ? rowDimensions?.[point.row]?.height : DEFAULT_ROW_HEIGHT) || DEFAULT_ROW_HEIGHT;
37059
+ if (visibleRange && rowDimensions && rowDimensions[visibleRange.start]) {
37060
+ const visibleTop = rowDimensions[visibleRange.start]?.top || HEADER_HEIGHT;
37061
+ top = top - visibleTop + HEADER_HEIGHT;
37062
+ }
37055
37063
  let left = ROW_INDICATOR_WIDTH;
37056
37064
  for (let c = 0; c < point.column; c++) {
37057
37065
  left += (columnDimensions?.[c] ? columnDimensions?.[c]?.width : DEFAULT_COLUMN_WIDTH) || DEFAULT_COLUMN_WIDTH;
@@ -37075,14 +37083,24 @@ function getRangeDimensions(rowDimensions, columnDimensions, range) {
37075
37083
  width: endDimensions.left + endDimensions.width - startDimensions.left,
37076
37084
  height: endDimensions.top + endDimensions.height - startDimensions.top,
37077
37085
  top: startDimensions.top + 1,
37078
- // Note: +1 Because of Active cell width is 2px
37079
- left: startDimensions.left + 1 // Note: +1 Because of Active cell width is 2px
37086
+ left: startDimensions.left + 1
37080
37087
  };
37081
37088
  }
37082
37089
  /** Get the dimensions of selected */
37083
- function getSelectedDimensions(rowDimensions, columnDimensions, data, selected) {
37090
+ function getSelectedDimensions(rowDimensions, columnDimensions, data, selected, visibleRange) {
37084
37091
  const range = selected.toRange(data);
37085
- return range ? getRangeDimensions(rowDimensions, columnDimensions, range) : undefined;
37092
+ if (!range) return undefined;
37093
+ let startDimensions = getCellDimensions(range.start, rowDimensions, columnDimensions, visibleRange);
37094
+ let endDimensions = getCellDimensions(range.end, rowDimensions, columnDimensions, visibleRange);
37095
+ if (endDimensions === undefined) {
37096
+ endDimensions = getScrollCellDimensions(range.end, rowDimensions, columnDimensions, visibleRange);
37097
+ }
37098
+ return startDimensions && endDimensions && {
37099
+ width: endDimensions.left + endDimensions.width - startDimensions.left,
37100
+ height: endDimensions.top + endDimensions.height - startDimensions.top,
37101
+ top: startDimensions.top + 1,
37102
+ left: startDimensions.left + 1
37103
+ };
37086
37104
  }
37087
37105
  /** Get given data as CSV */
37088
37106
  function getCSV(data) {
@@ -41070,7 +41088,7 @@ const ActiveCell = props => {
41070
41088
  const mode = useSelector(state => state.mode);
41071
41089
  const cell = useSelector(state => state.active ? get$1(state.active, state.model.data) : undefined);
41072
41090
  const dimensions = useSelector(state => {
41073
- let dimensionValue = active ? getCellDimensions(active, state.rowDimensions, state.columnDimensions) : undefined;
41091
+ let dimensionValue = active ? getCellDimensions(active, state.rowDimensions, state.columnDimensions, props.visibleRange) : undefined;
41074
41092
  dimensionValue = {
41075
41093
  top: (dimensionValue?.top ?? 0) + 1,
41076
41094
  // Note: +1 Because of Active cell width is 2px
@@ -41549,9 +41567,13 @@ const FloatingRect = ({
41549
41567
  });
41550
41568
  };
41551
41569
 
41552
- const Selected = () => {
41570
+ const Selected = ({
41571
+ visibleRange
41572
+ }) => {
41553
41573
  const selected = useSelector(state => state.selected);
41554
- const dimensions = useSelector(state => selected && getSelectedDimensions(state.rowDimensions, state.columnDimensions, state.model.data, state.selected));
41574
+ const dimensions = useSelector(state => {
41575
+ return selected && getSelectedDimensions(state.rowDimensions, state.columnDimensions, state.model.data, state.selected, visibleRange);
41576
+ });
41555
41577
  const dragging = useSelector(state => state.dragging);
41556
41578
  const hidden = useSelector(state => state.selected.size(state.model.data) < 2);
41557
41579
  return jsxRuntime.jsx(FloatingRect, {
@@ -42490,8 +42512,9 @@ const Spreadsheet = props => {
42490
42512
  contextOption: contextOption,
42491
42513
  setContextMenu: props.setContextMenu,
42492
42514
  // @ts-ignore
42493
- DataEditor: DataEditor$1
42494
- }), [DataEditor$1]);
42515
+ DataEditor: DataEditor$1,
42516
+ visibleRange: visibleRange
42517
+ }), [DataEditor$1, visibleRange]);
42495
42518
  const rootNode = React__namespace.useMemo(() => jsxRuntime.jsxs("div", {
42496
42519
  className: "ff-excel-spreadsheet-container",
42497
42520
  children: [jsxRuntime.jsx("div", {
@@ -42552,7 +42575,9 @@ const Spreadsheet = props => {
42552
42575
  }]
42553
42576
  });
42554
42577
  },
42555
- children: [tableNode, activeCellNode, jsxRuntime.jsx(Selected, {}), jsxRuntime.jsx(Copied, {})]
42578
+ children: [tableNode, activeCellNode, jsxRuntime.jsx(Selected, {
42579
+ visibleRange: visibleRange
42580
+ }), jsxRuntime.jsx(Copied, {})]
42556
42581
  })]
42557
42582
  }), [className, onKeyPress, handleKeyDown, handleMouseMove, tableNode, activeCellNode, maxWidth]);
42558
42583
  return jsxRuntime.jsx(context.Provider, {