abdul-react 0.0.33 → 0.0.36

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 (159) 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/fia_ai_icon.svg.js +846 -0
  6. package/lib/assets/icons/fia_ai_icon.svg.js.map +1 -0
  7. package/lib/assets/icons/mac_white_icon.svg.js +6 -0
  8. package/lib/assets/icons/mac_white_icon.svg.js.map +1 -0
  9. package/lib/assets/icons/maximize_livetesting.svg.js +6 -0
  10. package/lib/assets/icons/maximize_livetesting.svg.js.map +1 -0
  11. package/lib/assets/icons/minimize_tree.svg.js +6 -0
  12. package/lib/assets/icons/minimize_tree.svg.js.map +1 -0
  13. package/lib/assets/icons/timer_icon.svg.js +6 -0
  14. package/lib/assets/icons/timer_icon.svg.js.map +1 -0
  15. package/lib/assets/icons/view_access_icon.svg.js +1 -1
  16. package/lib/assets/icons/view_access_icon.svg.js.map +1 -1
  17. package/lib/assets/icons/windows_blue_icon.svg.js +6 -0
  18. package/lib/assets/icons/windows_blue_icon.svg.js.map +1 -0
  19. package/lib/components/AllProjectsDropdown/AllProjectsDropdown.js +53 -13
  20. package/lib/components/AllProjectsDropdown/AllProjectsDropdown.js.map +1 -1
  21. package/lib/components/AppHeader/AppHeader.js +37 -4
  22. package/lib/components/AppHeader/AppHeader.js.map +1 -1
  23. package/lib/components/AppHeader/types.d.ts +11 -0
  24. package/lib/components/Comments/childComment/ChildComment.js +6 -6
  25. package/lib/components/Comments/childComment/ChildComment.js.map +1 -1
  26. package/lib/components/ConditionalDropdown/ConditionalDropdown.js +17 -5
  27. package/lib/components/ConditionalDropdown/ConditionalDropdown.js.map +1 -1
  28. package/lib/components/ConditionalDropdown/OptionsDropdown.js +16 -6
  29. package/lib/components/ConditionalDropdown/OptionsDropdown.js.map +1 -1
  30. package/lib/components/ConditionalDropdown/types.d.ts +12 -0
  31. package/lib/components/CreateVariable/CreateVariableSlider.js +3 -2
  32. package/lib/components/CreateVariable/CreateVariableSlider.js.map +1 -1
  33. package/lib/components/CreateVariable/types.d.ts +3 -2
  34. package/lib/components/DragAndDrop/DragAndDrop.d.ts +2 -0
  35. package/lib/components/DragAndDrop/DragAndDrop.js +3 -1
  36. package/lib/components/DragAndDrop/DragAndDrop.js.map +1 -1
  37. package/lib/components/Drawer/Drawer.js +7 -4
  38. package/lib/components/Drawer/Drawer.js.map +1 -1
  39. package/lib/components/EditLabel/EditLabel.js +2 -2
  40. package/lib/components/EditLabel/EditLabel.js.map +1 -1
  41. package/lib/components/Editor/Editor.js +12 -5
  42. package/lib/components/Editor/Editor.js.map +1 -1
  43. package/lib/components/Editor/VariableDropdown.js +7 -7
  44. package/lib/components/Editor/VariableDropdown.js.map +1 -1
  45. package/lib/components/Editor/types.d.ts +12 -0
  46. package/lib/components/Excel/Data.d.ts +8 -0
  47. package/lib/components/Excel/Data.js +48 -6
  48. package/lib/components/Excel/Data.js.map +1 -1
  49. package/lib/components/Excel/ExcelFile/ExcelFileComponents/ActiveCell.js +28 -14
  50. package/lib/components/Excel/ExcelFile/ExcelFileComponents/ActiveCell.js.map +1 -1
  51. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Cell.js +8 -2
  52. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Cell.js.map +1 -1
  53. package/lib/components/Excel/ExcelFile/ExcelFileComponents/ColumnIndicator.js +44 -20
  54. package/lib/components/Excel/ExcelFile/ExcelFileComponents/ColumnIndicator.js.map +1 -1
  55. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Copied.d.ts +0 -3
  56. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Copied.js +4 -8
  57. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Copied.js.map +1 -1
  58. package/lib/components/Excel/ExcelFile/ExcelFileComponents/DataEditor.js +45 -2
  59. package/lib/components/Excel/ExcelFile/ExcelFileComponents/DataEditor.js.map +1 -1
  60. package/lib/components/Excel/ExcelFile/ExcelFileComponents/DataViewer.js +5 -1
  61. package/lib/components/Excel/ExcelFile/ExcelFileComponents/DataViewer.js.map +1 -1
  62. package/lib/components/Excel/ExcelFile/ExcelFileComponents/RowIndicator.js +11 -10
  63. package/lib/components/Excel/ExcelFile/ExcelFileComponents/RowIndicator.js.map +1 -1
  64. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Selected.d.ts +0 -3
  65. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Selected.js +5 -9
  66. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Selected.js.map +1 -1
  67. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.js +160 -189
  68. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.js.map +1 -1
  69. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Table.js +9 -13
  70. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Table.js.map +1 -1
  71. package/lib/components/Excel/ExcelFile/ExcelFileComponents/actions.d.ts +17 -1
  72. package/lib/components/Excel/ExcelFile/ExcelFileComponents/actions.js +21 -1
  73. package/lib/components/Excel/ExcelFile/ExcelFileComponents/actions.js.map +1 -1
  74. package/lib/components/Excel/ExcelFile/ExcelFileComponents/index.js +1 -0
  75. package/lib/components/Excel/ExcelFile/ExcelFileComponents/index.js.map +1 -1
  76. package/lib/components/Excel/ExcelFile/ExcelFileComponents/reducer.js +400 -54
  77. package/lib/components/Excel/ExcelFile/ExcelFileComponents/reducer.js.map +1 -1
  78. package/lib/components/Excel/ExcelFile/ExcelFileComponents/reducerFunctions.js +1 -1
  79. package/lib/components/Excel/ExcelFile/ExcelFileComponents/reducerFunctions.js.map +1 -1
  80. package/lib/components/Excel/ExcelFile/ExcelFileComponents/types.d.ts +3 -5
  81. package/lib/components/Excel/ExcelFile/ExcelFileComponents/util.d.ts +10 -18
  82. package/lib/components/Excel/ExcelFile/ExcelFileComponents/util.js +157 -64
  83. package/lib/components/Excel/ExcelFile/ExcelFileComponents/util.js.map +1 -1
  84. package/lib/components/Excel/ExcelToolBar/ExcelToolBar.js +26 -25
  85. package/lib/components/Excel/ExcelToolBar/ExcelToolBar.js.map +1 -1
  86. package/lib/components/Excel/Types.d.ts +2 -0
  87. package/lib/components/Excel/dataConversion.js +17 -4
  88. package/lib/components/Excel/dataConversion.js.map +1 -1
  89. package/lib/components/Icon/Icon.js +14 -1
  90. package/lib/components/Icon/Icon.js.map +1 -1
  91. package/lib/components/Icon/iconList.js +18 -6
  92. package/lib/components/Icon/iconList.js.map +1 -1
  93. package/lib/components/Input/Input.js +3 -2
  94. package/lib/components/Input/Input.js.map +1 -1
  95. package/lib/components/Input/types.d.ts +1 -0
  96. package/lib/components/MachineInputField/MachineInputField.js +2 -2
  97. package/lib/components/MachineInputField/MachineInputField.js.map +1 -1
  98. package/lib/components/NLPInput/NlpInput.js +1 -1
  99. package/lib/components/NLPInput/components/NlpDropDown/NlpDropdown.js +1 -1
  100. package/lib/components/NLPInput/components/NlpDropDown/NlpDropdown.js.map +1 -1
  101. package/lib/components/PrePostTable/PrePostTable.js +2 -0
  102. package/lib/components/PrePostTable/PrePostTable.js.map +1 -1
  103. package/lib/components/Prompt/Prompt.js +17 -2
  104. package/lib/components/Prompt/Prompt.js.map +1 -1
  105. package/lib/components/Prompt/types.d.ts +4 -0
  106. package/lib/components/Select/Select.js +3 -1
  107. package/lib/components/Select/Select.js.map +1 -1
  108. package/lib/components/Select/components/Dropdown.js +2 -1
  109. package/lib/components/Select/components/Dropdown.js.map +1 -1
  110. package/lib/components/Select/types.d.ts +3 -2
  111. package/lib/components/SequentialConnectingBranch/SequentialConnectingBranch.js +14 -9
  112. package/lib/components/SequentialConnectingBranch/SequentialConnectingBranch.js.map +1 -1
  113. package/lib/components/SequentialConnectingBranch/components/Branches/Branches.js +4 -4
  114. package/lib/components/SequentialConnectingBranch/components/Branches/Branches.js.map +1 -1
  115. package/lib/components/StepsLandingTable/Components/StepGroupAccordions.js +92 -69
  116. package/lib/components/StepsLandingTable/Components/StepGroupAccordions.js.map +1 -1
  117. package/lib/components/StepsLandingTable/Components/StepInnerTable.d.ts +1 -1
  118. package/lib/components/StepsLandingTable/Components/StepInnerTable.js +189 -15
  119. package/lib/components/StepsLandingTable/Components/StepInnerTable.js.map +1 -1
  120. package/lib/components/StepsLandingTable/Components/StepTableMainRow.js +20 -4
  121. package/lib/components/StepsLandingTable/Components/StepTableMainRow.js.map +1 -1
  122. package/lib/components/StepsLandingTable/Components/Types.d.ts +6 -0
  123. package/lib/components/StepsLandingTable/StepLandingTable.js +12 -5
  124. package/lib/components/StepsLandingTable/StepLandingTable.js.map +1 -1
  125. package/lib/components/StepsLandingTable/types.d.ts +3 -0
  126. package/lib/components/Table/Table.js +184 -42
  127. package/lib/components/Table/Table.js.map +1 -1
  128. package/lib/components/TableTreeFn/TableTreeFn.js +30 -0
  129. package/lib/components/TableTreeFn/TableTreeFn.js.map +1 -1
  130. package/lib/components/TableWithAccordion/TableWithAccordion.js +4 -3
  131. package/lib/components/TableWithAccordion/TableWithAccordion.js.map +1 -1
  132. package/lib/components/Toggle/Toggle.js +6 -2
  133. package/lib/components/Toggle/Toggle.js.map +1 -1
  134. package/lib/components/variableSuggestionInputDropDown/OptionsDropdown.js +7 -5
  135. package/lib/components/variableSuggestionInputDropDown/OptionsDropdown.js.map +1 -1
  136. package/lib/components/variableSuggestionInputDropDown/VariableSuggestionInputDropDown.js +1 -1
  137. package/lib/hooks/useFileDropzone.js +45 -17
  138. package/lib/hooks/useFileDropzone.js.map +1 -1
  139. package/lib/index.cjs +2737 -651
  140. package/lib/index.cjs.map +1 -1
  141. package/lib/index.d.ts +52 -4
  142. package/lib/index.js +1 -0
  143. package/lib/index.js.map +1 -1
  144. package/lib/node_modules/@dnd-kit/modifiers/dist/modifiers.esm.js +106 -0
  145. package/lib/node_modules/@dnd-kit/modifiers/dist/modifiers.esm.js.map +1 -0
  146. package/lib/node_modules/js-beautify/js/src/css/index.js +1 -1
  147. package/lib/node_modules/js-beautify/js/src/html/beautifier.js +1 -1
  148. package/lib/node_modules/js-beautify/js/src/html/index.js +1 -1
  149. package/lib/node_modules/js-beautify/js/src/html/options.js +1 -1
  150. package/lib/node_modules/js-beautify/js/src/javascript/beautifier.js +1 -1
  151. package/lib/node_modules/js-beautify/js/src/javascript/index.js +1 -1
  152. package/lib/node_modules/js-beautify/js/src/javascript/options.js +1 -1
  153. package/lib/styles.css +1 -1
  154. package/lib/styles.css.map +1 -1
  155. package/lib/tsconfig.tsbuildinfo +1 -1
  156. package/lib/utils/useDeviceType/useDeviceType.d.ts +6 -0
  157. package/lib/utils/useDeviceType/useDeviceType.js +27 -0
  158. package/lib/utils/useDeviceType/useDeviceType.js.map +1 -0
  159. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DataViewer.js","sources":["../../../../../src/components/Excel/ExcelFile/ExcelFileComponents/DataViewer.tsx"],"sourcesContent":[null],"names":["TRUE_TEXT","FALSE_TEXT","DataViewer","cell","evaluatedCell","active","value","getValue","getFileList","checkEmpty","_jsx","fileList","JSON","parse","map","file","className","children","name","split","convertBooleanToText","classNames","hasLineBreaker","inputType","type","_jsxs","Icon","height","_Fragment","baseValue","toString"],"mappings":";;;;;;AAOO,MAAMA,SAAS,GAAG;AAClB,MAAMC,UAAU,GAAG;AAE1B;AACMC,MAAAA,UAAU,GAAGA,CAA4C;EAC7DC,IAAI;EACJC,aAAa;AACbC,EAAAA;AAC4B,CAAA,KAAwB;AACpD,EAAA,MAAMC,KAAK,GAAGC,QAAQ,CAACJ,IAAI,EAAEC,aAAa,CAAC;EAE3C,MAAMI,WAAW,GAAIF,KAAa,IAAI;AACtC,IAAA,IAAIG,UAAU,CAACH,KAAK,CAAC,EAAE;AACrB,MAAA,OAAOI,iBAAK;AACd;AACA,IAAA,MAAMC,QAAQ,GAAGC,IAAI,CAACC,KAAK,CAACP,KAAK,CAAC;AAElC,IAAA,OAAOK,QAAQ,CAACG,GAAG,CAAEC,IAAsB,IAAI;MAC7C,OACEL;AAAqBM,QAAAA,SAAS,EAAC,sCAAsC;QAClEC,QAAA,EAAAF,IAAI,CAACG,IAAI,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAAC,OAAA,EADhBJ,IAAI,CAACG,IAAI,CAEb;AAEV,KAAC,CAAC;GACH;EAEC,OAAO,OAAOZ,KAAK,KAAK,SAAS,GAC/BI,GAAM,CAAA,MAAA,EAAA;AAAAM,IAAAA,SAAS,EAAC,gEAAgE;IAC7EC,QAAA,EAAAG,oBAAoB,CAACd,KAAK;AAAC,GAAA,CACvB,GAEPI,GAAA,CAAA,MAAA,EAAA;AACEM,IAAAA,SAAS,EAAEK,UAAU,CAAC,4BAA4B,EAAE;MAClD,6CAA6C,EAAEC,cAAc,CAAChB,KAAK;KACpE,CAAC;AAAAW,IAAAA,QAAA,EAED,CAACZ,MAAM,IAAIF,IAAI,EAAEoB,SAAS,EAAEC,IAAI,KAAK,UAAU,GAC9CC,IAAK,CAAA,KAAA,EAAA;AAAAT,MAAAA,SAAS,EAAC,0CAA0C;AAAAC,MAAAA,QAAA,EAAA,CACtDX,KAAK,EACNI,GAAC,CAAAgB,IAAI;AAACR,QAAAA,IAAI,EAAC,YAAY;AAACS,QAAAA,MAAM,EAAE,CAAC;AAAEX,QAAAA,SAAS,EAAC;AAAmB,OAAA,CAAG;MAC/D,GACJ,CAACX,MAAM,IAAIF,IAAI,EAAEoB,SAAS,EAAEC,IAAI,KAAK,MAAM,GAC7Cd,GAAA,CAAAkB,QAAA,EAAA;MAAAX,QAAA,EACGR,UAAU,CAACN,IAAI,EAAEG,KAAK,CAAC,GACtBmB,IAAK,CAAA,KAAA,EAAA;AAAAT,QAAAA,SAAS,EAAC,8CAA8C;mBAC3DN,GAAC,CAAAgB,IAAI,EAAC;AAAAR,UAAAA,IAAI,EAAC;UAAoB,EAC3B,aAAA;AAAA,OAAA,CAAA,GAENV,WAAW,CAACF,KAAe;AAC5B,KAAA,CACA,GAEH,CAACD,MAAM,IAAIC;AAER,GAAA,CACR;AACH;AAIA,SAASC,QAAQA,CACfJ,IAAgC,EAChCC,aAAyC,EAAA;EAEzC,MAAMyB,SAAS,GAAGzB,aAAa,EAAEE,KAAK,IAAIH,IAAI,EAAEG,KAAK;AACrD,EAAA,IAAIuB,SAAS,IAAI,OAAOA,SAAS,KAAK,QAAQ,EAAE;AAC9C,IAAA,OAAOA,SAAS,CAACC,QAAQ,EAAE;AAC7B;AACA,EAAA,OAAOD,SAAS;AAClB;AAEM,SAAUT,oBAAoBA,CAACd,KAAc,EAAA;AACjD,EAAA,OAAOA,KAAK,GAAGN,SAAS,GAAGC,UAAU;AACvC;;;;"}
