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