From 476eb673bbd2e8d125c49c5b81dd0c75aaf6d807 Mon Sep 17 00:00:00 2001 From: Alex <33497058+bexsoft@users.noreply.github.com> Date: Fri, 6 Oct 2023 11:12:13 -0500 Subject: [PATCH] Updated FileSelector and removed old component (#3076) Signed-off-by: Benjamin Perez --- portal-ui/package.json | 2 +- .../FileSelector/FileSelector.tsx | 177 --------------- .../FormComponents/FileSelector/utils.ts | 34 --- .../FormComponents/common/styleLibrary.ts | 30 --- .../AddTierConfiguration.tsx | 72 ++---- .../UpdateTierCredentialsModal.tsx | 20 +- portal-ui/src/screens/NotFoundPage.tsx | 5 +- portal-ui/src/screens/shared/ErrorBlock.tsx | 36 --- .../shared/__tests__/ErrorBlock.test.tsx | 23 -- portal-ui/yarn.lock | 209 +++++++++--------- 10 files changed, 141 insertions(+), 467 deletions(-) delete mode 100644 portal-ui/src/screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx delete mode 100644 portal-ui/src/screens/Console/Common/FormComponents/FileSelector/utils.ts delete mode 100644 portal-ui/src/screens/shared/ErrorBlock.tsx delete mode 100644 portal-ui/src/screens/shared/__tests__/ErrorBlock.test.tsx diff --git a/portal-ui/package.json b/portal-ui/package.json index efcdb172b..5888cc4b0 100644 --- a/portal-ui/package.json +++ b/portal-ui/package.json @@ -17,7 +17,7 @@ "local-storage-fallback": "^4.1.1", "lodash": "^4.17.21", "luxon": "^3.4.3", - "mds": "https://github.com/minio/mds.git#v0.9.3", + "mds": "https://github.com/minio/mds.git#v0.9.4", "react": "^18.1.0", "react-component-export-image": "^1.0.6", "react-copy-to-clipboard": "^5.0.2", diff --git a/portal-ui/src/screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx b/portal-ui/src/screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx deleted file mode 100644 index f4a391726..000000000 --- a/portal-ui/src/screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx +++ /dev/null @@ -1,177 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { useState } from "react"; -import get from "lodash/get"; -import { Grid, InputLabel, Tooltip, IconButton } from "mds"; -import AttachFileIcon from "@mui/icons-material/AttachFile"; -import CancelIcon from "@mui/icons-material/Cancel"; -import { Theme } from "@mui/material/styles"; -import createStyles from "@mui/styles/createStyles"; -import withStyles from "@mui/styles/withStyles"; -import { - fieldBasic, - fileInputStyles, - tooltipHelper, -} from "../common/styleLibrary"; -import { fileProcess } from "./utils"; -import { HelpIcon } from "mds"; -import ErrorBlock from "../../../../shared/ErrorBlock"; - -interface InputBoxProps { - label: string; - classes: any; - onChange: (e: string, i: string) => void; - id: string; - name: string; - disabled?: boolean; - tooltip?: string; - required?: boolean; - error?: string; - accept?: string; - value?: string; -} - -const styles = (theme: Theme) => - createStyles({ - ...fieldBasic, - ...tooltipHelper, - valueString: { - maxWidth: 350, - whiteSpace: "nowrap", - overflow: "hidden", - textOverflow: "ellipsis", - marginTop: 2, - }, - fileInputField: { - margin: "13px 0", - "@media (max-width: 900px)": { - flexFlow: "column", - }, - }, - ...fileInputStyles, - inputLabel: { - ...fieldBasic.inputLabel, - fontWeight: "normal", - }, - textBoxContainer: { - ...fieldBasic.textBoxContainer, - maxWidth: "100%", - border: "1px solid #eaeaea", - paddingLeft: "15px", - }, - }); - -const FileSelector = ({ - label, - classes, - onChange, - id, - name, - disabled = false, - tooltip = "", - required, - error = "", - accept = "", - value = "", -}: InputBoxProps) => { - const [showFileSelector, setShowSelector] = useState(false); - - return ( - - - {label !== "" && ( - - - {label} - {required ? "*" : ""} - - {tooltip !== "" && ( -
- -
- -
-
-
- )} -
- )} - - {showFileSelector || value === "" ? ( -
- { - const fileName = get(e, "target.files[0].name", ""); - fileProcess(e, (data: any) => { - onChange(data, fileName); - }); - }} - accept={accept} - required={required} - disabled={disabled} - className={classes.fileInputField} - /> - - {value !== "" && ( - { - setShowSelector(false); - }} - size="small" - > - - - )} - - {error !== "" && } -
- ) : ( -
-
{value}
- { - setShowSelector(true); - }} - size="small" - > - - -
- )} -
-
- ); -}; - -export default withStyles(styles)(FileSelector); diff --git a/portal-ui/src/screens/Console/Common/FormComponents/FileSelector/utils.ts b/portal-ui/src/screens/Console/Common/FormComponents/FileSelector/utils.ts deleted file mode 100644 index 72737f817..000000000 --- a/portal-ui/src/screens/Console/Common/FormComponents/FileSelector/utils.ts +++ /dev/null @@ -1,34 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -export const fileProcess = (evt: any, callback: any) => { - const file = evt.target.files[0]; - const reader = new FileReader(); - reader.readAsDataURL(file); - - reader.onload = () => { - // reader.readAsDataURL(file) output will be something like: data:application/x-x509-ca-cert;base64,LS0tLS1CRUdJTiBDRVJUSU - // we care only about the actual base64 part (everything after "data:application/x-x509-ca-cert;base64,") - const fileBase64 = reader.result; - if (fileBase64) { - const fileArray = fileBase64.toString().split("base64,"); - - if (fileArray.length === 2) { - callback(fileArray[1]); - } - } - }; -}; diff --git a/portal-ui/src/screens/Console/Common/FormComponents/common/styleLibrary.ts b/portal-ui/src/screens/Console/Common/FormComponents/common/styleLibrary.ts index 7759aae64..f14398c33 100644 --- a/portal-ui/src/screens/Console/Common/FormComponents/common/styleLibrary.ts +++ b/portal-ui/src/screens/Console/Common/FormComponents/common/styleLibrary.ts @@ -693,36 +693,6 @@ export const formFieldStyles: any = { }, }; -export const fileInputStyles = { - fieldBottom: { - borderBottom: 0, - }, - fileReselect: { - border: "1px solid #EAEAEA", - width: "100%", - paddingLeft: 10, - display: "flex", - alignItems: "center", - justifyContent: "center", - height: 36, - maxWidth: 300, - }, - textBoxContainer: { - border: "1px solid #EAEAEA", - borderRadius: 3, - height: 36, - padding: 5, - "& input": { - width: "100%", - margin: "auto", - }, - display: "flex", - alignItems: "center", - justifyContent: "center", - maxWidth: 300, - }, -}; - export const deleteDialogStyles: any = { root: { "& .MuiPaper-root": { diff --git a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/AddTierConfiguration.tsx b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/AddTierConfiguration.tsx index f840dc951..f248020c3 100644 --- a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/AddTierConfiguration.tsx +++ b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/AddTierConfiguration.tsx @@ -18,26 +18,20 @@ import React, { Fragment, useCallback, useEffect, useState } from "react"; import { useNavigate, useParams } from "react-router-dom"; import get from "lodash/get"; -import { Theme } from "@mui/material/styles"; import { BackLink, breakPoints, Button, + FileSelector, Grid, - PageLayout, InputBox, + PageLayout, SectionTitle, } from "mds"; -import createStyles from "@mui/styles/createStyles"; -import withStyles from "@mui/styles/withStyles"; -import { - fileInputStyles, - formFieldStyles, - modalBasic, - modalStyleUtils, - settingsCommon, -} from "../../Common/FormComponents/common/styleLibrary"; -import FileSelector from "../../Common/FormComponents/FileSelector/FileSelector"; +import { api } from "api"; +import { errorToHandler } from "api/errors"; +import { ApiError } from "api/consoleApi"; +import { modalStyleUtils } from "../../Common/FormComponents/common/styleLibrary"; import { azureServiceName, gcsServiceName, @@ -45,48 +39,14 @@ import { s3ServiceName, tierTypes, } from "./utils"; - import { IAM_PAGES } from "../../../../common/SecureComponent/permissions"; - -import RegionSelectWrapper from "./RegionSelectWrapper"; import { setErrorSnackMessage, setHelpName } from "../../../../systemSlice"; import { useAppDispatch } from "../../../../store"; +import RegionSelectWrapper from "./RegionSelectWrapper"; import PageHeaderWrapper from "../../Common/PageHeaderWrapper/PageHeaderWrapper"; import HelpMenu from "../../HelpMenu"; -import { api } from "api"; -import { errorToHandler } from "api/errors"; -import { ApiError } from "api/consoleApi"; -const styles = (theme: Theme) => - createStyles({ - ...modalBasic, - ...settingsCommon, - ...formFieldStyles, - lambdaNotifTitle: { - color: "#07193E", - fontSize: 16, - fontFamily: "Inter,sans-serif", - paddingLeft: 18, - }, - fileInputFieldCss: { - margin: "0", - }, - fileTextBoxContainer: { - maxWidth: " 100%", - flex: 1, - }, - fileReselectCss: { - maxWidth: " 100%", - flex: 1, - }, - ...fileInputStyles, - }); - -interface IAddNotificationEndpointProps { - classes: any; -} - -const AddTierConfiguration = ({ classes }: IAddNotificationEndpointProps) => { +const AddTierConfiguration = () => { const dispatch = useAppDispatch(); const navigate = useNavigate(); const params = useParams(); @@ -425,17 +385,15 @@ const AddTierConfiguration = ({ classes }: IAddNotificationEndpointProps) => { {type === gcsServiceName && ( { - setEncodedCreds(encodedValue); - setCreds(fileName); + returnEncodedData + onChange={(_, fileName, encodedValue) => { + if (encodedValue) { + setEncodedCreds(encodedValue); + setCreds(fileName); + } }} value={creds} required @@ -530,4 +488,4 @@ const AddTierConfiguration = ({ classes }: IAddNotificationEndpointProps) => { ); }; -export default withStyles(styles)(AddTierConfiguration); +export default AddTierConfiguration; diff --git a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/UpdateTierCredentialsModal.tsx b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/UpdateTierCredentialsModal.tsx index 723c6106e..818b7ee40 100644 --- a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/UpdateTierCredentialsModal.tsx +++ b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/UpdateTierCredentialsModal.tsx @@ -16,14 +16,21 @@ import React, { Fragment, useEffect, useState } from "react"; import get from "lodash/get"; -import { Button, FormLayout, Grid, InputBox, LockIcon, ProgressBar } from "mds"; +import { + Button, + FileSelector, + FormLayout, + Grid, + InputBox, + LockIcon, + ProgressBar, +} from "mds"; import { Tier } from "api/consoleApi"; import { api } from "api"; import { errorToHandler } from "api/errors"; import { modalStyleUtils } from "../../Common/FormComponents/common/styleLibrary"; import { setModalErrorSnackMessage } from "../../../../systemSlice"; import { useAppDispatch } from "../../../../store"; -import FileSelector from "../../Common/FormComponents/FileSelector/FileSelector"; import ModalWrapper from "../../Common/ModalWrapper/ModalWrapper"; interface ITierCredentialsModal { @@ -152,9 +159,12 @@ const UpdateTierCredentialsModal = ({ id="creds" label="Credentials" name="creds" - onChange={(encodedValue, fileName) => { - setEncodedCreds(encodedValue); - setCreds(fileName); + returnEncodedData + onChange={(_, fileName, encodedValue) => { + if (encodedValue) { + setEncodedCreds(encodedValue); + setCreds(fileName); + } }} value={creds} /> diff --git a/portal-ui/src/screens/NotFoundPage.tsx b/portal-ui/src/screens/NotFoundPage.tsx index 726658253..bde4ee2ca 100644 --- a/portal-ui/src/screens/NotFoundPage.tsx +++ b/portal-ui/src/screens/NotFoundPage.tsx @@ -15,9 +15,8 @@ // along with this program. If not, see . import React from "react"; -import Box from "@mui/material/Box"; +import { PageLayout, Box } from "mds"; import Copyright from "../common/Copyright"; -import { PageLayout } from "mds"; const NotFound: React.FC = () => { return ( @@ -51,7 +50,7 @@ const NotFound: React.FC = () => { > Sorry, the page could not be found. - + diff --git a/portal-ui/src/screens/shared/ErrorBlock.tsx b/portal-ui/src/screens/shared/ErrorBlock.tsx deleted file mode 100644 index 0179adfad..000000000 --- a/portal-ui/src/screens/shared/ErrorBlock.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import React from "react"; -import Typography from "@mui/material/Typography"; -import { Theme } from "@mui/material/styles"; - -import createStyles from "@mui/styles/createStyles"; -import withStyles from "@mui/styles/withStyles"; - -const styles = (theme: Theme) => - createStyles({ - errorBlock: { - color: theme.palette?.error.main || "#C83B51", - }, - }); - -interface IErrorBlockProps { - classes: any; - errorMessage: string; - withBreak?: boolean; -} - -const ErrorBlock = ({ - classes, - errorMessage, - withBreak = true, -}: IErrorBlockProps) => { - return ( - - {withBreak &&
} - - {errorMessage} - -
- ); -}; - -export default withStyles(styles)(ErrorBlock); diff --git a/portal-ui/src/screens/shared/__tests__/ErrorBlock.test.tsx b/portal-ui/src/screens/shared/__tests__/ErrorBlock.test.tsx deleted file mode 100644 index f0399fa8d..000000000 --- a/portal-ui/src/screens/shared/__tests__/ErrorBlock.test.tsx +++ /dev/null @@ -1,23 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . -import React from "react"; -import ReactDOM from "react-dom"; -import ErrorBlock from "../ErrorBlock"; - -it("renders without crashing", () => { - const div = document.createElement("div"); - ReactDOM.render(, div); -}); diff --git a/portal-ui/yarn.lock b/portal-ui/yarn.lock index 0f6b5f76f..56e8333f0 100644 --- a/portal-ui/yarn.lock +++ b/portal-ui/yarn.lock @@ -1146,7 +1146,7 @@ resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.14.0", "@babel/runtime@^7.16.3", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.6", "@babel/runtime@^7.18.9", "@babel/runtime@^7.20.7", "@babel/runtime@^7.22.15", "@babel/runtime@^7.22.6", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.14.0", "@babel/runtime@^7.16.3", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.6", "@babel/runtime@^7.18.9", "@babel/runtime@^7.20.7", "@babel/runtime@^7.22.6", "@babel/runtime@^7.23.1", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": version "7.23.1" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.1.tgz#72741dc4d413338a91dcb044a86f3c0bc402646d" integrity sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g== @@ -1828,56 +1828,56 @@ resolved "https://registry.yarnpkg.com/@miherlosev/esm/-/esm-3.2.26.tgz#a516b35d8b8b4eac29598f1c2c23e30a4d260200" integrity sha512-TaW4jTGVE1/ln2VGFChnheMh589QCAZy1MVnLvjjSzZ4pEAa4WYAWPwFkDVZbSdPQdLfZy7LuTyZjWRkhX9/Gg== -"@mui/base@5.0.0-beta.17": - version "5.0.0-beta.17" - resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.17.tgz#98b7ef6a3176b7aaf59ac8862d3271acb6876bc0" - integrity sha512-xNbk7iOXrglNdIxFBN0k3ySsPIFLWCnFxqsAYl7CIcDkD9low4kJ7IUuy6ctwx/HAy2fenrT3KXHr1sGjAMgpQ== +"@mui/base@5.0.0-beta.18": + version "5.0.0-beta.18" + resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.18.tgz#f95d393cf80974e77c0823170cc15c854d5af84b" + integrity sha512-e9ZCy/ndhyt5MTshAS3qAUy/40UiO0jX+kAo6a+XirrPJE+rrQW+mKPSI0uyp+5z4Vh+z0pvNoJ2S2gSrNz3BQ== dependencies: - "@babel/runtime" "^7.22.15" + "@babel/runtime" "^7.23.1" "@floating-ui/react-dom" "^2.0.2" - "@mui/types" "^7.2.4" - "@mui/utils" "^5.14.11" + "@mui/types" "^7.2.5" + "@mui/utils" "^5.14.12" "@popperjs/core" "^2.11.8" clsx "^2.0.0" prop-types "^15.8.1" -"@mui/core-downloads-tracker@^5.14.11": - version "5.14.11" - resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.14.11.tgz#e829aceb5c0bbfc3383ed90a6a85445344dd65a7" - integrity sha512-uY8FLQURhXe3f3O4dS5OSGML9KDm9+IE226cBu78jarVIzdQGPlXwGIlSI9VJR8MvZDA6C0+6XfWDhWCHruC5Q== +"@mui/core-downloads-tracker@^5.14.12": + version "5.14.12" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.14.12.tgz#7be13094ef0c2fc7c3854da2b90a7eae456ebefd" + integrity sha512-WZhCkKqhrXaSVBzoC6LNcVkIawS000OOt7gmnp4g9HhyvN0PSclRXc/JrkC7EwfzUAZJh+hiK2LaVsbtOpNuOg== "@mui/icons-material@^5.11.16": - version "5.14.11" - resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.14.11.tgz#ce563d1b6c7abc76f8a8048c970135601e7b49b5" - integrity sha512-aHReLasBuS/+hhPzbZCgZ0eTcZ2QRnoC2WNK7XvdAf3l+LjC1flzjh6GWw1tZJ5NHnZ+bivdwtLFQ8XTR96JkA== + version "5.14.12" + resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.14.12.tgz#6634cdc3198bc438e8d38ce591c96d63d5df99a0" + integrity sha512-aFm6g/AIB3RQN9h/4MKoBoBybLZXeR3aDHWNx6KzemEpIlElUxv5uXRX5Qk1VC6v/YPkhbaPsiLLjsRSTiZF3w== dependencies: - "@babel/runtime" "^7.22.15" + "@babel/runtime" "^7.23.1" "@mui/lab@^5.0.0-alpha.122": - version "5.0.0-alpha.146" - resolved "https://registry.yarnpkg.com/@mui/lab/-/lab-5.0.0-alpha.146.tgz#45623ffb856378654ec0b08099a9ce5b45b7d0a4" - integrity sha512-azkSNz/F4VAzXdXG1Yu/pdWiMQY8dRpwHycLCQCK7oql5AOVh1pVEmw5+nMT161oc5bOzxBkIsNGPCBwXIZ7Ww== + version "5.0.0-alpha.147" + resolved "https://registry.yarnpkg.com/@mui/lab/-/lab-5.0.0-alpha.147.tgz#5586ef727c355617c499d0e13ab7dbd33ece1e09" + integrity sha512-AZjDEl31/co9baYrOBHMlXI8BCrV9JTCGDE2+IswVm32HNPYL5V2gHL3wKqn+MIFeCEg+z2es+8CU/Bau0JNSQ== dependencies: - "@babel/runtime" "^7.22.15" - "@mui/base" "5.0.0-beta.17" - "@mui/system" "^5.14.11" - "@mui/types" "^7.2.4" - "@mui/utils" "^5.14.11" + "@babel/runtime" "^7.23.1" + "@mui/base" "5.0.0-beta.18" + "@mui/system" "^5.14.12" + "@mui/types" "^7.2.5" + "@mui/utils" "^5.14.12" "@mui/x-tree-view" "6.0.0-alpha.1" clsx "^2.0.0" prop-types "^15.8.1" "@mui/material@^5.12.1": - version "5.14.11" - resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.14.11.tgz#7537f07c383a6cfa32a00fabc9959593478bc5c4" - integrity sha512-DnSdJzcR7lwG12JA5L2t8JF+RDzMygu5rCNW+logWb/KW2/TRzwLyVWO+CorHTBjBRd38DBxnwOCDiYkDd+N3A== + version "5.14.12" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.14.12.tgz#8fa5bebd1a096796a288b548f1ba867e068601c8" + integrity sha512-EelF2L46VcVqhg3KjzIGBBpOtcBgRh0MMy9Efuk6Do81QdcZsFC9RebCVAflo5jIdbHiBmxBs5/l5Q9NjONozg== dependencies: - "@babel/runtime" "^7.22.15" - "@mui/base" "5.0.0-beta.17" - "@mui/core-downloads-tracker" "^5.14.11" - "@mui/system" "^5.14.11" - "@mui/types" "^7.2.4" - "@mui/utils" "^5.14.11" + "@babel/runtime" "^7.23.1" + "@mui/base" "5.0.0-beta.18" + "@mui/core-downloads-tracker" "^5.14.12" + "@mui/system" "^5.14.12" + "@mui/types" "^7.2.5" + "@mui/utils" "^5.14.12" "@types/react-transition-group" "^4.4.6" clsx "^2.0.0" csstype "^3.1.2" @@ -1885,35 +1885,35 @@ react-is "^18.2.0" react-transition-group "^4.4.5" -"@mui/private-theming@^5.14.11": - version "5.14.11" - resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.14.11.tgz#1543b4d13d5cb32018c5bd41b516db1c33f70344" - integrity sha512-MSnNNzTu9pfKLCKs1ZAKwOTgE4bz+fQA0fNr8Jm7NDmuWmw0CaN9Vq2/MHsatE7+S0A25IAKby46Uv1u53rKVQ== +"@mui/private-theming@^5.14.12": + version "5.14.12" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.14.12.tgz#b07f710b9794c928052ee4c91bf67fc3e0a442ea" + integrity sha512-TWwm+9+BgHFpoR3w04FG+IqID4ALa74A27RuKq2CEaWgxliBZB24EVeI6djfjFt5t4FYmIb8BMw2ZJEir7YjLQ== dependencies: - "@babel/runtime" "^7.22.15" - "@mui/utils" "^5.14.11" + "@babel/runtime" "^7.23.1" + "@mui/utils" "^5.14.12" prop-types "^15.8.1" -"@mui/styled-engine@^5.14.11": - version "5.14.11" - resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.14.11.tgz#22cb0047f211be4dbc133a5d1015369293bdff00" - integrity sha512-jdUlqRgTYQ8RMtPX4MbRZqar6W2OiIb6J5KEFbIu4FqvPrk44Each4ppg/LAqp1qNlBYq5i+7Q10MYLMpDxX9A== +"@mui/styled-engine@^5.14.12": + version "5.14.12" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.14.12.tgz#bfacc045f14f8f8bef735c76ecfd90bc99427c43" + integrity sha512-bocxt1nDmXfB3gpLfCCmFCyJ7sVmscFs+PuheO210QagZwHVp47UIRT1AiswLDYSQo1ZqmVGn7KLEJEYK0d4Xw== dependencies: - "@babel/runtime" "^7.22.15" + "@babel/runtime" "^7.23.1" "@emotion/cache" "^11.11.0" csstype "^3.1.2" prop-types "^15.8.1" "@mui/styles@^5.12.0": - version "5.14.11" - resolved "https://registry.yarnpkg.com/@mui/styles/-/styles-5.14.11.tgz#3a9c31e927b9115c62c5260c5614c178f849aa43" - integrity sha512-43TTaH/QBNAvwFfN0Dz1UREZLs5Yd8X4XrsiYgIJJgdGsr2TtlKz/WRHqDNwWkNg/gs3qcWIbtNweTIoTkov/g== + version "5.14.12" + resolved "https://registry.yarnpkg.com/@mui/styles/-/styles-5.14.12.tgz#8a2e9b1165dd0a746fb15e64591bffab398122d7" + integrity sha512-nrtF23SRd7eRHTRebE1qnBQ4u5XojNlp3kvL54xIhuAi+mMuSXtJgwkRL04uoz0NZPalfdF8RaeFVN2INIkHKg== dependencies: - "@babel/runtime" "^7.22.15" + "@babel/runtime" "^7.23.1" "@emotion/hash" "^0.9.1" - "@mui/private-theming" "^5.14.11" - "@mui/types" "^7.2.4" - "@mui/utils" "^5.14.11" + "@mui/private-theming" "^5.14.12" + "@mui/types" "^7.2.5" + "@mui/utils" "^5.14.12" clsx "^2.0.0" csstype "^3.1.2" hoist-non-react-statics "^3.3.2" @@ -1927,32 +1927,32 @@ jss-plugin-vendor-prefixer "^10.10.0" prop-types "^15.8.1" -"@mui/system@^5.14.11": - version "5.14.11" - resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.14.11.tgz#4f3aaf3e3d6d039e41a60f939056aa5fd371d291" - integrity sha512-yl8xV+y0k7j6dzBsHabKwoShmjqLa8kTxrhUI3JpqLG358VRVMJRW/ES0HhvfcCi4IVXde+Tc2P3K1akGL8zoA== +"@mui/system@^5.14.12": + version "5.14.12" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.14.12.tgz#da5b32c2a10bbe58f8b4839c5d5de449dc35e425" + integrity sha512-6DXfjjLhW0/ia5qU3Crke7j+MnfDbMBOHlLIrqbrEqNs0AuSBv8pXniEGb+kqO0H804NJreRTEJRjCngwOX5CA== dependencies: - "@babel/runtime" "^7.22.15" - "@mui/private-theming" "^5.14.11" - "@mui/styled-engine" "^5.14.11" - "@mui/types" "^7.2.4" - "@mui/utils" "^5.14.11" + "@babel/runtime" "^7.23.1" + "@mui/private-theming" "^5.14.12" + "@mui/styled-engine" "^5.14.12" + "@mui/types" "^7.2.5" + "@mui/utils" "^5.14.12" clsx "^2.0.0" csstype "^3.1.2" prop-types "^15.8.1" -"@mui/types@^7.2.4": - version "7.2.4" - resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.4.tgz#b6fade19323b754c5c6de679a38f068fd50b9328" - integrity sha512-LBcwa8rN84bKF+f5sDyku42w1NTxaPgPyYKODsh01U1fVstTClbUoSA96oyRBnSNyEiAVjKm6Gwx9vjR+xyqHA== +"@mui/types@^7.2.5": + version "7.2.5" + resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.5.tgz#cd62a1fc5eb1044137ccab2053b431dd7cfc3cb8" + integrity sha512-S2BwfNczr7VwS6ki8GoAXJyARoeSJDLuxOEPs3vEMyTALlf9PrdHv+sluX7kk3iKrCg/ML2mIWwapZvWbkMCQA== -"@mui/utils@^5.10.3", "@mui/utils@^5.14.11", "@mui/utils@^5.14.3": - version "5.14.11" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.14.11.tgz#d19a1d8725ffd16c6c6817f00b5172931958fb9a" - integrity sha512-fmkIiCPKyDssYrJ5qk+dime1nlO3dmWfCtaPY/uVBqCRMBZ11JhddB9m8sjI2mgqQQwRJG5bq3biaosNdU/s4Q== +"@mui/utils@^5.10.3", "@mui/utils@^5.14.12", "@mui/utils@^5.14.3": + version "5.14.12" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.14.12.tgz#58b570839e22e0fba71e17d37d9c083fe233704d" + integrity sha512-RFNXnhKQlzIkIUig6mmv0r5VbtjPdWoaBPYicq25LETdZux59HAqoRdWw15T7lp3c7gXOoE8y67+hTB8C64m2g== dependencies: - "@babel/runtime" "^7.22.15" - "@types/prop-types" "^15.7.5" + "@babel/runtime" "^7.23.1" + "@types/prop-types" "^15.7.7" prop-types "^15.8.1" react-is "^18.2.0" @@ -2078,9 +2078,9 @@ integrity sha512-Ba7HmkFgfQxZqqaeIWWkNK0rEhpxVQHIoVyW1YDSkGsGIXzcaW4deC8B0pZrNSSyLTdIk7y+5olKt5+g0GmFIQ== "@reduxjs/toolkit@^1.9.6": - version "1.9.6" - resolved "https://registry.yarnpkg.com/@reduxjs/toolkit/-/toolkit-1.9.6.tgz#fc968b45fe5b17ff90932c4556960d9c1078365a" - integrity sha512-Gc4ikl90ORF4viIdAkY06JNUnODjKfGxZRwATM30EdHq8hLSVoSrwXne5dd739yenP5bJxAX7tLuOWK5RPGtrw== + version "1.9.7" + resolved "https://registry.yarnpkg.com/@reduxjs/toolkit/-/toolkit-1.9.7.tgz#7fc07c0b0ebec52043f8cb43510cf346405f78a6" + integrity sha512-t7v8ZPxhhKgOKtU+uyJT13lu4vL7az5aFi4IdoDs/eS548edn2M8Ik9h8fxgvMjGoAUVFSt6ZC1P5cWmQ014QQ== dependencies: immer "^9.0.21" redux "^4.2.1" @@ -2596,9 +2596,9 @@ integrity sha512-xPSg0jm4mqgEkNhowKgZFBNtwoEwF6gJ4Dhww+GFpm3IgtNseHQZ5IqdNwnquZEoANxyDAKDRAdVo4Z72VvD/g== "@types/node@*": - version "20.8.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.1.tgz#53452f1c4a6d88b9ab1b8a9cb190c41d52bafc23" - integrity sha512-iN6stS2QGMl50pjH0h/dIfmcEUogljAreQZ+cubPw3ISWp5fJrZw9NOh/sDHJfw92A41hCU+Ls5zTIsNYzcnuA== + version "20.8.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.2.tgz#d76fb80d87d0d8abfe334fc6d292e83e5524efc4" + integrity sha512-Vvycsc9FQdwhxE3y3DzeIxuEJbWGDsnrxvMADzTDF/lcdR9/K+AQIeAghTQsHtotg/q0j3WEOYS/jQgSdWue3w== "@types/node@18.16.0": version "18.16.0" @@ -2630,7 +2630,7 @@ resolved "https://registry.yarnpkg.com/@types/prismjs/-/prismjs-1.26.1.tgz#aae6739d8f0d14a3bc9e6dd83e6d791ad75d4d76" integrity sha512-Q7jDsRbzcNHIQje15CS/piKhu6lMLb9jwjxSfEIi4KcFKXW23GoJMkwQiJ8VObyfx+VmUaDcJxXaWN+cTCjVog== -"@types/prop-types@*", "@types/prop-types@^15.0.0", "@types/prop-types@^15.7.5": +"@types/prop-types@*", "@types/prop-types@^15.0.0", "@types/prop-types@^15.7.7": version "15.7.8" resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.8.tgz#805eae6e8f41bd19e88917d2ea200dc992f405d3" integrity sha512-kMpQpfZKSCBqltAJwskgePRaYRFukDkm1oItcAbC3gNELR20XIBcN9VRgg4+m8DKsTfkWeA4m4Imp4DDuWy7FQ== @@ -2709,7 +2709,16 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@18.2.24": +"@types/react@*": + version "18.2.25" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.25.tgz#99fa44154132979e870ff409dc5b6e67f06f0199" + integrity sha512-24xqse6+VByVLIr+xWaQ9muX1B4bXJKXBbjszbld/UEDslGLY53+ZucF44HCmLbMPejTzGG9XgR+3m2/Wqu1kw== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/react@18.2.24": version "18.2.24" resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.24.tgz#3c7d68c02e0205a472f04abe4a0c1df35d995c05" integrity sha512-Ee0Jt4sbJxMu1iDcetZEIKQr99J1Zfb6D4F3qfUWoR1JpInkY1Wdg4WwCyBjL257D0+jGqSl1twBjV8iCaC0Aw== @@ -3940,9 +3949,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001538, caniuse-lite@^1.0.30001541: - version "1.0.30001542" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001542.tgz#823ddb5aed0a70d5e2bfb49126478e84e9514b85" - integrity sha512-UrtAXVcj1mvPBFQ4sKd38daP8dEcXXr5sQe6QNNinaPd0iA/cxg9/l3VrSdL73jgw5sKyuQ6jNgiKO12W3SsVA== + version "1.0.30001546" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001546.tgz#10fdad03436cfe3cc632d3af7a99a0fb497407f0" + integrity sha512-zvtSJwuQFpewSyRrI3AsftF6rM0X80mZkChIt1spBGEvRglCrjTniXvinc8JKRoqTwXAgvqTImaN9igfSMtUBw== canvg@^3.0.6: version "3.0.10" @@ -4073,9 +4082,9 @@ ci-info@^1.5.0: integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== ci-info@^3.2.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" - integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== cjs-module-lexer@^1.0.0: version "1.2.3" @@ -5131,9 +5140,9 @@ ejs@^3.1.6: jake "^10.8.5" electron-to-chromium@^1.4.535: - version "1.4.538" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.538.tgz#86d6b60a8b7e0af3d2aaad3f4ba5a33838cc72ea" - integrity sha512-1a2m63NEookb1beNFTGDihgF3CKL7ksZ7PSA0VloON5DpTEhnOVgaDes8xkrDhkXRxlcN8JymQDGnv+Nn+uvhg== + version "1.4.543" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.543.tgz#51116ffc9fba1ee93514d6a40d34676aa6d7d1c4" + integrity sha512-t2ZP4AcGE0iKCCQCBx/K2426crYdxD3YU6l0uK2EO3FZH0pbC4pFz/sZm2ruZsND6hQBTcDWWlo/MLpiOdif5g== elegant-spinner@^1.0.1: version "1.0.1" @@ -6304,9 +6313,9 @@ globals@^11.1.0: integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.19.0: - version "13.22.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.22.0.tgz#0c9fcb9c48a2494fbb5edbfee644285543eba9d8" - integrity sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw== + version "13.23.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.23.0.tgz#ef31673c926a0976e1f61dab4dca57e0c0a8af02" + integrity sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA== dependencies: type-fest "^0.20.2" @@ -6435,11 +6444,9 @@ has-tostringtag@^1.0.0: has-symbols "^1.0.2" has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" + version "1.0.4" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.4.tgz#2eb2860e000011dae4f1406a86fe80e530fb2ec6" + integrity sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ== hasha@^5.0.0: version "5.2.2" @@ -8408,9 +8415,9 @@ mdn-data@2.0.4: resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== -"mds@https://github.com/minio/mds.git#v0.9.3": - version "0.9.2" - resolved "https://github.com/minio/mds.git#36a8ba5be7e5c0ce5b10e1b7aba54f40edccc0e8" +"mds@https://github.com/minio/mds.git#v0.9.4": + version "0.9.4" + resolved "https://github.com/minio/mds.git#4c723cdbf1944546abba740b03845ef8877e5911" dependencies: "@types/styled-components" "^5.1.28" "@uiw/react-textarea-code-editor" "^2.1.9" @@ -11705,9 +11712,9 @@ terser-webpack-plugin@^5.2.5, terser-webpack-plugin@^5.3.7: terser "^5.16.8" terser@^5.0.0, terser@^5.10.0, terser@^5.16.8: - version "5.20.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.20.0.tgz#ea42aea62578703e33def47d5c5b93c49772423e" - integrity sha512-e56ETryaQDyebBwJIWYB2TT6f2EZ0fL0sW/JRXNMN26zZdKi2u/E/5my5lG6jNxym6qsrVXfFRmOdV42zlAgLQ== + version "5.21.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.21.0.tgz#d2b27e92b5e56650bc83b6defa00a110f0b124b2" + integrity sha512-WtnFKrxu9kaoXuiZFSGrcAvvBqAdmKx0SFNmVNYdJamMu9yyN3I/QF0FbH4QcqJQ+y1CJnzxGIKH0cSj+FGYRw== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2"