pixel-react 1.8.4 → 1.8.6

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 (808) hide show
  1. package/.prettierrc.js +13 -13
  2. package/.storybook/main.ts +26 -26
  3. package/.storybook/preview-head.html +2 -2
  4. package/.storybook/preview.ts +26 -26
  5. package/.yarn/install-state.gz +0 -0
  6. package/.yarnrc.yml +1 -1
  7. package/README.md +75 -75
  8. package/index.scss +4 -4
  9. package/lib/components/Charts/DashboardDonutChart/types.d.ts +3 -0
  10. package/lib/components/DatePicker/types.d.ts +2 -0
  11. package/lib/components/Drawer/Types.d.ts +4 -0
  12. package/lib/components/Excel/ExcelContextMenu/ExcelContextMenu.d.ts +4 -0
  13. package/lib/components/Excel/ExcelFile/ExcelFile.d.ts +10 -4
  14. package/lib/components/Excel/ExcelFile/ExcelFileComponents/ActiveCell.d.ts +10 -0
  15. package/lib/components/Excel/ExcelFile/ExcelFileComponents/DataViewer.d.ts +1 -1
  16. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.d.ts +9 -0
  17. package/lib/components/Excel/ExcelFile/ExcelFileComponents/types.d.ts +0 -2
  18. package/lib/components/Excel/Types.d.ts +14 -10
  19. package/lib/components/FF_Captcha/Recaptcha.d.ts +2 -1
  20. package/lib/components/FF_Captcha/types.d.ts +11 -2
  21. package/lib/components/Select/components/types.d.ts +1 -0
  22. package/lib/components/Select/types.d.ts +8 -0
  23. package/lib/index.d.ts +55 -8
  24. package/lib/index.esm.js +4559 -1363
  25. package/lib/index.esm.js.map +1 -1
  26. package/lib/index.js +4568 -1362
  27. package/lib/index.js.map +1 -1
  28. package/lib/tsconfig.tsbuildinfo +1 -1
  29. package/lib/utils/keyBoardActionUtil/UseKeyboardActions.d.ts +2 -0
  30. package/lib/utils/keyBoardActionUtil/types.d.ts +4 -0
  31. package/lib/validations/regex.d.ts +2 -1
  32. package/package.json +86 -81
  33. package/rollup.config.mjs +67 -67
  34. package/src/StyleGuide/ColorPalette/ColorPalette.scss +62 -62
  35. package/src/StyleGuide/ColorPalette/ColorPalette.stories.tsx +16 -16
  36. package/src/StyleGuide/ColorPalette/ColorPalette.tsx +67 -67
  37. package/src/StyleGuide/ColorPalette/colorPaletteList.ts +304 -304
  38. package/src/StyleGuide/ColorPalette/index.ts +1 -1
  39. package/src/StyleGuide/ColorPalette/types.ts +19 -19
  40. package/src/StyleGuide/Typography/Typography.scss +99 -99
  41. package/src/StyleGuide/Typography/Typography.stories.tsx +16 -16
  42. package/src/StyleGuide/Typography/Typography.tsx +60 -60
  43. package/src/StyleGuide/Typography/TypographyList.ts +3 -3
  44. package/src/StyleGuide/Typography/types.ts +9 -9
  45. package/src/assets/Themes/BaseTheme.scss +306 -306
  46. package/src/assets/Themes/BlueTheme.scss +279 -279
  47. package/src/assets/Themes/DarkTheme.scss +319 -319
  48. package/src/assets/Themes/Theme.scss +21 -21
  49. package/src/assets/icons/Arrow.svg +4 -4
  50. package/src/assets/icons/Header_preset.svg +18 -18
  51. package/src/assets/icons/accordion_header_icon.svg +10 -10
  52. package/src/assets/icons/active_license_icon.svg +3 -3
  53. package/src/assets/icons/add_archive.svg +9 -9
  54. package/src/assets/icons/add_file.svg +4 -4
  55. package/src/assets/icons/add_label_icon.svg +3 -3
  56. package/src/assets/icons/add_locator.svg +4 -4
  57. package/src/assets/icons/add_testcase.svg +3 -3
  58. package/src/assets/icons/add_user.svg +9 -9
  59. package/src/assets/icons/add_variable.svg +11 -11
  60. package/src/assets/icons/add_variable_icon.svg +4 -4
  61. package/src/assets/icons/ai_search.svg +9 -9
  62. package/src/assets/icons/alert.svg +17 -17
  63. package/src/assets/icons/all_borders.svg +3 -3
  64. package/src/assets/icons/all_projects.svg +3 -3
  65. package/src/assets/icons/android.svg +9 -9
  66. package/src/assets/icons/android_icon.svg +6 -6
  67. package/src/assets/icons/apk_file_type.svg +4 -4
  68. package/src/assets/icons/app_switch.svg +11 -11
  69. package/src/assets/icons/approval_pending.svg +8 -8
  70. package/src/assets/icons/arrow_down.svg +3 -3
  71. package/src/assets/icons/arrow_right.svg +4 -4
  72. package/src/assets/icons/arrow_up.svg +3 -3
  73. package/src/assets/icons/arrows_down_icon.svg +3 -3
  74. package/src/assets/icons/arrows_right_icon.svg +10 -10
  75. package/src/assets/icons/arrows_top_icon.svg +3 -3
  76. package/src/assets/icons/attachment_icon.svg +3 -3
  77. package/src/assets/icons/authorization.svg +4 -4
  78. package/src/assets/icons/authorization_icon.svg +4 -4
  79. package/src/assets/icons/auto_save_icon.svg +4 -4
  80. package/src/assets/icons/automation_testcase.svg +4 -4
  81. package/src/assets/icons/back_icon.svg +3 -3
  82. package/src/assets/icons/backward.svg +10 -10
  83. package/src/assets/icons/backward_icon.svg +3 -3
  84. package/src/assets/icons/beautify_icon.svg +3 -3
  85. package/src/assets/icons/bold.svg +3 -3
  86. package/src/assets/icons/border_bottom.svg +3 -3
  87. package/src/assets/icons/border_left.svg +3 -3
  88. package/src/assets/icons/border_right.svg +3 -3
  89. package/src/assets/icons/border_top.svg +3 -3
  90. package/src/assets/icons/browser_stack.svg +9 -9
  91. package/src/assets/icons/browserstack_icon.svg +24 -24
  92. package/src/assets/icons/calendar_icon.svg +9 -9
  93. package/src/assets/icons/capture_icon.svg +2 -2
  94. package/src/assets/icons/check_mark.svg +3 -3
  95. package/src/assets/icons/chrome.svg +12 -12
  96. package/src/assets/icons/client_profile.svg +4 -4
  97. package/src/assets/icons/clock_icon.svg +11 -11
  98. package/src/assets/icons/clone_icon.svg +3 -3
  99. package/src/assets/icons/close_pill.svg +3 -3
  100. package/src/assets/icons/cloud_server_host_icon.svg +3 -3
  101. package/src/assets/icons/collapse-icon.svg +6 -6
  102. package/src/assets/icons/compressed_file_type.svg +4 -4
  103. package/src/assets/icons/configuration.svg +3 -3
  104. package/src/assets/icons/continue_without_sign.svg +3 -3
  105. package/src/assets/icons/copy-icon.svg +3 -3
  106. package/src/assets/icons/csv_file_type.svg +4 -4
  107. package/src/assets/icons/dashboard_icon.svg +31 -31
  108. package/src/assets/icons/dashboard_mobile_icon.svg +47 -47
  109. package/src/assets/icons/dashboard_web_icon.svg +9 -9
  110. package/src/assets/icons/data_provider.svg +8 -8
  111. package/src/assets/icons/dataset_list.svg +3 -3
  112. package/src/assets/icons/defects.svg +8 -8
  113. package/src/assets/icons/delete.svg +3 -3
  114. package/src/assets/icons/delete_info.svg +17 -17
  115. package/src/assets/icons/depends_on_script.svg +7 -7
  116. package/src/assets/icons/details.svg +3 -3
  117. package/src/assets/icons/double_underline.svg +5 -5
  118. package/src/assets/icons/download-icon.svg +3 -3
  119. package/src/assets/icons/download_file_icon.svg +3 -3
  120. package/src/assets/icons/download_icon.svg +4 -4
  121. package/src/assets/icons/drag_icon.svg +4 -4
  122. package/src/assets/icons/drawer_maximize.svg +6 -6
  123. package/src/assets/icons/dropzone_icon.svg +18 -18
  124. package/src/assets/icons/edge.svg +30 -30
  125. package/src/assets/icons/edit_icon.svg +5 -5
  126. package/src/assets/icons/element.svg +4 -4
  127. package/src/assets/icons/email_group.svg +3 -3
  128. package/src/assets/icons/error.svg +17 -17
  129. package/src/assets/icons/excel_corner_menu.svg +3 -3
  130. package/src/assets/icons/executions_icon.svg +3 -3
  131. package/src/assets/icons/expand-icon.svg +6 -6
  132. package/src/assets/icons/export.svg +4 -4
  133. package/src/assets/icons/export_collection_icon.svg +13 -13
  134. package/src/assets/icons/external_user.svg +13 -13
  135. package/src/assets/icons/eye_closed.svg +3 -3
  136. package/src/assets/icons/eye_open_icon.svg +3 -3
  137. package/src/assets/icons/failed_status_icon.svg +12 -12
  138. package/src/assets/icons/file.svg +11 -11
  139. package/src/assets/icons/fill_color.svg +7 -7
  140. package/src/assets/icons/filter.svg +4 -4
  141. package/src/assets/icons/fire_fox.svg +106 -106
  142. package/src/assets/icons/fireflink_finder_logo.svg +7 -7
  143. package/src/assets/icons/fireflink_icon.svg +4 -4
  144. package/src/assets/icons/fireflink_logo.svg +13 -13
  145. package/src/assets/icons/fireflink_platform.svg +4 -4
  146. package/src/assets/icons/firefox.svg +84 -84
  147. package/src/assets/icons/flaky_status_icon.svg +12 -12
  148. package/src/assets/icons/formate_painter.svg +5 -5
  149. package/src/assets/icons/formula_icon.svg +3 -3
  150. package/src/assets/icons/forward.svg +3 -3
  151. package/src/assets/icons/forward_icon.svg +3 -3
  152. package/src/assets/icons/full_access_icon.svg +4 -4
  153. package/src/assets/icons/gif_file_type.svg +4 -4
  154. package/src/assets/icons/global_variable_icon.svg +4 -4
  155. package/src/assets/icons/group_user.svg +12 -12
  156. package/src/assets/icons/hamburger_menu.svg +3 -3
  157. package/src/assets/icons/help_icon.svg +10 -10
  158. package/src/assets/icons/hide_access_icon.svg +3 -3
  159. package/src/assets/icons/hide_icon.svg +9 -9
  160. package/src/assets/icons/history_icon.svg +19 -19
  161. package/src/assets/icons/html_file_type.svg +4 -4
  162. package/src/assets/icons/impact_list.svg +6 -6
  163. package/src/assets/icons/import.svg +4 -4
  164. package/src/assets/icons/import_icon.svg +4 -4
  165. package/src/assets/icons/info.svg +17 -17
  166. package/src/assets/icons/info_icon.svg +5 -5
  167. package/src/assets/icons/info_user.svg +5 -5
  168. package/src/assets/icons/internet_explorer.svg +3 -3
  169. package/src/assets/icons/ios_icon.svg +11 -11
  170. package/src/assets/icons/ipk_file_type.svg +4 -4
  171. package/src/assets/icons/italic.svg +3 -3
  172. package/src/assets/icons/jira.svg +3 -3
  173. package/src/assets/icons/jpg_file_type.svg +4 -4
  174. package/src/assets/icons/json_file_type.svg +4 -4
  175. package/src/assets/icons/label_icon.svg +8 -8
  176. package/src/assets/icons/label_plus.svg +3 -3
  177. package/src/assets/icons/labels.svg +8 -8
  178. package/src/assets/icons/lambda_icon.svg +3 -3
  179. package/src/assets/icons/left_arrow_icon.svg +3 -3
  180. package/src/assets/icons/license_expired.svg +20 -20
  181. package/src/assets/icons/license_info.svg +28 -28
  182. package/src/assets/icons/license_warning.svg +10 -10
  183. package/src/assets/icons/link_expired.svg +186 -186
  184. package/src/assets/icons/linked_defects.svg +11 -11
  185. package/src/assets/icons/linux.svg +42 -42
  186. package/src/assets/icons/local.svg +3 -3
  187. package/src/assets/icons/local_variable_icon.svg +4 -4
  188. package/src/assets/icons/logo.svg +17 -17
  189. package/src/assets/icons/mac.svg +9 -9
  190. package/src/assets/icons/machine_disable_icon.svg +18 -18
  191. package/src/assets/icons/machine_enable_icon.svg +10 -10
  192. package/src/assets/icons/manage_apps.svg +3 -3
  193. package/src/assets/icons/manual_locator.svg +7 -7
  194. package/src/assets/icons/manual_testcase.svg +3 -3
  195. package/src/assets/icons/maximize_icon.svg +5 -5
  196. package/src/assets/icons/maximize_script.svg +12 -12
  197. package/src/assets/icons/maximize_tree.svg +3 -3
  198. package/src/assets/icons/minimize_script.svg +5 -5
  199. package/src/assets/icons/mobile_icon.svg +3 -3
  200. package/src/assets/icons/moon_stars.svg +10 -10
  201. package/src/assets/icons/more.svg +10 -10
  202. package/src/assets/icons/move_icon.svg +5 -5
  203. package/src/assets/icons/ms_dynamic.svg +4 -4
  204. package/src/assets/icons/ms_dynamic_icon.svg +15 -15
  205. package/src/assets/icons/nlp_help_icon.svg +3 -3
  206. package/src/assets/icons/no_access_icon.svg +4 -4
  207. package/src/assets/icons/no_border.svg +3 -3
  208. package/src/assets/icons/no_data.svg +13 -13
  209. package/src/assets/icons/no_license_found.svg +22 -22
  210. package/src/assets/icons/notification_icon.svg +3 -3
  211. package/src/assets/icons/opera.svg +9 -9
  212. package/src/assets/icons/parameters.svg +3 -3
  213. package/src/assets/icons/passed_status_icon.svg +12 -12
  214. package/src/assets/icons/pdf_file_type.svg +4 -4
  215. package/src/assets/icons/plus_icon.svg +11 -11
  216. package/src/assets/icons/plus_round_icon.svg +38 -38
  217. package/src/assets/icons/plus_user_icon.svg +3 -3
  218. package/src/assets/icons/png_file_type.svg +4 -4
  219. package/src/assets/icons/pre_post_condition.svg +8 -8
  220. package/src/assets/icons/program_element.svg +8 -8
  221. package/src/assets/icons/project_element.svg +4 -4
  222. package/src/assets/icons/project_env_variable_icon.svg +4 -4
  223. package/src/assets/icons/project_status_icon.svg +10 -10
  224. package/src/assets/icons/quick_run_setting_icon.svg +5 -5
  225. package/src/assets/icons/refresh-icon.svg +4 -4
  226. package/src/assets/icons/refresh_icon.svg +4 -4
  227. package/src/assets/icons/reload.svg +3 -3
  228. package/src/assets/icons/remove.svg +11 -11
  229. package/src/assets/icons/remove_user.svg +3 -3
  230. package/src/assets/icons/replace.svg +11 -11
  231. package/src/assets/icons/replace_file.svg +13 -13
  232. package/src/assets/icons/replace_icon.svg +6 -6
  233. package/src/assets/icons/reset-link.svg +52 -52
  234. package/src/assets/icons/right_arrow_icon.svg +4 -4
  235. package/src/assets/icons/rotate_icon.svg +10 -10
  236. package/src/assets/icons/run_automation_scripts_icon.svg +33 -33
  237. package/src/assets/icons/run_icon.svg +26 -26
  238. package/src/assets/icons/run_manual_testcase_icon.svg +4 -4
  239. package/src/assets/icons/safari.svg +93 -93
  240. package/src/assets/icons/safari_icon.svg +12 -12
  241. package/src/assets/icons/sales_force.svg +7 -7
  242. package/src/assets/icons/salesforce_icon.svg +14 -14
  243. package/src/assets/icons/sample_template_first.svg +29 -29
  244. package/src/assets/icons/sample_template_second.svg +47 -47
  245. package/src/assets/icons/sause_lab.svg +3 -3
  246. package/src/assets/icons/save_as_step.svg +3 -3
  247. package/src/assets/icons/search.svg +3 -3
  248. package/src/assets/icons/send_step.svg +4 -4
  249. package/src/assets/icons/settings.svg +3 -3
  250. package/src/assets/icons/single_user.svg +12 -12
  251. package/src/assets/icons/skipped_status_icon.svg +12 -12
  252. package/src/assets/icons/standard_template.svg +30 -30
  253. package/src/assets/icons/step_group.svg +10 -10
  254. package/src/assets/icons/strike_through.svg +3 -3
  255. package/src/assets/icons/success.svg +17 -17
  256. package/src/assets/icons/suites_icon.svg +3 -3
  257. package/src/assets/icons/sun_icon.svg +10 -10
  258. package/src/assets/icons/swipe_icon.svg +9 -9
  259. package/src/assets/icons/switch_license_icon.svg +123 -123
  260. package/src/assets/icons/system_warning.svg +61 -61
  261. package/src/assets/icons/tap_icon.svg +3 -3
  262. package/src/assets/icons/test_data.svg +5 -5
  263. package/src/assets/icons/test_data_set.svg +7 -7
  264. package/src/assets/icons/test_freshers_logo.svg +8 -8
  265. package/src/assets/icons/text_align_center.svg +3 -3
  266. package/src/assets/icons/text_align_left.svg +3 -3
  267. package/src/assets/icons/text_align_right.svg +3 -3
  268. package/src/assets/icons/text_color.svg +3 -3
  269. package/src/assets/icons/tick_icon.svg +4 -4
  270. package/src/assets/icons/toast_close.svg +3 -3
  271. package/src/assets/icons/txt_file_type.svg +4 -4
  272. package/src/assets/icons/underline.svg +4 -4
  273. package/src/assets/icons/unfollow_icon.svg +3 -3
  274. package/src/assets/icons/update_icon.svg +3 -3
  275. package/src/assets/icons/user_password_lock.svg +220 -220
  276. package/src/assets/icons/user_profile.svg +3 -3
  277. package/src/assets/icons/user_warning.svg +235 -235
  278. package/src/assets/icons/user_with_system.svg +637 -637
  279. package/src/assets/icons/variable.svg +3 -3
  280. package/src/assets/icons/variable_icon.svg +4 -4
  281. package/src/assets/icons/variable_set.svg +5 -5
  282. package/src/assets/icons/vertical_separator.svg +3 -3
  283. package/src/assets/icons/view_access_icon.svg +4 -4
  284. package/src/assets/icons/view_icon.svg +3 -3
  285. package/src/assets/icons/warning.svg +17 -17
  286. package/src/assets/icons/warning_status_icon.svg +12 -12
  287. package/src/assets/icons/web&mobile_icon.svg +3 -3
  288. package/src/assets/icons/web_icon.svg +3 -3
  289. package/src/assets/icons/web_mobile_icon.svg +29 -29
  290. package/src/assets/icons/web_service_icon.svg +3 -3
  291. package/src/assets/icons/web_services_icon.svg +30 -30
  292. package/src/assets/icons/window_maximize.svg +3 -3
  293. package/src/assets/icons/window_minimize.svg +3 -3
  294. package/src/assets/icons/window_restore.svg +4 -4
  295. package/src/assets/icons/windows.svg +10 -10
  296. package/src/assets/icons/wrong_mark.svg +3 -3
  297. package/src/assets/icons/wswb_delete_icon.svg +3 -3
  298. package/src/assets/icons/wswb_plus_icon.svg +4 -4
  299. package/src/assets/icons/xls_file_type.svg +4 -4
  300. package/src/assets/icons/xlsx_file_type.svg +4 -4
  301. package/src/assets/icons/xml_file_type.svg +4 -4
  302. package/src/assets/styles/_colors.scss +150 -150
  303. package/src/assets/styles/_fonts.scss +45 -45
  304. package/src/assets/styles/_mixins.scss +21 -21
  305. package/src/assets/utils/functionUtils.ts +96 -96
  306. package/src/components/Accordion/Accordion.scss +46 -46
  307. package/src/components/Accordion/Accordion.stories.tsx +48 -48
  308. package/src/components/Accordion/Accordion.tsx +69 -69
  309. package/src/components/Accordion/index.ts +1 -1
  310. package/src/components/Accordion/types.ts +44 -44
  311. package/src/components/AddResourceButton/AddButton.scss +36 -36
  312. package/src/components/AddResourceButton/AddButton.stories.tsx +126 -126
  313. package/src/components/AddResourceButton/AddButton.tsx +121 -121
  314. package/src/components/AddResourceButton/ArrowsButton/ArrowsButton.scss +161 -161
  315. package/src/components/AddResourceButton/ArrowsButton/ArrowsButton.tsx +38 -38
  316. package/src/components/AddResourceButton/index.ts +1 -1
  317. package/src/components/AddResourceButton/type.ts +92 -92
  318. package/src/components/AllProjectsDropdown/AllProjectsDropdown.scss +189 -189
  319. package/src/components/AllProjectsDropdown/AllProjectsDropdown.stories.tsx +117 -117
  320. package/src/components/AllProjectsDropdown/AllProjectsDropdown.tsx +152 -152
  321. package/src/components/AllProjectsDropdown/types.ts +14 -14
  322. package/src/components/AppHeader/AppHeader.scss +218 -218
  323. package/src/components/AppHeader/AppHeader.stories.tsx +553 -553
  324. package/src/components/AppHeader/AppHeader.tsx +199 -199
  325. package/src/components/AppHeader/index.ts +1 -1
  326. package/src/components/AppHeader/types.ts +54 -54
  327. package/src/components/AttachImage/AttachImage.scss +76 -76
  328. package/src/components/AttachImage/AttachImage.stories.tsx +24 -24
  329. package/src/components/AttachImage/AttachImage.tsx +60 -60
  330. package/src/components/AttachImage/index.ts +2 -2
  331. package/src/components/AttachImage/types.ts +26 -26
  332. package/src/components/AttachmentButton/AttachmentButton.scss +9 -9
  333. package/src/components/AttachmentButton/AttachmentButton.stories.tsx +81 -81
  334. package/src/components/AttachmentButton/AttachmentButton.tsx +129 -129
  335. package/src/components/AttachmentButton/types.ts +13 -13
  336. package/src/components/Avatar/Avatar.scss +27 -27
  337. package/src/components/Avatar/Avatar.stories.tsx +76 -76
  338. package/src/components/Avatar/Avatar.tsx +41 -41
  339. package/src/components/Avatar/types.ts +35 -35
  340. package/src/components/Button/Button.scss +166 -166
  341. package/src/components/Button/Button.stories.tsx +81 -81
  342. package/src/components/Button/Button.tsx +91 -91
  343. package/src/components/Button/index.ts +1 -1
  344. package/src/components/Button/types.ts +90 -90
  345. package/src/components/Charts/BarChart/BarChart.scss +69 -69
  346. package/src/components/Charts/BarChart/BarChart.stories.tsx +70 -70
  347. package/src/components/Charts/BarChart/BarChart.tsx +349 -349
  348. package/src/components/Charts/BarChart/types.ts +12 -12
  349. package/src/components/Charts/DashboardDonutChart/DashboardDonutChart.scss +221 -221
  350. package/src/components/Charts/DashboardDonutChart/DashboardDonutChart.stories.tsx +90 -58
  351. package/src/components/Charts/DashboardDonutChart/DashboardDonutChart.tsx +560 -554
  352. package/src/components/Charts/DashboardDonutChart/types.ts +63 -60
  353. package/src/components/Charts/DonutChart/DonutChart.scss +76 -76
  354. package/src/components/Charts/DonutChart/DonutChart.stories.tsx +30 -30
  355. package/src/components/Charts/DonutChart/DonutChart.tsx +246 -246
  356. package/src/components/Charts/DonutChart/index.ts +1 -1
  357. package/src/components/Charts/DonutChart/type.ts +23 -23
  358. package/src/components/Charts/IconRadialChart/IconRadialChart.scss +25 -25
  359. package/src/components/Charts/IconRadialChart/IconRadialChart.stories.tsx +51 -51
  360. package/src/components/Charts/IconRadialChart/IconRadialChart.tsx +173 -173
  361. package/src/components/Charts/IconRadialChart/types.ts +28 -28
  362. package/src/components/Charts/LineChart/LineChart.scss +92 -92
  363. package/src/components/Charts/LineChart/LineChart.stories.tsx +198 -198
  364. package/src/components/Charts/LineChart/LineChart.tsx +391 -391
  365. package/src/components/Charts/LineChart/index.ts +1 -1
  366. package/src/components/Charts/LineChart/types.ts +31 -31
  367. package/src/components/Charts/MultiRadialChart/MultiRadialChart.scss +85 -85
  368. package/src/components/Charts/MultiRadialChart/MultiRadialChart.stories.tsx +117 -117
  369. package/src/components/Charts/MultiRadialChart/MultiRadialChart.tsx +310 -306
  370. package/src/components/Charts/MultiRadialChart/index.ts +1 -1
  371. package/src/components/Charts/MultiRadialChart/types.ts +28 -28
  372. package/src/components/Charts/PieChart/PieChart.scss +41 -41
  373. package/src/components/Charts/PieChart/PieChart.stories.tsx +46 -46
  374. package/src/components/Charts/PieChart/PieChart.tsx +192 -192
  375. package/src/components/Charts/PieChart/index.ts +1 -1
  376. package/src/components/Charts/PieChart/types.ts +28 -28
  377. package/src/components/Charts/RadialChart/RadialChart.scss +16 -16
  378. package/src/components/Charts/RadialChart/RadialChart.stories.tsx +36 -36
  379. package/src/components/Charts/RadialChart/RadialChart.tsx +180 -180
  380. package/src/components/Charts/RadialChart/index.ts +1 -1
  381. package/src/components/Charts/RadialChart/types.ts +32 -32
  382. package/src/components/Checkbox/Checkbox.scss +148 -148
  383. package/src/components/Checkbox/Checkbox.stories.tsx +78 -78
  384. package/src/components/Checkbox/Checkbox.tsx +57 -57
  385. package/src/components/Checkbox/types.ts +34 -34
  386. package/src/components/Chip/Chip.scss +95 -95
  387. package/src/components/Chip/Chip.stories.tsx +125 -125
  388. package/src/components/Chip/Chip.tsx +39 -39
  389. package/src/components/Chip/index.ts +1 -1
  390. package/src/components/Chip/types.ts +19 -19
  391. package/src/components/ChooseFile/ChooseFile.stories.tsx +190 -190
  392. package/src/components/ChooseFile/ChooseFile.tsx +46 -46
  393. package/src/components/ChooseFile/types.ts +78 -78
  394. package/src/components/Comment/Comments.scss +166 -166
  395. package/src/components/Comment/Comments.stories.tsx +212 -212
  396. package/src/components/Comment/Comments.tsx +51 -51
  397. package/src/components/Comment/comment/Comment.tsx +206 -206
  398. package/src/components/Comment/comment/useNode.ts +51 -51
  399. package/src/components/Comment/index.ts +1 -1
  400. package/src/components/Comment/type.ts +36 -36
  401. package/src/components/ConditionalDropdown/ConditionalDropdown.scss +17 -17
  402. package/src/components/ConditionalDropdown/ConditionalDropdown.stories.tsx +151 -151
  403. package/src/components/ConditionalDropdown/ConditionalDropdown.tsx +157 -157
  404. package/src/components/ConditionalDropdown/OptionsDropdown.tsx +43 -43
  405. package/src/components/ConditionalDropdown/index.ts +1 -1
  406. package/src/components/ConditionalDropdown/types.ts +163 -163
  407. package/src/components/ConnectingBranch/BranchComponents/MachineInstances.tsx +143 -143
  408. package/src/components/ConnectingBranch/ConnectingBranch.scss +221 -221
  409. package/src/components/ConnectingBranch/ConnectingBranch.stories.tsx +53 -53
  410. package/src/components/ConnectingBranch/ConnectingBranch.tsx +196 -196
  411. package/src/components/ConnectingBranch/data.tsx +226 -226
  412. package/src/components/ConnectingBranch/index.ts +1 -1
  413. package/src/components/ConnectingBranch/types.ts +42 -42
  414. package/src/components/CreateVariable/CreateVariableSlider.scss +18 -18
  415. package/src/components/CreateVariable/CreateVariableSlider.stories.tsx +66 -66
  416. package/src/components/CreateVariable/CreateVariableSlider.tsx +95 -95
  417. package/src/components/CreateVariable/index.ts +1 -1
  418. package/src/components/CreateVariable/types.ts +58 -58
  419. package/src/components/DatePicker/DatePicker.scss +1028 -723
  420. package/src/components/DatePicker/DatePicker.stories.tsx +193 -193
  421. package/src/components/DatePicker/DatePicker.tsx +510 -502
  422. package/src/components/DatePicker/Timepicker.tsx +372 -372
  423. package/src/components/DatePicker/types.ts +109 -105
  424. package/src/components/DownloadClient/DownloadClient.scss +67 -67
  425. package/src/components/DownloadClient/DownloadClient.stories.tsx +26 -26
  426. package/src/components/DownloadClient/DownloadClient.tsx +90 -90
  427. package/src/components/DownloadClient/type.ts +33 -33
  428. package/src/components/DragAndDrop/DragAndDrop.d.ts +5 -5
  429. package/src/components/DragAndDrop/DragAndDrop.stories.tsx +25 -25
  430. package/src/components/DragAndDrop/DragAndDrop.ts +7 -7
  431. package/src/components/DragAndDrop/DragAndDropList.scss +69 -69
  432. package/src/components/DragAndDrop/DragAndDropList.tsx +151 -151
  433. package/src/components/Drawer/Drawer.scss +139 -139
  434. package/src/components/Drawer/Drawer.stories.tsx +157 -156
  435. package/src/components/Drawer/Drawer.tsx +237 -233
  436. package/src/components/Drawer/Types.ts +165 -161
  437. package/src/components/EditTextField/EditTextField.scss +97 -97
  438. package/src/components/EditTextField/EditTextField.stories.tsx +127 -127
  439. package/src/components/EditTextField/EditTextField.tsx +175 -175
  440. package/src/components/EditTextField/index.ts +1 -1
  441. package/src/components/EditTextField/types.ts +55 -55
  442. package/src/components/Editor/Editor.scss +61 -61
  443. package/src/components/Editor/Editor.stories.tsx +54 -54
  444. package/src/components/Editor/Editor.tsx +250 -250
  445. package/src/components/Editor/VariableDropdown.scss +28 -28
  446. package/src/components/Editor/VariableDropdown.tsx +57 -57
  447. package/src/components/Editor/constants.ts +180 -180
  448. package/src/components/Editor/types.ts +89 -89
  449. package/src/components/Excel/ColorBarSelector/ColorBarSelector.scss +15 -15
  450. package/src/components/Excel/ColorBarSelector/ColorBarSelector.tsx +43 -43
  451. package/src/components/Excel/ExcelContextMenu/ExcelContextMenu.scss +27 -27
  452. package/src/components/Excel/ExcelContextMenu/ExcelContextMenu.tsx +46 -42
  453. package/src/components/Excel/ExcelFile/ExcelFile.scss +60 -56
  454. package/src/components/Excel/ExcelFile/ExcelFile.tsx +534 -512
  455. package/src/components/Excel/ExcelFile/ExcelFileComponents/ActiveCell.tsx +183 -155
  456. package/src/components/Excel/ExcelFile/ExcelFileComponents/Cell.tsx +170 -206
  457. package/src/components/Excel/ExcelFile/ExcelFileComponents/ColumnIndicator.tsx +176 -176
  458. package/src/components/Excel/ExcelFile/ExcelFileComponents/Copied.tsx +25 -25
  459. package/src/components/Excel/ExcelFile/ExcelFileComponents/CornerIndicator.tsx +56 -56
  460. package/src/components/Excel/ExcelFile/ExcelFileComponents/DataEditor.tsx +40 -40
  461. package/src/components/Excel/ExcelFile/ExcelFileComponents/DataViewer.tsx +46 -85
  462. package/src/components/Excel/ExcelFile/ExcelFileComponents/FloatingRect.tsx +61 -61
  463. package/src/components/Excel/ExcelFile/ExcelFileComponents/HeaderRow.tsx +7 -7
  464. package/src/components/Excel/ExcelFile/ExcelFileComponents/Row.tsx +5 -5
  465. package/src/components/Excel/ExcelFile/ExcelFileComponents/RowIndicator.tsx +157 -157
  466. package/src/components/Excel/ExcelFile/ExcelFileComponents/Selected.tsx +32 -32
  467. package/src/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.scss +201 -201
  468. package/src/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.tsx +542 -531
  469. package/src/components/Excel/ExcelFile/ExcelFileComponents/Table.tsx +19 -19
  470. package/src/components/Excel/ExcelFile/ExcelFileComponents/actions.ts +575 -575
  471. package/src/components/Excel/ExcelFile/ExcelFileComponents/areModelsEqual.ts +18 -18
  472. package/src/components/Excel/ExcelFile/ExcelFileComponents/context.ts +12 -12
  473. package/src/components/Excel/ExcelFile/ExcelFileComponents/engine/engine.ts +153 -153
  474. package/src/components/Excel/ExcelFile/ExcelFileComponents/engine/formula.ts +31 -31
  475. package/src/components/Excel/ExcelFile/ExcelFileComponents/engine/index.ts +2 -2
  476. package/src/components/Excel/ExcelFile/ExcelFileComponents/engine/point-graph.ts +152 -152
  477. package/src/components/Excel/ExcelFile/ExcelFileComponents/engine/point-hash.ts +10 -10
  478. package/src/components/Excel/ExcelFile/ExcelFileComponents/engine/point-set.ts +69 -69
  479. package/src/components/Excel/ExcelFile/ExcelFileComponents/index.ts +49 -49
  480. package/src/components/Excel/ExcelFile/ExcelFileComponents/matrix.ts +382 -382
  481. package/src/components/Excel/ExcelFile/ExcelFileComponents/point-range.ts +82 -82
  482. package/src/components/Excel/ExcelFile/ExcelFileComponents/point.ts +15 -15
  483. package/src/components/Excel/ExcelFile/ExcelFileComponents/reducer.ts +716 -716
  484. package/src/components/Excel/ExcelFile/ExcelFileComponents/reducerFunctions.ts +887 -886
  485. package/src/components/Excel/ExcelFile/ExcelFileComponents/selection.ts +257 -257
  486. package/src/components/Excel/ExcelFile/ExcelFileComponents/types.ts +263 -266
  487. package/src/components/Excel/ExcelFile/ExcelFileComponents/typings/fast-formula-parser.d.ts +58 -58
  488. package/src/components/Excel/ExcelFile/ExcelFileComponents/use-dispatch.ts +8 -8
  489. package/src/components/Excel/ExcelFile/ExcelFileComponents/use-selector.ts +9 -9
  490. package/src/components/Excel/ExcelFile/ExcelFileComponents/util.ts +172 -172
  491. package/src/components/Excel/ExcelFile.stories.tsx +160 -168
  492. package/src/components/Excel/ExcelToolBar/ExcelToolBar.scss +96 -96
  493. package/src/components/Excel/ExcelToolBar/ExcelToolBar.tsx +434 -434
  494. package/src/components/Excel/Types.ts +198 -196
  495. package/src/components/Excel/dataConversion.ts +196 -196
  496. package/src/components/Excel/index.ts +1 -1
  497. package/src/components/ExpandableMenu/ExpandableMenu.scss +110 -110
  498. package/src/components/ExpandableMenu/ExpandableMenu.stories.tsx +67 -67
  499. package/src/components/ExpandableMenu/ExpandableMenu.tsx +101 -101
  500. package/src/components/ExpandableMenu/index.ts +1 -1
  501. package/src/components/ExpandableMenu/types.ts +34 -34
  502. package/src/components/FF_Captcha/Recaptcha.scss +10 -10
  503. package/src/components/FF_Captcha/Recaptcha.tsx +51 -41
  504. package/src/components/FF_Captcha/captcha.stories.tsx +40 -40
  505. package/src/components/FF_Captcha/types.ts +30 -22
  506. package/src/components/FieldSet/FieldSet.scss +10 -10
  507. package/src/components/FieldSet/FieldSet.stories.tsx +104 -104
  508. package/src/components/FieldSet/FieldSet.tsx +29 -29
  509. package/src/components/FieldSet/index.ts +1 -1
  510. package/src/components/FieldSet/types.ts +8 -8
  511. package/src/components/FileDropzone/Dropzone.tsx +108 -108
  512. package/src/components/FileDropzone/FileDropzone.scss +180 -180
  513. package/src/components/FileDropzone/FileDropzone.stories.tsx +273 -273
  514. package/src/components/FileDropzone/FileDropzone.tsx +166 -166
  515. package/src/components/FileDropzone/FilePreview.tsx +77 -77
  516. package/src/components/FileDropzone/RadioFilePreview.tsx +80 -80
  517. package/src/components/FileDropzone/index.ts +1 -1
  518. package/src/components/FileDropzone/types.ts +207 -207
  519. package/src/components/Form/Form.d.ts +2 -2
  520. package/src/components/Form/Form.scss +158 -158
  521. package/src/components/Form/Form.stories.tsx +508 -508
  522. package/src/components/Form/Form.ts +2 -2
  523. package/src/components/Form/Forms.tsx +39 -39
  524. package/src/components/Form/validation.json +29 -29
  525. package/src/components/GridLayout/GridLayout.scss +69 -69
  526. package/src/components/GridLayout/GridLayout.stories.tsx +90 -90
  527. package/src/components/GridLayout/GridLayout.tsx +39 -39
  528. package/src/components/GridLayout/GridLayoutStory.scss +25 -25
  529. package/src/components/GridLayout/types.ts +84 -84
  530. package/src/components/HighlightText/HighlightText.scss +3 -3
  531. package/src/components/HighlightText/HighlightText.stories.tsx +22 -22
  532. package/src/components/HighlightText/HighlightText.tsx +33 -33
  533. package/src/components/HighlightText/index.ts +1 -1
  534. package/src/components/HighlightText/types.ts +4 -4
  535. package/src/components/Icon/Icon.stories.tsx +112 -112
  536. package/src/components/Icon/Icon.tsx +88 -88
  537. package/src/components/Icon/Icons.scss +50 -50
  538. package/src/components/Icon/iconList.ts +515 -515
  539. package/src/components/Icon/index.ts +1 -1
  540. package/src/components/Icon/types.ts +14 -14
  541. package/src/components/IconButton/IconButton.scss +54 -54
  542. package/src/components/IconButton/IconButton.stories.tsx +34 -34
  543. package/src/components/IconButton/IconButton.tsx +32 -32
  544. package/src/components/IconButton/index.ts +1 -1
  545. package/src/components/IconButton/types.ts +5 -5
  546. package/src/components/IconRadioGroup/IconRadioGroup.scss +64 -64
  547. package/src/components/IconRadioGroup/IconRadioGroup.stories.tsx +108 -108
  548. package/src/components/IconRadioGroup/IconRadioGroup.tsx +73 -73
  549. package/src/components/IconRadioGroup/index.ts +1 -1
  550. package/src/components/IconRadioGroup/type.ts +49 -49
  551. package/src/components/Input/Input.scss +170 -170
  552. package/src/components/Input/Input.stories.tsx +153 -153
  553. package/src/components/Input/Input.tsx +122 -122
  554. package/src/components/Input/types.ts +89 -89
  555. package/src/components/InputWithDropdown/InputWithDropdown.scss +220 -220
  556. package/src/components/InputWithDropdown/InputWithDropdown.stories.tsx +169 -169
  557. package/src/components/InputWithDropdown/InputWithDropdown.tsx +129 -129
  558. package/src/components/InputWithDropdown/index.ts +1 -1
  559. package/src/components/InputWithDropdown/types.ts +113 -113
  560. package/src/components/LabelEditTextField/LabelEditTextField.scss +94 -94
  561. package/src/components/LabelEditTextField/LabelEditTextField.stories.tsx +198 -198
  562. package/src/components/LabelEditTextField/LabelEditTextField.tsx +267 -267
  563. package/src/components/LabelEditTextField/index.ts +1 -1
  564. package/src/components/LabelEditTextField/types.ts +51 -51
  565. package/src/components/LazyLoad/LazyLoad.d.ts +3 -3
  566. package/src/components/LazyLoad/LazyLoad.stories.tsx +34 -33
  567. package/src/components/LazyLoad/LazyLoad.ts +2 -2
  568. package/src/components/LazyLoad/LazyLoading.tsx +28 -19
  569. package/src/components/LazyLoad/index.ts +1 -1
  570. package/src/components/MachineInputField/MachineInputField.scss +59 -59
  571. package/src/components/MachineInputField/MachineInputField.stories.tsx +33 -33
  572. package/src/components/MachineInputField/MachineInputField.tsx +85 -85
  573. package/src/components/MachineInputField/index.ts +1 -1
  574. package/src/components/MachineInputField/types.ts +15 -15
  575. package/src/components/MenuOption/MenuOption.scss +97 -97
  576. package/src/components/MenuOption/MenuOption.stories.tsx +212 -212
  577. package/src/components/MenuOption/MenuOption.tsx +222 -222
  578. package/src/components/MenuOption/types.ts +231 -231
  579. package/src/components/MiniModal/MiniModal.scss +169 -169
  580. package/src/components/MiniModal/MiniModal.stories.tsx +740 -740
  581. package/src/components/MiniModal/MiniModal.tsx +346 -346
  582. package/src/components/MiniModal/index.ts +1 -1
  583. package/src/components/MiniModal/types.ts +124 -124
  584. package/src/components/Modal/Modal.stories.tsx +77 -70
  585. package/src/components/Modal/Modal.tsx +97 -100
  586. package/src/components/Modal/index.tsx +1 -1
  587. package/src/components/Modal/modal.scss +51 -51
  588. package/src/components/Modal/types.ts +43 -43
  589. package/src/components/ModulesChip/ModuleChip.scss +33 -33
  590. package/src/components/ModulesChip/ModuleChip.stories.tsx +41 -41
  591. package/src/components/ModulesChip/ModuleChip.tsx +28 -28
  592. package/src/components/ModulesChip/types.ts +14 -14
  593. package/src/components/MultiSelect/Dropdown.scss +77 -77
  594. package/src/components/MultiSelect/Dropdown.tsx +169 -169
  595. package/src/components/MultiSelect/MultiSelect.scss +247 -247
  596. package/src/components/MultiSelect/MultiSelect.stories.tsx +290 -290
  597. package/src/components/MultiSelect/MultiSelect.tsx +486 -486
  598. package/src/components/MultiSelect/MultiSelectTypes.ts +49 -49
  599. package/src/components/MultiSelect/dropdownTypes.ts +21 -21
  600. package/src/components/MultiSelect/index.ts +1 -1
  601. package/src/components/NLPInput/NLPInput.scss +302 -302
  602. package/src/components/NLPInput/NlpInput.stories.tsx +70 -70
  603. package/src/components/NLPInput/NlpInput.tsx +410 -410
  604. package/src/components/NLPInput/components/NlpDropDown/NlpDropDownType.ts +62 -62
  605. package/src/components/NLPInput/components/NlpDropDown/NlpDropdown.scss +134 -134
  606. package/src/components/NLPInput/components/NlpDropDown/NlpDropdown.tsx +320 -320
  607. package/src/components/NLPInput/index.ts +1 -1
  608. package/src/components/NLPInput/sampleData.ts +161 -161
  609. package/src/components/NLPInput/types.tsx +136 -136
  610. package/src/components/Paper/Paper.scss +13 -13
  611. package/src/components/Paper/Paper.stories.tsx +77 -77
  612. package/src/components/Paper/Paper.tsx +14 -14
  613. package/src/components/Paper/types.ts +19 -19
  614. package/src/components/PhoneInput/PhoneInput.d.ts +3 -3
  615. package/src/components/PhoneInput/PhoneInput.stories.tsx +70 -70
  616. package/src/components/PhoneInput/PhoneInput.tsx +98 -98
  617. package/src/components/PhoneInput/index.ts +1 -1
  618. package/src/components/PhoneInput/phoneInput.scss +901 -901
  619. package/src/components/PhoneInput/types.ts +16 -16
  620. package/src/components/PopUpModal/PopUpModal.scss +36 -36
  621. package/src/components/PopUpModal/PopUpModal.stories.tsx +67 -67
  622. package/src/components/PopUpModal/PopUpModal.tsx +87 -87
  623. package/src/components/PopUpModal/types.ts +17 -17
  624. package/src/components/ProgressBar/ProgressBar.scss +46 -46
  625. package/src/components/ProgressBar/ProgressBar.stories.tsx +22 -22
  626. package/src/components/ProgressBar/ProgressBar.tsx +61 -61
  627. package/src/components/ProgressBar/types.ts +12 -12
  628. package/src/components/RadioButton/RadioButton.scss +106 -106
  629. package/src/components/RadioButton/RadioButton.stories.tsx +43 -43
  630. package/src/components/RadioButton/RadioButton.tsx +41 -41
  631. package/src/components/RadioButton/index.ts +1 -1
  632. package/src/components/RadioButton/radioButtonTypes.tsx +62 -62
  633. package/src/components/RadioGroup/RadioGroup.scss +11 -11
  634. package/src/components/RadioGroup/RadioGroup.stories.tsx +150 -150
  635. package/src/components/RadioGroup/RadioGroup.tsx +49 -49
  636. package/src/components/RadioGroup/index.ts +1 -1
  637. package/src/components/RadioGroup/radioGroupTypes.tsx +96 -96
  638. package/src/components/ScriptSwitchButton/ScriptSwitchButton.scss +33 -33
  639. package/src/components/ScriptSwitchButton/ScriptSwitchButton.stories.tsx +48 -48
  640. package/src/components/ScriptSwitchButton/ScriptSwitchButton.tsx +65 -65
  641. package/src/components/ScriptSwitchButton/index.ts +1 -1
  642. package/src/components/Search/Search.scss +103 -103
  643. package/src/components/Search/Search.stories.tsx +44 -44
  644. package/src/components/Search/Search.tsx +138 -138
  645. package/src/components/Search/index.ts +1 -1
  646. package/src/components/Search/types.ts +19 -19
  647. package/src/components/Select/Select.scss +213 -213
  648. package/src/components/Select/Select.stories.tsx +440 -355
  649. package/src/components/Select/Select.tsx +286 -278
  650. package/src/components/Select/components/Dropdown.scss +61 -61
  651. package/src/components/Select/components/Dropdown.tsx +148 -140
  652. package/src/components/Select/components/types.ts +25 -24
  653. package/src/components/Select/index.ts +1 -1
  654. package/src/components/Select/types.ts +144 -134
  655. package/src/components/SequentialConnectingBranch/SequentialConnectingBranch.scss +128 -128
  656. package/src/components/SequentialConnectingBranch/SequentialConnectingBranch.stories.tsx +67 -67
  657. package/src/components/SequentialConnectingBranch/SequentialConnectingBranch.tsx +186 -186
  658. package/src/components/SequentialConnectingBranch/components/Branches/Branches.scss +191 -191
  659. package/src/components/SequentialConnectingBranch/components/Branches/Branches.tsx +326 -326
  660. package/src/components/SequentialConnectingBranch/components/Branches/types.ts +33 -33
  661. package/src/components/SequentialConnectingBranch/components/ConnectingBranches/ConnectingBranches.scss +3 -3
  662. package/src/components/SequentialConnectingBranch/components/ConnectingBranches/ConnectingBranches.tsx +78 -78
  663. package/src/components/SequentialConnectingBranch/components/ConnectingBranches/types.ts +25 -25
  664. package/src/components/SequentialConnectingBranch/index.ts +1 -1
  665. package/src/components/SequentialConnectingBranch/types.ts +66 -66
  666. package/src/components/StateDropdown/StateDropdown.stories.tsx +104 -104
  667. package/src/components/StateDropdown/StateDropdown.tsx +245 -245
  668. package/src/components/StateDropdown/StateDropdownTypes.tsx +27 -27
  669. package/src/components/StatusButton/StatusButton.scss +90 -90
  670. package/src/components/StatusButton/StatusButton.stories.tsx +91 -91
  671. package/src/components/StatusButton/StatusButton.tsx +46 -46
  672. package/src/components/StatusButton/index.ts +1 -1
  673. package/src/components/StatusButton/types.ts +45 -45
  674. package/src/components/StatusCard/StatusCard.scss +138 -138
  675. package/src/components/StatusCard/StatusCard.stories.tsx +117 -117
  676. package/src/components/StatusCard/StatusCard.tsx +80 -80
  677. package/src/components/StatusCard/index.ts +1 -1
  678. package/src/components/StatusCard/types.ts +18 -18
  679. package/src/components/Table/Table.scss +118 -118
  680. package/src/components/Table/Table.stories.tsx +373 -373
  681. package/src/components/Table/Table.tsx +178 -178
  682. package/src/components/Table/Types.ts +124 -124
  683. package/src/components/Table/index.ts +1 -1
  684. package/src/components/TableTree/Components/TableBody.tsx +41 -41
  685. package/src/components/TableTree/Components/TableCell.tsx +75 -75
  686. package/src/components/TableTree/Components/TableHead.tsx +39 -39
  687. package/src/components/TableTree/Components/TableRow.tsx +41 -41
  688. package/src/components/TableTree/TableTree.scss +210 -210
  689. package/src/components/TableTree/TableTree.stories.tsx +176 -176
  690. package/src/components/TableTree/TableTree.tsx +72 -72
  691. package/src/components/TableTree/TableTreeStories.scss +22 -22
  692. package/src/components/TableTree/Utils/getAllChildIds.ts +14 -14
  693. package/src/components/TableTree/data.ts +368 -368
  694. package/src/components/TableTree/index.ts +1 -1
  695. package/src/components/TableTree/types.ts +72 -72
  696. package/src/components/TableWithAccordion/TableWithAccordion.scss +54 -54
  697. package/src/components/TableWithAccordion/TableWithAccordion.stories.tsx +94 -94
  698. package/src/components/TableWithAccordion/TableWithAccordion.tsx +174 -174
  699. package/src/components/TableWithAccordion/data.ts +36 -36
  700. package/src/components/TableWithAccordion/types.ts +69 -69
  701. package/src/components/Tabs/Tabs.scss +132 -132
  702. package/src/components/Tabs/Tabs.stories.tsx +153 -153
  703. package/src/components/Tabs/Tabs.tsx +71 -71
  704. package/src/components/Tabs/index.ts +1 -1
  705. package/src/components/Tabs/types.ts +48 -48
  706. package/src/components/TextArea/Textarea.scss +144 -144
  707. package/src/components/TextArea/Textarea.stories.tsx +92 -92
  708. package/src/components/TextArea/Textarea.tsx +86 -86
  709. package/src/components/TextArea/Types.ts +85 -85
  710. package/src/components/TextArea/index.tsx +1 -1
  711. package/src/components/ThemeProvider/ThemeProvider.tsx +27 -27
  712. package/src/components/ThemeProvider/index.ts +1 -1
  713. package/src/components/ThemeProvider/types.ts +14 -14
  714. package/src/components/Toast/Toast.scss +121 -121
  715. package/src/components/Toast/Toast.stories.tsx +144 -144
  716. package/src/components/Toast/Toast.tsx +117 -117
  717. package/src/components/Toast/index.ts +1 -1
  718. package/src/components/Toast/types.ts +27 -27
  719. package/src/components/Toastify/Toastify.stories.tsx +71 -71
  720. package/src/components/Toastify/Toastify.tsx +95 -95
  721. package/src/components/Toastify/index.ts +1 -1
  722. package/src/components/Toastify/types.ts +9 -9
  723. package/src/components/Toggle/Toggle.scss +133 -133
  724. package/src/components/Toggle/Toggle.stories.tsx +132 -132
  725. package/src/components/Toggle/Toggle.tsx +96 -96
  726. package/src/components/Toggle/index.ts +1 -1
  727. package/src/components/Toggle/types.ts +43 -43
  728. package/src/components/ToggleSwitch/ToggleSwitch.scss +58 -58
  729. package/src/components/ToggleSwitch/ToggleSwitch.stories.tsx +52 -52
  730. package/src/components/ToggleSwitch/ToggleSwitch.tsx +30 -30
  731. package/src/components/ToggleSwitch/index.ts +1 -1
  732. package/src/components/Tooltip/Tooltip.scss +27 -27
  733. package/src/components/Tooltip/Tooltip.stories.tsx +98 -98
  734. package/src/components/Tooltip/Tooltip.tsx +194 -194
  735. package/src/components/Tooltip/index.ts +1 -1
  736. package/src/components/Tooltip/types.ts +66 -66
  737. package/src/components/Typography/Typography.scss +25 -25
  738. package/src/components/Typography/Typography.stories.tsx +59 -59
  739. package/src/components/Typography/Typography.tsx +41 -41
  740. package/src/components/Typography/index.ts +1 -1
  741. package/src/components/Typography/types.ts +57 -57
  742. package/src/components/VariableInput/VariableInput.scss +127 -127
  743. package/src/components/VariableInput/VariableInput.stories.tsx +32 -32
  744. package/src/components/VariableInput/VariableInput.tsx +352 -352
  745. package/src/components/VariableInput/types.ts +56 -56
  746. package/src/hooks/keyboardevents/useEscKeyEvent.tsx +30 -30
  747. package/src/hooks/useClickOutside.tsx +30 -30
  748. package/src/hooks/useFileDropzone.tsx +275 -275
  749. package/src/hooks/useIntersectionObserver.tsx +56 -56
  750. package/src/hooks/usePortalPosition.tsx +53 -53
  751. package/src/hooks/useTheme.tsx +13 -13
  752. package/src/index.ts +322 -302
  753. package/src/utils/FormatString/FormatString.stories.tsx +58 -58
  754. package/src/utils/FormatString/FormatString.tsx +41 -41
  755. package/src/utils/TableCell/TableCell.ts +16 -16
  756. package/src/utils/capitalize/capitalize.stories.tsx +44 -44
  757. package/src/utils/capitalize/capitalize.tsx +4 -4
  758. package/src/utils/checkDuplicates/CheckDuplicates.stories.tsx +40 -40
  759. package/src/utils/checkDuplicates/checkDuplicates.ts +13 -13
  760. package/src/utils/checkEmpty/checkEmpty.stories.tsx +34 -34
  761. package/src/utils/checkEmpty/checkEmpty.ts +24 -24
  762. package/src/utils/compareArrays/compareArrays.stories.tsx +62 -62
  763. package/src/utils/compareArrays/compareArrays.ts +31 -31
  764. package/src/utils/compareObjects/compareObjects.stories.tsx +51 -51
  765. package/src/utils/compareObjects/compareObjects.ts +53 -53
  766. package/src/utils/debounce/debounce.stories.tsx +81 -81
  767. package/src/utils/debounce/debounce.ts +28 -28
  768. package/src/utils/downloadFile/saveFileFromBlob.stories.tsx +62 -62
  769. package/src/utils/downloadFile/saveFileFromBlob.ts +40 -40
  770. package/src/utils/ffID/ffID.stories.tsx +35 -35
  771. package/src/utils/ffID/ffid.ts +7 -7
  772. package/src/utils/findAndInsert/findAndInsert.stories.tsx +119 -119
  773. package/src/utils/findAndInsert/findAndInsert.ts +49 -49
  774. package/src/utils/formData/ConvertFormDataToObject.stories.tsx +27 -27
  775. package/src/utils/formData/ConvertFormDataToObject.ts +14 -14
  776. package/src/utils/functionCheck/functionCheck.ts +8 -8
  777. package/src/utils/getEncryptedData/getEncryptedData.stories.tsx +55 -55
  778. package/src/utils/getEncryptedData/getEncryptedData.ts +8 -8
  779. package/src/utils/getExtension/getExtension.stories.tsx +24 -24
  780. package/src/utils/getExtension/getExtension.ts +28 -28
  781. package/src/utils/getSelectOptionValue/getSelectOptionValue.ts +31 -31
  782. package/src/utils/getSequentialPayload/getSequentialPayload.stories.tsx +72 -72
  783. package/src/utils/getSequentialPayload/getSequentialPayload.ts +16 -16
  784. package/src/utils/getSequentialPayload/types.ts +33 -33
  785. package/src/utils/keyBoardActionUtil/UseKeyboardAction.stories.tsx +53 -0
  786. package/src/utils/keyBoardActionUtil/UseKeyboardActions.tsx +20 -0
  787. package/src/utils/keyBoardActionUtil/types.ts +4 -0
  788. package/src/utils/throttle/throttle.stories.tsx +100 -100
  789. package/src/utils/throttle/throttle.ts +33 -33
  790. package/src/utils/truncateText/truncateText.stories.tsx +37 -37
  791. package/src/utils/truncateText/truncateText.ts +4 -4
  792. package/src/utils/validateFile/validateFile.stories.tsx +49 -49
  793. package/src/utils/validateFile/validateFile.ts +39 -39
  794. package/src/validations/regex.stories.tsx +425 -418
  795. package/src/validations/regex.ts +228 -224
  796. package/tsconfig.json +55 -55
  797. package/vite.config.js +14 -14
  798. package/lib/1fb4472b34e4fe07.css +0 -1
  799. package/lib/components/AddVariables/AddVariables.d.ts +0 -5
  800. package/lib/components/AddVariables/index.d.ts +0 -1
  801. package/lib/components/AddVariables/types.d.ts +0 -99
  802. package/lib/components/NLPInput/type.d.ts +0 -70
  803. package/lib/components/SequentialConnectingBranch/components/AddBrowserModal/AddBrowserModal.d.ts +0 -4
  804. package/lib/components/SequentialConnectingBranch/components/AddBrowserModal/types.d.ts +0 -3
  805. package/lib/components/SequentialConnectingBranch/components/DatasetListModal/DatasetListModal.d.ts +0 -4
  806. package/lib/components/SequentialConnectingBranch/components/DatasetListModal/types.d.ts +0 -3
  807. package/lib/index.css +0 -1
  808. package/lib/index.esm.css +0 -1
