pixel-react-excel-sheet 1.2.0

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 (832) hide show
  1. package/.prettierrc.js +13 -0
  2. package/.storybook/main.ts +26 -0
  3. package/.storybook/preview.ts +26 -0
  4. package/.yarn/install-state.gz +0 -0
  5. package/.yarnrc.yml +1 -0
  6. package/README.md +75 -0
  7. package/dist/tsconfig.tsbuildinfo +1 -0
  8. package/index.scss +0 -0
  9. package/lib/StyleGuide/ColorPalette/ColorPalette.d.ts +3 -0
  10. package/lib/StyleGuide/ColorPalette/ColorPalette.stories.d.ts +6 -0
  11. package/lib/StyleGuide/ColorPalette/colorPaletteList.d.ts +3 -0
  12. package/lib/StyleGuide/ColorPalette/index.d.ts +1 -0
  13. package/lib/StyleGuide/ColorPalette/types.d.ts +17 -0
  14. package/lib/StyleGuide/Typography/Typography.d.ts +3 -0
  15. package/lib/StyleGuide/Typography/Typography.stories.d.ts +6 -0
  16. package/lib/StyleGuide/Typography/TypographyList.d.ts +5 -0
  17. package/lib/StyleGuide/Typography/types.d.ts +8 -0
  18. package/lib/assets/utils/functionUtils.d.ts +4 -0
  19. package/lib/components/Accordion/Accordion.d.ts +8 -0
  20. package/lib/components/Accordion/Accordion.stories.d.ts +6 -0
  21. package/lib/components/Accordion/index.d.ts +1 -0
  22. package/lib/components/Accordion/types.d.ts +27 -0
  23. package/lib/components/AddResourceButton/AddButton.d.ts +4 -0
  24. package/lib/components/AddResourceButton/AddButton.stories.d.ts +8 -0
  25. package/lib/components/AddResourceButton/ArrowsButton/ArrowsButton.d.ts +6 -0
  26. package/lib/components/AddResourceButton/index.d.ts +1 -0
  27. package/lib/components/AddResourceButton/type.d.ts +68 -0
  28. package/lib/components/AllProjectsDropdown/AllProjectsDropdown.d.ts +4 -0
  29. package/lib/components/AllProjectsDropdown/AllProjectsDropdown.stories.d.ts +7 -0
  30. package/lib/components/AllProjectsDropdown/index.d.ts +1 -0
  31. package/lib/components/AllProjectsDropdown/types.d.ts +10 -0
  32. package/lib/components/AppHeader/AppHeader.d.ts +4 -0
  33. package/lib/components/AppHeader/AppHeader.stories.d.ts +7 -0
  34. package/lib/components/AppHeader/index.d.ts +1 -0
  35. package/lib/components/AppHeader/types.d.ts +30 -0
  36. package/lib/components/AttachmentButton/AttachmentButton.d.ts +5 -0
  37. package/lib/components/AttachmentButton/AttachmentButton.stories.d.ts +9 -0
  38. package/lib/components/AttachmentButton/index.d.ts +1 -0
  39. package/lib/components/AttachmentButton/types.d.ts +8 -0
  40. package/lib/components/Button/Button.d.ts +5 -0
  41. package/lib/components/Button/Button.stories.d.ts +13 -0
  42. package/lib/components/Button/index.d.ts +1 -0
  43. package/lib/components/Button/types.d.ts +61 -0
  44. package/lib/components/Charts/DashboardDonutChart/DashboardDonutChart.d.ts +5 -0
  45. package/lib/components/Charts/DashboardDonutChart/DashboardDonutChart.stories.d.ts +7 -0
  46. package/lib/components/Charts/DashboardDonutChart/index.d.ts +1 -0
  47. package/lib/components/Charts/DashboardDonutChart/types.d.ts +21 -0
  48. package/lib/components/Charts/DonutChart/DonutChart.d.ts +5 -0
  49. package/lib/components/Charts/DonutChart/DonutChart.stories.d.ts +6 -0
  50. package/lib/components/Charts/DonutChart/index.d.ts +1 -0
  51. package/lib/components/Charts/DonutChart/type.d.ts +13 -0
  52. package/lib/components/Charts/PieChart/PieChart.d.ts +5 -0
  53. package/lib/components/Charts/PieChart/PieChart.stories.d.ts +7 -0
  54. package/lib/components/Charts/PieChart/index.d.ts +1 -0
  55. package/lib/components/Charts/PieChart/types.d.ts +27 -0
  56. package/lib/components/Charts/RadialChart/RadialChart.d.ts +5 -0
  57. package/lib/components/Charts/RadialChart/RadialChart.stories.d.ts +6 -0
  58. package/lib/components/Charts/RadialChart/index.d.ts +1 -0
  59. package/lib/components/Charts/RadialChart/types.d.ts +25 -0
  60. package/lib/components/Checkbox/Checkbox.d.ts +6 -0
  61. package/lib/components/Checkbox/Checkbox.stories.d.ts +8 -0
  62. package/lib/components/Checkbox/index.d.ts +1 -0
  63. package/lib/components/Checkbox/types.d.ts +30 -0
  64. package/lib/components/Chip/Chip.d.ts +4 -0
  65. package/lib/components/Chip/Chip.stories.d.ts +14 -0
  66. package/lib/components/Chip/index.d.ts +1 -0
  67. package/lib/components/Chip/types.d.ts +18 -0
  68. package/lib/components/DatePicker/DatePicker.d.ts +5 -0
  69. package/lib/components/DatePicker/DatePicker.stories.d.ts +9 -0
  70. package/lib/components/DatePicker/Timepicker.d.ts +4 -0
  71. package/lib/components/DatePicker/index.d.ts +1 -0
  72. package/lib/components/DatePicker/types.d.ts +81 -0
  73. package/lib/components/DragAndDrop/DragAndDrop.d.ts +9 -0
  74. package/lib/components/DragAndDrop/DragAndDrop.stories.d.ts +6 -0
  75. package/lib/components/DragAndDrop/DragAndDropList.d.ts +20 -0
  76. package/lib/components/DragAndDrop/index.d.ts +1 -0
  77. package/lib/components/Drawer/Drawer.d.ts +5 -0
  78. package/lib/components/Drawer/Drawer.stories.d.ts +10 -0
  79. package/lib/components/Drawer/Types.d.ts +109 -0
  80. package/lib/components/Drawer/index.d.ts +1 -0
  81. package/lib/components/ExcelFile/ChangeExcelStyles.d.ts +14 -0
  82. package/lib/components/ExcelFile/ColorBarSelector/ColorBarSelector.d.ts +8 -0
  83. package/lib/components/ExcelFile/ContextMenu/ContextMenu.d.ts +4 -0
  84. package/lib/components/ExcelFile/ExcelFile/Excel/ActiveCell.d.ts +7 -0
  85. package/lib/components/ExcelFile/ExcelFile/Excel/Cell.d.ts +4 -0
  86. package/lib/components/ExcelFile/ExcelFile/Excel/ColumnIndicator.d.ts +5 -0
  87. package/lib/components/ExcelFile/ExcelFile/Excel/Copied.d.ts +3 -0
  88. package/lib/components/ExcelFile/ExcelFile/Excel/CornerIndicator.d.ts +5 -0
  89. package/lib/components/ExcelFile/ExcelFile/Excel/DataEditor.d.ts +5 -0
  90. package/lib/components/ExcelFile/ExcelFile/Excel/DataViewer.d.ts +8 -0
  91. package/lib/components/ExcelFile/ExcelFile/Excel/FloatingRect.d.ts +10 -0
  92. package/lib/components/ExcelFile/ExcelFile/Excel/HeaderRow.d.ts +3 -0
  93. package/lib/components/ExcelFile/ExcelFile/Excel/Row.d.ts +3 -0
  94. package/lib/components/ExcelFile/ExcelFile/Excel/RowIndicator.d.ts +5 -0
  95. package/lib/components/ExcelFile/ExcelFile/Excel/Selected.d.ts +3 -0
  96. package/lib/components/ExcelFile/ExcelFile/Excel/Spreadsheet.d.ts +80 -0
  97. package/lib/components/ExcelFile/ExcelFile/Excel/Table.d.ts +3 -0
  98. package/lib/components/ExcelFile/ExcelFile/Excel/actions.d.ts +130 -0
  99. package/lib/components/ExcelFile/ExcelFile/Excel/areModelsEqual.d.ts +1 -0
  100. package/lib/components/ExcelFile/ExcelFile/Excel/context.d.ts +8 -0
  101. package/lib/components/ExcelFile/ExcelFile/Excel/engine/engine.d.ts +22 -0
  102. package/lib/components/ExcelFile/ExcelFile/Excel/engine/formula.d.ts +17 -0
  103. package/lib/components/ExcelFile/ExcelFile/Excel/engine/index.d.ts +2 -0
  104. package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-graph.d.ts +21 -0
  105. package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-hash.d.ts +3 -0
  106. package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-set.d.ts +24 -0
  107. package/lib/components/ExcelFile/ExcelFile/Excel/index.d.ts +13 -0
  108. package/lib/components/ExcelFile/ExcelFile/Excel/matrix.d.ts +67 -0
  109. package/lib/components/ExcelFile/ExcelFile/Excel/point-range.d.ts +22 -0
  110. package/lib/components/ExcelFile/ExcelFile/Excel/point.d.ts +11 -0
  111. package/lib/components/ExcelFile/ExcelFile/Excel/reducer.d.ts +27 -0
  112. package/lib/components/ExcelFile/ExcelFile/Excel/selection.d.ts +95 -0
  113. package/lib/components/ExcelFile/ExcelFile/Excel/types.d.ts +178 -0
  114. package/lib/components/ExcelFile/ExcelFile/Excel/use-dispatch.d.ts +3 -0
  115. package/lib/components/ExcelFile/ExcelFile/Excel/use-selector.d.ts +3 -0
  116. package/lib/components/ExcelFile/ExcelFile/Excel/util.d.ts +45 -0
  117. package/lib/components/ExcelFile/ExcelFile/ExcelFile.d.ts +3 -0
  118. package/lib/components/ExcelFile/ExcelFile.stories.d.ts +6 -0
  119. package/lib/components/ExcelFile/ExcelSheetBar/ExcelSheetBar.d.ts +15 -0
  120. package/lib/components/ExcelFile/ExcelToolBar/ExcelToolBar.d.ts +3 -0
  121. package/lib/components/ExcelFile/ImportExcelStyles.d.ts +24 -0
  122. package/lib/components/ExcelFile/Types.d.ts +137 -0
  123. package/lib/components/ExcelFile/index.d.ts +1 -0
  124. package/lib/components/ExpandableMenu/ExpandableMenu.d.ts +5 -0
  125. package/lib/components/ExpandableMenu/ExpandableMenu.stories.d.ts +7 -0
  126. package/lib/components/ExpandableMenu/index.d.ts +1 -0
  127. package/lib/components/ExpandableMenu/types.d.ts +34 -0
  128. package/lib/components/FF_Captcha/Recaptcha.d.ts +5 -0
  129. package/lib/components/FF_Captcha/captcha.stories.d.ts +8 -0
  130. package/lib/components/FF_Captcha/types.d.ts +20 -0
  131. package/lib/components/FileDropzone/Dropzone.d.ts +5 -0
  132. package/lib/components/FileDropzone/FileDropzone.d.ts +4 -0
  133. package/lib/components/FileDropzone/FileDropzone.stories.d.ts +8 -0
  134. package/lib/components/FileDropzone/FilePreview.d.ts +4 -0
  135. package/lib/components/FileDropzone/index.d.ts +1 -0
  136. package/lib/components/FileDropzone/types.d.ts +103 -0
  137. package/lib/components/Form/Form.d.ts +16 -0
  138. package/lib/components/Form/Form.stories.d.ts +6 -0
  139. package/lib/components/Form/index.d.ts +1 -0
  140. package/lib/components/Form/types.d.ts +1 -0
  141. package/lib/components/GridLayout/GridLayout.d.ts +6 -0
  142. package/lib/components/GridLayout/GridLayout.stories.d.ts +8 -0
  143. package/lib/components/GridLayout/index.d.ts +2 -0
  144. package/lib/components/GridLayout/types.d.ts +74 -0
  145. package/lib/components/HighlightText/HighlightText.d.ts +4 -0
  146. package/lib/components/HighlightText/HighlightText.stories.d.ts +6 -0
  147. package/lib/components/HighlightText/index.d.ts +1 -0
  148. package/lib/components/HighlightText/types.d.ts +4 -0
  149. package/lib/components/Icon/Icon.d.ts +4 -0
  150. package/lib/components/Icon/Icon.stories.d.ts +7 -0
  151. package/lib/components/Icon/iconList.d.ts +2 -0
  152. package/lib/components/Icon/index.d.ts +1 -0
  153. package/lib/components/Icon/types.d.ts +10 -0
  154. package/lib/components/IconButton/IconButton.d.ts +5 -0
  155. package/lib/components/IconButton/IconButton.stories.d.ts +7 -0
  156. package/lib/components/IconButton/index.d.ts +1 -0
  157. package/lib/components/IconButton/types.d.ts +5 -0
  158. package/lib/components/IconRadioGroup/IconRadioGroup.d.ts +5 -0
  159. package/lib/components/IconRadioGroup/IconRadioGroup.stories.d.ts +7 -0
  160. package/lib/components/IconRadioGroup/index.d.ts +1 -0
  161. package/lib/components/IconRadioGroup/type.d.ts +41 -0
  162. package/lib/components/Input/Input.d.ts +4 -0
  163. package/lib/components/Input/Input.stories.d.ts +9 -0
  164. package/lib/components/Input/index.d.ts +1 -0
  165. package/lib/components/Input/types.d.ts +78 -0
  166. package/lib/components/InputWithDropdown/InputWithDropdown.d.ts +4 -0
  167. package/lib/components/InputWithDropdown/InputWithDropdown.stories.d.ts +9 -0
  168. package/lib/components/InputWithDropdown/index.d.ts +1 -0
  169. package/lib/components/InputWithDropdown/types.d.ts +88 -0
  170. package/lib/components/LazyLoad/LazyLoad.d.ts +2 -0
  171. package/lib/components/LazyLoad/LazyLoad.stories.d.ts +6 -0
  172. package/lib/components/LazyLoad/LazyLoading.d.ts +2 -0
  173. package/lib/components/LazyLoad/index.d.ts +1 -0
  174. package/lib/components/MachineInputField/MachineInputField.d.ts +4 -0
  175. package/lib/components/MachineInputField/MachineInputField.stories.d.ts +6 -0
  176. package/lib/components/MachineInputField/index.d.ts +1 -0
  177. package/lib/components/MachineInputField/types.d.ts +11 -0
  178. package/lib/components/MenuOption/MenuOption.d.ts +4 -0
  179. package/lib/components/MenuOption/MenuOption.stories.d.ts +16 -0
  180. package/lib/components/MenuOption/index.d.ts +1 -0
  181. package/lib/components/MenuOption/types.d.ts +141 -0
  182. package/lib/components/MiniModal/MiniModal.d.ts +4 -0
  183. package/lib/components/MiniModal/MiniModal.stories.d.ts +9 -0
  184. package/lib/components/MiniModal/index.d.ts +1 -0
  185. package/lib/components/MiniModal/types.d.ts +101 -0
  186. package/lib/components/Modal/Modal.d.ts +5 -0
  187. package/lib/components/Modal/Modal.stories.d.ts +7 -0
  188. package/lib/components/Modal/index.d.ts +1 -0
  189. package/lib/components/Modal/types.d.ts +29 -0
  190. package/lib/components/MultiSelect/Dropdown.d.ts +4 -0
  191. package/lib/components/MultiSelect/MultiSelect.d.ts +4 -0
  192. package/lib/components/MultiSelect/MultiSelect.stories.d.ts +10 -0
  193. package/lib/components/MultiSelect/MultiSelectTypes.d.ts +23 -0
  194. package/lib/components/MultiSelect/dropdownTypes.d.ts +17 -0
  195. package/lib/components/MultiSelect/index.d.ts +1 -0
  196. package/lib/components/NLPInput/NlpInput.d.ts +4 -0
  197. package/lib/components/NLPInput/NlpInput.stories.d.ts +7 -0
  198. package/lib/components/NLPInput/components/NlpDropDown/NlpDropDownType.d.ts +19 -0
  199. package/lib/components/NLPInput/components/NlpDropDown/NlpDropdown.d.ts +4 -0
  200. package/lib/components/NLPInput/index.d.ts +1 -0
  201. package/lib/components/NLPInput/type.d.ts +70 -0
  202. package/lib/components/Paper/Paper.d.ts +4 -0
  203. package/lib/components/Paper/Paper.stories.d.ts +11 -0
  204. package/lib/components/Paper/index.d.ts +1 -0
  205. package/lib/components/Paper/types.d.ts +15 -0
  206. package/lib/components/RadioButton/RadioButton.d.ts +4 -0
  207. package/lib/components/RadioButton/RadioButton.stories.d.ts +10 -0
  208. package/lib/components/RadioButton/index.d.ts +1 -0
  209. package/lib/components/RadioButton/radioButtonTypes.d.ts +50 -0
  210. package/lib/components/RadioGroup/RadioGroup.d.ts +4 -0
  211. package/lib/components/RadioGroup/RadioGroup.stories.d.ts +9 -0
  212. package/lib/components/RadioGroup/index.d.ts +1 -0
  213. package/lib/components/RadioGroup/radioGroupTypes.d.ts +62 -0
  214. package/lib/components/Search/Search.d.ts +4 -0
  215. package/lib/components/Search/Search.stories.d.ts +6 -0
  216. package/lib/components/Search/index.d.ts +1 -0
  217. package/lib/components/Search/types.d.ts +15 -0
  218. package/lib/components/Select/Select.d.ts +4 -0
  219. package/lib/components/Select/Select.stories.d.ts +13 -0
  220. package/lib/components/Select/components/Dropdown/Dropdown.d.ts +4 -0
  221. package/lib/components/Select/components/Dropdown/dropdownTypes.d.ts +15 -0
  222. package/lib/components/Select/index.d.ts +1 -0
  223. package/lib/components/Select/types.d.ts +76 -0
  224. package/lib/components/SequentialConnectingBranch/SequentialConnectingBranch.d.ts +4 -0
  225. package/lib/components/SequentialConnectingBranch/SequentialConnectingBranch.stories.d.ts +6 -0
  226. package/lib/components/SequentialConnectingBranch/components/AddBrowserModal/AddBrowserModal.d.ts +4 -0
  227. package/lib/components/SequentialConnectingBranch/components/AddBrowserModal/types.d.ts +3 -0
  228. package/lib/components/SequentialConnectingBranch/components/Branches/Branches.d.ts +4 -0
  229. package/lib/components/SequentialConnectingBranch/components/Branches/types.d.ts +16 -0
  230. package/lib/components/SequentialConnectingBranch/components/ConnectingBranches/ConnectingBranches.d.ts +4 -0
  231. package/lib/components/SequentialConnectingBranch/components/ConnectingBranches/types.d.ts +9 -0
  232. package/lib/components/SequentialConnectingBranch/components/DatasetListModal/DatasetListModal.d.ts +4 -0
  233. package/lib/components/SequentialConnectingBranch/components/DatasetListModal/types.d.ts +3 -0
  234. package/lib/components/SequentialConnectingBranch/index.d.ts +1 -0
  235. package/lib/components/SequentialConnectingBranch/types.d.ts +32 -0
  236. package/lib/components/StateDropdown/StateDropdown.d.ts +3 -0
  237. package/lib/components/StateDropdown/StateDropdown.stories.d.ts +10 -0
  238. package/lib/components/StateDropdown/StateDropdownTypes.d.ts +11 -0
  239. package/lib/components/StateDropdown/index.d.ts +1 -0
  240. package/lib/components/StatusButton/StatusButton.d.ts +4 -0
  241. package/lib/components/StatusButton/StatusButton.stories.d.ts +14 -0
  242. package/lib/components/StatusButton/index.d.ts +1 -0
  243. package/lib/components/StatusButton/types.d.ts +35 -0
  244. package/lib/components/Table/Table.d.ts +4 -0
  245. package/lib/components/Table/Table.stories.d.ts +11 -0
  246. package/lib/components/Table/Types.d.ts +106 -0
  247. package/lib/components/Table/index.d.ts +1 -0
  248. package/lib/components/TableTree/TableTree.d.ts +24 -0
  249. package/lib/components/TableTree/TableTree.stories.d.ts +7 -0
  250. package/lib/components/TableTree/data.d.ts +313 -0
  251. package/lib/components/TableTree/index.d.ts +1 -0
  252. package/lib/components/Tabs/Tabs.d.ts +5 -0
  253. package/lib/components/Tabs/Tabs.stories.d.ts +9 -0
  254. package/lib/components/Tabs/index.d.ts +1 -0
  255. package/lib/components/Tabs/types.d.ts +45 -0
  256. package/lib/components/TextArea/Textarea.d.ts +4 -0
  257. package/lib/components/TextArea/Textarea.stories.d.ts +9 -0
  258. package/lib/components/TextArea/Types.d.ts +78 -0
  259. package/lib/components/TextArea/index.d.ts +1 -0
  260. package/lib/components/ThemeProvider/ThemeProvider.d.ts +7 -0
  261. package/lib/components/ThemeProvider/index.d.ts +1 -0
  262. package/lib/components/ThemeProvider/types.d.ts +11 -0
  263. package/lib/components/Toast/Toast.d.ts +5 -0
  264. package/lib/components/Toast/Toast.stories.d.ts +6 -0
  265. package/lib/components/Toast/index.d.ts +1 -0
  266. package/lib/components/Toast/types.d.ts +20 -0
  267. package/lib/components/Toggle/Toggle.d.ts +5 -0
  268. package/lib/components/Toggle/Toggle.stories.d.ts +12 -0
  269. package/lib/components/Toggle/index.d.ts +1 -0
  270. package/lib/components/Toggle/types.d.ts +50 -0
  271. package/lib/components/Tooltip/Tooltip.d.ts +5 -0
  272. package/lib/components/Tooltip/Tooltip.stories.d.ts +15 -0
  273. package/lib/components/Tooltip/index.d.ts +1 -0
  274. package/lib/components/Tooltip/types.d.ts +37 -0
  275. package/lib/components/Typography/Typography.d.ts +5 -0
  276. package/lib/components/Typography/Typography.stories.d.ts +10 -0
  277. package/lib/components/Typography/index.d.ts +1 -0
  278. package/lib/components/Typography/types.d.ts +47 -0
  279. package/lib/components/VariableInput/VariableInput.d.ts +4 -0
  280. package/lib/components/VariableInput/VariableInput.stories.d.ts +6 -0
  281. package/lib/components/VariableInput/index.d.ts +1 -0
  282. package/lib/components/VariableInput/types.d.ts +53 -0
  283. package/lib/hooks/keyboardevents/useEscKeyEvent.d.ts +2 -0
  284. package/lib/hooks/useClickOutside.d.ts +2 -0
  285. package/lib/hooks/useFileDropzone.d.ts +3 -0
  286. package/lib/hooks/usePortalPosition.d.ts +9 -0
  287. package/lib/hooks/useTheme.d.ts +3 -0
  288. package/lib/index.d.ts +1864 -0
  289. package/lib/index.esm.js +55755 -0
  290. package/lib/index.esm.js.map +1 -0
  291. package/lib/index.js +55840 -0
  292. package/lib/index.js.map +1 -0
  293. package/lib/tsconfig.tsbuildinfo +1 -0
  294. package/lib/utils/TableCell/TableCell.d.ts +1 -0
  295. package/lib/utils/checkEmpty/checkEmpty.d.ts +3 -0
  296. package/lib/utils/checkEmpty/checkEmpty.stories.d.ts +6 -0
  297. package/lib/utils/compareArrays/compareArrays.d.ts +11 -0
  298. package/lib/utils/compareArrays/compareArrays.stories.d.ts +6 -0
  299. package/lib/utils/compareObjects/compareObjects.d.ts +2 -0
  300. package/lib/utils/compareObjects/compareObjects.stories.d.ts +6 -0
  301. package/lib/utils/debounce/debounce.d.ts +6 -0
  302. package/lib/utils/debounce/debounce.stories.d.ts +6 -0
  303. package/lib/utils/ffID/ffID.stories.d.ts +6 -0
  304. package/lib/utils/ffID/ffid.d.ts +1 -0
  305. package/lib/utils/findAndInsert/findAndInsert.d.ts +7 -0
  306. package/lib/utils/findAndInsert/findAndInsert.stories.d.ts +7 -0
  307. package/lib/utils/getEncryptedData/getEncryptedData.d.ts +1 -0
  308. package/lib/utils/getEncryptedData/getEncryptedData.stories.d.ts +6 -0
  309. package/lib/utils/getExtension/getExtension.d.ts +4 -0
  310. package/lib/utils/getExtension/getExtension.stories.d.ts +6 -0
  311. package/lib/utils/throttle/throttle.d.ts +6 -0
  312. package/lib/utils/throttle/throttle.stories.d.ts +6 -0
  313. package/lib/utils/truncateText/truncateText.d.ts +1 -0
  314. package/lib/utils/truncateText/truncateText.stories.d.ts +6 -0
  315. package/package.json +75 -0
  316. package/rollup.config.mjs +63 -0
  317. package/src/StyleGuide/ColorPalette/ColorPalette.scss +62 -0
  318. package/src/StyleGuide/ColorPalette/ColorPalette.stories.tsx +16 -0
  319. package/src/StyleGuide/ColorPalette/ColorPalette.tsx +68 -0
  320. package/src/StyleGuide/ColorPalette/colorPaletteList.ts +172 -0
  321. package/src/StyleGuide/ColorPalette/index.ts +1 -0
  322. package/src/StyleGuide/ColorPalette/types.ts +19 -0
  323. package/src/StyleGuide/Typography/Typography.scss +99 -0
  324. package/src/StyleGuide/Typography/Typography.stories.tsx +16 -0
  325. package/src/StyleGuide/Typography/Typography.tsx +60 -0
  326. package/src/StyleGuide/Typography/TypographyList.ts +3 -0
  327. package/src/StyleGuide/Typography/types.ts +9 -0
  328. package/src/assets/Themes/BaseTheme.scss +207 -0
  329. package/src/assets/Themes/DarkTheme.scss +207 -0
  330. package/src/assets/Themes/Theme.scss +16 -0
  331. package/src/assets/icons/Arrow.svg +5 -0
  332. package/src/assets/icons/accordion_header_icon.svg +10 -0
  333. package/src/assets/icons/active_license_icon.svg +3 -0
  334. package/src/assets/icons/add_file.svg +14 -0
  335. package/src/assets/icons/add_locator.svg +5 -0
  336. package/src/assets/icons/add_variable_icon.svg +5 -0
  337. package/src/assets/icons/all_borders.svg +3 -0
  338. package/src/assets/icons/all_projects.svg +3 -0
  339. package/src/assets/icons/android.svg +9 -0
  340. package/src/assets/icons/android_icon.svg +6 -0
  341. package/src/assets/icons/app_switch.svg +11 -0
  342. package/src/assets/icons/arrow_down.svg +3 -0
  343. package/src/assets/icons/arrow_right.svg +5 -0
  344. package/src/assets/icons/arrow_up.svg +3 -0
  345. package/src/assets/icons/arrows_down_icon.svg +3 -0
  346. package/src/assets/icons/arrows_right_icon.svg +10 -0
  347. package/src/assets/icons/arrows_top_icon.svg +3 -0
  348. package/src/assets/icons/backward_icon.svg +3 -0
  349. package/src/assets/icons/bold.svg +3 -0
  350. package/src/assets/icons/border_bottom.svg +3 -0
  351. package/src/assets/icons/border_left.svg +3 -0
  352. package/src/assets/icons/border_right.svg +3 -0
  353. package/src/assets/icons/border_top.svg +3 -0
  354. package/src/assets/icons/browser_stack.svg +9 -0
  355. package/src/assets/icons/calendar_icon.svg +9 -0
  356. package/src/assets/icons/check_mark.svg +3 -0
  357. package/src/assets/icons/chrome.svg +12 -0
  358. package/src/assets/icons/clock_icon.svg +11 -0
  359. package/src/assets/icons/clone_icon.svg +3 -0
  360. package/src/assets/icons/close_pill.svg +3 -0
  361. package/src/assets/icons/cloud_server_host_icon.svg +3 -0
  362. package/src/assets/icons/collapse-icon.svg +6 -0
  363. package/src/assets/icons/continue_without_sign.svg +3 -0
  364. package/src/assets/icons/copy-icon.svg +3 -0
  365. package/src/assets/icons/dataset_list.svg +3 -0
  366. package/src/assets/icons/delete.svg +3 -0
  367. package/src/assets/icons/delete_info.svg +17 -0
  368. package/src/assets/icons/details.svg +3 -0
  369. package/src/assets/icons/double_underline.svg +5 -0
  370. package/src/assets/icons/download-icon.svg +3 -0
  371. package/src/assets/icons/download_icon.svg +4 -0
  372. package/src/assets/icons/drag_icon.svg +5 -0
  373. package/src/assets/icons/dropzone_icon.svg +18 -0
  374. package/src/assets/icons/edit_icon.svg +5 -0
  375. package/src/assets/icons/error.svg +17 -0
  376. package/src/assets/icons/expand-icon.svg +6 -0
  377. package/src/assets/icons/export_collection_icon.svg +13 -0
  378. package/src/assets/icons/file.svg +12 -0
  379. package/src/assets/icons/fill_color.svg +7 -0
  380. package/src/assets/icons/filter.svg +5 -0
  381. package/src/assets/icons/fireflink_icon.svg +4 -0
  382. package/src/assets/icons/fireflink_logo.svg +13 -0
  383. package/src/assets/icons/formate_painter.svg +5 -0
  384. package/src/assets/icons/forward_icon.svg +3 -0
  385. package/src/assets/icons/full_access_icon.svg +4 -0
  386. package/src/assets/icons/hamburger_menu.svg +3 -0
  387. package/src/assets/icons/hide_icon.svg +9 -0
  388. package/src/assets/icons/history_icon.svg +19 -0
  389. package/src/assets/icons/impactList.svg +6 -0
  390. package/src/assets/icons/info.svg +17 -0
  391. package/src/assets/icons/info_icon.svg +4 -0
  392. package/src/assets/icons/italic.svg +3 -0
  393. package/src/assets/icons/jira.svg +3 -0
  394. package/src/assets/icons/label_plus.svg +3 -0
  395. package/src/assets/icons/left_arrow_icon.svg +3 -0
  396. package/src/assets/icons/license_info.svg +28 -0
  397. package/src/assets/icons/license_warning.svg +10 -0
  398. package/src/assets/icons/linked_defects.svg +11 -0
  399. package/src/assets/icons/logo.svg +18 -0
  400. package/src/assets/icons/mac.svg +9 -0
  401. package/src/assets/icons/manage_apps.svg +3 -0
  402. package/src/assets/icons/manual_locator.svg +8 -0
  403. package/src/assets/icons/mobile_icon.svg +3 -0
  404. package/src/assets/icons/moon_stars.svg +10 -0
  405. package/src/assets/icons/more.svg +11 -0
  406. package/src/assets/icons/move_icon.svg +5 -0
  407. package/src/assets/icons/ms_dynamic.svg +4 -0
  408. package/src/assets/icons/nlp_help_icon.svg +3 -0
  409. package/src/assets/icons/no_access_icon.svg +4 -0
  410. package/src/assets/icons/no_border.svg +3 -0
  411. package/src/assets/icons/notification_icon.svg +3 -0
  412. package/src/assets/icons/plus_icon.svg +11 -0
  413. package/src/assets/icons/plus_user_icon.svg +3 -0
  414. package/src/assets/icons/refresh-icon.svg +4 -0
  415. package/src/assets/icons/reload.svg +3 -0
  416. package/src/assets/icons/remove.svg +12 -0
  417. package/src/assets/icons/replace.svg +12 -0
  418. package/src/assets/icons/right_arrow_icon.svg +4 -0
  419. package/src/assets/icons/run_icon.svg +26 -0
  420. package/src/assets/icons/sales_force.svg +7 -0
  421. package/src/assets/icons/search.svg +3 -0
  422. package/src/assets/icons/strike_through.svg +3 -0
  423. package/src/assets/icons/success.svg +13 -0
  424. package/src/assets/icons/sun_icon.svg +10 -0
  425. package/src/assets/icons/switch_license_icon.svg +123 -0
  426. package/src/assets/icons/text_align_center.svg +3 -0
  427. package/src/assets/icons/text_align_left.svg +3 -0
  428. package/src/assets/icons/text_align_right.svg +3 -0
  429. package/src/assets/icons/text_color.svg +3 -0
  430. package/src/assets/icons/tick_icon.svg +5 -0
  431. package/src/assets/icons/toast_close.svg +3 -0
  432. package/src/assets/icons/underline.svg +4 -0
  433. package/src/assets/icons/update_icon.svg +3 -0
  434. package/src/assets/icons/user_profile.svg +3 -0
  435. package/src/assets/icons/vertical_separator.svg +3 -0
  436. package/src/assets/icons/view_access_icon.svg +4 -0
  437. package/src/assets/icons/view_icon.svg +3 -0
  438. package/src/assets/icons/warning.svg +17 -0
  439. package/src/assets/icons/web&mobile_icon.svg +3 -0
  440. package/src/assets/icons/web_icon.svg +3 -0
  441. package/src/assets/icons/window_maximize.svg +4 -0
  442. package/src/assets/icons/window_minimize.svg +3 -0
  443. package/src/assets/icons/windows.svg +6 -0
  444. package/src/assets/icons/wrong_mark.svg +3 -0
  445. package/src/assets/icons/wswb_delete_icon.svg +4 -0
  446. package/src/assets/icons/wswb_plus_icon.svg +5 -0
  447. package/src/assets/styles/_colors.scss +148 -0
  448. package/src/assets/styles/_fonts.scss +68 -0
  449. package/src/assets/styles/_mixins.scss +21 -0
  450. package/src/assets/utils/functionUtils.ts +42 -0
  451. package/src/components/Accordion/Accordion.scss +44 -0
  452. package/src/components/Accordion/Accordion.stories.tsx +31 -0
  453. package/src/components/Accordion/Accordion.tsx +62 -0
  454. package/src/components/Accordion/index.ts +1 -0
  455. package/src/components/Accordion/types.ts +28 -0
  456. package/src/components/AddResourceButton/AddButton.scss +36 -0
  457. package/src/components/AddResourceButton/AddButton.stories.tsx +126 -0
  458. package/src/components/AddResourceButton/AddButton.tsx +121 -0
  459. package/src/components/AddResourceButton/ArrowsButton/ArrowsButton.scss +160 -0
  460. package/src/components/AddResourceButton/ArrowsButton/ArrowsButton.tsx +38 -0
  461. package/src/components/AddResourceButton/index.ts +1 -0
  462. package/src/components/AddResourceButton/type.ts +92 -0
  463. package/src/components/AllProjectsDropdown/AllProjectsDropdown.scss +70 -0
  464. package/src/components/AllProjectsDropdown/AllProjectsDropdown.stories.tsx +119 -0
  465. package/src/components/AllProjectsDropdown/AllProjectsDropdown.tsx +122 -0
  466. package/src/components/AllProjectsDropdown/index.ts +1 -0
  467. package/src/components/AllProjectsDropdown/types.ts +10 -0
  468. package/src/components/AppHeader/AppHeader.scss +129 -0
  469. package/src/components/AppHeader/AppHeader.stories.tsx +167 -0
  470. package/src/components/AppHeader/AppHeader.tsx +133 -0
  471. package/src/components/AppHeader/index.ts +1 -0
  472. package/src/components/AppHeader/types.ts +31 -0
  473. package/src/components/AttachmentButton/AttachmentButton.scss +9 -0
  474. package/src/components/AttachmentButton/AttachmentButton.stories.tsx +76 -0
  475. package/src/components/AttachmentButton/AttachmentButton.tsx +113 -0
  476. package/src/components/AttachmentButton/index.ts +1 -0
  477. package/src/components/AttachmentButton/types.ts +8 -0
  478. package/src/components/Button/Button.scss +152 -0
  479. package/src/components/Button/Button.stories.tsx +81 -0
  480. package/src/components/Button/Button.tsx +66 -0
  481. package/src/components/Button/index.ts +1 -0
  482. package/src/components/Button/types.ts +65 -0
  483. package/src/components/Charts/DashboardDonutChart/DashboardDonutChart.scss +145 -0
  484. package/src/components/Charts/DashboardDonutChart/DashboardDonutChart.stories.tsx +52 -0
  485. package/src/components/Charts/DashboardDonutChart/DashboardDonutChart.tsx +335 -0
  486. package/src/components/Charts/DashboardDonutChart/index.ts +1 -0
  487. package/src/components/Charts/DashboardDonutChart/types.ts +33 -0
  488. package/src/components/Charts/DonutChart/DonutChart.scss +76 -0
  489. package/src/components/Charts/DonutChart/DonutChart.stories.tsx +30 -0
  490. package/src/components/Charts/DonutChart/DonutChart.tsx +241 -0
  491. package/src/components/Charts/DonutChart/index.ts +1 -0
  492. package/src/components/Charts/DonutChart/type.ts +23 -0
  493. package/src/components/Charts/PieChart/PieChart.scss +39 -0
  494. package/src/components/Charts/PieChart/PieChart.stories.tsx +46 -0
  495. package/src/components/Charts/PieChart/PieChart.tsx +193 -0
  496. package/src/components/Charts/PieChart/index.ts +1 -0
  497. package/src/components/Charts/PieChart/types.ts +28 -0
  498. package/src/components/Charts/RadialChart/RadialChart.scss +12 -0
  499. package/src/components/Charts/RadialChart/RadialChart.stories.tsx +36 -0
  500. package/src/components/Charts/RadialChart/RadialChart.tsx +174 -0
  501. package/src/components/Charts/RadialChart/index.ts +1 -0
  502. package/src/components/Charts/RadialChart/types.ts +32 -0
  503. package/src/components/Checkbox/Checkbox.scss +89 -0
  504. package/src/components/Checkbox/Checkbox.stories.tsx +47 -0
  505. package/src/components/Checkbox/Checkbox.tsx +61 -0
  506. package/src/components/Checkbox/index.ts +1 -0
  507. package/src/components/Checkbox/types.ts +30 -0
  508. package/src/components/Chip/Chip.scss +71 -0
  509. package/src/components/Chip/Chip.stories.tsx +88 -0
  510. package/src/components/Chip/Chip.tsx +35 -0
  511. package/src/components/Chip/index.ts +1 -0
  512. package/src/components/Chip/types.ts +19 -0
  513. package/src/components/DatePicker/DatePicker.scss +387 -0
  514. package/src/components/DatePicker/DatePicker.stories.tsx +161 -0
  515. package/src/components/DatePicker/DatePicker.tsx +438 -0
  516. package/src/components/DatePicker/Timepicker.tsx +372 -0
  517. package/src/components/DatePicker/index.ts +1 -0
  518. package/src/components/DatePicker/types.ts +100 -0
  519. package/src/components/DragAndDrop/DragAndDrop.d.ts +5 -0
  520. package/src/components/DragAndDrop/DragAndDrop.stories.tsx +25 -0
  521. package/src/components/DragAndDrop/DragAndDrop.ts +7 -0
  522. package/src/components/DragAndDrop/DragAndDropList.scss +69 -0
  523. package/src/components/DragAndDrop/DragAndDropList.tsx +150 -0
  524. package/src/components/DragAndDrop/index.ts +1 -0
  525. package/src/components/Drawer/Drawer.scss +129 -0
  526. package/src/components/Drawer/Drawer.stories.tsx +129 -0
  527. package/src/components/Drawer/Drawer.tsx +198 -0
  528. package/src/components/Drawer/Types.ts +112 -0
  529. package/src/components/Drawer/index.ts +1 -0
  530. package/src/components/ExcelFile/ChangeExcelStyles.tsx +66 -0
  531. package/src/components/ExcelFile/ColorBarSelector/ColorBarSelector.scss +13 -0
  532. package/src/components/ExcelFile/ColorBarSelector/ColorBarSelector.tsx +43 -0
  533. package/src/components/ExcelFile/ContextMenu/ContextMenu.scss +102 -0
  534. package/src/components/ExcelFile/ContextMenu/ContextMenu.tsx +104 -0
  535. package/src/components/ExcelFile/ExcelFile/Excel/ActiveCell.tsx +131 -0
  536. package/src/components/ExcelFile/ExcelFile/Excel/Cell.tsx +201 -0
  537. package/src/components/ExcelFile/ExcelFile/Excel/ColumnIndicator.tsx +123 -0
  538. package/src/components/ExcelFile/ExcelFile/Excel/Copied.tsx +25 -0
  539. package/src/components/ExcelFile/ExcelFile/Excel/CornerIndicator.tsx +49 -0
  540. package/src/components/ExcelFile/ExcelFile/Excel/DataEditor.tsx +37 -0
  541. package/src/components/ExcelFile/ExcelFile/Excel/DataViewer.tsx +46 -0
  542. package/src/components/ExcelFile/ExcelFile/Excel/FloatingRect.tsx +31 -0
  543. package/src/components/ExcelFile/ExcelFile/Excel/HeaderRow.tsx +5 -0
  544. package/src/components/ExcelFile/ExcelFile/Excel/Row.tsx +5 -0
  545. package/src/components/ExcelFile/ExcelFile/Excel/RowIndicator.tsx +102 -0
  546. package/src/components/ExcelFile/ExcelFile/Excel/Selected.tsx +32 -0
  547. package/src/components/ExcelFile/ExcelFile/Excel/Spreadsheet.css +144 -0
  548. package/src/components/ExcelFile/ExcelFile/Excel/Spreadsheet.tsx +494 -0
  549. package/src/components/ExcelFile/ExcelFile/Excel/Table.tsx +19 -0
  550. package/src/components/ExcelFile/ExcelFile/Excel/actions.ts +302 -0
  551. package/src/components/ExcelFile/ExcelFile/Excel/areModelsEqual.ts +18 -0
  552. package/src/components/ExcelFile/ExcelFile/Excel/context.ts +12 -0
  553. package/src/components/ExcelFile/ExcelFile/Excel/engine/engine.ts +200 -0
  554. package/src/components/ExcelFile/ExcelFile/Excel/engine/formula.ts +137 -0
  555. package/src/components/ExcelFile/ExcelFile/Excel/engine/index.ts +2 -0
  556. package/src/components/ExcelFile/ExcelFile/Excel/engine/point-graph.ts +154 -0
  557. package/src/components/ExcelFile/ExcelFile/Excel/engine/point-hash.ts +10 -0
  558. package/src/components/ExcelFile/ExcelFile/Excel/engine/point-set.ts +69 -0
  559. package/src/components/ExcelFile/ExcelFile/Excel/index.ts +48 -0
  560. package/src/components/ExcelFile/ExcelFile/Excel/matrix.ts +388 -0
  561. package/src/components/ExcelFile/ExcelFile/Excel/point-range.ts +82 -0
  562. package/src/components/ExcelFile/ExcelFile/Excel/point.ts +15 -0
  563. package/src/components/ExcelFile/ExcelFile/Excel/reducer.ts +682 -0
  564. package/src/components/ExcelFile/ExcelFile/Excel/selection.ts +257 -0
  565. package/src/components/ExcelFile/ExcelFile/Excel/types.ts +217 -0
  566. package/src/components/ExcelFile/ExcelFile/Excel/typings/fast-formula-parser.d.ts +58 -0
  567. package/src/components/ExcelFile/ExcelFile/Excel/use-dispatch.ts +8 -0
  568. package/src/components/ExcelFile/ExcelFile/Excel/use-selector.ts +9 -0
  569. package/src/components/ExcelFile/ExcelFile/Excel/util.ts +173 -0
  570. package/src/components/ExcelFile/ExcelFile/ExcelFile.scss +27 -0
  571. package/src/components/ExcelFile/ExcelFile/ExcelFile.tsx +501 -0
  572. package/src/components/ExcelFile/ExcelFile.stories.tsx +112 -0
  573. package/src/components/ExcelFile/ExcelSheetBar/ExcelSheetBar.scss +16 -0
  574. package/src/components/ExcelFile/ExcelSheetBar/ExcelSheetBar.tsx +79 -0
  575. package/src/components/ExcelFile/ExcelToolBar/ExcelToolBar.scss +22 -0
  576. package/src/components/ExcelFile/ExcelToolBar/ExcelToolBar.tsx +271 -0
  577. package/src/components/ExcelFile/Types.ts +185 -0
  578. package/src/components/ExcelFile/index.ts +1 -0
  579. package/src/components/ExpandableMenu/ExpandableMenu.scss +110 -0
  580. package/src/components/ExpandableMenu/ExpandableMenu.stories.tsx +67 -0
  581. package/src/components/ExpandableMenu/ExpandableMenu.tsx +101 -0
  582. package/src/components/ExpandableMenu/index.ts +1 -0
  583. package/src/components/ExpandableMenu/types.ts +34 -0
  584. package/src/components/FF_Captcha/Recaptcha.scss +11 -0
  585. package/src/components/FF_Captcha/Recaptcha.tsx +41 -0
  586. package/src/components/FF_Captcha/captcha.stories.tsx +40 -0
  587. package/src/components/FF_Captcha/index.ts +0 -0
  588. package/src/components/FF_Captcha/types.ts +22 -0
  589. package/src/components/FileDropzone/Dropzone.tsx +55 -0
  590. package/src/components/FileDropzone/FileDropzone.scss +134 -0
  591. package/src/components/FileDropzone/FileDropzone.stories.tsx +83 -0
  592. package/src/components/FileDropzone/FileDropzone.tsx +98 -0
  593. package/src/components/FileDropzone/FilePreview.tsx +75 -0
  594. package/src/components/FileDropzone/index.ts +1 -0
  595. package/src/components/FileDropzone/types.ts +113 -0
  596. package/src/components/Form/Form.scss +98 -0
  597. package/src/components/Form/Form.stories.tsx +177 -0
  598. package/src/components/Form/Form.tsx +57 -0
  599. package/src/components/Form/index.ts +1 -0
  600. package/src/components/Form/types.ts +1 -0
  601. package/src/components/Form/validation.json +29 -0
  602. package/src/components/GridLayout/GridLayout.scss +69 -0
  603. package/src/components/GridLayout/GridLayout.stories.tsx +90 -0
  604. package/src/components/GridLayout/GridLayout.tsx +39 -0
  605. package/src/components/GridLayout/GridLayoutStory.scss +25 -0
  606. package/src/components/GridLayout/index.ts +1 -0
  607. package/src/components/GridLayout/types.ts +84 -0
  608. package/src/components/HighlightText/HighlightText.scss +3 -0
  609. package/src/components/HighlightText/HighlightText.stories.tsx +22 -0
  610. package/src/components/HighlightText/HighlightText.tsx +33 -0
  611. package/src/components/HighlightText/index.ts +1 -0
  612. package/src/components/HighlightText/types.ts +4 -0
  613. package/src/components/Icon/Icon.stories.tsx +37 -0
  614. package/src/components/Icon/Icon.tsx +49 -0
  615. package/src/components/Icon/Icons.scss +32 -0
  616. package/src/components/Icon/iconList.ts +240 -0
  617. package/src/components/Icon/index.ts +1 -0
  618. package/src/components/Icon/types.ts +10 -0
  619. package/src/components/IconButton/IconButton.scss +54 -0
  620. package/src/components/IconButton/IconButton.stories.tsx +33 -0
  621. package/src/components/IconButton/IconButton.tsx +30 -0
  622. package/src/components/IconButton/index.ts +1 -0
  623. package/src/components/IconButton/types.ts +5 -0
  624. package/src/components/IconRadioGroup/IconRadioGroup.scss +60 -0
  625. package/src/components/IconRadioGroup/IconRadioGroup.stories.tsx +108 -0
  626. package/src/components/IconRadioGroup/IconRadioGroup.tsx +72 -0
  627. package/src/components/IconRadioGroup/index.ts +1 -0
  628. package/src/components/IconRadioGroup/type.ts +50 -0
  629. package/src/components/Input/Input.scss +155 -0
  630. package/src/components/Input/Input.stories.tsx +96 -0
  631. package/src/components/Input/Input.tsx +97 -0
  632. package/src/components/Input/index.ts +1 -0
  633. package/src/components/Input/types.ts +81 -0
  634. package/src/components/InputWithDropdown/InputWithDropdown.scss +185 -0
  635. package/src/components/InputWithDropdown/InputWithDropdown.stories.tsx +168 -0
  636. package/src/components/InputWithDropdown/InputWithDropdown.tsx +90 -0
  637. package/src/components/InputWithDropdown/index.ts +1 -0
  638. package/src/components/InputWithDropdown/types.ts +109 -0
  639. package/src/components/LazyLoad/LazyLoad.d.ts +3 -0
  640. package/src/components/LazyLoad/LazyLoad.stories.tsx +33 -0
  641. package/src/components/LazyLoad/LazyLoad.ts +2 -0
  642. package/src/components/LazyLoad/LazyLoading.tsx +19 -0
  643. package/src/components/LazyLoad/index.ts +1 -0
  644. package/src/components/MachineInputField/MachineInputField.scss +44 -0
  645. package/src/components/MachineInputField/MachineInputField.stories.tsx +32 -0
  646. package/src/components/MachineInputField/MachineInputField.tsx +71 -0
  647. package/src/components/MachineInputField/index.ts +1 -0
  648. package/src/components/MachineInputField/types.ts +12 -0
  649. package/src/components/MenuOption/MenuOption.scss +83 -0
  650. package/src/components/MenuOption/MenuOption.stories.tsx +280 -0
  651. package/src/components/MenuOption/MenuOption.tsx +128 -0
  652. package/src/components/MenuOption/index.ts +1 -0
  653. package/src/components/MenuOption/types.ts +170 -0
  654. package/src/components/MiniModal/MiniModal.scss +170 -0
  655. package/src/components/MiniModal/MiniModal.stories.tsx +599 -0
  656. package/src/components/MiniModal/MiniModal.tsx +262 -0
  657. package/src/components/MiniModal/index.ts +1 -0
  658. package/src/components/MiniModal/types.ts +101 -0
  659. package/src/components/Modal/Modal.stories.tsx +67 -0
  660. package/src/components/Modal/Modal.tsx +77 -0
  661. package/src/components/Modal/index.tsx +1 -0
  662. package/src/components/Modal/modal.scss +39 -0
  663. package/src/components/Modal/types.ts +40 -0
  664. package/src/components/MultiSelect/Dropdown.scss +77 -0
  665. package/src/components/MultiSelect/Dropdown.tsx +100 -0
  666. package/src/components/MultiSelect/MultiSelect.scss +197 -0
  667. package/src/components/MultiSelect/MultiSelect.stories.tsx +114 -0
  668. package/src/components/MultiSelect/MultiSelect.tsx +332 -0
  669. package/src/components/MultiSelect/MultiSelectTypes.ts +24 -0
  670. package/src/components/MultiSelect/dropdownTypes.ts +17 -0
  671. package/src/components/MultiSelect/index.ts +1 -0
  672. package/src/components/NLPInput/NLPInput.scss +246 -0
  673. package/src/components/NLPInput/NlpInput.stories.tsx +136 -0
  674. package/src/components/NLPInput/NlpInput.tsx +374 -0
  675. package/src/components/NLPInput/components/NlpDropDown/NlpDropDownType.ts +60 -0
  676. package/src/components/NLPInput/components/NlpDropDown/NlpDropdown.scss +83 -0
  677. package/src/components/NLPInput/components/NlpDropDown/NlpDropdown.tsx +180 -0
  678. package/src/components/NLPInput/index.ts +1 -0
  679. package/src/components/NLPInput/type.tsx +124 -0
  680. package/src/components/Paper/Paper.scss +13 -0
  681. package/src/components/Paper/Paper.stories.tsx +77 -0
  682. package/src/components/Paper/Paper.tsx +14 -0
  683. package/src/components/Paper/index.ts +1 -0
  684. package/src/components/Paper/types.ts +19 -0
  685. package/src/components/RadioButton/RadioButton.scss +104 -0
  686. package/src/components/RadioButton/RadioButton.stories.tsx +43 -0
  687. package/src/components/RadioButton/RadioButton.tsx +39 -0
  688. package/src/components/RadioButton/index.ts +1 -0
  689. package/src/components/RadioButton/radioButtonTypes.tsx +58 -0
  690. package/src/components/RadioGroup/RadioGroup.scss +5 -0
  691. package/src/components/RadioGroup/RadioGroup.stories.tsx +122 -0
  692. package/src/components/RadioGroup/RadioGroup.tsx +33 -0
  693. package/src/components/RadioGroup/index.ts +1 -0
  694. package/src/components/RadioGroup/radioGroupTypes.tsx +72 -0
  695. package/src/components/Search/Search.scss +85 -0
  696. package/src/components/Search/Search.stories.tsx +26 -0
  697. package/src/components/Search/Search.tsx +103 -0
  698. package/src/components/Search/index.ts +1 -0
  699. package/src/components/Search/types.ts +15 -0
  700. package/src/components/Select/Select.scss +246 -0
  701. package/src/components/Select/Select.stories.tsx +156 -0
  702. package/src/components/Select/Select.tsx +373 -0
  703. package/src/components/Select/components/Dropdown/Dropdown.scss +70 -0
  704. package/src/components/Select/components/Dropdown/Dropdown.tsx +93 -0
  705. package/src/components/Select/components/Dropdown/dropdownTypes.ts +19 -0
  706. package/src/components/Select/index.ts +1 -0
  707. package/src/components/Select/types.ts +131 -0
  708. package/src/components/SequentialConnectingBranch/SequentialConnectingBranch.scss +117 -0
  709. package/src/components/SequentialConnectingBranch/SequentialConnectingBranch.stories.tsx +62 -0
  710. package/src/components/SequentialConnectingBranch/SequentialConnectingBranch.tsx +210 -0
  711. package/src/components/SequentialConnectingBranch/components/AddBrowserModal/AddBrowserModal.scss +51 -0
  712. package/src/components/SequentialConnectingBranch/components/AddBrowserModal/AddBrowserModal.tsx +107 -0
  713. package/src/components/SequentialConnectingBranch/components/AddBrowserModal/types.ts +5 -0
  714. package/src/components/SequentialConnectingBranch/components/Branches/Branches.scss +184 -0
  715. package/src/components/SequentialConnectingBranch/components/Branches/Branches.tsx +203 -0
  716. package/src/components/SequentialConnectingBranch/components/Branches/types.ts +18 -0
  717. package/src/components/SequentialConnectingBranch/components/ConnectingBranches/ConnectingBranches.scss +3 -0
  718. package/src/components/SequentialConnectingBranch/components/ConnectingBranches/ConnectingBranches.tsx +66 -0
  719. package/src/components/SequentialConnectingBranch/components/ConnectingBranches/types.ts +10 -0
  720. package/src/components/SequentialConnectingBranch/components/DatasetListModal/DatasetListModal.scss +31 -0
  721. package/src/components/SequentialConnectingBranch/components/DatasetListModal/DatasetListModal.tsx +85 -0
  722. package/src/components/SequentialConnectingBranch/components/DatasetListModal/types.ts +4 -0
  723. package/src/components/SequentialConnectingBranch/index.ts +1 -0
  724. package/src/components/SequentialConnectingBranch/types.ts +42 -0
  725. package/src/components/StateDropdown/StateDropdown.stories.tsx +99 -0
  726. package/src/components/StateDropdown/StateDropdown.tsx +218 -0
  727. package/src/components/StateDropdown/StateDropdownTypes.tsx +21 -0
  728. package/src/components/StateDropdown/index.ts +1 -0
  729. package/src/components/StatusButton/StatusButton.scss +90 -0
  730. package/src/components/StatusButton/StatusButton.stories.tsx +91 -0
  731. package/src/components/StatusButton/StatusButton.tsx +40 -0
  732. package/src/components/StatusButton/index.ts +1 -0
  733. package/src/components/StatusButton/types.ts +45 -0
  734. package/src/components/Table/Table.scss +107 -0
  735. package/src/components/Table/Table.stories.tsx +357 -0
  736. package/src/components/Table/Table.tsx +154 -0
  737. package/src/components/Table/Types.ts +108 -0
  738. package/src/components/Table/index.ts +1 -0
  739. package/src/components/TableTree/TableTree.scss +158 -0
  740. package/src/components/TableTree/TableTree.stories.tsx +86 -0
  741. package/src/components/TableTree/TableTree.tsx +255 -0
  742. package/src/components/TableTree/TableTreeStories.scss +22 -0
  743. package/src/components/TableTree/data.ts +573 -0
  744. package/src/components/TableTree/index.ts +1 -0
  745. package/src/components/Tabs/Tabs.scss +79 -0
  746. package/src/components/Tabs/Tabs.stories.tsx +134 -0
  747. package/src/components/Tabs/Tabs.tsx +62 -0
  748. package/src/components/Tabs/index.ts +1 -0
  749. package/src/components/Tabs/types.ts +48 -0
  750. package/src/components/TextArea/Textarea.scss +144 -0
  751. package/src/components/TextArea/Textarea.stories.tsx +92 -0
  752. package/src/components/TextArea/Textarea.tsx +84 -0
  753. package/src/components/TextArea/Types.ts +82 -0
  754. package/src/components/TextArea/index.tsx +1 -0
  755. package/src/components/ThemeProvider/ThemeProvider.tsx +27 -0
  756. package/src/components/ThemeProvider/index.ts +1 -0
  757. package/src/components/ThemeProvider/types.ts +14 -0
  758. package/src/components/Toast/Toast.scss +121 -0
  759. package/src/components/Toast/Toast.stories.tsx +180 -0
  760. package/src/components/Toast/Toast.tsx +116 -0
  761. package/src/components/Toast/index.ts +1 -0
  762. package/src/components/Toast/types.ts +27 -0
  763. package/src/components/Toggle/Toggle.scss +133 -0
  764. package/src/components/Toggle/Toggle.stories.tsx +132 -0
  765. package/src/components/Toggle/Toggle.tsx +96 -0
  766. package/src/components/Toggle/index.ts +1 -0
  767. package/src/components/Toggle/types.ts +43 -0
  768. package/src/components/Tooltip/Tooltip.scss +26 -0
  769. package/src/components/Tooltip/Tooltip.stories.tsx +97 -0
  770. package/src/components/Tooltip/Tooltip.tsx +194 -0
  771. package/src/components/Tooltip/index.ts +1 -0
  772. package/src/components/Tooltip/types.ts +60 -0
  773. package/src/components/Typography/Typography.scss +49 -0
  774. package/src/components/Typography/Typography.stories.tsx +57 -0
  775. package/src/components/Typography/Typography.tsx +39 -0
  776. package/src/components/Typography/index.ts +1 -0
  777. package/src/components/Typography/types.ts +56 -0
  778. package/src/components/VariableInput/VariableInput.scss +128 -0
  779. package/src/components/VariableInput/VariableInput.stories.tsx +32 -0
  780. package/src/components/VariableInput/VariableInput.tsx +352 -0
  781. package/src/components/VariableInput/index.ts +1 -0
  782. package/src/components/VariableInput/types.ts +56 -0
  783. package/src/fonts/Montserrat/Montserrat-Medium.ttf +0 -0
  784. package/src/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
  785. package/src/fonts/Montserrat/Montserrat-SemiBold.ttf +0 -0
  786. package/src/fonts/Poppins/Poppins-Black.ttf +0 -0
  787. package/src/fonts/Poppins/Poppins-BlackItalic.ttf +0 -0
  788. package/src/fonts/Poppins/Poppins-Bold.ttf +0 -0
  789. package/src/fonts/Poppins/Poppins-BoldItalic.ttf +0 -0
  790. package/src/fonts/Poppins/Poppins-ExtraBold.ttf +0 -0
  791. package/src/fonts/Poppins/Poppins-ExtraBoldItalic.ttf +0 -0
  792. package/src/fonts/Poppins/Poppins-ExtraLight.ttf +0 -0
  793. package/src/fonts/Poppins/Poppins-ExtraLightItalic.ttf +0 -0
  794. package/src/fonts/Poppins/Poppins-Italic.ttf +0 -0
  795. package/src/fonts/Poppins/Poppins-Light.ttf +0 -0
  796. package/src/fonts/Poppins/Poppins-LightItalic.ttf +0 -0
  797. package/src/fonts/Poppins/Poppins-Medium.ttf +0 -0
  798. package/src/fonts/Poppins/Poppins-MediumItalic.ttf +0 -0
  799. package/src/fonts/Poppins/Poppins-Regular.ttf +0 -0
  800. package/src/fonts/Poppins/Poppins-SemiBold.ttf +0 -0
  801. package/src/fonts/Poppins/Poppins-SemiBoldItalic.ttf +0 -0
  802. package/src/fonts/Poppins/Poppins-Thin.ttf +0 -0
  803. package/src/fonts/Poppins/Poppins-ThinItalic.ttf +0 -0
  804. package/src/hooks/keyboardevents/useEscKeyEvent.tsx +31 -0
  805. package/src/hooks/useClickOutside.tsx +30 -0
  806. package/src/hooks/useFileDropzone.tsx +273 -0
  807. package/src/hooks/usePortalPosition.tsx +53 -0
  808. package/src/hooks/useTheme.tsx +13 -0
  809. package/src/index.ts +139 -0
  810. package/src/utils/TableCell/TableCell.ts +16 -0
  811. package/src/utils/checkEmpty/checkEmpty.stories.tsx +34 -0
  812. package/src/utils/checkEmpty/checkEmpty.ts +24 -0
  813. package/src/utils/compareArrays/compareArrays.stories.tsx +62 -0
  814. package/src/utils/compareArrays/compareArrays.ts +31 -0
  815. package/src/utils/compareObjects/compareObjects.stories.tsx +51 -0
  816. package/src/utils/compareObjects/compareObjects.ts +53 -0
  817. package/src/utils/debounce/debounce.stories.tsx +81 -0
  818. package/src/utils/debounce/debounce.ts +28 -0
  819. package/src/utils/ffID/ffID.stories.tsx +35 -0
  820. package/src/utils/ffID/ffid.ts +7 -0
  821. package/src/utils/findAndInsert/findAndInsert.stories.tsx +119 -0
  822. package/src/utils/findAndInsert/findAndInsert.ts +49 -0
  823. package/src/utils/getEncryptedData/getEncryptedData.stories.tsx +55 -0
  824. package/src/utils/getEncryptedData/getEncryptedData.ts +8 -0
  825. package/src/utils/getExtension/getExtension.stories.tsx +23 -0
  826. package/src/utils/getExtension/getExtension.ts +28 -0
  827. package/src/utils/throttle/throttle.stories.tsx +100 -0
  828. package/src/utils/throttle/throttle.ts +33 -0
  829. package/src/utils/truncateText/truncateText.stories.tsx +37 -0
  830. package/src/utils/truncateText/truncateText.ts +4 -0
  831. package/tsconfig.json +55 -0
  832. package/vite.config.js +14 -0
