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,326 +1,344 @@
1
- import { useEffect, useRef, useState, useCallback, forwardRef } from 'react';
2
- import { createPortal } from 'react-dom';
3
- import { MiniEditModalProps, Rect, AvailableSpace } from './types.js';
4
- import Button from '../Button/Button.js';
5
- import useEscapeKey from '../../hooks/keyboardevents/useEscKeyEvent.js';
6
- import useClickOutside from '../../hooks/useClickOutside';
7
- import classNames from 'classnames';
8
- import './MiniModal.scss';
9
- import Typography from '../Typography';
10
-
11
- const MiniModal = forwardRef<HTMLDivElement, MiniEditModalProps>(
12
- (
13
- {
14
- anchorRef,
15
- headerProps,
16
- childContent,
17
- cancelButtonProps = () => {},
18
- proceedButtonProps = () => {},
19
- footerContent,
20
- isWrapped = false,
21
- isAnimated = false,
22
- isPopOver = false,
23
- modalPosition = 'bottom',
24
- leftTopArrow = false,
25
- firstAnchorRef,
26
- anchorRefLeftNum,
27
- modalProperties,
28
- anchorLeftDistanceForWrapper = 170,
29
- extraTopSpace,
30
- extraRightSpace,
31
- extraLeftSpace,
32
- isIconModel,
33
- wrapperProperties,
34
- arrowZIndex,
35
- overlay,
36
- outSideClick,
37
- },
38
- ref
39
- ) => {
40
- const [modalPositionState, setModalPositionState] = useState({
41
- top: 0,
42
- left: 0,
43
- });
44
- const [isVisible, setIsVisible] = useState(false);
45
- const modalRef = useRef<HTMLDivElement>(null);
46
-
47
- // Function to calculate available space
48
- const getAvailableSpace = (rect: Rect): AvailableSpace => {
49
- const { top, left, bottom, right } = rect;
50
- const viewportWidth = window.innerWidth;
51
- const viewportHeight = window.innerHeight;
52
-
53
- return {
54
- spaceTop: top,
55
- spaceLeft: left,
56
- spaceRight: viewportWidth - right,
57
- spaceBottom: viewportHeight - bottom,
58
- };
59
- };
60
-
61
- // Helper function to get the anchor element
62
- const getAnchorElement = () => {
63
- if (typeof anchorRef === 'string') {
64
- return document.getElementById(anchorRef);
65
- }
66
- return anchorRef?.current || null;
67
- };
68
-
69
- const anchorElement = getAnchorElement();
70
- const anchorRect = anchorElement?.getBoundingClientRect();
71
-
72
- if (!isWrapped && anchorRect) {
73
- const availableSpace = getAvailableSpace(anchorRect);
74
- switch (modalPosition) {
75
- case 'top':
76
- if (availableSpace.spaceTop < (modalProperties?.height ?? 150)) {
77
- modalPosition = 'bottom';
78
- }
79
- break;
80
- case 'left':
81
- if (availableSpace.spaceLeft < (modalProperties?.width ?? 480)) {
82
- modalPosition = 'right';
83
- }
84
- break;
85
- case 'right':
86
- if (availableSpace.spaceRight < (modalProperties?.width ?? 480)) {
87
- modalPosition = 'left';
88
- }
89
- break;
90
- case 'bottom':
91
- if (availableSpace.spaceBottom < (modalProperties?.height ?? 150)) {
92
- modalPosition = 'top';
93
- }
94
- break;
95
- default:
96
- break;
97
- }
98
- }
99
-
100
- // Specify for the wrapper div left position
101
- const calculateAnchorRefLeft = (anchorRefLeftNum?: number) => {
102
- if (anchorRefLeftNum) {
103
- return anchorRefLeftNum;
104
- }
105
- return 0;
106
- };
107
-
108
- // Specify for the arrow position in left or top
109
- const getArrowClassName = () => {
110
- if (leftTopArrow && modalPosition === 'right') {
111
- return 'left-top-arrow';
112
- }
113
- return modalPosition === 'right' ? 'left-middle-arrow' : '';
114
- };
115
- const calculatedAnchorRefLeft = calculateAnchorRefLeft(anchorRefLeftNum);
116
-
117
- // Specify specific wrapper modal position
118
- const firstAnchor =
119
- firstAnchorRef?.current &&
120
- firstAnchorRef?.current?.getBoundingClientRect().left -
121
- anchorLeftDistanceForWrapper;
122
-
123
- // Specifying the modal top
124
- const calculateModalTop = () => {
125
- const safeHeight = modalProperties?.height ?? 0;
126
- if (modalPosition === 'bottom') {
127
- return isWrapped
128
- ? modalPositionState.top + (extraTopSpace?.wrappedModal ?? 5)
129
- : modalPositionState.top + (extraTopSpace?.normalModal ?? 10);
130
- } else if (modalPosition === 'right') {
131
- return leftTopArrow
132
- ? modalPositionState.top - (extraRightSpace?.leftTopArrow ?? 30)
133
- : modalPositionState?.top -
134
- safeHeight / (extraRightSpace?.middleLeftArrow ?? 3.5);
135
- } else if (modalPosition === 'top') {
136
- return (
137
- modalPositionState.top -
138
- (safeHeight + (extraTopSpace?.normalModal ?? 10))
139
- );
140
- }
141
- return modalPositionState.top - safeHeight / 1.5;
142
- };
143
- const calculatedModalTop = calculateModalTop();
144
-
145
- // Specifying the modal left
146
- const calculateModalLeft = () => {
147
- if (modalPosition === 'right') {
148
- return (
149
- modalPositionState.left + (extraLeftSpace?.rightAlignModal ?? 40)
150
- );
151
- } else if (firstAnchorRef) {
152
- return firstAnchor;
153
- } else if (modalPosition === 'left') {
154
- return modalPositionState.left - (modalProperties?.width ?? 404) - 15;
155
- } else {
156
- return modalPositionState.left - (extraLeftSpace?.normal ?? 30);
157
- }
158
- };
159
- const calculatedModalLeft = calculateModalLeft();
160
-
161
- // Handle escape and enter functionality
162
- const handleEsc = useEscapeKey('Escape');
163
- const handleEnter = useEscapeKey('Enter');
164
- handleEsc(outSideClick);
165
- handleEnter(proceedButtonProps?.onClick);
166
- useClickOutside(modalRef, outSideClick);
167
-
168
- // Calculate the modal position
169
- const calculatePosition = useCallback(() => {
170
- const anchorRect = anchorElement?.getBoundingClientRect();
171
- if (anchorRect) {
172
- const { bottom, left } = anchorRect;
173
- const { scrollX, scrollY } = window;
174
- let topPosition = bottom + scrollY;
175
- let leftPosition = left + scrollX;
176
-
177
- setModalPositionState({
178
- top: topPosition,
179
- left: leftPosition,
180
- });
181
- }
182
- }, [anchorElement]);
183
-
184
- useEffect(() => {
185
- const timeoutId = setTimeout(() => {
186
- setIsVisible(true);
187
- calculatePosition();
188
- }, 100);
189
- window.addEventListener('resize', calculatePosition);
190
- window.addEventListener('scroll', calculatePosition);
191
-
192
- return () => {
193
- window.removeEventListener('resize', calculatePosition);
194
- clearTimeout(timeoutId);
195
- window.removeEventListener('scroll', calculatePosition);
196
- };
197
- }, [calculatePosition]);
198
-
199
- const {
200
- width: modalWidth,
201
- height: modalHeight,
202
- borderRadius: modalBorderRadius = 4,
203
- zIndex: modalZIndex = 99,
204
- boxShadow: modalBoxShadow,
205
- } = modalProperties || {};
206
-
207
- const {
208
- width: wrapperWidth = 35,
209
- zIndex: wrapperZIndex = 101,
210
- boxShadow: wrapperBoxShadow,
211
- } = wrapperProperties || {};
212
- const { isOverlay, backgroundColorOverlay, zIndexOverlay } = overlay || {};
213
-
214
- if (isWrapped && isPopOver) {
215
- return null;
216
- }
217
-
218
- return createPortal(
219
- <>
220
- {isOverlay && (
221
- <div
222
- className={classNames('ff-mini-modal-overlay')}
223
- style={{
224
- zIndex: zIndexOverlay ?? 98,
225
- backgroundColor: backgroundColorOverlay ?? 'transparent',
226
- }}
227
- onClick={cancelButtonProps?.onClick}
228
- ></div>
229
- )}
230
- <div
231
- ref={ref || modalRef}
232
- className={classNames('ff-mini-edit-modal-container', {
233
- modalVisible: isVisible,
234
- animatedModal: isAnimated,
235
- })}
236
- style={{
237
- top: `${calculatedModalTop}px`,
238
- left: `${calculatedModalLeft}px`,
239
- }}
240
- >
241
- {isPopOver && (
242
- <div
243
- className={`popover-arrow popover-arrow-${
244
- modalPosition === 'right'
245
- ? 'left'
246
- : modalPosition === 'top'
247
- ? 'bottom'
248
- : modalPosition === 'left'
249
- ? 'right'
250
- : 'top'
251
- } ${getArrowClassName()}`}
252
- style={{
253
- zIndex: `${arrowZIndex}`,
254
- }}
255
- />
256
- )}
257
- {isWrapped && (
258
- <div
259
- className={'wrapped-div'}
260
- style={{
261
- left: `${calculatedAnchorRefLeft}px`,
262
- width: `${wrapperWidth}px`,
263
- zIndex: `${wrapperZIndex}`,
264
- boxShadow:
265
- wrapperBoxShadow ??
266
- `0px -3px 4px 0px var(--ff-mini-modal-box-shadow)`,
267
- }}
268
- ></div>
269
- )}
270
- <div
271
- className={classNames('mini-edit-modal', {
272
- 'mini-edit-modal-wrapper-shadow': !!isWrapped && !modalBoxShadow,
273
- 'mini-edit-modal-arrow-shadow': !!isPopOver && !modalBoxShadow,
274
- })}
275
- style={{
276
- minWidth: isWrapped ? '358px' : '',
277
- width: `${modalWidth}px`,
278
- height: `${modalHeight}px`,
279
- borderRadius: `${modalBorderRadius}px`,
280
- zIndex: `${modalZIndex}`,
281
- boxShadow: `${
282
- modalBoxShadow ??
283
- '0px 4px 8px var(--ff-mini-modal-arrow-shadow)'
284
- }`,
285
- }}
286
- >
287
- {headerProps ? (
288
- <Typography as="div">{headerProps}</Typography>
289
- ) : isIconModel ? (
290
- <></>
291
- ) : (
292
- <Typography as="header">
293
- <Typography as="h2">Header text</Typography>
294
- <hr />
295
- </Typography>
296
- )}
297
- <div>{childContent}</div>
298
- {footerContent ? (
299
- <Typography as="footer">{footerContent}</Typography>
300
- ) : isIconModel ? (
301
- <></>
302
- ) : (
303
- <footer className="modal-footer">
304
- <Button
305
- variant="primary"
306
- className="btn-cancel"
307
- onClick={cancelButtonProps?.onClick}
308
- label={cancelButtonProps?.text}
309
- />
310
- <Button
311
- variant="secondary"
312
- className="btn-proceed"
313
- label={proceedButtonProps?.text}
314
- onClick={proceedButtonProps?.onClick}
315
- />
316
- </footer>
317
- )}
318
- </div>
319
- </div>
320
- </>,
321
- document.body
322
- );
323
- }
324
- );
325
-
326
- export default MiniModal;
1
+ import { useEffect, useRef, useState, useCallback, forwardRef } from 'react';
2
+ import { createPortal } from 'react-dom';
3
+ import { MiniEditModalProps, Rect, AvailableSpace } from './types.js';
4
+ import Button from '../Button/Button.js';
5
+ import useEscapeKey from '../../hooks/keyboardevents/useEscKeyEvent.js';
6
+ import useClickOutside from '../../hooks/useClickOutside';
7
+ import classNames from 'classnames';
8
+ import './MiniModal.scss';
9
+ import Typography from '../Typography';
10
+
11
+ const MiniModal = forwardRef<HTMLDivElement, MiniEditModalProps>(
12
+ (
13
+ {
14
+ anchorRef,
15
+ headerProps,
16
+ childContent,
17
+ cancelButtonProps = () => {},
18
+ proceedButtonProps = () => {},
19
+ footerContent,
20
+ isWrapped = false,
21
+ isAnimated = false,
22
+ isPopOver = false,
23
+ modalPosition = 'bottom',
24
+ leftTopArrow = false,
25
+ firstAnchorRef,
26
+ anchorRefLeftNum,
27
+ modalProperties,
28
+ anchorLeftDistanceForWrapper = 170,
29
+ extraTopSpace,
30
+ extraRightSpace,
31
+ extraLeftSpace,
32
+ isIconModel,
33
+ wrapperProperties,
34
+ arrowProperties,
35
+ arrowZIndex,
36
+ overlay,
37
+ outSideClick,
38
+ },
39
+ ref
40
+ ) => {
41
+ const [modalPositionState, setModalPositionState] = useState({
42
+ top: 0,
43
+ left: 0,
44
+ });
45
+ const [isVisible, setIsVisible] = useState(false);
46
+ const modalRef = useRef<HTMLDivElement>(null);
47
+ const {
48
+ width: modalWidth,
49
+ height: modalHeight,
50
+ borderRadius: modalBorderRadius = 4,
51
+ zIndex: modalZIndex = 99,
52
+ boxShadow: modalBoxShadow,
53
+ left: modalLeft,
54
+ top: modalTop,
55
+ } = modalProperties || {};
56
+
57
+ const {
58
+ left: popOverLeft,
59
+ top: popOverTop,
60
+ size: popOverSize = 10,
61
+ } = arrowProperties || {};
62
+ // Function to calculate available space
63
+ const getAvailableSpace = (rect: Rect): AvailableSpace => {
64
+ const { top, left, bottom, right } = rect;
65
+ const viewportWidth = window.innerWidth;
66
+ const viewportHeight = window.innerHeight;
67
+
68
+ return {
69
+ spaceTop: top,
70
+ spaceLeft: left,
71
+ spaceRight: viewportWidth - right,
72
+ spaceBottom: viewportHeight - bottom,
73
+ };
74
+ };
75
+
76
+ // Helper function to get the anchor element
77
+ const getAnchorElement = () => {
78
+ if (typeof anchorRef === 'string') {
79
+ return document.getElementById(anchorRef);
80
+ }
81
+ return anchorRef?.current || null;
82
+ };
83
+
84
+ const anchorElement = getAnchorElement();
85
+ const anchorRect = anchorElement?.getBoundingClientRect();
86
+
87
+ if (!isWrapped && anchorRect) {
88
+ const availableSpace = getAvailableSpace(anchorRect);
89
+ switch (modalPosition) {
90
+ case 'top':
91
+ if (availableSpace.spaceTop < (modalProperties?.height ?? 150)) {
92
+ modalPosition = 'bottom';
93
+ }
94
+ break;
95
+ case 'left':
96
+ if (availableSpace.spaceLeft < (modalProperties?.width ?? 480)) {
97
+ modalPosition = 'right';
98
+ }
99
+ break;
100
+ case 'right':
101
+ if (availableSpace.spaceRight < (modalProperties?.width ?? 480)) {
102
+ modalPosition = 'left';
103
+ }
104
+ break;
105
+ case 'bottom':
106
+ if (availableSpace.spaceBottom < (modalProperties?.height ?? 150)) {
107
+ modalPosition = 'top';
108
+ }
109
+ break;
110
+ default:
111
+ break;
112
+ }
113
+ }
114
+
115
+ // Specify for the wrapper div left position
116
+ const calculateAnchorRefLeft = (anchorRefLeftNum?: number) => {
117
+ if (anchorRefLeftNum) {
118
+ return anchorRefLeftNum;
119
+ }
120
+ return 0;
121
+ };
122
+
123
+ // Specify for the arrow position in left or top
124
+ const getArrowClassName = () => {
125
+ if (leftTopArrow && modalPosition === 'right') {
126
+ return 'left-top-arrow';
127
+ }
128
+ return modalPosition === 'right' ? 'left-middle-arrow' : '';
129
+ };
130
+ const calculatedAnchorRefLeft = calculateAnchorRefLeft(anchorRefLeftNum);
131
+
132
+ // Specify specific wrapper modal position
133
+ const firstAnchor =
134
+ firstAnchorRef?.current &&
135
+ firstAnchorRef?.current?.getBoundingClientRect().left -
136
+ anchorLeftDistanceForWrapper;
137
+
138
+ // Specifying the modal top
139
+ const calculateModalTop = () => {
140
+ const safeHeight = modalProperties?.height ?? 0;
141
+ if (modalPosition === 'bottom') {
142
+ return isWrapped
143
+ ? modalPositionState.top + (extraTopSpace?.wrappedModal ?? 5)
144
+ : modalPositionState.top + (extraTopSpace?.normalModal ?? 10);
145
+ } else if (modalPosition === 'right') {
146
+ return leftTopArrow
147
+ ? modalPositionState.top - (extraRightSpace?.leftTopArrow ?? 30)
148
+ : modalPositionState?.top -
149
+ safeHeight / (extraRightSpace?.middleLeftArrow ?? 3.5);
150
+ } else if (modalPosition === 'top') {
151
+ return (
152
+ modalPositionState.top -
153
+ (safeHeight + (extraTopSpace?.normalModal ?? 10))
154
+ );
155
+ }
156
+ return modalPositionState.top - safeHeight / 1.5;
157
+ };
158
+ const calculatedModalTop = calculateModalTop();
159
+
160
+ // Specifying the modal left
161
+ const calculateModalLeft = () => {
162
+ if (modalPosition === 'right') {
163
+ return (
164
+ modalPositionState.left + (extraLeftSpace?.rightAlignModal ?? 40)
165
+ );
166
+ } else if (firstAnchorRef) {
167
+ return firstAnchor;
168
+ } else if (modalPosition === 'left') {
169
+ return modalPositionState.left - (modalProperties?.width ?? 404) - 15;
170
+ } else {
171
+ return modalPositionState.left - (extraLeftSpace?.normal ?? 30);
172
+ }
173
+ };
174
+ const calculatedModalLeft = calculateModalLeft();
175
+
176
+ // Handle escape and enter functionality
177
+ const handleEsc = useEscapeKey('Escape');
178
+ const handleEnter = useEscapeKey('Enter');
179
+ handleEsc(outSideClick);
180
+ handleEnter(proceedButtonProps?.onClick);
181
+ useClickOutside(modalRef, outSideClick);
182
+
183
+ // Calculate the modal position
184
+ const calculatePosition = useCallback(() => {
185
+ const anchorRect = anchorElement?.getBoundingClientRect();
186
+ if (anchorRect) {
187
+ const { bottom, left } = anchorRect;
188
+ const { scrollX, scrollY } = window;
189
+ let topPosition = bottom + scrollY;
190
+ let leftPosition = left + scrollX;
191
+
192
+ setModalPositionState({
193
+ top: topPosition,
194
+ left: leftPosition,
195
+ });
196
+ }
197
+ }, [anchorElement]);
198
+
199
+ useEffect(() => {
200
+ const timeoutId = setTimeout(() => {
201
+ setIsVisible(true);
202
+ calculatePosition();
203
+ }, 100);
204
+ window.addEventListener('resize', calculatePosition);
205
+ window.addEventListener('scroll', calculatePosition);
206
+
207
+ return () => {
208
+ window.removeEventListener('resize', calculatePosition);
209
+ clearTimeout(timeoutId);
210
+ window.removeEventListener('scroll', calculatePosition);
211
+ };
212
+ }, [calculatePosition]);
213
+
214
+ const {
215
+ width: wrapperWidth = 35,
216
+ zIndex: wrapperZIndex = 101,
217
+ boxShadow: wrapperBoxShadow,
218
+ } = wrapperProperties || {};
219
+ const { isOverlay, backgroundColorOverlay, zIndexOverlay } = overlay || {};
220
+
221
+ if (isWrapped && isPopOver) {
222
+ return null;
223
+ }
224
+
225
+ return createPortal(
226
+ <>
227
+ {isOverlay && (
228
+ <div
229
+ className={classNames('ff-mini-modal-overlay')}
230
+ style={{
231
+ zIndex: zIndexOverlay ?? 98,
232
+ backgroundColor: backgroundColorOverlay ?? 'transparent',
233
+ }}
234
+ onClick={cancelButtonProps?.onClick}
235
+ ></div>
236
+ )}
237
+ <div
238
+ ref={ref || modalRef}
239
+ className={classNames('ff-mini-edit-modal-container', {
240
+ modalVisible: isVisible,
241
+ animatedModal: isAnimated,
242
+ })}
243
+ style={{
244
+ top: `${modalTop ?? calculatedModalTop}px`,
245
+ left: `${modalLeft ?? calculatedModalLeft}px`,
246
+ }}
247
+ >
248
+ {isPopOver && (
249
+ <div
250
+ className={`popover-arrow popover-arrow-${
251
+ modalPosition === 'right'
252
+ ? 'left'
253
+ : modalPosition === 'top'
254
+ ? 'bottom'
255
+ : modalPosition === 'left'
256
+ ? 'right'
257
+ : 'top'
258
+ } ${getArrowClassName()}`}
259
+ style={{
260
+ zIndex: `${arrowZIndex}`,
261
+ top: `${popOverTop && popOverTop}px`,
262
+ left: `${popOverLeft && popOverLeft}px`,
263
+ borderWidth: `${
264
+ modalPosition === 'right'
265
+ ? `${popOverSize}px ${popOverSize}px ${popOverSize}px 0`
266
+ : modalPosition === 'top'
267
+ ? `${popOverSize}px ${popOverSize}px 0 ${popOverSize}px`
268
+ : modalPosition === 'left'
269
+ ? `${popOverSize}px 0 ${popOverSize}px ${popOverSize}px`
270
+ : `0 ${popOverSize}px ${popOverSize}px ${popOverSize}px`
271
+ }`,
272
+ }}
273
+ />
274
+ )}
275
+ {isWrapped && (
276
+ <div
277
+ className={'wrapped-div'}
278
+ style={{
279
+ left: `${calculatedAnchorRefLeft}px`,
280
+ width: `${wrapperWidth}px`,
281
+ zIndex: `${wrapperZIndex}`,
282
+ boxShadow:
283
+ wrapperBoxShadow ??
284
+ `0px -3px 4px 0px var(--ff-mini-modal-box-shadow)`,
285
+ }}
286
+ ></div>
287
+ )}
288
+ <div
289
+ className={classNames('mini-edit-modal', {
290
+ 'mini-edit-modal-wrapper-shadow': !!isWrapped && !modalBoxShadow,
291
+ 'mini-edit-modal-arrow-shadow': !!isPopOver && !modalBoxShadow,
292
+ })}
293
+ style={{
294
+ minWidth: isWrapped ? '358px' : '',
295
+ width: `${modalWidth}px`,
296
+ height: `${modalHeight}px`,
297
+ borderRadius: `${modalBorderRadius}px`,
298
+ zIndex: `${modalZIndex}`,
299
+ boxShadow: `${
300
+ modalBoxShadow ??
301
+ '0px 4px 8px var(--ff-mini-modal-arrow-shadow)'
302
+ }`,
303
+ }}
304
+ >
305
+ {headerProps ? (
306
+ <Typography as="div">{headerProps}</Typography>
307
+ ) : isIconModel ? (
308
+ <></>
309
+ ) : (
310
+ <Typography as="header">
311
+ <Typography as="h2">Header text</Typography>
312
+ <hr />
313
+ </Typography>
314
+ )}
315
+ <div>{childContent}</div>
316
+ {footerContent ? (
317
+ <Typography as="footer">{footerContent}</Typography>
318
+ ) : isIconModel ? (
319
+ <></>
320
+ ) : (
321
+ <footer className="modal-footer">
322
+ <Button
323
+ variant="primary"
324
+ className="btn-cancel"
325
+ onClick={cancelButtonProps?.onClick}
326
+ label={cancelButtonProps?.text}
327
+ />
328
+ <Button
329
+ variant="secondary"
330
+ className="btn-proceed"
331
+ label={proceedButtonProps?.text}
332
+ onClick={proceedButtonProps?.onClick}
333
+ />
334
+ </footer>
335
+ )}
336
+ </div>
337
+ </div>
338
+ </>,
339
+ document.body
340
+ );
341
+ }
342
+ );
343
+
344
+ export default MiniModal;