pixel-react 1.5.2 → 1.5.4

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