pixel-react 1.5.3 → 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 (787) 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 +68 -53
  16. package/lib/index.esm.js.map +1 -1
  17. package/lib/index.js +68 -52
  18. package/lib/index.js.map +1 -1
  19. package/lib/tsconfig.tsbuildinfo +1 -1
  20. package/package.json +81 -81
  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/approval_pending.svg +8 -8
  55. package/src/assets/icons/arrow_down.svg +3 -3
  56. package/src/assets/icons/arrow_right.svg +4 -4
  57. package/src/assets/icons/arrow_up.svg +3 -3
  58. package/src/assets/icons/arrows_down_icon.svg +3 -3
  59. package/src/assets/icons/arrows_right_icon.svg +10 -10
  60. package/src/assets/icons/arrows_top_icon.svg +3 -3
  61. package/src/assets/icons/attachment_icon.svg +3 -3
  62. package/src/assets/icons/authorization_icon.svg +3 -3
  63. package/src/assets/icons/automation_testcase.svg +4 -4
  64. package/src/assets/icons/back_icon.svg +3 -3
  65. package/src/assets/icons/backward_icon.svg +3 -3
  66. package/src/assets/icons/beautify_icon.svg +3 -3
  67. package/src/assets/icons/bold.svg +3 -3
  68. package/src/assets/icons/border_bottom.svg +3 -3
  69. package/src/assets/icons/border_left.svg +3 -3
  70. package/src/assets/icons/border_right.svg +3 -3
  71. package/src/assets/icons/border_top.svg +3 -3
  72. package/src/assets/icons/browser_stack.svg +9 -9
  73. package/src/assets/icons/browserstack_icon.svg +24 -24
  74. package/src/assets/icons/calendar_icon.svg +9 -9
  75. package/src/assets/icons/check_mark.svg +3 -3
  76. package/src/assets/icons/chrome.svg +12 -12
  77. package/src/assets/icons/client_profile.svg +4 -4
  78. package/src/assets/icons/clock_icon.svg +11 -11
  79. package/src/assets/icons/clone_icon.svg +3 -3
  80. package/src/assets/icons/close_pill.svg +3 -3
  81. package/src/assets/icons/cloud_server_host_icon.svg +3 -3
  82. package/src/assets/icons/collapse-icon.svg +6 -6
  83. package/src/assets/icons/compressed_file_type.svg +4 -4
  84. package/src/assets/icons/configuration.svg +3 -3
  85. package/src/assets/icons/continue_without_sign.svg +3 -3
  86. package/src/assets/icons/copy-icon.svg +3 -3
  87. package/src/assets/icons/csv_file_type.svg +4 -4
  88. package/src/assets/icons/dashboard_mobile_icon.svg +47 -47
  89. package/src/assets/icons/dashboard_web_icon.svg +9 -9
  90. package/src/assets/icons/data_provider.svg +8 -8
  91. package/src/assets/icons/dataset_list.svg +3 -3
  92. package/src/assets/icons/defects.svg +8 -8
  93. package/src/assets/icons/delete.svg +3 -3
  94. package/src/assets/icons/delete_info.svg +17 -17
  95. package/src/assets/icons/details.svg +3 -3
  96. package/src/assets/icons/double_underline.svg +5 -5
  97. package/src/assets/icons/download-icon.svg +3 -3
  98. package/src/assets/icons/download_file_icon.svg +10 -10
  99. package/src/assets/icons/download_icon.svg +4 -4
  100. package/src/assets/icons/drag_icon.svg +4 -4
  101. package/src/assets/icons/drawer_maximize.svg +6 -6
  102. package/src/assets/icons/dropzone_icon.svg +18 -18
  103. package/src/assets/icons/edge.svg +30 -30
  104. package/src/assets/icons/edit_icon.svg +5 -5
  105. package/src/assets/icons/element.svg +4 -4
  106. package/src/assets/icons/error.svg +17 -17
  107. package/src/assets/icons/excel_corner_menu.svg +3 -3
  108. package/src/assets/icons/expand-icon.svg +6 -6
  109. package/src/assets/icons/export_collection_icon.svg +13 -13
  110. package/src/assets/icons/eye_closed.svg +3 -3
  111. package/src/assets/icons/eye_open_icon.svg +3 -3
  112. package/src/assets/icons/failed_status_icon.svg +12 -12
  113. package/src/assets/icons/file.svg +11 -11
  114. package/src/assets/icons/fill_color.svg +7 -7
  115. package/src/assets/icons/filter.svg +4 -4
  116. package/src/assets/icons/fire_fox.svg +106 -106
  117. package/src/assets/icons/fireflink_finder_logo.svg +7 -7
  118. package/src/assets/icons/fireflink_icon.svg +4 -4
  119. package/src/assets/icons/fireflink_logo.svg +13 -13
  120. package/src/assets/icons/fireflink_platform.svg +4 -4
  121. package/src/assets/icons/firefox.svg +84 -84
  122. package/src/assets/icons/flaky_status_icon.svg +12 -12
  123. package/src/assets/icons/formate_painter.svg +5 -5
  124. package/src/assets/icons/formula_icon.svg +3 -3
  125. package/src/assets/icons/forward_icon.svg +3 -3
  126. package/src/assets/icons/full_access_icon.svg +4 -4
  127. package/src/assets/icons/gif_file_type.svg +4 -4
  128. package/src/assets/icons/global_variable_icon.svg +4 -4
  129. package/src/assets/icons/hamburger_menu.svg +3 -3
  130. package/src/assets/icons/hide_access_icon.svg +3 -3
  131. package/src/assets/icons/hide_icon.svg +9 -9
  132. package/src/assets/icons/history_icon.svg +19 -19
  133. package/src/assets/icons/html_file_type.svg +4 -4
  134. package/src/assets/icons/impactList.svg +6 -6
  135. package/src/assets/icons/info.svg +17 -17
  136. package/src/assets/icons/info_icon.svg +17 -4
  137. package/src/assets/icons/internet_explorer.svg +3 -3
  138. package/src/assets/icons/ipk_file_type.svg +4 -4
  139. package/src/assets/icons/italic.svg +3 -3
  140. package/src/assets/icons/jira.svg +3 -3
  141. package/src/assets/icons/jpg_file_type.svg +4 -4
  142. package/src/assets/icons/json_file_type.svg +4 -4
  143. package/src/assets/icons/label_icon.svg +8 -8
  144. package/src/assets/icons/label_plus.svg +3 -3
  145. package/src/assets/icons/lambda_icon.svg +3 -3
  146. package/src/assets/icons/left_arrow_icon.svg +3 -3
  147. package/src/assets/icons/license_expired.svg +20 -20
  148. package/src/assets/icons/license_info.svg +28 -28
  149. package/src/assets/icons/license_warning.svg +10 -10
  150. package/src/assets/icons/link_expired.svg +186 -186
  151. package/src/assets/icons/linked_defects.svg +11 -11
  152. package/src/assets/icons/linux.svg +42 -42
  153. package/src/assets/icons/local.svg +3 -3
  154. package/src/assets/icons/local_variable_icon.svg +4 -4
  155. package/src/assets/icons/logo.svg +17 -17
  156. package/src/assets/icons/mac.svg +9 -9
  157. package/src/assets/icons/manage_apps.svg +3 -3
  158. package/src/assets/icons/manual_locator.svg +7 -7
  159. package/src/assets/icons/manual_testcase.svg +3 -3
  160. package/src/assets/icons/maximize_icon.svg +5 -5
  161. package/src/assets/icons/maximize_script.svg +12 -12
  162. package/src/assets/icons/maximize_tree.svg +3 -3
  163. package/src/assets/icons/minimize_script.svg +5 -5
  164. package/src/assets/icons/mobile_icon.svg +3 -3
  165. package/src/assets/icons/moon_stars.svg +10 -10
  166. package/src/assets/icons/more.svg +10 -10
  167. package/src/assets/icons/move_icon.svg +5 -5
  168. package/src/assets/icons/ms_dynamic.svg +4 -4
  169. package/src/assets/icons/ms_dynamic_icon.svg +15 -15
  170. package/src/assets/icons/nlp_help_icon.svg +3 -3
  171. package/src/assets/icons/no_access_icon.svg +4 -4
  172. package/src/assets/icons/no_border.svg +3 -3
  173. package/src/assets/icons/no_data.svg +13 -0
  174. package/src/assets/icons/no_license_found.svg +22 -22
  175. package/src/assets/icons/notification_icon.svg +3 -3
  176. package/src/assets/icons/opera.svg +9 -9
  177. package/src/assets/icons/passed_status_icon.svg +12 -12
  178. package/src/assets/icons/pdf_file_type.svg +4 -4
  179. package/src/assets/icons/plus_icon.svg +11 -11
  180. package/src/assets/icons/plus_user_icon.svg +3 -3
  181. package/src/assets/icons/png_file_type.svg +4 -4
  182. package/src/assets/icons/project_element.svg +4 -4
  183. package/src/assets/icons/project_env_variable_icon.svg +4 -4
  184. package/src/assets/icons/quick_run_setting_icon.svg +5 -5
  185. package/src/assets/icons/refresh-icon.svg +4 -4
  186. package/src/assets/icons/reload.svg +3 -3
  187. package/src/assets/icons/remove.svg +11 -11
  188. package/src/assets/icons/remove_user.svg +3 -0
  189. package/src/assets/icons/replace.svg +11 -11
  190. package/src/assets/icons/replace_icon.svg +6 -6
  191. package/src/assets/icons/reset-link.svg +52 -52
  192. package/src/assets/icons/right_arrow_icon.svg +4 -4
  193. package/src/assets/icons/run_automation_scripts_icon.svg +33 -33
  194. package/src/assets/icons/run_icon.svg +26 -26
  195. package/src/assets/icons/run_manual_testcase_icon.svg +4 -4
  196. package/src/assets/icons/safari.svg +93 -93
  197. package/src/assets/icons/safari_icon.svg +12 -12
  198. package/src/assets/icons/sales_force.svg +7 -7
  199. package/src/assets/icons/salesforce_icon.svg +14 -14
  200. package/src/assets/icons/sample_template_first.svg +29 -29
  201. package/src/assets/icons/sample_template_second.svg +47 -47
  202. package/src/assets/icons/sause_lab.svg +3 -3
  203. package/src/assets/icons/save_as_step.svg +3 -3
  204. package/src/assets/icons/search.svg +3 -3
  205. package/src/assets/icons/send_step.svg +4 -4
  206. package/src/assets/icons/skipped_status_icon.svg +12 -12
  207. package/src/assets/icons/standard_template.svg +30 -30
  208. package/src/assets/icons/step_group.svg +10 -10
  209. package/src/assets/icons/strike_through.svg +3 -3
  210. package/src/assets/icons/success.svg +17 -17
  211. package/src/assets/icons/sun_icon.svg +10 -10
  212. package/src/assets/icons/switch_license_icon.svg +123 -123
  213. package/src/assets/icons/system_warning.svg +61 -61
  214. package/src/assets/icons/text_align_center.svg +3 -3
  215. package/src/assets/icons/text_align_left.svg +3 -3
  216. package/src/assets/icons/text_align_right.svg +3 -3
  217. package/src/assets/icons/text_color.svg +3 -3
  218. package/src/assets/icons/tick_icon.svg +4 -4
  219. package/src/assets/icons/toast_close.svg +3 -3
  220. package/src/assets/icons/txt_file_type.svg +4 -4
  221. package/src/assets/icons/underline.svg +4 -4
  222. package/src/assets/icons/update_icon.svg +3 -3
  223. package/src/assets/icons/user_password_lock.svg +220 -220
  224. package/src/assets/icons/user_profile.svg +3 -3
  225. package/src/assets/icons/user_warning.svg +235 -235
  226. package/src/assets/icons/user_with_system.svg +637 -637
  227. package/src/assets/icons/variable.svg +3 -3
  228. package/src/assets/icons/variable_icon.svg +4 -4
  229. package/src/assets/icons/vertical_separator.svg +3 -3
  230. package/src/assets/icons/view_access_icon.svg +4 -4
  231. package/src/assets/icons/view_icon.svg +3 -3
  232. package/src/assets/icons/warning.svg +17 -17
  233. package/src/assets/icons/warning_status_icon.svg +12 -12
  234. package/src/assets/icons/web&mobile_icon.svg +3 -3
  235. package/src/assets/icons/web_icon.svg +3 -3
  236. package/src/assets/icons/web_mobile_icon.svg +29 -29
  237. package/src/assets/icons/web_services_icon.svg +30 -30
  238. package/src/assets/icons/window_maximize.svg +4 -4
  239. package/src/assets/icons/window_minimize.svg +3 -3
  240. package/src/assets/icons/windows.svg +10 -10
  241. package/src/assets/icons/wrong_mark.svg +3 -3
  242. package/src/assets/icons/wswb_delete_icon.svg +3 -3
  243. package/src/assets/icons/wswb_plus_icon.svg +4 -4
  244. package/src/assets/icons/xls_file_type.svg +4 -4
  245. package/src/assets/icons/xlsx_file_type.svg +4 -4
  246. package/src/assets/icons/xml_file_type.svg +4 -4
  247. package/src/assets/styles/_colors.scss +150 -150
  248. package/src/assets/styles/_fonts.scss +42 -42
  249. package/src/assets/styles/_mixins.scss +21 -21
  250. package/src/assets/utils/functionUtils.ts +42 -42
  251. package/src/components/Accordion/Accordion.scss +44 -44
  252. package/src/components/Accordion/Accordion.stories.tsx +31 -31
  253. package/src/components/Accordion/Accordion.tsx +62 -62
  254. package/src/components/Accordion/index.ts +1 -1
  255. package/src/components/Accordion/types.ts +28 -28
  256. package/src/components/AddResourceButton/AddButton.scss +36 -36
  257. package/src/components/AddResourceButton/AddButton.stories.tsx +126 -126
  258. package/src/components/AddResourceButton/AddButton.tsx +121 -121
  259. package/src/components/AddResourceButton/ArrowsButton/ArrowsButton.scss +161 -161
  260. package/src/components/AddResourceButton/ArrowsButton/ArrowsButton.tsx +38 -38
  261. package/src/components/AddResourceButton/index.ts +1 -1
  262. package/src/components/AddResourceButton/type.ts +92 -92
  263. package/src/components/AllProjectsDropdown/AllProjectsDropdown.scss +189 -189
  264. package/src/components/AllProjectsDropdown/AllProjectsDropdown.stories.tsx +117 -117
  265. package/src/components/AllProjectsDropdown/AllProjectsDropdown.tsx +152 -152
  266. package/src/components/AllProjectsDropdown/types.ts +12 -12
  267. package/src/components/AppHeader/AppHeader.scss +176 -176
  268. package/src/components/AppHeader/AppHeader.stories.tsx +222 -222
  269. package/src/components/AppHeader/AppHeader.tsx +179 -179
  270. package/src/components/AppHeader/index.ts +1 -1
  271. package/src/components/AppHeader/types.ts +40 -40
  272. package/src/components/AttachImage/AttachImage.scss +76 -73
  273. package/src/components/AttachImage/AttachImage.stories.tsx +22 -22
  274. package/src/components/AttachImage/AttachImage.tsx +64 -64
  275. package/src/components/AttachImage/index.ts +2 -2
  276. package/src/components/AttachImage/types.ts +18 -18
  277. package/src/components/AttachmentButton/AttachmentButton.scss +9 -9
  278. package/src/components/AttachmentButton/AttachmentButton.stories.tsx +81 -81
  279. package/src/components/AttachmentButton/AttachmentButton.tsx +129 -129
  280. package/src/components/AttachmentButton/types.ts +13 -13
  281. package/src/components/Avatar/Avatar.scss +23 -23
  282. package/src/components/Avatar/Avatar.stories.tsx +55 -55
  283. package/src/components/Avatar/Avatar.tsx +25 -25
  284. package/src/components/Avatar/types.ts +27 -27
  285. package/src/components/Button/Button.scss +155 -155
  286. package/src/components/Button/Button.stories.tsx +81 -81
  287. package/src/components/Button/Button.tsx +73 -73
  288. package/src/components/Button/index.ts +1 -1
  289. package/src/components/Button/types.ts +69 -69
  290. package/src/components/Charts/BarChart/BarChart.scss +66 -66
  291. package/src/components/Charts/BarChart/BarChart.stories.tsx +66 -66
  292. package/src/components/Charts/BarChart/BarChart.tsx +304 -304
  293. package/src/components/Charts/BarChart/types.ts +12 -12
  294. package/src/components/Charts/DashboardDonutChart/DashboardDonutChart.scss +150 -150
  295. package/src/components/Charts/DashboardDonutChart/DashboardDonutChart.stories.tsx +55 -55
  296. package/src/components/Charts/DashboardDonutChart/DashboardDonutChart.tsx +339 -339
  297. package/src/components/Charts/DashboardDonutChart/types.ts +39 -39
  298. package/src/components/Charts/DonutChart/DonutChart.scss +76 -76
  299. package/src/components/Charts/DonutChart/DonutChart.stories.tsx +30 -30
  300. package/src/components/Charts/DonutChart/DonutChart.tsx +241 -241
  301. package/src/components/Charts/DonutChart/index.ts +1 -1
  302. package/src/components/Charts/DonutChart/type.ts +23 -23
  303. package/src/components/Charts/IconRadialChart/IconRadialChart.scss +25 -25
  304. package/src/components/Charts/IconRadialChart/IconRadialChart.stories.tsx +51 -51
  305. package/src/components/Charts/IconRadialChart/IconRadialChart.tsx +170 -170
  306. package/src/components/Charts/IconRadialChart/types.ts +28 -28
  307. package/src/components/Charts/LineChart/LineChart.scss +78 -78
  308. package/src/components/Charts/LineChart/LineChart.stories.tsx +138 -138
  309. package/src/components/Charts/LineChart/LineChart.tsx +267 -267
  310. package/src/components/Charts/LineChart/index.ts +1 -1
  311. package/src/components/Charts/LineChart/types.ts +26 -26
  312. package/src/components/Charts/MultiRadialChart/MultiRadialChart.scss +65 -65
  313. package/src/components/Charts/MultiRadialChart/MultiRadialChart.stories.tsx +116 -116
  314. package/src/components/Charts/MultiRadialChart/MultiRadialChart.tsx +207 -207
  315. package/src/components/Charts/MultiRadialChart/index.ts +1 -1
  316. package/src/components/Charts/MultiRadialChart/types.ts +25 -25
  317. package/src/components/Charts/PieChart/PieChart.scss +39 -39
  318. package/src/components/Charts/PieChart/PieChart.stories.tsx +46 -46
  319. package/src/components/Charts/PieChart/PieChart.tsx +193 -193
  320. package/src/components/Charts/PieChart/index.ts +1 -1
  321. package/src/components/Charts/PieChart/types.ts +28 -28
  322. package/src/components/Charts/RadialChart/RadialChart.scss +12 -12
  323. package/src/components/Charts/RadialChart/RadialChart.stories.tsx +36 -36
  324. package/src/components/Charts/RadialChart/RadialChart.tsx +174 -174
  325. package/src/components/Charts/RadialChart/index.ts +1 -1
  326. package/src/components/Charts/RadialChart/types.ts +32 -32
  327. package/src/components/Checkbox/Checkbox.scss +89 -89
  328. package/src/components/Checkbox/Checkbox.stories.tsx +47 -47
  329. package/src/components/Checkbox/Checkbox.tsx +61 -61
  330. package/src/components/Checkbox/types.ts +30 -30
  331. package/src/components/Chip/Chip.scss +85 -71
  332. package/src/components/Chip/Chip.stories.tsx +117 -88
  333. package/src/components/Chip/Chip.tsx +35 -35
  334. package/src/components/Chip/index.ts +1 -1
  335. package/src/components/Chip/types.ts +19 -19
  336. package/src/components/ConnectingBranch/BranchComponents/MachineInstances.tsx +128 -128
  337. package/src/components/ConnectingBranch/ConnectingBranch.scss +233 -233
  338. package/src/components/ConnectingBranch/ConnectingBranch.stories.tsx +21 -21
  339. package/src/components/ConnectingBranch/ConnectingBranch.tsx +182 -182
  340. package/src/components/ConnectingBranch/data.ts +137 -137
  341. package/src/components/ConnectingBranch/index.ts +1 -1
  342. package/src/components/ConnectingBranch/types.ts +21 -21
  343. package/src/components/DatePicker/DatePicker.scss +387 -387
  344. package/src/components/DatePicker/DatePicker.stories.tsx +161 -161
  345. package/src/components/DatePicker/DatePicker.tsx +438 -438
  346. package/src/components/DatePicker/Timepicker.tsx +372 -372
  347. package/src/components/DatePicker/types.ts +100 -100
  348. package/src/components/DownloadClient/DownloadClient.scss +80 -0
  349. package/src/components/DownloadClient/DownloadClient.stories.tsx +26 -0
  350. package/src/components/DownloadClient/DownloadClient.tsx +81 -0
  351. package/src/components/DownloadClient/index.ts +1 -0
  352. package/src/components/DownloadClient/type.ts +41 -0
  353. package/src/components/DragAndDrop/DragAndDrop.d.ts +5 -5
  354. package/src/components/DragAndDrop/DragAndDrop.stories.tsx +25 -25
  355. package/src/components/DragAndDrop/DragAndDrop.ts +7 -7
  356. package/src/components/DragAndDrop/DragAndDropList.scss +69 -69
  357. package/src/components/DragAndDrop/DragAndDropList.tsx +150 -150
  358. package/src/components/Drawer/Drawer.scss +138 -138
  359. package/src/components/Drawer/Drawer.stories.tsx +156 -156
  360. package/src/components/Drawer/Drawer.tsx +229 -229
  361. package/src/components/Drawer/Types.ts +144 -144
  362. package/src/components/EditTextField/EditTextField.scss +97 -97
  363. package/src/components/EditTextField/EditTextField.stories.tsx +127 -127
  364. package/src/components/EditTextField/EditTextField.tsx +181 -181
  365. package/src/components/EditTextField/index.ts +1 -1
  366. package/src/components/EditTextField/types.ts +55 -55
  367. package/src/components/Editor/Editor.scss +56 -56
  368. package/src/components/Editor/Editor.stories.tsx +54 -39
  369. package/src/components/Editor/Editor.tsx +248 -248
  370. package/src/components/Editor/VariableDropdown.scss +21 -20
  371. package/src/components/Editor/VariableDropdown.tsx +49 -49
  372. package/src/components/Editor/constants.ts +180 -180
  373. package/src/components/Editor/types.ts +79 -80
  374. package/src/components/Excel/ColorBarSelector/ColorBarSelector.scss +11 -11
  375. package/src/components/Excel/ColorBarSelector/ColorBarSelector.tsx +43 -43
  376. package/src/components/Excel/ExcelContextMenu/ExcelContextMenu.scss +39 -39
  377. package/src/components/Excel/ExcelContextMenu/ExcelContextMenu.tsx +51 -51
  378. package/src/components/Excel/ExcelFile/ExcelFile.scss +62 -62
  379. package/src/components/Excel/ExcelFile/ExcelFile.tsx +312 -312
  380. package/src/components/Excel/ExcelFile/ExcelFileComponents/ActiveCell.tsx +131 -131
  381. package/src/components/Excel/ExcelFile/ExcelFileComponents/Cell.tsx +237 -237
  382. package/src/components/Excel/ExcelFile/ExcelFileComponents/ColumnIndicator.tsx +168 -168
  383. package/src/components/Excel/ExcelFile/ExcelFileComponents/Copied.tsx +25 -25
  384. package/src/components/Excel/ExcelFile/ExcelFileComponents/CornerIndicator.tsx +56 -56
  385. package/src/components/Excel/ExcelFile/ExcelFileComponents/DataEditor.tsx +37 -37
  386. package/src/components/Excel/ExcelFile/ExcelFileComponents/DataViewer.tsx +46 -46
  387. package/src/components/Excel/ExcelFile/ExcelFileComponents/FloatingRect.tsx +31 -31
  388. package/src/components/Excel/ExcelFile/ExcelFileComponents/HeaderRow.tsx +5 -5
  389. package/src/components/Excel/ExcelFile/ExcelFileComponents/Row.tsx +5 -5
  390. package/src/components/Excel/ExcelFile/ExcelFileComponents/RowIndicator.tsx +148 -148
  391. package/src/components/Excel/ExcelFile/ExcelFileComponents/Selected.tsx +32 -32
  392. package/src/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.scss +165 -165
  393. package/src/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.tsx +516 -516
  394. package/src/components/Excel/ExcelFile/ExcelFileComponents/Table.tsx +19 -19
  395. package/src/components/Excel/ExcelFile/ExcelFileComponents/actions.ts +519 -519
  396. package/src/components/Excel/ExcelFile/ExcelFileComponents/areModelsEqual.ts +18 -18
  397. package/src/components/Excel/ExcelFile/ExcelFileComponents/context.ts +12 -12
  398. package/src/components/Excel/ExcelFile/ExcelFileComponents/engine/engine.ts +153 -153
  399. package/src/components/Excel/ExcelFile/ExcelFileComponents/engine/formula.ts +31 -31
  400. package/src/components/Excel/ExcelFile/ExcelFileComponents/engine/index.ts +2 -2
  401. package/src/components/Excel/ExcelFile/ExcelFileComponents/engine/point-graph.ts +152 -152
  402. package/src/components/Excel/ExcelFile/ExcelFileComponents/engine/point-hash.ts +10 -10
  403. package/src/components/Excel/ExcelFile/ExcelFileComponents/engine/point-set.ts +69 -69
  404. package/src/components/Excel/ExcelFile/ExcelFileComponents/index.ts +49 -49
  405. package/src/components/Excel/ExcelFile/ExcelFileComponents/matrix.ts +382 -382
  406. package/src/components/Excel/ExcelFile/ExcelFileComponents/point-range.ts +82 -82
  407. package/src/components/Excel/ExcelFile/ExcelFileComponents/point.ts +15 -15
  408. package/src/components/Excel/ExcelFile/ExcelFileComponents/reducer.ts +599 -599
  409. package/src/components/Excel/ExcelFile/ExcelFileComponents/reducerFunctions.ts +755 -755
  410. package/src/components/Excel/ExcelFile/ExcelFileComponents/selection.ts +257 -257
  411. package/src/components/Excel/ExcelFile/ExcelFileComponents/types.ts +253 -253
  412. package/src/components/Excel/ExcelFile/ExcelFileComponents/typings/fast-formula-parser.d.ts +58 -58
  413. package/src/components/Excel/ExcelFile/ExcelFileComponents/use-dispatch.ts +8 -8
  414. package/src/components/Excel/ExcelFile/ExcelFileComponents/use-selector.ts +9 -9
  415. package/src/components/Excel/ExcelFile/ExcelFileComponents/util.ts +172 -172
  416. package/src/components/Excel/ExcelFile.stories.tsx +158 -158
  417. package/src/components/Excel/ExcelToolBar/ExcelToolBar.scss +36 -36
  418. package/src/components/Excel/ExcelToolBar/ExcelToolBar.tsx +342 -342
  419. package/src/components/Excel/Types.ts +174 -174
  420. package/src/components/Excel/index.ts +1 -1
  421. package/src/components/ExpandableMenu/ExpandableMenu.scss +110 -110
  422. package/src/components/ExpandableMenu/ExpandableMenu.stories.tsx +67 -67
  423. package/src/components/ExpandableMenu/ExpandableMenu.tsx +101 -101
  424. package/src/components/ExpandableMenu/index.ts +1 -1
  425. package/src/components/ExpandableMenu/types.ts +34 -34
  426. package/src/components/FF_Captcha/Recaptcha.scss +10 -10
  427. package/src/components/FF_Captcha/Recaptcha.tsx +40 -40
  428. package/src/components/FF_Captcha/captcha.stories.tsx +40 -40
  429. package/src/components/FF_Captcha/types.ts +22 -22
  430. package/src/components/FileDropzone/Dropzone.tsx +55 -55
  431. package/src/components/FileDropzone/FileDropzone.scss +137 -136
  432. package/src/components/FileDropzone/FileDropzone.stories.tsx +83 -83
  433. package/src/components/FileDropzone/FileDropzone.tsx +98 -98
  434. package/src/components/FileDropzone/FilePreview.tsx +77 -77
  435. package/src/components/FileDropzone/index.ts +1 -1
  436. package/src/components/FileDropzone/types.ts +113 -113
  437. package/src/components/Form/Form.d.ts +2 -2
  438. package/src/components/Form/Form.scss +158 -158
  439. package/src/components/Form/Form.stories.tsx +508 -508
  440. package/src/components/Form/Form.ts +2 -2
  441. package/src/components/Form/Forms.tsx +41 -41
  442. package/src/components/Form/validation.json +29 -29
  443. package/src/components/GridLayout/GridLayout.scss +69 -69
  444. package/src/components/GridLayout/GridLayout.stories.tsx +90 -90
  445. package/src/components/GridLayout/GridLayout.tsx +39 -39
  446. package/src/components/GridLayout/GridLayoutStory.scss +25 -25
  447. package/src/components/GridLayout/types.ts +84 -84
  448. package/src/components/HighlightText/HighlightText.scss +3 -3
  449. package/src/components/HighlightText/HighlightText.stories.tsx +22 -22
  450. package/src/components/HighlightText/HighlightText.tsx +33 -33
  451. package/src/components/HighlightText/index.ts +1 -1
  452. package/src/components/HighlightText/types.ts +4 -4
  453. package/src/components/Icon/Icon.stories.tsx +64 -64
  454. package/src/components/Icon/Icon.tsx +88 -88
  455. package/src/components/Icon/Icons.scss +50 -50
  456. package/src/components/Icon/iconList.ts +438 -428
  457. package/src/components/Icon/index.ts +1 -1
  458. package/src/components/Icon/types.ts +14 -14
  459. package/src/components/IconButton/IconButton.scss +54 -54
  460. package/src/components/IconButton/IconButton.stories.tsx +33 -33
  461. package/src/components/IconButton/IconButton.tsx +35 -35
  462. package/src/components/IconButton/index.ts +1 -1
  463. package/src/components/IconButton/types.ts +5 -5
  464. package/src/components/IconRadioGroup/IconRadioGroup.scss +63 -63
  465. package/src/components/IconRadioGroup/IconRadioGroup.stories.tsx +108 -108
  466. package/src/components/IconRadioGroup/IconRadioGroup.tsx +73 -75
  467. package/src/components/IconRadioGroup/index.ts +1 -1
  468. package/src/components/IconRadioGroup/type.ts +49 -49
  469. package/src/components/Input/Input.scss +159 -159
  470. package/src/components/Input/Input.stories.tsx +141 -141
  471. package/src/components/Input/Input.tsx +103 -103
  472. package/src/components/Input/types.ts +85 -85
  473. package/src/components/InputWithDropdown/InputWithDropdown.scss +213 -213
  474. package/src/components/InputWithDropdown/InputWithDropdown.stories.tsx +169 -169
  475. package/src/components/InputWithDropdown/InputWithDropdown.tsx +122 -122
  476. package/src/components/InputWithDropdown/index.ts +1 -1
  477. package/src/components/InputWithDropdown/types.ts +113 -113
  478. package/src/components/LabelEditTextField/LabelEditTextField.scss +85 -85
  479. package/src/components/LabelEditTextField/LabelEditTextField.stories.tsx +196 -196
  480. package/src/components/LabelEditTextField/LabelEditTextField.tsx +215 -215
  481. package/src/components/LabelEditTextField/index.ts +1 -1
  482. package/src/components/LabelEditTextField/types.ts +41 -41
  483. package/src/components/LazyLoad/LazyLoad.d.ts +3 -3
  484. package/src/components/LazyLoad/LazyLoad.stories.tsx +33 -33
  485. package/src/components/LazyLoad/LazyLoad.ts +2 -2
  486. package/src/components/LazyLoad/LazyLoading.tsx +19 -19
  487. package/src/components/LazyLoad/index.ts +1 -1
  488. package/src/components/MachineInputField/MachineInputField.scss +46 -46
  489. package/src/components/MachineInputField/MachineInputField.stories.tsx +32 -32
  490. package/src/components/MachineInputField/MachineInputField.tsx +73 -73
  491. package/src/components/MachineInputField/index.ts +1 -1
  492. package/src/components/MachineInputField/types.ts +13 -13
  493. package/src/components/MenuOption/MenuOption.scss +97 -97
  494. package/src/components/MenuOption/MenuOption.stories.tsx +157 -157
  495. package/src/components/MenuOption/MenuOption.tsx +219 -219
  496. package/src/components/MenuOption/types.ts +228 -228
  497. package/src/components/MiniModal/MiniModal.scss +170 -170
  498. package/src/components/MiniModal/MiniModal.stories.tsx +707 -707
  499. package/src/components/MiniModal/MiniModal.tsx +290 -290
  500. package/src/components/MiniModal/index.ts +1 -1
  501. package/src/components/MiniModal/types.ts +107 -107
  502. package/src/components/Modal/Modal.stories.tsx +69 -69
  503. package/src/components/Modal/Modal.tsx +100 -100
  504. package/src/components/Modal/index.tsx +1 -1
  505. package/src/components/Modal/modal.scss +51 -51
  506. package/src/components/Modal/types.ts +43 -43
  507. package/src/components/ModulesChip/ModuleChip.scss +20 -20
  508. package/src/components/ModulesChip/ModuleChip.stories.tsx +41 -41
  509. package/src/components/ModulesChip/ModuleChip.tsx +31 -31
  510. package/src/components/ModulesChip/types.ts +14 -14
  511. package/src/components/MultiSelect/Dropdown.scss +78 -78
  512. package/src/components/MultiSelect/Dropdown.tsx +131 -131
  513. package/src/components/MultiSelect/MultiSelect.scss +226 -226
  514. package/src/components/MultiSelect/MultiSelect.stories.tsx +268 -268
  515. package/src/components/MultiSelect/MultiSelect.tsx +485 -485
  516. package/src/components/MultiSelect/MultiSelectTypes.ts +45 -45
  517. package/src/components/MultiSelect/dropdownTypes.ts +19 -19
  518. package/src/components/MultiSelect/index.ts +1 -1
  519. package/src/components/NLPInput/NLPInput.scss +246 -246
  520. package/src/components/NLPInput/NlpInput.stories.tsx +136 -136
  521. package/src/components/NLPInput/NlpInput.tsx +374 -374
  522. package/src/components/NLPInput/components/NlpDropDown/NlpDropDownType.ts +60 -60
  523. package/src/components/NLPInput/components/NlpDropDown/NlpDropdown.scss +83 -83
  524. package/src/components/NLPInput/components/NlpDropDown/NlpDropdown.tsx +180 -180
  525. package/src/components/NLPInput/index.ts +1 -1
  526. package/src/components/NLPInput/type.tsx +124 -124
  527. package/src/components/Paper/Paper.scss +13 -13
  528. package/src/components/Paper/Paper.stories.tsx +77 -77
  529. package/src/components/Paper/Paper.tsx +14 -14
  530. package/src/components/Paper/types.ts +19 -19
  531. package/src/components/RadioButton/RadioButton.scss +106 -106
  532. package/src/components/RadioButton/RadioButton.stories.tsx +43 -43
  533. package/src/components/RadioButton/RadioButton.tsx +41 -41
  534. package/src/components/RadioButton/index.ts +1 -1
  535. package/src/components/RadioButton/radioButtonTypes.tsx +62 -62
  536. package/src/components/RadioGroup/RadioGroup.scss +5 -5
  537. package/src/components/RadioGroup/RadioGroup.stories.tsx +124 -124
  538. package/src/components/RadioGroup/RadioGroup.tsx +33 -33
  539. package/src/components/RadioGroup/index.ts +1 -1
  540. package/src/components/RadioGroup/radioGroupTypes.tsx +72 -72
  541. package/src/components/Search/Search.scss +103 -103
  542. package/src/components/Search/Search.stories.tsx +26 -26
  543. package/src/components/Search/Search.tsx +127 -127
  544. package/src/components/Search/index.ts +1 -1
  545. package/src/components/Search/types.ts +15 -15
  546. package/src/components/Select/Select.scss +183 -183
  547. package/src/components/Select/Select.stories.tsx +306 -306
  548. package/src/components/Select/Select.tsx +252 -252
  549. package/src/components/Select/components/Dropdown.scss +52 -52
  550. package/src/components/Select/components/Dropdown.tsx +126 -126
  551. package/src/components/Select/components/types.ts +23 -23
  552. package/src/components/Select/index.ts +1 -1
  553. package/src/components/Select/types.ts +124 -124
  554. package/src/components/SequentialConnectingBranch/SequentialConnectingBranch.scss +119 -119
  555. package/src/components/SequentialConnectingBranch/SequentialConnectingBranch.stories.tsx +56 -56
  556. package/src/components/SequentialConnectingBranch/SequentialConnectingBranch.tsx +136 -136
  557. package/src/components/SequentialConnectingBranch/components/AddBrowserModal/AddBrowserModal.scss +51 -51
  558. package/src/components/SequentialConnectingBranch/components/AddBrowserModal/AddBrowserModal.tsx +107 -107
  559. package/src/components/SequentialConnectingBranch/components/AddBrowserModal/types.ts +5 -5
  560. package/src/components/SequentialConnectingBranch/components/Branches/Branches.scss +184 -184
  561. package/src/components/SequentialConnectingBranch/components/Branches/Branches.tsx +205 -205
  562. package/src/components/SequentialConnectingBranch/components/Branches/types.ts +18 -18
  563. package/src/components/SequentialConnectingBranch/components/ConnectingBranches/ConnectingBranches.scss +3 -3
  564. package/src/components/SequentialConnectingBranch/components/ConnectingBranches/ConnectingBranches.tsx +66 -66
  565. package/src/components/SequentialConnectingBranch/components/ConnectingBranches/types.ts +10 -10
  566. package/src/components/SequentialConnectingBranch/components/DatasetListModal/DatasetListModal.scss +31 -31
  567. package/src/components/SequentialConnectingBranch/components/DatasetListModal/DatasetListModal.tsx +85 -85
  568. package/src/components/SequentialConnectingBranch/components/DatasetListModal/types.ts +4 -4
  569. package/src/components/SequentialConnectingBranch/index.ts +1 -1
  570. package/src/components/SequentialConnectingBranch/types.ts +45 -45
  571. package/src/components/StateDropdown/StateDropdown.stories.tsx +99 -99
  572. package/src/components/StateDropdown/StateDropdown.tsx +230 -230
  573. package/src/components/StateDropdown/StateDropdownTypes.tsx +21 -21
  574. package/src/components/StatusButton/StatusButton.scss +90 -90
  575. package/src/components/StatusButton/StatusButton.stories.tsx +91 -91
  576. package/src/components/StatusButton/StatusButton.tsx +46 -46
  577. package/src/components/StatusButton/index.ts +1 -1
  578. package/src/components/StatusButton/types.ts +45 -45
  579. package/src/components/StatusCard/StatusCard.scss +94 -94
  580. package/src/components/StatusCard/StatusCard.stories.tsx +58 -58
  581. package/src/components/StatusCard/StatusCard.tsx +49 -49
  582. package/src/components/StatusCard/index.ts +1 -1
  583. package/src/components/StatusCard/types.ts +10 -10
  584. package/src/components/Table/Table.scss +116 -116
  585. package/src/components/Table/Table.stories.tsx +373 -373
  586. package/src/components/Table/Table.tsx +178 -178
  587. package/src/components/Table/Types.ts +124 -124
  588. package/src/components/Table/index.ts +1 -1
  589. package/src/components/TableTree/TableTree.scss +169 -173
  590. package/src/components/TableTree/TableTree.stories.tsx +127 -127
  591. package/src/components/TableTree/TableTree.tsx +305 -294
  592. package/src/components/TableTree/TableTreeStories.scss +22 -22
  593. package/src/components/TableTree/data.ts +573 -573
  594. package/src/components/TableTree/index.ts +1 -1
  595. package/src/components/Tabs/Tabs.scss +79 -79
  596. package/src/components/Tabs/Tabs.stories.tsx +133 -133
  597. package/src/components/Tabs/Tabs.tsx +61 -61
  598. package/src/components/Tabs/index.ts +1 -1
  599. package/src/components/Tabs/types.ts +48 -48
  600. package/src/components/TextArea/Textarea.scss +144 -144
  601. package/src/components/TextArea/Textarea.stories.tsx +92 -92
  602. package/src/components/TextArea/Textarea.tsx +84 -84
  603. package/src/components/TextArea/Types.ts +82 -82
  604. package/src/components/TextArea/index.tsx +1 -1
  605. package/src/components/ThemeProvider/ThemeProvider.tsx +27 -27
  606. package/src/components/ThemeProvider/index.ts +1 -1
  607. package/src/components/ThemeProvider/types.ts +14 -14
  608. package/src/components/Toast/Toast.scss +121 -121
  609. package/src/components/Toast/Toast.stories.tsx +144 -180
  610. package/src/components/Toast/Toast.tsx +117 -116
  611. package/src/components/Toast/index.ts +1 -1
  612. package/src/components/Toast/types.ts +27 -27
  613. package/src/components/Toastify/Toastify.stories.tsx +71 -71
  614. package/src/components/Toastify/Toastify.tsx +94 -92
  615. package/src/components/Toastify/index.ts +1 -1
  616. package/src/components/Toastify/types.ts +9 -9
  617. package/src/components/Toggle/Toggle.scss +133 -133
  618. package/src/components/Toggle/Toggle.stories.tsx +132 -132
  619. package/src/components/Toggle/Toggle.tsx +96 -96
  620. package/src/components/Toggle/index.ts +1 -1
  621. package/src/components/Toggle/types.ts +43 -43
  622. package/src/components/ToggleSwitch/ToggleSwitch.scss +58 -58
  623. package/src/components/ToggleSwitch/ToggleSwitch.stories.tsx +52 -52
  624. package/src/components/ToggleSwitch/ToggleSwitch.tsx +30 -30
  625. package/src/components/ToggleSwitch/index.ts +1 -1
  626. package/src/components/Tooltip/Tooltip.scss +27 -27
  627. package/src/components/Tooltip/Tooltip.stories.tsx +98 -98
  628. package/src/components/Tooltip/Tooltip.tsx +194 -194
  629. package/src/components/Tooltip/index.ts +1 -1
  630. package/src/components/Tooltip/types.ts +66 -66
  631. package/src/components/Typography/Typography.scss +60 -60
  632. package/src/components/Typography/Typography.stories.tsx +59 -59
  633. package/src/components/Typography/Typography.tsx +41 -41
  634. package/src/components/Typography/index.ts +1 -1
  635. package/src/components/Typography/types.ts +57 -57
  636. package/src/components/VariableInput/VariableInput.scss +127 -127
  637. package/src/components/VariableInput/VariableInput.stories.tsx +32 -32
  638. package/src/components/VariableInput/VariableInput.tsx +352 -352
  639. package/src/components/VariableInput/types.ts +56 -56
  640. package/src/hooks/keyboardevents/useEscKeyEvent.tsx +30 -30
  641. package/src/hooks/useClickOutside.tsx +30 -30
  642. package/src/hooks/useFileDropzone.tsx +274 -274
  643. package/src/hooks/usePortalPosition.tsx +53 -53
  644. package/src/hooks/useTheme.tsx +13 -13
  645. package/src/index.ts +174 -172
  646. package/src/utils/TableCell/TableCell.ts +16 -16
  647. package/src/utils/capitalize/capitalize.stories.tsx +44 -44
  648. package/src/utils/capitalize/capitalize.tsx +4 -4
  649. package/src/utils/checkEmpty/checkEmpty.stories.tsx +34 -34
  650. package/src/utils/checkEmpty/checkEmpty.ts +24 -24
  651. package/src/utils/compareArrays/compareArrays.stories.tsx +62 -62
  652. package/src/utils/compareArrays/compareArrays.ts +31 -31
  653. package/src/utils/compareObjects/compareObjects.stories.tsx +51 -51
  654. package/src/utils/compareObjects/compareObjects.ts +53 -53
  655. package/src/utils/debounce/debounce.stories.tsx +81 -81
  656. package/src/utils/debounce/debounce.ts +28 -28
  657. package/src/utils/downloadFile/saveFileFromBlob.stories.tsx +62 -62
  658. package/src/utils/downloadFile/saveFileFromBlob.ts +40 -40
  659. package/src/utils/ffID/ffID.stories.tsx +35 -35
  660. package/src/utils/ffID/ffid.ts +7 -7
  661. package/src/utils/findAndInsert/findAndInsert.stories.tsx +119 -119
  662. package/src/utils/findAndInsert/findAndInsert.ts +49 -49
  663. package/src/utils/getEncryptedData/getEncryptedData.stories.tsx +55 -55
  664. package/src/utils/getEncryptedData/getEncryptedData.ts +8 -8
  665. package/src/utils/getExtension/getExtension.stories.tsx +23 -23
  666. package/src/utils/getExtension/getExtension.ts +28 -28
  667. package/src/utils/getSelectOptionValue/getSelectOptionValue.ts +31 -31
  668. package/src/utils/getSequentialPayload/getSequentialPayload.stories.tsx +72 -72
  669. package/src/utils/getSequentialPayload/getSequentialPayload.ts +16 -16
  670. package/src/utils/getSequentialPayload/types.ts +32 -32
  671. package/src/utils/throttle/throttle.stories.tsx +100 -100
  672. package/src/utils/throttle/throttle.ts +33 -33
  673. package/src/utils/truncateText/truncateText.stories.tsx +37 -37
  674. package/src/utils/truncateText/truncateText.ts +4 -4
  675. package/tsconfig.json +55 -55
  676. package/vite.config.js +14 -14
  677. package/lib/StyleGuide/ColorPalette/ColorPalette.stories.d.ts +0 -6
  678. package/lib/StyleGuide/Typography/Typography.stories.d.ts +0 -6
  679. package/lib/components/Accordion/Accordion.stories.d.ts +0 -6
  680. package/lib/components/AddResourceButton/AddButton.stories.d.ts +0 -8
  681. package/lib/components/AllProjectsDropdown/AllProjectsDropdown.stories.d.ts +0 -7
  682. package/lib/components/AppHeader/AppHeader.stories.d.ts +0 -7
  683. package/lib/components/AttachmentButton/AttachmentButton.stories.d.ts +0 -9
  684. package/lib/components/Avatar/Avatar.stories.d.ts +0 -10
  685. package/lib/components/Button/Button.stories.d.ts +0 -13
  686. package/lib/components/Charts/DashboardDonutChart/DashboardDonutChart.stories.d.ts +0 -7
  687. package/lib/components/Charts/DonutChart/DonutChart.stories.d.ts +0 -6
  688. package/lib/components/Charts/PieChart/PieChart.stories.d.ts +0 -7
  689. package/lib/components/Charts/RadialChart/RadialChart.stories.d.ts +0 -6
  690. package/lib/components/Checkbox/Checkbox.stories.d.ts +0 -8
  691. package/lib/components/Chip/Chip.stories.d.ts +0 -14
  692. package/lib/components/DatePicker/DatePicker.stories.d.ts +0 -9
  693. package/lib/components/DragAndDrop/DragAndDrop.stories.d.ts +0 -6
  694. package/lib/components/Drawer/Drawer.stories.d.ts +0 -12
  695. package/lib/components/ExcelFile/ColorBarselector/ColorBarSelector.d.ts +0 -8
  696. package/lib/components/ExcelFile/ContextMenu/ContextMenu.d.ts +0 -4
  697. package/lib/components/ExcelFile/ExcelFile/Excel/ActiveCell.d.ts +0 -7
  698. package/lib/components/ExcelFile/ExcelFile/Excel/Cell.d.ts +0 -4
  699. package/lib/components/ExcelFile/ExcelFile/Excel/ColumnIndicator.d.ts +0 -5
  700. package/lib/components/ExcelFile/ExcelFile/Excel/Copied.d.ts +0 -3
  701. package/lib/components/ExcelFile/ExcelFile/Excel/CornerIndicator.d.ts +0 -5
  702. package/lib/components/ExcelFile/ExcelFile/Excel/DataEditor.d.ts +0 -5
  703. package/lib/components/ExcelFile/ExcelFile/Excel/DataViewer.d.ts +0 -8
  704. package/lib/components/ExcelFile/ExcelFile/Excel/FloatingRect.d.ts +0 -10
  705. package/lib/components/ExcelFile/ExcelFile/Excel/HeaderRow.d.ts +0 -3
  706. package/lib/components/ExcelFile/ExcelFile/Excel/Row.d.ts +0 -3
  707. package/lib/components/ExcelFile/ExcelFile/Excel/RowIndicator.d.ts +0 -5
  708. package/lib/components/ExcelFile/ExcelFile/Excel/Selected.d.ts +0 -3
  709. package/lib/components/ExcelFile/ExcelFile/Excel/Spreadsheet.d.ts +0 -80
  710. package/lib/components/ExcelFile/ExcelFile/Excel/Table.d.ts +0 -3
  711. package/lib/components/ExcelFile/ExcelFile/Excel/actions.d.ts +0 -174
  712. package/lib/components/ExcelFile/ExcelFile/Excel/areModelsEqual.d.ts +0 -1
  713. package/lib/components/ExcelFile/ExcelFile/Excel/context.d.ts +0 -8
  714. package/lib/components/ExcelFile/ExcelFile/Excel/engine/engine.d.ts +0 -22
  715. package/lib/components/ExcelFile/ExcelFile/Excel/engine/formula.d.ts +0 -17
  716. package/lib/components/ExcelFile/ExcelFile/Excel/engine/index.d.ts +0 -2
  717. package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-graph.d.ts +0 -21
  718. package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-hash.d.ts +0 -3
  719. package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-set.d.ts +0 -24
  720. package/lib/components/ExcelFile/ExcelFile/Excel/index.d.ts +0 -13
  721. package/lib/components/ExcelFile/ExcelFile/Excel/matrix.d.ts +0 -67
  722. package/lib/components/ExcelFile/ExcelFile/Excel/point-range.d.ts +0 -22
  723. package/lib/components/ExcelFile/ExcelFile/Excel/point.d.ts +0 -11
  724. package/lib/components/ExcelFile/ExcelFile/Excel/reducer.d.ts +0 -27
  725. package/lib/components/ExcelFile/ExcelFile/Excel/selection.d.ts +0 -95
  726. package/lib/components/ExcelFile/ExcelFile/Excel/types.d.ts +0 -178
  727. package/lib/components/ExcelFile/ExcelFile/Excel/use-dispatch.d.ts +0 -3
  728. package/lib/components/ExcelFile/ExcelFile/Excel/use-selector.d.ts +0 -3
  729. package/lib/components/ExcelFile/ExcelFile/Excel/util.d.ts +0 -44
  730. package/lib/components/ExcelFile/ExcelFile/ExcelFile.d.ts +0 -19
  731. package/lib/components/ExcelFile/ExcelFile.stories.d.ts +0 -6
  732. package/lib/components/ExcelFile/ExcelSheetBar/ExcelSheetBar.d.ts +0 -12
  733. package/lib/components/ExcelFile/ExcelToolBar/ExcelToolBar.d.ts +0 -15
  734. package/lib/components/ExcelFile/Types.d.ts +0 -129
  735. package/lib/components/ExcelFile/index.d.ts +0 -1
  736. package/lib/components/ExpandableMenu/ExpandableMenu.stories.d.ts +0 -7
  737. package/lib/components/FF_Captcha/captcha.stories.d.ts +0 -8
  738. package/lib/components/FileDropzone/FileDropzone.stories.d.ts +0 -8
  739. package/lib/components/Form/Form.stories.d.ts +0 -7
  740. package/lib/components/GridLayout/GridLayout.stories.d.ts +0 -8
  741. package/lib/components/HighlightText/HighlightText.stories.d.ts +0 -6
  742. package/lib/components/Icon/Icon.stories.d.ts +0 -8
  743. package/lib/components/IconButton/IconButton.stories.d.ts +0 -7
  744. package/lib/components/IconRadioGroup/IconRadioGroup.stories.d.ts +0 -7
  745. package/lib/components/Input/Input.stories.d.ts +0 -9
  746. package/lib/components/InputWithDropdown/InputWithDropdown.stories.d.ts +0 -9
  747. package/lib/components/LabelEditTextField/LabelEditTextField.stories.d.ts +0 -11
  748. package/lib/components/LazyLoad/LazyLoad.stories.d.ts +0 -6
  749. package/lib/components/MachineInputField/MachineInputField.stories.d.ts +0 -6
  750. package/lib/components/MenuOption/MenuOption.stories.d.ts +0 -16
  751. package/lib/components/MiniModal/MiniModal.stories.d.ts +0 -10
  752. package/lib/components/Modal/Modal.stories.d.ts +0 -7
  753. package/lib/components/ModulesChip/ModuleChip.stories.d.ts +0 -6
  754. package/lib/components/MultiSelect/MultiSelect.stories.d.ts +0 -10
  755. package/lib/components/NLPInput/NlpInput.stories.d.ts +0 -7
  756. package/lib/components/Paper/Paper.stories.d.ts +0 -11
  757. package/lib/components/RadioButton/RadioButton.stories.d.ts +0 -10
  758. package/lib/components/RadioGroup/RadioGroup.stories.d.ts +0 -9
  759. package/lib/components/Search/Search.stories.d.ts +0 -6
  760. package/lib/components/Select/Select.stories.d.ts +0 -13
  761. package/lib/components/Select/components/Dropdown/Dropdown.d.ts +0 -4
  762. package/lib/components/Select/components/Dropdown/dropdownTypes.d.ts +0 -17
  763. package/lib/components/SequentialConnectingBranch/SequentialConnectingBranch.stories.d.ts +0 -6
  764. package/lib/components/StateDropdown/StateDropdown.stories.d.ts +0 -10
  765. package/lib/components/StatusButton/StatusButton.stories.d.ts +0 -14
  766. package/lib/components/Table/Table.stories.d.ts +0 -13
  767. package/lib/components/TableTree/TableTree.stories.d.ts +0 -7
  768. package/lib/components/Tabs/Tabs.stories.d.ts +0 -9
  769. package/lib/components/TextArea/Textarea.stories.d.ts +0 -9
  770. package/lib/components/Toast/Toast.stories.d.ts +0 -6
  771. package/lib/components/Toastify/Toastify.stories.d.ts +0 -6
  772. package/lib/components/Toggle/Toggle.stories.d.ts +0 -12
  773. package/lib/components/Tooltip/Tooltip.stories.d.ts +0 -15
  774. package/lib/components/Typography/Typography.stories.d.ts +0 -10
  775. package/lib/components/VariableInput/VariableInput.stories.d.ts +0 -6
  776. package/lib/utils/checkEmpty/checkEmpty.stories.d.ts +0 -6
  777. package/lib/utils/compareArrays/compareArrays.stories.d.ts +0 -6
  778. package/lib/utils/compareObjects/compareObjects.stories.d.ts +0 -6
  779. package/lib/utils/debounce/debounce.stories.d.ts +0 -6
  780. package/lib/utils/ffID/ffID.stories.d.ts +0 -6
  781. package/lib/utils/find/findAndInsert.d.ts +0 -7
  782. package/lib/utils/find/findAndInsert.stories.d.ts +0 -7
  783. package/lib/utils/findAndInsert/findAndInsert.stories.d.ts +0 -7
  784. package/lib/utils/getEncryptedData/getEncryptedData.stories.d.ts +0 -6
  785. package/lib/utils/getExtension/getExtension.stories.d.ts +0 -6
  786. package/lib/utils/throttle/throttle.stories.d.ts +0 -6
  787. 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;