pixel-react-excel-sheet 1.2.0
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 -0
- package/.storybook/main.ts +26 -0
- package/.storybook/preview.ts +26 -0
- package/.yarn/install-state.gz +0 -0
- package/.yarnrc.yml +1 -0
- package/README.md +75 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/index.scss +0 -0
- package/lib/StyleGuide/ColorPalette/ColorPalette.d.ts +3 -0
- package/lib/StyleGuide/ColorPalette/ColorPalette.stories.d.ts +6 -0
- package/lib/StyleGuide/ColorPalette/colorPaletteList.d.ts +3 -0
- package/lib/StyleGuide/ColorPalette/index.d.ts +1 -0
- package/lib/StyleGuide/ColorPalette/types.d.ts +17 -0
- package/lib/StyleGuide/Typography/Typography.d.ts +3 -0
- package/lib/StyleGuide/Typography/Typography.stories.d.ts +6 -0
- package/lib/StyleGuide/Typography/TypographyList.d.ts +5 -0
- package/lib/StyleGuide/Typography/types.d.ts +8 -0
- package/lib/assets/utils/functionUtils.d.ts +4 -0
- package/lib/components/Accordion/Accordion.d.ts +8 -0
- package/lib/components/Accordion/Accordion.stories.d.ts +6 -0
- package/lib/components/Accordion/index.d.ts +1 -0
- package/lib/components/Accordion/types.d.ts +27 -0
- package/lib/components/AddResourceButton/AddButton.d.ts +4 -0
- package/lib/components/AddResourceButton/AddButton.stories.d.ts +8 -0
- package/lib/components/AddResourceButton/ArrowsButton/ArrowsButton.d.ts +6 -0
- package/lib/components/AddResourceButton/index.d.ts +1 -0
- package/lib/components/AddResourceButton/type.d.ts +68 -0
- package/lib/components/AllProjectsDropdown/AllProjectsDropdown.d.ts +4 -0
- package/lib/components/AllProjectsDropdown/AllProjectsDropdown.stories.d.ts +7 -0
- package/lib/components/AllProjectsDropdown/index.d.ts +1 -0
- package/lib/components/AllProjectsDropdown/types.d.ts +10 -0
- package/lib/components/AppHeader/AppHeader.d.ts +4 -0
- package/lib/components/AppHeader/AppHeader.stories.d.ts +7 -0
- package/lib/components/AppHeader/index.d.ts +1 -0
- package/lib/components/AppHeader/types.d.ts +30 -0
- package/lib/components/AttachmentButton/AttachmentButton.d.ts +5 -0
- package/lib/components/AttachmentButton/AttachmentButton.stories.d.ts +9 -0
- package/lib/components/AttachmentButton/index.d.ts +1 -0
- package/lib/components/AttachmentButton/types.d.ts +8 -0
- package/lib/components/Button/Button.d.ts +5 -0
- package/lib/components/Button/Button.stories.d.ts +13 -0
- package/lib/components/Button/index.d.ts +1 -0
- package/lib/components/Button/types.d.ts +61 -0
- package/lib/components/Charts/DashboardDonutChart/DashboardDonutChart.d.ts +5 -0
- package/lib/components/Charts/DashboardDonutChart/DashboardDonutChart.stories.d.ts +7 -0
- package/lib/components/Charts/DashboardDonutChart/index.d.ts +1 -0
- package/lib/components/Charts/DashboardDonutChart/types.d.ts +21 -0
- package/lib/components/Charts/DonutChart/DonutChart.d.ts +5 -0
- package/lib/components/Charts/DonutChart/DonutChart.stories.d.ts +6 -0
- package/lib/components/Charts/DonutChart/index.d.ts +1 -0
- package/lib/components/Charts/DonutChart/type.d.ts +13 -0
- package/lib/components/Charts/PieChart/PieChart.d.ts +5 -0
- package/lib/components/Charts/PieChart/PieChart.stories.d.ts +7 -0
- package/lib/components/Charts/PieChart/index.d.ts +1 -0
- package/lib/components/Charts/PieChart/types.d.ts +27 -0
- package/lib/components/Charts/RadialChart/RadialChart.d.ts +5 -0
- package/lib/components/Charts/RadialChart/RadialChart.stories.d.ts +6 -0
- package/lib/components/Charts/RadialChart/index.d.ts +1 -0
- package/lib/components/Charts/RadialChart/types.d.ts +25 -0
- package/lib/components/Checkbox/Checkbox.d.ts +6 -0
- package/lib/components/Checkbox/Checkbox.stories.d.ts +8 -0
- package/lib/components/Checkbox/index.d.ts +1 -0
- package/lib/components/Checkbox/types.d.ts +30 -0
- package/lib/components/Chip/Chip.d.ts +4 -0
- package/lib/components/Chip/Chip.stories.d.ts +14 -0
- package/lib/components/Chip/index.d.ts +1 -0
- package/lib/components/Chip/types.d.ts +18 -0
- package/lib/components/DatePicker/DatePicker.d.ts +5 -0
- package/lib/components/DatePicker/DatePicker.stories.d.ts +9 -0
- package/lib/components/DatePicker/Timepicker.d.ts +4 -0
- package/lib/components/DatePicker/index.d.ts +1 -0
- package/lib/components/DatePicker/types.d.ts +81 -0
- package/lib/components/DragAndDrop/DragAndDrop.d.ts +9 -0
- package/lib/components/DragAndDrop/DragAndDrop.stories.d.ts +6 -0
- package/lib/components/DragAndDrop/DragAndDropList.d.ts +20 -0
- package/lib/components/DragAndDrop/index.d.ts +1 -0
- package/lib/components/Drawer/Drawer.d.ts +5 -0
- package/lib/components/Drawer/Drawer.stories.d.ts +10 -0
- package/lib/components/Drawer/Types.d.ts +109 -0
- package/lib/components/Drawer/index.d.ts +1 -0
- package/lib/components/ExcelFile/ChangeExcelStyles.d.ts +14 -0
- package/lib/components/ExcelFile/ColorBarSelector/ColorBarSelector.d.ts +8 -0
- package/lib/components/ExcelFile/ContextMenu/ContextMenu.d.ts +4 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/ActiveCell.d.ts +7 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/Cell.d.ts +4 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/ColumnIndicator.d.ts +5 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/Copied.d.ts +3 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/CornerIndicator.d.ts +5 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/DataEditor.d.ts +5 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/DataViewer.d.ts +8 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/FloatingRect.d.ts +10 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/HeaderRow.d.ts +3 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/Row.d.ts +3 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/RowIndicator.d.ts +5 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/Selected.d.ts +3 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/Spreadsheet.d.ts +80 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/Table.d.ts +3 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/actions.d.ts +130 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/areModelsEqual.d.ts +1 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/context.d.ts +8 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/engine/engine.d.ts +22 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/engine/formula.d.ts +17 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/engine/index.d.ts +2 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-graph.d.ts +21 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-hash.d.ts +3 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/engine/point-set.d.ts +24 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/index.d.ts +13 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/matrix.d.ts +67 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/point-range.d.ts +22 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/point.d.ts +11 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/reducer.d.ts +27 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/selection.d.ts +95 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/types.d.ts +178 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/use-dispatch.d.ts +3 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/use-selector.d.ts +3 -0
- package/lib/components/ExcelFile/ExcelFile/Excel/util.d.ts +45 -0
- package/lib/components/ExcelFile/ExcelFile/ExcelFile.d.ts +3 -0
- package/lib/components/ExcelFile/ExcelFile.stories.d.ts +6 -0
- package/lib/components/ExcelFile/ExcelSheetBar/ExcelSheetBar.d.ts +15 -0
- package/lib/components/ExcelFile/ExcelToolBar/ExcelToolBar.d.ts +3 -0
- package/lib/components/ExcelFile/ImportExcelStyles.d.ts +24 -0
- package/lib/components/ExcelFile/Types.d.ts +137 -0
- package/lib/components/ExcelFile/index.d.ts +1 -0
- package/lib/components/ExpandableMenu/ExpandableMenu.d.ts +5 -0
- package/lib/components/ExpandableMenu/ExpandableMenu.stories.d.ts +7 -0
- package/lib/components/ExpandableMenu/index.d.ts +1 -0
- package/lib/components/ExpandableMenu/types.d.ts +34 -0
- package/lib/components/FF_Captcha/Recaptcha.d.ts +5 -0
- package/lib/components/FF_Captcha/captcha.stories.d.ts +8 -0
- package/lib/components/FF_Captcha/types.d.ts +20 -0
- package/lib/components/FileDropzone/Dropzone.d.ts +5 -0
- package/lib/components/FileDropzone/FileDropzone.d.ts +4 -0
- package/lib/components/FileDropzone/FileDropzone.stories.d.ts +8 -0
- package/lib/components/FileDropzone/FilePreview.d.ts +4 -0
- package/lib/components/FileDropzone/index.d.ts +1 -0
- package/lib/components/FileDropzone/types.d.ts +103 -0
- package/lib/components/Form/Form.d.ts +16 -0
- package/lib/components/Form/Form.stories.d.ts +6 -0
- package/lib/components/Form/index.d.ts +1 -0
- package/lib/components/Form/types.d.ts +1 -0
- package/lib/components/GridLayout/GridLayout.d.ts +6 -0
- package/lib/components/GridLayout/GridLayout.stories.d.ts +8 -0
- package/lib/components/GridLayout/index.d.ts +2 -0
- package/lib/components/GridLayout/types.d.ts +74 -0
- package/lib/components/HighlightText/HighlightText.d.ts +4 -0
- package/lib/components/HighlightText/HighlightText.stories.d.ts +6 -0
- package/lib/components/HighlightText/index.d.ts +1 -0
- package/lib/components/HighlightText/types.d.ts +4 -0
- package/lib/components/Icon/Icon.d.ts +4 -0
- package/lib/components/Icon/Icon.stories.d.ts +7 -0
- package/lib/components/Icon/iconList.d.ts +2 -0
- package/lib/components/Icon/index.d.ts +1 -0
- package/lib/components/Icon/types.d.ts +10 -0
- package/lib/components/IconButton/IconButton.d.ts +5 -0
- package/lib/components/IconButton/IconButton.stories.d.ts +7 -0
- package/lib/components/IconButton/index.d.ts +1 -0
- package/lib/components/IconButton/types.d.ts +5 -0
- package/lib/components/IconRadioGroup/IconRadioGroup.d.ts +5 -0
- package/lib/components/IconRadioGroup/IconRadioGroup.stories.d.ts +7 -0
- package/lib/components/IconRadioGroup/index.d.ts +1 -0
- package/lib/components/IconRadioGroup/type.d.ts +41 -0
- package/lib/components/Input/Input.d.ts +4 -0
- package/lib/components/Input/Input.stories.d.ts +9 -0
- package/lib/components/Input/index.d.ts +1 -0
- package/lib/components/Input/types.d.ts +78 -0
- package/lib/components/InputWithDropdown/InputWithDropdown.d.ts +4 -0
- package/lib/components/InputWithDropdown/InputWithDropdown.stories.d.ts +9 -0
- package/lib/components/InputWithDropdown/index.d.ts +1 -0
- package/lib/components/InputWithDropdown/types.d.ts +88 -0
- package/lib/components/LazyLoad/LazyLoad.d.ts +2 -0
- package/lib/components/LazyLoad/LazyLoad.stories.d.ts +6 -0
- package/lib/components/LazyLoad/LazyLoading.d.ts +2 -0
- package/lib/components/LazyLoad/index.d.ts +1 -0
- package/lib/components/MachineInputField/MachineInputField.d.ts +4 -0
- package/lib/components/MachineInputField/MachineInputField.stories.d.ts +6 -0
- package/lib/components/MachineInputField/index.d.ts +1 -0
- package/lib/components/MachineInputField/types.d.ts +11 -0
- package/lib/components/MenuOption/MenuOption.d.ts +4 -0
- package/lib/components/MenuOption/MenuOption.stories.d.ts +16 -0
- package/lib/components/MenuOption/index.d.ts +1 -0
- package/lib/components/MenuOption/types.d.ts +141 -0
- package/lib/components/MiniModal/MiniModal.d.ts +4 -0
- package/lib/components/MiniModal/MiniModal.stories.d.ts +9 -0
- package/lib/components/MiniModal/index.d.ts +1 -0
- package/lib/components/MiniModal/types.d.ts +101 -0
- package/lib/components/Modal/Modal.d.ts +5 -0
- package/lib/components/Modal/Modal.stories.d.ts +7 -0
- package/lib/components/Modal/index.d.ts +1 -0
- package/lib/components/Modal/types.d.ts +29 -0
- package/lib/components/MultiSelect/Dropdown.d.ts +4 -0
- package/lib/components/MultiSelect/MultiSelect.d.ts +4 -0
- package/lib/components/MultiSelect/MultiSelect.stories.d.ts +10 -0
- package/lib/components/MultiSelect/MultiSelectTypes.d.ts +23 -0
- package/lib/components/MultiSelect/dropdownTypes.d.ts +17 -0
- package/lib/components/MultiSelect/index.d.ts +1 -0
- package/lib/components/NLPInput/NlpInput.d.ts +4 -0
- package/lib/components/NLPInput/NlpInput.stories.d.ts +7 -0
- package/lib/components/NLPInput/components/NlpDropDown/NlpDropDownType.d.ts +19 -0
- package/lib/components/NLPInput/components/NlpDropDown/NlpDropdown.d.ts +4 -0
- package/lib/components/NLPInput/index.d.ts +1 -0
- package/lib/components/NLPInput/type.d.ts +70 -0
- package/lib/components/Paper/Paper.d.ts +4 -0
- package/lib/components/Paper/Paper.stories.d.ts +11 -0
- package/lib/components/Paper/index.d.ts +1 -0
- package/lib/components/Paper/types.d.ts +15 -0
- package/lib/components/RadioButton/RadioButton.d.ts +4 -0
- package/lib/components/RadioButton/RadioButton.stories.d.ts +10 -0
- package/lib/components/RadioButton/index.d.ts +1 -0
- package/lib/components/RadioButton/radioButtonTypes.d.ts +50 -0
- package/lib/components/RadioGroup/RadioGroup.d.ts +4 -0
- package/lib/components/RadioGroup/RadioGroup.stories.d.ts +9 -0
- package/lib/components/RadioGroup/index.d.ts +1 -0
- package/lib/components/RadioGroup/radioGroupTypes.d.ts +62 -0
- package/lib/components/Search/Search.d.ts +4 -0
- package/lib/components/Search/Search.stories.d.ts +6 -0
- package/lib/components/Search/index.d.ts +1 -0
- package/lib/components/Search/types.d.ts +15 -0
- package/lib/components/Select/Select.d.ts +4 -0
- package/lib/components/Select/Select.stories.d.ts +13 -0
- package/lib/components/Select/components/Dropdown/Dropdown.d.ts +4 -0
- package/lib/components/Select/components/Dropdown/dropdownTypes.d.ts +15 -0
- package/lib/components/Select/index.d.ts +1 -0
- package/lib/components/Select/types.d.ts +76 -0
- package/lib/components/SequentialConnectingBranch/SequentialConnectingBranch.d.ts +4 -0
- package/lib/components/SequentialConnectingBranch/SequentialConnectingBranch.stories.d.ts +6 -0
- package/lib/components/SequentialConnectingBranch/components/AddBrowserModal/AddBrowserModal.d.ts +4 -0
- package/lib/components/SequentialConnectingBranch/components/AddBrowserModal/types.d.ts +3 -0
- package/lib/components/SequentialConnectingBranch/components/Branches/Branches.d.ts +4 -0
- package/lib/components/SequentialConnectingBranch/components/Branches/types.d.ts +16 -0
- package/lib/components/SequentialConnectingBranch/components/ConnectingBranches/ConnectingBranches.d.ts +4 -0
- package/lib/components/SequentialConnectingBranch/components/ConnectingBranches/types.d.ts +9 -0
- package/lib/components/SequentialConnectingBranch/components/DatasetListModal/DatasetListModal.d.ts +4 -0
- package/lib/components/SequentialConnectingBranch/components/DatasetListModal/types.d.ts +3 -0
- package/lib/components/SequentialConnectingBranch/index.d.ts +1 -0
- package/lib/components/SequentialConnectingBranch/types.d.ts +32 -0
- package/lib/components/StateDropdown/StateDropdown.d.ts +3 -0
- package/lib/components/StateDropdown/StateDropdown.stories.d.ts +10 -0
- package/lib/components/StateDropdown/StateDropdownTypes.d.ts +11 -0
- package/lib/components/StateDropdown/index.d.ts +1 -0
- package/lib/components/StatusButton/StatusButton.d.ts +4 -0
- package/lib/components/StatusButton/StatusButton.stories.d.ts +14 -0
- package/lib/components/StatusButton/index.d.ts +1 -0
- package/lib/components/StatusButton/types.d.ts +35 -0
- package/lib/components/Table/Table.d.ts +4 -0
- package/lib/components/Table/Table.stories.d.ts +11 -0
- package/lib/components/Table/Types.d.ts +106 -0
- package/lib/components/Table/index.d.ts +1 -0
- package/lib/components/TableTree/TableTree.d.ts +24 -0
- package/lib/components/TableTree/TableTree.stories.d.ts +7 -0
- package/lib/components/TableTree/data.d.ts +313 -0
- package/lib/components/TableTree/index.d.ts +1 -0
- package/lib/components/Tabs/Tabs.d.ts +5 -0
- package/lib/components/Tabs/Tabs.stories.d.ts +9 -0
- package/lib/components/Tabs/index.d.ts +1 -0
- package/lib/components/Tabs/types.d.ts +45 -0
- package/lib/components/TextArea/Textarea.d.ts +4 -0
- package/lib/components/TextArea/Textarea.stories.d.ts +9 -0
- package/lib/components/TextArea/Types.d.ts +78 -0
- package/lib/components/TextArea/index.d.ts +1 -0
- package/lib/components/ThemeProvider/ThemeProvider.d.ts +7 -0
- package/lib/components/ThemeProvider/index.d.ts +1 -0
- package/lib/components/ThemeProvider/types.d.ts +11 -0
- package/lib/components/Toast/Toast.d.ts +5 -0
- package/lib/components/Toast/Toast.stories.d.ts +6 -0
- package/lib/components/Toast/index.d.ts +1 -0
- package/lib/components/Toast/types.d.ts +20 -0
- package/lib/components/Toggle/Toggle.d.ts +5 -0
- package/lib/components/Toggle/Toggle.stories.d.ts +12 -0
- package/lib/components/Toggle/index.d.ts +1 -0
- package/lib/components/Toggle/types.d.ts +50 -0
- package/lib/components/Tooltip/Tooltip.d.ts +5 -0
- package/lib/components/Tooltip/Tooltip.stories.d.ts +15 -0
- package/lib/components/Tooltip/index.d.ts +1 -0
- package/lib/components/Tooltip/types.d.ts +37 -0
- package/lib/components/Typography/Typography.d.ts +5 -0
- package/lib/components/Typography/Typography.stories.d.ts +10 -0
- package/lib/components/Typography/index.d.ts +1 -0
- package/lib/components/Typography/types.d.ts +47 -0
- package/lib/components/VariableInput/VariableInput.d.ts +4 -0
- package/lib/components/VariableInput/VariableInput.stories.d.ts +6 -0
- package/lib/components/VariableInput/index.d.ts +1 -0
- package/lib/components/VariableInput/types.d.ts +53 -0
- package/lib/hooks/keyboardevents/useEscKeyEvent.d.ts +2 -0
- package/lib/hooks/useClickOutside.d.ts +2 -0
- package/lib/hooks/useFileDropzone.d.ts +3 -0
- package/lib/hooks/usePortalPosition.d.ts +9 -0
- package/lib/hooks/useTheme.d.ts +3 -0
- package/lib/index.d.ts +1864 -0
- package/lib/index.esm.js +55755 -0
- package/lib/index.esm.js.map +1 -0
- package/lib/index.js +55840 -0
- package/lib/index.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/lib/utils/TableCell/TableCell.d.ts +1 -0
- package/lib/utils/checkEmpty/checkEmpty.d.ts +3 -0
- package/lib/utils/checkEmpty/checkEmpty.stories.d.ts +6 -0
- package/lib/utils/compareArrays/compareArrays.d.ts +11 -0
- package/lib/utils/compareArrays/compareArrays.stories.d.ts +6 -0
- package/lib/utils/compareObjects/compareObjects.d.ts +2 -0
- package/lib/utils/compareObjects/compareObjects.stories.d.ts +6 -0
- package/lib/utils/debounce/debounce.d.ts +6 -0
- package/lib/utils/debounce/debounce.stories.d.ts +6 -0
- package/lib/utils/ffID/ffID.stories.d.ts +6 -0
- package/lib/utils/ffID/ffid.d.ts +1 -0
- package/lib/utils/findAndInsert/findAndInsert.d.ts +7 -0
- package/lib/utils/findAndInsert/findAndInsert.stories.d.ts +7 -0
- package/lib/utils/getEncryptedData/getEncryptedData.d.ts +1 -0
- package/lib/utils/getEncryptedData/getEncryptedData.stories.d.ts +6 -0
- package/lib/utils/getExtension/getExtension.d.ts +4 -0
- package/lib/utils/getExtension/getExtension.stories.d.ts +6 -0
- package/lib/utils/throttle/throttle.d.ts +6 -0
- package/lib/utils/throttle/throttle.stories.d.ts +6 -0
- package/lib/utils/truncateText/truncateText.d.ts +1 -0
- package/lib/utils/truncateText/truncateText.stories.d.ts +6 -0
- package/package.json +75 -0
- package/rollup.config.mjs +63 -0
- package/src/StyleGuide/ColorPalette/ColorPalette.scss +62 -0
- package/src/StyleGuide/ColorPalette/ColorPalette.stories.tsx +16 -0
- package/src/StyleGuide/ColorPalette/ColorPalette.tsx +68 -0
- package/src/StyleGuide/ColorPalette/colorPaletteList.ts +172 -0
- package/src/StyleGuide/ColorPalette/index.ts +1 -0
- package/src/StyleGuide/ColorPalette/types.ts +19 -0
- package/src/StyleGuide/Typography/Typography.scss +99 -0
- package/src/StyleGuide/Typography/Typography.stories.tsx +16 -0
- package/src/StyleGuide/Typography/Typography.tsx +60 -0
- package/src/StyleGuide/Typography/TypographyList.ts +3 -0
- package/src/StyleGuide/Typography/types.ts +9 -0
- package/src/assets/Themes/BaseTheme.scss +207 -0
- package/src/assets/Themes/DarkTheme.scss +207 -0
- package/src/assets/Themes/Theme.scss +16 -0
- package/src/assets/icons/Arrow.svg +5 -0
- package/src/assets/icons/accordion_header_icon.svg +10 -0
- package/src/assets/icons/active_license_icon.svg +3 -0
- package/src/assets/icons/add_file.svg +14 -0
- package/src/assets/icons/add_locator.svg +5 -0
- package/src/assets/icons/add_variable_icon.svg +5 -0
- package/src/assets/icons/all_borders.svg +3 -0
- package/src/assets/icons/all_projects.svg +3 -0
- package/src/assets/icons/android.svg +9 -0
- package/src/assets/icons/android_icon.svg +6 -0
- package/src/assets/icons/app_switch.svg +11 -0
- package/src/assets/icons/arrow_down.svg +3 -0
- package/src/assets/icons/arrow_right.svg +5 -0
- package/src/assets/icons/arrow_up.svg +3 -0
- package/src/assets/icons/arrows_down_icon.svg +3 -0
- package/src/assets/icons/arrows_right_icon.svg +10 -0
- package/src/assets/icons/arrows_top_icon.svg +3 -0
- package/src/assets/icons/backward_icon.svg +3 -0
- package/src/assets/icons/bold.svg +3 -0
- package/src/assets/icons/border_bottom.svg +3 -0
- package/src/assets/icons/border_left.svg +3 -0
- package/src/assets/icons/border_right.svg +3 -0
- package/src/assets/icons/border_top.svg +3 -0
- package/src/assets/icons/browser_stack.svg +9 -0
- package/src/assets/icons/calendar_icon.svg +9 -0
- package/src/assets/icons/check_mark.svg +3 -0
- package/src/assets/icons/chrome.svg +12 -0
- package/src/assets/icons/clock_icon.svg +11 -0
- package/src/assets/icons/clone_icon.svg +3 -0
- package/src/assets/icons/close_pill.svg +3 -0
- package/src/assets/icons/cloud_server_host_icon.svg +3 -0
- package/src/assets/icons/collapse-icon.svg +6 -0
- package/src/assets/icons/continue_without_sign.svg +3 -0
- package/src/assets/icons/copy-icon.svg +3 -0
- package/src/assets/icons/dataset_list.svg +3 -0
- package/src/assets/icons/delete.svg +3 -0
- package/src/assets/icons/delete_info.svg +17 -0
- package/src/assets/icons/details.svg +3 -0
- package/src/assets/icons/double_underline.svg +5 -0
- package/src/assets/icons/download-icon.svg +3 -0
- package/src/assets/icons/download_icon.svg +4 -0
- package/src/assets/icons/drag_icon.svg +5 -0
- package/src/assets/icons/dropzone_icon.svg +18 -0
- package/src/assets/icons/edit_icon.svg +5 -0
- package/src/assets/icons/error.svg +17 -0
- package/src/assets/icons/expand-icon.svg +6 -0
- package/src/assets/icons/export_collection_icon.svg +13 -0
- package/src/assets/icons/file.svg +12 -0
- package/src/assets/icons/fill_color.svg +7 -0
- package/src/assets/icons/filter.svg +5 -0
- package/src/assets/icons/fireflink_icon.svg +4 -0
- package/src/assets/icons/fireflink_logo.svg +13 -0
- package/src/assets/icons/formate_painter.svg +5 -0
- package/src/assets/icons/forward_icon.svg +3 -0
- package/src/assets/icons/full_access_icon.svg +4 -0
- package/src/assets/icons/hamburger_menu.svg +3 -0
- package/src/assets/icons/hide_icon.svg +9 -0
- package/src/assets/icons/history_icon.svg +19 -0
- package/src/assets/icons/impactList.svg +6 -0
- package/src/assets/icons/info.svg +17 -0
- package/src/assets/icons/info_icon.svg +4 -0
- package/src/assets/icons/italic.svg +3 -0
- package/src/assets/icons/jira.svg +3 -0
- package/src/assets/icons/label_plus.svg +3 -0
- package/src/assets/icons/left_arrow_icon.svg +3 -0
- package/src/assets/icons/license_info.svg +28 -0
- package/src/assets/icons/license_warning.svg +10 -0
- package/src/assets/icons/linked_defects.svg +11 -0
- package/src/assets/icons/logo.svg +18 -0
- package/src/assets/icons/mac.svg +9 -0
- package/src/assets/icons/manage_apps.svg +3 -0
- package/src/assets/icons/manual_locator.svg +8 -0
- package/src/assets/icons/mobile_icon.svg +3 -0
- package/src/assets/icons/moon_stars.svg +10 -0
- package/src/assets/icons/more.svg +11 -0
- package/src/assets/icons/move_icon.svg +5 -0
- package/src/assets/icons/ms_dynamic.svg +4 -0
- package/src/assets/icons/nlp_help_icon.svg +3 -0
- package/src/assets/icons/no_access_icon.svg +4 -0
- package/src/assets/icons/no_border.svg +3 -0
- package/src/assets/icons/notification_icon.svg +3 -0
- package/src/assets/icons/plus_icon.svg +11 -0
- package/src/assets/icons/plus_user_icon.svg +3 -0
- package/src/assets/icons/refresh-icon.svg +4 -0
- package/src/assets/icons/reload.svg +3 -0
- package/src/assets/icons/remove.svg +12 -0
- package/src/assets/icons/replace.svg +12 -0
- package/src/assets/icons/right_arrow_icon.svg +4 -0
- package/src/assets/icons/run_icon.svg +26 -0
- package/src/assets/icons/sales_force.svg +7 -0
- package/src/assets/icons/search.svg +3 -0
- package/src/assets/icons/strike_through.svg +3 -0
- package/src/assets/icons/success.svg +13 -0
- package/src/assets/icons/sun_icon.svg +10 -0
- package/src/assets/icons/switch_license_icon.svg +123 -0
- package/src/assets/icons/text_align_center.svg +3 -0
- package/src/assets/icons/text_align_left.svg +3 -0
- package/src/assets/icons/text_align_right.svg +3 -0
- package/src/assets/icons/text_color.svg +3 -0
- package/src/assets/icons/tick_icon.svg +5 -0
- package/src/assets/icons/toast_close.svg +3 -0
- package/src/assets/icons/underline.svg +4 -0
- package/src/assets/icons/update_icon.svg +3 -0
- package/src/assets/icons/user_profile.svg +3 -0
- package/src/assets/icons/vertical_separator.svg +3 -0
- package/src/assets/icons/view_access_icon.svg +4 -0
- package/src/assets/icons/view_icon.svg +3 -0
- package/src/assets/icons/warning.svg +17 -0
- package/src/assets/icons/web&mobile_icon.svg +3 -0
- package/src/assets/icons/web_icon.svg +3 -0
- package/src/assets/icons/window_maximize.svg +4 -0
- package/src/assets/icons/window_minimize.svg +3 -0
- package/src/assets/icons/windows.svg +6 -0
- package/src/assets/icons/wrong_mark.svg +3 -0
- package/src/assets/icons/wswb_delete_icon.svg +4 -0
- package/src/assets/icons/wswb_plus_icon.svg +5 -0
- package/src/assets/styles/_colors.scss +148 -0
- package/src/assets/styles/_fonts.scss +68 -0
- package/src/assets/styles/_mixins.scss +21 -0
- package/src/assets/utils/functionUtils.ts +42 -0
- package/src/components/Accordion/Accordion.scss +44 -0
- package/src/components/Accordion/Accordion.stories.tsx +31 -0
- package/src/components/Accordion/Accordion.tsx +62 -0
- package/src/components/Accordion/index.ts +1 -0
- package/src/components/Accordion/types.ts +28 -0
- package/src/components/AddResourceButton/AddButton.scss +36 -0
- package/src/components/AddResourceButton/AddButton.stories.tsx +126 -0
- package/src/components/AddResourceButton/AddButton.tsx +121 -0
- package/src/components/AddResourceButton/ArrowsButton/ArrowsButton.scss +160 -0
- package/src/components/AddResourceButton/ArrowsButton/ArrowsButton.tsx +38 -0
- package/src/components/AddResourceButton/index.ts +1 -0
- package/src/components/AddResourceButton/type.ts +92 -0
- package/src/components/AllProjectsDropdown/AllProjectsDropdown.scss +70 -0
- package/src/components/AllProjectsDropdown/AllProjectsDropdown.stories.tsx +119 -0
- package/src/components/AllProjectsDropdown/AllProjectsDropdown.tsx +122 -0
- package/src/components/AllProjectsDropdown/index.ts +1 -0
- package/src/components/AllProjectsDropdown/types.ts +10 -0
- package/src/components/AppHeader/AppHeader.scss +129 -0
- package/src/components/AppHeader/AppHeader.stories.tsx +167 -0
- package/src/components/AppHeader/AppHeader.tsx +133 -0
- package/src/components/AppHeader/index.ts +1 -0
- package/src/components/AppHeader/types.ts +31 -0
- package/src/components/AttachmentButton/AttachmentButton.scss +9 -0
- package/src/components/AttachmentButton/AttachmentButton.stories.tsx +76 -0
- package/src/components/AttachmentButton/AttachmentButton.tsx +113 -0
- package/src/components/AttachmentButton/index.ts +1 -0
- package/src/components/AttachmentButton/types.ts +8 -0
- package/src/components/Button/Button.scss +152 -0
- package/src/components/Button/Button.stories.tsx +81 -0
- package/src/components/Button/Button.tsx +66 -0
- package/src/components/Button/index.ts +1 -0
- package/src/components/Button/types.ts +65 -0
- package/src/components/Charts/DashboardDonutChart/DashboardDonutChart.scss +145 -0
- package/src/components/Charts/DashboardDonutChart/DashboardDonutChart.stories.tsx +52 -0
- package/src/components/Charts/DashboardDonutChart/DashboardDonutChart.tsx +335 -0
- package/src/components/Charts/DashboardDonutChart/index.ts +1 -0
- package/src/components/Charts/DashboardDonutChart/types.ts +33 -0
- package/src/components/Charts/DonutChart/DonutChart.scss +76 -0
- package/src/components/Charts/DonutChart/DonutChart.stories.tsx +30 -0
- package/src/components/Charts/DonutChart/DonutChart.tsx +241 -0
- package/src/components/Charts/DonutChart/index.ts +1 -0
- package/src/components/Charts/DonutChart/type.ts +23 -0
- package/src/components/Charts/PieChart/PieChart.scss +39 -0
- package/src/components/Charts/PieChart/PieChart.stories.tsx +46 -0
- package/src/components/Charts/PieChart/PieChart.tsx +193 -0
- package/src/components/Charts/PieChart/index.ts +1 -0
- package/src/components/Charts/PieChart/types.ts +28 -0
- package/src/components/Charts/RadialChart/RadialChart.scss +12 -0
- package/src/components/Charts/RadialChart/RadialChart.stories.tsx +36 -0
- package/src/components/Charts/RadialChart/RadialChart.tsx +174 -0
- package/src/components/Charts/RadialChart/index.ts +1 -0
- package/src/components/Charts/RadialChart/types.ts +32 -0
- package/src/components/Checkbox/Checkbox.scss +89 -0
- package/src/components/Checkbox/Checkbox.stories.tsx +47 -0
- package/src/components/Checkbox/Checkbox.tsx +61 -0
- package/src/components/Checkbox/index.ts +1 -0
- package/src/components/Checkbox/types.ts +30 -0
- package/src/components/Chip/Chip.scss +71 -0
- package/src/components/Chip/Chip.stories.tsx +88 -0
- package/src/components/Chip/Chip.tsx +35 -0
- package/src/components/Chip/index.ts +1 -0
- package/src/components/Chip/types.ts +19 -0
- package/src/components/DatePicker/DatePicker.scss +387 -0
- package/src/components/DatePicker/DatePicker.stories.tsx +161 -0
- package/src/components/DatePicker/DatePicker.tsx +438 -0
- package/src/components/DatePicker/Timepicker.tsx +372 -0
- package/src/components/DatePicker/index.ts +1 -0
- package/src/components/DatePicker/types.ts +100 -0
- package/src/components/DragAndDrop/DragAndDrop.d.ts +5 -0
- package/src/components/DragAndDrop/DragAndDrop.stories.tsx +25 -0
- package/src/components/DragAndDrop/DragAndDrop.ts +7 -0
- package/src/components/DragAndDrop/DragAndDropList.scss +69 -0
- package/src/components/DragAndDrop/DragAndDropList.tsx +150 -0
- package/src/components/DragAndDrop/index.ts +1 -0
- package/src/components/Drawer/Drawer.scss +129 -0
- package/src/components/Drawer/Drawer.stories.tsx +129 -0
- package/src/components/Drawer/Drawer.tsx +198 -0
- package/src/components/Drawer/Types.ts +112 -0
- package/src/components/Drawer/index.ts +1 -0
- package/src/components/ExcelFile/ChangeExcelStyles.tsx +66 -0
- package/src/components/ExcelFile/ColorBarSelector/ColorBarSelector.scss +13 -0
- package/src/components/ExcelFile/ColorBarSelector/ColorBarSelector.tsx +43 -0
- package/src/components/ExcelFile/ContextMenu/ContextMenu.scss +102 -0
- package/src/components/ExcelFile/ContextMenu/ContextMenu.tsx +104 -0
- package/src/components/ExcelFile/ExcelFile/Excel/ActiveCell.tsx +131 -0
- package/src/components/ExcelFile/ExcelFile/Excel/Cell.tsx +201 -0
- package/src/components/ExcelFile/ExcelFile/Excel/ColumnIndicator.tsx +123 -0
- package/src/components/ExcelFile/ExcelFile/Excel/Copied.tsx +25 -0
- package/src/components/ExcelFile/ExcelFile/Excel/CornerIndicator.tsx +49 -0
- package/src/components/ExcelFile/ExcelFile/Excel/DataEditor.tsx +37 -0
- package/src/components/ExcelFile/ExcelFile/Excel/DataViewer.tsx +46 -0
- package/src/components/ExcelFile/ExcelFile/Excel/FloatingRect.tsx +31 -0
- package/src/components/ExcelFile/ExcelFile/Excel/HeaderRow.tsx +5 -0
- package/src/components/ExcelFile/ExcelFile/Excel/Row.tsx +5 -0
- package/src/components/ExcelFile/ExcelFile/Excel/RowIndicator.tsx +102 -0
- package/src/components/ExcelFile/ExcelFile/Excel/Selected.tsx +32 -0
- package/src/components/ExcelFile/ExcelFile/Excel/Spreadsheet.css +144 -0
- package/src/components/ExcelFile/ExcelFile/Excel/Spreadsheet.tsx +494 -0
- package/src/components/ExcelFile/ExcelFile/Excel/Table.tsx +19 -0
- package/src/components/ExcelFile/ExcelFile/Excel/actions.ts +302 -0
- package/src/components/ExcelFile/ExcelFile/Excel/areModelsEqual.ts +18 -0
- package/src/components/ExcelFile/ExcelFile/Excel/context.ts +12 -0
- package/src/components/ExcelFile/ExcelFile/Excel/engine/engine.ts +200 -0
- package/src/components/ExcelFile/ExcelFile/Excel/engine/formula.ts +137 -0
- package/src/components/ExcelFile/ExcelFile/Excel/engine/index.ts +2 -0
- package/src/components/ExcelFile/ExcelFile/Excel/engine/point-graph.ts +154 -0
- package/src/components/ExcelFile/ExcelFile/Excel/engine/point-hash.ts +10 -0
- package/src/components/ExcelFile/ExcelFile/Excel/engine/point-set.ts +69 -0
- package/src/components/ExcelFile/ExcelFile/Excel/index.ts +48 -0
- package/src/components/ExcelFile/ExcelFile/Excel/matrix.ts +388 -0
- package/src/components/ExcelFile/ExcelFile/Excel/point-range.ts +82 -0
- package/src/components/ExcelFile/ExcelFile/Excel/point.ts +15 -0
- package/src/components/ExcelFile/ExcelFile/Excel/reducer.ts +682 -0
- package/src/components/ExcelFile/ExcelFile/Excel/selection.ts +257 -0
- package/src/components/ExcelFile/ExcelFile/Excel/types.ts +217 -0
- package/src/components/ExcelFile/ExcelFile/Excel/typings/fast-formula-parser.d.ts +58 -0
- package/src/components/ExcelFile/ExcelFile/Excel/use-dispatch.ts +8 -0
- package/src/components/ExcelFile/ExcelFile/Excel/use-selector.ts +9 -0
- package/src/components/ExcelFile/ExcelFile/Excel/util.ts +173 -0
- package/src/components/ExcelFile/ExcelFile/ExcelFile.scss +27 -0
- package/src/components/ExcelFile/ExcelFile/ExcelFile.tsx +501 -0
- package/src/components/ExcelFile/ExcelFile.stories.tsx +112 -0
- package/src/components/ExcelFile/ExcelSheetBar/ExcelSheetBar.scss +16 -0
- package/src/components/ExcelFile/ExcelSheetBar/ExcelSheetBar.tsx +79 -0
- package/src/components/ExcelFile/ExcelToolBar/ExcelToolBar.scss +22 -0
- package/src/components/ExcelFile/ExcelToolBar/ExcelToolBar.tsx +271 -0
- package/src/components/ExcelFile/Types.ts +185 -0
- package/src/components/ExcelFile/index.ts +1 -0
- package/src/components/ExpandableMenu/ExpandableMenu.scss +110 -0
- package/src/components/ExpandableMenu/ExpandableMenu.stories.tsx +67 -0
- package/src/components/ExpandableMenu/ExpandableMenu.tsx +101 -0
- package/src/components/ExpandableMenu/index.ts +1 -0
- package/src/components/ExpandableMenu/types.ts +34 -0
- package/src/components/FF_Captcha/Recaptcha.scss +11 -0
- package/src/components/FF_Captcha/Recaptcha.tsx +41 -0
- package/src/components/FF_Captcha/captcha.stories.tsx +40 -0
- package/src/components/FF_Captcha/index.ts +0 -0
- package/src/components/FF_Captcha/types.ts +22 -0
- package/src/components/FileDropzone/Dropzone.tsx +55 -0
- package/src/components/FileDropzone/FileDropzone.scss +134 -0
- package/src/components/FileDropzone/FileDropzone.stories.tsx +83 -0
- package/src/components/FileDropzone/FileDropzone.tsx +98 -0
- package/src/components/FileDropzone/FilePreview.tsx +75 -0
- package/src/components/FileDropzone/index.ts +1 -0
- package/src/components/FileDropzone/types.ts +113 -0
- package/src/components/Form/Form.scss +98 -0
- package/src/components/Form/Form.stories.tsx +177 -0
- package/src/components/Form/Form.tsx +57 -0
- package/src/components/Form/index.ts +1 -0
- package/src/components/Form/types.ts +1 -0
- package/src/components/Form/validation.json +29 -0
- package/src/components/GridLayout/GridLayout.scss +69 -0
- package/src/components/GridLayout/GridLayout.stories.tsx +90 -0
- package/src/components/GridLayout/GridLayout.tsx +39 -0
- package/src/components/GridLayout/GridLayoutStory.scss +25 -0
- package/src/components/GridLayout/index.ts +1 -0
- package/src/components/GridLayout/types.ts +84 -0
- package/src/components/HighlightText/HighlightText.scss +3 -0
- package/src/components/HighlightText/HighlightText.stories.tsx +22 -0
- package/src/components/HighlightText/HighlightText.tsx +33 -0
- package/src/components/HighlightText/index.ts +1 -0
- package/src/components/HighlightText/types.ts +4 -0
- package/src/components/Icon/Icon.stories.tsx +37 -0
- package/src/components/Icon/Icon.tsx +49 -0
- package/src/components/Icon/Icons.scss +32 -0
- package/src/components/Icon/iconList.ts +240 -0
- package/src/components/Icon/index.ts +1 -0
- package/src/components/Icon/types.ts +10 -0
- package/src/components/IconButton/IconButton.scss +54 -0
- package/src/components/IconButton/IconButton.stories.tsx +33 -0
- package/src/components/IconButton/IconButton.tsx +30 -0
- package/src/components/IconButton/index.ts +1 -0
- package/src/components/IconButton/types.ts +5 -0
- package/src/components/IconRadioGroup/IconRadioGroup.scss +60 -0
- package/src/components/IconRadioGroup/IconRadioGroup.stories.tsx +108 -0
- package/src/components/IconRadioGroup/IconRadioGroup.tsx +72 -0
- package/src/components/IconRadioGroup/index.ts +1 -0
- package/src/components/IconRadioGroup/type.ts +50 -0
- package/src/components/Input/Input.scss +155 -0
- package/src/components/Input/Input.stories.tsx +96 -0
- package/src/components/Input/Input.tsx +97 -0
- package/src/components/Input/index.ts +1 -0
- package/src/components/Input/types.ts +81 -0
- package/src/components/InputWithDropdown/InputWithDropdown.scss +185 -0
- package/src/components/InputWithDropdown/InputWithDropdown.stories.tsx +168 -0
- package/src/components/InputWithDropdown/InputWithDropdown.tsx +90 -0
- package/src/components/InputWithDropdown/index.ts +1 -0
- package/src/components/InputWithDropdown/types.ts +109 -0
- package/src/components/LazyLoad/LazyLoad.d.ts +3 -0
- package/src/components/LazyLoad/LazyLoad.stories.tsx +33 -0
- package/src/components/LazyLoad/LazyLoad.ts +2 -0
- package/src/components/LazyLoad/LazyLoading.tsx +19 -0
- package/src/components/LazyLoad/index.ts +1 -0
- package/src/components/MachineInputField/MachineInputField.scss +44 -0
- package/src/components/MachineInputField/MachineInputField.stories.tsx +32 -0
- package/src/components/MachineInputField/MachineInputField.tsx +71 -0
- package/src/components/MachineInputField/index.ts +1 -0
- package/src/components/MachineInputField/types.ts +12 -0
- package/src/components/MenuOption/MenuOption.scss +83 -0
- package/src/components/MenuOption/MenuOption.stories.tsx +280 -0
- package/src/components/MenuOption/MenuOption.tsx +128 -0
- package/src/components/MenuOption/index.ts +1 -0
- package/src/components/MenuOption/types.ts +170 -0
- package/src/components/MiniModal/MiniModal.scss +170 -0
- package/src/components/MiniModal/MiniModal.stories.tsx +599 -0
- package/src/components/MiniModal/MiniModal.tsx +262 -0
- package/src/components/MiniModal/index.ts +1 -0
- package/src/components/MiniModal/types.ts +101 -0
- package/src/components/Modal/Modal.stories.tsx +67 -0
- package/src/components/Modal/Modal.tsx +77 -0
- package/src/components/Modal/index.tsx +1 -0
- package/src/components/Modal/modal.scss +39 -0
- package/src/components/Modal/types.ts +40 -0
- package/src/components/MultiSelect/Dropdown.scss +77 -0
- package/src/components/MultiSelect/Dropdown.tsx +100 -0
- package/src/components/MultiSelect/MultiSelect.scss +197 -0
- package/src/components/MultiSelect/MultiSelect.stories.tsx +114 -0
- package/src/components/MultiSelect/MultiSelect.tsx +332 -0
- package/src/components/MultiSelect/MultiSelectTypes.ts +24 -0
- package/src/components/MultiSelect/dropdownTypes.ts +17 -0
- package/src/components/MultiSelect/index.ts +1 -0
- package/src/components/NLPInput/NLPInput.scss +246 -0
- package/src/components/NLPInput/NlpInput.stories.tsx +136 -0
- package/src/components/NLPInput/NlpInput.tsx +374 -0
- package/src/components/NLPInput/components/NlpDropDown/NlpDropDownType.ts +60 -0
- package/src/components/NLPInput/components/NlpDropDown/NlpDropdown.scss +83 -0
- package/src/components/NLPInput/components/NlpDropDown/NlpDropdown.tsx +180 -0
- package/src/components/NLPInput/index.ts +1 -0
- package/src/components/NLPInput/type.tsx +124 -0
- package/src/components/Paper/Paper.scss +13 -0
- package/src/components/Paper/Paper.stories.tsx +77 -0
- package/src/components/Paper/Paper.tsx +14 -0
- package/src/components/Paper/index.ts +1 -0
- package/src/components/Paper/types.ts +19 -0
- package/src/components/RadioButton/RadioButton.scss +104 -0
- package/src/components/RadioButton/RadioButton.stories.tsx +43 -0
- package/src/components/RadioButton/RadioButton.tsx +39 -0
- package/src/components/RadioButton/index.ts +1 -0
- package/src/components/RadioButton/radioButtonTypes.tsx +58 -0
- package/src/components/RadioGroup/RadioGroup.scss +5 -0
- package/src/components/RadioGroup/RadioGroup.stories.tsx +122 -0
- package/src/components/RadioGroup/RadioGroup.tsx +33 -0
- package/src/components/RadioGroup/index.ts +1 -0
- package/src/components/RadioGroup/radioGroupTypes.tsx +72 -0
- package/src/components/Search/Search.scss +85 -0
- package/src/components/Search/Search.stories.tsx +26 -0
- package/src/components/Search/Search.tsx +103 -0
- package/src/components/Search/index.ts +1 -0
- package/src/components/Search/types.ts +15 -0
- package/src/components/Select/Select.scss +246 -0
- package/src/components/Select/Select.stories.tsx +156 -0
- package/src/components/Select/Select.tsx +373 -0
- package/src/components/Select/components/Dropdown/Dropdown.scss +70 -0
- package/src/components/Select/components/Dropdown/Dropdown.tsx +93 -0
- package/src/components/Select/components/Dropdown/dropdownTypes.ts +19 -0
- package/src/components/Select/index.ts +1 -0
- package/src/components/Select/types.ts +131 -0
- package/src/components/SequentialConnectingBranch/SequentialConnectingBranch.scss +117 -0
- package/src/components/SequentialConnectingBranch/SequentialConnectingBranch.stories.tsx +62 -0
- package/src/components/SequentialConnectingBranch/SequentialConnectingBranch.tsx +210 -0
- package/src/components/SequentialConnectingBranch/components/AddBrowserModal/AddBrowserModal.scss +51 -0
- package/src/components/SequentialConnectingBranch/components/AddBrowserModal/AddBrowserModal.tsx +107 -0
- package/src/components/SequentialConnectingBranch/components/AddBrowserModal/types.ts +5 -0
- package/src/components/SequentialConnectingBranch/components/Branches/Branches.scss +184 -0
- package/src/components/SequentialConnectingBranch/components/Branches/Branches.tsx +203 -0
- package/src/components/SequentialConnectingBranch/components/Branches/types.ts +18 -0
- package/src/components/SequentialConnectingBranch/components/ConnectingBranches/ConnectingBranches.scss +3 -0
- package/src/components/SequentialConnectingBranch/components/ConnectingBranches/ConnectingBranches.tsx +66 -0
- package/src/components/SequentialConnectingBranch/components/ConnectingBranches/types.ts +10 -0
- package/src/components/SequentialConnectingBranch/components/DatasetListModal/DatasetListModal.scss +31 -0
- package/src/components/SequentialConnectingBranch/components/DatasetListModal/DatasetListModal.tsx +85 -0
- package/src/components/SequentialConnectingBranch/components/DatasetListModal/types.ts +4 -0
- package/src/components/SequentialConnectingBranch/index.ts +1 -0
- package/src/components/SequentialConnectingBranch/types.ts +42 -0
- package/src/components/StateDropdown/StateDropdown.stories.tsx +99 -0
- package/src/components/StateDropdown/StateDropdown.tsx +218 -0
- package/src/components/StateDropdown/StateDropdownTypes.tsx +21 -0
- package/src/components/StateDropdown/index.ts +1 -0
- package/src/components/StatusButton/StatusButton.scss +90 -0
- package/src/components/StatusButton/StatusButton.stories.tsx +91 -0
- package/src/components/StatusButton/StatusButton.tsx +40 -0
- package/src/components/StatusButton/index.ts +1 -0
- package/src/components/StatusButton/types.ts +45 -0
- package/src/components/Table/Table.scss +107 -0
- package/src/components/Table/Table.stories.tsx +357 -0
- package/src/components/Table/Table.tsx +154 -0
- package/src/components/Table/Types.ts +108 -0
- package/src/components/Table/index.ts +1 -0
- package/src/components/TableTree/TableTree.scss +158 -0
- package/src/components/TableTree/TableTree.stories.tsx +86 -0
- package/src/components/TableTree/TableTree.tsx +255 -0
- package/src/components/TableTree/TableTreeStories.scss +22 -0
- package/src/components/TableTree/data.ts +573 -0
- package/src/components/TableTree/index.ts +1 -0
- package/src/components/Tabs/Tabs.scss +79 -0
- package/src/components/Tabs/Tabs.stories.tsx +134 -0
- package/src/components/Tabs/Tabs.tsx +62 -0
- package/src/components/Tabs/index.ts +1 -0
- package/src/components/Tabs/types.ts +48 -0
- package/src/components/TextArea/Textarea.scss +144 -0
- package/src/components/TextArea/Textarea.stories.tsx +92 -0
- package/src/components/TextArea/Textarea.tsx +84 -0
- package/src/components/TextArea/Types.ts +82 -0
- package/src/components/TextArea/index.tsx +1 -0
- package/src/components/ThemeProvider/ThemeProvider.tsx +27 -0
- package/src/components/ThemeProvider/index.ts +1 -0
- package/src/components/ThemeProvider/types.ts +14 -0
- package/src/components/Toast/Toast.scss +121 -0
- package/src/components/Toast/Toast.stories.tsx +180 -0
- package/src/components/Toast/Toast.tsx +116 -0
- package/src/components/Toast/index.ts +1 -0
- package/src/components/Toast/types.ts +27 -0
- package/src/components/Toggle/Toggle.scss +133 -0
- package/src/components/Toggle/Toggle.stories.tsx +132 -0
- package/src/components/Toggle/Toggle.tsx +96 -0
- package/src/components/Toggle/index.ts +1 -0
- package/src/components/Toggle/types.ts +43 -0
- package/src/components/Tooltip/Tooltip.scss +26 -0
- package/src/components/Tooltip/Tooltip.stories.tsx +97 -0
- package/src/components/Tooltip/Tooltip.tsx +194 -0
- package/src/components/Tooltip/index.ts +1 -0
- package/src/components/Tooltip/types.ts +60 -0
- package/src/components/Typography/Typography.scss +49 -0
- package/src/components/Typography/Typography.stories.tsx +57 -0
- package/src/components/Typography/Typography.tsx +39 -0
- package/src/components/Typography/index.ts +1 -0
- package/src/components/Typography/types.ts +56 -0
- package/src/components/VariableInput/VariableInput.scss +128 -0
- package/src/components/VariableInput/VariableInput.stories.tsx +32 -0
- package/src/components/VariableInput/VariableInput.tsx +352 -0
- package/src/components/VariableInput/index.ts +1 -0
- package/src/components/VariableInput/types.ts +56 -0
- package/src/fonts/Montserrat/Montserrat-Medium.ttf +0 -0
- package/src/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
- package/src/fonts/Montserrat/Montserrat-SemiBold.ttf +0 -0
- package/src/fonts/Poppins/Poppins-Black.ttf +0 -0
- package/src/fonts/Poppins/Poppins-BlackItalic.ttf +0 -0
- package/src/fonts/Poppins/Poppins-Bold.ttf +0 -0
- package/src/fonts/Poppins/Poppins-BoldItalic.ttf +0 -0
- package/src/fonts/Poppins/Poppins-ExtraBold.ttf +0 -0
- package/src/fonts/Poppins/Poppins-ExtraBoldItalic.ttf +0 -0
- package/src/fonts/Poppins/Poppins-ExtraLight.ttf +0 -0
- package/src/fonts/Poppins/Poppins-ExtraLightItalic.ttf +0 -0
- package/src/fonts/Poppins/Poppins-Italic.ttf +0 -0
- package/src/fonts/Poppins/Poppins-Light.ttf +0 -0
- package/src/fonts/Poppins/Poppins-LightItalic.ttf +0 -0
- package/src/fonts/Poppins/Poppins-Medium.ttf +0 -0
- package/src/fonts/Poppins/Poppins-MediumItalic.ttf +0 -0
- package/src/fonts/Poppins/Poppins-Regular.ttf +0 -0
- package/src/fonts/Poppins/Poppins-SemiBold.ttf +0 -0
- package/src/fonts/Poppins/Poppins-SemiBoldItalic.ttf +0 -0
- package/src/fonts/Poppins/Poppins-Thin.ttf +0 -0
- package/src/fonts/Poppins/Poppins-ThinItalic.ttf +0 -0
- package/src/hooks/keyboardevents/useEscKeyEvent.tsx +31 -0
- package/src/hooks/useClickOutside.tsx +30 -0
- package/src/hooks/useFileDropzone.tsx +273 -0
- package/src/hooks/usePortalPosition.tsx +53 -0
- package/src/hooks/useTheme.tsx +13 -0
- package/src/index.ts +139 -0
- package/src/utils/TableCell/TableCell.ts +16 -0
- package/src/utils/checkEmpty/checkEmpty.stories.tsx +34 -0
- package/src/utils/checkEmpty/checkEmpty.ts +24 -0
- package/src/utils/compareArrays/compareArrays.stories.tsx +62 -0
- package/src/utils/compareArrays/compareArrays.ts +31 -0
- package/src/utils/compareObjects/compareObjects.stories.tsx +51 -0
- package/src/utils/compareObjects/compareObjects.ts +53 -0
- package/src/utils/debounce/debounce.stories.tsx +81 -0
- package/src/utils/debounce/debounce.ts +28 -0
- package/src/utils/ffID/ffID.stories.tsx +35 -0
- package/src/utils/ffID/ffid.ts +7 -0
- package/src/utils/findAndInsert/findAndInsert.stories.tsx +119 -0
- package/src/utils/findAndInsert/findAndInsert.ts +49 -0
- package/src/utils/getEncryptedData/getEncryptedData.stories.tsx +55 -0
- package/src/utils/getEncryptedData/getEncryptedData.ts +8 -0
- package/src/utils/getExtension/getExtension.stories.tsx +23 -0
- package/src/utils/getExtension/getExtension.ts +28 -0
- package/src/utils/throttle/throttle.stories.tsx +100 -0
- package/src/utils/throttle/throttle.ts +33 -0
- package/src/utils/truncateText/truncateText.stories.tsx +37 -0
- package/src/utils/truncateText/truncateText.ts +4 -0
- package/tsconfig.json +55 -0
- package/vite.config.js +14 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { compareObjects } from '../compareObjects/compareObjects';
|
|
2
|
+
|
|
3
|
+
// Define a type for any object
|
|
4
|
+
export type AnyObject = Record<string, unknown>;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Compare two arrays for equality.
|
|
8
|
+
* This function checks if both arrays contain the same elements in the same order,
|
|
9
|
+
* including nested structures.
|
|
10
|
+
*
|
|
11
|
+
* @param arr1 - The first array to compare.
|
|
12
|
+
* @param arr2 - The second array to compare.
|
|
13
|
+
* @returns - A boolean indicating if the arrays are equal.
|
|
14
|
+
*/
|
|
15
|
+
export const compareArrays = (arr1: unknown[], arr2: unknown[]): boolean => {
|
|
16
|
+
// Check if both are arrays
|
|
17
|
+
if (!Array.isArray(arr1) || !Array.isArray(arr2)) return false;
|
|
18
|
+
|
|
19
|
+
// Check if lengths are different
|
|
20
|
+
if (arr1.length !== arr2.length) return false;
|
|
21
|
+
|
|
22
|
+
// Compare each element
|
|
23
|
+
return arr1.every((element, index) => {
|
|
24
|
+
const otherElement = arr2[index];
|
|
25
|
+
// Recursively compare objects or arrays, or check for strict equality
|
|
26
|
+
return compareObjects(
|
|
27
|
+
element as AnyObject | null,
|
|
28
|
+
otherElement as AnyObject | null
|
|
29
|
+
);
|
|
30
|
+
});
|
|
31
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { compareObjects } from './compareObjects'; // Adjust the import path as necessary
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Utils/compareObjects',
|
|
5
|
+
component: compareObjects,
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export const Default = () => {
|
|
9
|
+
const testCases = [
|
|
10
|
+
{
|
|
11
|
+
obj1: { a: 1, b: [2, { c: 3 }] },
|
|
12
|
+
obj2: { a: 1, b: [2, { c: 3 }] },
|
|
13
|
+
expected: true,
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
obj1: { a: 1, b: [2, { c: 3 }] },
|
|
17
|
+
obj2: { a: 1, b: [3, 2] },
|
|
18
|
+
expected: false,
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
obj1: { a: 1, b: { c: 2 } },
|
|
22
|
+
obj2: { a: 1, b: { c: 2 } },
|
|
23
|
+
expected: true,
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
obj1: { a: 1, b: { c: 2 } },
|
|
27
|
+
obj2: { a: 1, b: { c: 3 } },
|
|
28
|
+
expected: false,
|
|
29
|
+
},
|
|
30
|
+
{ obj1: null, obj2: null, expected: true },
|
|
31
|
+
{ obj1: { a: null }, obj2: { a: null }, expected: true },
|
|
32
|
+
{ obj1: { a: 1 }, obj2: { a: null }, expected: false },
|
|
33
|
+
{ obj1: {}, obj2: {}, expected: true },
|
|
34
|
+
{ obj1: { a: 0 }, obj2: { a: 0 }, expected: true },
|
|
35
|
+
{ obj1: { a: 0 }, obj2: { a: 1 }, expected: false },
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
return (
|
|
39
|
+
<div>
|
|
40
|
+
<h1>
|
|
41
|
+
<u>compareObjects(obj1, obj2)</u> - true / false
|
|
42
|
+
</h1>
|
|
43
|
+
{testCases.map(({ obj1, obj2, expected }, index) => (
|
|
44
|
+
<div key={index}>
|
|
45
|
+
compareObjects({JSON.stringify(obj1)}, {JSON.stringify(obj2)}) -
|
|
46
|
+
{compareObjects(obj1, obj2) === expected ? ' True' : ' False'}
|
|
47
|
+
</div>
|
|
48
|
+
))}
|
|
49
|
+
</div>
|
|
50
|
+
);
|
|
51
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// Define a type for any object
|
|
2
|
+
export type AnyObject = Record<string, unknown>;
|
|
3
|
+
|
|
4
|
+
export const compareObjects = (
|
|
5
|
+
obj1: AnyObject | null,
|
|
6
|
+
obj2: AnyObject | null
|
|
7
|
+
): boolean => {
|
|
8
|
+
// Check if both are strictly equal (handles primitive types and same reference)
|
|
9
|
+
if (obj1 === obj2) return true;
|
|
10
|
+
|
|
11
|
+
// Check if either is null or not an object
|
|
12
|
+
if (
|
|
13
|
+
obj1 == null ||
|
|
14
|
+
obj2 == null ||
|
|
15
|
+
typeof obj1 !== 'object' ||
|
|
16
|
+
typeof obj2 !== 'object'
|
|
17
|
+
) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// Handle array comparison
|
|
22
|
+
const isArray1 = Array.isArray(obj1);
|
|
23
|
+
const isArray2 = Array.isArray(obj2);
|
|
24
|
+
if (isArray1 !== isArray2) return false; // One is an array, the other is not
|
|
25
|
+
|
|
26
|
+
// Create arrays of keys for both objects
|
|
27
|
+
const keys1 = isArray1 ? obj1 : Object.keys(obj1);
|
|
28
|
+
const keys2 = isArray2 ? obj2 : Object.keys(obj2);
|
|
29
|
+
|
|
30
|
+
// Check if the number of keys is different
|
|
31
|
+
if (keys1.length !== keys2.length) return false;
|
|
32
|
+
|
|
33
|
+
// Create a Set for keys2 for O(1) lookups (only for objects)
|
|
34
|
+
if (!isArray1) {
|
|
35
|
+
const keysSet2 = new Set<string>(keys2 as string[]);
|
|
36
|
+
|
|
37
|
+
// Check each key and value
|
|
38
|
+
return keys1.every((key) => {
|
|
39
|
+
return (
|
|
40
|
+
keysSet2.has(key) &&
|
|
41
|
+
compareObjects(
|
|
42
|
+
obj1[key] as AnyObject | null,
|
|
43
|
+
obj2[key] as AnyObject | null
|
|
44
|
+
)
|
|
45
|
+
);
|
|
46
|
+
});
|
|
47
|
+
} else {
|
|
48
|
+
// If arrays, compare elements directly
|
|
49
|
+
return keys1.every((item, index) =>
|
|
50
|
+
compareObjects(item as AnyObject | null, keys2[index] as AnyObject | null)
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { debounce } from './debounce'; // Adjust the import path as necessary
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Utils/debounce',
|
|
5
|
+
component: debounce,
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export const Default = () => {
|
|
9
|
+
const testCases = [
|
|
10
|
+
{
|
|
11
|
+
description: 'Basic function call',
|
|
12
|
+
expectedOutput: 'Function called! (after delay)',
|
|
13
|
+
delay: 300,
|
|
14
|
+
setup: () => {
|
|
15
|
+
const debouncedFunc = debounce(
|
|
16
|
+
() => console.log('Function called!'),
|
|
17
|
+
300
|
|
18
|
+
);
|
|
19
|
+
debouncedFunc(); // Call the debounced function
|
|
20
|
+
},
|
|
21
|
+
code: `const debouncedFunc = debounce(() => console.log('Function called!'), 300);\ndebouncedFunc();`,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
description: 'Rapid calls within delay',
|
|
25
|
+
expectedOutput: 'Debounced call! (only once after delay)',
|
|
26
|
+
delay: 500,
|
|
27
|
+
setup: () => {
|
|
28
|
+
const debouncedFunc = debounce(
|
|
29
|
+
() => console.log('Debounced call!'),
|
|
30
|
+
500
|
|
31
|
+
);
|
|
32
|
+
for (let i = 0; i < 5; i++) {
|
|
33
|
+
debouncedFunc(); // Call the debounced function multiple times
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
code: `const debouncedFunc = debounce(() => console.log('Debounced call!'), 500);\nfor (let i = 0; i < 5; i++) {\n debouncedFunc();\n}`,
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
description: 'Cancel debounced function',
|
|
40
|
+
expectedOutput: 'Function should not be called if canceled',
|
|
41
|
+
delay: 200,
|
|
42
|
+
setup: () => {
|
|
43
|
+
const debouncedFunc = debounce(
|
|
44
|
+
() => console.log('Should not be called!'),
|
|
45
|
+
200
|
|
46
|
+
);
|
|
47
|
+
debouncedFunc(); // Call the debounced function
|
|
48
|
+
debouncedFunc.cancel(); // Cancel the function
|
|
49
|
+
},
|
|
50
|
+
code: `const debouncedFunc = debounce(() => console.log('Should not be called!'), 200);\ndebouncedFunc();\ndebouncedFunc.cancel();`,
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
return (
|
|
55
|
+
<div>
|
|
56
|
+
<h1>
|
|
57
|
+
<u>debounce(function, delay)</u> - Demonstrating debounce functionality
|
|
58
|
+
</h1>
|
|
59
|
+
{testCases.map(
|
|
60
|
+
({ description, expectedOutput, delay, setup, code }, index) => (
|
|
61
|
+
<div key={index}>
|
|
62
|
+
<h3>{description}</h3>
|
|
63
|
+
<button
|
|
64
|
+
onClick={() => {
|
|
65
|
+
setup(); // Run the setup for the test case
|
|
66
|
+
setTimeout(() => {
|
|
67
|
+
console.log(expectedOutput);
|
|
68
|
+
}, delay + 100); // Wait a bit longer than the delay to check output
|
|
69
|
+
}}
|
|
70
|
+
>
|
|
71
|
+
Run Test
|
|
72
|
+
</button>
|
|
73
|
+
<pre>
|
|
74
|
+
<code>{code}</code>
|
|
75
|
+
</pre>
|
|
76
|
+
</div>
|
|
77
|
+
)
|
|
78
|
+
)}
|
|
79
|
+
</div>
|
|
80
|
+
);
|
|
81
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
type Callback = (...args: any[]) => void;
|
|
2
|
+
|
|
3
|
+
// Export the DebouncedFunction interface to make it publicly accessible
|
|
4
|
+
export interface DebouncedFunction extends Function {
|
|
5
|
+
cancel: () => void;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export const debounce = (func: Callback, delay: number): DebouncedFunction => {
|
|
9
|
+
let timeoutId: ReturnType<typeof setTimeout> | null = null;
|
|
10
|
+
|
|
11
|
+
const debounced: DebouncedFunction = function (this: any, ...args: any[]) {
|
|
12
|
+
// Clear the previous timeout if it exists
|
|
13
|
+
if (timeoutId) clearTimeout(timeoutId);
|
|
14
|
+
|
|
15
|
+
// Set a new timeout
|
|
16
|
+
timeoutId = setTimeout(() => {
|
|
17
|
+
func.apply(this, args);
|
|
18
|
+
}, delay);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
// Method to cancel the debounced function
|
|
22
|
+
debounced.cancel = () => {
|
|
23
|
+
if (timeoutId) clearTimeout(timeoutId);
|
|
24
|
+
timeoutId = null;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
return debounced;
|
|
28
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { ffid } from './ffid'; // Adjust the import path if needed
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
|
|
5
|
+
const meta: Meta<typeof ffid> = {
|
|
6
|
+
title: 'Utils/ffid',
|
|
7
|
+
component: ffid,
|
|
8
|
+
parameters: {
|
|
9
|
+
layout: 'centered',
|
|
10
|
+
},
|
|
11
|
+
tags: ['autodocs'],
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
type Story = StoryObj;
|
|
15
|
+
|
|
16
|
+
// Primary story to display a generated ID
|
|
17
|
+
export const Primary: Story = {
|
|
18
|
+
render: () => {
|
|
19
|
+
const [generatedId, setGeneratedId] = useState(ffid());
|
|
20
|
+
|
|
21
|
+
const regenerateId = () => {
|
|
22
|
+
setGeneratedId(ffid());
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
return (
|
|
26
|
+
<div>
|
|
27
|
+
<h3>Generated Unique ID</h3>
|
|
28
|
+
<p>{generatedId}</p>
|
|
29
|
+
<button onClick={regenerateId}>Generate New ID</button>
|
|
30
|
+
</div>
|
|
31
|
+
);
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export default meta;
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
// findAndInsert.stories.tsx
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { findAndInsert, AnyObject } from './findAndInsert';
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
title: 'Utils/findAndInsert',
|
|
7
|
+
component: findAndInsert,
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
const initialData: AnyObject[] = [
|
|
11
|
+
{ id: 1, name: 'Object 1' },
|
|
12
|
+
{
|
|
13
|
+
id: 2,
|
|
14
|
+
name: 'Object 2',
|
|
15
|
+
children: [
|
|
16
|
+
{ id: 3, name: 'Child 1', children: [{ id: 5, name: 'SubChild 1' }] },
|
|
17
|
+
{ id: 4, name: 'Child 2' },
|
|
18
|
+
],
|
|
19
|
+
},
|
|
20
|
+
];
|
|
21
|
+
|
|
22
|
+
export const InteractivePlayground = () => {
|
|
23
|
+
const [data, setData] = useState<AnyObject[]>(initialData);
|
|
24
|
+
const [selectedId, setSelectedId] = useState<number | null>(null);
|
|
25
|
+
const [newEntryName, setNewEntryName] = useState<string>('New Object');
|
|
26
|
+
const [insertPosition, setInsertPosition] = useState<
|
|
27
|
+
'above' | 'below' | 'replace'
|
|
28
|
+
>('below');
|
|
29
|
+
|
|
30
|
+
const handleInsert = () => {
|
|
31
|
+
if (selectedId !== null) {
|
|
32
|
+
const newEntry = { id: Date.now(), name: newEntryName };
|
|
33
|
+
const result = findAndInsert(
|
|
34
|
+
data,
|
|
35
|
+
'id',
|
|
36
|
+
selectedId,
|
|
37
|
+
newEntry,
|
|
38
|
+
insertPosition,
|
|
39
|
+
'children'
|
|
40
|
+
);
|
|
41
|
+
if (result) {
|
|
42
|
+
setData(result.updatedArray);
|
|
43
|
+
} else {
|
|
44
|
+
alert('Item not found in nested structure');
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
const generateOptions = (
|
|
50
|
+
data: AnyObject[],
|
|
51
|
+
prefix = ''
|
|
52
|
+
): { id: number; label: string }[] => {
|
|
53
|
+
const options: { id: number; label: string }[] = [];
|
|
54
|
+
function recurse(items: AnyObject[], levelPrefix: string) {
|
|
55
|
+
items.forEach((item) => {
|
|
56
|
+
options.push({
|
|
57
|
+
id: item.id,
|
|
58
|
+
label: `${levelPrefix}${item.name} (ID: ${item.id})`,
|
|
59
|
+
});
|
|
60
|
+
if (item.children) recurse(item.children, `${levelPrefix}- `);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
recurse(data, prefix);
|
|
64
|
+
return options;
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
const options = generateOptions(data);
|
|
68
|
+
|
|
69
|
+
return (
|
|
70
|
+
<div>
|
|
71
|
+
<h1>Interactive Playground for findAndInsert</h1>
|
|
72
|
+
<label htmlFor="targetId">Select Object:</label>
|
|
73
|
+
<select
|
|
74
|
+
id="targetId"
|
|
75
|
+
onChange={(e) => setSelectedId(Number(e.target.value))}
|
|
76
|
+
value={selectedId !== null ? selectedId : ''}
|
|
77
|
+
>
|
|
78
|
+
<option value="" disabled>
|
|
79
|
+
Select an object
|
|
80
|
+
</option>
|
|
81
|
+
{options.map((option) => (
|
|
82
|
+
<option key={option.id} value={option.id}>
|
|
83
|
+
{option.label}
|
|
84
|
+
</option>
|
|
85
|
+
))}
|
|
86
|
+
</select>
|
|
87
|
+
|
|
88
|
+
<div>
|
|
89
|
+
<label htmlFor="newEntryName">New Entry Name:</label>
|
|
90
|
+
<input
|
|
91
|
+
type="text"
|
|
92
|
+
id="newEntryName"
|
|
93
|
+
value={newEntryName}
|
|
94
|
+
onChange={(e) => setNewEntryName(e.target.value)}
|
|
95
|
+
/>
|
|
96
|
+
</div>
|
|
97
|
+
|
|
98
|
+
<div>
|
|
99
|
+
<label htmlFor="insertPosition">Insert Position:</label>
|
|
100
|
+
<select
|
|
101
|
+
id="insertPosition"
|
|
102
|
+
value={insertPosition}
|
|
103
|
+
onChange={(e) =>
|
|
104
|
+
setInsertPosition(e.target.value as 'above' | 'below' | 'replace')
|
|
105
|
+
}
|
|
106
|
+
>
|
|
107
|
+
<option value="above">Above</option>
|
|
108
|
+
<option value="below">Below</option>
|
|
109
|
+
<option value="replace">Replace</option>
|
|
110
|
+
</select>
|
|
111
|
+
</div>
|
|
112
|
+
|
|
113
|
+
<button onClick={handleInsert}>Insert Entry</button>
|
|
114
|
+
|
|
115
|
+
<h2>Current Data:</h2>
|
|
116
|
+
<pre>{JSON.stringify(data, null, 2)}</pre>
|
|
117
|
+
</div>
|
|
118
|
+
);
|
|
119
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// findAndInsert.ts
|
|
2
|
+
export type AnyObject = { id: number; [key: string]: any };
|
|
3
|
+
|
|
4
|
+
export function findAndInsert<T extends AnyObject>(
|
|
5
|
+
data: T[],
|
|
6
|
+
key: keyof T,
|
|
7
|
+
targetId: number,
|
|
8
|
+
newEntry: T,
|
|
9
|
+
insertPosition: 'above' | 'below' | 'replace',
|
|
10
|
+
childrenKey: string = 'children' // Allow dynamic key for nested children
|
|
11
|
+
): { updatedArray: T[] } | null {
|
|
12
|
+
function recursiveSearch(items: T[]): { updatedArray: T[] } | null {
|
|
13
|
+
for (let i = 0; i < items.length; i++) {
|
|
14
|
+
const item = items[i];
|
|
15
|
+
|
|
16
|
+
// Check if the item matches the target id
|
|
17
|
+
if (item && item[key] === targetId) {
|
|
18
|
+
const updatedItems = [...items];
|
|
19
|
+
|
|
20
|
+
if (insertPosition === 'replace') {
|
|
21
|
+
updatedItems[i] = newEntry; // Replace the current item
|
|
22
|
+
} else {
|
|
23
|
+
// Insert above or below
|
|
24
|
+
updatedItems.splice(
|
|
25
|
+
insertPosition === 'above' ? i : i + 1,
|
|
26
|
+
0,
|
|
27
|
+
newEntry
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return { updatedArray: updatedItems };
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// Dynamically check nested children using the `childrenKey`
|
|
35
|
+
if (item && item[childrenKey] && Array.isArray(item[childrenKey])) {
|
|
36
|
+
const result = recursiveSearch(item[childrenKey] as T[]);
|
|
37
|
+
if (result) {
|
|
38
|
+
return {
|
|
39
|
+
updatedArray: items.map((x, idx) =>
|
|
40
|
+
idx === i ? { ...x, [childrenKey]: result.updatedArray } : x
|
|
41
|
+
),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
return recursiveSearch(data);
|
|
49
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// getEncryptData.stories.tsx
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { getEncryptedData } from './getEncryptedData';
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
title: 'Utils/getEncryptedData',
|
|
7
|
+
component: getEncryptedData,
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export const InteractivePlayground = () => {
|
|
11
|
+
const [data, setData] = useState<string>('Sensitive information');
|
|
12
|
+
const [publicKey, setPublicKey] = useState<string>(`Add your public key`);
|
|
13
|
+
const [encryptedData, setEncryptedData] = useState<string | null>(null);
|
|
14
|
+
|
|
15
|
+
const handleEncrypt = () => {
|
|
16
|
+
const result = getEncryptedData(data, publicKey);
|
|
17
|
+
setEncryptedData(result.toString());
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
return (
|
|
21
|
+
<div>
|
|
22
|
+
<h1>Interactive Playground for getEncryptData</h1>
|
|
23
|
+
|
|
24
|
+
<div>
|
|
25
|
+
<label htmlFor="data">Data to Encrypt:</label>
|
|
26
|
+
<input
|
|
27
|
+
type="text"
|
|
28
|
+
id="data"
|
|
29
|
+
value={data}
|
|
30
|
+
onChange={(e) => setData(e.target.value)}
|
|
31
|
+
/>
|
|
32
|
+
</div>
|
|
33
|
+
|
|
34
|
+
<div>
|
|
35
|
+
<label htmlFor="publicKey">Public Key:</label>
|
|
36
|
+
<textarea
|
|
37
|
+
id="publicKey"
|
|
38
|
+
value={publicKey}
|
|
39
|
+
onChange={(e) => setPublicKey(e.target.value)}
|
|
40
|
+
rows={5}
|
|
41
|
+
cols={50}
|
|
42
|
+
/>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
<button onClick={handleEncrypt}>Encrypt Data</button>
|
|
46
|
+
|
|
47
|
+
<h2>Encrypted Data:</h2>
|
|
48
|
+
{encryptedData ? (
|
|
49
|
+
<pre>{encryptedData}</pre>
|
|
50
|
+
) : (
|
|
51
|
+
<p>No encrypted data yet. Click "Encrypt Data" to generate it.</p>
|
|
52
|
+
)}
|
|
53
|
+
</div>
|
|
54
|
+
);
|
|
55
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { getExtension } from './getExtension';
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Utils/getExtension',
|
|
5
|
+
component: getExtension,
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export const Default = () => {
|
|
9
|
+
const testCases = [
|
|
10
|
+
{ value: 'test.txt', expected: 'txt' },
|
|
11
|
+
];
|
|
12
|
+
|
|
13
|
+
return (
|
|
14
|
+
<div>
|
|
15
|
+
{testCases.map((test, index) => (
|
|
16
|
+
<div key={index}>
|
|
17
|
+
getExtension( {JSON.stringify(test.value)} ) -
|
|
18
|
+
{getExtension(test.value) ? 'True' : 'False'}
|
|
19
|
+
</div>
|
|
20
|
+
))}
|
|
21
|
+
</div>
|
|
22
|
+
);
|
|
23
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
type valueType = File | string;
|
|
2
|
+
|
|
3
|
+
export const getExtension = (value: valueType) => {
|
|
4
|
+
if (typeof value === 'string' && value.includes('.')) {
|
|
5
|
+
const extension = value.split('.').pop();
|
|
6
|
+
return extension !== value ? extension : '';
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
if (value instanceof File) {
|
|
10
|
+
return value.name.split('.').pop();
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
return '';
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export const getExtensionWithPeriod = (value: valueType) => {
|
|
17
|
+
if (typeof value === 'string' && value.includes('.')) {
|
|
18
|
+
const extension = value.slice(value.lastIndexOf('.'));
|
|
19
|
+
return extension !== value ? extension : '';
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if (value instanceof File) {
|
|
23
|
+
const extensionIndex = value.name.lastIndexOf('.');
|
|
24
|
+
return extensionIndex !== -1 ? value.name.slice(extensionIndex) : '';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return '';
|
|
28
|
+
};
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { throttle } from './throttle'; // Adjust the import path as necessary
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Utils/throttle',
|
|
5
|
+
component: throttle,
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export const Default = () => {
|
|
9
|
+
const testCases = [
|
|
10
|
+
{
|
|
11
|
+
description: 'Basic function call',
|
|
12
|
+
expectedOutput: 'Function called! (at most once every 300ms)',
|
|
13
|
+
limit: 300,
|
|
14
|
+
setup: () => {
|
|
15
|
+
const throttledFunc = throttle(
|
|
16
|
+
() => console.log('Function called!'),
|
|
17
|
+
300
|
|
18
|
+
);
|
|
19
|
+
for (let i = 0; i < 5; i++) {
|
|
20
|
+
throttledFunc(); // Call the throttled function multiple times
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
code: `const throttledFunc = throttle(() => console.log('Function called!'), 300);\nfor (let i = 0; i < 5; i++) {\n throttledFunc();\n}`,
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
description: 'Throttling with rapid calls',
|
|
27
|
+
expectedOutput: 'Function called! (at most once every 500ms)',
|
|
28
|
+
limit: 500,
|
|
29
|
+
setup: () => {
|
|
30
|
+
const throttledFunc = throttle(
|
|
31
|
+
() => console.log('Throttled call!'),
|
|
32
|
+
500
|
|
33
|
+
);
|
|
34
|
+
for (let i = 0; i < 10; i++) {
|
|
35
|
+
throttledFunc(); // Call the throttled function rapidly
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
code: `const throttledFunc = throttle(() => console.log('Throttled call!'), 500);\nfor (let i = 0; i < 10; i++) {\n throttledFunc();\n}`,
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
description: 'Cancel throttled function',
|
|
42
|
+
expectedOutput: 'Function should not be called if canceled',
|
|
43
|
+
limit: 200,
|
|
44
|
+
setup: () => {
|
|
45
|
+
const throttledFunc = throttle(
|
|
46
|
+
() => console.log('Should not be called!'),
|
|
47
|
+
200
|
|
48
|
+
);
|
|
49
|
+
throttledFunc(); // Call the throttled function
|
|
50
|
+
throttledFunc.cancel(); // Cancel the function
|
|
51
|
+
},
|
|
52
|
+
code: `const throttledFunc = throttle(() => console.log('Should not be called!'), 200);\nthrottledFunc();\nthrottledFunc.cancel();`,
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
description: 'Scroll event handling',
|
|
56
|
+
expectedOutput: 'Scroll event handled (at most once every 400ms)',
|
|
57
|
+
limit: 400,
|
|
58
|
+
setup: () => {
|
|
59
|
+
const throttledScroll = throttle(
|
|
60
|
+
() => console.log('Scroll event handled'),
|
|
61
|
+
400
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
// Simulating rapid scroll events
|
|
65
|
+
for (let i = 0; i < 10; i++) {
|
|
66
|
+
throttledScroll(); // Simulate scroll event
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
code: `const throttledScroll = throttle(() => console.log('Scroll event handled'), 400);\nfor (let i = 0; i < 10; i++) {\n throttledScroll();\n}`,
|
|
70
|
+
},
|
|
71
|
+
];
|
|
72
|
+
|
|
73
|
+
return (
|
|
74
|
+
<div>
|
|
75
|
+
<h1>
|
|
76
|
+
<u>throttle(function, limit)</u> - Demonstrating throttle functionality
|
|
77
|
+
</h1>
|
|
78
|
+
{testCases.map(
|
|
79
|
+
({ description, expectedOutput, limit, setup, code }, index) => (
|
|
80
|
+
<div key={index}>
|
|
81
|
+
<h3>{description}</h3>
|
|
82
|
+
<button
|
|
83
|
+
onClick={() => {
|
|
84
|
+
setup(); // Run the setup for the test case
|
|
85
|
+
setTimeout(() => {
|
|
86
|
+
console.log(expectedOutput);
|
|
87
|
+
}, limit + 100); // Wait a bit longer than the limit to check output
|
|
88
|
+
}}
|
|
89
|
+
>
|
|
90
|
+
Run Test
|
|
91
|
+
</button>
|
|
92
|
+
<pre>
|
|
93
|
+
<code>{code}</code>
|
|
94
|
+
</pre>
|
|
95
|
+
</div>
|
|
96
|
+
)
|
|
97
|
+
)}
|
|
98
|
+
</div>
|
|
99
|
+
);
|
|
100
|
+
};
|