pixel-react 1.8.4 → 1.8.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.prettierrc.js +13 -13
- package/.storybook/main.ts +26 -26
- package/.storybook/preview-head.html +2 -2
- package/.storybook/preview.ts +26 -26
- package/.yarn/install-state.gz +0 -0
- package/.yarnrc.yml +1 -1
- package/README.md +75 -75
- package/index.scss +4 -4
- package/lib/components/Charts/DashboardDonutChart/types.d.ts +3 -0
- package/lib/components/DatePicker/types.d.ts +2 -0
- package/lib/components/Drawer/Types.d.ts +4 -0
- package/lib/components/Excel/ExcelContextMenu/ExcelContextMenu.d.ts +4 -0
- package/lib/components/Excel/ExcelFile/ExcelFile.d.ts +10 -4
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/ActiveCell.d.ts +10 -0
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/DataViewer.d.ts +1 -1
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.d.ts +9 -0
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/types.d.ts +0 -2
- package/lib/components/Excel/Types.d.ts +14 -10
- package/lib/components/FF_Captcha/Recaptcha.d.ts +2 -1
- package/lib/components/FF_Captcha/types.d.ts +11 -2
- package/lib/components/Select/components/types.d.ts +1 -0
- package/lib/components/Select/types.d.ts +8 -0
- package/lib/index.d.ts +55 -8
- package/lib/index.esm.js +4559 -1363
- package/lib/index.esm.js.map +1 -1
- package/lib/index.js +4568 -1362
- package/lib/index.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/utils/keyBoardActionUtil/UseKeyboardActions.d.ts +2 -0
- package/lib/utils/keyBoardActionUtil/types.d.ts +4 -0
- package/lib/validations/regex.d.ts +2 -1
- package/package.json +86 -81
- package/rollup.config.mjs +67 -67
- package/src/StyleGuide/ColorPalette/ColorPalette.scss +62 -62
- package/src/StyleGuide/ColorPalette/ColorPalette.stories.tsx +16 -16
- package/src/StyleGuide/ColorPalette/ColorPalette.tsx +67 -67
- package/src/StyleGuide/ColorPalette/colorPaletteList.ts +304 -304
- package/src/StyleGuide/ColorPalette/index.ts +1 -1
- package/src/StyleGuide/ColorPalette/types.ts +19 -19
- package/src/StyleGuide/Typography/Typography.scss +99 -99
- package/src/StyleGuide/Typography/Typography.stories.tsx +16 -16
- package/src/StyleGuide/Typography/Typography.tsx +60 -60
- package/src/StyleGuide/Typography/TypographyList.ts +3 -3
- package/src/StyleGuide/Typography/types.ts +9 -9
- package/src/assets/Themes/BaseTheme.scss +306 -306
- package/src/assets/Themes/BlueTheme.scss +279 -279
- package/src/assets/Themes/DarkTheme.scss +319 -319
- package/src/assets/Themes/Theme.scss +21 -21
- package/src/assets/icons/Arrow.svg +4 -4
- package/src/assets/icons/Header_preset.svg +18 -18
- package/src/assets/icons/accordion_header_icon.svg +10 -10
- package/src/assets/icons/active_license_icon.svg +3 -3
- package/src/assets/icons/add_archive.svg +9 -9
- package/src/assets/icons/add_file.svg +4 -4
- package/src/assets/icons/add_label_icon.svg +3 -3
- package/src/assets/icons/add_locator.svg +4 -4
- package/src/assets/icons/add_testcase.svg +3 -3
- package/src/assets/icons/add_user.svg +9 -9
- package/src/assets/icons/add_variable.svg +11 -11
- package/src/assets/icons/add_variable_icon.svg +4 -4
- package/src/assets/icons/ai_search.svg +9 -9
- package/src/assets/icons/alert.svg +17 -17
- package/src/assets/icons/all_borders.svg +3 -3
- package/src/assets/icons/all_projects.svg +3 -3
- package/src/assets/icons/android.svg +9 -9
- package/src/assets/icons/android_icon.svg +6 -6
- package/src/assets/icons/apk_file_type.svg +4 -4
- package/src/assets/icons/app_switch.svg +11 -11
- package/src/assets/icons/approval_pending.svg +8 -8
- package/src/assets/icons/arrow_down.svg +3 -3
- package/src/assets/icons/arrow_right.svg +4 -4
- package/src/assets/icons/arrow_up.svg +3 -3
- package/src/assets/icons/arrows_down_icon.svg +3 -3
- package/src/assets/icons/arrows_right_icon.svg +10 -10
- package/src/assets/icons/arrows_top_icon.svg +3 -3
- package/src/assets/icons/attachment_icon.svg +3 -3
- package/src/assets/icons/authorization.svg +4 -4
- package/src/assets/icons/authorization_icon.svg +4 -4
- package/src/assets/icons/auto_save_icon.svg +4 -4
- package/src/assets/icons/automation_testcase.svg +4 -4
- package/src/assets/icons/back_icon.svg +3 -3
- package/src/assets/icons/backward.svg +10 -10
- package/src/assets/icons/backward_icon.svg +3 -3
- package/src/assets/icons/beautify_icon.svg +3 -3
- package/src/assets/icons/bold.svg +3 -3
- package/src/assets/icons/border_bottom.svg +3 -3
- package/src/assets/icons/border_left.svg +3 -3
- package/src/assets/icons/border_right.svg +3 -3
- package/src/assets/icons/border_top.svg +3 -3
- package/src/assets/icons/browser_stack.svg +9 -9
- package/src/assets/icons/browserstack_icon.svg +24 -24
- package/src/assets/icons/calendar_icon.svg +9 -9
- package/src/assets/icons/capture_icon.svg +2 -2
- package/src/assets/icons/check_mark.svg +3 -3
- package/src/assets/icons/chrome.svg +12 -12
- package/src/assets/icons/client_profile.svg +4 -4
- package/src/assets/icons/clock_icon.svg +11 -11
- package/src/assets/icons/clone_icon.svg +3 -3
- package/src/assets/icons/close_pill.svg +3 -3
- package/src/assets/icons/cloud_server_host_icon.svg +3 -3
- package/src/assets/icons/collapse-icon.svg +6 -6
- package/src/assets/icons/compressed_file_type.svg +4 -4
- package/src/assets/icons/configuration.svg +3 -3
- package/src/assets/icons/continue_without_sign.svg +3 -3
- package/src/assets/icons/copy-icon.svg +3 -3
- package/src/assets/icons/csv_file_type.svg +4 -4
- package/src/assets/icons/dashboard_icon.svg +31 -31
- package/src/assets/icons/dashboard_mobile_icon.svg +47 -47
- package/src/assets/icons/dashboard_web_icon.svg +9 -9
- package/src/assets/icons/data_provider.svg +8 -8
- package/src/assets/icons/dataset_list.svg +3 -3
- package/src/assets/icons/defects.svg +8 -8
- package/src/assets/icons/delete.svg +3 -3
- package/src/assets/icons/delete_info.svg +17 -17
- package/src/assets/icons/depends_on_script.svg +7 -7
- package/src/assets/icons/details.svg +3 -3
- package/src/assets/icons/double_underline.svg +5 -5
- package/src/assets/icons/download-icon.svg +3 -3
- package/src/assets/icons/download_file_icon.svg +3 -3
- package/src/assets/icons/download_icon.svg +4 -4
- package/src/assets/icons/drag_icon.svg +4 -4
- package/src/assets/icons/drawer_maximize.svg +6 -6
- package/src/assets/icons/dropzone_icon.svg +18 -18
- package/src/assets/icons/edge.svg +30 -30
- package/src/assets/icons/edit_icon.svg +5 -5
- package/src/assets/icons/element.svg +4 -4
- package/src/assets/icons/email_group.svg +3 -3
- package/src/assets/icons/error.svg +17 -17
- package/src/assets/icons/excel_corner_menu.svg +3 -3
- package/src/assets/icons/executions_icon.svg +3 -3
- package/src/assets/icons/expand-icon.svg +6 -6
- package/src/assets/icons/export.svg +4 -4
- package/src/assets/icons/export_collection_icon.svg +13 -13
- package/src/assets/icons/external_user.svg +13 -13
- package/src/assets/icons/eye_closed.svg +3 -3
- package/src/assets/icons/eye_open_icon.svg +3 -3
- package/src/assets/icons/failed_status_icon.svg +12 -12
- package/src/assets/icons/file.svg +11 -11
- package/src/assets/icons/fill_color.svg +7 -7
- package/src/assets/icons/filter.svg +4 -4
- package/src/assets/icons/fire_fox.svg +106 -106
- package/src/assets/icons/fireflink_finder_logo.svg +7 -7
- package/src/assets/icons/fireflink_icon.svg +4 -4
- package/src/assets/icons/fireflink_logo.svg +13 -13
- package/src/assets/icons/fireflink_platform.svg +4 -4
- package/src/assets/icons/firefox.svg +84 -84
- package/src/assets/icons/flaky_status_icon.svg +12 -12
- package/src/assets/icons/formate_painter.svg +5 -5
- package/src/assets/icons/formula_icon.svg +3 -3
- package/src/assets/icons/forward.svg +3 -3
- package/src/assets/icons/forward_icon.svg +3 -3
- package/src/assets/icons/full_access_icon.svg +4 -4
- package/src/assets/icons/gif_file_type.svg +4 -4
- package/src/assets/icons/global_variable_icon.svg +4 -4
- package/src/assets/icons/group_user.svg +12 -12
- package/src/assets/icons/hamburger_menu.svg +3 -3
- package/src/assets/icons/help_icon.svg +10 -10
- package/src/assets/icons/hide_access_icon.svg +3 -3
- package/src/assets/icons/hide_icon.svg +9 -9
- package/src/assets/icons/history_icon.svg +19 -19
- package/src/assets/icons/html_file_type.svg +4 -4
- package/src/assets/icons/impact_list.svg +6 -6
- package/src/assets/icons/import.svg +4 -4
- package/src/assets/icons/import_icon.svg +4 -4
- package/src/assets/icons/info.svg +17 -17
- package/src/assets/icons/info_icon.svg +5 -5
- package/src/assets/icons/info_user.svg +5 -5
- package/src/assets/icons/internet_explorer.svg +3 -3
- package/src/assets/icons/ios_icon.svg +11 -11
- package/src/assets/icons/ipk_file_type.svg +4 -4
- package/src/assets/icons/italic.svg +3 -3
- package/src/assets/icons/jira.svg +3 -3
- package/src/assets/icons/jpg_file_type.svg +4 -4
- package/src/assets/icons/json_file_type.svg +4 -4
- package/src/assets/icons/label_icon.svg +8 -8
- package/src/assets/icons/label_plus.svg +3 -3
- package/src/assets/icons/labels.svg +8 -8
- package/src/assets/icons/lambda_icon.svg +3 -3
- package/src/assets/icons/left_arrow_icon.svg +3 -3
- package/src/assets/icons/license_expired.svg +20 -20
- package/src/assets/icons/license_info.svg +28 -28
- package/src/assets/icons/license_warning.svg +10 -10
- package/src/assets/icons/link_expired.svg +186 -186
- package/src/assets/icons/linked_defects.svg +11 -11
- package/src/assets/icons/linux.svg +42 -42
- package/src/assets/icons/local.svg +3 -3
- package/src/assets/icons/local_variable_icon.svg +4 -4
- package/src/assets/icons/logo.svg +17 -17
- package/src/assets/icons/mac.svg +9 -9
- package/src/assets/icons/machine_disable_icon.svg +18 -18
- package/src/assets/icons/machine_enable_icon.svg +10 -10
- package/src/assets/icons/manage_apps.svg +3 -3
- package/src/assets/icons/manual_locator.svg +7 -7
- package/src/assets/icons/manual_testcase.svg +3 -3
- package/src/assets/icons/maximize_icon.svg +5 -5
- package/src/assets/icons/maximize_script.svg +12 -12
- package/src/assets/icons/maximize_tree.svg +3 -3
- package/src/assets/icons/minimize_script.svg +5 -5
- package/src/assets/icons/mobile_icon.svg +3 -3
- package/src/assets/icons/moon_stars.svg +10 -10
- package/src/assets/icons/more.svg +10 -10
- package/src/assets/icons/move_icon.svg +5 -5
- package/src/assets/icons/ms_dynamic.svg +4 -4
- package/src/assets/icons/ms_dynamic_icon.svg +15 -15
- package/src/assets/icons/nlp_help_icon.svg +3 -3
- package/src/assets/icons/no_access_icon.svg +4 -4
- package/src/assets/icons/no_border.svg +3 -3
- package/src/assets/icons/no_data.svg +13 -13
- package/src/assets/icons/no_license_found.svg +22 -22
- package/src/assets/icons/notification_icon.svg +3 -3
- package/src/assets/icons/opera.svg +9 -9
- package/src/assets/icons/parameters.svg +3 -3
- package/src/assets/icons/passed_status_icon.svg +12 -12
- package/src/assets/icons/pdf_file_type.svg +4 -4
- package/src/assets/icons/plus_icon.svg +11 -11
- package/src/assets/icons/plus_round_icon.svg +38 -38
- package/src/assets/icons/plus_user_icon.svg +3 -3
- package/src/assets/icons/png_file_type.svg +4 -4
- package/src/assets/icons/pre_post_condition.svg +8 -8
- package/src/assets/icons/program_element.svg +8 -8
- package/src/assets/icons/project_element.svg +4 -4
- package/src/assets/icons/project_env_variable_icon.svg +4 -4
- package/src/assets/icons/project_status_icon.svg +10 -10
- package/src/assets/icons/quick_run_setting_icon.svg +5 -5
- package/src/assets/icons/refresh-icon.svg +4 -4
- package/src/assets/icons/refresh_icon.svg +4 -4
- package/src/assets/icons/reload.svg +3 -3
- package/src/assets/icons/remove.svg +11 -11
- package/src/assets/icons/remove_user.svg +3 -3
- package/src/assets/icons/replace.svg +11 -11
- package/src/assets/icons/replace_file.svg +13 -13
- package/src/assets/icons/replace_icon.svg +6 -6
- package/src/assets/icons/reset-link.svg +52 -52
- package/src/assets/icons/right_arrow_icon.svg +4 -4
- package/src/assets/icons/rotate_icon.svg +10 -10
- package/src/assets/icons/run_automation_scripts_icon.svg +33 -33
- package/src/assets/icons/run_icon.svg +26 -26
- package/src/assets/icons/run_manual_testcase_icon.svg +4 -4
- package/src/assets/icons/safari.svg +93 -93
- package/src/assets/icons/safari_icon.svg +12 -12
- package/src/assets/icons/sales_force.svg +7 -7
- package/src/assets/icons/salesforce_icon.svg +14 -14
- package/src/assets/icons/sample_template_first.svg +29 -29
- package/src/assets/icons/sample_template_second.svg +47 -47
- package/src/assets/icons/sause_lab.svg +3 -3
- package/src/assets/icons/save_as_step.svg +3 -3
- package/src/assets/icons/search.svg +3 -3
- package/src/assets/icons/send_step.svg +4 -4
- package/src/assets/icons/settings.svg +3 -3
- package/src/assets/icons/single_user.svg +12 -12
- package/src/assets/icons/skipped_status_icon.svg +12 -12
- package/src/assets/icons/standard_template.svg +30 -30
- package/src/assets/icons/step_group.svg +10 -10
- package/src/assets/icons/strike_through.svg +3 -3
- package/src/assets/icons/success.svg +17 -17
- package/src/assets/icons/suites_icon.svg +3 -3
- package/src/assets/icons/sun_icon.svg +10 -10
- package/src/assets/icons/swipe_icon.svg +9 -9
- package/src/assets/icons/switch_license_icon.svg +123 -123
- package/src/assets/icons/system_warning.svg +61 -61
- package/src/assets/icons/tap_icon.svg +3 -3
- package/src/assets/icons/test_data.svg +5 -5
- package/src/assets/icons/test_data_set.svg +7 -7
- package/src/assets/icons/test_freshers_logo.svg +8 -8
- package/src/assets/icons/text_align_center.svg +3 -3
- package/src/assets/icons/text_align_left.svg +3 -3
- package/src/assets/icons/text_align_right.svg +3 -3
- package/src/assets/icons/text_color.svg +3 -3
- package/src/assets/icons/tick_icon.svg +4 -4
- package/src/assets/icons/toast_close.svg +3 -3
- package/src/assets/icons/txt_file_type.svg +4 -4
- package/src/assets/icons/underline.svg +4 -4
- package/src/assets/icons/unfollow_icon.svg +3 -3
- package/src/assets/icons/update_icon.svg +3 -3
- package/src/assets/icons/user_password_lock.svg +220 -220
- package/src/assets/icons/user_profile.svg +3 -3
- package/src/assets/icons/user_warning.svg +235 -235
- package/src/assets/icons/user_with_system.svg +637 -637
- package/src/assets/icons/variable.svg +3 -3
- package/src/assets/icons/variable_icon.svg +4 -4
- package/src/assets/icons/variable_set.svg +5 -5
- package/src/assets/icons/vertical_separator.svg +3 -3
- package/src/assets/icons/view_access_icon.svg +4 -4
- package/src/assets/icons/view_icon.svg +3 -3
- package/src/assets/icons/warning.svg +17 -17
- package/src/assets/icons/warning_status_icon.svg +12 -12
- package/src/assets/icons/web&mobile_icon.svg +3 -3
- package/src/assets/icons/web_icon.svg +3 -3
- package/src/assets/icons/web_mobile_icon.svg +29 -29
- package/src/assets/icons/web_service_icon.svg +3 -3
- package/src/assets/icons/web_services_icon.svg +30 -30
- package/src/assets/icons/window_maximize.svg +3 -3
- package/src/assets/icons/window_minimize.svg +3 -3
- package/src/assets/icons/window_restore.svg +4 -4
- package/src/assets/icons/windows.svg +10 -10
- package/src/assets/icons/wrong_mark.svg +3 -3
- package/src/assets/icons/wswb_delete_icon.svg +3 -3
- package/src/assets/icons/wswb_plus_icon.svg +4 -4
- package/src/assets/icons/xls_file_type.svg +4 -4
- package/src/assets/icons/xlsx_file_type.svg +4 -4
- package/src/assets/icons/xml_file_type.svg +4 -4
- package/src/assets/styles/_colors.scss +150 -150
- package/src/assets/styles/_fonts.scss +45 -45
- package/src/assets/styles/_mixins.scss +21 -21
- package/src/assets/utils/functionUtils.ts +96 -96
- package/src/components/Accordion/Accordion.scss +46 -46
- package/src/components/Accordion/Accordion.stories.tsx +48 -48
- package/src/components/Accordion/Accordion.tsx +69 -69
- package/src/components/Accordion/index.ts +1 -1
- package/src/components/Accordion/types.ts +44 -44
- package/src/components/AddResourceButton/AddButton.scss +36 -36
- package/src/components/AddResourceButton/AddButton.stories.tsx +126 -126
- package/src/components/AddResourceButton/AddButton.tsx +121 -121
- package/src/components/AddResourceButton/ArrowsButton/ArrowsButton.scss +161 -161
- package/src/components/AddResourceButton/ArrowsButton/ArrowsButton.tsx +38 -38
- package/src/components/AddResourceButton/index.ts +1 -1
- package/src/components/AddResourceButton/type.ts +92 -92
- package/src/components/AllProjectsDropdown/AllProjectsDropdown.scss +189 -189
- package/src/components/AllProjectsDropdown/AllProjectsDropdown.stories.tsx +117 -117
- package/src/components/AllProjectsDropdown/AllProjectsDropdown.tsx +152 -152
- package/src/components/AllProjectsDropdown/types.ts +14 -14
- package/src/components/AppHeader/AppHeader.scss +218 -218
- package/src/components/AppHeader/AppHeader.stories.tsx +553 -553
- package/src/components/AppHeader/AppHeader.tsx +199 -199
- package/src/components/AppHeader/index.ts +1 -1
- package/src/components/AppHeader/types.ts +54 -54
- package/src/components/AttachImage/AttachImage.scss +76 -76
- package/src/components/AttachImage/AttachImage.stories.tsx +24 -24
- package/src/components/AttachImage/AttachImage.tsx +60 -60
- package/src/components/AttachImage/index.ts +2 -2
- package/src/components/AttachImage/types.ts +26 -26
- package/src/components/AttachmentButton/AttachmentButton.scss +9 -9
- package/src/components/AttachmentButton/AttachmentButton.stories.tsx +81 -81
- package/src/components/AttachmentButton/AttachmentButton.tsx +129 -129
- package/src/components/AttachmentButton/types.ts +13 -13
- package/src/components/Avatar/Avatar.scss +27 -27
- package/src/components/Avatar/Avatar.stories.tsx +76 -76
- package/src/components/Avatar/Avatar.tsx +41 -41
- package/src/components/Avatar/types.ts +35 -35
- package/src/components/Button/Button.scss +166 -166
- package/src/components/Button/Button.stories.tsx +81 -81
- package/src/components/Button/Button.tsx +91 -91
- package/src/components/Button/index.ts +1 -1
- package/src/components/Button/types.ts +90 -90
- package/src/components/Charts/BarChart/BarChart.scss +69 -69
- package/src/components/Charts/BarChart/BarChart.stories.tsx +70 -70
- package/src/components/Charts/BarChart/BarChart.tsx +349 -349
- package/src/components/Charts/BarChart/types.ts +12 -12
- package/src/components/Charts/DashboardDonutChart/DashboardDonutChart.scss +221 -221
- package/src/components/Charts/DashboardDonutChart/DashboardDonutChart.stories.tsx +90 -58
- package/src/components/Charts/DashboardDonutChart/DashboardDonutChart.tsx +560 -554
- package/src/components/Charts/DashboardDonutChart/types.ts +63 -60
- package/src/components/Charts/DonutChart/DonutChart.scss +76 -76
- package/src/components/Charts/DonutChart/DonutChart.stories.tsx +30 -30
- package/src/components/Charts/DonutChart/DonutChart.tsx +246 -246
- package/src/components/Charts/DonutChart/index.ts +1 -1
- package/src/components/Charts/DonutChart/type.ts +23 -23
- package/src/components/Charts/IconRadialChart/IconRadialChart.scss +25 -25
- package/src/components/Charts/IconRadialChart/IconRadialChart.stories.tsx +51 -51
- package/src/components/Charts/IconRadialChart/IconRadialChart.tsx +173 -173
- package/src/components/Charts/IconRadialChart/types.ts +28 -28
- package/src/components/Charts/LineChart/LineChart.scss +92 -92
- package/src/components/Charts/LineChart/LineChart.stories.tsx +198 -198
- package/src/components/Charts/LineChart/LineChart.tsx +391 -391
- package/src/components/Charts/LineChart/index.ts +1 -1
- package/src/components/Charts/LineChart/types.ts +31 -31
- package/src/components/Charts/MultiRadialChart/MultiRadialChart.scss +85 -85
- package/src/components/Charts/MultiRadialChart/MultiRadialChart.stories.tsx +117 -117
- package/src/components/Charts/MultiRadialChart/MultiRadialChart.tsx +310 -306
- package/src/components/Charts/MultiRadialChart/index.ts +1 -1
- package/src/components/Charts/MultiRadialChart/types.ts +28 -28
- package/src/components/Charts/PieChart/PieChart.scss +41 -41
- package/src/components/Charts/PieChart/PieChart.stories.tsx +46 -46
- package/src/components/Charts/PieChart/PieChart.tsx +192 -192
- package/src/components/Charts/PieChart/index.ts +1 -1
- package/src/components/Charts/PieChart/types.ts +28 -28
- package/src/components/Charts/RadialChart/RadialChart.scss +16 -16
- package/src/components/Charts/RadialChart/RadialChart.stories.tsx +36 -36
- package/src/components/Charts/RadialChart/RadialChart.tsx +180 -180
- package/src/components/Charts/RadialChart/index.ts +1 -1
- package/src/components/Charts/RadialChart/types.ts +32 -32
- package/src/components/Checkbox/Checkbox.scss +148 -148
- package/src/components/Checkbox/Checkbox.stories.tsx +78 -78
- package/src/components/Checkbox/Checkbox.tsx +57 -57
- package/src/components/Checkbox/types.ts +34 -34
- package/src/components/Chip/Chip.scss +95 -95
- package/src/components/Chip/Chip.stories.tsx +125 -125
- package/src/components/Chip/Chip.tsx +39 -39
- package/src/components/Chip/index.ts +1 -1
- package/src/components/Chip/types.ts +19 -19
- package/src/components/ChooseFile/ChooseFile.stories.tsx +190 -190
- package/src/components/ChooseFile/ChooseFile.tsx +46 -46
- package/src/components/ChooseFile/types.ts +78 -78
- package/src/components/Comment/Comments.scss +166 -166
- package/src/components/Comment/Comments.stories.tsx +212 -212
- package/src/components/Comment/Comments.tsx +51 -51
- package/src/components/Comment/comment/Comment.tsx +206 -206
- package/src/components/Comment/comment/useNode.ts +51 -51
- package/src/components/Comment/index.ts +1 -1
- package/src/components/Comment/type.ts +36 -36
- package/src/components/ConditionalDropdown/ConditionalDropdown.scss +17 -17
- package/src/components/ConditionalDropdown/ConditionalDropdown.stories.tsx +151 -151
- package/src/components/ConditionalDropdown/ConditionalDropdown.tsx +157 -157
- package/src/components/ConditionalDropdown/OptionsDropdown.tsx +43 -43
- package/src/components/ConditionalDropdown/index.ts +1 -1
- package/src/components/ConditionalDropdown/types.ts +163 -163
- package/src/components/ConnectingBranch/BranchComponents/MachineInstances.tsx +143 -143
- package/src/components/ConnectingBranch/ConnectingBranch.scss +221 -221
- package/src/components/ConnectingBranch/ConnectingBranch.stories.tsx +53 -53
- package/src/components/ConnectingBranch/ConnectingBranch.tsx +196 -196
- package/src/components/ConnectingBranch/data.tsx +226 -226
- package/src/components/ConnectingBranch/index.ts +1 -1
- package/src/components/ConnectingBranch/types.ts +42 -42
- package/src/components/CreateVariable/CreateVariableSlider.scss +18 -18
- package/src/components/CreateVariable/CreateVariableSlider.stories.tsx +66 -66
- package/src/components/CreateVariable/CreateVariableSlider.tsx +95 -95
- package/src/components/CreateVariable/index.ts +1 -1
- package/src/components/CreateVariable/types.ts +58 -58
- package/src/components/DatePicker/DatePicker.scss +1028 -723
- package/src/components/DatePicker/DatePicker.stories.tsx +193 -193
- package/src/components/DatePicker/DatePicker.tsx +510 -502
- package/src/components/DatePicker/Timepicker.tsx +372 -372
- package/src/components/DatePicker/types.ts +109 -105
- package/src/components/DownloadClient/DownloadClient.scss +67 -67
- package/src/components/DownloadClient/DownloadClient.stories.tsx +26 -26
- package/src/components/DownloadClient/DownloadClient.tsx +90 -90
- package/src/components/DownloadClient/type.ts +33 -33
- package/src/components/DragAndDrop/DragAndDrop.d.ts +5 -5
- package/src/components/DragAndDrop/DragAndDrop.stories.tsx +25 -25
- package/src/components/DragAndDrop/DragAndDrop.ts +7 -7
- package/src/components/DragAndDrop/DragAndDropList.scss +69 -69
- package/src/components/DragAndDrop/DragAndDropList.tsx +151 -151
- package/src/components/Drawer/Drawer.scss +139 -139
- package/src/components/Drawer/Drawer.stories.tsx +157 -156
- package/src/components/Drawer/Drawer.tsx +237 -233
- package/src/components/Drawer/Types.ts +165 -161
- package/src/components/EditTextField/EditTextField.scss +97 -97
- package/src/components/EditTextField/EditTextField.stories.tsx +127 -127
- package/src/components/EditTextField/EditTextField.tsx +175 -175
- package/src/components/EditTextField/index.ts +1 -1
- package/src/components/EditTextField/types.ts +55 -55
- package/src/components/Editor/Editor.scss +61 -61
- package/src/components/Editor/Editor.stories.tsx +54 -54
- package/src/components/Editor/Editor.tsx +250 -250
- package/src/components/Editor/VariableDropdown.scss +28 -28
- package/src/components/Editor/VariableDropdown.tsx +57 -57
- package/src/components/Editor/constants.ts +180 -180
- package/src/components/Editor/types.ts +89 -89
- package/src/components/Excel/ColorBarSelector/ColorBarSelector.scss +15 -15
- package/src/components/Excel/ColorBarSelector/ColorBarSelector.tsx +43 -43
- package/src/components/Excel/ExcelContextMenu/ExcelContextMenu.scss +27 -27
- package/src/components/Excel/ExcelContextMenu/ExcelContextMenu.tsx +46 -42
- package/src/components/Excel/ExcelFile/ExcelFile.scss +60 -56
- package/src/components/Excel/ExcelFile/ExcelFile.tsx +534 -512
- package/src/components/Excel/ExcelFile/ExcelFileComponents/ActiveCell.tsx +183 -155
- package/src/components/Excel/ExcelFile/ExcelFileComponents/Cell.tsx +170 -206
- package/src/components/Excel/ExcelFile/ExcelFileComponents/ColumnIndicator.tsx +176 -176
- package/src/components/Excel/ExcelFile/ExcelFileComponents/Copied.tsx +25 -25
- package/src/components/Excel/ExcelFile/ExcelFileComponents/CornerIndicator.tsx +56 -56
- package/src/components/Excel/ExcelFile/ExcelFileComponents/DataEditor.tsx +40 -40
- package/src/components/Excel/ExcelFile/ExcelFileComponents/DataViewer.tsx +46 -85
- package/src/components/Excel/ExcelFile/ExcelFileComponents/FloatingRect.tsx +61 -61
- package/src/components/Excel/ExcelFile/ExcelFileComponents/HeaderRow.tsx +7 -7
- package/src/components/Excel/ExcelFile/ExcelFileComponents/Row.tsx +5 -5
- package/src/components/Excel/ExcelFile/ExcelFileComponents/RowIndicator.tsx +157 -157
- package/src/components/Excel/ExcelFile/ExcelFileComponents/Selected.tsx +32 -32
- package/src/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.scss +201 -201
- package/src/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.tsx +542 -531
- package/src/components/Excel/ExcelFile/ExcelFileComponents/Table.tsx +19 -19
- package/src/components/Excel/ExcelFile/ExcelFileComponents/actions.ts +575 -575
- package/src/components/Excel/ExcelFile/ExcelFileComponents/areModelsEqual.ts +18 -18
- package/src/components/Excel/ExcelFile/ExcelFileComponents/context.ts +12 -12
- package/src/components/Excel/ExcelFile/ExcelFileComponents/engine/engine.ts +153 -153
- package/src/components/Excel/ExcelFile/ExcelFileComponents/engine/formula.ts +31 -31
- package/src/components/Excel/ExcelFile/ExcelFileComponents/engine/index.ts +2 -2
- package/src/components/Excel/ExcelFile/ExcelFileComponents/engine/point-graph.ts +152 -152
- package/src/components/Excel/ExcelFile/ExcelFileComponents/engine/point-hash.ts +10 -10
- package/src/components/Excel/ExcelFile/ExcelFileComponents/engine/point-set.ts +69 -69
- package/src/components/Excel/ExcelFile/ExcelFileComponents/index.ts +49 -49
- package/src/components/Excel/ExcelFile/ExcelFileComponents/matrix.ts +382 -382
- package/src/components/Excel/ExcelFile/ExcelFileComponents/point-range.ts +82 -82
- package/src/components/Excel/ExcelFile/ExcelFileComponents/point.ts +15 -15
- package/src/components/Excel/ExcelFile/ExcelFileComponents/reducer.ts +716 -716
- package/src/components/Excel/ExcelFile/ExcelFileComponents/reducerFunctions.ts +887 -886
- package/src/components/Excel/ExcelFile/ExcelFileComponents/selection.ts +257 -257
- package/src/components/Excel/ExcelFile/ExcelFileComponents/types.ts +263 -266
- package/src/components/Excel/ExcelFile/ExcelFileComponents/typings/fast-formula-parser.d.ts +58 -58
- package/src/components/Excel/ExcelFile/ExcelFileComponents/use-dispatch.ts +8 -8
- package/src/components/Excel/ExcelFile/ExcelFileComponents/use-selector.ts +9 -9
- package/src/components/Excel/ExcelFile/ExcelFileComponents/util.ts +172 -172
- package/src/components/Excel/ExcelFile.stories.tsx +160 -168
- package/src/components/Excel/ExcelToolBar/ExcelToolBar.scss +96 -96
- package/src/components/Excel/ExcelToolBar/ExcelToolBar.tsx +434 -434
- package/src/components/Excel/Types.ts +198 -196
- package/src/components/Excel/dataConversion.ts +196 -196
- package/src/components/Excel/index.ts +1 -1
- package/src/components/ExpandableMenu/ExpandableMenu.scss +110 -110
- package/src/components/ExpandableMenu/ExpandableMenu.stories.tsx +67 -67
- package/src/components/ExpandableMenu/ExpandableMenu.tsx +101 -101
- package/src/components/ExpandableMenu/index.ts +1 -1
- package/src/components/ExpandableMenu/types.ts +34 -34
- package/src/components/FF_Captcha/Recaptcha.scss +10 -10
- package/src/components/FF_Captcha/Recaptcha.tsx +51 -41
- package/src/components/FF_Captcha/captcha.stories.tsx +40 -40
- package/src/components/FF_Captcha/types.ts +30 -22
- package/src/components/FieldSet/FieldSet.scss +10 -10
- package/src/components/FieldSet/FieldSet.stories.tsx +104 -104
- package/src/components/FieldSet/FieldSet.tsx +29 -29
- package/src/components/FieldSet/index.ts +1 -1
- package/src/components/FieldSet/types.ts +8 -8
- package/src/components/FileDropzone/Dropzone.tsx +108 -108
- package/src/components/FileDropzone/FileDropzone.scss +180 -180
- package/src/components/FileDropzone/FileDropzone.stories.tsx +273 -273
- package/src/components/FileDropzone/FileDropzone.tsx +166 -166
- package/src/components/FileDropzone/FilePreview.tsx +77 -77
- package/src/components/FileDropzone/RadioFilePreview.tsx +80 -80
- package/src/components/FileDropzone/index.ts +1 -1
- package/src/components/FileDropzone/types.ts +207 -207
- package/src/components/Form/Form.d.ts +2 -2
- package/src/components/Form/Form.scss +158 -158
- package/src/components/Form/Form.stories.tsx +508 -508
- package/src/components/Form/Form.ts +2 -2
- package/src/components/Form/Forms.tsx +39 -39
- package/src/components/Form/validation.json +29 -29
- package/src/components/GridLayout/GridLayout.scss +69 -69
- package/src/components/GridLayout/GridLayout.stories.tsx +90 -90
- package/src/components/GridLayout/GridLayout.tsx +39 -39
- package/src/components/GridLayout/GridLayoutStory.scss +25 -25
- package/src/components/GridLayout/types.ts +84 -84
- package/src/components/HighlightText/HighlightText.scss +3 -3
- package/src/components/HighlightText/HighlightText.stories.tsx +22 -22
- package/src/components/HighlightText/HighlightText.tsx +33 -33
- package/src/components/HighlightText/index.ts +1 -1
- package/src/components/HighlightText/types.ts +4 -4
- package/src/components/Icon/Icon.stories.tsx +112 -112
- package/src/components/Icon/Icon.tsx +88 -88
- package/src/components/Icon/Icons.scss +50 -50
- package/src/components/Icon/iconList.ts +515 -515
- package/src/components/Icon/index.ts +1 -1
- package/src/components/Icon/types.ts +14 -14
- package/src/components/IconButton/IconButton.scss +54 -54
- package/src/components/IconButton/IconButton.stories.tsx +34 -34
- package/src/components/IconButton/IconButton.tsx +32 -32
- package/src/components/IconButton/index.ts +1 -1
- package/src/components/IconButton/types.ts +5 -5
- package/src/components/IconRadioGroup/IconRadioGroup.scss +64 -64
- package/src/components/IconRadioGroup/IconRadioGroup.stories.tsx +108 -108
- package/src/components/IconRadioGroup/IconRadioGroup.tsx +73 -73
- package/src/components/IconRadioGroup/index.ts +1 -1
- package/src/components/IconRadioGroup/type.ts +49 -49
- package/src/components/Input/Input.scss +170 -170
- package/src/components/Input/Input.stories.tsx +153 -153
- package/src/components/Input/Input.tsx +122 -122
- package/src/components/Input/types.ts +89 -89
- package/src/components/InputWithDropdown/InputWithDropdown.scss +220 -220
- package/src/components/InputWithDropdown/InputWithDropdown.stories.tsx +169 -169
- package/src/components/InputWithDropdown/InputWithDropdown.tsx +129 -129
- package/src/components/InputWithDropdown/index.ts +1 -1
- package/src/components/InputWithDropdown/types.ts +113 -113
- package/src/components/LabelEditTextField/LabelEditTextField.scss +94 -94
- package/src/components/LabelEditTextField/LabelEditTextField.stories.tsx +198 -198
- package/src/components/LabelEditTextField/LabelEditTextField.tsx +267 -267
- package/src/components/LabelEditTextField/index.ts +1 -1
- package/src/components/LabelEditTextField/types.ts +51 -51
- package/src/components/LazyLoad/LazyLoad.d.ts +3 -3
- package/src/components/LazyLoad/LazyLoad.stories.tsx +34 -33
- package/src/components/LazyLoad/LazyLoad.ts +2 -2
- package/src/components/LazyLoad/LazyLoading.tsx +28 -19
- package/src/components/LazyLoad/index.ts +1 -1
- package/src/components/MachineInputField/MachineInputField.scss +59 -59
- package/src/components/MachineInputField/MachineInputField.stories.tsx +33 -33
- package/src/components/MachineInputField/MachineInputField.tsx +85 -85
- package/src/components/MachineInputField/index.ts +1 -1
- package/src/components/MachineInputField/types.ts +15 -15
- package/src/components/MenuOption/MenuOption.scss +97 -97
- package/src/components/MenuOption/MenuOption.stories.tsx +212 -212
- package/src/components/MenuOption/MenuOption.tsx +222 -222
- package/src/components/MenuOption/types.ts +231 -231
- package/src/components/MiniModal/MiniModal.scss +169 -169
- package/src/components/MiniModal/MiniModal.stories.tsx +740 -740
- package/src/components/MiniModal/MiniModal.tsx +346 -346
- package/src/components/MiniModal/index.ts +1 -1
- package/src/components/MiniModal/types.ts +124 -124
- package/src/components/Modal/Modal.stories.tsx +77 -70
- package/src/components/Modal/Modal.tsx +97 -100
- package/src/components/Modal/index.tsx +1 -1
- package/src/components/Modal/modal.scss +51 -51
- package/src/components/Modal/types.ts +43 -43
- package/src/components/ModulesChip/ModuleChip.scss +33 -33
- package/src/components/ModulesChip/ModuleChip.stories.tsx +41 -41
- package/src/components/ModulesChip/ModuleChip.tsx +28 -28
- package/src/components/ModulesChip/types.ts +14 -14
- package/src/components/MultiSelect/Dropdown.scss +77 -77
- package/src/components/MultiSelect/Dropdown.tsx +169 -169
- package/src/components/MultiSelect/MultiSelect.scss +247 -247
- package/src/components/MultiSelect/MultiSelect.stories.tsx +290 -290
- package/src/components/MultiSelect/MultiSelect.tsx +486 -486
- package/src/components/MultiSelect/MultiSelectTypes.ts +49 -49
- package/src/components/MultiSelect/dropdownTypes.ts +21 -21
- package/src/components/MultiSelect/index.ts +1 -1
- package/src/components/NLPInput/NLPInput.scss +302 -302
- package/src/components/NLPInput/NlpInput.stories.tsx +70 -70
- package/src/components/NLPInput/NlpInput.tsx +410 -410
- package/src/components/NLPInput/components/NlpDropDown/NlpDropDownType.ts +62 -62
- package/src/components/NLPInput/components/NlpDropDown/NlpDropdown.scss +134 -134
- package/src/components/NLPInput/components/NlpDropDown/NlpDropdown.tsx +320 -320
- package/src/components/NLPInput/index.ts +1 -1
- package/src/components/NLPInput/sampleData.ts +161 -161
- package/src/components/NLPInput/types.tsx +136 -136
- package/src/components/Paper/Paper.scss +13 -13
- package/src/components/Paper/Paper.stories.tsx +77 -77
- package/src/components/Paper/Paper.tsx +14 -14
- package/src/components/Paper/types.ts +19 -19
- package/src/components/PhoneInput/PhoneInput.d.ts +3 -3
- package/src/components/PhoneInput/PhoneInput.stories.tsx +70 -70
- package/src/components/PhoneInput/PhoneInput.tsx +98 -98
- package/src/components/PhoneInput/index.ts +1 -1
- package/src/components/PhoneInput/phoneInput.scss +901 -901
- package/src/components/PhoneInput/types.ts +16 -16
- package/src/components/PopUpModal/PopUpModal.scss +36 -36
- package/src/components/PopUpModal/PopUpModal.stories.tsx +67 -67
- package/src/components/PopUpModal/PopUpModal.tsx +87 -87
- package/src/components/PopUpModal/types.ts +17 -17
- package/src/components/ProgressBar/ProgressBar.scss +46 -46
- package/src/components/ProgressBar/ProgressBar.stories.tsx +22 -22
- package/src/components/ProgressBar/ProgressBar.tsx +61 -61
- package/src/components/ProgressBar/types.ts +12 -12
- package/src/components/RadioButton/RadioButton.scss +106 -106
- package/src/components/RadioButton/RadioButton.stories.tsx +43 -43
- package/src/components/RadioButton/RadioButton.tsx +41 -41
- package/src/components/RadioButton/index.ts +1 -1
- package/src/components/RadioButton/radioButtonTypes.tsx +62 -62
- package/src/components/RadioGroup/RadioGroup.scss +11 -11
- package/src/components/RadioGroup/RadioGroup.stories.tsx +150 -150
- package/src/components/RadioGroup/RadioGroup.tsx +49 -49
- package/src/components/RadioGroup/index.ts +1 -1
- package/src/components/RadioGroup/radioGroupTypes.tsx +96 -96
- package/src/components/ScriptSwitchButton/ScriptSwitchButton.scss +33 -33
- package/src/components/ScriptSwitchButton/ScriptSwitchButton.stories.tsx +48 -48
- package/src/components/ScriptSwitchButton/ScriptSwitchButton.tsx +65 -65
- package/src/components/ScriptSwitchButton/index.ts +1 -1
- package/src/components/Search/Search.scss +103 -103
- package/src/components/Search/Search.stories.tsx +44 -44
- package/src/components/Search/Search.tsx +138 -138
- package/src/components/Search/index.ts +1 -1
- package/src/components/Search/types.ts +19 -19
- package/src/components/Select/Select.scss +213 -213
- package/src/components/Select/Select.stories.tsx +440 -355
- package/src/components/Select/Select.tsx +286 -278
- package/src/components/Select/components/Dropdown.scss +61 -61
- package/src/components/Select/components/Dropdown.tsx +148 -140
- package/src/components/Select/components/types.ts +25 -24
- package/src/components/Select/index.ts +1 -1
- package/src/components/Select/types.ts +144 -134
- package/src/components/SequentialConnectingBranch/SequentialConnectingBranch.scss +128 -128
- package/src/components/SequentialConnectingBranch/SequentialConnectingBranch.stories.tsx +67 -67
- package/src/components/SequentialConnectingBranch/SequentialConnectingBranch.tsx +186 -186
- package/src/components/SequentialConnectingBranch/components/Branches/Branches.scss +191 -191
- package/src/components/SequentialConnectingBranch/components/Branches/Branches.tsx +326 -326
- package/src/components/SequentialConnectingBranch/components/Branches/types.ts +33 -33
- package/src/components/SequentialConnectingBranch/components/ConnectingBranches/ConnectingBranches.scss +3 -3
- package/src/components/SequentialConnectingBranch/components/ConnectingBranches/ConnectingBranches.tsx +78 -78
- package/src/components/SequentialConnectingBranch/components/ConnectingBranches/types.ts +25 -25
- package/src/components/SequentialConnectingBranch/index.ts +1 -1
- package/src/components/SequentialConnectingBranch/types.ts +66 -66
- package/src/components/StateDropdown/StateDropdown.stories.tsx +104 -104
- package/src/components/StateDropdown/StateDropdown.tsx +245 -245
- package/src/components/StateDropdown/StateDropdownTypes.tsx +27 -27
- package/src/components/StatusButton/StatusButton.scss +90 -90
- package/src/components/StatusButton/StatusButton.stories.tsx +91 -91
- package/src/components/StatusButton/StatusButton.tsx +46 -46
- package/src/components/StatusButton/index.ts +1 -1
- package/src/components/StatusButton/types.ts +45 -45
- package/src/components/StatusCard/StatusCard.scss +138 -138
- package/src/components/StatusCard/StatusCard.stories.tsx +117 -117
- package/src/components/StatusCard/StatusCard.tsx +80 -80
- package/src/components/StatusCard/index.ts +1 -1
- package/src/components/StatusCard/types.ts +18 -18
- package/src/components/Table/Table.scss +118 -118
- package/src/components/Table/Table.stories.tsx +373 -373
- package/src/components/Table/Table.tsx +178 -178
- package/src/components/Table/Types.ts +124 -124
- package/src/components/Table/index.ts +1 -1
- package/src/components/TableTree/Components/TableBody.tsx +41 -41
- package/src/components/TableTree/Components/TableCell.tsx +75 -75
- package/src/components/TableTree/Components/TableHead.tsx +39 -39
- package/src/components/TableTree/Components/TableRow.tsx +41 -41
- package/src/components/TableTree/TableTree.scss +210 -210
- package/src/components/TableTree/TableTree.stories.tsx +176 -176
- package/src/components/TableTree/TableTree.tsx +72 -72
- package/src/components/TableTree/TableTreeStories.scss +22 -22
- package/src/components/TableTree/Utils/getAllChildIds.ts +14 -14
- package/src/components/TableTree/data.ts +368 -368
- package/src/components/TableTree/index.ts +1 -1
- package/src/components/TableTree/types.ts +72 -72
- package/src/components/TableWithAccordion/TableWithAccordion.scss +54 -54
- package/src/components/TableWithAccordion/TableWithAccordion.stories.tsx +94 -94
- package/src/components/TableWithAccordion/TableWithAccordion.tsx +174 -174
- package/src/components/TableWithAccordion/data.ts +36 -36
- package/src/components/TableWithAccordion/types.ts +69 -69
- package/src/components/Tabs/Tabs.scss +132 -132
- package/src/components/Tabs/Tabs.stories.tsx +153 -153
- package/src/components/Tabs/Tabs.tsx +71 -71
- package/src/components/Tabs/index.ts +1 -1
- package/src/components/Tabs/types.ts +48 -48
- package/src/components/TextArea/Textarea.scss +144 -144
- package/src/components/TextArea/Textarea.stories.tsx +92 -92
- package/src/components/TextArea/Textarea.tsx +86 -86
- package/src/components/TextArea/Types.ts +85 -85
- package/src/components/TextArea/index.tsx +1 -1
- package/src/components/ThemeProvider/ThemeProvider.tsx +27 -27
- package/src/components/ThemeProvider/index.ts +1 -1
- package/src/components/ThemeProvider/types.ts +14 -14
- package/src/components/Toast/Toast.scss +121 -121
- package/src/components/Toast/Toast.stories.tsx +144 -144
- package/src/components/Toast/Toast.tsx +117 -117
- package/src/components/Toast/index.ts +1 -1
- package/src/components/Toast/types.ts +27 -27
- package/src/components/Toastify/Toastify.stories.tsx +71 -71
- package/src/components/Toastify/Toastify.tsx +95 -95
- package/src/components/Toastify/index.ts +1 -1
- package/src/components/Toastify/types.ts +9 -9
- package/src/components/Toggle/Toggle.scss +133 -133
- package/src/components/Toggle/Toggle.stories.tsx +132 -132
- package/src/components/Toggle/Toggle.tsx +96 -96
- package/src/components/Toggle/index.ts +1 -1
- package/src/components/Toggle/types.ts +43 -43
- package/src/components/ToggleSwitch/ToggleSwitch.scss +58 -58
- package/src/components/ToggleSwitch/ToggleSwitch.stories.tsx +52 -52
- package/src/components/ToggleSwitch/ToggleSwitch.tsx +30 -30
- package/src/components/ToggleSwitch/index.ts +1 -1
- package/src/components/Tooltip/Tooltip.scss +27 -27
- package/src/components/Tooltip/Tooltip.stories.tsx +98 -98
- package/src/components/Tooltip/Tooltip.tsx +194 -194
- package/src/components/Tooltip/index.ts +1 -1
- package/src/components/Tooltip/types.ts +66 -66
- package/src/components/Typography/Typography.scss +25 -25
- package/src/components/Typography/Typography.stories.tsx +59 -59
- package/src/components/Typography/Typography.tsx +41 -41
- package/src/components/Typography/index.ts +1 -1
- package/src/components/Typography/types.ts +57 -57
- package/src/components/VariableInput/VariableInput.scss +127 -127
- package/src/components/VariableInput/VariableInput.stories.tsx +32 -32
- package/src/components/VariableInput/VariableInput.tsx +352 -352
- package/src/components/VariableInput/types.ts +56 -56
- package/src/hooks/keyboardevents/useEscKeyEvent.tsx +30 -30
- package/src/hooks/useClickOutside.tsx +30 -30
- package/src/hooks/useFileDropzone.tsx +275 -275
- package/src/hooks/useIntersectionObserver.tsx +56 -56
- package/src/hooks/usePortalPosition.tsx +53 -53
- package/src/hooks/useTheme.tsx +13 -13
- package/src/index.ts +322 -302
- package/src/utils/FormatString/FormatString.stories.tsx +58 -58
- package/src/utils/FormatString/FormatString.tsx +41 -41
- package/src/utils/TableCell/TableCell.ts +16 -16
- package/src/utils/capitalize/capitalize.stories.tsx +44 -44
- package/src/utils/capitalize/capitalize.tsx +4 -4
- package/src/utils/checkDuplicates/CheckDuplicates.stories.tsx +40 -40
- package/src/utils/checkDuplicates/checkDuplicates.ts +13 -13
- package/src/utils/checkEmpty/checkEmpty.stories.tsx +34 -34
- package/src/utils/checkEmpty/checkEmpty.ts +24 -24
- package/src/utils/compareArrays/compareArrays.stories.tsx +62 -62
- package/src/utils/compareArrays/compareArrays.ts +31 -31
- package/src/utils/compareObjects/compareObjects.stories.tsx +51 -51
- package/src/utils/compareObjects/compareObjects.ts +53 -53
- package/src/utils/debounce/debounce.stories.tsx +81 -81
- package/src/utils/debounce/debounce.ts +28 -28
- package/src/utils/downloadFile/saveFileFromBlob.stories.tsx +62 -62
- package/src/utils/downloadFile/saveFileFromBlob.ts +40 -40
- package/src/utils/ffID/ffID.stories.tsx +35 -35
- package/src/utils/ffID/ffid.ts +7 -7
- package/src/utils/findAndInsert/findAndInsert.stories.tsx +119 -119
- package/src/utils/findAndInsert/findAndInsert.ts +49 -49
- package/src/utils/formData/ConvertFormDataToObject.stories.tsx +27 -27
- package/src/utils/formData/ConvertFormDataToObject.ts +14 -14
- package/src/utils/functionCheck/functionCheck.ts +8 -8
- package/src/utils/getEncryptedData/getEncryptedData.stories.tsx +55 -55
- package/src/utils/getEncryptedData/getEncryptedData.ts +8 -8
- package/src/utils/getExtension/getExtension.stories.tsx +24 -24
- package/src/utils/getExtension/getExtension.ts +28 -28
- package/src/utils/getSelectOptionValue/getSelectOptionValue.ts +31 -31
- package/src/utils/getSequentialPayload/getSequentialPayload.stories.tsx +72 -72
- package/src/utils/getSequentialPayload/getSequentialPayload.ts +16 -16
- package/src/utils/getSequentialPayload/types.ts +33 -33
- package/src/utils/keyBoardActionUtil/UseKeyboardAction.stories.tsx +53 -0
- package/src/utils/keyBoardActionUtil/UseKeyboardActions.tsx +20 -0
- package/src/utils/keyBoardActionUtil/types.ts +4 -0
- package/src/utils/throttle/throttle.stories.tsx +100 -100
- package/src/utils/throttle/throttle.ts +33 -33
- package/src/utils/truncateText/truncateText.stories.tsx +37 -37
- package/src/utils/truncateText/truncateText.ts +4 -4
- package/src/utils/validateFile/validateFile.stories.tsx +49 -49
- package/src/utils/validateFile/validateFile.ts +39 -39
- package/src/validations/regex.stories.tsx +425 -418
- package/src/validations/regex.ts +228 -224
- package/tsconfig.json +55 -55
- package/vite.config.js +14 -14
- package/lib/1fb4472b34e4fe07.css +0 -1
- package/lib/components/AddVariables/AddVariables.d.ts +0 -5
- package/lib/components/AddVariables/index.d.ts +0 -1
- package/lib/components/AddVariables/types.d.ts +0 -99
- package/lib/components/NLPInput/type.d.ts +0 -70
- package/lib/components/SequentialConnectingBranch/components/AddBrowserModal/AddBrowserModal.d.ts +0 -4
- package/lib/components/SequentialConnectingBranch/components/AddBrowserModal/types.d.ts +0 -3
- package/lib/components/SequentialConnectingBranch/components/DatasetListModal/DatasetListModal.d.ts +0 -4
- package/lib/components/SequentialConnectingBranch/components/DatasetListModal/types.d.ts +0 -3
- package/lib/index.css +0 -1
- package/lib/index.esm.css +0 -1
@@ -1,382 +1,382 @@
|
|
1
|
-
import * as Point from './point';
|
2
|
-
|
3
|
-
/** A two-dimensional array of given type T in rows and columns */
|
4
|
-
export type Matrix<T> = Array<Array<T | undefined>>;
|
5
|
-
|
6
|
-
/**
|
7
|
-
* Creates an empty matrix with given rows and columns
|
8
|
-
* @param rows - integer, the amount of rows the matrix should have
|
9
|
-
* @param columns - integer, the amount of columns the matrix should have
|
10
|
-
* @returns an empty matrix with given rows and columns
|
11
|
-
*/
|
12
|
-
export function createEmpty<T>(rows: number, columns: number): Matrix<T> {
|
13
|
-
const matrix = Array(rows);
|
14
|
-
for (let i = 0; i < rows; i++) {
|
15
|
-
matrix[i] = Array(columns);
|
16
|
-
}
|
17
|
-
return matrix;
|
18
|
-
}
|
19
|
-
|
20
|
-
/** Gets the value at row and column of matrix. */
|
21
|
-
export function get<T>(point: Point.Point, matrix: Matrix<T>): T | undefined {
|
22
|
-
const columns = matrix[point.row];
|
23
|
-
if (columns === undefined) {
|
24
|
-
return undefined;
|
25
|
-
}
|
26
|
-
return columns[point.column];
|
27
|
-
}
|
28
|
-
|
29
|
-
/** Creates a slice of matrix from startPoint up to, but not including, endPoint. */
|
30
|
-
export function slice<T>(
|
31
|
-
startPoint: Point.Point,
|
32
|
-
endPoint: Point.Point,
|
33
|
-
matrix: Matrix<T>
|
34
|
-
): Matrix<T> {
|
35
|
-
const sliced: Matrix<T> = [];
|
36
|
-
const columns = endPoint.column - startPoint.column;
|
37
|
-
for (let row = startPoint.row; row <= endPoint.row; row++) {
|
38
|
-
const slicedRow = row - startPoint.row;
|
39
|
-
sliced[slicedRow] = sliced[slicedRow] || Array(columns);
|
40
|
-
for (let column = startPoint.column; column <= endPoint.column; column++) {
|
41
|
-
sliced[slicedRow][column - startPoint.column] = get(
|
42
|
-
{ row, column },
|
43
|
-
matrix
|
44
|
-
);
|
45
|
-
}
|
46
|
-
}
|
47
|
-
return sliced;
|
48
|
-
}
|
49
|
-
|
50
|
-
/** Sets the value at row and column of matrix. If a row doesn't exist, it's created. */
|
51
|
-
|
52
|
-
export function set<T>(
|
53
|
-
point: Point.Point,
|
54
|
-
value: T,
|
55
|
-
matrix: Matrix<T>
|
56
|
-
): Matrix<T> {
|
57
|
-
// Create a shallow copy of the matrix
|
58
|
-
const nextMatrix = [...matrix];
|
59
|
-
|
60
|
-
// Ensure the first row exists (initialize if undefined)
|
61
|
-
const firstRow = matrix[0] ?? [];
|
62
|
-
const nextFirstRow = [...firstRow];
|
63
|
-
|
64
|
-
// Ensure the first row has enough columns to accommodate the specified column
|
65
|
-
if (nextFirstRow.length <= point.column) {
|
66
|
-
nextFirstRow.length = point.column + 1; // Extend the first row if needed
|
67
|
-
}
|
68
|
-
|
69
|
-
// Set the modified first row back into the matrix
|
70
|
-
nextMatrix[0] = nextFirstRow;
|
71
|
-
|
72
|
-
// Ensure the specified row exists (initialize if undefined)
|
73
|
-
const nextRow = matrix[point.row] ?? [];
|
74
|
-
const nextRowCopy = [...nextRow];
|
75
|
-
|
76
|
-
// Set the value at the specified point
|
77
|
-
nextRowCopy[point.column] = value;
|
78
|
-
|
79
|
-
// Set the modified row back into the matrix
|
80
|
-
nextMatrix[point.row] = nextRowCopy;
|
81
|
-
|
82
|
-
return nextMatrix;
|
83
|
-
}
|
84
|
-
|
85
|
-
/** Like Matrix.set() but mutates the matrix */
|
86
|
-
|
87
|
-
export function mutableSet<T>(
|
88
|
-
point: Point.Point,
|
89
|
-
value: T,
|
90
|
-
matrix: Matrix<T>
|
91
|
-
): void {
|
92
|
-
// Ensure that the first row exists, if not, create it
|
93
|
-
let firstRow = matrix[0];
|
94
|
-
if (!firstRow) {
|
95
|
-
firstRow = [];
|
96
|
-
matrix[0] = firstRow;
|
97
|
-
}
|
98
|
-
|
99
|
-
// Ensure the row at point.row exists, if not, create it
|
100
|
-
let row = matrix[point.row];
|
101
|
-
if (!row) {
|
102
|
-
row = [];
|
103
|
-
matrix[point.row] = row;
|
104
|
-
}
|
105
|
-
|
106
|
-
// Ensure that the first row has enough columns
|
107
|
-
if (firstRow.length <= point.column) {
|
108
|
-
firstRow.length = point.column + 1; // Extend the first row if needed
|
109
|
-
}
|
110
|
-
|
111
|
-
// Set the value at the specified point
|
112
|
-
row[point.column] = value;
|
113
|
-
}
|
114
|
-
|
115
|
-
/** Removes the coordinate of matrix */
|
116
|
-
// export function unset<T>(point: Point.Point, matrix: Matrix<T>): Matrix<T> {
|
117
|
-
// if (!has(point, matrix)) {
|
118
|
-
// return matrix;
|
119
|
-
// }
|
120
|
-
// const nextMatrix = [...matrix];
|
121
|
-
// const nextRow = [...matrix[point.row]];
|
122
|
-
|
123
|
-
// // Avoid deleting to preserve first row length
|
124
|
-
// nextRow[point.column] = undefined;
|
125
|
-
// nextMatrix[point.row] = nextRow;
|
126
|
-
|
127
|
-
// return nextMatrix;
|
128
|
-
// }
|
129
|
-
|
130
|
-
export function unset<T>(point: Point.Point, matrix: Matrix<T>): Matrix<T> {
|
131
|
-
// Check if the point exists in the matrix
|
132
|
-
if (!has(point, matrix)) {
|
133
|
-
return matrix;
|
134
|
-
}
|
135
|
-
|
136
|
-
// Create a shallow copy of the matrix
|
137
|
-
const nextMatrix = [...matrix];
|
138
|
-
|
139
|
-
// Check if the row exists before trying to copy it
|
140
|
-
const currentRow = matrix[point.row];
|
141
|
-
if (currentRow) {
|
142
|
-
// Create a shallow copy of the row
|
143
|
-
const nextRow = [...currentRow];
|
144
|
-
// Avoid deleting to preserve first row length
|
145
|
-
nextRow[point.column] = undefined;
|
146
|
-
|
147
|
-
// Update the matrix with the modified row
|
148
|
-
nextMatrix[point.row] = nextRow;
|
149
|
-
}
|
150
|
-
|
151
|
-
return nextMatrix;
|
152
|
-
}
|
153
|
-
|
154
|
-
/** Creates an array of values by running each element in collection thru iteratee. */
|
155
|
-
export function map<T, T2>(
|
156
|
-
func: (value: T | undefined, point: Point.Point) => T2,
|
157
|
-
matrix: Matrix<T>
|
158
|
-
): Matrix<T2> {
|
159
|
-
const newMatrix: Matrix<T2> = [];
|
160
|
-
for (const [point, value] of entries(matrix)) {
|
161
|
-
mutableSet(point, func(value, point), newMatrix);
|
162
|
-
}
|
163
|
-
return newMatrix;
|
164
|
-
}
|
165
|
-
|
166
|
-
/** Create an iterator over the cells in the matrix */
|
167
|
-
export function* entries<T>(
|
168
|
-
matrix: Matrix<T>
|
169
|
-
): IterableIterator<[Point.Point, T | undefined]> {
|
170
|
-
for (const [row, values] of matrix.entries()) {
|
171
|
-
for (const [column, value] of values.entries()) {
|
172
|
-
const point = { row, column };
|
173
|
-
yield [point, value];
|
174
|
-
}
|
175
|
-
}
|
176
|
-
}
|
177
|
-
|
178
|
-
/**
|
179
|
-
* Converts all elements in row into a string separated by horizontalSeparator and each row string
|
180
|
-
* to string separated by verticalSeparator
|
181
|
-
*/
|
182
|
-
|
183
|
-
export function join(
|
184
|
-
matrix: Matrix<unknown>,
|
185
|
-
horizontalSeparator = '\t',
|
186
|
-
verticalSeparator = '\n'
|
187
|
-
): string {
|
188
|
-
let joined = '';
|
189
|
-
const { rows, columns } = getSize(matrix);
|
190
|
-
|
191
|
-
for (let row = 0; row < rows; row++) {
|
192
|
-
if (row) {
|
193
|
-
joined += verticalSeparator;
|
194
|
-
}
|
195
|
-
|
196
|
-
for (let column = 0; column < columns; column++) {
|
197
|
-
if (column) {
|
198
|
-
joined += horizontalSeparator;
|
199
|
-
}
|
200
|
-
|
201
|
-
// Ensure matrix[row] exists and matrix[row][column] is not undefined
|
202
|
-
const cellValue = matrix[row]?.[column];
|
203
|
-
|
204
|
-
// If cellValue is undefined, you can use a fallback value like an empty string
|
205
|
-
joined += cellValue !== undefined ? String(cellValue) : '';
|
206
|
-
}
|
207
|
-
}
|
208
|
-
|
209
|
-
return joined;
|
210
|
-
}
|
211
|
-
|
212
|
-
/**
|
213
|
-
* Parses a CSV separated by a horizontalSeparator and verticalSeparator into a
|
214
|
-
* Matrix using a transform function
|
215
|
-
*/
|
216
|
-
export function split<T>(
|
217
|
-
csv: string,
|
218
|
-
transform: (value: string) => T,
|
219
|
-
horizontalSeparator = '\t',
|
220
|
-
verticalSeparator: string | RegExp = /\r\n|\n|\r/
|
221
|
-
): Matrix<T> {
|
222
|
-
// Temporarily replace line breaks inside quotes
|
223
|
-
const replaced = csv.replace(/"([^"]*?)"/g, (_, p1) => {
|
224
|
-
return p1.replace(/\n/g, '\\n');
|
225
|
-
});
|
226
|
-
return replaced.split(verticalSeparator).map((row) =>
|
227
|
-
row
|
228
|
-
.split(horizontalSeparator)
|
229
|
-
.map((line) => {
|
230
|
-
// Restore original line breaks in each line
|
231
|
-
return line.replace(/\\n/g, '\n');
|
232
|
-
})
|
233
|
-
.map(transform)
|
234
|
-
);
|
235
|
-
}
|
236
|
-
|
237
|
-
/** Returns whether the point exists in the matrix or not. */
|
238
|
-
export function has(point: Point.Point, matrix: Matrix<unknown>): boolean {
|
239
|
-
const firstRow = matrix[0];
|
240
|
-
if (!firstRow) {
|
241
|
-
return false; // If first row is undefined, return false
|
242
|
-
}
|
243
|
-
|
244
|
-
// Perform validation checks
|
245
|
-
return (
|
246
|
-
point.row >= 0 &&
|
247
|
-
point.column >= 0 &&
|
248
|
-
Number.isInteger(point.row) &&
|
249
|
-
Number.isInteger(point.column) &&
|
250
|
-
point.column < firstRow.length &&
|
251
|
-
point.row < matrix.length
|
252
|
-
);
|
253
|
-
}
|
254
|
-
|
255
|
-
/** Counts of the rows and column in a matrix */
|
256
|
-
export type Size = {
|
257
|
-
/** Count of the rows in the matrix */
|
258
|
-
rows: number;
|
259
|
-
/** Count of the columns in the matrix */
|
260
|
-
columns: number;
|
261
|
-
};
|
262
|
-
|
263
|
-
/** Gets the count of rows and columns of given matrix */
|
264
|
-
export function getSize(matrix: Matrix<unknown>): Size {
|
265
|
-
return {
|
266
|
-
columns: getColumnsCount(matrix),
|
267
|
-
rows: getRowsCount(matrix),
|
268
|
-
};
|
269
|
-
}
|
270
|
-
|
271
|
-
/** Gets the count of rows of given matrix */
|
272
|
-
export function getRowsCount(matrix: Matrix<unknown>): number {
|
273
|
-
return matrix.length;
|
274
|
-
}
|
275
|
-
|
276
|
-
/** Gets the count of columns of given matrix */
|
277
|
-
export function getColumnsCount(matrix: Matrix<unknown>): number {
|
278
|
-
const firstRow = matrix[0];
|
279
|
-
return firstRow ? firstRow.length : 0;
|
280
|
-
}
|
281
|
-
|
282
|
-
/**
|
283
|
-
* Pads matrix with empty rows to match given total rows
|
284
|
-
* @param matrix - matrix to pad
|
285
|
-
* @param totalRows - number of rows the matrix should have
|
286
|
-
* @returns the updated matrix
|
287
|
-
*/
|
288
|
-
export function padRows<T>(matrix: Matrix<T>, totalRows: number): Matrix<T> {
|
289
|
-
const { rows, columns } = getSize(matrix);
|
290
|
-
|
291
|
-
if (rows >= totalRows) {
|
292
|
-
return matrix;
|
293
|
-
}
|
294
|
-
|
295
|
-
const missingRows = totalRows - rows;
|
296
|
-
const emptyRow = Array(columns).fill(undefined);
|
297
|
-
const emptyRows = Array(missingRows).fill(emptyRow);
|
298
|
-
return [...matrix, ...emptyRows];
|
299
|
-
}
|
300
|
-
|
301
|
-
/**
|
302
|
-
* Pads matrix with empty columns to match given total columns
|
303
|
-
* @param matrix - matrix to pad
|
304
|
-
* @param size - minimum size of the matrix after padding.
|
305
|
-
* @returns the updated matrix
|
306
|
-
*/
|
307
|
-
export function pad<T>(matrix: Matrix<T>, size: Size): Matrix<T> {
|
308
|
-
const { rows, columns } = getSize(matrix);
|
309
|
-
|
310
|
-
if (rows >= size.rows && columns >= size.columns) {
|
311
|
-
// Optimization, no padding required.
|
312
|
-
return matrix;
|
313
|
-
}
|
314
|
-
|
315
|
-
const resultSize: Size = {
|
316
|
-
rows: size.rows > rows ? size.rows : rows,
|
317
|
-
columns: size.columns > columns ? size.columns : columns,
|
318
|
-
};
|
319
|
-
|
320
|
-
let padded = [...matrix];
|
321
|
-
if (resultSize.columns > columns) {
|
322
|
-
const padColumns = resultSize.columns - columns;
|
323
|
-
padded = padded.map((row) => [
|
324
|
-
...row,
|
325
|
-
...Array(padColumns).fill(undefined),
|
326
|
-
]);
|
327
|
-
}
|
328
|
-
|
329
|
-
if (resultSize.rows > rows) {
|
330
|
-
const padRows = resultSize.rows - rows;
|
331
|
-
const emptyRow = Array(resultSize.columns).fill(undefined);
|
332
|
-
padded = [...padded, ...Array(padRows).fill(emptyRow)];
|
333
|
-
}
|
334
|
-
|
335
|
-
return padded;
|
336
|
-
}
|
337
|
-
|
338
|
-
export function toArray<T>(matrix: Matrix<T>): T[];
|
339
|
-
export function toArray<T1, T2>(
|
340
|
-
matrix: Matrix<T1>,
|
341
|
-
transform: (cell: T1 | undefined, coords: Point.Point) => T2
|
342
|
-
): T2[];
|
343
|
-
|
344
|
-
/**
|
345
|
-
* Flattens a matrix values to an array
|
346
|
-
* @param matrix - the matrix to flatten values from
|
347
|
-
* @param transform - optional transform function to apply to each value in the
|
348
|
-
* matrix
|
349
|
-
* @returns an array of the values from matrix, transformed if a transform
|
350
|
-
* function is passed
|
351
|
-
*/
|
352
|
-
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
353
|
-
|
354
|
-
export function toArray<T1, T2>(
|
355
|
-
matrix: Matrix<T1>,
|
356
|
-
transform?: (cell: T1 | undefined, coords: Point.Point) => T2
|
357
|
-
): T2[] {
|
358
|
-
const array: T2[] = [];
|
359
|
-
|
360
|
-
for (let row = 0; row < matrix.length; row++) {
|
361
|
-
const currentRow = matrix[row];
|
362
|
-
|
363
|
-
// Ensure the row is not undefined
|
364
|
-
if (currentRow !== undefined) {
|
365
|
-
for (let column = 0; column < currentRow.length; column++) {
|
366
|
-
const value = currentRow[column];
|
367
|
-
// If transform is provided, apply it; otherwise, use the value as is
|
368
|
-
array.push(
|
369
|
-
transform ? transform(value, { row, column }) : (value as T2)
|
370
|
-
);
|
371
|
-
}
|
372
|
-
}
|
373
|
-
}
|
374
|
-
|
375
|
-
return array;
|
376
|
-
}
|
377
|
-
|
378
|
-
/** Returns the maximum point in the matrix */
|
379
|
-
export function maxPoint(matrix: Matrix<unknown>): Point.Point {
|
380
|
-
const size = getSize(matrix);
|
381
|
-
return { row: size.rows - 1, column: size.columns - 1 };
|
382
|
-
}
|
1
|
+
import * as Point from './point';
|
2
|
+
|
3
|
+
/** A two-dimensional array of given type T in rows and columns */
|
4
|
+
export type Matrix<T> = Array<Array<T | undefined>>;
|
5
|
+
|
6
|
+
/**
|
7
|
+
* Creates an empty matrix with given rows and columns
|
8
|
+
* @param rows - integer, the amount of rows the matrix should have
|
9
|
+
* @param columns - integer, the amount of columns the matrix should have
|
10
|
+
* @returns an empty matrix with given rows and columns
|
11
|
+
*/
|
12
|
+
export function createEmpty<T>(rows: number, columns: number): Matrix<T> {
|
13
|
+
const matrix = Array(rows);
|
14
|
+
for (let i = 0; i < rows; i++) {
|
15
|
+
matrix[i] = Array(columns);
|
16
|
+
}
|
17
|
+
return matrix;
|
18
|
+
}
|
19
|
+
|
20
|
+
/** Gets the value at row and column of matrix. */
|
21
|
+
export function get<T>(point: Point.Point, matrix: Matrix<T>): T | undefined {
|
22
|
+
const columns = matrix[point.row];
|
23
|
+
if (columns === undefined) {
|
24
|
+
return undefined;
|
25
|
+
}
|
26
|
+
return columns[point.column];
|
27
|
+
}
|
28
|
+
|
29
|
+
/** Creates a slice of matrix from startPoint up to, but not including, endPoint. */
|
30
|
+
export function slice<T>(
|
31
|
+
startPoint: Point.Point,
|
32
|
+
endPoint: Point.Point,
|
33
|
+
matrix: Matrix<T>
|
34
|
+
): Matrix<T> {
|
35
|
+
const sliced: Matrix<T> = [];
|
36
|
+
const columns = endPoint.column - startPoint.column;
|
37
|
+
for (let row = startPoint.row; row <= endPoint.row; row++) {
|
38
|
+
const slicedRow = row - startPoint.row;
|
39
|
+
sliced[slicedRow] = sliced[slicedRow] || Array(columns);
|
40
|
+
for (let column = startPoint.column; column <= endPoint.column; column++) {
|
41
|
+
sliced[slicedRow][column - startPoint.column] = get(
|
42
|
+
{ row, column },
|
43
|
+
matrix
|
44
|
+
);
|
45
|
+
}
|
46
|
+
}
|
47
|
+
return sliced;
|
48
|
+
}
|
49
|
+
|
50
|
+
/** Sets the value at row and column of matrix. If a row doesn't exist, it's created. */
|
51
|
+
|
52
|
+
export function set<T>(
|
53
|
+
point: Point.Point,
|
54
|
+
value: T,
|
55
|
+
matrix: Matrix<T>
|
56
|
+
): Matrix<T> {
|
57
|
+
// Create a shallow copy of the matrix
|
58
|
+
const nextMatrix = [...matrix];
|
59
|
+
|
60
|
+
// Ensure the first row exists (initialize if undefined)
|
61
|
+
const firstRow = matrix[0] ?? [];
|
62
|
+
const nextFirstRow = [...firstRow];
|
63
|
+
|
64
|
+
// Ensure the first row has enough columns to accommodate the specified column
|
65
|
+
if (nextFirstRow.length <= point.column) {
|
66
|
+
nextFirstRow.length = point.column + 1; // Extend the first row if needed
|
67
|
+
}
|
68
|
+
|
69
|
+
// Set the modified first row back into the matrix
|
70
|
+
nextMatrix[0] = nextFirstRow;
|
71
|
+
|
72
|
+
// Ensure the specified row exists (initialize if undefined)
|
73
|
+
const nextRow = matrix[point.row] ?? [];
|
74
|
+
const nextRowCopy = [...nextRow];
|
75
|
+
|
76
|
+
// Set the value at the specified point
|
77
|
+
nextRowCopy[point.column] = value;
|
78
|
+
|
79
|
+
// Set the modified row back into the matrix
|
80
|
+
nextMatrix[point.row] = nextRowCopy;
|
81
|
+
|
82
|
+
return nextMatrix;
|
83
|
+
}
|
84
|
+
|
85
|
+
/** Like Matrix.set() but mutates the matrix */
|
86
|
+
|
87
|
+
export function mutableSet<T>(
|
88
|
+
point: Point.Point,
|
89
|
+
value: T,
|
90
|
+
matrix: Matrix<T>
|
91
|
+
): void {
|
92
|
+
// Ensure that the first row exists, if not, create it
|
93
|
+
let firstRow = matrix[0];
|
94
|
+
if (!firstRow) {
|
95
|
+
firstRow = [];
|
96
|
+
matrix[0] = firstRow;
|
97
|
+
}
|
98
|
+
|
99
|
+
// Ensure the row at point.row exists, if not, create it
|
100
|
+
let row = matrix[point.row];
|
101
|
+
if (!row) {
|
102
|
+
row = [];
|
103
|
+
matrix[point.row] = row;
|
104
|
+
}
|
105
|
+
|
106
|
+
// Ensure that the first row has enough columns
|
107
|
+
if (firstRow.length <= point.column) {
|
108
|
+
firstRow.length = point.column + 1; // Extend the first row if needed
|
109
|
+
}
|
110
|
+
|
111
|
+
// Set the value at the specified point
|
112
|
+
row[point.column] = value;
|
113
|
+
}
|
114
|
+
|
115
|
+
/** Removes the coordinate of matrix */
|
116
|
+
// export function unset<T>(point: Point.Point, matrix: Matrix<T>): Matrix<T> {
|
117
|
+
// if (!has(point, matrix)) {
|
118
|
+
// return matrix;
|
119
|
+
// }
|
120
|
+
// const nextMatrix = [...matrix];
|
121
|
+
// const nextRow = [...matrix[point.row]];
|
122
|
+
|
123
|
+
// // Avoid deleting to preserve first row length
|
124
|
+
// nextRow[point.column] = undefined;
|
125
|
+
// nextMatrix[point.row] = nextRow;
|
126
|
+
|
127
|
+
// return nextMatrix;
|
128
|
+
// }
|
129
|
+
|
130
|
+
export function unset<T>(point: Point.Point, matrix: Matrix<T>): Matrix<T> {
|
131
|
+
// Check if the point exists in the matrix
|
132
|
+
if (!has(point, matrix)) {
|
133
|
+
return matrix;
|
134
|
+
}
|
135
|
+
|
136
|
+
// Create a shallow copy of the matrix
|
137
|
+
const nextMatrix = [...matrix];
|
138
|
+
|
139
|
+
// Check if the row exists before trying to copy it
|
140
|
+
const currentRow = matrix[point.row];
|
141
|
+
if (currentRow) {
|
142
|
+
// Create a shallow copy of the row
|
143
|
+
const nextRow = [...currentRow];
|
144
|
+
// Avoid deleting to preserve first row length
|
145
|
+
nextRow[point.column] = undefined;
|
146
|
+
|
147
|
+
// Update the matrix with the modified row
|
148
|
+
nextMatrix[point.row] = nextRow;
|
149
|
+
}
|
150
|
+
|
151
|
+
return nextMatrix;
|
152
|
+
}
|
153
|
+
|
154
|
+
/** Creates an array of values by running each element in collection thru iteratee. */
|
155
|
+
export function map<T, T2>(
|
156
|
+
func: (value: T | undefined, point: Point.Point) => T2,
|
157
|
+
matrix: Matrix<T>
|
158
|
+
): Matrix<T2> {
|
159
|
+
const newMatrix: Matrix<T2> = [];
|
160
|
+
for (const [point, value] of entries(matrix)) {
|
161
|
+
mutableSet(point, func(value, point), newMatrix);
|
162
|
+
}
|
163
|
+
return newMatrix;
|
164
|
+
}
|
165
|
+
|
166
|
+
/** Create an iterator over the cells in the matrix */
|
167
|
+
export function* entries<T>(
|
168
|
+
matrix: Matrix<T>
|
169
|
+
): IterableIterator<[Point.Point, T | undefined]> {
|
170
|
+
for (const [row, values] of matrix.entries()) {
|
171
|
+
for (const [column, value] of values.entries()) {
|
172
|
+
const point = { row, column };
|
173
|
+
yield [point, value];
|
174
|
+
}
|
175
|
+
}
|
176
|
+
}
|
177
|
+
|
178
|
+
/**
|
179
|
+
* Converts all elements in row into a string separated by horizontalSeparator and each row string
|
180
|
+
* to string separated by verticalSeparator
|
181
|
+
*/
|
182
|
+
|
183
|
+
export function join(
|
184
|
+
matrix: Matrix<unknown>,
|
185
|
+
horizontalSeparator = '\t',
|
186
|
+
verticalSeparator = '\n'
|
187
|
+
): string {
|
188
|
+
let joined = '';
|
189
|
+
const { rows, columns } = getSize(matrix);
|
190
|
+
|
191
|
+
for (let row = 0; row < rows; row++) {
|
192
|
+
if (row) {
|
193
|
+
joined += verticalSeparator;
|
194
|
+
}
|
195
|
+
|
196
|
+
for (let column = 0; column < columns; column++) {
|
197
|
+
if (column) {
|
198
|
+
joined += horizontalSeparator;
|
199
|
+
}
|
200
|
+
|
201
|
+
// Ensure matrix[row] exists and matrix[row][column] is not undefined
|
202
|
+
const cellValue = matrix[row]?.[column];
|
203
|
+
|
204
|
+
// If cellValue is undefined, you can use a fallback value like an empty string
|
205
|
+
joined += cellValue !== undefined ? String(cellValue) : '';
|
206
|
+
}
|
207
|
+
}
|
208
|
+
|
209
|
+
return joined;
|
210
|
+
}
|
211
|
+
|
212
|
+
/**
|
213
|
+
* Parses a CSV separated by a horizontalSeparator and verticalSeparator into a
|
214
|
+
* Matrix using a transform function
|
215
|
+
*/
|
216
|
+
export function split<T>(
|
217
|
+
csv: string,
|
218
|
+
transform: (value: string) => T,
|
219
|
+
horizontalSeparator = '\t',
|
220
|
+
verticalSeparator: string | RegExp = /\r\n|\n|\r/
|
221
|
+
): Matrix<T> {
|
222
|
+
// Temporarily replace line breaks inside quotes
|
223
|
+
const replaced = csv.replace(/"([^"]*?)"/g, (_, p1) => {
|
224
|
+
return p1.replace(/\n/g, '\\n');
|
225
|
+
});
|
226
|
+
return replaced.split(verticalSeparator).map((row) =>
|
227
|
+
row
|
228
|
+
.split(horizontalSeparator)
|
229
|
+
.map((line) => {
|
230
|
+
// Restore original line breaks in each line
|
231
|
+
return line.replace(/\\n/g, '\n');
|
232
|
+
})
|
233
|
+
.map(transform)
|
234
|
+
);
|
235
|
+
}
|
236
|
+
|
237
|
+
/** Returns whether the point exists in the matrix or not. */
|
238
|
+
export function has(point: Point.Point, matrix: Matrix<unknown>): boolean {
|
239
|
+
const firstRow = matrix[0];
|
240
|
+
if (!firstRow) {
|
241
|
+
return false; // If first row is undefined, return false
|
242
|
+
}
|
243
|
+
|
244
|
+
// Perform validation checks
|
245
|
+
return (
|
246
|
+
point.row >= 0 &&
|
247
|
+
point.column >= 0 &&
|
248
|
+
Number.isInteger(point.row) &&
|
249
|
+
Number.isInteger(point.column) &&
|
250
|
+
point.column < firstRow.length &&
|
251
|
+
point.row < matrix.length
|
252
|
+
);
|
253
|
+
}
|
254
|
+
|
255
|
+
/** Counts of the rows and column in a matrix */
|
256
|
+
export type Size = {
|
257
|
+
/** Count of the rows in the matrix */
|
258
|
+
rows: number;
|
259
|
+
/** Count of the columns in the matrix */
|
260
|
+
columns: number;
|
261
|
+
};
|
262
|
+
|
263
|
+
/** Gets the count of rows and columns of given matrix */
|
264
|
+
export function getSize(matrix: Matrix<unknown>): Size {
|
265
|
+
return {
|
266
|
+
columns: getColumnsCount(matrix),
|
267
|
+
rows: getRowsCount(matrix),
|
268
|
+
};
|
269
|
+
}
|
270
|
+
|
271
|
+
/** Gets the count of rows of given matrix */
|
272
|
+
export function getRowsCount(matrix: Matrix<unknown>): number {
|
273
|
+
return matrix.length;
|
274
|
+
}
|
275
|
+
|
276
|
+
/** Gets the count of columns of given matrix */
|
277
|
+
export function getColumnsCount(matrix: Matrix<unknown>): number {
|
278
|
+
const firstRow = matrix[0];
|
279
|
+
return firstRow ? firstRow.length : 0;
|
280
|
+
}
|
281
|
+
|
282
|
+
/**
|
283
|
+
* Pads matrix with empty rows to match given total rows
|
284
|
+
* @param matrix - matrix to pad
|
285
|
+
* @param totalRows - number of rows the matrix should have
|
286
|
+
* @returns the updated matrix
|
287
|
+
*/
|
288
|
+
export function padRows<T>(matrix: Matrix<T>, totalRows: number): Matrix<T> {
|
289
|
+
const { rows, columns } = getSize(matrix);
|
290
|
+
|
291
|
+
if (rows >= totalRows) {
|
292
|
+
return matrix;
|
293
|
+
}
|
294
|
+
|
295
|
+
const missingRows = totalRows - rows;
|
296
|
+
const emptyRow = Array(columns).fill(undefined);
|
297
|
+
const emptyRows = Array(missingRows).fill(emptyRow);
|
298
|
+
return [...matrix, ...emptyRows];
|
299
|
+
}
|
300
|
+
|
301
|
+
/**
|
302
|
+
* Pads matrix with empty columns to match given total columns
|
303
|
+
* @param matrix - matrix to pad
|
304
|
+
* @param size - minimum size of the matrix after padding.
|
305
|
+
* @returns the updated matrix
|
306
|
+
*/
|
307
|
+
export function pad<T>(matrix: Matrix<T>, size: Size): Matrix<T> {
|
308
|
+
const { rows, columns } = getSize(matrix);
|
309
|
+
|
310
|
+
if (rows >= size.rows && columns >= size.columns) {
|
311
|
+
// Optimization, no padding required.
|
312
|
+
return matrix;
|
313
|
+
}
|
314
|
+
|
315
|
+
const resultSize: Size = {
|
316
|
+
rows: size.rows > rows ? size.rows : rows,
|
317
|
+
columns: size.columns > columns ? size.columns : columns,
|
318
|
+
};
|
319
|
+
|
320
|
+
let padded = [...matrix];
|
321
|
+
if (resultSize.columns > columns) {
|
322
|
+
const padColumns = resultSize.columns - columns;
|
323
|
+
padded = padded.map((row) => [
|
324
|
+
...row,
|
325
|
+
...Array(padColumns).fill(undefined),
|
326
|
+
]);
|
327
|
+
}
|
328
|
+
|
329
|
+
if (resultSize.rows > rows) {
|
330
|
+
const padRows = resultSize.rows - rows;
|
331
|
+
const emptyRow = Array(resultSize.columns).fill(undefined);
|
332
|
+
padded = [...padded, ...Array(padRows).fill(emptyRow)];
|
333
|
+
}
|
334
|
+
|
335
|
+
return padded;
|
336
|
+
}
|
337
|
+
|
338
|
+
export function toArray<T>(matrix: Matrix<T>): T[];
|
339
|
+
export function toArray<T1, T2>(
|
340
|
+
matrix: Matrix<T1>,
|
341
|
+
transform: (cell: T1 | undefined, coords: Point.Point) => T2
|
342
|
+
): T2[];
|
343
|
+
|
344
|
+
/**
|
345
|
+
* Flattens a matrix values to an array
|
346
|
+
* @param matrix - the matrix to flatten values from
|
347
|
+
* @param transform - optional transform function to apply to each value in the
|
348
|
+
* matrix
|
349
|
+
* @returns an array of the values from matrix, transformed if a transform
|
350
|
+
* function is passed
|
351
|
+
*/
|
352
|
+
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
353
|
+
|
354
|
+
export function toArray<T1, T2>(
|
355
|
+
matrix: Matrix<T1>,
|
356
|
+
transform?: (cell: T1 | undefined, coords: Point.Point) => T2
|
357
|
+
): T2[] {
|
358
|
+
const array: T2[] = [];
|
359
|
+
|
360
|
+
for (let row = 0; row < matrix.length; row++) {
|
361
|
+
const currentRow = matrix[row];
|
362
|
+
|
363
|
+
// Ensure the row is not undefined
|
364
|
+
if (currentRow !== undefined) {
|
365
|
+
for (let column = 0; column < currentRow.length; column++) {
|
366
|
+
const value = currentRow[column];
|
367
|
+
// If transform is provided, apply it; otherwise, use the value as is
|
368
|
+
array.push(
|
369
|
+
transform ? transform(value, { row, column }) : (value as T2)
|
370
|
+
);
|
371
|
+
}
|
372
|
+
}
|
373
|
+
}
|
374
|
+
|
375
|
+
return array;
|
376
|
+
}
|
377
|
+
|
378
|
+
/** Returns the maximum point in the matrix */
|
379
|
+
export function maxPoint(matrix: Matrix<unknown>): Point.Point {
|
380
|
+
const size = getSize(matrix);
|
381
|
+
return { row: size.rows - 1, column: size.columns - 1 };
|
382
|
+
}
|