1
+ {"version":3,"file":"DataViewer.js","sources":["../../../../../src/components/Excel/ExcelFile/ExcelFileComponents/DataViewer.tsx"],"sourcesContent":[null],"names":["TRUE_TEXT","FALSE_TEXT","DataViewer","cell","evaluatedCell","active","value","getValue","getFileList","checkEmpty","_jsx","fileList","JSON","parse","map","file","className","children","TruncatedTooltip","width","style","title","name","split","convertBooleanToText","classNames","hasLineBreaker","inputType","type","_jsxs","Icon","height","_Fragment","baseValue","toString"],"mappings":";;;;;;;AAQO,MAAMA,SAAS,GAAG;AAClB,MAAMC,UAAU,GAAG;AAE1B;AACMC,MAAAA,UAAU,GAAGA,CAA4C;EAC7DC,IAAI;EACJC,aAAa;AACbC,EAAAA;AAC4B,CAAA,KAAwB;AACpD,EAAA,MAAMC,KAAK,GAAGC,QAAQ,CAACJ,IAAI,EAAEC,aAAa,CAAC;EAE5C,MAAMI,WAAW,GAAIF,KAAa,IAAI;AACnC,IAAA,IAAIG,UAAU,CAACH,KAAK,CAAC,EAAE;AACrB,MAAA,OAAOI,iBAAK;AACd;AACA,IAAA,MAAMC,QAAQ,GAAGC,IAAI,CAACC,KAAK,CAACP,KAAK,CAAC;AAClC,IAAA,OAAOK,QAAQ,CAACG,GAAG,CAAEC,IAAsB,IAAI;MAC7C,OACEL,GAAqB,CAAA,KAAA,EAAA;AAAAM,QAAAA,SAAS,EAAC,sCAAsC;AAAAC,QAAAA,QAAA,EACnEP,IAACQ,gBAAgB,EAAA;AACfC,UAAAA,KAAK,EAAGhB,IAAI,EAAEiB,KAAK,EAAED,KAAgB,IAAI,GAAG;AAC5CE,UAAAA,KAAK,EAAEN,IAAI,EAAEO,IAAI,EAAEC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI;;AAHhC,OAAA,EAAAR,IAAI,CAACO,IAAI,CAKb;AAEV,KAAC,CAAC;GACH;EAED,OAAO,OAAOhB,KAAK,KAAK,SAAS,GAC/BI,GAAM,CAAA,MAAA,EAAA;AAAAM,IAAAA,SAAS,EAAC,gEAAgE;IAC7EC,QAAA,EAAAO,oBAAoB,CAAClB,KAAK;AAAC,GAAA,CACvB,GAEPI,GAAA,CAAA,MAAA,EAAA;AACEM,IAAAA,SAAS,EAAES,UAAU,CAAC,4BAA4B,EAAE;MAClD,6CAA6C,EAAEC,cAAc,CAACpB,KAAK;KACpE,CAAC;AAAAW,IAAAA,QAAA,EAED,CAACZ,MAAM,IAAIF,IAAI,EAAEwB,SAAS,EAAEC,IAAI,KAAK,UAAU,GAC9CC,IAAK,CAAA,KAAA,EAAA;AAAAb,MAAAA,SAAS,EAAC,0CAA0C;AAAAC,MAAAA,QAAA,EAAA,CACtDX,KAAK,EACNI,GAAC,CAAAoB,IAAI;AAACR,QAAAA,IAAI,EAAC,YAAY;AAACS,QAAAA,MAAM,EAAE,CAAC;AAAEf,QAAAA,SAAS,EAAC;AAAmB,OAAA,CAAG;MAC/D,GACJ,CAACX,MAAM,IAAIF,IAAI,EAAEwB,SAAS,EAAEC,IAAI,KAAK,MAAM,GAC7ClB,GAAA,CAAAsB,QAAA,EAAA;MAAAf,QAAA,EACGR,UAAU,CAACN,IAAI,EAAEG,KAAK,CAAC,GACtBuB,IAAK,CAAA,KAAA,EAAA;AAAAb,QAAAA,SAAS,EAAC,8CAA8C;mBAC3DN,GAAC,CAAAoB,IAAI,EAAC;AAAAR,UAAAA,IAAI,EAAC;UAAoB,EAC3B,aAAA;AAAA,OAAA,CAAA,GAENd,WAAW,CAACF,KAAe;AAC5B,KAAA,CACA,GAEH,CAACD,MAAM,IAAIC;AAER,GAAA,CACR;AACH;AAIA,SAASC,QAAQA,CACfJ,IAAgC,EAChCC,aAAyC,EAAA;EAEzC,MAAM6B,SAAS,GAAG7B,aAAa,EAAEE,KAAK,IAAIH,IAAI,EAAEG,KAAK;AACrD,EAAA,IAAI2B,SAAS,IAAI,OAAOA,SAAS,KAAK,QAAQ,EAAE;AAC9C,IAAA,OAAOA,SAAS,CAACC,QAAQ,EAAE;AAC7B;AACA,EAAA,OAAOD,SAAS;AAClB;AAEM,SAAUT,oBAAoBA,CAAClB,KAAc,EAAA;AACjD,EAAA,OAAOA,KAAK,GAAGN,SAAS,GAAGC,UAAU;AACvC;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import classNames from '../../../../_virtual/index.js';
4
- import { selectEntireRow, dragEnd, activate, setRowHeight } from './actions.js';
4
+ import { selectEntireRow, activate, setRowHeight, dragEnd } from './actions.js';
5
5
  import { get } from './matrix.js';
6
6
  import useDispatch from './use-dispatch.js';
7
7
  import useSelector from './use-selector.js';
@@ -38,8 +38,8 @@ const RowIndicator = ({
38
38
  ...prev,
39
39
  end: action === 'increment' ? prev.end + 1 : prev.end - 1
40
40
  };
41
- if (row === rowCount - 1) {
42
- scrollToRow(row, value);
41
+ if (selectedRow) {
42
+ scrollToRow(selectedRow);
43
43
  }
44
44
  return value;
45
45
  });
@@ -80,6 +80,7 @@ const RowIndicator = ({
80
80
  disable: false
81
81
  }] : [])];
