pixel-react 1.5.4 → 1.5.5

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