@@ -0,0 +1,494 @@
1
+ import * as React from "react";
2
+ import classNames from "classnames";
3
+ import * as Types from "./types";
4
+ import * as Actions from "./actions";
5
+ import * as Matrix from "./matrix";
6
+ import * as Point from "./point";
7
+ import { Selection } from "./selection";
8
+ import reducer, { INITIAL_STATE, hasKeyDownHandler } from "./reducer";
9
+ import context from "./context";
10
+ import { Model, createFormulaParser } from "./engine";
11
+ import {
12
+ range,
13
+ readTextFromClipboard,
14
+ writeTextToClipboard,
15
+ calculateSpreadsheetSize,
16
+ getCSV,
17
+ shouldHandleClipboardEvent,
18
+ isFocusedWithin,
19
+ } from "./util";
20
+
21
+ import DefaultTable from "./Table";
22
+ import DefaultRow from "./Row";
23
+ import DefaultHeaderRow from "./HeaderRow";
24
+ import DefaultCornerIndicator, {
25
+ enhance as enhanceCornerIndicator,
26
+ } from "./CornerIndicator";
27
+ import DefaultColumnIndicator, {
28
+ enhance as enhanceColumnIndicator,
29
+ } from "./ColumnIndicator";
30
+ import DefaultRowIndicator, {
31
+ enhance as enhanceRowIndicator,
32
+ } from "./RowIndicator";
33
+ import { Cell as DefaultCell, enhance as enhanceCell } from "./Cell";
34
+ import DefaultDataViewer from "./DataViewer";
35
+ import DefaultDataEditor from "./DataEditor";
36
+ import ActiveCell from "./ActiveCell";
37
+ import Selected from "./Selected";
38
+ import Copied from "./Copied";
39
+ // import "./Spreadsheet.css";
40
+
41
+ /** The Spreadsheet component props */
42
+ export type Props<CellType extends Types.CellBase> = {
43
+ /** The spreadsheet's data */
44
+ data: Matrix.Matrix<CellType>;
45
+ /** Class name to be added to the spreadsheet's root element */
46
+ className?: string;
47
+ /**
48
+ * Use dark colors that complement dark mode
49
+ * @defaultValue `false`
50
+ */
51
+ darkMode?: boolean;
52
+ /**
53
+ * Function used to create the formula parser (instance of
54
+ * "fast-formula-parser") used by the Spreadsheet by getting the spreadsheet's
55
+ * data.
56
+ * @defaultValue function which creates a formula parser bound to the
57
+ * Spreadsheet's data.
58
+ * @see `createFormulaParser`
59
+ * @see https://www.npmjs.com/package/fast-formula-parser
60
+ */
61
+ createFormulaParser?: Types.CreateFormulaParser;
62
+ /**
63
+ * Labels to use in column indicators.
64
+ * @defaultValue alphabetical labels.
65
+ */
66
+ columnLabels?: string[];
67
+ /**
68
+ * Labels to use in row indicators.
69
+ * @defaultValue row index labels.
70
+ */
71
+ rowLabels?: string[];
72
+ /**
73
+ * If set to true, hides the row indicators of the spreadsheet.
74
+ * @defaultValue `false`.
75
+ */
76
+ hideRowIndicators?: boolean;
77
+ /**
78
+ * If set to true, hides the column indicators of the spreadsheet.
79
+ * @defaultValue `false`.
80
+ */
81
+ hideColumnIndicators?: boolean;
82
+ /** The selected cells in the worksheet. */
83
+ selected?: Selection;
84
+ // Custom Components
85
+ /** Component rendered above each column. */
86
+ ColumnIndicator?: Types.ColumnIndicatorComponent;
87
+ /** Component rendered in the corner of row and column indicators. */
88
+ CornerIndicator?: Types.CornerIndicatorComponent;
89
+ /** Component rendered next to each row. */
90
+ RowIndicator?: Types.RowIndicatorComponent;
91
+ /** The Spreadsheet's table component. */
92
+ Table?: Types.TableComponent;
93
+ /** The Spreadsheet's row component. */
94
+ Row?: Types.RowComponent;
95
+ /** The spreadsheet's header row component */
96
+ HeaderRow?: Types.HeaderRowComponent;
97
+ /** The Spreadsheet's cell component. */
98
+ Cell?: Types.CellComponent<CellType>;
99
+ /** Component rendered for cells in view mode. */
100
+ DataViewer?: Types.DataViewerComponent<CellType>;
101
+ /** Component rendered for cells in edit mode. */
102
+ DataEditor?: Types.DataEditorComponent<CellType>;
103
+ // Handlers
104
+ /** Callback called on key down inside the spreadsheet. */
105
+ onKeyDown?: (event: React.KeyboardEvent) => void;
106
+ /** Callback called when the Spreadsheet's selection changes. */
107
+ onSelect?: (selected: Selection) => void;
108
+ /** Callback called when Spreadsheet's active cell changes. */
109
+ onActivate?: (active: Point.Point) => void;
110
+ /** Callback called when the Spreadsheet's evaluated data changes. */
111
+ onEvaluatedDataChange?: (data: Matrix.Matrix<CellType>) => void;
112
+ };
113
+
114
+ /**
115
+ * The Spreadsheet component
116
+ */
117
+ const Spreadsheet = <CellType extends Types.CellBase>(
118
+ props: Props<CellType>
119
+ ): React.ReactElement => {
120
+ const {
121
+ className,
122
+ darkMode,
123
+ columnLabels,
124
+ rowLabels,
125
+ // hideColumnIndicators,
126
+ // hideRowIndicators,
127
+ onKeyDown,
128
+ Table = DefaultTable,
129
+ Row = DefaultRow,
130
+ HeaderRow = DefaultHeaderRow,
131
+ DataEditor = DefaultDataEditor,
132
+ DataViewer = DefaultDataViewer,
133
+ // onChange = () => {},
134
+ // onModeChange = () => {},
135
+ onSelect = () => {},
136
+ onActivate = () => {},
137
+ // onBlur = () => {},
138
+ // onCellCommit = () => {},
139
+ onEvaluatedDataChange = () => {},
140
+ } = props;
141
+ type State = Types.StoreState<CellType>;
142
+
143
+ const initialState = React.useMemo(() => {
144
+ const createParser = (props.createFormulaParser ||
145
+ createFormulaParser) as Types.CreateFormulaParser;
146
+ const model = new Model(createParser, props.data);
147
+ return {
148
+ ...INITIAL_STATE,
149
+ model,
150
+ selected: props.selected || INITIAL_STATE.selected,
151
+ } as State;
152
+ }, [props.createFormulaParser, props.data, props.selected]);
153
+
154
+ const reducerElements = React.useReducer(
155
+ reducer as unknown as React.Reducer<State, Actions.Action>,
156
+ initialState
157
+ );
158
+ const [state, dispatch] = reducerElements;
159
+
160
+ const size = React.useMemo(() => {
161
+ return calculateSpreadsheetSize(state.model.data, rowLabels, columnLabels);
162
+ }, [state.model.data, rowLabels, columnLabels]);
163
+
164
+ const mode = state.mode;
165
+
166
+ const rootRef = React.useRef<HTMLDivElement>(null);
167
+
168
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
169
+ const useAction = <T extends (...args: any[]) => Actions.Action>(
170
+ action: T
171
+ ) => {
172
+ return React.useCallback(
173
+ (...args: Parameters<T>) => dispatch(action(...args)),
174
+ [action]
175
+ );
176
+ };
177
+
178
+ const cut = useAction(Actions.cut);
179
+ const copy = useAction(Actions.copy);
180
+ const paste = useAction(Actions.paste);
181
+ const onKeyDownAction = useAction(Actions.keyDown);
182
+ const onKeyPress = useAction(Actions.keyPress);
183
+ const onDragStart = useAction(Actions.dragStart);
184
+ const onDragEnd = useAction(Actions.dragEnd);
185
+ const setData = useAction(Actions.setData);
186
+ const setCreateFormulaParser = useAction(Actions.setCreateFormulaParser);
187
+ const setSelection = useAction(Actions.setSelection);
188
+
189
+ // Track active
190
+ const prevActiveRef = React.useRef<Point.Point | null>(state.active);
191
+ React.useEffect(() => {
192
+ if (state.active !== prevActiveRef.current) {
193
+ if (state.active) {
194
+ onActivate(state.active);
195
+ } else {
196
+ const root = rootRef.current;
197
+ if (root && isFocusedWithin(root) && document.activeElement) {
198
+ (document.activeElement as HTMLElement).blur();
199
+ }
200
+ }
201
+ }
202
+
203
+ prevActiveRef.current = state.active;
204
+ }, [onActivate, state.active]);
205
+
206
+ const prevEvaluatedDataRef = React.useRef<Matrix.Matrix<CellType>>(
207
+ state.model.evaluatedData
208
+ );
209
+ React.useEffect(() => {
210
+ if (state?.model?.evaluatedData !== prevEvaluatedDataRef?.current) {
211
+ onEvaluatedDataChange(state?.model?.evaluatedData);
212
+ }
213
+
214
+ prevEvaluatedDataRef.current = state.model.evaluatedData;
215
+ }, [state?.model?.evaluatedData, onEvaluatedDataChange]);
216
+
217
+ // Listen to selection changes
218
+ const prevSelectedRef = React.useRef<Selection>(state.selected);
219
+ React.useEffect(() => {
220
+ if (!state.selected.equals(prevSelectedRef.current)) {
221
+ // Call on select only if the selection change internal
222
+ if (!props.selected || !state.selected.equals(props.selected)) {
223
+ onSelect(state.selected);
224
+ }
225
+ }
226
+
227
+ prevSelectedRef.current = state.selected;
228
+ }, [state.selected, onSelect, props.selected]);
229
+
230
+ // Update selection when props.selected changes
231
+ const prevSelectedPropRef = React.useRef<Selection | undefined>(
232
+ props.selected
233
+ );
234
+ React.useEffect(() => {
235
+ if (
236
+ props.selected &&
237
+ prevSelectedPropRef.current &&
238
+ !props.selected.equals(prevSelectedPropRef.current)
239
+ ) {
240
+ setSelection(props.selected);
241
+ }
242
+ prevSelectedPropRef.current = props.selected;
243
+ }, [props.selected, setSelection]);
244
+
245
+ // Update data when props.data changes
246
+ const prevDataPropRef = React.useRef<Matrix.Matrix<CellType> | undefined>(
247
+ props.data
248
+ );
249
+ React.useEffect(() => {
250
+ if (props.data !== prevDataPropRef.current) {
251
+ setData(props.data);
252
+ }
253
+ prevDataPropRef.current = props.data;
254
+ }, [props.data, setData]);
255
+
256
+ // Update createFormulaParser when props.createFormulaParser changes
257
+ const prevCreateFormulaParserPropRef = React.useRef<
258
+ Types.CreateFormulaParser | undefined
259
+ >(props.createFormulaParser);
260
+ React.useEffect(() => {
261
+ if (
262
+ props.createFormulaParser !== prevCreateFormulaParserPropRef.current &&
263
+ props.createFormulaParser
264
+ )
265
+ setCreateFormulaParser(props.createFormulaParser);
266
+ prevCreateFormulaParserPropRef.current = props.createFormulaParser;
267
+ }, [props.createFormulaParser, setCreateFormulaParser]);
268
+
269
+ const writeDataToClipboard = React.useCallback(
270
+ (event: ClipboardEvent): void => {
271
+ const { model, selected } = state;
272
+ const { data } = model;
273
+ const range = selected.toRange(data);
274
+ if (range) {
275
+ const selectedData = Matrix.slice(range.start, range.end, data);
276
+ const csv = getCSV(selectedData);
277
+ writeTextToClipboard(event, csv);
278
+ }
279
+ },
280
+ [state]
281
+ );
282
+
283
+ const handleCut = React.useCallback(
284
+ (event: ClipboardEvent) => {
285
+ if (shouldHandleClipboardEvent(rootRef.current, mode)) {
286
+ event.preventDefault();
287
+ event.stopPropagation();
288
+ writeDataToClipboard(event);
289
+ cut();
290
+ }
291
+ },
292
+ [mode, writeDataToClipboard, cut]
293
+ );
294
+
295
+ const handleCopy = React.useCallback(
296
+ (event: ClipboardEvent) => {
297
+ if (shouldHandleClipboardEvent(rootRef.current, mode)) {
298
+ event.preventDefault();
299
+ event.stopPropagation();
300
+ writeDataToClipboard(event);
301
+ copy();
302
+ }
303
+ },
304
+ [mode, writeDataToClipboard, copy]
305
+ );
306
+
307
+ const handlePaste = React.useCallback(
308
+ (event: ClipboardEvent) => {
309
+ if (shouldHandleClipboardEvent(rootRef.current, mode)) {
310
+ event.preventDefault();
311
+ event.stopPropagation();
312
+ if (event.clipboardData) {
313
+ const text = readTextFromClipboard(event);
314
+ paste(text);
315
+ }
316
+ }
317
+ },
318
+ [mode, paste]
319
+ );
320
+
321
+ const handleKeyDown = React.useCallback(
322
+ (event: React.KeyboardEvent) => {
323
+ event.persist();
324
+ if (onKeyDown) {
325
+ onKeyDown(event);
326
+ }
327
+ // Do not use event in case preventDefault() was called inside onKeyDown
328
+ if (!event.defaultPrevented) {
329
+ // Only disable default behavior if an handler exist
330
+ if (hasKeyDownHandler(state, event)) {
331
+ event.nativeEvent.preventDefault();
332
+ }
333
+ onKeyDownAction(event);
334
+ }
335
+ },
336
+ [state, onKeyDown, onKeyDownAction]
337
+ );
338
+
339
+ const handleMouseUp = React.useCallback(() => {
340
+ onDragEnd();
341
+ document.removeEventListener("mouseup", handleMouseUp);
342
+ }, [onDragEnd]);
343
+
344
+ const handleMouseMove = React.useCallback(
345
+ (event: React.MouseEvent) => {
346
+ if (!state.dragging && event.buttons === 1) {
347
+ onDragStart();
348
+ document.addEventListener("mouseup", handleMouseUp);
349
+ }
350
+ },
351
+ [state, onDragStart, handleMouseUp]
352
+ );
353
+
354
+ const Cell = React.useMemo(() => {
355
+ // @ts-ignore
356
+ return enhanceCell(props.Cell || DefaultCell);
357
+ }, [props.Cell]);
358
+
359
+ const CornerIndicator = React.useMemo(
360
+ () =>
361
+ enhanceCornerIndicator(props.CornerIndicator || DefaultCornerIndicator),
362
+ [props.CornerIndicator]
363
+ );
364
+
365
+ const RowIndicator = React.useMemo(
366
+ () => enhanceRowIndicator(props.RowIndicator || DefaultRowIndicator),
367
+ [props.RowIndicator]
368
+ );
369
+
370
+ const ColumnIndicator = React.useMemo(
371
+ () =>
372
+ enhanceColumnIndicator(props.ColumnIndicator || DefaultColumnIndicator),
373
+ [props.ColumnIndicator]
374
+ );
375
+
376
+ React.useEffect(() => {
377
+ document.addEventListener("cut", handleCut);
378
+ document.addEventListener("copy", handleCopy);
379
+ document.addEventListener("paste", handlePaste);
380
+
381
+ return () => {
382
+ document.removeEventListener("cut", handleCut);
383
+ document.removeEventListener("copy", handleCopy);
384
+ document.removeEventListener("paste", handlePaste);
385
+ };
386
+ }, [handleCut, handleCopy, handlePaste]);
387
+
388
+ const tableNode = React.useMemo(
389
+ () => (
390
+ <Table columns={size.columns}>
391
+ <HeaderRow>
392
+ {<CornerIndicator />}
393
+ {
394
+ range(size.columns).map((columnNumber) =>
395
+ columnLabels ? (
396
+ <ColumnIndicator
397
+ key={columnNumber}
398
+ column={columnNumber}
399
+ label={
400
+ columnNumber in columnLabels
401
+ ? columnLabels[columnNumber]
402
+ : null
403
+ }
404
+ />
405
+ ) : (
406
+ <ColumnIndicator key={columnNumber} column={columnNumber} />
407
+ )
408
+ )}
409
+ </HeaderRow>
410
+ {range(size.rows).map((rowNumber) => (
411
+ <Row key={rowNumber} row={rowNumber}>
412
+ {
413
+ (rowLabels ? (
414
+ <RowIndicator
415
+ key={rowNumber}
416
+ row={rowNumber}
417
+ label={rowNumber in rowLabels ? rowLabels[rowNumber] : null}
418
+ />
419
+ ) : (
420
+ <RowIndicator key={rowNumber} row={rowNumber} />
421
+ ))}
422
+ {range(size.columns).map((columnNumber) => (
423
+ <Cell
424
+ key={columnNumber}
425
+ row={rowNumber}
426
+ column={columnNumber}
427
+ // @ts-ignore
428
+ DataViewer={DataViewer}
429
+ />
430
+ ))}
431
+ </Row>
432
+ ))}
433
+ </Table>
434
+ ),
435
+ [
436
+ Table,
437
+ size.rows,
438
+ size.columns,
439
+ Row,
440
+ HeaderRow,
441
+ CornerIndicator,
442
+ columnLabels,
443
+ ColumnIndicator,
444
+ rowLabels,
445
+ RowIndicator,
446
+ Cell,
447
+ DataViewer,
448
+ ]
449
+ );
450
+
451
+ const activeCellNode = React.useMemo(
452
+ () => (
453
+ <ActiveCell
454
+ // @ts-ignore
455
+ DataEditor={DataEditor}
456
+ />
457
+ ),
458
+ [DataEditor]
459
+ );
460
+
461
+ const rootNode = React.useMemo(
462
+ () => (
463
+ <div
464
+ ref={rootRef}
465
+ className={classNames("Spreadsheet", className, {
466
+ "Spreadsheet--dark-mode": darkMode,
467
+ })}
468
+ onKeyPress={onKeyPress}
469
+ onKeyDown={handleKeyDown}
470
+ onMouseMove={handleMouseMove}
471
+ >
472
+ {tableNode}
473
+ {activeCellNode}
474
+ <Selected />
475
+ <Copied />
476
+ </div>
477
+ ),
478
+ [
479
+ className,
480
+ darkMode,
481
+ onKeyPress,
482
+ handleKeyDown,
483
+ handleMouseMove,
484
+ tableNode,
485
+ activeCellNode,
486
+ ]
487
+ );
488
+
489
+ return (
490
+ <context.Provider value={reducerElements}>{rootNode}</context.Provider>
491
+ );
492
+ };
493
+
494
+ export default Spreadsheet;
@@ -0,0 +1,19 @@
1
+ import * as Types from "./types";
2
+ import { range } from "./util";
3
+
4
+ const Table: Types.TableComponent = ({
5
+ children,
6
+ columns,
7
+ hideColumnIndicators,
8
+ }) => {
9
+ const columnCount = columns + (hideColumnIndicators ? 0 : 1);
10
+ const columnNodes = range(columnCount).map((i) => <col key={i} />);
11
+ return (
12
+ <table className="Spreadsheet__table">
13
+ <colgroup>{columnNodes}</colgroup>
14
+ <tbody>{children}</tbody>
15
+ </table>
16
+ );
17
+ };
18
+
19
+ export default Table;