82
82
  }, [selectedRow, row]);
83
+ const MIN_ROW_HEIGHT = 32;
83
84
  const handleMouseDrag = React.useCallback((event, isUp) => {
84
85
  const getTargetRow = isUp ? row : row - 1;
85
86
  const targetRow = Math.max(getTargetRow, 0);
@@ -87,17 +88,17 @@ const RowIndicator = ({
87
88
  const startY = event.clientY;
88
89
  const initialHeight = rowHeight;
89
90
  const onMouseMove = moveEvent => {
90
- const newHeight = Math.max(32, initialHeight + (moveEvent.clientY - startY));
91
+ const delta = moveEvent.clientY - startY;
92
+ const newHeight = Math.max(MIN_ROW_HEIGHT, initialHeight + delta);
91
93
  dispatch(setRowHeight(targetRow, newHeight));
92
94
  };
93
95
  const onMouseUp = () => {
94
96
  document.removeEventListener('mousemove', onMouseMove);
95
97
  document.removeEventListener('mouseup', onMouseUp);
96
- dispatch(dragEnd());
98
+ dispatch(dragEnd()); // only at end
97
99
  };
98
100
  document.addEventListener('mousemove', onMouseMove);
99
101
  document.addEventListener('mouseup', onMouseUp);
100
- dispatch(dragEnd());
101
102
  }, [rowHeight, row]);
102
103
  const activate$1 = React.useCallback(point => dispatch(activate(point)), [dispatch]);
103
104
  const handleClick = React.useCallback(event => {
@@ -113,14 +114,14 @@ const RowIndicator = ({
113
114
  });
114
115
  }, [row, rowContextEnable, options, selectedRow]);
115
116
  React.useEffect(() => {
116
- if (selectedRow !== undefined && contextMenu?.contextType === 'row' || !contextMenu?.contextType) {
117
+ if (selectedRow !== undefined) {
117
118
  setContextMenu(prev => ({
118
119
  open: prev.open,
119
120
  contextType: 'row',
120
121
  options
121
122
  }));
122
123
  }
123
- }, [row, rowContextEnable, options, selectedRow, contextMenu?.contextType]);
124
+ }, [row, rowContextEnable, options, selectedRow, contextMenu?.contextType === 'row']);
124
125
  return jsxs("th", {
125
126
  className: classNames('ff-spreadsheet-header', {
126
127
  'ff-spreadsheet-header--selected': selected
@@ -138,7 +139,7 @@ const RowIndicator = ({
138
139
  }), jsx("div", {
139
140
  className: "drag-row-selector drag-row-down",
140
141
  onMouseDown: e => handleMouseDrag(e, true),
141
- onDoubleClick: () => dispatch(setRowHeight(row, 32)),
142
+ onDoubleClick: () => dispatch(setRowHeight(row, rowHeight)),
142
143
  onClick: () => activate$1({
143
144
  row,
144
145
  column: -1
@@ -146,7 +147,7 @@ const RowIndicator = ({
146
147
  }), jsx("div", {
147
148
  className: "drag-row-selector drag-row-up",
148
149
  onMouseDown: e => handleMouseDrag(e, false),
149
- onDoubleClick: () => dispatch(setRowHeight(row, 32)),
150
+ onDoubleClick: () => dispatch(setRowHeight(row, rowHeight)),
150
151
  onClick: () => activate$1({
151
152
  row,
152
153
  column: -1
@@ -1 +1 @@
1
- {"version":3,"file":"RowIndicator.js","sources":["../../../../../src/components/Excel/ExcelFile/ExcelFileComponents/RowIndicator.tsx"],"sourcesContent":[null],"names":["RowIndicator","row","label","selected","onSelect","setContextMenu","addRowTop","addRowBottom","deleteRow","rowContextEnable","selectedRow","cell","maxRowLimit","disableDeleteOption","contextMenu","setVisibleRange","scrollToRow","dispatch","useDispatch","rowHeight","useSelector","state","rowDimensions","height","matrixData","model","data","rowCount","getMatrixDimensions","updateVisibleRangeEnd","action","prev","value","end","options","React","useMemo","iconName","disableTooltip","visible","contextDisable","disable","handleMouseDrag","useCallback","event","isUp","getTargetRow","targetRow","Math","max","shiftKey","startY","clientY","initialHeight","onMouseMove","moveEvent","newHeight","Actions","onMouseUp","document","removeEventListener","addEventListener","activate","point","handleClick","contextClick","preventDefault","open","contextType","useEffect","undefined","_jsxs","className","classNames","style","minWidth","onClick","onContextMenu","tabIndex","children","_jsx","Typography","fontWeight","onMouseDown","e","onDoubleClick","column","enhance","RowIndicatorComponent","RowIndicatorWrapper","props","hasEntireRow","active","Matrix","selectEntireRow","extend"],"mappings":"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"}
1
+ {"version":3,"file":"RowIndicator.js","sources":["../../../../../src/components/Excel/ExcelFile/ExcelFileComponents/RowIndicator.tsx"],"sourcesContent":[null],"names":["RowIndicator","row","label","selected","onSelect","setContextMenu","addRowTop","addRowBottom","deleteRow","rowContextEnable","selectedRow","cell","maxRowLimit","disableDeleteOption","contextMenu","setVisibleRange","scrollToRow","dispatch","useDispatch","rowHeight","useSelector","state","rowDimensions","height","matrixData","model","data","rowCount","getMatrixDimensions","updateVisibleRangeEnd","action","prev","value","end","options","React","useMemo","iconName","disableTooltip","visible","contextDisable","disable","MIN_ROW_HEIGHT","handleMouseDrag","useCallback","event","isUp","getTargetRow","targetRow","Math","max","shiftKey","startY","clientY","initialHeight","onMouseMove","moveEvent","delta","newHeight","Actions","onMouseUp","document","removeEventListener","addEventListener","activate","point","handleClick","contextClick","preventDefault","open","contextType","useEffect","undefined","_jsxs","className","classNames","style","minWidth","onClick","onContextMenu","tabIndex","children","_jsx","Typography","fontWeight","onMouseDown","e","onDoubleClick","column","enhance","RowIndicatorComponent","RowIndicatorWrapper","props","hasEntireRow","active","Matrix","selectEntireRow","extend"],"mappings":"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"}
@@ -1,8 +1,5 @@
1
1
  import * as React from 'react';
2
- import { VisibleRange } from './types';
3
2
  type SelectedProps = {
4
- visibleRowRange: VisibleRange;
5
- visibleColRange: VisibleRange;
6
3
  scrollPos?: {
7
4
  top: number;
8
5
  left: number;
@@ -2,28 +2,24 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import FloatingRect from './FloatingRect.js';
4
4
  import useSelector from './use-selector.js';
5
- import { getVisibleRangeDimensions } from './util.js';
5
+ import { getSelectedDimensions } from './util.js';
6
6
 
7
7
  const Selected = ({
8
- visibleRowRange,
9
- visibleColRange,
10
8
  scrollPos = {
11
9
  top: 0,
12
10
  left: 0
13
11
  }
14
12
  }) => {
15
- const rowDimensions = useSelector(state => state.rowDimensions);
16
- const columnDimensions = useSelector(state => state.columnDimensions);
13
+ const selected = useSelector(state => state.selected);
17
14
  const dragging = useSelector(state => state.dragging);
18
15
  const hidden = useSelector(state => state.selected.size(state.model.data) < 2);
19
- const fullRange = useSelector(state => state.selected.toRange(state.model.data));
20
- const dimensions = React.useMemo(() => getVisibleRangeDimensions(fullRange, visibleRowRange, rowDimensions, columnDimensions, visibleColRange), [fullRange, visibleRowRange, rowDimensions, columnDimensions, visibleColRange]);
16
+ const dimensions = useSelector(state => selected && getSelectedDimensions(state.rowDimensions, state.columnDimensions, state.model.data, state.selected));
21
17
  const adjustedDimensions = React.useMemo(() => {
22
18
  if (!dimensions) return undefined;
23
19
  return {
24
20
  ...dimensions,
25
- top: dimensions.top + 34,
26
- left: dimensions.left + 62,
21
+ top: dimensions.top,
22
+ left: dimensions.left,
27
23
  height: dimensions.height - 1,
28
24
  width: dimensions.width - 1
29
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Selected.js","sources":["../../../../../src/components/Excel/ExcelFile/ExcelFileComponents/Selected.tsx"],"sourcesContent":[null],"names":["Selected","visibleRowRange","visibleColRange","scrollPos","top","left","rowDimensions","useSelector","state","columnDimensions","dragging","hidden","selected","size","model","data","fullRange","toRange","dimensions","React","useMemo","getVisibleRangeDimensions","adjustedDimensions","undefined","height","width","_jsx","FloatingRect","variant"],"mappings":";;;;;;AAYMA,MAAAA,QAAQ,GAA4BA,CAAC;EACzCC,eAAe;EACfC,eAAe;AACfC,EAAAA,SAAS,GAAG;AAAEC,IAAAA,GAAG,EAAE,CAAC;AAAEC,IAAAA,IAAI,EAAE;AAAC;AAC9B,CAAA,KAAI;EACH,MAAMC,aAAa,GAAGC,WAAW,CAAEC,KAAK,IAAKA,KAAK,CAACF,aAAa,CAAC;EACjE,MAAMG,gBAAgB,GAAGF,WAAW,CAAEC,KAAK,IAAKA,KAAK,CAACC,gBAAgB,CAAC;EACvE,MAAMC,QAAQ,GAAGH,WAAW,CAAEC,KAAK,IAAKA,KAAK,CAACE,QAAQ,CAAC;EACvD,MAAMC,MAAM,GAAGJ,WAAW,CACvBC,KAAK,IAAKA,KAAK,CAACI,QAAQ,CAACC,IAAI,CAACL,KAAK,CAACM,KAAK,CAACC,IAAI,CAAC,GAAG,CAAC,CACrD;AACD,EAAA,MAAMC,SAAS,GAAGT,WAAW,CAAEC,KAAK,IAClCA,KAAK,CAACI,QAAQ,CAACK,OAAO,CAACT,KAAK,CAACM,KAAK,CAACC,IAAI,CAAC,CACzC;AAED,EAAA,MAAMG,UAAU,GAAGC,KAAK,CAACC,OAAO,CAC9B,MACEC,yBAAyB,CACvBL,SAAS,EACTf,eAAe,EACfK,aAAa,EACbG,gBAAgB,EAChBP,eAAe,CAChB,EACH,CACEc,SAAS,EACTf,eAAe,EACfK,aAAa,EACbG,gBAAgB,EAChBP,eAAe,CAChB,CACF;AAED,EAAA,MAAMoB,kBAAkB,GAAGH,KAAK,CAACC,OAAO,CAAC,MAAK;AAC5C,IAAA,IAAI,CAACF,UAAU,EAAE,OAAOK,SAAS;IACjC,OAAO;AACL,MAAA,GAAGL,UAAU;AACbd,MAAAA,GAAG,EAAEc,UAAU,CAACd,GAAG,GAAG,EAAE;AACxBC,MAAAA,IAAI,EAAEa,UAAU,CAACb,IAAI,GAAG,EAAE;AAC1BmB,MAAAA,MAAM,EAAEN,UAAU,CAACM,MAAM,GAAG,CAAC;AAC7BC,MAAAA,KAAK,EAAEP,UAAU,CAACO,KAAK,GAAG;KAC3B;AACH,GAAC,EAAE,CAACP,UAAU,EAAEf,SAAS,CAAC,CAAC;EAE3B,OACEuB,GAAC,CAAAC,YAAY,EACX;AAAAC,IAAAA,OAAO,EAAC,UAAU;AAClBV,IAAAA,UAAU,EAAEI,kBAAkB;AAC9BZ,IAAAA,QAAQ,EAAEA,QAAQ;IAClBC,MAAM,EAAEA,MAAM,IAAI,CAACO;AACnB,GAAA,CAAA;AAEN;;;;"}
1
+ {"version":3,"file":"Selected.js","sources":["../../../../../src/components/Excel/ExcelFile/ExcelFileComponents/Selected.tsx"],"sourcesContent":[null],"names":["Selected","scrollPos","top","left","selected","useSelector","state","dragging","hidden","size","model","data","dimensions","getSelectedDimensions","rowDimensions","columnDimensions","adjustedDimensions","React","useMemo","undefined","height","width","_jsx","FloatingRect","variant"],"mappings":";;;;;;AASMA,MAAAA,QAAQ,GAA4BA,CAAC;AACzCC,EAAAA,SAAS,GAAG;AAAEC,IAAAA,GAAG,EAAE,CAAC;AAAEC,IAAAA,IAAI,EAAE;AAAG;AAAA,CAChC,KAAI;EACH,MAAMC,QAAQ,GAAGC,WAAW,CAAEC,KAAK,IAAKA,KAAK,CAACF,QAAQ,CAAC;EACvD,MAAMG,QAAQ,GAAGF,WAAW,CAAEC,KAAK,IAAKA,KAAK,CAACC,QAAQ,CAAC;EACvD,MAAMC,MAAM,GAAGH,WAAW,CACvBC,KAAK,IAAKA,KAAK,CAACF,QAAQ,CAACK,IAAI,CAACH,KAAK,CAACI,KAAK,CAACC,IAAI,CAAC,GAAG,CAAC,CACrD;AAED,EAAA,MAAMC,UAAU,GAAGP,WAAW,CAC3BC,KAAK,IACJF,QAAQ,IACRS,qBAAqB,CACnBP,KAAK,CAACQ,aAAa,EACnBR,KAAK,CAACS,gBAAgB,EACtBT,KAAK,CAACI,KAAK,CAACC,IAAI,EAChBL,KAAK,CAACF,QAAQ,CACf,CACJ;AAED,EAAA,MAAMY,kBAAkB,GAAGC,KAAK,CAACC,OAAO,CAAC,MAAK;AAC5C,IAAA,IAAI,CAACN,UAAU,EAAE,OAAOO,SAAS;IACjC,OAAO;AACL,MAAA,GAAGP,UAAU;MACbV,GAAG,EAAEU,UAAU,CAACV,GAAG;MACnBC,IAAI,EAAES,UAAU,CAACT,IAAI;AACrBiB,MAAAA,MAAM,EAAER,UAAU,CAACQ,MAAM,GAAG,CAAC;AAC7BC,MAAAA,KAAK,EAAET,UAAU,CAACS,KAAK,GAAG;KAC3B;AACH,GAAC,EAAE,CAACT,UAAU,EAAEX,SAAS,CAAC,CAAC;EAE3B,OACEqB,GAAC,CAAAC,YAAY,EACX;AAAAC,IAAAA,OAAO,EAAC,UAAU;AAClBZ,IAAAA,UAAU,EAAEI,kBAAkB;AAC9BT,IAAAA,QAAQ,EAAEA,QAAQ;IAClBC,MAAM,EAAEA,MAAM,IAAI,CAACI;AACnB,GAAA,CAAA;AAEN;;;;"}
@@ -7,7 +7,7 @@ import reducer, { INITIAL_STATE } from './reducer.js';
7
7
  import context from './context.js';
8
8
  import { Model } from './engine/engine.js';
9
9
  import { createFormulaParser } from './engine/formula.js';
10
- import { calculateSpreadsheetSize, isFocusedWithin, getCSV, writeTextToClipboard, shouldHandleClipboardEvent, readTextFromClipboard, range } from './util.js';
10
+ import { calculateSpreadsheetSize, INITIAL_ROW, INITIAL_COLUMN, isFocusedWithin, getCSV, writeTextToClipboard, shouldHandleClipboardEvent, readTextFromClipboard, ROW_BUFFER, COL_BUFFER, range } from './util.js';
11
11
  import Table from './Table.js';
12
12
  import Row from './Row.js';
13
13
  import HeaderRow from './HeaderRow.js';
@@ -60,8 +60,7 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
60
60
  } = props;
61
61
  const DEFAULT_ROW_HEIGHT = 32;
62
62
  const DEFAULT_COLUMN_WIDTH = props.minimumColumnWidth || 100;
63
- const ROW_BUFFER = 20;
64
- const COL_BUFFER = 30;
63
+ const initialized = React.useRef(false);
65
64
  const [sheetChange, setSheetChange] = React.useState(false);
66
65
  const [maxWidth, setMaxWidth] = React.useState(0);
67
66
  const [maxHeight, setMaxHeight] = React.useState(0);
@@ -72,23 +71,19 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
72
71
  const resizeObserver = new ResizeObserver(entries => {
73
72
  const entry = entries[0];
74
73
  if (entry && rootRef.current) {
75
- const {
76
- clientWidth,
77
- clientHeight
78
- } = rootRef.current;
79
- setMaxHeight(clientHeight);
80
- setMaxWidth(showHider ? clientWidth : entry.contentRect.width);
74
+ const target = entry.target;
75
+ if (target) {
76
+ const {
77
+ clientWidth,
78
+ clientHeight
79
+ } = target;
80
+ setMaxHeight(Math.min(rootRef.current.clientHeight, clientHeight));
81
+ if (showHider) {
82
+ setMaxWidth(Math.min(rootRef.current.clientWidth, clientWidth));
83
+ }
84
+ }
81
85
  }
82
86
  });
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;
92
87
  const initialState = React.useMemo(() => {
93
88
  const createParser = props.createFormulaParser || createFormulaParser;
94
89
  const model = new Model(createParser, props.data);
@@ -106,12 +101,32 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
106
101
  }, [state.model.data, rowLabels, columnLabels]);
107
102
  const [visibleRowRange, setVisibleRowRange] = React.useState({
108
103
  start: 0,
109
- end: Math.min(50, size.rows)
104
+ end: Math.min(INITIAL_ROW, size.rows)
110
105
  });
111
106
  const [visibleColRange, setVisibleColRange] = React.useState({
112
107
  start: 0,
113
- end: Math.min(30, size.columns) // Initial visible columns
108
+ end: Math.min(INITIAL_COLUMN, size.columns)
114
109
  });
110
+ const getCumulativeHeight = React.useCallback(row => {
111
+ let height = 0;
112
+ for (let r = 0; r < row; r++) {
113
+ height += state.rowDimensions[r]?.height || DEFAULT_ROW_HEIGHT;
114
+ }
115
+ return height;
116
+ }, [state.rowDimensions, DEFAULT_ROW_HEIGHT]);
117
+ const getCumulativeWidth = React.useCallback(col => {
118
+ let width = 0;
119
+ for (let c = 0; c < col; c++) {
120
+ width += state.columnDimensions[c]?.width || DEFAULT_COLUMN_WIDTH;
121
+ }
122
+ return width;
123
+ }, [state.columnDimensions, DEFAULT_COLUMN_WIDTH]);
124
+ const totalHeight = getCumulativeHeight(size.rows);
125
+ const totalWidth = getCumulativeWidth(size.columns);
126
+ const beforeRowHeight = getCumulativeHeight(visibleRowRange.start);
127
+ const afterRowHeight = totalHeight - getCumulativeHeight(visibleRowRange.end);
128
+ const beforeColWidth = getCumulativeWidth(visibleColRange.start);
129
+ const afterColWidth = totalWidth - getCumulativeWidth(visibleColRange.end);
115
130
  const mode = state.mode;
116
131
  const rootRef = React.useRef(null);
117
132
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -294,28 +309,7 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
294
309
  if (!table) return;
295
310
  resizeObserver.observe(table);
296
311
  };
297
- const getCumulativeHeight = React.useCallback(row => {
298
- let height = 0;
299
- for (let r = 0; r < row; r++) {
300
- height += state.rowDimensions[r]?.height || DEFAULT_ROW_HEIGHT;
301
- }
302
- return height;
303
- }, [state.rowDimensions, DEFAULT_ROW_HEIGHT]);
304
- const getCumulativeWidth = React.useCallback(col => {
305
- let width = 0;
306
- for (let c = 0; c < col; c++) {
307
- width += state.columnDimensions[c]?.width || DEFAULT_COLUMN_WIDTH;
308
- }
309
- return width;
310
- }, [state.columnDimensions, DEFAULT_COLUMN_WIDTH]);
311
- // Total height and width for spacers
312
- const totalHeight = getCumulativeHeight(size.rows);
313
- const totalWidth = getCumulativeWidth(size.columns);
314
- const beforeRowHeight = getCumulativeHeight(visibleRowRange.start);
315
- const afterRowHeight = totalHeight - getCumulativeHeight(visibleRowRange.end);
316
- const beforeColWidth = getCumulativeWidth(visibleColRange.start);
317
- const afterColWidth = totalWidth - getCumulativeWidth(visibleColRange.end);
318
- const throttledHandleScroll = React.useMemo(() => throttle(e => {
312
+ const handleScroll = React.useCallback(e => {
319
313
  const target = e.target;
320
314
  const {
321
315
  scrollTop,
@@ -327,7 +321,7 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
327
321
  top: scrollTop,
328
322
  left: scrollLeft
329
323
  });
330
- // For rows
324
+ // ----- For rows (NEW)-----
331
325
  let newRowStart = 0;
332
326
  while (newRowStart < size.rows && getCumulativeHeight(newRowStart) < scrollTop) {
333
327
  newRowStart++;
@@ -342,9 +336,9 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
342
336
  start: newRowStart,
343
337
  end: newRowEnd
344
338
  });
345
- // For columns
339
+ // ----- For columns (NEW) -----
346
340
  let newColStart = 0;
347
- while (newColStart < size.columns && getCumulativeWidth(newColStart) < scrollLeft + 100) {
341
+ while (newColStart < size.columns && getCumulativeWidth(newColStart) < scrollLeft) {
348
342
  newColStart++;
349
343
  }
350
344
  let newColEnd = newColStart;
@@ -358,89 +352,74 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
358
352
  end: newColEnd
359
353
  });
360
354
  // Close context menu on scroll
361
- setContextMenu({
362
- open: false,
363
- contextType: null,
364
- options: [{
365
- label: '',
366
- value: '',
367
- iconName: '',
368
- action: () => {},
369
- disableTooltip: '',
370
- visible: false,
371
- disable: false
372
- }]
373
- });
374
- }, 0), [size.rows, size.columns, getCumulativeHeight, getCumulativeWidth]);
375
- React.useEffect(() => {
376
- setVisibleRowRange({
377
- start: 0,
378
- end: Math.min(50, size.rows)
379
- });
380
- setVisibleColRange({
381
- start: 0,
382
- end: Math.min(30, size.columns)
383
- });
384
- }, [size.rows, size.columns]);
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
- }
355
+ if (contextMenu.open) {
356
+ setContextMenu({
357
+ open: false,
358
+ contextType: null,
359
+ options: [{
360
+ label: '',
361
+ value: '',
362
+ iconName: '',
363
+ action: () => {},
364
+ disableTooltip: '',
365
+ visible: false,
366
+ disable: false
367
+ }]
368
+ });
405
369
  }
406
- targetTop = Math.max(0, targetTop);
407
- root.scrollTo({
408
- top: targetTop,
409
- behavior: 'smooth'
370
+ }, [size.rows, size.columns, getCumulativeHeight, getCumulativeWidth]);
371
+ const throttledHandleScroll = React.useMemo(() => throttle(handleScroll, 16), [handleScroll]);
372
+ const scrollToRow = row => {
373
+ initialized.current = true;
374
+ requestAnimationFrame(() => {
375
+ let scrollTop = 0;
376
+ for (let r = 0; r <= row; r++) {
377
+ scrollTop += state.rowDimensions?.[r]?.height || DEFAULT_ROW_HEIGHT;
378
+ }
379
+ requestAnimationFrame(() => {
380
+ if (!rootRef.current) return;
381
+ if (row >= size.rows - 1) {
382
+ rootRef?.current?.scrollTo({
383
+ top: scrollTop + DEFAULT_ROW_HEIGHT,
384
+ behavior: 'smooth'
385
+ });
386
+ }
387
+ });
410
388
  });
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
389
+ // }
390
+ };
391
+ const scrollToColumn = column => {
392
+ initialized.current = true;
393
+ requestAnimationFrame(() => {
394
+ let scrollLeft = 0;
395
+ for (let c = 0; c <= column; c++) {
396
+ scrollLeft += state.columnDimensions?.[c]?.width || DEFAULT_COLUMN_WIDTH;
428
397
  }
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'
398
+ requestAnimationFrame(() => {
399
+ if (!rootRef.current) return;
400
+ if (column >= size.columns - 1) {
401
+ rootRef.current.scrollTo({
402
+ left: scrollLeft + 60,
403
+ behavior: 'smooth'
404
+ });
405
+ }
406
+ });
441
407
  });
442
- }, [getCumulativeWidth, state.columnDimensions, DEFAULT_COLUMN_WIDTH]);
443
- const spacerColSpan = 1 + 1 + visibleCols.length + 1;
408
+ };
409
+ React.useEffect(() => {
410
+ if (!initialized.current) {
411
+ setVisibleRowRange({
412
+ start: 0,
413
+ end: Math.min(INITIAL_ROW, size.rows)
414
+ });
415
+ setVisibleColRange({
416
+ start: 0,
417
+ end: Math.min(INITIAL_COLUMN, size.columns)
418
+ });
419
+ }
420
+ }, [size.rows, size.columns, initialized.current]);
421
+ const visibleRows = range(visibleRowRange.end, visibleRowRange.start);
422
+ const visibleCols = range(visibleColRange.end, visibleColRange.start);
444
423
  const colgroup = jsxs("colgroup", {
445
424
  children: [jsx("col", {
446
425
  style: {
@@ -461,70 +440,66 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
461
440
  }, "right-spacer"), ' ']
462
441
  });
463
442
  const tableNode = React.useMemo(() => jsxs(Table$1, {
464
- columns: size.columns,
465
- hideColumnIndicators: false,
466
443
  useTableRef: useTableRef,
467
- children: [colgroup, jsxs(HeaderRow$1, {
468
- children: [jsx(CornerIndicator$1, {}), jsx("th", {
469
- className: "spacer left"
470
- }), visibleCols.map(colNumber => jsx(ColumnIndicator, {
471
- column: colNumber,
472
- minimumColumnWidth: minimumColumnWidth,
473
- setContextMenu: props.setContextMenu,
474
- label: colNumber in columnLabels ? columnLabels[colNumber] : undefined,
475
- deleteColumn: deleteColumn$1,
476
- addColumnLeft: addColumnLeft$1,
477
- addColumnRight: addColumnRight$1,
478
- columnContextEnable: props.columnContextEnable,
479
- maxColLimit: maxColLimit,
480
- disableDeleteOption: disableDeleteOption,
481
- contextMenu: contextMenu,
482
- onAddColumn: onAddColumn,
483
- onDeleteColumn: onDeleteColumn,
484
- scrollToColumn: scrollToColumn
485
- }, colNumber)), jsx("th", {
486
- className: "spacer right"
487
- })]
488
- }), jsxs("tr", {
489
- style: {
490
- height: `${beforeRowHeight}px`
491
- },
492
- children: [jsx("td", {
493
- colSpan: spacerColSpan
494
- }), " "]
495
- }), visibleRows.map(rowNumber => jsxs(Row$1, {
496
- row: rowNumber,
497
- children: [jsx(RowIndicator$1, {
498
- label: rowNumber in rowLabels ? rowLabels?.[rowNumber] : undefined,
499
- row: rowNumber,
500
- addRowTop: addRowTop$1,
501
- addRowBottom: addRowBottom$1,
502
- deleteRow: deleteRow$1,
503
- setContextMenu: props.setContextMenu,
504
- rowContextEnable: props.rowContextEnable,
505
- maxRowLimit: maxRowLimit,
506
- disableDeleteOption: disableDeleteOption,
507
- contextMenu: contextMenu,
508
- setVisibleRange: setVisibleRowRange,
509
- scrollToRow: scrollToRow
510
- }, rowNumber), jsx("td", {
511
- className: "spacer left"
512
- }), visibleCols.map(columnNumber => jsx(Cell$1, {
444
+ totalWidth: totalWidth,
445
+ children: [colgroup, jsxs("tbody", {
446
+ children: [jsxs(HeaderRow$1, {
447
+ children: [jsx(CornerIndicator$1, {}), jsx("div", {
448
+ className: "spacer left"
449
+ }), visibleCols.map(colNumber => jsx(ColumnIndicator, {
450
+ column: colNumber,
451
+ minimumColumnWidth: minimumColumnWidth,
452
+ setContextMenu: props.setContextMenu,
453
+ label: colNumber in columnLabels ? columnLabels[colNumber] : undefined,
454
+ deleteColumn: deleteColumn$1,
455
+ addColumnLeft: addColumnLeft$1,
456
+ addColumnRight: addColumnRight$1,
457
+ columnContextEnable: props.columnContextEnable,
458
+ maxColLimit: maxColLimit,
459
+ disableDeleteOption: disableDeleteOption,
460
+ contextMenu: contextMenu,
461
+ onAddColumn: onAddColumn,
462
+ onDeleteColumn: onDeleteColumn,
463
+ setVisibleRange: setVisibleColRange,
464
+ scrollToColumn: scrollToColumn
465
+ }, colNumber)), jsx("div", {
466
+ className: "spacer right"
467
+ })]
468
+ }), jsx("tr", {
469
+ style: {
470
+ height: `${beforeRowHeight}px`
471
+ }
472
+ }), visibleRows.map(rowNumber => jsxs(Row$1, {
513
473
  row: rowNumber,
514
- column: columnNumber,
515
- // @ts-ignore
516
- DataViewer: DataViewer$1,
517
- editable: editable$1
518
- }, columnNumber)), jsx("td", {
519
- className: "spacer right"
474
+ children: [jsx(RowIndicator$1, {
475
+ label: rowNumber in rowLabels ? rowLabels?.[rowNumber] : undefined,
476
+ row: rowNumber,
477
+ addRowTop: addRowTop$1,
478
+ addRowBottom: addRowBottom$1,
479
+ deleteRow: deleteRow$1,
480
+ setContextMenu: props.setContextMenu,
481
+ rowContextEnable: props.rowContextEnable,
482
+ maxRowLimit: maxRowLimit,
483
+ disableDeleteOption: disableDeleteOption,
484
+ contextMenu: contextMenu,
485
+ setVisibleRange: setVisibleRowRange,
486
+ scrollToRow: scrollToRow
487
+ }, rowNumber), jsx("div", {
488
+ className: "spacer left"
489
+ }), visibleCols.map(columnNumber => jsx(Cell$1, {
490
+ row: rowNumber,
491
+ column: columnNumber,
492
+ // @ts-ignore
493
+ DataViewer: DataViewer$1,
494
+ editable: editable$1
495
+ }, columnNumber)), jsx("div", {
496
+ className: "spacer right"
497
+ })]
498
+ }, rowNumber)), jsx("tr", {
499
+ style: {
500
+ height: `${afterRowHeight}px`
501
+ }
520
502
  })]
521
- }, rowNumber)), jsx("tr", {
522
- style: {
523
- height: `${afterRowHeight}px`
524
- },
525
- children: jsx("td", {
526
- colSpan: spacerColSpan
527
- })
528
503
  })]
529
504
  }), [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]);
530
505
  const activeCellNode = React.useMemo(() => jsx(ActiveCell, {
@@ -584,12 +559,8 @@ const Spreadsheet = /*#__PURE__*/React.forwardRef(function Spreadsheet(props, re
584
559
  onMouseMove: handleMouseMove,
585
560
  onScroll: e => throttledHandleScroll(e),
586
561
  children: [tableNode, activeCellNode, jsx(Selected, {
587
- visibleRowRange: visibleRowRange,
588
- visibleColRange: visibleColRange,
589
562
  scrollPos: scrollPos
590
563
  }), jsx(Copied, {
591
- visibleRowRange: visibleRowRange,
592
- visibleColRange: visibleColRange,
593
564
  scrollPos: scrollPos
594
565
  })]
595
566
  })]