@@ -1,382 +1,382 @@
1
- import * as Point from './point';
2
-
3
- /** A two-dimensional array of given type T in rows and columns */
4
- export type Matrix<T> = Array<Array<T | undefined>>;
5
-
6
- /**
7
- * Creates an empty matrix with given rows and columns
8
- * @param rows - integer, the amount of rows the matrix should have
9
- * @param columns - integer, the amount of columns the matrix should have
10
- * @returns an empty matrix with given rows and columns
11
- */
12
- export function createEmpty<T>(rows: number, columns: number): Matrix<T> {
13
- const matrix = Array(rows);
14
- for (let i = 0; i < rows; i++) {
15
- matrix[i] = Array(columns);
16
- }
17
- return matrix;
18
- }
19
-
20
- /** Gets the value at row and column of matrix. */
21
- export function get<T>(point: Point.Point, matrix: Matrix<T>): T | undefined {
22
- const columns = matrix[point.row];
23
- if (columns === undefined) {
24
- return undefined;
25
- }
26
- return columns[point.column];
27
- }
28
-
29
- /** Creates a slice of matrix from startPoint up to, but not including, endPoint. */
30
- export function slice<T>(
31
- startPoint: Point.Point,
32
- endPoint: Point.Point,
33
- matrix: Matrix<T>
34
- ): Matrix<T> {
35
- const sliced: Matrix<T> = [];
36
- const columns = endPoint.column - startPoint.column;
37
- for (let row = startPoint.row; row <= endPoint.row; row++) {
38
- const slicedRow = row - startPoint.row;
39
- sliced[slicedRow] = sliced[slicedRow] || Array(columns);
40
- for (let column = startPoint.column; column <= endPoint.column; column++) {
41
- sliced[slicedRow][column - startPoint.column] = get(
42
- { row, column },
43
- matrix
44
- );
45
- }
46
- }
47
- return sliced;
48
- }
49
-
50
- /** Sets the value at row and column of matrix. If a row doesn't exist, it's created. */
51
-
52
- export function set<T>(
53
- point: Point.Point,
54
- value: T,
55
- matrix: Matrix<T>
56
- ): Matrix<T> {
57
- // Create a shallow copy of the matrix
58
- const nextMatrix = [...matrix];
59
-
60
- // Ensure the first row exists (initialize if undefined)
61
- const firstRow = matrix[0] ?? [];
62
- const nextFirstRow = [...firstRow];
63
-
64
- // Ensure the first row has enough columns to accommodate the specified column
65
- if (nextFirstRow.length <= point.column) {
66
- nextFirstRow.length = point.column + 1; // Extend the first row if needed
67
- }
68
-
69
- // Set the modified first row back into the matrix
70
- nextMatrix[0] = nextFirstRow;
71
-
72
- // Ensure the specified row exists (initialize if undefined)
73
- const nextRow = matrix[point.row] ?? [];
74
- const nextRowCopy = [...nextRow];
75
-
76
- // Set the value at the specified point
77
- nextRowCopy[point.column] = value;
78
-
79
- // Set the modified row back into the matrix
80
- nextMatrix[point.row] = nextRowCopy;
81
-
82
- return nextMatrix;
83
- }
84
-
85
- /** Like Matrix.set() but mutates the matrix */
86
-
87
- export function mutableSet<T>(
88
- point: Point.Point,
89
- value: T,
90
- matrix: Matrix<T>
91
- ): void {
92
- // Ensure that the first row exists, if not, create it
93
- let firstRow = matrix[0];
94
- if (!firstRow) {
95
- firstRow = [];
96
- matrix[0] = firstRow;
97
- }
98
-
99
- // Ensure the row at point.row exists, if not, create it
100
- let row = matrix[point.row];
101
- if (!row) {
102
- row = [];
103
- matrix[point.row] = row;
104
- }
105
-
106
- // Ensure that the first row has enough columns
107
- if (firstRow.length <= point.column) {
108
- firstRow.length = point.column + 1; // Extend the first row if needed
109
- }
110
-
111
- // Set the value at the specified point
112
- row[point.column] = value;
113
- }
114
-
115
- /** Removes the coordinate of matrix */
116
- // export function unset<T>(point: Point.Point, matrix: Matrix<T>): Matrix<T> {
117
- // if (!has(point, matrix)) {
118
- // return matrix;
119
- // }
120
- // const nextMatrix = [...matrix];
121
- // const nextRow = [...matrix[point.row]];
122
-
123
- // // Avoid deleting to preserve first row length
124
- // nextRow[point.column] = undefined;
125
- // nextMatrix[point.row] = nextRow;
126
-
127
- // return nextMatrix;
128
- // }
129
-
130
- export function unset<T>(point: Point.Point, matrix: Matrix<T>): Matrix<T> {
131
- // Check if the point exists in the matrix
132
- if (!has(point, matrix)) {
133
- return matrix;
134
- }
135
-
136
- // Create a shallow copy of the matrix
137
- const nextMatrix = [...matrix];
138
-
139
- // Check if the row exists before trying to copy it
140
- const currentRow = matrix[point.row];
141
- if (currentRow) {
142
- // Create a shallow copy of the row
143
- const nextRow = [...currentRow];
144
- // Avoid deleting to preserve first row length
145
- nextRow[point.column] = undefined;
146
-
147
- // Update the matrix with the modified row
148
- nextMatrix[point.row] = nextRow;
149
- }
150
-
151
- return nextMatrix;
152
- }
153
-
154
- /** Creates an array of values by running each element in collection thru iteratee. */
155
- export function map<T, T2>(
156
- func: (value: T | undefined, point: Point.Point) => T2,
157
- matrix: Matrix<T>
158
- ): Matrix<T2> {
159
- const newMatrix: Matrix<T2> = [];
160
- for (const [point, value] of entries(matrix)) {
161
- mutableSet(point, func(value, point), newMatrix);
162
- }
163
- return newMatrix;
164
- }
165
-
166
- /** Create an iterator over the cells in the matrix */
167
- export function* entries<T>(
168
- matrix: Matrix<T>
169
- ): IterableIterator<[Point.Point, T | undefined]> {
170
- for (const [row, values] of matrix.entries()) {
171
- for (const [column, value] of values.entries()) {
172
- const point = { row, column };
173
- yield [point, value];
174
- }
175
- }
176
- }
177
-
178
- /**
179
- * Converts all elements in row into a string separated by horizontalSeparator and each row string
180
- * to string separated by verticalSeparator
181
- */
182
-
183
- export function join(
184
- matrix: Matrix<unknown>,
185
- horizontalSeparator = '\t',
186
- verticalSeparator = '\n'
187
- ): string {
188
- let joined = '';
189
- const { rows, columns } = getSize(matrix);
190
-
191
- for (let row = 0; row < rows; row++) {
192
- if (row) {
193
- joined += verticalSeparator;
194
- }
195
-
196
- for (let column = 0; column < columns; column++) {
197
- if (column) {
198
- joined += horizontalSeparator;
199
- }
200
-
201
- // Ensure matrix[row] exists and matrix[row][column] is not undefined
202
- const cellValue = matrix[row]?.[column];
203
-
204
- // If cellValue is undefined, you can use a fallback value like an empty string
205
- joined += cellValue !== undefined ? String(cellValue) : '';
206
- }
207
- }
208
-
209
- return joined;
210
- }
211
-
212
- /**
213
- * Parses a CSV separated by a horizontalSeparator and verticalSeparator into a
214
- * Matrix using a transform function
215
- */
216
- export function split<T>(
217
- csv: string,
218
- transform: (value: string) => T,
219
- horizontalSeparator = '\t',
220
- verticalSeparator: string | RegExp = /\r\n|\n|\r/
221
- ): Matrix<T> {
222
- // Temporarily replace line breaks inside quotes
223
- const replaced = csv.replace(/"([^"]*?)"/g, (_, p1) => {
224
- return p1.replace(/\n/g, '\\n');
225
- });
226
- return replaced.split(verticalSeparator).map((row) =>
227
- row
228
- .split(horizontalSeparator)
229
- .map((line) => {
230
- // Restore original line breaks in each line
231
- return line.replace(/\\n/g, '\n');
232
- })
233
- .map(transform)
234
- );
235
- }
236
-
237
- /** Returns whether the point exists in the matrix or not. */
238
- export function has(point: Point.Point, matrix: Matrix<unknown>): boolean {
239
- const firstRow = matrix[0];
240
- if (!firstRow) {
241
- return false; // If first row is undefined, return false
242
- }
243
-
244
- // Perform validation checks
245
- return (
246
- point.row >= 0 &&
247
- point.column >= 0 &&
248
- Number.isInteger(point.row) &&
249
- Number.isInteger(point.column) &&
250
- point.column < firstRow.length &&
251
- point.row < matrix.length
252
- );
253
- }
254
-
255
- /** Counts of the rows and column in a matrix */
256
- export type Size = {
257
- /** Count of the rows in the matrix */
258
- rows: number;
259
- /** Count of the columns in the matrix */
260
- columns: number;
261
- };
262
-
263
- /** Gets the count of rows and columns of given matrix */
264
- export function getSize(matrix: Matrix<unknown>): Size {
265
- return {
266
- columns: getColumnsCount(matrix),
267
- rows: getRowsCount(matrix),
268
- };
269
- }
270
-
271
- /** Gets the count of rows of given matrix */
272
- export function getRowsCount(matrix: Matrix<unknown>): number {
273
- return matrix.length;
274
- }
275
-
276
- /** Gets the count of columns of given matrix */
277
- export function getColumnsCount(matrix: Matrix<unknown>): number {
278
- const firstRow = matrix[0];
279
- return firstRow ? firstRow.length : 0;
280
- }
281
-
282
- /**
283
- * Pads matrix with empty rows to match given total rows
284
- * @param matrix - matrix to pad
285
- * @param totalRows - number of rows the matrix should have
286
- * @returns the updated matrix
287
- */
288
- export function padRows<T>(matrix: Matrix<T>, totalRows: number): Matrix<T> {
289
- const { rows, columns } = getSize(matrix);
290
-
291
- if (rows >= totalRows) {
292
- return matrix;
293
- }
294
-
295
- const missingRows = totalRows - rows;
296
- const emptyRow = Array(columns).fill(undefined);
297
- const emptyRows = Array(missingRows).fill(emptyRow);
298
- return [...matrix, ...emptyRows];
299
- }
300
-
301
- /**
302
- * Pads matrix with empty columns to match given total columns
303
- * @param matrix - matrix to pad
304
- * @param size - minimum size of the matrix after padding.
305
- * @returns the updated matrix
306
- */
307
- export function pad<T>(matrix: Matrix<T>, size: Size): Matrix<T> {
308
- const { rows, columns } = getSize(matrix);
309
-
310
- if (rows >= size.rows && columns >= size.columns) {
311
- // Optimization, no padding required.
312
- return matrix;
313
- }
314
-
315
- const resultSize: Size = {
316
- rows: size.rows > rows ? size.rows : rows,
317
- columns: size.columns > columns ? size.columns : columns,
318
- };
319
-
320
- let padded = [...matrix];
321
- if (resultSize.columns > columns) {
322
- const padColumns = resultSize.columns - columns;
323
- padded = padded.map((row) => [
324
- ...row,
325
- ...Array(padColumns).fill(undefined),
326
- ]);
327
- }
328
-
329
- if (resultSize.rows > rows) {
330
- const padRows = resultSize.rows - rows;
331
- const emptyRow = Array(resultSize.columns).fill(undefined);
332
- padded = [...padded, ...Array(padRows).fill(emptyRow)];
333
- }
334
-
335
- return padded;
336
- }
337
-
338
- export function toArray<T>(matrix: Matrix<T>): T[];
339
- export function toArray<T1, T2>(
340
- matrix: Matrix<T1>,
341
- transform: (cell: T1 | undefined, coords: Point.Point) => T2
342
- ): T2[];
343
-
344
- /**
345
- * Flattens a matrix values to an array
346
- * @param matrix - the matrix to flatten values from
347
- * @param transform - optional transform function to apply to each value in the
348
- * matrix
349
- * @returns an array of the values from matrix, transformed if a transform
350
- * function is passed
351
- */
352
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
353
-
354
- export function toArray<T1, T2>(
355
- matrix: Matrix<T1>,
356
- transform?: (cell: T1 | undefined, coords: Point.Point) => T2
357
- ): T2[] {
358
- const array: T2[] = [];
359
-
360
- for (let row = 0; row < matrix.length; row++) {
361
- const currentRow = matrix[row];
362
-
363
- // Ensure the row is not undefined
364
- if (currentRow !== undefined) {
365
- for (let column = 0; column < currentRow.length; column++) {
366
- const value = currentRow[column];
367
- // If transform is provided, apply it; otherwise, use the value as is
368
- array.push(
369
- transform ? transform(value, { row, column }) : (value as T2)
370
- );
371
- }
372
- }
373
- }
374
-
375
- return array;
376
- }
377
-
378
- /** Returns the maximum point in the matrix */
379
- export function maxPoint(matrix: Matrix<unknown>): Point.Point {
380
- const size = getSize(matrix);
381
- return { row: size.rows - 1, column: size.columns - 1 };
382
- }
1
+ import * as Point from './point';
2
+
3
+ /** A two-dimensional array of given type T in rows and columns */
4
+ export type Matrix<T> = Array<Array<T | undefined>>;
5
+
6
+ /**
7
+ * Creates an empty matrix with given rows and columns
8
+ * @param rows - integer, the amount of rows the matrix should have
9
+ * @param columns - integer, the amount of columns the matrix should have
10
+ * @returns an empty matrix with given rows and columns
11
+ */
12
+ export function createEmpty<T>(rows: number, columns: number): Matrix<T> {
13
+ const matrix = Array(rows);
14
+ for (let i = 0; i < rows; i++) {
15
+ matrix[i] = Array(columns);
16
+ }
17
+ return matrix;
18
+ }
19
+
20
+ /** Gets the value at row and column of matrix. */
21
+ export function get<T>(point: Point.Point, matrix: Matrix<T>): T | undefined {
22
+ const columns = matrix[point.row];
23
+ if (columns === undefined) {
24
+ return undefined;
25
+ }
26
+ return columns[point.column];
27
+ }
28
+
29
+ /** Creates a slice of matrix from startPoint up to, but not including, endPoint. */
30
+ export function slice<T>(
31
+ startPoint: Point.Point,
32
+ endPoint: Point.Point,
33
+ matrix: Matrix<T>
34
+ ): Matrix<T> {
35
+ const sliced: Matrix<T> = [];
36
+ const columns = endPoint.column - startPoint.column;
37
+ for (let row = startPoint.row; row <= endPoint.row; row++) {
38
+ const slicedRow = row - startPoint.row;
39
+ sliced[slicedRow] = sliced[slicedRow] || Array(columns);
40
+ for (let column = startPoint.column; column <= endPoint.column; column++) {
41
+ sliced[slicedRow][column - startPoint.column] = get(
42
+ { row, column },
43
+ matrix
44
+ );
45
+ }
46
+ }
47
+ return sliced;
48
+ }
49
+
50
+ /** Sets the value at row and column of matrix. If a row doesn't exist, it's created. */
51
+
52
+ export function set<T>(
53
+ point: Point.Point,
54
+ value: T,
55
+ matrix: Matrix<T>
56
+ ): Matrix<T> {
57
+ // Create a shallow copy of the matrix
58
+ const nextMatrix = [...matrix];
59
+
60
+ // Ensure the first row exists (initialize if undefined)
61
+ const firstRow = matrix[0] ?? [];
62
+ const nextFirstRow = [...firstRow];
63
+
64
+ // Ensure the first row has enough columns to accommodate the specified column
65
+ if (nextFirstRow.length <= point.column) {
66
+ nextFirstRow.length = point.column + 1; // Extend the first row if needed
67
+ }
68
+
69
+ // Set the modified first row back into the matrix
70
+ nextMatrix[0] = nextFirstRow;
71
+
72
+ // Ensure the specified row exists (initialize if undefined)
73
+ const nextRow = matrix[point.row] ?? [];
74
+ const nextRowCopy = [...nextRow];
75
+
76
+ // Set the value at the specified point
77
+ nextRowCopy[point.column] = value;
78
+
79
+ // Set the modified row back into the matrix
80
+ nextMatrix[point.row] = nextRowCopy;
81
+
82
+ return nextMatrix;
83
+ }
84
+
85
+ /** Like Matrix.set() but mutates the matrix */
86
+
87
+ export function mutableSet<T>(
88
+ point: Point.Point,
89
+ value: T,
90
+ matrix: Matrix<T>
91
+ ): void {
92
+ // Ensure that the first row exists, if not, create it
93
+ let firstRow = matrix[0];
94
+ if (!firstRow) {
95
+ firstRow = [];
96
+ matrix[0] = firstRow;
97
+ }
98
+
99
+ // Ensure the row at point.row exists, if not, create it
100
+ let row = matrix[point.row];
101
+ if (!row) {
102
+ row = [];
103
+ matrix[point.row] = row;
104
+ }
105
+
106
+ // Ensure that the first row has enough columns
107
+ if (firstRow.length <= point.column) {
108
+ firstRow.length = point.column + 1; // Extend the first row if needed
109
+ }
110
+
111
+ // Set the value at the specified point
112
+ row[point.column] = value;
113
+ }
114
+
115
+ /** Removes the coordinate of matrix */
116
+ // export function unset<T>(point: Point.Point, matrix: Matrix<T>): Matrix<T> {
117
+ // if (!has(point, matrix)) {
118
+ // return matrix;
119
+ // }
120
+ // const nextMatrix = [...matrix];
121
+ // const nextRow = [...matrix[point.row]];
122
+
123
+ // // Avoid deleting to preserve first row length
124
+ // nextRow[point.column] = undefined;
125
+ // nextMatrix[point.row] = nextRow;
126
+
127
+ // return nextMatrix;
128
+ // }
129
+
130
+ export function unset<T>(point: Point.Point, matrix: Matrix<T>): Matrix<T> {
131
+ // Check if the point exists in the matrix
132
+ if (!has(point, matrix)) {
133
+ return matrix;
134
+ }
135
+
136
+ // Create a shallow copy of the matrix
137
+ const nextMatrix = [...matrix];
138
+
139
+ // Check if the row exists before trying to copy it
140
+ const currentRow = matrix[point.row];
141
+ if (currentRow) {
142
+ // Create a shallow copy of the row
143
+ const nextRow = [...currentRow];
144
+ // Avoid deleting to preserve first row length
145
+ nextRow[point.column] = undefined;
146
+
147
+ // Update the matrix with the modified row
148
+ nextMatrix[point.row] = nextRow;
149
+ }
150
+
151
+ return nextMatrix;
152
+ }
153
+
154
+ /** Creates an array of values by running each element in collection thru iteratee. */
155
+ export function map<T, T2>(
156
+ func: (value: T | undefined, point: Point.Point) => T2,
157
+ matrix: Matrix<T>
158
+ ): Matrix<T2> {
159
+ const newMatrix: Matrix<T2> = [];
160
+ for (const [point, value] of entries(matrix)) {
161
+ mutableSet(point, func(value, point), newMatrix);
162
+ }
163
+ return newMatrix;
164
+ }
165
+
166
+ /** Create an iterator over the cells in the matrix */
167
+ export function* entries<T>(
168
+ matrix: Matrix<T>
169
+ ): IterableIterator<[Point.Point, T | undefined]> {
170
+ for (const [row, values] of matrix.entries()) {
171
+ for (const [column, value] of values.entries()) {
172
+ const point = { row, column };
173
+ yield [point, value];
174
+ }
175
+ }
176
+ }
177
+
178
+ /**
179
+ * Converts all elements in row into a string separated by horizontalSeparator and each row string
180
+ * to string separated by verticalSeparator
181
+ */
182
+
183
+ export function join(
184
+ matrix: Matrix<unknown>,
185
+ horizontalSeparator = '\t',
186
+ verticalSeparator = '\n'
187
+ ): string {
188
+ let joined = '';
189
+ const { rows, columns } = getSize(matrix);
190
+
191
+ for (let row = 0; row < rows; row++) {
192
+ if (row) {
193
+ joined += verticalSeparator;
194
+ }
195
+
196
+ for (let column = 0; column < columns; column++) {
197
+ if (column) {
198
+ joined += horizontalSeparator;
199
+ }
200
+
201
+ // Ensure matrix[row] exists and matrix[row][column] is not undefined
202
+ const cellValue = matrix[row]?.[column];
203
+
204
+ // If cellValue is undefined, you can use a fallback value like an empty string
205
+ joined += cellValue !== undefined ? String(cellValue) : '';
206
+ }
207
+ }
208
+
209
+ return joined;
210
+ }
211
+
212
+ /**
213
+ * Parses a CSV separated by a horizontalSeparator and verticalSeparator into a
214
+ * Matrix using a transform function
215
+ */
216
+ export function split<T>(
217
+ csv: string,
218
+ transform: (value: string) => T,
219
+ horizontalSeparator = '\t',
220
+ verticalSeparator: string | RegExp = /\r\n|\n|\r/
221
+ ): Matrix<T> {
222
+ // Temporarily replace line breaks inside quotes
223
+ const replaced = csv.replace(/"([^"]*?)"/g, (_, p1) => {
224
+ return p1.replace(/\n/g, '\\n');
225
+ });
226
+ return replaced.split(verticalSeparator).map((row) =>
227
+ row
228
+ .split(horizontalSeparator)
229
+ .map((line) => {
230
+ // Restore original line breaks in each line
231
+ return line.replace(/\\n/g, '\n');
232
+ })
233
+ .map(transform)
234
+ );
235
+ }
236
+
237
+ /** Returns whether the point exists in the matrix or not. */
238
+ export function has(point: Point.Point, matrix: Matrix<unknown>): boolean {
239
+ const firstRow = matrix[0];
240
+ if (!firstRow) {
241
+ return false; // If first row is undefined, return false
242
+ }
243
+
244
+ // Perform validation checks
245
+ return (
246
+ point.row >= 0 &&
247
+ point.column >= 0 &&
248
+ Number.isInteger(point.row) &&
249
+ Number.isInteger(point.column) &&
250
+ point.column < firstRow.length &&
251
+ point.row < matrix.length
252
+ );
253
+ }
254
+
255
+ /** Counts of the rows and column in a matrix */
256
+ export type Size = {
257
+ /** Count of the rows in the matrix */
258
+ rows: number;
259
+ /** Count of the columns in the matrix */
260
+ columns: number;
261
+ };
262
+
263
+ /** Gets the count of rows and columns of given matrix */
264
+ export function getSize(matrix: Matrix<unknown>): Size {
265
+ return {
266
+ columns: getColumnsCount(matrix),
267
+ rows: getRowsCount(matrix),
268
+ };
269
+ }
270
+
271
+ /** Gets the count of rows of given matrix */
272
+ export function getRowsCount(matrix: Matrix<unknown>): number {
273
+ return matrix.length;
274
+ }
275
+
276
+ /** Gets the count of columns of given matrix */
277
+ export function getColumnsCount(matrix: Matrix<unknown>): number {
278
+ const firstRow = matrix[0];
279
+ return firstRow ? firstRow.length : 0;
280
+ }
281
+
282
+ /**
283
+ * Pads matrix with empty rows to match given total rows
284
+ * @param matrix - matrix to pad
285
+ * @param totalRows - number of rows the matrix should have
286
+ * @returns the updated matrix
287
+ */
288
+ export function padRows<T>(matrix: Matrix<T>, totalRows: number): Matrix<T> {
289
+ const { rows, columns } = getSize(matrix);
290
+
291
+ if (rows >= totalRows) {
292
+ return matrix;
293
+ }
294
+
295
+ const missingRows = totalRows - rows;
296
+ const emptyRow = Array(columns).fill(undefined);
297
+ const emptyRows = Array(missingRows).fill(emptyRow);
298
+ return [...matrix, ...emptyRows];
299
+ }
300
+
301
+ /**
302
+ * Pads matrix with empty columns to match given total columns
303
+ * @param matrix - matrix to pad
304
+ * @param size - minimum size of the matrix after padding.
305
+ * @returns the updated matrix
306
+ */
307
+ export function pad<T>(matrix: Matrix<T>, size: Size): Matrix<T> {
308
+ const { rows, columns } = getSize(matrix);
309
+
310
+ if (rows >= size.rows && columns >= size.columns) {
311
+ // Optimization, no padding required.
312
+ return matrix;
313
+ }
314
+
315
+ const resultSize: Size = {
316
+ rows: size.rows > rows ? size.rows : rows,
317
+ columns: size.columns > columns ? size.columns : columns,
318
+ };
319
+
320
+ let padded = [...matrix];
321
+ if (resultSize.columns > columns) {
322
+ const padColumns = resultSize.columns - columns;
323
+ padded = padded.map((row) => [
324
+ ...row,
325
+ ...Array(padColumns).fill(undefined),
326
+ ]);
327
+ }
328
+
329
+ if (resultSize.rows > rows) {
330
+ const padRows = resultSize.rows - rows;
331
+ const emptyRow = Array(resultSize.columns).fill(undefined);
332
+ padded = [...padded, ...Array(padRows).fill(emptyRow)];
333
+ }
334
+
335
+ return padded;
336
+ }
337
+
338
+ export function toArray<T>(matrix: Matrix<T>): T[];
339
+ export function toArray<T1, T2>(
340
+ matrix: Matrix<T1>,
341
+ transform: (cell: T1 | undefined, coords: Point.Point) => T2
342
+ ): T2[];
343
+
344
+ /**
345
+ * Flattens a matrix values to an array
346
+ * @param matrix - the matrix to flatten values from
347
+ * @param transform - optional transform function to apply to each value in the
348
+ * matrix
349
+ * @returns an array of the values from matrix, transformed if a transform
350
+ * function is passed
351
+ */
352
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
353
+
354
+ export function toArray<T1, T2>(
355
+ matrix: Matrix<T1>,
356
+ transform?: (cell: T1 | undefined, coords: Point.Point) => T2
357
+ ): T2[] {
358
+ const array: T2[] = [];
359
+
360
+ for (let row = 0; row < matrix.length; row++) {
361
+ const currentRow = matrix[row];
362
+
363
+ // Ensure the row is not undefined
364
+ if (currentRow !== undefined) {
365
+ for (let column = 0; column < currentRow.length; column++) {
366
+ const value = currentRow[column];
367
+ // If transform is provided, apply it; otherwise, use the value as is
368
+ array.push(
369
+ transform ? transform(value, { row, column }) : (value as T2)
370
+ );
371
+ }
372
+ }
373
+ }
374
+
375
+ return array;
376
+ }
377
+
378
+ /** Returns the maximum point in the matrix */
379
+ export function maxPoint(matrix: Matrix<unknown>): Point.Point {
380
+ const size = getSize(matrix);
381
+ return { row: size.rows - 1, column: size.columns - 1 };
382
+ }