\n )}\n \n \n );\n};\n\nexport default withStyles(styles)(FileSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const fileProcess = (evt: any, callback: any) => {\n const file = evt.target.files[0];\n const reader = new FileReader();\n reader.readAsDataURL(file);\n\n reader.onload = () => {\n // reader.readAsDataURL(file) output will be something like: data:application/x-x509-ca-cert;base64,LS0tLS1CRUdJTiBDRVJUSU\n // we care only about the actual base64 part (everything after \"data:application/x-x509-ca-cert;base64,\")\n const fileBase64 = reader.result;\n if (fileBase64) {\n const fileArray = fileBase64.toString().split(\"base64,\");\n\n if (fileArray.length === 2) {\n callback(fileArray[1]);\n }\n }\n };\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n )}\n \n \n );\n};\n\nexport default withStyles(styles)(FileSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const fileProcess = (evt: any, callback: any) => {\n const file = evt.target.files[0];\n const reader = new FileReader();\n reader.readAsDataURL(file);\n\n reader.onload = () => {\n // reader.readAsDataURL(file) output will be something like: data:application/x-x509-ca-cert;base64,LS0tLS1CRUdJTiBDRVJUSU\n // we care only about the actual base64 part (everything after \"data:application/x-x509-ca-cert;base64,\")\n const fileBase64 = reader.result;\n if (fileBase64) {\n const fileArray = fileBase64.toString().split(\"base64,\");\n\n if (fileArray.length === 2) {\n callback(fileArray[1]);\n }\n }\n };\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n formFieldStyles,\n modalBasic,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FileSelector from \"../../Common/FormComponents/FileSelector/FileSelector\";\nimport api from \"../../../../common/api\";\nimport { ITierElement } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport { LockIcon } from \"../../../../icons\";\n\ninterface ITierCredentialsModal {\n open: boolean;\n closeModalAndRefresh: (refresh: boolean) => any;\n classes: any;\n tierData: ITierElement;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n ...modalBasic,\n ...formFieldStyles,\n });\n\nconst UpdateTierCredentialsModal = ({\n open,\n closeModalAndRefresh,\n classes,\n tierData,\n setModalErrorSnackMessage,\n}: ITierCredentialsModal) => {\n const [savingTiers, setSavingTiers] = useState(false);\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n\n const [creds, setCreds] = useState(\"\");\n const [encodedCreds, setEncodedCreds] = useState(\"\");\n\n const [accountName, setAccountName] = useState(\"\");\n const [accountKey, setAccountKey] = useState(\"\");\n\n // Validations\n const [isFormValid, setIsFormValid] = useState(true);\n\n const type = get(tierData, \"type\", \"\");\n const name = get(tierData, `${type}.name`, \"\");\n\n useEffect(() => {\n let valid = true;\n\n if (type === \"s3\" || type === \"azure\") {\n if (accountName === \"\" || accountKey === \"\") {\n valid = false;\n }\n } else if (type === \"gcs\") {\n if (encodedCreds === \"\") {\n valid = false;\n }\n }\n setIsFormValid(valid);\n }, [accountKey, accountName, encodedCreds, type]);\n\n const addRecord = () => {\n let rules = {};\n\n if (type === \"s3\" || type === \"azure\") {\n rules = {\n access_key: accountName,\n secret_key: accountKey,\n };\n } else if (type === \"gcs\") {\n rules = {\n creds: encodedCreds,\n };\n }\n if (name !== \"\") {\n api\n .invoke(\"PUT\", `/api/v1/admin/tiers/${type}/${name}/credentials`, rules)\n .then(() => {\n setSavingTiers(false);\n closeModalAndRefresh(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setSavingTiers(false);\n setModalErrorSnackMessage(err);\n });\n } else {\n setModalErrorSnackMessage({\n errorMessage: \"There was an error retrieving tier information\",\n detailedError: \"\",\n });\n }\n };\n\n return (\n }\n onClose={() => {\n closeModalAndRefresh(false);\n }}\n title={`Update Credentials - ${type} / ${name}`}\n >\n \n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(UpdateTierCredentialsModal));\n","import React from \"react\";\nimport Typography from \"@mui/material/Typography\";\nimport { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n errorBlock: {\n color: theme.palette?.error.main || \"#C83B51\",\n },\n });\n\ninterface IErrorBlockProps {\n classes: any;\n errorMessage: string;\n withBreak?: boolean;\n}\n\nconst ErrorBlock = ({\n classes,\n errorMessage,\n withBreak = true,\n}: IErrorBlockProps) => {\n return (\n \n {withBreak && }\n \n {errorMessage}\n \n \n );\n};\n\nexport default withStyles(styles)(ErrorBlock);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z\"\n}), 'AttachFile');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\"\n}), 'Cancel');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;"],"names":["withStyles","theme","createStyles","fieldBasic","tooltipHelper","valueString","maxWidth","whiteSpace","overflow","textOverflow","marginTop","fileInputField","margin","flexFlow","fileInputStyles","inputLabel","fontWeight","textBoxContainer","border","paddingLeft","label","classes","onChange","id","name","disabled","tooltip","required","error","accept","value","useState","showFileSelector","setShowSelector","Grid","item","xs","className","fieldBottom","fieldContainer","errorInField","InputLabel","htmlFor","fieldLabelError","tooltipContainer","Tooltip","title","placement","HelpIcon","type","e","fileName","get","evt","callback","file","target","files","reader","FileReader","readAsDataURL","onload","fileBase64","result","fileArray","toString","split","length","fileProcess","data","IconButton","color","component","onClick","disableRipple","disableFocusRipple","size","Cancel","ErrorBlock","errorMessage","fileReselect","AttachFile","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","flexGrow","position","overlayAction","right","top","maxHeight","autoComplete","multiline","index","placeholder","min","max","overlayId","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","onKeyPress","inputProps","container","clsx","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","disableTouchRipple","connector","connect","state","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","deleteDialogStyles","content","padding","paddingBottom","customDialogSize","width","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","useEffect","message","customSize","paper","detailedErrorMsg","open","scroll","event","reason","root","titleText","closeContainer","closeButton","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","setModalErrorSnackMessage","buttonContainer","textAlign","modalBasic","formFieldStyles","closeModalAndRefresh","tierData","savingTiers","setSavingTiers","accessKey","setAccessKey","secretKey","setSecretKey","creds","setCreds","encodedCreds","setEncodedCreds","accountName","setAccountName","accountKey","setAccountKey","isFormValid","setIsFormValid","valid","noValidate","onSubmit","preventDefault","rules","access_key","secret_key","api","then","catch","err","detailedError","addRecord","Fragment","formFieldRow","encodedValue","variant","errorBlock","palette","main","withBreak","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1116.824f2d28.chunk.js b/portal-ui/build/static/js/1116.3ac451e2.chunk.js
similarity index 98%
rename from portal-ui/build/static/js/1116.824f2d28.chunk.js
rename to portal-ui/build/static/js/1116.3ac451e2.chunk.js
index 0469a8e77..caf975744 100644
--- a/portal-ui/build/static/js/1116.824f2d28.chunk.js
+++ b/portal-ui/build/static/js/1116.3ac451e2.chunk.js
@@ -1,2 +1,2 @@
-"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1116],{8235:function(e,t,r){r(50390);var n=r(86509),o=r(4285),i=r(25594),a=r(62559);t.Z=(0,o.Z)((function(e){return(0,n.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,r=e.iconComponent,n=e.title,o=e.help;return(0,a.jsx)("div",{className:t.root,children:(0,a.jsxs)(i.ZP,{container:!0,children:[(0,a.jsxs)(i.ZP,{item:!0,xs:12,className:t.leftItems,children:[r,n]}),(0,a.jsx)(i.ZP,{item:!0,xs:12,className:t.helpText,children:o})]})})}))},37882:function(e,t,r){var n=r(18489),o=r(50390),i=r(62559);t.Z=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function r(r){return(0,i.jsx)(o.Suspense,{fallback:t,children:(0,i.jsx)(e,(0,n.Z)({},r))})}return r}},25534:function(e,t,r){var n=r(18489),o=(r(50390),r(25594)),i=r(86509),a=r(4285),l=r(72462),c=r(62559);t.Z=(0,a.Z)((function(e){return(0,i.Z)((0,n.Z)({},l.Bw))}))((function(e){var t=e.classes,r=e.className,n=void 0===r?"":r,i=e.children;return(0,c.jsx)("div",{className:t.contentSpacer,children:(0,c.jsx)(o.ZP,{container:!0,children:(0,c.jsx)(o.ZP,{item:!0,xs:12,className:n,children:i})})})}))},35721:function(e,t,r){var n=r(50390),o=r(34424),i=r(25594),a=r(86509),l=r(4285),c=r(35477),s=r(95467),d=r(26805),p=r(44078),u=r(5265),m=r(86362),h=r(62559),f={toggleList:u.kQ},g=(0,o.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage,features:e.console.session.features}}),f);t.Z=g((0,l.Z)((function(e){return(0,a.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,r=e.label,o=e.actions,a=e.sidebarOpen,l=e.operatorMode,u=e.managerObjects,f=e.toggleList,g=e.middleComponent;return e.features.includes("hide-menu")?(0,h.jsx)(n.Fragment,{}):(0,h.jsxs)(i.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,h.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:g?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!a&&(0,h.jsx)("div",{className:t.logo,children:l?(0,h.jsx)(d.Z,{}):(0,h.jsx)(p.Z,{})}),(0,h.jsx)(c.Z,{variant:"h4",className:t.labelStyle,children:r})]}),g&&(0,h.jsx)(i.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:g}),(0,h.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:g?3:6,className:t.rightMenu,children:[o&&o,u&&u.length>0&&(0,h.jsx)(s.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){f()},id:"object-manager-toggle",size:"large",children:(0,h.jsx)(m.gx,{})})]})]})})))},73726:function(e,t,r){r.d(t,{bx:function(){return g},DP:function(){return b},DD:function(){return v},_0:function(){return y}});var n=r(35531),o=(r(50390),r(75012)),i=r(58267),a=r(44229),l=r(30578),c=r(2494),s=r(41845),d=r(26068),p=r(89173),u=r(9639),m=r(84386),h=r(12720),f=r(62559),g=[{icon:(0,f.jsx)(o.Z,{}),configuration_id:"region",configuration_label:"Region"},{icon:(0,f.jsx)(i.Z,{}),configuration_id:"cache",configuration_label:"Cache"},{icon:(0,f.jsx)(a.Z,{}),configuration_id:"compression",configuration_label:"Compression"},{icon:(0,f.jsx)(l.Z,{}),configuration_id:"api",configuration_label:"API"},{icon:(0,f.jsx)(c.Z,{}),configuration_id:"heal",configuration_label:"Heal"},{icon:(0,f.jsx)(s.Z,{}),configuration_id:"scanner",configuration_label:"Scanner"},{icon:(0,f.jsx)(d.Z,{}),configuration_id:"etcd",configuration_label:"Etcd"},{icon:(0,f.jsx)(p.Z,{}),configuration_id:"identity_openid",configuration_label:"Identity Openid"},{icon:(0,f.jsx)(u.Z,{}),configuration_id:"identity_ldap",configuration_label:"Identity LDAP"},{icon:(0,f.jsx)(h.Z,{}),configuration_id:"logger_webhook",configuration_label:"Logger Webhook"},{icon:(0,f.jsx)(m.Z,{}),configuration_id:"audit_webhook",configuration_label:"Audit Webhook"}],b={region:[{name:"name",required:!0,label:"Server Location",tooltip:'Name of the location of the server e.g. "us-west-rack2"',type:"string",placeholder:"e.g. us-west-rack-2"},{name:"comment",required:!1,label:"Comment",tooltip:"You can add a comment to this setting",type:"comment",placeholder:"Enter custom notes if any"}],cache:[{name:"drives",required:!0,label:"Drives",tooltip:'Mountpoints e.g. "/optane1" or "/optane2", you can write one per field',type:"csv",placeholder:"Enter Mount Point"},{name:"expiry",required:!1,label:"Expiry",tooltip:'Cache expiry duration in days e.g. "90"',type:"number",placeholder:"Enter Number of Days"},{name:"quota",required:!1,label:"Quota",tooltip:'Limit cache drive usage in percentage e.g. "90"',type:"number",placeholder:"Enter in %"},{name:"exclude",required:!1,label:"Exclude",tooltip:'Wildcard exclusion patterns e.g. "bucket/*.tmp" or "*.exe", you can write one per field',type:"csv",placeholder:"Enter Wildcard Exclusion Patterns"},{name:"after",required:!1,label:"After",tooltip:"Minimum number of access before caching an object",type:"number",placeholder:"Enter Number of Attempts"},{name:"watermark_low",required:!1,label:"Watermark Low",tooltip:"Watermark Low",type:"number",placeholder:"Enter Watermark Low"},{name:"watermark_high",required:!1,label:"Watermark High",tooltip:"Watermark High",type:"number",placeholder:"Enter Watermark High"},{name:"comment",required:!1,label:"Comment",tooltip:"You can add a comment to this setting",type:"comment",multiline:!0,placeholder:"Enter custom notes if any"}],compression:[{name:"extensions",required:!1,label:"Extensions",tooltip:'Extensions to compress e.g. ".txt",".log" or ".csv", you can write one per field',type:"csv",placeholder:"Enter an Extension",withBorder:!0},{name:"mime_types",required:!1,label:"Mime Types",tooltip:'Mime types e.g. "text/*","application/json" or "application/xml", you can write one per field',type:"csv",placeholder:"Enter a Mime Type",withBorder:!0}],api:[{name:"requests_max",required:!1,label:"Requests Max",tooltip:"Maximum number of concurrent requests, e.g. '1600'",type:"number",placeholder:"Enter Requests Max"},{name:"cors_allow_origin",required:!1,label:"Cors Allow Origin",tooltip:"list of origins allowed for CORS requests",type:"csv",placeholder:"Enter allowed origin e.g. https://example.com"},{name:"replication_workers",required:!1,label:"Replication Workers",tooltip:"Number of replication workers, defaults to 100",type:"number",placeholder:"Enter Replication Workers"},{name:"replication_failed_workers",required:!1,label:"Replication Failed Workers",tooltip:"Number of replication workers for recently failed replicas, defaults to 4",type:"number",placeholder:"Enter Replication Failed Workers"}],heal:[{name:"bitrotscan",required:!1,label:"Bitrot Scan",tooltip:"Perform bitrot scan on disks when checking objects during scanner",type:"on|off"},{name:"max_sleep",required:!1,label:"Max Sleep",tooltip:"Maximum sleep duration between objects to slow down heal operation. eg. 2s",type:"duration",placeholder:"Enter Max Sleep duration"},{name:"max_io",required:!1,label:"Max IO",tooltip:"Maximum IO requests allowed between objects to slow down heal operation. eg. 3",type:"number",placeholder:"Enter Max IO"}],scanner:[{name:"delay",required:!1,label:"Delay multiplier",tooltip:"Scanner delay multiplier, defaults to '10.0'",type:"number",placeholder:"Enter Delay"},{name:"max_wait",required:!1,label:"Max Wait",tooltip:"Maximum wait time between operations, defaults to '15s'",type:"duration",placeholder:"Enter Max Wait"},{name:"cycle",required:!1,label:"Cycle",tooltip:"Time duration between scanner cycles, defaults to '1m'",type:"duration",placeholder:"Enter Cycle"}],etcd:[{name:"endpoints",required:!0,label:"Endpoints",tooltip:'List of etcd endpoints e.g. "http://localhost:2379", you can write one per field',type:"csv",placeholder:"Enter Endpoint"},{name:"path_prefix",required:!1,label:"Path Prefix",tooltip:'namespace prefix to isolate tenants e.g. "customer1/"',type:"string",placeholder:"Enter Path Prefix"},{name:"coredns_path",required:!1,label:"Coredns Path",tooltip:'Shared bucket DNS records, default is "/skydns"',type:"string",placeholder:"Enter Coredns Path"},{name:"client_cert",required:!1,label:"Client Cert",tooltip:"Client cert for mTLS authentication",type:"string",placeholder:"Enter Client Cert"},{name:"client_cert_key",required:!1,label:"Client Cert Key",tooltip:"Client cert key for mTLS authentication",type:"string",placeholder:"Enter Client Cert Key"},{name:"comment",required:!1,label:"Comment",tooltip:"You can add a comment to this setting",type:"comment",multiline:!0,placeholder:"Enter custom notes if any"}],identity_openid:[{name:"config_url",required:!1,label:"Config URL",tooltip:"Config URL for identity provider configuration",type:"string",placeholder:"https://identity-provider-url/.well-known/openid-configuration"},{name:"client_id",required:!1,label:"Client ID",type:"string",placeholder:"Enter Client ID"},{name:"client_secret",required:!1,label:"Secret ID",type:"string",placeholder:"Enter Secret ID"},{name:"claim_name",required:!1,label:"Claim Name",tooltip:"Claim from which MinIO will read the policy or role to use",type:"string",placeholder:"Enter Claim Name"},{name:"claim_prefix",required:!1,label:"Claim Prefix",tooltip:"Claim Prefix",type:"string",placeholder:"Enter Claim Prefix"},{name:"claim_userinfo",required:!1,label:"Claim UserInfo",type:"on|off"},{name:"redirect_uri",required:!1,label:"Redirect URI",type:"string",placeholder:"https://console-endpoint-url/oauth_callback"},{name:"scopes",required:!1,label:"Scopes",type:"string",placeholder:"openid,profile,email"}],identity_ldap:[{name:"server_addr",required:!0,label:"Server Addr",tooltip:'AD/LDAP server address e.g. "myldapserver.com:636"',type:"string",placeholder:"myldapserver.com:636"},{name:"tls_skip_verify",required:!1,label:"TLS Skip Verify",tooltip:'Trust server TLS without verification, defaults to "off" (verify)',type:"on|off"},{name:"server_insecure",required:!1,label:"Server Insecure",tooltip:'Allow plain text connection to AD/LDAP server, defaults to "off"',type:"on|off"},{name:"server_starttls",required:!1,label:"Start TLS connection to AD/LDAP server",tooltip:"Use StartTLS connection to AD/LDAP server",type:"on|off"},{name:"lookup_bind_dn",required:!0,label:"Lookup Bind DN",tooltip:"DN for LDAP read-only service account used to perform DN and group lookups",type:"string",placeholder:"cn=admin,dc=min,dc=io"},{name:"lookup_bind_password",required:!1,label:"Lookup Bind Password",tooltip:"Password for LDAP read-only service account used to perform DN and group lookups",type:"string",placeholder:"admin"},{name:"user_dn_search_base_dn",required:!1,label:"User DN Search Base DN",tooltip:"Base LDAP DN to search for user DN",type:"csv",placeholder:"dc=myldapserver"},{name:"user_dn_search_filter",required:!1,label:"User DN Search Filter",tooltip:"Search filter to lookup user DN",type:"string",placeholder:"(sAMAcountName=%s)"},{name:"group_search_filter",required:!1,label:"Group Search Filter",tooltip:"Search filter for groups",type:"string",placeholder:"(&(objectclass=groupOfNames)(member=%d))"},{name:"group_search_base_dn",required:!1,label:"Group Search Base DN",tooltip:"list of group search base DNs",type:"csv",placeholder:"dc=minioad,dc=local"},{name:"comment",required:!1,label:"Comment",tooltip:"Optionally add a comment to this setting",type:"comment",placeholder:"Enter custom notes if any"}],logger_webhook:[{name:"endpoint",required:!0,label:"Endpoint",type:"string",placeholder:"Enter Endpoint"},{name:"auth_token",required:!0,label:"Auth Token",type:"string",placeholder:"Enter Auth Token"}],audit_webhook:[{name:"endpoint",required:!0,label:"Endpoint",type:"string",placeholder:"Enter Endpoint"},{name:"auth_token",required:!0,label:"Auth Token",type:"string",placeholder:"Enter Auth Token"}]},v=function(e){return e.filter((function(e){return""!==e.value}))},y=function(e,t,r){var o=e.target,i=o.value,a=o.checked,l=(0,n.Z)(r);return a?l.push(i):l=l.filter((function(e){return e!==i})),t(l),l}},12720:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3v-3h18v3z"}),"CallToAction");t.Z=a},30578:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"}),"Code");t.Z=a},44229:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M8 19h3v3h2v-3h3l-4-4-4 4zm8-15h-3V1h-2v3H8l4 4 4-4zM4 9v2h16V9H4zm0 3h16v2H4z"}),"Compress");t.Z=a},41845:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M11 6c1.38 0 2.63.56 3.54 1.46L12 10h6V4l-2.05 2.05C14.68 4.78 12.93 4 11 4c-3.53 0-6.43 2.61-6.92 6H6.1c.46-2.28 2.48-4 4.9-4zm5.64 9.14c.66-.9 1.12-1.97 1.28-3.14H15.9c-.46 2.28-2.48 4-4.9 4-1.38 0-2.63-.56-3.54-1.46L10 12H4v6l2.05-2.05C7.32 17.22 9.07 18 11 18c1.55 0 2.98-.51 4.14-1.36L20 21.49 21.49 20l-4.85-4.86z"}),"FindReplace");t.Z=a},2494:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M19 3H5c-1.1 0-1.99.9-1.99 2L3 19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 11h-4v4h-4v-4H6v-4h4V6h4v4h4v4z"}),"LocalHospital");t.Z=a},89173:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M12 17c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6h1.9c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm0 12H6V10h12v10z"}),"LockOpen");t.Z=a},9639:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M11 7 9.6 8.4l2.6 2.6H2v2h10.2l-2.6 2.6L11 17l5-5-5-5zm9 12h-8v2h8c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-8v2h8v14z"}),"Login");t.Z=a},84386:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M17 12c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm1.65 7.35L16.5 17.2V14h1v2.79l1.85 1.85-.7.71zM18 3h-3.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H6c-1.1 0-2 .9-2 2v15c0 1.1.9 2 2 2h6.11c-.59-.57-1.07-1.25-1.42-2H6V5h2v3h8V5h2v5.08c.71.1 1.38.31 2 .6V5c0-1.1-.9-2-2-2zm-6 2c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z"}),"PendingActions");t.Z=a},75012:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z"}),"Public");t.Z=a},58267:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M18 2h-8L4.02 8 4 20c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-6 6h-2V4h2v4zm3 0h-2V4h2v4zm3 0h-2V4h2v4z"}),"SdStorage");t.Z=a},26068:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M12.65 10C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H17v4h4v-4h2v-4H12.65zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"}),"VpnKey");t.Z=a},18207:function(e,t,r){function n(){return n=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}r.d(t,{Z:function(){return n}})}}]);
-//# sourceMappingURL=1116.824f2d28.chunk.js.map
\ No newline at end of file
+"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1116],{8235:function(e,t,r){r(50390);var n=r(86509),o=r(4285),i=r(25594),a=r(62559);t.Z=(0,o.Z)((function(e){return(0,n.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,r=e.iconComponent,n=e.title,o=e.help;return(0,a.jsx)("div",{className:t.root,children:(0,a.jsxs)(i.ZP,{container:!0,children:[(0,a.jsxs)(i.ZP,{item:!0,xs:12,className:t.leftItems,children:[r,n]}),(0,a.jsx)(i.ZP,{item:!0,xs:12,className:t.helpText,children:o})]})})}))},37882:function(e,t,r){var n=r(18489),o=r(50390),i=r(62559);t.Z=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function r(r){return(0,i.jsx)(o.Suspense,{fallback:t,children:(0,i.jsx)(e,(0,n.Z)({},r))})}return r}},25534:function(e,t,r){var n=r(18489),o=(r(50390),r(25594)),i=r(86509),a=r(4285),l=r(72462),c=r(62559);t.Z=(0,a.Z)((function(e){return(0,i.Z)((0,n.Z)({},l.Bw))}))((function(e){var t=e.classes,r=e.className,n=void 0===r?"":r,i=e.children;return(0,c.jsx)("div",{className:t.contentSpacer,children:(0,c.jsx)(o.ZP,{container:!0,children:(0,c.jsx)(o.ZP,{item:!0,xs:12,className:n,children:i})})})}))},35721:function(e,t,r){var n=r(50390),o=r(34424),i=r(25594),a=r(86509),l=r(4285),c=r(35477),s=r(95467),d=r(26805),p=r(44078),u=r(5265),m=r(14549),h=r(62559),f={toggleList:u.kQ},g=(0,o.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage,features:e.console.session.features}}),f);t.Z=g((0,l.Z)((function(e){return(0,a.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:21,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,r=e.label,o=e.actions,a=e.sidebarOpen,l=e.operatorMode,u=e.managerObjects,f=e.toggleList,g=e.middleComponent;return e.features.includes("hide-menu")?(0,h.jsx)(n.Fragment,{}):(0,h.jsxs)(i.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,h.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:g?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!a&&(0,h.jsx)("div",{className:t.logo,children:l?(0,h.jsx)(d.Z,{}):(0,h.jsx)(p.Z,{})}),(0,h.jsx)(c.Z,{variant:"h4",className:t.labelStyle,children:r})]}),g&&(0,h.jsx)(i.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:g}),(0,h.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:g?3:6,className:t.rightMenu,children:[o&&o,u&&u.length>0&&(0,h.jsx)(s.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){f()},id:"object-manager-toggle",size:"large",children:(0,h.jsx)(m.gx,{})})]})]})})))},73726:function(e,t,r){r.d(t,{bx:function(){return g},DP:function(){return b},DD:function(){return v},_0:function(){return y}});var n=r(35531),o=(r(50390),r(75012)),i=r(58267),a=r(44229),l=r(30578),c=r(2494),s=r(41845),d=r(26068),p=r(89173),u=r(9639),m=r(84386),h=r(12720),f=r(62559),g=[{icon:(0,f.jsx)(o.Z,{}),configuration_id:"region",configuration_label:"Region"},{icon:(0,f.jsx)(i.Z,{}),configuration_id:"cache",configuration_label:"Cache"},{icon:(0,f.jsx)(a.Z,{}),configuration_id:"compression",configuration_label:"Compression"},{icon:(0,f.jsx)(l.Z,{}),configuration_id:"api",configuration_label:"API"},{icon:(0,f.jsx)(c.Z,{}),configuration_id:"heal",configuration_label:"Heal"},{icon:(0,f.jsx)(s.Z,{}),configuration_id:"scanner",configuration_label:"Scanner"},{icon:(0,f.jsx)(d.Z,{}),configuration_id:"etcd",configuration_label:"Etcd"},{icon:(0,f.jsx)(p.Z,{}),configuration_id:"identity_openid",configuration_label:"Identity Openid"},{icon:(0,f.jsx)(u.Z,{}),configuration_id:"identity_ldap",configuration_label:"Identity LDAP"},{icon:(0,f.jsx)(h.Z,{}),configuration_id:"logger_webhook",configuration_label:"Logger Webhook"},{icon:(0,f.jsx)(m.Z,{}),configuration_id:"audit_webhook",configuration_label:"Audit Webhook"}],b={region:[{name:"name",required:!0,label:"Server Location",tooltip:'Name of the location of the server e.g. "us-west-rack2"',type:"string",placeholder:"e.g. us-west-rack-2"},{name:"comment",required:!1,label:"Comment",tooltip:"You can add a comment to this setting",type:"comment",placeholder:"Enter custom notes if any"}],cache:[{name:"drives",required:!0,label:"Drives",tooltip:'Mountpoints e.g. "/optane1" or "/optane2", you can write one per field',type:"csv",placeholder:"Enter Mount Point"},{name:"expiry",required:!1,label:"Expiry",tooltip:'Cache expiry duration in days e.g. "90"',type:"number",placeholder:"Enter Number of Days"},{name:"quota",required:!1,label:"Quota",tooltip:'Limit cache drive usage in percentage e.g. "90"',type:"number",placeholder:"Enter in %"},{name:"exclude",required:!1,label:"Exclude",tooltip:'Wildcard exclusion patterns e.g. "bucket/*.tmp" or "*.exe", you can write one per field',type:"csv",placeholder:"Enter Wildcard Exclusion Patterns"},{name:"after",required:!1,label:"After",tooltip:"Minimum number of access before caching an object",type:"number",placeholder:"Enter Number of Attempts"},{name:"watermark_low",required:!1,label:"Watermark Low",tooltip:"Watermark Low",type:"number",placeholder:"Enter Watermark Low"},{name:"watermark_high",required:!1,label:"Watermark High",tooltip:"Watermark High",type:"number",placeholder:"Enter Watermark High"},{name:"comment",required:!1,label:"Comment",tooltip:"You can add a comment to this setting",type:"comment",multiline:!0,placeholder:"Enter custom notes if any"}],compression:[{name:"extensions",required:!1,label:"Extensions",tooltip:'Extensions to compress e.g. ".txt",".log" or ".csv", you can write one per field',type:"csv",placeholder:"Enter an Extension",withBorder:!0},{name:"mime_types",required:!1,label:"Mime Types",tooltip:'Mime types e.g. "text/*","application/json" or "application/xml", you can write one per field',type:"csv",placeholder:"Enter a Mime Type",withBorder:!0}],api:[{name:"requests_max",required:!1,label:"Requests Max",tooltip:"Maximum number of concurrent requests, e.g. '1600'",type:"number",placeholder:"Enter Requests Max"},{name:"cors_allow_origin",required:!1,label:"Cors Allow Origin",tooltip:"list of origins allowed for CORS requests",type:"csv",placeholder:"Enter allowed origin e.g. https://example.com"},{name:"replication_workers",required:!1,label:"Replication Workers",tooltip:"Number of replication workers, defaults to 100",type:"number",placeholder:"Enter Replication Workers"},{name:"replication_failed_workers",required:!1,label:"Replication Failed Workers",tooltip:"Number of replication workers for recently failed replicas, defaults to 4",type:"number",placeholder:"Enter Replication Failed Workers"}],heal:[{name:"bitrotscan",required:!1,label:"Bitrot Scan",tooltip:"Perform bitrot scan on disks when checking objects during scanner",type:"on|off"},{name:"max_sleep",required:!1,label:"Max Sleep",tooltip:"Maximum sleep duration between objects to slow down heal operation. eg. 2s",type:"duration",placeholder:"Enter Max Sleep duration"},{name:"max_io",required:!1,label:"Max IO",tooltip:"Maximum IO requests allowed between objects to slow down heal operation. eg. 3",type:"number",placeholder:"Enter Max IO"}],scanner:[{name:"delay",required:!1,label:"Delay multiplier",tooltip:"Scanner delay multiplier, defaults to '10.0'",type:"number",placeholder:"Enter Delay"},{name:"max_wait",required:!1,label:"Max Wait",tooltip:"Maximum wait time between operations, defaults to '15s'",type:"duration",placeholder:"Enter Max Wait"},{name:"cycle",required:!1,label:"Cycle",tooltip:"Time duration between scanner cycles, defaults to '1m'",type:"duration",placeholder:"Enter Cycle"}],etcd:[{name:"endpoints",required:!0,label:"Endpoints",tooltip:'List of etcd endpoints e.g. "http://localhost:2379", you can write one per field',type:"csv",placeholder:"Enter Endpoint"},{name:"path_prefix",required:!1,label:"Path Prefix",tooltip:'namespace prefix to isolate tenants e.g. "customer1/"',type:"string",placeholder:"Enter Path Prefix"},{name:"coredns_path",required:!1,label:"Coredns Path",tooltip:'Shared bucket DNS records, default is "/skydns"',type:"string",placeholder:"Enter Coredns Path"},{name:"client_cert",required:!1,label:"Client Cert",tooltip:"Client cert for mTLS authentication",type:"string",placeholder:"Enter Client Cert"},{name:"client_cert_key",required:!1,label:"Client Cert Key",tooltip:"Client cert key for mTLS authentication",type:"string",placeholder:"Enter Client Cert Key"},{name:"comment",required:!1,label:"Comment",tooltip:"You can add a comment to this setting",type:"comment",multiline:!0,placeholder:"Enter custom notes if any"}],identity_openid:[{name:"config_url",required:!1,label:"Config URL",tooltip:"Config URL for identity provider configuration",type:"string",placeholder:"https://identity-provider-url/.well-known/openid-configuration"},{name:"client_id",required:!1,label:"Client ID",type:"string",placeholder:"Enter Client ID"},{name:"client_secret",required:!1,label:"Secret ID",type:"string",placeholder:"Enter Secret ID"},{name:"claim_name",required:!1,label:"Claim Name",tooltip:"Claim from which MinIO will read the policy or role to use",type:"string",placeholder:"Enter Claim Name"},{name:"claim_prefix",required:!1,label:"Claim Prefix",tooltip:"Claim Prefix",type:"string",placeholder:"Enter Claim Prefix"},{name:"claim_userinfo",required:!1,label:"Claim UserInfo",type:"on|off"},{name:"redirect_uri",required:!1,label:"Redirect URI",type:"string",placeholder:"https://console-endpoint-url/oauth_callback"},{name:"scopes",required:!1,label:"Scopes",type:"string",placeholder:"openid,profile,email"}],identity_ldap:[{name:"server_addr",required:!0,label:"Server Addr",tooltip:'AD/LDAP server address e.g. "myldapserver.com:636"',type:"string",placeholder:"myldapserver.com:636"},{name:"tls_skip_verify",required:!1,label:"TLS Skip Verify",tooltip:'Trust server TLS without verification, defaults to "off" (verify)',type:"on|off"},{name:"server_insecure",required:!1,label:"Server Insecure",tooltip:'Allow plain text connection to AD/LDAP server, defaults to "off"',type:"on|off"},{name:"server_starttls",required:!1,label:"Start TLS connection to AD/LDAP server",tooltip:"Use StartTLS connection to AD/LDAP server",type:"on|off"},{name:"lookup_bind_dn",required:!0,label:"Lookup Bind DN",tooltip:"DN for LDAP read-only service account used to perform DN and group lookups",type:"string",placeholder:"cn=admin,dc=min,dc=io"},{name:"lookup_bind_password",required:!1,label:"Lookup Bind Password",tooltip:"Password for LDAP read-only service account used to perform DN and group lookups",type:"string",placeholder:"admin"},{name:"user_dn_search_base_dn",required:!1,label:"User DN Search Base DN",tooltip:"Base LDAP DN to search for user DN",type:"csv",placeholder:"dc=myldapserver"},{name:"user_dn_search_filter",required:!1,label:"User DN Search Filter",tooltip:"Search filter to lookup user DN",type:"string",placeholder:"(sAMAcountName=%s)"},{name:"group_search_filter",required:!1,label:"Group Search Filter",tooltip:"Search filter for groups",type:"string",placeholder:"(&(objectclass=groupOfNames)(member=%d))"},{name:"group_search_base_dn",required:!1,label:"Group Search Base DN",tooltip:"list of group search base DNs",type:"csv",placeholder:"dc=minioad,dc=local"},{name:"comment",required:!1,label:"Comment",tooltip:"Optionally add a comment to this setting",type:"comment",placeholder:"Enter custom notes if any"}],logger_webhook:[{name:"endpoint",required:!0,label:"Endpoint",type:"string",placeholder:"Enter Endpoint"},{name:"auth_token",required:!0,label:"Auth Token",type:"string",placeholder:"Enter Auth Token"}],audit_webhook:[{name:"endpoint",required:!0,label:"Endpoint",type:"string",placeholder:"Enter Endpoint"},{name:"auth_token",required:!0,label:"Auth Token",type:"string",placeholder:"Enter Auth Token"}]},v=function(e){return e.filter((function(e){return""!==e.value}))},y=function(e,t,r){var o=e.target,i=o.value,a=o.checked,l=(0,n.Z)(r);return a?l.push(i):l=l.filter((function(e){return e!==i})),t(l),l}},12720:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3v-3h18v3z"}),"CallToAction");t.Z=a},30578:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"}),"Code");t.Z=a},44229:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M8 19h3v3h2v-3h3l-4-4-4 4zm8-15h-3V1h-2v3H8l4 4 4-4zM4 9v2h16V9H4zm0 3h16v2H4z"}),"Compress");t.Z=a},41845:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M11 6c1.38 0 2.63.56 3.54 1.46L12 10h6V4l-2.05 2.05C14.68 4.78 12.93 4 11 4c-3.53 0-6.43 2.61-6.92 6H6.1c.46-2.28 2.48-4 4.9-4zm5.64 9.14c.66-.9 1.12-1.97 1.28-3.14H15.9c-.46 2.28-2.48 4-4.9 4-1.38 0-2.63-.56-3.54-1.46L10 12H4v6l2.05-2.05C7.32 17.22 9.07 18 11 18c1.55 0 2.98-.51 4.14-1.36L20 21.49 21.49 20l-4.85-4.86z"}),"FindReplace");t.Z=a},2494:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M19 3H5c-1.1 0-1.99.9-1.99 2L3 19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 11h-4v4h-4v-4H6v-4h4V6h4v4h4v4z"}),"LocalHospital");t.Z=a},89173:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M12 17c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6h1.9c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm0 12H6V10h12v10z"}),"LockOpen");t.Z=a},9639:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M11 7 9.6 8.4l2.6 2.6H2v2h10.2l-2.6 2.6L11 17l5-5-5-5zm9 12h-8v2h8c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-8v2h8v14z"}),"Login");t.Z=a},84386:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M17 12c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm1.65 7.35L16.5 17.2V14h1v2.79l1.85 1.85-.7.71zM18 3h-3.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H6c-1.1 0-2 .9-2 2v15c0 1.1.9 2 2 2h6.11c-.59-.57-1.07-1.25-1.42-2H6V5h2v3h8V5h2v5.08c.71.1 1.38.31 2 .6V5c0-1.1-.9-2-2-2zm-6 2c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z"}),"PendingActions");t.Z=a},75012:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z"}),"Public");t.Z=a},58267:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M18 2h-8L4.02 8 4 20c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-6 6h-2V4h2v4zm3 0h-2V4h2v4zm3 0h-2V4h2v4z"}),"SdStorage");t.Z=a},26068:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M12.65 10C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H17v4h4v-4h2v-4H12.65zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"}),"VpnKey");t.Z=a},18207:function(e,t,r){function n(){return n=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}r.d(t,{Z:function(){return n}})}}]);
+//# sourceMappingURL=1116.3ac451e2.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1116.824f2d28.chunk.js.map b/portal-ui/build/static/js/1116.3ac451e2.chunk.js.map
similarity index 99%
rename from portal-ui/build/static/js/1116.824f2d28.chunk.js.map
rename to portal-ui/build/static/js/1116.3ac451e2.chunk.js.map
index ffaa6e030..b42ee0746 100644
--- a/portal-ui/build/static/js/1116.824f2d28.chunk.js.map
+++ b/portal-ui/build/static/js/1116.3ac451e2.chunk.js.map
@@ -1 +1 @@
-{"version":3,"file":"static/js/1116.824f2d28.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Configurations/utils.tsx","../node_modules/@mui/icons-material/CallToAction.js","../node_modules/@mui/icons-material/Code.js","../node_modules/@mui/icons-material/Compress.js","../node_modules/@mui/icons-material/FindReplace.js","../node_modules/@mui/icons-material/LocalHospital.js","../node_modules/@mui/icons-material/LockOpen.js","../node_modules/@mui/icons-material/Login.js","../node_modules/@mui/icons-material/PendingActions.js","../node_modules/@mui/icons-material/Public.js","../node_modules/@mui/icons-material/SdStorage.js","../node_modules/@mui/icons-material/VpnKey.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/extends.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense
(\n WrappedComponent: ComponentType
,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n features,\n}: IPageHeader) => {\n if (features.includes(\"hide-menu\")) {\n return ;\n }\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n id=\"object-manager-toggle\"\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n features: state.console.session.features,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport PublicIcon from \"@mui/icons-material/Public\";\nimport SdStorageIcon from \"@mui/icons-material/SdStorage\";\nimport CompressIcon from \"@mui/icons-material/Compress\";\nimport CodeIcon from \"@mui/icons-material/Code\";\nimport LocalHospitalIcon from \"@mui/icons-material/LocalHospital\";\nimport FindReplaceIcon from \"@mui/icons-material/FindReplace\";\nimport VpnKeyIcon from \"@mui/icons-material/VpnKey\";\nimport LockOpenIcon from \"@mui/icons-material/LockOpen\";\nimport LoginIcon from \"@mui/icons-material/Login\";\nimport PendingActionsIcon from \"@mui/icons-material/PendingActions\";\nimport CallToActionIcon from \"@mui/icons-material/CallToAction\";\nimport { IElement, IElementValue } from \"./types\";\n\nexport const configurationElements: IElement[] = [\n {\n icon: ,\n configuration_id: \"region\",\n configuration_label: \"Region\",\n },\n {\n icon: ,\n configuration_id: \"cache\",\n configuration_label: \"Cache\",\n },\n {\n icon: ,\n configuration_id: \"compression\",\n configuration_label: \"Compression\",\n },\n {\n icon: ,\n configuration_id: \"api\",\n configuration_label: \"API\",\n },\n {\n icon: ,\n configuration_id: \"heal\",\n configuration_label: \"Heal\",\n },\n {\n icon: ,\n configuration_id: \"scanner\",\n configuration_label: \"Scanner\",\n },\n {\n icon: ,\n configuration_id: \"etcd\",\n configuration_label: \"Etcd\",\n },\n {\n icon: ,\n configuration_id: \"identity_openid\",\n configuration_label: \"Identity Openid\",\n },\n {\n icon: ,\n configuration_id: \"identity_ldap\",\n configuration_label: \"Identity LDAP\",\n },\n {\n icon: ,\n configuration_id: \"logger_webhook\",\n configuration_label: \"Logger Webhook\",\n },\n {\n icon: ,\n configuration_id: \"audit_webhook\",\n configuration_label: \"Audit Webhook\",\n },\n];\n\nexport const fieldsConfigurations: any = {\n region: [\n {\n name: \"name\",\n required: true,\n label: \"Server Location\",\n tooltip: 'Name of the location of the server e.g. \"us-west-rack2\"',\n type: \"string\",\n placeholder: \"e.g. us-west-rack-2\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"You can add a comment to this setting\",\n type: \"comment\",\n placeholder: \"Enter custom notes if any\",\n },\n ],\n cache: [\n {\n name: \"drives\",\n required: true,\n label: \"Drives\",\n tooltip:\n 'Mountpoints e.g. \"/optane1\" or \"/optane2\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Mount Point\",\n },\n {\n name: \"expiry\",\n required: false,\n label: \"Expiry\",\n tooltip: 'Cache expiry duration in days e.g. \"90\"',\n type: \"number\",\n placeholder: \"Enter Number of Days\",\n },\n {\n name: \"quota\",\n required: false,\n label: \"Quota\",\n tooltip: 'Limit cache drive usage in percentage e.g. \"90\"',\n type: \"number\",\n placeholder: \"Enter in %\",\n },\n {\n name: \"exclude\",\n required: false,\n label: \"Exclude\",\n tooltip:\n 'Wildcard exclusion patterns e.g. \"bucket/*.tmp\" or \"*.exe\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Wildcard Exclusion Patterns\",\n },\n {\n name: \"after\",\n required: false,\n label: \"After\",\n tooltip: \"Minimum number of access before caching an object\",\n type: \"number\",\n placeholder: \"Enter Number of Attempts\",\n },\n {\n name: \"watermark_low\",\n required: false,\n label: \"Watermark Low\",\n tooltip: \"Watermark Low\",\n type: \"number\",\n placeholder: \"Enter Watermark Low\",\n },\n {\n name: \"watermark_high\",\n required: false,\n label: \"Watermark High\",\n tooltip: \"Watermark High\",\n type: \"number\",\n placeholder: \"Enter Watermark High\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"You can add a comment to this setting\",\n type: \"comment\",\n multiline: true,\n placeholder: \"Enter custom notes if any\",\n },\n ],\n compression: [\n {\n name: \"extensions\",\n required: false,\n label: \"Extensions\",\n tooltip:\n 'Extensions to compress e.g. \".txt\",\".log\" or \".csv\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter an Extension\",\n withBorder: true,\n },\n {\n name: \"mime_types\",\n required: false,\n label: \"Mime Types\",\n tooltip:\n 'Mime types e.g. \"text/*\",\"application/json\" or \"application/xml\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter a Mime Type\",\n withBorder: true,\n },\n ],\n api: [\n {\n name: \"requests_max\",\n required: false,\n label: \"Requests Max\",\n tooltip: \"Maximum number of concurrent requests, e.g. '1600'\",\n type: \"number\",\n placeholder: \"Enter Requests Max\",\n },\n {\n name: \"cors_allow_origin\",\n required: false,\n label: \"Cors Allow Origin\",\n tooltip: \"list of origins allowed for CORS requests\",\n type: \"csv\",\n placeholder: \"Enter allowed origin e.g. https://example.com\",\n },\n {\n name: \"replication_workers\",\n required: false,\n label: \"Replication Workers\",\n tooltip: \"Number of replication workers, defaults to 100\",\n type: \"number\",\n placeholder: \"Enter Replication Workers\",\n },\n {\n name: \"replication_failed_workers\",\n required: false,\n label: \"Replication Failed Workers\",\n tooltip:\n \"Number of replication workers for recently failed replicas, defaults to 4\",\n type: \"number\",\n placeholder: \"Enter Replication Failed Workers\",\n },\n ],\n heal: [\n {\n name: \"bitrotscan\",\n required: false,\n label: \"Bitrot Scan\",\n tooltip:\n \"Perform bitrot scan on disks when checking objects during scanner\",\n type: \"on|off\",\n },\n {\n name: \"max_sleep\",\n required: false,\n label: \"Max Sleep\",\n tooltip:\n \"Maximum sleep duration between objects to slow down heal operation. eg. 2s\",\n type: \"duration\",\n placeholder: \"Enter Max Sleep duration\",\n },\n {\n name: \"max_io\",\n required: false,\n label: \"Max IO\",\n tooltip:\n \"Maximum IO requests allowed between objects to slow down heal operation. eg. 3\",\n type: \"number\",\n placeholder: \"Enter Max IO\",\n },\n ],\n scanner: [\n {\n name: \"delay\",\n required: false,\n label: \"Delay multiplier\",\n tooltip: \"Scanner delay multiplier, defaults to '10.0'\",\n type: \"number\",\n placeholder: \"Enter Delay\",\n },\n {\n name: \"max_wait\",\n required: false,\n label: \"Max Wait\",\n tooltip: \"Maximum wait time between operations, defaults to '15s'\",\n type: \"duration\",\n placeholder: \"Enter Max Wait\",\n },\n {\n name: \"cycle\",\n required: false,\n label: \"Cycle\",\n tooltip: \"Time duration between scanner cycles, defaults to '1m'\",\n type: \"duration\",\n placeholder: \"Enter Cycle\",\n },\n ],\n etcd: [\n {\n name: \"endpoints\",\n required: true,\n label: \"Endpoints\",\n tooltip:\n 'List of etcd endpoints e.g. \"http://localhost:2379\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"path_prefix\",\n required: false,\n label: \"Path Prefix\",\n tooltip: 'namespace prefix to isolate tenants e.g. \"customer1/\"',\n type: \"string\",\n placeholder: \"Enter Path Prefix\",\n },\n {\n name: \"coredns_path\",\n required: false,\n label: \"Coredns Path\",\n tooltip: 'Shared bucket DNS records, default is \"/skydns\"',\n type: \"string\",\n placeholder: \"Enter Coredns Path\",\n },\n {\n name: \"client_cert\",\n required: false,\n label: \"Client Cert\",\n tooltip: \"Client cert for mTLS authentication\",\n type: \"string\",\n placeholder: \"Enter Client Cert\",\n },\n {\n name: \"client_cert_key\",\n required: false,\n label: \"Client Cert Key\",\n tooltip: \"Client cert key for mTLS authentication\",\n type: \"string\",\n placeholder: \"Enter Client Cert Key\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"You can add a comment to this setting\",\n type: \"comment\",\n multiline: true,\n placeholder: \"Enter custom notes if any\",\n },\n ],\n identity_openid: [\n {\n name: \"config_url\",\n required: false,\n label: \"Config URL\",\n tooltip: \"Config URL for identity provider configuration\",\n type: \"string\",\n placeholder:\n \"https://identity-provider-url/.well-known/openid-configuration\",\n },\n {\n name: \"client_id\",\n required: false,\n label: \"Client ID\",\n type: \"string\",\n placeholder: \"Enter Client ID\",\n },\n {\n name: \"client_secret\",\n required: false,\n label: \"Secret ID\",\n type: \"string\",\n placeholder: \"Enter Secret ID\",\n },\n {\n name: \"claim_name\",\n required: false,\n label: \"Claim Name\",\n tooltip: \"Claim from which MinIO will read the policy or role to use\",\n type: \"string\",\n placeholder: \"Enter Claim Name\",\n },\n {\n name: \"claim_prefix\",\n required: false,\n label: \"Claim Prefix\",\n tooltip: \"Claim Prefix\",\n type: \"string\",\n placeholder: \"Enter Claim Prefix\",\n },\n {\n name: \"claim_userinfo\",\n required: false,\n label: \"Claim UserInfo\",\n type: \"on|off\",\n },\n {\n name: \"redirect_uri\",\n required: false,\n label: \"Redirect URI\",\n type: \"string\",\n placeholder: \"https://console-endpoint-url/oauth_callback\",\n },\n {\n name: \"scopes\",\n required: false,\n label: \"Scopes\",\n type: \"string\",\n placeholder: \"openid,profile,email\",\n },\n ],\n identity_ldap: [\n {\n name: \"server_addr\",\n required: true,\n label: \"Server Addr\",\n tooltip: 'AD/LDAP server address e.g. \"myldapserver.com:636\"',\n type: \"string\",\n placeholder: \"myldapserver.com:636\",\n },\n {\n name: \"tls_skip_verify\",\n required: false,\n label: \"TLS Skip Verify\",\n tooltip:\n 'Trust server TLS without verification, defaults to \"off\" (verify)',\n type: \"on|off\",\n },\n {\n name: \"server_insecure\",\n required: false,\n label: \"Server Insecure\",\n tooltip:\n 'Allow plain text connection to AD/LDAP server, defaults to \"off\"',\n type: \"on|off\",\n },\n {\n name: \"server_starttls\",\n required: false,\n label: \"Start TLS connection to AD/LDAP server\",\n tooltip: \"Use StartTLS connection to AD/LDAP server\",\n type: \"on|off\",\n },\n {\n name: \"lookup_bind_dn\",\n required: true,\n label: \"Lookup Bind DN\",\n tooltip:\n \"DN for LDAP read-only service account used to perform DN and group lookups\",\n type: \"string\",\n placeholder: \"cn=admin,dc=min,dc=io\",\n },\n {\n name: \"lookup_bind_password\",\n required: false,\n label: \"Lookup Bind Password\",\n tooltip:\n \"Password for LDAP read-only service account used to perform DN and group lookups\",\n type: \"string\",\n placeholder: \"admin\",\n },\n {\n name: \"user_dn_search_base_dn\",\n required: false,\n label: \"User DN Search Base DN\",\n tooltip: \"Base LDAP DN to search for user DN\",\n type: \"csv\",\n placeholder: \"dc=myldapserver\",\n },\n {\n name: \"user_dn_search_filter\",\n required: false,\n label: \"User DN Search Filter\",\n tooltip: \"Search filter to lookup user DN\",\n type: \"string\",\n placeholder: \"(sAMAcountName=%s)\",\n },\n {\n name: \"group_search_filter\",\n required: false,\n label: \"Group Search Filter\",\n tooltip: \"Search filter for groups\",\n type: \"string\",\n placeholder: \"(&(objectclass=groupOfNames)(member=%d))\",\n },\n {\n name: \"group_search_base_dn\",\n required: false,\n label: \"Group Search Base DN\",\n tooltip: \"list of group search base DNs\",\n type: \"csv\",\n placeholder: \"dc=minioad,dc=local\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"Optionally add a comment to this setting\",\n type: \"comment\",\n placeholder: \"Enter custom notes if any\",\n },\n ],\n logger_webhook: [\n {\n name: \"endpoint\",\n required: true,\n label: \"Endpoint\",\n type: \"string\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"auth_token\",\n required: true,\n label: \"Auth Token\",\n type: \"string\",\n placeholder: \"Enter Auth Token\",\n },\n ],\n audit_webhook: [\n {\n name: \"endpoint\",\n required: true,\n label: \"Endpoint\",\n type: \"string\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"auth_token\",\n required: true,\n label: \"Auth Token\",\n type: \"string\",\n placeholder: \"Enter Auth Token\",\n },\n ],\n};\n\nexport const removeEmptyFields = (formFields: IElementValue[]) => {\n const nonEmptyFields = formFields.filter((field) => field.value !== \"\");\n\n return nonEmptyFields;\n};\n\nexport const selectSAs = (\n e: React.ChangeEvent,\n setSelectedSAs: Function,\n selectedSAs: string[]\n) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selectedSAs]; // We clone the selectedSAs array\n if (checked) {\n // If the user has checked this field we need to push this to selectedSAs\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n setSelectedSAs(elements);\n return elements;\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3v-3h18v3z\"\n}), 'CallToAction');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z\"\n}), 'Code');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M8 19h3v3h2v-3h3l-4-4-4 4zm8-15h-3V1h-2v3H8l4 4 4-4zM4 9v2h16V9H4zm0 3h16v2H4z\"\n}), 'Compress');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11 6c1.38 0 2.63.56 3.54 1.46L12 10h6V4l-2.05 2.05C14.68 4.78 12.93 4 11 4c-3.53 0-6.43 2.61-6.92 6H6.1c.46-2.28 2.48-4 4.9-4zm5.64 9.14c.66-.9 1.12-1.97 1.28-3.14H15.9c-.46 2.28-2.48 4-4.9 4-1.38 0-2.63-.56-3.54-1.46L10 12H4v6l2.05-2.05C7.32 17.22 9.07 18 11 18c1.55 0 2.98-.51 4.14-1.36L20 21.49 21.49 20l-4.85-4.86z\"\n}), 'FindReplace');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 3H5c-1.1 0-1.99.9-1.99 2L3 19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 11h-4v4h-4v-4H6v-4h4V6h4v4h4v4z\"\n}), 'LocalHospital');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 17c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6h1.9c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm0 12H6V10h12v10z\"\n}), 'LockOpen');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11 7 9.6 8.4l2.6 2.6H2v2h10.2l-2.6 2.6L11 17l5-5-5-5zm9 12h-8v2h8c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-8v2h8v14z\"\n}), 'Login');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M17 12c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm1.65 7.35L16.5 17.2V14h1v2.79l1.85 1.85-.7.71zM18 3h-3.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H6c-1.1 0-2 .9-2 2v15c0 1.1.9 2 2 2h6.11c-.59-.57-1.07-1.25-1.42-2H6V5h2v3h8V5h2v5.08c.71.1 1.38.31 2 .6V5c0-1.1-.9-2-2-2zm-6 2c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z\"\n}), 'PendingActions');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z\"\n}), 'Public');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M18 2h-8L4.02 8 4 20c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-6 6h-2V4h2v4zm3 0h-2V4h2v4zm3 0h-2V4h2v4z\"\n}), 'SdStorage');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12.65 10C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H17v4h4v-4h2v-4H12.65zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z\"\n}), 'VpnKey');\n\nexports.default = _default;","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","pageContentStyles","children","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","features","console","session","headerContainer","minHeight","left","boxShadow","label","justifyContent","labelStyle","color","marginLeft","marginTop","rightMenu","textAlign","logo","fill","palette","primary","main","middleComponent","actions","includes","Fragment","direction","sm","md","sx","variant","length","component","onClick","id","size","configurationElements","icon","configuration_id","configuration_label","fieldsConfigurations","region","name","required","tooltip","type","placeholder","cache","multiline","compression","withBorder","api","heal","scanner","etcd","identity_openid","identity_ldap","logger_webhook","audit_webhook","removeEmptyFields","formFields","filter","field","value","selectSAs","e","setSelectedSAs","selectedSAs","targetD","target","checked","elements","push","element","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","_extends","Object","assign","i","arguments","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"static/js/1116.3ac451e2.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Configurations/utils.tsx","../node_modules/@mui/icons-material/CallToAction.js","../node_modules/@mui/icons-material/Code.js","../node_modules/@mui/icons-material/Compress.js","../node_modules/@mui/icons-material/FindReplace.js","../node_modules/@mui/icons-material/LocalHospital.js","../node_modules/@mui/icons-material/LockOpen.js","../node_modules/@mui/icons-material/Login.js","../node_modules/@mui/icons-material/PendingActions.js","../node_modules/@mui/icons-material/Public.js","../node_modules/@mui/icons-material/SdStorage.js","../node_modules/@mui/icons-material/VpnKey.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/extends.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense
(\n WrappedComponent: ComponentType
,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 21,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n features,\n}: IPageHeader) => {\n if (features.includes(\"hide-menu\")) {\n return ;\n }\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n id=\"object-manager-toggle\"\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n features: state.console.session.features,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport PublicIcon from \"@mui/icons-material/Public\";\nimport SdStorageIcon from \"@mui/icons-material/SdStorage\";\nimport CompressIcon from \"@mui/icons-material/Compress\";\nimport CodeIcon from \"@mui/icons-material/Code\";\nimport LocalHospitalIcon from \"@mui/icons-material/LocalHospital\";\nimport FindReplaceIcon from \"@mui/icons-material/FindReplace\";\nimport VpnKeyIcon from \"@mui/icons-material/VpnKey\";\nimport LockOpenIcon from \"@mui/icons-material/LockOpen\";\nimport LoginIcon from \"@mui/icons-material/Login\";\nimport PendingActionsIcon from \"@mui/icons-material/PendingActions\";\nimport CallToActionIcon from \"@mui/icons-material/CallToAction\";\nimport { IElement, IElementValue } from \"./types\";\n\nexport const configurationElements: IElement[] = [\n {\n icon: ,\n configuration_id: \"region\",\n configuration_label: \"Region\",\n },\n {\n icon: ,\n configuration_id: \"cache\",\n configuration_label: \"Cache\",\n },\n {\n icon: ,\n configuration_id: \"compression\",\n configuration_label: \"Compression\",\n },\n {\n icon: ,\n configuration_id: \"api\",\n configuration_label: \"API\",\n },\n {\n icon: ,\n configuration_id: \"heal\",\n configuration_label: \"Heal\",\n },\n {\n icon: ,\n configuration_id: \"scanner\",\n configuration_label: \"Scanner\",\n },\n {\n icon: ,\n configuration_id: \"etcd\",\n configuration_label: \"Etcd\",\n },\n {\n icon: ,\n configuration_id: \"identity_openid\",\n configuration_label: \"Identity Openid\",\n },\n {\n icon: ,\n configuration_id: \"identity_ldap\",\n configuration_label: \"Identity LDAP\",\n },\n {\n icon: ,\n configuration_id: \"logger_webhook\",\n configuration_label: \"Logger Webhook\",\n },\n {\n icon: ,\n configuration_id: \"audit_webhook\",\n configuration_label: \"Audit Webhook\",\n },\n];\n\nexport const fieldsConfigurations: any = {\n region: [\n {\n name: \"name\",\n required: true,\n label: \"Server Location\",\n tooltip: 'Name of the location of the server e.g. \"us-west-rack2\"',\n type: \"string\",\n placeholder: \"e.g. us-west-rack-2\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"You can add a comment to this setting\",\n type: \"comment\",\n placeholder: \"Enter custom notes if any\",\n },\n ],\n cache: [\n {\n name: \"drives\",\n required: true,\n label: \"Drives\",\n tooltip:\n 'Mountpoints e.g. \"/optane1\" or \"/optane2\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Mount Point\",\n },\n {\n name: \"expiry\",\n required: false,\n label: \"Expiry\",\n tooltip: 'Cache expiry duration in days e.g. \"90\"',\n type: \"number\",\n placeholder: \"Enter Number of Days\",\n },\n {\n name: \"quota\",\n required: false,\n label: \"Quota\",\n tooltip: 'Limit cache drive usage in percentage e.g. \"90\"',\n type: \"number\",\n placeholder: \"Enter in %\",\n },\n {\n name: \"exclude\",\n required: false,\n label: \"Exclude\",\n tooltip:\n 'Wildcard exclusion patterns e.g. \"bucket/*.tmp\" or \"*.exe\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Wildcard Exclusion Patterns\",\n },\n {\n name: \"after\",\n required: false,\n label: \"After\",\n tooltip: \"Minimum number of access before caching an object\",\n type: \"number\",\n placeholder: \"Enter Number of Attempts\",\n },\n {\n name: \"watermark_low\",\n required: false,\n label: \"Watermark Low\",\n tooltip: \"Watermark Low\",\n type: \"number\",\n placeholder: \"Enter Watermark Low\",\n },\n {\n name: \"watermark_high\",\n required: false,\n label: \"Watermark High\",\n tooltip: \"Watermark High\",\n type: \"number\",\n placeholder: \"Enter Watermark High\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"You can add a comment to this setting\",\n type: \"comment\",\n multiline: true,\n placeholder: \"Enter custom notes if any\",\n },\n ],\n compression: [\n {\n name: \"extensions\",\n required: false,\n label: \"Extensions\",\n tooltip:\n 'Extensions to compress e.g. \".txt\",\".log\" or \".csv\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter an Extension\",\n withBorder: true,\n },\n {\n name: \"mime_types\",\n required: false,\n label: \"Mime Types\",\n tooltip:\n 'Mime types e.g. \"text/*\",\"application/json\" or \"application/xml\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter a Mime Type\",\n withBorder: true,\n },\n ],\n api: [\n {\n name: \"requests_max\",\n required: false,\n label: \"Requests Max\",\n tooltip: \"Maximum number of concurrent requests, e.g. '1600'\",\n type: \"number\",\n placeholder: \"Enter Requests Max\",\n },\n {\n name: \"cors_allow_origin\",\n required: false,\n label: \"Cors Allow Origin\",\n tooltip: \"list of origins allowed for CORS requests\",\n type: \"csv\",\n placeholder: \"Enter allowed origin e.g. https://example.com\",\n },\n {\n name: \"replication_workers\",\n required: false,\n label: \"Replication Workers\",\n tooltip: \"Number of replication workers, defaults to 100\",\n type: \"number\",\n placeholder: \"Enter Replication Workers\",\n },\n {\n name: \"replication_failed_workers\",\n required: false,\n label: \"Replication Failed Workers\",\n tooltip:\n \"Number of replication workers for recently failed replicas, defaults to 4\",\n type: \"number\",\n placeholder: \"Enter Replication Failed Workers\",\n },\n ],\n heal: [\n {\n name: \"bitrotscan\",\n required: false,\n label: \"Bitrot Scan\",\n tooltip:\n \"Perform bitrot scan on disks when checking objects during scanner\",\n type: \"on|off\",\n },\n {\n name: \"max_sleep\",\n required: false,\n label: \"Max Sleep\",\n tooltip:\n \"Maximum sleep duration between objects to slow down heal operation. eg. 2s\",\n type: \"duration\",\n placeholder: \"Enter Max Sleep duration\",\n },\n {\n name: \"max_io\",\n required: false,\n label: \"Max IO\",\n tooltip:\n \"Maximum IO requests allowed between objects to slow down heal operation. eg. 3\",\n type: \"number\",\n placeholder: \"Enter Max IO\",\n },\n ],\n scanner: [\n {\n name: \"delay\",\n required: false,\n label: \"Delay multiplier\",\n tooltip: \"Scanner delay multiplier, defaults to '10.0'\",\n type: \"number\",\n placeholder: \"Enter Delay\",\n },\n {\n name: \"max_wait\",\n required: false,\n label: \"Max Wait\",\n tooltip: \"Maximum wait time between operations, defaults to '15s'\",\n type: \"duration\",\n placeholder: \"Enter Max Wait\",\n },\n {\n name: \"cycle\",\n required: false,\n label: \"Cycle\",\n tooltip: \"Time duration between scanner cycles, defaults to '1m'\",\n type: \"duration\",\n placeholder: \"Enter Cycle\",\n },\n ],\n etcd: [\n {\n name: \"endpoints\",\n required: true,\n label: \"Endpoints\",\n tooltip:\n 'List of etcd endpoints e.g. \"http://localhost:2379\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"path_prefix\",\n required: false,\n label: \"Path Prefix\",\n tooltip: 'namespace prefix to isolate tenants e.g. \"customer1/\"',\n type: \"string\",\n placeholder: \"Enter Path Prefix\",\n },\n {\n name: \"coredns_path\",\n required: false,\n label: \"Coredns Path\",\n tooltip: 'Shared bucket DNS records, default is \"/skydns\"',\n type: \"string\",\n placeholder: \"Enter Coredns Path\",\n },\n {\n name: \"client_cert\",\n required: false,\n label: \"Client Cert\",\n tooltip: \"Client cert for mTLS authentication\",\n type: \"string\",\n placeholder: \"Enter Client Cert\",\n },\n {\n name: \"client_cert_key\",\n required: false,\n label: \"Client Cert Key\",\n tooltip: \"Client cert key for mTLS authentication\",\n type: \"string\",\n placeholder: \"Enter Client Cert Key\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"You can add a comment to this setting\",\n type: \"comment\",\n multiline: true,\n placeholder: \"Enter custom notes if any\",\n },\n ],\n identity_openid: [\n {\n name: \"config_url\",\n required: false,\n label: \"Config URL\",\n tooltip: \"Config URL for identity provider configuration\",\n type: \"string\",\n placeholder:\n \"https://identity-provider-url/.well-known/openid-configuration\",\n },\n {\n name: \"client_id\",\n required: false,\n label: \"Client ID\",\n type: \"string\",\n placeholder: \"Enter Client ID\",\n },\n {\n name: \"client_secret\",\n required: false,\n label: \"Secret ID\",\n type: \"string\",\n placeholder: \"Enter Secret ID\",\n },\n {\n name: \"claim_name\",\n required: false,\n label: \"Claim Name\",\n tooltip: \"Claim from which MinIO will read the policy or role to use\",\n type: \"string\",\n placeholder: \"Enter Claim Name\",\n },\n {\n name: \"claim_prefix\",\n required: false,\n label: \"Claim Prefix\",\n tooltip: \"Claim Prefix\",\n type: \"string\",\n placeholder: \"Enter Claim Prefix\",\n },\n {\n name: \"claim_userinfo\",\n required: false,\n label: \"Claim UserInfo\",\n type: \"on|off\",\n },\n {\n name: \"redirect_uri\",\n required: false,\n label: \"Redirect URI\",\n type: \"string\",\n placeholder: \"https://console-endpoint-url/oauth_callback\",\n },\n {\n name: \"scopes\",\n required: false,\n label: \"Scopes\",\n type: \"string\",\n placeholder: \"openid,profile,email\",\n },\n ],\n identity_ldap: [\n {\n name: \"server_addr\",\n required: true,\n label: \"Server Addr\",\n tooltip: 'AD/LDAP server address e.g. \"myldapserver.com:636\"',\n type: \"string\",\n placeholder: \"myldapserver.com:636\",\n },\n {\n name: \"tls_skip_verify\",\n required: false,\n label: \"TLS Skip Verify\",\n tooltip:\n 'Trust server TLS without verification, defaults to \"off\" (verify)',\n type: \"on|off\",\n },\n {\n name: \"server_insecure\",\n required: false,\n label: \"Server Insecure\",\n tooltip:\n 'Allow plain text connection to AD/LDAP server, defaults to \"off\"',\n type: \"on|off\",\n },\n {\n name: \"server_starttls\",\n required: false,\n label: \"Start TLS connection to AD/LDAP server\",\n tooltip: \"Use StartTLS connection to AD/LDAP server\",\n type: \"on|off\",\n },\n {\n name: \"lookup_bind_dn\",\n required: true,\n label: \"Lookup Bind DN\",\n tooltip:\n \"DN for LDAP read-only service account used to perform DN and group lookups\",\n type: \"string\",\n placeholder: \"cn=admin,dc=min,dc=io\",\n },\n {\n name: \"lookup_bind_password\",\n required: false,\n label: \"Lookup Bind Password\",\n tooltip:\n \"Password for LDAP read-only service account used to perform DN and group lookups\",\n type: \"string\",\n placeholder: \"admin\",\n },\n {\n name: \"user_dn_search_base_dn\",\n required: false,\n label: \"User DN Search Base DN\",\n tooltip: \"Base LDAP DN to search for user DN\",\n type: \"csv\",\n placeholder: \"dc=myldapserver\",\n },\n {\n name: \"user_dn_search_filter\",\n required: false,\n label: \"User DN Search Filter\",\n tooltip: \"Search filter to lookup user DN\",\n type: \"string\",\n placeholder: \"(sAMAcountName=%s)\",\n },\n {\n name: \"group_search_filter\",\n required: false,\n label: \"Group Search Filter\",\n tooltip: \"Search filter for groups\",\n type: \"string\",\n placeholder: \"(&(objectclass=groupOfNames)(member=%d))\",\n },\n {\n name: \"group_search_base_dn\",\n required: false,\n label: \"Group Search Base DN\",\n tooltip: \"list of group search base DNs\",\n type: \"csv\",\n placeholder: \"dc=minioad,dc=local\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"Optionally add a comment to this setting\",\n type: \"comment\",\n placeholder: \"Enter custom notes if any\",\n },\n ],\n logger_webhook: [\n {\n name: \"endpoint\",\n required: true,\n label: \"Endpoint\",\n type: \"string\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"auth_token\",\n required: true,\n label: \"Auth Token\",\n type: \"string\",\n placeholder: \"Enter Auth Token\",\n },\n ],\n audit_webhook: [\n {\n name: \"endpoint\",\n required: true,\n label: \"Endpoint\",\n type: \"string\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"auth_token\",\n required: true,\n label: \"Auth Token\",\n type: \"string\",\n placeholder: \"Enter Auth Token\",\n },\n ],\n};\n\nexport const removeEmptyFields = (formFields: IElementValue[]) => {\n const nonEmptyFields = formFields.filter((field) => field.value !== \"\");\n\n return nonEmptyFields;\n};\n\nexport const selectSAs = (\n e: React.ChangeEvent,\n setSelectedSAs: Function,\n selectedSAs: string[]\n) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selectedSAs]; // We clone the selectedSAs array\n if (checked) {\n // If the user has checked this field we need to push this to selectedSAs\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n setSelectedSAs(elements);\n return elements;\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3v-3h18v3z\"\n}), 'CallToAction');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z\"\n}), 'Code');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M8 19h3v3h2v-3h3l-4-4-4 4zm8-15h-3V1h-2v3H8l4 4 4-4zM4 9v2h16V9H4zm0 3h16v2H4z\"\n}), 'Compress');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11 6c1.38 0 2.63.56 3.54 1.46L12 10h6V4l-2.05 2.05C14.68 4.78 12.93 4 11 4c-3.53 0-6.43 2.61-6.92 6H6.1c.46-2.28 2.48-4 4.9-4zm5.64 9.14c.66-.9 1.12-1.97 1.28-3.14H15.9c-.46 2.28-2.48 4-4.9 4-1.38 0-2.63-.56-3.54-1.46L10 12H4v6l2.05-2.05C7.32 17.22 9.07 18 11 18c1.55 0 2.98-.51 4.14-1.36L20 21.49 21.49 20l-4.85-4.86z\"\n}), 'FindReplace');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 3H5c-1.1 0-1.99.9-1.99 2L3 19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 11h-4v4h-4v-4H6v-4h4V6h4v4h4v4z\"\n}), 'LocalHospital');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 17c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6h1.9c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm0 12H6V10h12v10z\"\n}), 'LockOpen');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11 7 9.6 8.4l2.6 2.6H2v2h10.2l-2.6 2.6L11 17l5-5-5-5zm9 12h-8v2h8c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-8v2h8v14z\"\n}), 'Login');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M17 12c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm1.65 7.35L16.5 17.2V14h1v2.79l1.85 1.85-.7.71zM18 3h-3.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H6c-1.1 0-2 .9-2 2v15c0 1.1.9 2 2 2h6.11c-.59-.57-1.07-1.25-1.42-2H6V5h2v3h8V5h2v5.08c.71.1 1.38.31 2 .6V5c0-1.1-.9-2-2-2zm-6 2c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z\"\n}), 'PendingActions');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z\"\n}), 'Public');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M18 2h-8L4.02 8 4 20c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-6 6h-2V4h2v4zm3 0h-2V4h2v4zm3 0h-2V4h2v4z\"\n}), 'SdStorage');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12.65 10C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H17v4h4v-4h2v-4H12.65zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z\"\n}), 'VpnKey');\n\nexports.default = _default;","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","pageContentStyles","children","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","features","console","session","headerContainer","minHeight","left","boxShadow","label","justifyContent","labelStyle","color","marginLeft","marginTop","rightMenu","textAlign","logo","fill","palette","primary","main","middleComponent","actions","includes","Fragment","direction","sm","md","sx","variant","length","component","onClick","id","size","configurationElements","icon","configuration_id","configuration_label","fieldsConfigurations","region","name","required","tooltip","type","placeholder","cache","multiline","compression","withBorder","api","heal","scanner","etcd","identity_openid","identity_ldap","logger_webhook","audit_webhook","removeEmptyFields","formFields","filter","field","value","selectSAs","e","setSelectedSAs","selectedSAs","targetD","target","checked","elements","push","element","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","_extends","Object","assign","i","arguments","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1140.ab5579e6.chunk.js b/portal-ui/build/static/js/1140.ab5579e6.chunk.js
deleted file mode 100644
index 3207bb767..000000000
--- a/portal-ui/build/static/js/1140.ab5579e6.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1140],{39080:function(e,n,t){t.r(n),t.d(n,{default:function(){return w}});var i=t(18489),r=t(50390),a=t(38342),s=t.n(a),l=t(86509),o=t(4285),c=t(66946),d=t(51002),u=t(25594),m=t(58217),h=t(65771),p=t(70758),x=t(33034),y=t.n(x),g=t(86362),f=t(72462),v=t(62559),j=(0,o.Z)((function(e){return(0,l.Z)({container:{display:"flex",flexFlow:"column",padding:"20px 0 8px 0"},inputWithCopy:{"& .MuiInputBase-root ":{width:"100%",background:"#FBFAFA","& .MuiInputBase-input":{height:".8rem"},"& .MuiInputAdornment-positionEnd":{marginRight:".5rem","& .MuiButtonBase-root":{height:"2rem"}}},"& .MuiButtonBase-root .min-icon":{width:".8rem",height:".8rem"}},inputLabel:(0,i.Z)((0,i.Z)({},f.YI.inputLabel),{},{fontSize:".8rem"})})}))((function(e){var n=e.label,t=void 0===n?"":n,i=e.value,r=void 0===i?"":i,a=e.classes,s=void 0===a?{}:a;return(0,v.jsxs)("div",{className:s.container,children:[(0,v.jsxs)("div",{className:s.inputLabel,children:[t,":"]}),(0,v.jsx)("div",{className:s.inputWithCopy,children:(0,v.jsx)(m.Z,{value:r,readOnly:!0,endAdornment:(0,v.jsx)(h.Z,{position:"end",children:(0,v.jsx)(y(),{text:r,children:(0,v.jsx)(p.Z,{"aria-label":"copy",tooltip:"Copy",onClick:function(){},onMouseDown:function(){},edge:"end",children:(0,v.jsx)(g.TI,{})})})})})})]})})),b=t(47424),w=(0,o.Z)((function(e){return(0,l.Z)({warningBlock:{color:"red",fontSize:".85rem",margin:".5rem 0 .5rem 0",display:"flex",alignItems:"center","& svg ":{marginRight:".3rem",height:16,width:16}},credentialTitle:{padding:".8rem 0 0 0",fontWeight:600,fontSize:".9rem"},buttonContainer:{textAlign:"right",marginTop:"1rem"},credentialsPanel:{overflowY:"auto",maxHeight:350},promptTitle:{display:"flex",alignItems:"center"},buttonSpacer:{marginRight:".9rem"},promptIcon:{marginRight:".1rem",display:"flex",alignItems:"center",height:"2rem",width:"2rem"}})}))((function(e){var n=e.classes,t=e.newServiceAccount,a=e.open,l=e.closeModal,o=e.entity;if(!t)return null;var m=s()(t,"console",null),h=s()(t,"idp",!1);return(0,v.jsx)(d.Z,{modalOpen:a,onClose:function(){l()},title:(0,v.jsx)("div",{className:n.promptTitle,children:(0,v.jsxs)("div",{children:["New ",o," Created"]})}),titleIcon:(0,v.jsx)(g.tV,{}),children:(0,v.jsxs)(u.ZP,{container:!0,children:[(0,v.jsxs)(u.ZP,{item:!0,xs:12,className:n.formScrollable,children:["A new ",o," has been created with the following details:",!h&&m&&(0,v.jsx)(r.Fragment,{children:(0,v.jsxs)(u.ZP,{item:!0,xs:12,className:n.credentialsPanel,children:[(0,v.jsx)("div",{className:n.credentialTitle,children:"Console Credentials"}),Array.isArray(m)&&m.map((function(e,n){return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(j,{label:"Access Key",value:e.accessKey}),(0,v.jsx)(j,{label:"Secret Key",value:e.secretKey})]})})),!Array.isArray(m)&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(j,{label:"Access Key",value:m.accessKey}),(0,v.jsx)(j,{label:"Secret Key",value:m.secretKey})]})]})}),h?(0,v.jsx)("div",{className:n.warningBlock,children:"Please Login via the configured external identity provider."}):(0,v.jsxs)("div",{className:n.warningBlock,children:[(0,v.jsx)(b.Z,{}),(0,v.jsx)("span",{children:"Write these down, as this is the only time the secret will be displayed."})]})]}),(0,v.jsxs)(u.ZP,{item:!0,xs:12,className:n.buttonContainer,children:[(0,v.jsx)(c.Z,{id:"done-button",variant:"outlined",className:n.buttonSpacer,onClick:function(){l()},color:"primary",children:"Done"}),!h&&(0,v.jsx)(c.Z,{id:"download-button",onClick:function(){var e={};m&&(e=Array.isArray(m)?m.map((function(e){return{url:e.url,accessKey:e.accessKey,secretKey:e.secretKey,api:"s3v4",path:"auto"}}))[0]:{url:m.url,accessKey:m.accessKey,secretKey:m.secretKey,api:"s3v4",path:"auto"});!function(e,n){var t=document.createElement("a");t.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(n)),t.setAttribute("download",e),t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t)}("credentials.json",JSON.stringify((0,i.Z)({},e)))},endIcon:(0,v.jsx)(g._8,{}),variant:"contained",color:"primary",children:"Download"})]})]})})}))}}]);
-//# sourceMappingURL=1140.ab5579e6.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1140.ab5579e6.chunk.js.map b/portal-ui/build/static/js/1140.ab5579e6.chunk.js.map
deleted file mode 100644
index 775f4f5e8..000000000
--- a/portal-ui/build/static/js/1140.ab5579e6.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/1140.ab5579e6.chunk.js","mappings":"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","sources":["screens/Console/Common/CredentialsPrompt/CredentialItem.tsx","screens/Console/Common/CredentialsPrompt/CredentialsPrompt.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { InputAdornment, OutlinedInput } from \"@mui/material\";\nimport BoxIconButton from \"../BoxIconButton/BoxIconButton\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { CopyIcon } from \"../../../../icons\";\nimport { fieldBasic } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n container: {\n display: \"flex\",\n flexFlow: \"column\",\n padding: \"20px 0 8px 0\",\n },\n inputWithCopy: {\n \"& .MuiInputBase-root \": {\n width: \"100%\",\n background: \"#FBFAFA\",\n \"& .MuiInputBase-input\": {\n height: \".8rem\",\n },\n \"& .MuiInputAdornment-positionEnd\": {\n marginRight: \".5rem\",\n \"& .MuiButtonBase-root\": {\n height: \"2rem\",\n },\n },\n },\n \"& .MuiButtonBase-root .min-icon\": {\n width: \".8rem\",\n height: \".8rem\",\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontSize: \".8rem\",\n },\n });\n\nconst CredentialItem = ({\n label = \"\",\n value = \"\",\n classes = {},\n}: {\n label: string;\n value: string;\n classes: any;\n}) => {\n return (\n
\n );\n};\n\nexport default withStyles(styles)(CredentialItem);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { NewServiceAccount } from \"./types\";\nimport { Button } from \"@mui/material\";\nimport ModalWrapper from \"../ModalWrapper/ModalWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport CredentialItem from \"./CredentialItem\";\nimport WarnIcon from \"../../../../icons/WarnIcon\";\nimport { DownloadIcon, ServiceAccountCredentialsIcon } from \"../../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n warningBlock: {\n color: \"red\",\n fontSize: \".85rem\",\n margin: \".5rem 0 .5rem 0\",\n display: \"flex\",\n alignItems: \"center\",\n \"& svg \": {\n marginRight: \".3rem\",\n height: 16,\n width: 16,\n },\n },\n credentialTitle: {\n padding: \".8rem 0 0 0\",\n fontWeight: 600,\n fontSize: \".9rem\",\n },\n buttonContainer: {\n textAlign: \"right\",\n marginTop: \"1rem\",\n },\n credentialsPanel: {\n overflowY: \"auto\",\n maxHeight: 350,\n },\n promptTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n buttonSpacer: {\n marginRight: \".9rem\",\n },\n promptIcon: {\n marginRight: \".1rem\",\n display: \"flex\",\n alignItems: \"center\",\n height: \"2rem\",\n width: \"2rem\",\n },\n });\n\ninterface ICredentialsPromptProps {\n classes: any;\n newServiceAccount: NewServiceAccount | null;\n open: boolean;\n entity: string;\n closeModal: () => void;\n}\n\nconst download = (filename: string, text: string) => {\n let element = document.createElement(\"a\");\n element.setAttribute(\n \"href\",\n \"data:text/plain;charset=utf-8,\" + encodeURIComponent(text)\n );\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n document.body.removeChild(element);\n};\n\nconst CredentialsPrompt = ({\n classes,\n newServiceAccount,\n open,\n closeModal,\n entity,\n}: ICredentialsPromptProps) => {\n if (!newServiceAccount) {\n return null;\n }\n const consoleCreds = get(newServiceAccount, \"console\", null);\n const idp = get(newServiceAccount, \"idp\", false);\n\n return (\n {\n closeModal();\n }}\n title={\n
\n
New {entity} Created
\n
\n }\n titleIcon={}\n >\n \n \n A new {entity} has been created with the following details:\n {!idp && consoleCreds && (\n \n \n
\n Please Login via the configured external identity provider.\n
\n ) : (\n
\n \n \n Write these down, as this is the only time the secret will be\n displayed.\n \n
\n )}\n \n \n \n\n {!idp && (\n \n )}\n \n \n \n );\n};\n\nexport default withStyles(styles)(CredentialsPrompt);\n"],"names":["withStyles","theme","createStyles","container","display","flexFlow","padding","inputWithCopy","width","background","height","marginRight","inputLabel","fieldBasic","fontSize","label","value","classes","className","OutlinedInput","readOnly","endAdornment","InputAdornment","position","text","BoxIconButton","tooltip","onClick","onMouseDown","edge","warningBlock","color","margin","alignItems","credentialTitle","fontWeight","buttonContainer","textAlign","marginTop","credentialsPanel","overflowY","maxHeight","promptTitle","buttonSpacer","promptIcon","newServiceAccount","open","closeModal","entity","consoleCreds","get","idp","ModalWrapper","modalOpen","onClose","title","titleIcon","Grid","item","xs","formScrollable","Array","isArray","map","credentialsPair","index","accessKey","secretKey","WarnIcon","Button","id","variant","consoleExtras","itemMap","url","api","path","filename","element","document","createElement","setAttribute","encodeURIComponent","style","body","appendChild","click","removeChild","download","JSON","stringify","endIcon"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1140.f3c8431a.chunk.js b/portal-ui/build/static/js/1140.f3c8431a.chunk.js
new file mode 100644
index 000000000..ceed1bbff
--- /dev/null
+++ b/portal-ui/build/static/js/1140.f3c8431a.chunk.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1140],{39080:function(e,t,n){n.r(t),n.d(t,{default:function(){return K}});var i=n(18489),r=n(50390),a=n(38342),s=n.n(a),l=n(86509),o=n(4285),c=n(51002),d=n(25594),u=n(58217),m=n(65771),p=n(70758),h=n(33034),y=n.n(h),x=n(14549),f=n(72462),g=n(62559),j=(0,o.Z)((function(e){return(0,l.Z)({container:{display:"flex",flexFlow:"column",padding:"20px 0 8px 0"},inputWithCopy:{"& .MuiInputBase-root ":{width:"100%",background:"#FBFAFA","& .MuiInputBase-input":{height:".8rem"},"& .MuiInputAdornment-positionEnd":{marginRight:".5rem","& .MuiButtonBase-root":{height:"2rem"}}},"& .MuiButtonBase-root .min-icon":{width:".8rem",height:".8rem"}},inputLabel:(0,i.Z)((0,i.Z)({},f.YI.inputLabel),{},{fontSize:".8rem"})})}))((function(e){var t=e.label,n=void 0===t?"":t,i=e.value,r=void 0===i?"":i,a=e.classes,s=void 0===a?{}:a;return(0,g.jsxs)("div",{className:s.container,children:[(0,g.jsxs)("div",{className:s.inputLabel,children:[n,":"]}),(0,g.jsx)("div",{className:s.inputWithCopy,children:(0,g.jsx)(u.Z,{value:r,readOnly:!0,endAdornment:(0,g.jsx)(m.Z,{position:"end",children:(0,g.jsx)(y(),{text:r,children:(0,g.jsx)(p.Z,{"aria-label":"copy",tooltip:"Copy",onClick:function(){},onMouseDown:function(){},edge:"end",children:(0,g.jsx)(x.TI,{})})})})})})]})})),v=n(47424),w=n(53224),b=function(e,t){var n=document.createElement("a");n.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(t)),n.setAttribute("download",e),n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n)},K=(0,o.Z)((function(e){return(0,l.Z)({warningBlock:{color:"red",fontSize:".85rem",margin:".5rem 0 .5rem 0",display:"flex",alignItems:"center","& svg ":{marginRight:".3rem",height:16,width:16}},credentialTitle:{padding:".8rem 0 0 0",fontWeight:600,fontSize:".9rem"},buttonContainer:{textAlign:"right",marginTop:"1rem"},credentialsPanel:{overflowY:"auto",maxHeight:350},promptTitle:{display:"flex",alignItems:"center"},buttonSpacer:{marginRight:".9rem"},promptIcon:{marginRight:".1rem",display:"flex",alignItems:"center",height:"2rem",width:"2rem"}})}))((function(e){var t=e.classes,n=e.newServiceAccount,a=e.open,l=e.closeModal,o=e.entity;if(!n)return null;var u=s()(n,"console",null),m=s()(n,"idp",!1);return(0,g.jsx)(c.Z,{modalOpen:a,onClose:function(){l()},title:(0,g.jsx)("div",{className:t.promptTitle,children:(0,g.jsxs)("div",{children:["New ",o," Created"]})}),titleIcon:(0,g.jsx)(x.tV,{}),children:(0,g.jsxs)(d.ZP,{container:!0,children:[(0,g.jsxs)(d.ZP,{item:!0,xs:12,className:t.formScrollable,children:["A new ",o," has been created with the following details:",!m&&u&&(0,g.jsx)(r.Fragment,{children:(0,g.jsxs)(d.ZP,{item:!0,xs:12,className:t.credentialsPanel,children:[(0,g.jsx)("div",{className:t.credentialTitle,children:"Console Credentials"}),Array.isArray(u)&&u.map((function(e,t){return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(j,{label:"Access Key",value:e.accessKey}),(0,g.jsx)(j,{label:"Secret Key",value:e.secretKey})]})})),!Array.isArray(u)&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(j,{label:"Access Key",value:u.accessKey}),(0,g.jsx)(j,{label:"Secret Key",value:u.secretKey})]})]})}),m?(0,g.jsx)("div",{className:t.warningBlock,children:"Please Login via the configured external identity provider."}):(0,g.jsxs)("div",{className:t.warningBlock,children:[(0,g.jsx)(v.Z,{}),(0,g.jsx)("span",{children:"Write these down, as this is the only time the secret will be displayed."})]})]}),(0,g.jsx)(d.ZP,{item:!0,xs:12,className:t.buttonContainer,children:!m&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(w.Z,{id:"download-button",tooltip:"Download credentials in a JSON file formatted for import using mc alias import. This will only include the default login credentials.",text:"Download for import",className:t.buttonSpacer,onClick:function(){var e={};u&&(e=Array.isArray(u)?u.map((function(e){return{url:e.url,accessKey:e.accessKey,secretKey:e.secretKey,api:"s3v4",path:"auto"}}))[0]:{url:u.url,accessKey:u.accessKey,secretKey:u.secretKey,api:"s3v4",path:"auto"});b("credentials.json",JSON.stringify((0,i.Z)({},e)))},icon:(0,g.jsx)(x._8,{}),variant:"contained",color:"primary"}),Array.isArray(u)&&u.length>1&&(0,g.jsx)(w.Z,{id:"download-all-button",tooltip:"Download all access credentials to a JSON file. NOTE: This file is not formatted for import using mc alias import. If you plan to import this alias from the file, please use the Download for Import button. ",text:"Download all access credentials",className:t.buttonSpacer,onClick:function(){var e={};u&&(e=u.map((function(e){return{accessKey:e.accessKey,secretKey:e.secretKey}})));b("all_credentials.json",JSON.stringify((0,i.Z)({},e)))},icon:(0,g.jsx)(x._8,{}),variant:"contained",color:"primary"})]})})]})})}))}}]);
+//# sourceMappingURL=1140.f3c8431a.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1140.f3c8431a.chunk.js.map b/portal-ui/build/static/js/1140.f3c8431a.chunk.js.map
new file mode 100644
index 000000000..68bad4eb5
--- /dev/null
+++ b/portal-ui/build/static/js/1140.f3c8431a.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/1140.f3c8431a.chunk.js","mappings":"yUA+FA,GAAeA,EAAAA,EAAAA,IArEA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXC,UAAW,CACTC,QAAS,OACTC,SAAU,SACVC,QAAS,gBAEXC,cAAe,CACb,wBAAyB,CACvBC,MAAO,OACPC,WAAY,UACZ,wBAAyB,CACvBC,OAAQ,SAEV,mCAAoC,CAClCC,YAAa,QACb,wBAAyB,CACvBD,OAAQ,UAId,kCAAmC,CACjCF,MAAO,QACPE,OAAQ,UAGZE,YAAW,kBACNC,EAAAA,GAAAA,YADK,IAERC,SAAU,cAyChB,EArCuB,SAAC,GAQjB,IAAD,IAPJC,MAAAA,OAOI,MAPI,GAOJ,MANJC,MAAAA,OAMI,MANI,GAMJ,MALJC,QAAAA,OAKI,MALM,GAKN,EACJ,OACE,iBAAKC,UAAWD,EAAQd,UAAxB,WACE,iBAAKe,UAAWD,EAAQL,WAAxB,UAAqCG,EAArC,QACA,gBAAKG,UAAWD,EAAQV,cAAxB,UACE,SAACY,EAAA,EAAD,CACEH,MAAOA,EACPI,UAAQ,EACRC,cACE,SAACC,EAAA,EAAD,CAAgBC,SAAS,MAAzB,UACE,SAAC,IAAD,CAAiBC,KAAMR,EAAvB,UACE,SAACS,EAAA,EAAD,CACE,aAAW,OACXC,QAAS,OACTC,QAAS,aACTC,YAAa,aACbC,KAAK,MALP,UAOE,SAAC,KAAD,oB,sBCHZC,EAAW,SAACC,EAAkBP,GAClC,IAAIQ,EAAUC,SAASC,cAAc,KACrCF,EAAQG,aACN,OACA,iCAAmCC,mBAAmBZ,IAExDQ,EAAQG,aAAa,WAAYJ,GAEjCC,EAAQK,MAAMjC,QAAU,OACxB6B,SAASK,KAAKC,YAAYP,GAE1BA,EAAQQ,QACRP,SAASK,KAAKG,YAAYT,IAsK5B,GAAehC,EAAAA,EAAAA,IArOA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXwC,aAAc,CACZC,MAAO,MACP7B,SAAU,SACV8B,OAAQ,kBACRxC,QAAS,OACTyC,WAAY,SACZ,SAAU,CACRlC,YAAa,QACbD,OAAQ,GACRF,MAAO,KAGXsC,gBAAiB,CACfxC,QAAS,cACTyC,WAAY,IACZjC,SAAU,SAEZkC,gBAAiB,CACfC,UAAW,QACXC,UAAW,QAEbC,iBAAkB,CAChBC,UAAW,OACXC,UAAW,KAEbC,YAAa,CACXlD,QAAS,OACTyC,WAAY,UAEdU,aAAc,CACZ5C,YAAa,SAEf6C,WAAY,CACV7C,YAAa,QACbP,QAAS,OACTyC,WAAY,SACZnC,OAAQ,OACRF,MAAO,YA8Lb,EAnK0B,SAAC,GAMK,IAL9BS,EAK6B,EAL7BA,QACAwC,EAI6B,EAJ7BA,kBACAC,EAG6B,EAH7BA,KACAC,EAE6B,EAF7BA,WACAC,EAC6B,EAD7BA,OAEA,IAAKH,EACH,OAAO,KAET,IAAMI,EAAeC,GAAAA,CAAIL,EAAmB,UAAW,MACjDM,EAAMD,GAAAA,CAAIL,EAAmB,OAAO,GAE1C,OACE,SAACO,EAAA,EAAD,CACEC,UAAWP,EACXQ,QAAS,WACPP,KAEFQ,OACE,gBAAKjD,UAAWD,EAAQqC,YAAxB,UACE,kCAAUM,EAAV,gBAGJQ,WAAW,SAAC,KAAD,IAVb,UAYE,UAACC,EAAA,GAAD,CAAMlE,WAAS,EAAf,WACE,UAACkE,EAAA,GAAD,CAAMC,MAAI,EAACC,GAAI,GAAIrD,UAAWD,EAAQuD,eAAtC,mBACSZ,EADT,iDAEIG,GAAOF,IACP,SAAC,WAAD,WACE,UAACQ,EAAA,GAAD,CAAMC,MAAI,EAACC,GAAI,GAAIrD,UAAWD,EAAQkC,iBAAtC,WACE,gBAAKjC,UAAWD,EAAQ6B,gBAAxB,iCAGC2B,MAAMC,QAAQb,IACbA,EAAac,KAAI,SAACC,EAAiBC,GACjC,OACE,iCACE,SAAC,EAAD,CACE9D,MAAM,aACNC,MAAO4D,EAAgBE,aAEzB,SAAC,EAAD,CACE/D,MAAM,aACNC,MAAO4D,EAAgBG,mBAK/BN,MAAMC,QAAQb,KACd,iCACE,SAAC,EAAD,CACE9C,MAAM,aACNC,MAAO6C,EAAaiB,aAEtB,SAAC,EAAD,CACE/D,MAAM,aACNC,MAAO6C,EAAakB,oBAO/BhB,GACC,gBAAK7C,UAAWD,EAAQyB,aAAxB,0EAIA,iBAAKxB,UAAWD,EAAQyB,aAAxB,WACC,SAACsC,EAAA,EAAD,KACC,8GAON,SAACX,EAAA,GAAD,CAAMC,MAAI,EAACC,GAAI,GAAIrD,UAAWD,EAAQ+B,gBAAtC,UACGe,IACC,iCACA,SAACkB,EAAA,EAAD,CACEC,GAAI,kBACJxD,QAAS,wIACTF,KAAM,sBACNN,UAAWD,EAAQsC,aACnB5B,QAAS,WACP,IAAIwD,EAAgB,GAEhBtB,IAmBAsB,EAlBGV,MAAMC,QAAQb,GASFA,EAAac,KAAI,SAACS,GAC/B,MAAO,CACLC,IAAKD,EAAQC,IACbP,UAAWM,EAAQN,UACnBC,UAAWK,EAAQL,UACnBO,IAAK,OACLC,KAAM,WAGa,GAjBP,CACdF,IAAKxB,EAAawB,IAClBP,UAAWjB,EAAaiB,UACxBC,UAAWlB,EAAakB,UACxBO,IAAK,OACLC,KAAM,SAgBZzD,EACE,mBACA0D,KAAKC,WAAL,UACKN,MAITO,MAAM,SAAC,KAAD,IACNC,QAAQ,YACRhD,MAAM,YAIL8B,MAAMC,QAAQb,IAAkBA,EAAa+B,OAAS,IACvD,SAACX,EAAA,EAAD,CACFC,GAAI,sBACJxD,QAAS,iNACPF,KAAM,kCACRN,UAAWD,EAAQsC,aACnB5B,QAAS,WACP,IAAIkE,EAAiB,GACjBhC,IAOJgC,EANehC,EAAac,KAAI,SAACS,GAC/B,MAAO,CACLN,UAAWM,EAAQN,UACnBC,UAAWK,EAAQL,eAKvBjD,EACE,uBACA0D,KAAKC,WAAL,UACKI,MAITH,MAAM,SAAC,KAAD,IACNC,QAAQ,YACRhD,MAAM","sources":["screens/Console/Common/CredentialsPrompt/CredentialItem.tsx","screens/Console/Common/CredentialsPrompt/CredentialsPrompt.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { InputAdornment, OutlinedInput } from \"@mui/material\";\nimport BoxIconButton from \"../BoxIconButton/BoxIconButton\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { CopyIcon } from \"../../../../icons\";\nimport { fieldBasic } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n container: {\n display: \"flex\",\n flexFlow: \"column\",\n padding: \"20px 0 8px 0\",\n },\n inputWithCopy: {\n \"& .MuiInputBase-root \": {\n width: \"100%\",\n background: \"#FBFAFA\",\n \"& .MuiInputBase-input\": {\n height: \".8rem\",\n },\n \"& .MuiInputAdornment-positionEnd\": {\n marginRight: \".5rem\",\n \"& .MuiButtonBase-root\": {\n height: \"2rem\",\n },\n },\n },\n \"& .MuiButtonBase-root .min-icon\": {\n width: \".8rem\",\n height: \".8rem\",\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontSize: \".8rem\",\n },\n });\n\nconst CredentialItem = ({\n label = \"\",\n value = \"\",\n classes = {},\n}: {\n label: string;\n value: string;\n classes: any;\n}) => {\n return (\n
\n );\n};\n\nexport default withStyles(styles)(CredentialItem);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { NewServiceAccount } from \"./types\";\nimport ModalWrapper from \"../ModalWrapper/ModalWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport CredentialItem from \"./CredentialItem\";\nimport WarnIcon from \"../../../../icons/WarnIcon\";\nimport { DownloadIcon, ServiceAccountCredentialsIcon } from \"../../../../icons\";\n\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n warningBlock: {\n color: \"red\",\n fontSize: \".85rem\",\n margin: \".5rem 0 .5rem 0\",\n display: \"flex\",\n alignItems: \"center\",\n \"& svg \": {\n marginRight: \".3rem\",\n height: 16,\n width: 16,\n },\n },\n credentialTitle: {\n padding: \".8rem 0 0 0\",\n fontWeight: 600,\n fontSize: \".9rem\",\n },\n buttonContainer: {\n textAlign: \"right\",\n marginTop: \"1rem\",\n },\n credentialsPanel: {\n overflowY: \"auto\",\n maxHeight: 350,\n },\n promptTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n buttonSpacer: {\n marginRight: \".9rem\",\n },\n promptIcon: {\n marginRight: \".1rem\",\n display: \"flex\",\n alignItems: \"center\",\n height: \"2rem\",\n width: \"2rem\",\n },\n });\n\ninterface ICredentialsPromptProps {\n classes: any;\n newServiceAccount: NewServiceAccount | null;\n open: boolean;\n entity: string;\n closeModal: () => void;\n}\n\nconst download = (filename: string, text: string) => {\n let element = document.createElement(\"a\");\n element.setAttribute(\n \"href\",\n \"data:text/plain;charset=utf-8,\" + encodeURIComponent(text)\n );\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n document.body.removeChild(element);\n};\n\nconst CredentialsPrompt = ({\n classes,\n newServiceAccount,\n open,\n closeModal,\n entity,\n}: ICredentialsPromptProps) => {\n if (!newServiceAccount) {\n return null;\n }\n const consoleCreds = get(newServiceAccount, \"console\", null);\n const idp = get(newServiceAccount, \"idp\", false);\n\n return (\n {\n closeModal();\n }}\n title={\n
\n
New {entity} Created
\n
\n }\n titleIcon={}\n >\n \n \n A new {entity} has been created with the following details:\n {!idp && consoleCreds && (\n \n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { selectorTypes } from \"../SelectWrapper/SelectWrapper\";\nimport { Menu, MenuItem } from \"@mui/material\";\n\ninterface IInputUnitBox {\n classes: any;\n id: string;\n unitSelected: string;\n unitsList: selectorTypes[];\n disabled?: boolean;\n onUnitChange?: (newValue: string) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonTrigger: {\n border: \"#F0F2F2 1px solid\",\n borderRadius: 3,\n color: \"#838383\",\n backgroundColor: \"#fff\",\n fontSize: 12,\n },\n });\n\nconst InputUnitMenu = ({\n classes,\n id,\n unitSelected,\n unitsList,\n disabled = false,\n onUnitChange,\n}: IInputUnitBox) => {\n const [anchorEl, setAnchorEl] = React.useState(null);\n const open = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n const handleClose = (newUnit: string) => {\n setAnchorEl(null);\n if (newUnit !== \"\" && onUnitChange) {\n onUnitChange(newUnit);\n }\n };\n\n return (\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(InputUnitMenu);\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport interface IValidation {\n fieldKey: string;\n required: boolean;\n pattern?: RegExp;\n customPatternMessage?: string;\n customValidation?: boolean; // The validation to trigger the error\n customValidationMessage?: string;\n value: string;\n}\n\nexport const commonFormValidation = (fieldsValidate: IValidation[]) => {\n let returnErrors: any = {};\n\n fieldsValidate.forEach((field) => {\n if (\n field.required &&\n typeof field.value !== \"undefined\" &&\n field.value.trim &&\n field.value.trim() === \"\"\n ) {\n returnErrors[field.fieldKey] = \"Field cannot be empty\";\n return;\n }\n // if it's not required and the value is empty, we are done here\n if (\n !field.required &&\n typeof field.value !== \"undefined\" &&\n field.value.trim &&\n field.value.trim() === \"\"\n ) {\n return;\n }\n\n if (field.customValidation && field.customValidationMessage) {\n returnErrors[field.fieldKey] = field.customValidationMessage;\n return;\n }\n\n if (field.pattern && field.customPatternMessage) {\n const rgx = new RegExp(field.pattern, \"g\");\n\n if (\n field.value &&\n field.value.trim() !== \"\" &&\n !field.value.match(rgx) &&\n typeof field.value !== \"undefined\"\n ) {\n returnErrors[field.fieldKey] = field.customPatternMessage;\n }\n return;\n }\n });\n\n return returnErrors;\n};\n"],"names":["useStyles","makeStyles","theme","root","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","width","marginLeft","text","classes","onClick","disabled","tooltip","icon","restProps","size","sx","border","fontSize","display","StyledSwitch","withStyles","height","margin","switchBase","transform","common","white","backgroundColor","boxShadow","opacity","thumb","track","borderRadius","transition","transitions","create","checked","focusVisible","switchContainer","alignItems","justifyContent","Switch","createStyles","divContainer","marginBottom","indicatorLabelOn","fontWeight","indicatorLabel","fieldDescription","marginTop","actionsTray","fieldBasic","label","onChange","value","id","name","switchOnly","description","indicatorLabels","extraInputProps","switchComponent","className","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","container","item","xs","sm","md","htmlFor","inputLabel","tooltipContainer","title","placement","textAlign","component","inputStyles","inputFieldStyles","InputField","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","type","autoComplete","multiline","index","error","required","placeholder","min","max","overlayId","overlayIcon","overlayObject","noLabelMinWidth","pattern","autoFocus","onKeyPress","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","buttonTrigger","unitSelected","unitsList","onUnitChange","React","anchorEl","setAnchorEl","open","Boolean","handleClose","newUnit","Fragment","undefined","event","currentTarget","onClose","anchorOrigin","vertical","horizontal","transformOrigin","map","unit","deleteDialogStyles","isOpen","onCancel","onConfirm","isLoading","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","reason","titleText","closeContainer","closeButton","content","actions","cancelButton","confirmButton","loading","loadingPosition","startIcon","connector","connect","state","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","paddingBottom","customDialogSize","snackBarCommon","modalOpen","children","wideLimit","noContentPadding","useState","openSnackbar","setOpenSnackbar","useEffect","message","customSize","paper","detailedErrorMsg","scroll","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","commonFormValidation","fieldsValidate","returnErrors","forEach","field","trim","fieldKey","customValidation","customValidationMessage","customPatternMessage","rgx","RegExp","match"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1660.1a3b5397.chunk.js b/portal-ui/build/static/js/1660.3421b1d3.chunk.js
similarity index 99%
rename from portal-ui/build/static/js/1660.1a3b5397.chunk.js
rename to portal-ui/build/static/js/1660.3421b1d3.chunk.js
index 50fd61837..d0f6d483d 100644
--- a/portal-ui/build/static/js/1660.1a3b5397.chunk.js
+++ b/portal-ui/build/static/js/1660.3421b1d3.chunk.js
@@ -1,2 +1,2 @@
-"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1660],{61660:function(e,t,n){n.r(t),n.d(t,{default:function(){return B}});var i,a=n(23430),r=n(18489),o=n(50390),s=n(34424),l=n(65771),c=n(81378),d=n(86509),m=n(62449),h=n(4285),u=n(66946),g=n(12066),p=n(25594);!function(e){e.unknown="unknown",e.form="form",e.redirect="redirect",e.serviceAccount="service-account"}(i||(i={}));var x=n(44149),f=n(30324),v=n(24442),j=n(18221),Z=n(45980),b=n(28948),w=n(86362),S=n(72462),y=n(52971),P=n(62559),N=function(e){return(0,P.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 12 12"},e),{},{children:(0,P.jsx)("path",{id:"Path_7819","data-name":"Path 7819",d:"M9.884,3.523H8.537V2.27A2.417,2.417,0,0,0,6,0,2.417,2.417,0,0,0,3.463,2.27V3.523H2.116A2.019,2.019,0,0,0,0,5.423V9.413a2.012,2.012,0,0,0,2.062,1.9L6,12l3.938-.688A2.012,2.012,0,0,0,12,9.413V5.423a2.019,2.019,0,0,0-2.116-1.9M6.5,7.658v.724a.474.474,0,0,1-.472.474H5.971A.474.474,0,0,1,5.5,8.381V7.658a.9.9,0,0,1-.394-.744h0a.894.894,0,1,1,1.4.744m.985-4.135H4.514V2.27A1.416,1.416,0,0,1,6,.94,1.416,1.416,0,0,1,7.486,2.27Z",fill:"#071d43"})}))},L=function(e){return(0,P.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 9.008 12"},e),{},{children:[(0,P.jsx)("defs",{children:(0,P.jsx)("clipPath",{id:"clip-path",children:(0,P.jsx)("rect",{id:"Rectangle_991","data-name":"Rectangle 991",width:"9.008",height:"12",fill:"#071d43"})})}),(0,P.jsxs)("g",{id:"Group_2365","data-name":"Group 2365",clipPath:"url(#clip-path)",children:[(0,P.jsx)("path",{id:"Path_7088","data-name":"Path 7088",d:"M26.843,6.743a3.4,3.4,0,0,0,3.411-3.372,3.411,3.411,0,0,0-6.822,0,3.4,3.4,0,0,0,3.411,3.372",transform:"translate(-22.334)",fill:"#071d43"}),(0,P.jsx)("path",{id:"Path_7089","data-name":"Path 7089",d:"M8.639,157.057a5.164,5.164,0,0,0-1.957-1.538,5.438,5.438,0,0,0-1.083-.362,5.2,5.2,0,0,0-1.117-.123c-.075,0-.151,0-.225.005H4.231a4.928,4.928,0,0,0-.549.059,5.236,5.236,0,0,0-3.276,1.92c-.029.039-.059.078-.086.116h0a1.723,1.723,0,0,0-.134,1.784,1.583,1.583,0,0,0,.255.356,1.559,1.559,0,0,0,.337.267,1.613,1.613,0,0,0,.4.167,1.742,1.742,0,0,0,.449.058H7.389a1.747,1.747,0,0,0,.452-.058,1.593,1.593,0,0,0,.4-.169,1.524,1.524,0,0,0,.335-.271,1.548,1.548,0,0,0,.251-.361,1.761,1.761,0,0,0-.191-1.85",transform:"translate(0.001 -147.766)",fill:"#071d43"})]})]}))},k=n(50364),A=function(e){return(0,P.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 7.819 7.621"},e),{},{children:(0,P.jsx)("path",{id:"github",d:"M8.543,4.917a4.146,4.146,0,0,1-.038.424,3.8,3.8,0,0,1-.8,1.816,3.982,3.982,0,0,1-.514.542,3.72,3.72,0,0,1-.8.531,4.287,4.287,0,0,1-.471.2.286.286,0,0,1-.149.02.174.174,0,0,1-.153-.163c0-.028,0-.056,0-.084V7.214A1.867,1.867,0,0,0,5.6,6.94a.794.794,0,0,0-.239-.477l.229-.035a2.168,2.168,0,0,0,.821-.291,1.347,1.347,0,0,0,.572-.691,2.291,2.291,0,0,0,.14-.592,2.689,2.689,0,0,0,.01-.488,1.44,1.44,0,0,0-.341-.824L6.747,3.49a.076.076,0,0,1-.007-.013A1.352,1.352,0,0,0,6.7,2.445a.478.478,0,0,0-.317.019,2.726,2.726,0,0,0-.62.289l-.137.086a4.467,4.467,0,0,0-.645-.114,4.047,4.047,0,0,0-.663,0,4.241,4.241,0,0,0-.651.115l-.126-.08a2.786,2.786,0,0,0-.643-.3.5.5,0,0,0-.311-.022,1.364,1.364,0,0,0-.038,1.031l-.154.206a1.392,1.392,0,0,0-.227.6,2.519,2.519,0,0,0,0,.578,2.17,2.17,0,0,0,.178.675,1.356,1.356,0,0,0,.609.65,2.294,2.294,0,0,0,.84.258l.131.02a.874.874,0,0,0-.243.515.793.793,0,0,1-.254.085c-.071.012-.141.014-.212.019a.623.623,0,0,1-.495-.2A1.545,1.545,0,0,1,2.578,6.7c-.047-.061-.084-.128-.135-.185a.8.8,0,0,0-.432-.256.347.347,0,0,0-.189.005.389.389,0,0,0-.048.025.126.126,0,0,0,.049.121.521.521,0,0,0,.112.091.712.712,0,0,1,.188.165,1.542,1.542,0,0,1,.233.41.721.721,0,0,0,.585.456,1.773,1.773,0,0,0,.424.032l.212-.022.083-.01.005.069,0,.527,0,.152a.176.176,0,0,1-.2.165.344.344,0,0,1-.1-.021,3.873,3.873,0,0,1-.74-.341,3.772,3.772,0,0,1-.838-.681,4.309,4.309,0,0,1-.445-.57A3.833,3.833,0,0,1,1,6.16a3.936,3.936,0,0,1-.216-.793L.749,5.079a4.242,4.242,0,0,1,0-.7,3.848,3.848,0,0,1,.57-1.705A3.9,3.9,0,0,1,3.053,1.159,3.716,3.716,0,0,1,4,.878,4.223,4.223,0,0,1,4.768.831a4.158,4.158,0,0,1,.523.047,3.674,3.674,0,0,1,.862.246,3.964,3.964,0,0,1,.975.59,3.793,3.793,0,0,1,.609.629,3.933,3.933,0,0,1,.585,1.066,4.2,4.2,0,0,1,.23,1.136l-.011.372h0Z",transform:"translate(-0.734 -0.829)"})}))},C=n(44977),I=n(41227),E=(0,m.Z)((function(e){return(0,d.Z)({root:{"& .MuiOutlinedInput-root":{paddingLeft:0,"& svg":{marginLeft:4,height:14,color:e.palette.primary.main},"& input":{padding:10,fontSize:14,paddingLeft:0,"&::placeholder":{fontSize:12},"@media (max-width: 900px)":{padding:10}},"& fieldset":{},"& fieldset:hover":{borderBottom:"2px solid #000000",borderRadius:0}}}})}));function T(e){var t=E();return(0,P.jsx)(g.Z,(0,r.Z)({classes:{root:t.root},variant:"standard"},e))}var B=(0,s.$j)((function(e){return{loggedIn:e.loggedIn}}),{userLoggedIn:x.nD,setErrorSnackMessage:x.Ih})((0,h.Z)((function(e){return(0,d.Z)((0,r.Z)({root:{position:"absolute",top:0,left:0,width:"100%",height:"100%",overflow:"auto"},form:{width:"100%"},submit:{margin:"30px 0px 8px",height:40,width:"100%",boxShadow:"none",padding:"16px 30px"},learnMore:{textAlign:"center",fontSize:10,"& a":{color:"#2781B0"},"& .min-icon":{marginLeft:12,marginTop:2,width:10}},separator:{marginLeft:8,marginRight:8},linkHolder:{marginTop:20},miniLinks:{margin:"auto",fontSize:10,textAlign:"center",color:"#B2DEF5","& a":{color:"#B2DEF5",textDecoration:"none"},"& .min-icon":{height:10,color:"#B2DEF5"}},miniLogo:{marginTop:8,"& .min-icon":{height:12,paddingTop:2}},loginPage:{height:"100%",margin:"auto"},loginContainer:{flexDirection:"column","& .right-items":{backgroundColor:"white",borderRadius:3,boxShadow:"6px 6px 50",padding:20},"& .consoleTextBanner":{fontWeight:300,fontSize:"calc(3vw + 3vh + 1.5vmin)",lineHeight:1.15,color:"#ffffff",flex:1,textAlign:"center",height:"100%",display:"flex",justifyContent:"flex-start",margin:"auto","& .logoLine":{display:"flex",alignItems:"center",fontSize:18,marginTop:40},"& .left-items":{margin:"auto",paddingTop:100,paddingBottom:60},"& .left-logo":{"& .min-icon":{color:"white",width:108},marginBottom:10},"& .text-line1":{font:" 100 44px 'Lato'"},"& .text-line2":{fontSize:80,fontWeight:100,textTransform:"uppercase"},"& .text-line3":{fontSize:14,fontWeight:"bold"},"& .logo-console":{display:"flex",alignItems:"center","@media (max-width: 900px)":{marginTop:20,flexFlow:"column","& svg":{width:"50%"}}}}},"@media (max-width: 900px)":{loginContainer:{display:"flex",flexFlow:"column","& .consoleTextBanner":{margin:0,flex:2,"& .left-items":{alignItems:"center",textAlign:"center"},"& .logoLine":{justifyContent:"center"}}}},loadingLoginStrategy:{textAlign:"center",width:40,height:40},headerTitle:{marginRight:"auto",marginBottom:15},submitContainer:{textAlign:"right"},linearPredef:{height:10},loaderAlignment:{display:"flex",width:"100%",height:"100%",justifyContent:"center",alignItems:"center",flexDirection:"column"},retryButton:{alignSelf:"flex-end"},loginComponentContainer:{maxWidth:360,width:"100%",alignSelf:"center"}},S.bK))}))((function(e){var t=e.classes,n=e.userLoggedIn,r=e.setErrorSnackMessage,s=(0,o.useState)(""),d=(0,a.Z)(s,2),m=d[0],h=d[1],g=(0,o.useState)(""),x=(0,a.Z)(g,2),S=x[0],E=x[1],B=(0,o.useState)(""),_=(0,a.Z)(B,2),M=_[0],F=_[1],z=(0,o.useState)({loginStrategy:i.unknown,redirect:""}),H=(0,a.Z)(z,2),R=H[0],D=H[1],V=(0,o.useState)(!1),W=(0,a.Z)(V,2),K=W[0],G=W[1],O=(0,o.useState)(!0),Y=(0,a.Z)(O,2),q=Y[0],J=Y[1],U=(0,o.useState)(""),$=(0,a.Z)(U,2),Q=$[0],X=$[1],ee=(0,o.useState)(!0),te=(0,a.Z)(ee,2),ne=te[0],ie=te[1],ae={form:"/api/v1/login","service-account":"/api/v1/login/operator"},re={form:{accessKey:m,secretKey:M},"service-account":{jwt:S}},oe=function(e){e.preventDefault(),G(!0),f.Z.invoke("POST",ae[R.loginStrategy]||"/api/v1/login",re[R.loginStrategy]).then((function(){n(!0),R.loginStrategy===i.form&&localStorage.setItem("userLoggedIn",(0,b.ug)(m));var e="/";localStorage.getItem("redirect-path")&&""!==localStorage.getItem("redirect-path")&&(e="".concat(localStorage.getItem("redirect-path")),localStorage.setItem("redirect-path","")),v.Z.push(e)})).catch((function(e){G(!1),r(e)}))};(0,o.useEffect)((function(){q&&f.Z.invoke("GET","/api/v1/login").then((function(e){D(e),J(!1)})).catch((function(e){r(e),J(!1)}))}),[q,r]),(0,o.useEffect)((function(){ne&&f.Z.invoke("GET","/api/v1/check-version").then((function(e){e.current_version;var t=e.latest_version;X(t),ie(!1)})).catch((function(e){f.Z.invoke("GET","/api/v1/check-operator-version").then((function(e){e.current_version;var t=e.latest_version;X(t),ie(!1)})).catch((function(e){ie(!1)}))}))}),[ne,ie,X]);var se=null;switch(R.loginStrategy){case i.form:se=(0,P.jsx)(o.Fragment,{children:(0,P.jsxs)("form",{className:t.form,noValidate:!0,onSubmit:oe,children:[(0,P.jsxs)(p.ZP,{container:!0,spacing:2,children:[(0,P.jsx)(p.ZP,{item:!0,xs:12,className:t.spacerBottom,children:(0,P.jsx)(T,{fullWidth:!0,id:"accessKey",className:t.inputField,value:m,onChange:function(e){return h(e.target.value)},placeholder:"Username",name:"accessKey",autoComplete:"username",disabled:K,variant:"outlined",InputProps:{startAdornment:(0,P.jsx)(l.Z,{position:"start",className:t.iconColor,children:(0,P.jsx)(L,{})})}})}),(0,P.jsx)(p.ZP,{item:!0,xs:12,children:(0,P.jsx)(T,{fullWidth:!0,className:t.inputField,value:M,onChange:function(e){return F(e.target.value)},name:"secretKey",type:"password",id:"secretKey",autoComplete:"current-password",disabled:K,placeholder:"Password",variant:"outlined",InputProps:{startAdornment:(0,P.jsx)(l.Z,{position:"start",className:t.iconColor,children:(0,P.jsx)(N,{})})}})})]}),(0,P.jsx)(p.ZP,{item:!0,xs:12,className:t.submitContainer,children:(0,P.jsx)(u.Z,{type:"submit",variant:"contained",color:"primary",id:"do-login",className:t.submit,disabled:""===M||""===m||K,children:"Login"})}),(0,P.jsx)(p.ZP,{item:!0,xs:12,className:t.linearPredef,children:K&&(0,P.jsx)(c.Z,{})})]})});break;case i.redirect:se=(0,P.jsx)(o.Fragment,{children:(0,P.jsx)(u.Z,{component:"a",href:R.redirect,type:"submit",variant:"contained",color:"primary",id:"sso-login",className:t.submit,children:"Login with SSO"})});break;case i.serviceAccount:se=(0,P.jsx)(o.Fragment,{children:(0,P.jsxs)("form",{className:t.form,noValidate:!0,onSubmit:oe,children:[(0,P.jsx)(p.ZP,{container:!0,spacing:2,children:(0,P.jsx)(p.ZP,{item:!0,xs:12,children:(0,P.jsx)(T,{required:!0,className:t.inputField,fullWidth:!0,id:"jwt",value:S,onChange:function(e){return E(e.target.value)},name:"jwt",autoComplete:"off",disabled:K,placeholder:"Enter JWT",variant:"outlined",InputProps:{startAdornment:(0,P.jsx)(l.Z,{position:"start",children:(0,P.jsx)(w.mB,{})})}})})}),(0,P.jsx)(p.ZP,{item:!0,xs:12,className:t.submitContainer,children:(0,P.jsx)(u.Z,{type:"submit",variant:"contained",color:"primary",id:"do-login",className:t.submit,disabled:""===S||K,children:"Login"})}),(0,P.jsx)(p.ZP,{item:!0,xs:12,className:t.linearPredef,children:K&&(0,P.jsx)(c.Z,{})})]})});break;default:se=(0,P.jsx)("div",{className:t.loaderAlignment,children:q?(0,P.jsx)(I.Z,{className:t.loadingLoginStrategy}):(0,P.jsxs)(o.Fragment,{children:[(0,P.jsx)("div",{children:(0,P.jsxs)("p",{style:{color:"#000",textAlign:"center"},children:["An error has occurred",(0,P.jsx)("br",{}),"The backend cannot be reached."]})}),(0,P.jsx)("div",{children:(0,P.jsx)(u.Z,{onClick:function(){J(!0)},endIcon:(0,P.jsx)(j.default,{}),color:"primary",variant:"outlined",id:"retry",className:t.retryButton,children:"Retry"})})]})})}var le=R.loginStrategy===i.serviceAccount?"Operator":"Console";return(0,P.jsxs)("div",{className:t.root,children:[(0,P.jsx)(y.ZP,{}),(0,P.jsx)(Z.Z,{}),(0,P.jsx)("div",{className:t.loginPage,children:(0,P.jsxs)(p.ZP,{container:!0,className:t.loginContainer,children:[(0,P.jsx)(p.ZP,{item:!0,className:"consoleTextBanner",xs:12,children:(0,P.jsxs)("div",{className:"left-items",children:[(0,P.jsx)("div",{className:"left-logo",children:(0,P.jsx)(w.BH,{})}),(0,P.jsx)("div",{className:"text-line2",children:le}),(0,P.jsx)("div",{className:"text-line3",children:"Multi-Cloud Object Storage"})]})}),(0,P.jsxs)(p.ZP,{item:!0,className:"right-items ".concat(t.loginComponentContainer),xs:12,children:[se,(0,P.jsx)("div",{className:t.learnMore,children:(0,P.jsxs)("a",{href:"https://docs.min.io/minio/baremetal/console/minio-console.html?ref=con",target:"_blank",rel:"noreferrer",children:["Learn more about Console ",(0,P.jsx)(w.LZ,{})]})})]}),(0,P.jsxs)(p.ZP,{item:!0,xs:12,className:t.linkHolder,children:[(0,P.jsxs)("div",{className:t.miniLinks,children:[(0,P.jsxs)("a",{href:"https://docs.min.io/?ref=con",target:"_blank",rel:"noreferrer",children:[(0,P.jsx)(w.cY,{})," Documentation"]}),(0,P.jsx)("span",{className:t.separator,children:"|"}),(0,P.jsxs)("a",{href:"https://github.com/minio/minio",target:"_blank",rel:"noreferrer",children:[(0,P.jsx)(A,{})," Github"]}),(0,P.jsx)("span",{className:t.separator,children:"|"}),(0,P.jsxs)("a",{href:"https://subnet.min.io/?ref=con",target:"_blank",rel:"noreferrer",children:[(0,P.jsx)(k.aw,{})," Support"]}),(0,P.jsx)("span",{className:t.separator,children:"|"}),(0,P.jsxs)("a",{href:"https://min.io/download/?ref=con",target:"_blank",rel:"noreferrer",children:[(0,P.jsx)(w._8,{})," Download"]})]}),(0,P.jsx)("div",{className:(0,C.Z)(t.miniLinks,t.miniLogo),children:(0,P.jsxs)("a",{href:"https://github.com/minio/minio/releases",target:"_blank",rel:"noreferrer",style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:20},children:[(0,P.jsx)(w.YE,{})," Latest Version"," ",!ne&&""!==Q&&(0,P.jsx)(o.Fragment,{children:Q})]})})]})]})})]})})))},65771:function(e,t,n){n.d(t,{Z:function(){return w}});var i=n(36222),a=n(1048),r=n(32793),o=n(50390),s=n(44977),l=n(50076),c=n(91442),d=n(35477),m=n(14478),h=n(23060),u=n(8208),g=n(10594);function p(e){return(0,g.Z)("MuiInputAdornment",e)}var x,f=(0,n(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),v=n(15573),j=n(62559),Z=["children","className","component","disablePointerEvents","disableTypography","position","variant"],b=(0,u.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["position".concat((0,c.Z)(n.position))],!0===n.disablePointerEvents&&t.disablePointerEvents,t[n.variant]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,r.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:t.palette.action.active},"filled"===n.variant&&(0,i.Z)({},"&.".concat(f.positionStart,"&:not(.").concat(f.hiddenLabel,")"),{marginTop:16}),"start"===n.position&&{marginRight:8},"end"===n.position&&{marginLeft:8},!0===n.disablePointerEvents&&{pointerEvents:"none"})})),w=o.forwardRef((function(e,t){var n=(0,v.Z)({props:e,name:"MuiInputAdornment"}),i=n.children,u=n.className,g=n.component,f=void 0===g?"div":g,w=n.disablePointerEvents,S=void 0!==w&&w,y=n.disableTypography,P=void 0!==y&&y,N=n.position,L=n.variant,k=(0,a.Z)(n,Z),A=(0,h.Z)()||{},C=L;L&&A.variant,A&&!C&&(C=A.variant);var I=(0,r.Z)({},n,{hiddenLabel:A.hiddenLabel,size:A.size,disablePointerEvents:S,position:N,variant:C}),E=function(e){var t=e.classes,n=e.disablePointerEvents,i=e.hiddenLabel,a=e.position,r=e.size,o=e.variant,s={root:["root",n&&"disablePointerEvents",a&&"position".concat((0,c.Z)(a)),o,i&&"hiddenLabel",r&&"size".concat((0,c.Z)(r))]};return(0,l.Z)(s,p,t)}(I);return(0,j.jsx)(m.Z.Provider,{value:null,children:(0,j.jsx)(b,(0,r.Z)({as:f,ownerState:I,className:(0,s.Z)(E.root,u),ref:t},k,{children:"string"!==typeof i||P?(0,j.jsxs)(o.Fragment,{children:["start"===N?x||(x=(0,j.jsx)("span",{className:"notranslate",children:"\u200b"})):null,i]}):(0,j.jsx)(d.Z,{color:"text.secondary",children:i})}))})}))}}]);
-//# sourceMappingURL=1660.1a3b5397.chunk.js.map
\ No newline at end of file
+"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1660],{61660:function(e,t,n){n.r(t),n.d(t,{default:function(){return B}});var i,a=n(23430),r=n(18489),o=n(50390),s=n(34424),l=n(65771),c=n(81378),d=n(86509),m=n(62449),h=n(4285),u=n(66946),g=n(12066),p=n(25594);!function(e){e.unknown="unknown",e.form="form",e.redirect="redirect",e.serviceAccount="service-account"}(i||(i={}));var x=n(44149),f=n(30324),v=n(24442),j=n(18221),Z=n(45980),b=n(28948),w=n(14549),S=n(72462),y=n(52971),P=n(62559),N=function(e){return(0,P.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 12 12"},e),{},{children:(0,P.jsx)("path",{id:"Path_7819","data-name":"Path 7819",d:"M9.884,3.523H8.537V2.27A2.417,2.417,0,0,0,6,0,2.417,2.417,0,0,0,3.463,2.27V3.523H2.116A2.019,2.019,0,0,0,0,5.423V9.413a2.012,2.012,0,0,0,2.062,1.9L6,12l3.938-.688A2.012,2.012,0,0,0,12,9.413V5.423a2.019,2.019,0,0,0-2.116-1.9M6.5,7.658v.724a.474.474,0,0,1-.472.474H5.971A.474.474,0,0,1,5.5,8.381V7.658a.9.9,0,0,1-.394-.744h0a.894.894,0,1,1,1.4.744m.985-4.135H4.514V2.27A1.416,1.416,0,0,1,6,.94,1.416,1.416,0,0,1,7.486,2.27Z",fill:"#071d43"})}))},L=function(e){return(0,P.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 9.008 12"},e),{},{children:[(0,P.jsx)("defs",{children:(0,P.jsx)("clipPath",{id:"clip-path",children:(0,P.jsx)("rect",{id:"Rectangle_991","data-name":"Rectangle 991",width:"9.008",height:"12",fill:"#071d43"})})}),(0,P.jsxs)("g",{id:"Group_2365","data-name":"Group 2365",clipPath:"url(#clip-path)",children:[(0,P.jsx)("path",{id:"Path_7088","data-name":"Path 7088",d:"M26.843,6.743a3.4,3.4,0,0,0,3.411-3.372,3.411,3.411,0,0,0-6.822,0,3.4,3.4,0,0,0,3.411,3.372",transform:"translate(-22.334)",fill:"#071d43"}),(0,P.jsx)("path",{id:"Path_7089","data-name":"Path 7089",d:"M8.639,157.057a5.164,5.164,0,0,0-1.957-1.538,5.438,5.438,0,0,0-1.083-.362,5.2,5.2,0,0,0-1.117-.123c-.075,0-.151,0-.225.005H4.231a4.928,4.928,0,0,0-.549.059,5.236,5.236,0,0,0-3.276,1.92c-.029.039-.059.078-.086.116h0a1.723,1.723,0,0,0-.134,1.784,1.583,1.583,0,0,0,.255.356,1.559,1.559,0,0,0,.337.267,1.613,1.613,0,0,0,.4.167,1.742,1.742,0,0,0,.449.058H7.389a1.747,1.747,0,0,0,.452-.058,1.593,1.593,0,0,0,.4-.169,1.524,1.524,0,0,0,.335-.271,1.548,1.548,0,0,0,.251-.361,1.761,1.761,0,0,0-.191-1.85",transform:"translate(0.001 -147.766)",fill:"#071d43"})]})]}))},k=n(50364),A=function(e){return(0,P.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 7.819 7.621"},e),{},{children:(0,P.jsx)("path",{id:"github",d:"M8.543,4.917a4.146,4.146,0,0,1-.038.424,3.8,3.8,0,0,1-.8,1.816,3.982,3.982,0,0,1-.514.542,3.72,3.72,0,0,1-.8.531,4.287,4.287,0,0,1-.471.2.286.286,0,0,1-.149.02.174.174,0,0,1-.153-.163c0-.028,0-.056,0-.084V7.214A1.867,1.867,0,0,0,5.6,6.94a.794.794,0,0,0-.239-.477l.229-.035a2.168,2.168,0,0,0,.821-.291,1.347,1.347,0,0,0,.572-.691,2.291,2.291,0,0,0,.14-.592,2.689,2.689,0,0,0,.01-.488,1.44,1.44,0,0,0-.341-.824L6.747,3.49a.076.076,0,0,1-.007-.013A1.352,1.352,0,0,0,6.7,2.445a.478.478,0,0,0-.317.019,2.726,2.726,0,0,0-.62.289l-.137.086a4.467,4.467,0,0,0-.645-.114,4.047,4.047,0,0,0-.663,0,4.241,4.241,0,0,0-.651.115l-.126-.08a2.786,2.786,0,0,0-.643-.3.5.5,0,0,0-.311-.022,1.364,1.364,0,0,0-.038,1.031l-.154.206a1.392,1.392,0,0,0-.227.6,2.519,2.519,0,0,0,0,.578,2.17,2.17,0,0,0,.178.675,1.356,1.356,0,0,0,.609.65,2.294,2.294,0,0,0,.84.258l.131.02a.874.874,0,0,0-.243.515.793.793,0,0,1-.254.085c-.071.012-.141.014-.212.019a.623.623,0,0,1-.495-.2A1.545,1.545,0,0,1,2.578,6.7c-.047-.061-.084-.128-.135-.185a.8.8,0,0,0-.432-.256.347.347,0,0,0-.189.005.389.389,0,0,0-.048.025.126.126,0,0,0,.049.121.521.521,0,0,0,.112.091.712.712,0,0,1,.188.165,1.542,1.542,0,0,1,.233.41.721.721,0,0,0,.585.456,1.773,1.773,0,0,0,.424.032l.212-.022.083-.01.005.069,0,.527,0,.152a.176.176,0,0,1-.2.165.344.344,0,0,1-.1-.021,3.873,3.873,0,0,1-.74-.341,3.772,3.772,0,0,1-.838-.681,4.309,4.309,0,0,1-.445-.57A3.833,3.833,0,0,1,1,6.16a3.936,3.936,0,0,1-.216-.793L.749,5.079a4.242,4.242,0,0,1,0-.7,3.848,3.848,0,0,1,.57-1.705A3.9,3.9,0,0,1,3.053,1.159,3.716,3.716,0,0,1,4,.878,4.223,4.223,0,0,1,4.768.831a4.158,4.158,0,0,1,.523.047,3.674,3.674,0,0,1,.862.246,3.964,3.964,0,0,1,.975.59,3.793,3.793,0,0,1,.609.629,3.933,3.933,0,0,1,.585,1.066,4.2,4.2,0,0,1,.23,1.136l-.011.372h0Z",transform:"translate(-0.734 -0.829)"})}))},C=n(44977),I=n(41227),E=(0,m.Z)((function(e){return(0,d.Z)({root:{"& .MuiOutlinedInput-root":{paddingLeft:0,"& svg":{marginLeft:4,height:14,color:e.palette.primary.main},"& input":{padding:10,fontSize:14,paddingLeft:0,"&::placeholder":{fontSize:12},"@media (max-width: 900px)":{padding:10}},"& fieldset":{},"& fieldset:hover":{borderBottom:"2px solid #000000",borderRadius:0}}}})}));function T(e){var t=E();return(0,P.jsx)(g.Z,(0,r.Z)({classes:{root:t.root},variant:"standard"},e))}var B=(0,s.$j)((function(e){return{loggedIn:e.loggedIn}}),{userLoggedIn:x.nD,setErrorSnackMessage:x.Ih})((0,h.Z)((function(e){return(0,d.Z)((0,r.Z)({root:{position:"absolute",top:0,left:0,width:"100%",height:"100%",overflow:"auto"},form:{width:"100%"},submit:{margin:"30px 0px 8px",height:40,width:"100%",boxShadow:"none",padding:"16px 30px"},learnMore:{textAlign:"center",fontSize:10,"& a":{color:"#2781B0"},"& .min-icon":{marginLeft:12,marginTop:2,width:10}},separator:{marginLeft:8,marginRight:8},linkHolder:{marginTop:20},miniLinks:{margin:"auto",fontSize:10,textAlign:"center",color:"#B2DEF5","& a":{color:"#B2DEF5",textDecoration:"none"},"& .min-icon":{height:10,color:"#B2DEF5"}},miniLogo:{marginTop:8,"& .min-icon":{height:12,paddingTop:2}},loginPage:{height:"100%",margin:"auto"},loginContainer:{flexDirection:"column","& .right-items":{backgroundColor:"white",borderRadius:3,boxShadow:"6px 6px 50",padding:20},"& .consoleTextBanner":{fontWeight:300,fontSize:"calc(3vw + 3vh + 1.5vmin)",lineHeight:1.15,color:"#ffffff",flex:1,textAlign:"center",height:"100%",display:"flex",justifyContent:"flex-start",margin:"auto","& .logoLine":{display:"flex",alignItems:"center",fontSize:18,marginTop:40},"& .left-items":{margin:"auto",paddingTop:100,paddingBottom:60},"& .left-logo":{"& .min-icon":{color:"white",width:108},marginBottom:10},"& .text-line1":{font:" 100 44px 'Lato'"},"& .text-line2":{fontSize:80,fontWeight:100,textTransform:"uppercase"},"& .text-line3":{fontSize:14,fontWeight:"bold"},"& .logo-console":{display:"flex",alignItems:"center","@media (max-width: 900px)":{marginTop:20,flexFlow:"column","& svg":{width:"50%"}}}}},"@media (max-width: 900px)":{loginContainer:{display:"flex",flexFlow:"column","& .consoleTextBanner":{margin:0,flex:2,"& .left-items":{alignItems:"center",textAlign:"center"},"& .logoLine":{justifyContent:"center"}}}},loadingLoginStrategy:{textAlign:"center",width:40,height:40},headerTitle:{marginRight:"auto",marginBottom:15},submitContainer:{textAlign:"right"},linearPredef:{height:10},loaderAlignment:{display:"flex",width:"100%",height:"100%",justifyContent:"center",alignItems:"center",flexDirection:"column"},retryButton:{alignSelf:"flex-end"},loginComponentContainer:{maxWidth:360,width:"100%",alignSelf:"center"}},S.bK))}))((function(e){var t=e.classes,n=e.userLoggedIn,r=e.setErrorSnackMessage,s=(0,o.useState)(""),d=(0,a.Z)(s,2),m=d[0],h=d[1],g=(0,o.useState)(""),x=(0,a.Z)(g,2),S=x[0],E=x[1],B=(0,o.useState)(""),_=(0,a.Z)(B,2),M=_[0],F=_[1],z=(0,o.useState)({loginStrategy:i.unknown,redirect:""}),H=(0,a.Z)(z,2),R=H[0],D=H[1],V=(0,o.useState)(!1),W=(0,a.Z)(V,2),K=W[0],G=W[1],O=(0,o.useState)(!0),Y=(0,a.Z)(O,2),q=Y[0],J=Y[1],U=(0,o.useState)(""),$=(0,a.Z)(U,2),Q=$[0],X=$[1],ee=(0,o.useState)(!0),te=(0,a.Z)(ee,2),ne=te[0],ie=te[1],ae={form:"/api/v1/login","service-account":"/api/v1/login/operator"},re={form:{accessKey:m,secretKey:M},"service-account":{jwt:S}},oe=function(e){e.preventDefault(),G(!0),f.Z.invoke("POST",ae[R.loginStrategy]||"/api/v1/login",re[R.loginStrategy]).then((function(){n(!0),R.loginStrategy===i.form&&localStorage.setItem("userLoggedIn",(0,b.ug)(m));var e="/";localStorage.getItem("redirect-path")&&""!==localStorage.getItem("redirect-path")&&(e="".concat(localStorage.getItem("redirect-path")),localStorage.setItem("redirect-path","")),v.Z.push(e)})).catch((function(e){G(!1),r(e)}))};(0,o.useEffect)((function(){q&&f.Z.invoke("GET","/api/v1/login").then((function(e){D(e),J(!1)})).catch((function(e){r(e),J(!1)}))}),[q,r]),(0,o.useEffect)((function(){ne&&f.Z.invoke("GET","/api/v1/check-version").then((function(e){e.current_version;var t=e.latest_version;X(t),ie(!1)})).catch((function(e){f.Z.invoke("GET","/api/v1/check-operator-version").then((function(e){e.current_version;var t=e.latest_version;X(t),ie(!1)})).catch((function(e){ie(!1)}))}))}),[ne,ie,X]);var se=null;switch(R.loginStrategy){case i.form:se=(0,P.jsx)(o.Fragment,{children:(0,P.jsxs)("form",{className:t.form,noValidate:!0,onSubmit:oe,children:[(0,P.jsxs)(p.ZP,{container:!0,spacing:2,children:[(0,P.jsx)(p.ZP,{item:!0,xs:12,className:t.spacerBottom,children:(0,P.jsx)(T,{fullWidth:!0,id:"accessKey",className:t.inputField,value:m,onChange:function(e){return h(e.target.value)},placeholder:"Username",name:"accessKey",autoComplete:"username",disabled:K,variant:"outlined",InputProps:{startAdornment:(0,P.jsx)(l.Z,{position:"start",className:t.iconColor,children:(0,P.jsx)(L,{})})}})}),(0,P.jsx)(p.ZP,{item:!0,xs:12,children:(0,P.jsx)(T,{fullWidth:!0,className:t.inputField,value:M,onChange:function(e){return F(e.target.value)},name:"secretKey",type:"password",id:"secretKey",autoComplete:"current-password",disabled:K,placeholder:"Password",variant:"outlined",InputProps:{startAdornment:(0,P.jsx)(l.Z,{position:"start",className:t.iconColor,children:(0,P.jsx)(N,{})})}})})]}),(0,P.jsx)(p.ZP,{item:!0,xs:12,className:t.submitContainer,children:(0,P.jsx)(u.Z,{type:"submit",variant:"contained",color:"primary",id:"do-login",className:t.submit,disabled:""===M||""===m||K,children:"Login"})}),(0,P.jsx)(p.ZP,{item:!0,xs:12,className:t.linearPredef,children:K&&(0,P.jsx)(c.Z,{})})]})});break;case i.redirect:se=(0,P.jsx)(o.Fragment,{children:(0,P.jsx)(u.Z,{component:"a",href:R.redirect,type:"submit",variant:"contained",color:"primary",id:"sso-login",className:t.submit,children:"Login with SSO"})});break;case i.serviceAccount:se=(0,P.jsx)(o.Fragment,{children:(0,P.jsxs)("form",{className:t.form,noValidate:!0,onSubmit:oe,children:[(0,P.jsx)(p.ZP,{container:!0,spacing:2,children:(0,P.jsx)(p.ZP,{item:!0,xs:12,children:(0,P.jsx)(T,{required:!0,className:t.inputField,fullWidth:!0,id:"jwt",value:S,onChange:function(e){return E(e.target.value)},name:"jwt",autoComplete:"off",disabled:K,placeholder:"Enter JWT",variant:"outlined",InputProps:{startAdornment:(0,P.jsx)(l.Z,{position:"start",children:(0,P.jsx)(w.mB,{})})}})})}),(0,P.jsx)(p.ZP,{item:!0,xs:12,className:t.submitContainer,children:(0,P.jsx)(u.Z,{type:"submit",variant:"contained",color:"primary",id:"do-login",className:t.submit,disabled:""===S||K,children:"Login"})}),(0,P.jsx)(p.ZP,{item:!0,xs:12,className:t.linearPredef,children:K&&(0,P.jsx)(c.Z,{})})]})});break;default:se=(0,P.jsx)("div",{className:t.loaderAlignment,children:q?(0,P.jsx)(I.Z,{className:t.loadingLoginStrategy}):(0,P.jsxs)(o.Fragment,{children:[(0,P.jsx)("div",{children:(0,P.jsxs)("p",{style:{color:"#000",textAlign:"center"},children:["An error has occurred",(0,P.jsx)("br",{}),"The backend cannot be reached."]})}),(0,P.jsx)("div",{children:(0,P.jsx)(u.Z,{onClick:function(){J(!0)},endIcon:(0,P.jsx)(j.default,{}),color:"primary",variant:"outlined",id:"retry",className:t.retryButton,children:"Retry"})})]})})}var le=R.loginStrategy===i.serviceAccount?"Operator":"Console";return(0,P.jsxs)("div",{className:t.root,children:[(0,P.jsx)(y.ZP,{}),(0,P.jsx)(Z.Z,{}),(0,P.jsx)("div",{className:t.loginPage,children:(0,P.jsxs)(p.ZP,{container:!0,className:t.loginContainer,children:[(0,P.jsx)(p.ZP,{item:!0,className:"consoleTextBanner",xs:12,children:(0,P.jsxs)("div",{className:"left-items",children:[(0,P.jsx)("div",{className:"left-logo",children:(0,P.jsx)(w.BH,{})}),(0,P.jsx)("div",{className:"text-line2",children:le}),(0,P.jsx)("div",{className:"text-line3",children:"Multi-Cloud Object Storage"})]})}),(0,P.jsxs)(p.ZP,{item:!0,className:"right-items ".concat(t.loginComponentContainer),xs:12,children:[se,(0,P.jsx)("div",{className:t.learnMore,children:(0,P.jsxs)("a",{href:"https://docs.min.io/minio/baremetal/console/minio-console.html?ref=con",target:"_blank",rel:"noreferrer",children:["Learn more about Console ",(0,P.jsx)(w.LZ,{})]})})]}),(0,P.jsxs)(p.ZP,{item:!0,xs:12,className:t.linkHolder,children:[(0,P.jsxs)("div",{className:t.miniLinks,children:[(0,P.jsxs)("a",{href:"https://docs.min.io/?ref=con",target:"_blank",rel:"noreferrer",children:[(0,P.jsx)(w.cY,{})," Documentation"]}),(0,P.jsx)("span",{className:t.separator,children:"|"}),(0,P.jsxs)("a",{href:"https://github.com/minio/minio",target:"_blank",rel:"noreferrer",children:[(0,P.jsx)(A,{})," Github"]}),(0,P.jsx)("span",{className:t.separator,children:"|"}),(0,P.jsxs)("a",{href:"https://subnet.min.io/?ref=con",target:"_blank",rel:"noreferrer",children:[(0,P.jsx)(k.aw,{})," Support"]}),(0,P.jsx)("span",{className:t.separator,children:"|"}),(0,P.jsxs)("a",{href:"https://min.io/download/?ref=con",target:"_blank",rel:"noreferrer",children:[(0,P.jsx)(w._8,{})," Download"]})]}),(0,P.jsx)("div",{className:(0,C.Z)(t.miniLinks,t.miniLogo),children:(0,P.jsxs)("a",{href:"https://github.com/minio/minio/releases",target:"_blank",rel:"noreferrer",style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:20},children:[(0,P.jsx)(w.YE,{})," Latest Version"," ",!ne&&""!==Q&&(0,P.jsx)(o.Fragment,{children:Q})]})})]})]})})]})})))},65771:function(e,t,n){n.d(t,{Z:function(){return w}});var i=n(36222),a=n(1048),r=n(32793),o=n(50390),s=n(44977),l=n(50076),c=n(91442),d=n(35477),m=n(14478),h=n(23060),u=n(8208),g=n(10594);function p(e){return(0,g.Z)("MuiInputAdornment",e)}var x,f=(0,n(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),v=n(15573),j=n(62559),Z=["children","className","component","disablePointerEvents","disableTypography","position","variant"],b=(0,u.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["position".concat((0,c.Z)(n.position))],!0===n.disablePointerEvents&&t.disablePointerEvents,t[n.variant]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,r.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:t.palette.action.active},"filled"===n.variant&&(0,i.Z)({},"&.".concat(f.positionStart,"&:not(.").concat(f.hiddenLabel,")"),{marginTop:16}),"start"===n.position&&{marginRight:8},"end"===n.position&&{marginLeft:8},!0===n.disablePointerEvents&&{pointerEvents:"none"})})),w=o.forwardRef((function(e,t){var n=(0,v.Z)({props:e,name:"MuiInputAdornment"}),i=n.children,u=n.className,g=n.component,f=void 0===g?"div":g,w=n.disablePointerEvents,S=void 0!==w&&w,y=n.disableTypography,P=void 0!==y&&y,N=n.position,L=n.variant,k=(0,a.Z)(n,Z),A=(0,h.Z)()||{},C=L;L&&A.variant,A&&!C&&(C=A.variant);var I=(0,r.Z)({},n,{hiddenLabel:A.hiddenLabel,size:A.size,disablePointerEvents:S,position:N,variant:C}),E=function(e){var t=e.classes,n=e.disablePointerEvents,i=e.hiddenLabel,a=e.position,r=e.size,o=e.variant,s={root:["root",n&&"disablePointerEvents",a&&"position".concat((0,c.Z)(a)),o,i&&"hiddenLabel",r&&"size".concat((0,c.Z)(r))]};return(0,l.Z)(s,p,t)}(I);return(0,j.jsx)(m.Z.Provider,{value:null,children:(0,j.jsx)(b,(0,r.Z)({as:f,ownerState:I,className:(0,s.Z)(E.root,u),ref:t},k,{children:"string"!==typeof i||P?(0,j.jsxs)(o.Fragment,{children:["start"===N?x||(x=(0,j.jsx)("span",{className:"notranslate",children:"\u200b"})):null,i]}):(0,j.jsx)(d.Z,{color:"text.secondary",children:i})}))})}))}}]);
+//# sourceMappingURL=1660.3421b1d3.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1660.1a3b5397.chunk.js.map b/portal-ui/build/static/js/1660.3421b1d3.chunk.js.map
similarity index 99%
rename from portal-ui/build/static/js/1660.1a3b5397.chunk.js.map
rename to portal-ui/build/static/js/1660.3421b1d3.chunk.js.map
index a47145335..07fdfc506 100644
--- a/portal-ui/build/static/js/1660.1a3b5397.chunk.js.map
+++ b/portal-ui/build/static/js/1660.3421b1d3.chunk.js.map
@@ -1 +1 @@
-{"version":3,"file":"static/js/1660.1a3b5397.chunk.js","mappings":"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","sources":["screens/LoginPage/types.ts","icons/LockFilledIcon.tsx","icons/UsersFilledIcon.tsx","icons/GithubIcon.tsx","screens/LoginPage/LoginPage.tsx","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport interface ILoginDetails {\n loginStrategy: loginStrategyType;\n redirect: string;\n}\n\nexport enum loginStrategyType {\n unknown = \"unknown\",\n form = \"form\",\n redirect = \"redirect\",\n serviceAccount = \"service-account\",\n}\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst LockFilledIcon = (props: SVGProps) => (\n \n);\n\nexport default LockFilledIcon;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst UserFilledIcon = (props: SVGProps) => (\n \n);\n\nexport default UserFilledIcon;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst GithubIcon = (props: SVGProps) => (\n \n);\n\nexport default GithubIcon;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { InputAdornment, LinearProgress, TextFieldProps } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Button from \"@mui/material/Button\";\nimport TextField from \"@mui/material/TextField\";\nimport Grid from \"@mui/material/Grid\";\nimport { ILoginDetails, loginStrategyType } from \"./types\";\nimport { SystemState } from \"../../types\";\nimport { setErrorSnackMessage, userLoggedIn } from \"../../actions\";\nimport { ErrorResponseHandler } from \"../../common/types\";\nimport api from \"../../common/api\";\nimport history from \"../../history\";\nimport RefreshIcon from \"../../icons/RefreshIcon\";\nimport MainError from \"../Console/Common/MainError/MainError\";\nimport { encodeFileName } from \"../../common/utils\";\nimport {\n ArrowRightIcon,\n DocumentationIcon,\n DownloadIcon,\n LockIcon,\n LoginMinIOLogo,\n MinIOTierIconXs,\n} from \"../../icons\";\nimport { spacingUtils } from \"../Console/Common/FormComponents/common/styleLibrary\";\nimport CssBaseline from \"@mui/material/CssBaseline\";\nimport LockFilledIcon from \"../../icons/LockFilledIcon\";\nimport UserFilledIcon from \"../../icons/UsersFilledIcon\";\nimport { SupportMenuIcon } from \"../../icons/SidebarMenus\";\nimport GithubIcon from \"../../icons/GithubIcon\";\nimport clsx from \"clsx\";\nimport Loader from \"../Console/Common/Loader/Loader\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n overflow: \"auto\",\n },\n form: {\n width: \"100%\", // Fix IE 11 issue.\n },\n submit: {\n margin: \"30px 0px 8px\",\n height: 40,\n width: \"100%\",\n boxShadow: \"none\",\n padding: \"16px 30px\",\n },\n learnMore: {\n textAlign: \"center\",\n fontSize: 10,\n \"& a\": {\n color: \"#2781B0\",\n },\n \"& .min-icon\": {\n marginLeft: 12,\n marginTop: 2,\n width: 10,\n },\n },\n separator: {\n marginLeft: 8,\n marginRight: 8,\n },\n linkHolder: {\n marginTop: 20,\n },\n miniLinks: {\n margin: \"auto\",\n fontSize: 10,\n textAlign: \"center\",\n color: \"#B2DEF5\",\n \"& a\": {\n color: \"#B2DEF5\",\n textDecoration: \"none\",\n },\n \"& .min-icon\": {\n height: 10,\n color: \"#B2DEF5\",\n },\n },\n miniLogo: {\n marginTop: 8,\n \"& .min-icon\": {\n height: 12,\n paddingTop: 2,\n },\n },\n loginPage: {\n height: \"100%\",\n margin: \"auto\",\n },\n loginContainer: {\n flexDirection: \"column\",\n \"& .right-items\": {\n backgroundColor: \"white\",\n borderRadius: 3,\n boxShadow: \"6px 6px 50\",\n padding: 20,\n },\n \"& .consoleTextBanner\": {\n fontWeight: 300,\n fontSize: \"calc(3vw + 3vh + 1.5vmin)\",\n lineHeight: 1.15,\n color: \"#ffffff\",\n flex: 1,\n textAlign: \"center\",\n height: \"100%\",\n display: \"flex\",\n justifyContent: \"flex-start\",\n margin: \"auto\",\n\n \"& .logoLine\": {\n display: \"flex\",\n alignItems: \"center\",\n fontSize: 18,\n marginTop: 40,\n },\n \"& .left-items\": {\n margin: \"auto\",\n paddingTop: 100,\n paddingBottom: 60,\n },\n \"& .left-logo\": {\n \"& .min-icon\": {\n color: \"white\",\n width: 108,\n },\n marginBottom: 10,\n },\n \"& .text-line1\": {\n font: \" 100 44px 'Lato'\",\n },\n \"& .text-line2\": {\n fontSize: 80,\n fontWeight: 100,\n textTransform: \"uppercase\",\n },\n \"& .text-line3\": {\n fontSize: 14,\n fontWeight: \"bold\",\n },\n \"& .logo-console\": {\n display: \"flex\",\n alignItems: \"center\",\n\n \"@media (max-width: 900px)\": {\n marginTop: 20,\n flexFlow: \"column\",\n\n \"& svg\": {\n width: \"50%\",\n },\n },\n },\n },\n },\n \"@media (max-width: 900px)\": {\n loginContainer: {\n display: \"flex\",\n flexFlow: \"column\",\n\n \"& .consoleTextBanner\": {\n margin: 0,\n flex: 2,\n\n \"& .left-items\": {\n alignItems: \"center\",\n textAlign: \"center\",\n },\n\n \"& .logoLine\": {\n justifyContent: \"center\",\n },\n },\n },\n },\n loadingLoginStrategy: {\n textAlign: \"center\",\n width: 40,\n height: 40,\n },\n headerTitle: {\n marginRight: \"auto\",\n marginBottom: 15,\n },\n submitContainer: {\n textAlign: \"right\",\n },\n linearPredef: {\n height: 10,\n },\n\n loaderAlignment: {\n display: \"flex\",\n width: \"100%\",\n height: \"100%\",\n justifyContent: \"center\",\n alignItems: \"center\",\n flexDirection: \"column\",\n },\n retryButton: {\n alignSelf: \"flex-end\",\n },\n loginComponentContainer: {\n maxWidth: 360,\n width: \"100%\",\n alignSelf: \"center\",\n },\n ...spacingUtils,\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n \"& .MuiOutlinedInput-root\": {\n paddingLeft: 0,\n \"& svg\": {\n marginLeft: 4,\n height: 14,\n color: theme.palette.primary.main,\n },\n \"& input\": {\n padding: 10,\n fontSize: 14,\n paddingLeft: 0,\n \"&::placeholder\": {\n fontSize: 12,\n },\n \"@media (max-width: 900px)\": {\n padding: 10,\n },\n },\n \"& fieldset\": {},\n\n \"& fieldset:hover\": {\n borderBottom: \"2px solid #000000\",\n borderRadius: 0,\n },\n },\n },\n })\n);\n\nfunction LoginField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n \n );\n}\n\nconst mapState = (state: SystemState) => ({\n loggedIn: state.loggedIn,\n});\n\nconst connector = connect(mapState, { userLoggedIn, setErrorSnackMessage });\n\n// The inferred type will look like:\n// {isOn: boolean, toggleOn: () => void}\n\ninterface ILoginProps {\n userLoggedIn: typeof userLoggedIn;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n classes: any;\n}\n\ninterface LoginStrategyRoutes {\n [key: string]: string;\n}\n\ninterface LoginStrategyPayload {\n [key: string]: any;\n}\n\nconst Login = ({\n classes,\n userLoggedIn,\n setErrorSnackMessage,\n}: ILoginProps) => {\n const [accessKey, setAccessKey] = useState(\"\");\n const [jwt, setJwt] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n const [loginStrategy, setLoginStrategy] = useState({\n loginStrategy: loginStrategyType.unknown,\n redirect: \"\",\n });\n const [loginSending, setLoginSending] = useState(false);\n const [loadingFetchConfiguration, setLoadingFetchConfiguration] =\n useState(true);\n\n const [latestMinIOVersion, setLatestMinIOVersion] = useState(\"\");\n const [loadingVersion, setLoadingVersion] = useState(true);\n\n const loginStrategyEndpoints: LoginStrategyRoutes = {\n form: \"/api/v1/login\",\n \"service-account\": \"/api/v1/login/operator\",\n };\n const loginStrategyPayload: LoginStrategyPayload = {\n form: { accessKey, secretKey },\n \"service-account\": { jwt },\n };\n\n const fetchConfiguration = () => {\n setLoadingFetchConfiguration(true);\n };\n\n const formSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n setLoginSending(true);\n api\n .invoke(\n \"POST\",\n loginStrategyEndpoints[loginStrategy.loginStrategy] || \"/api/v1/login\",\n loginStrategyPayload[loginStrategy.loginStrategy]\n )\n .then(() => {\n // We set the state in redux\n userLoggedIn(true);\n if (loginStrategy.loginStrategy === loginStrategyType.form) {\n localStorage.setItem(\"userLoggedIn\", encodeFileName(accessKey));\n }\n let targetPath = \"/\";\n if (\n localStorage.getItem(\"redirect-path\") &&\n localStorage.getItem(\"redirect-path\") !== \"\"\n ) {\n targetPath = `${localStorage.getItem(\"redirect-path\")}`;\n localStorage.setItem(\"redirect-path\", \"\");\n }\n history.push(targetPath);\n })\n .catch((err) => {\n setLoginSending(false);\n setErrorSnackMessage(err);\n });\n };\n\n useEffect(() => {\n if (loadingFetchConfiguration) {\n api\n .invoke(\"GET\", \"/api/v1/login\")\n .then((loginDetails: ILoginDetails) => {\n setLoginStrategy(loginDetails);\n setLoadingFetchConfiguration(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoadingFetchConfiguration(false);\n });\n }\n }, [loadingFetchConfiguration, setErrorSnackMessage]);\n\n useEffect(() => {\n if (loadingVersion) {\n api\n .invoke(\"GET\", \"/api/v1/check-version\")\n .then(\n ({\n current_version,\n latest_version,\n }: {\n current_version: string;\n latest_version: string;\n }) => {\n setLatestMinIOVersion(latest_version);\n setLoadingVersion(false);\n }\n )\n .catch((err: ErrorResponseHandler) => {\n // try the operator version\n api\n .invoke(\"GET\", \"/api/v1/check-operator-version\")\n .then(\n ({\n current_version,\n latest_version,\n }: {\n current_version: string;\n latest_version: string;\n }) => {\n setLatestMinIOVersion(latest_version);\n setLoadingVersion(false);\n }\n )\n .catch((err: ErrorResponseHandler) => {\n setLoadingVersion(false);\n });\n });\n }\n }, [loadingVersion, setLoadingVersion, setLatestMinIOVersion]);\n\n let loginComponent = null;\n\n switch (loginStrategy.loginStrategy) {\n case loginStrategyType.form: {\n loginComponent = (\n \n \n \n );\n break;\n }\n case loginStrategyType.redirect: {\n loginComponent = (\n \n \n \n );\n break;\n }\n case loginStrategyType.serviceAccount: {\n loginComponent = (\n \n \n \n );\n break;\n }\n default:\n loginComponent = (\n
\n {loadingFetchConfiguration ? (\n \n ) : (\n \n
\n
\n An error has occurred\n \n The backend cannot be reached.\n
\n );\n};\n\nexport default connector(withStyles(styles)(Login));\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;"],"names":["loginStrategyType","props","xmlns","className","fill","viewBox","id","d","width","height","clipPath","transform","inputStyles","makeStyles","theme","createStyles","root","paddingLeft","marginLeft","color","palette","primary","main","padding","fontSize","borderBottom","borderRadius","LoginField","classes","TextField","variant","connect","state","loggedIn","userLoggedIn","setErrorSnackMessage","withStyles","position","top","left","overflow","form","submit","margin","boxShadow","learnMore","textAlign","marginTop","separator","marginRight","linkHolder","miniLinks","textDecoration","miniLogo","paddingTop","loginPage","loginContainer","flexDirection","backgroundColor","fontWeight","lineHeight","flex","display","justifyContent","alignItems","paddingBottom","marginBottom","font","textTransform","flexFlow","loadingLoginStrategy","headerTitle","submitContainer","linearPredef","loaderAlignment","retryButton","alignSelf","loginComponentContainer","maxWidth","spacingUtils","useState","accessKey","setAccessKey","jwt","setJwt","secretKey","setSecretKey","loginStrategy","unknown","redirect","setLoginStrategy","loginSending","setLoginSending","loadingFetchConfiguration","setLoadingFetchConfiguration","latestMinIOVersion","setLatestMinIOVersion","loadingVersion","setLoadingVersion","loginStrategyEndpoints","loginStrategyPayload","formSubmit","e","preventDefault","api","then","localStorage","setItem","encodeFileName","targetPath","getItem","history","catch","err","useEffect","loginDetails","current_version","latest_version","loginComponent","noValidate","onSubmit","Grid","container","spacing","item","xs","spacerBottom","fullWidth","inputField","value","onChange","target","placeholder","name","autoComplete","disabled","InputProps","startAdornment","InputAdornment","iconColor","type","Button","LinearProgress","component","href","serviceAccount","required","Loader","style","onClick","endIcon","RefreshIcon","consoleText","CssBaseline","MainError","rel","clsx","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","overridesResolver","styles","ownerState","capitalize","disablePointerEvents","_extends","maxHeight","whiteSpace","action","active","inputAdornmentClasses","pointerEvents","React","inProps","ref","useThemeProps","children","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","size","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","_jsxs","Typography"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"static/js/1660.3421b1d3.chunk.js","mappings":"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","sources":["screens/LoginPage/types.ts","icons/LockFilledIcon.tsx","icons/UsersFilledIcon.tsx","icons/GithubIcon.tsx","screens/LoginPage/LoginPage.tsx","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport interface ILoginDetails {\n loginStrategy: loginStrategyType;\n redirect: string;\n}\n\nexport enum loginStrategyType {\n unknown = \"unknown\",\n form = \"form\",\n redirect = \"redirect\",\n serviceAccount = \"service-account\",\n}\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst LockFilledIcon = (props: SVGProps) => (\n \n);\n\nexport default LockFilledIcon;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst UserFilledIcon = (props: SVGProps) => (\n \n);\n\nexport default UserFilledIcon;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst GithubIcon = (props: SVGProps) => (\n \n);\n\nexport default GithubIcon;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { InputAdornment, LinearProgress, TextFieldProps } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Button from \"@mui/material/Button\";\nimport TextField from \"@mui/material/TextField\";\nimport Grid from \"@mui/material/Grid\";\nimport { ILoginDetails, loginStrategyType } from \"./types\";\nimport { SystemState } from \"../../types\";\nimport { setErrorSnackMessage, userLoggedIn } from \"../../actions\";\nimport { ErrorResponseHandler } from \"../../common/types\";\nimport api from \"../../common/api\";\nimport history from \"../../history\";\nimport RefreshIcon from \"../../icons/RefreshIcon\";\nimport MainError from \"../Console/Common/MainError/MainError\";\nimport { encodeFileName } from \"../../common/utils\";\nimport {\n ArrowRightIcon,\n DocumentationIcon,\n DownloadIcon,\n LockIcon,\n LoginMinIOLogo,\n MinIOTierIconXs,\n} from \"../../icons\";\nimport { spacingUtils } from \"../Console/Common/FormComponents/common/styleLibrary\";\nimport CssBaseline from \"@mui/material/CssBaseline\";\nimport LockFilledIcon from \"../../icons/LockFilledIcon\";\nimport UserFilledIcon from \"../../icons/UsersFilledIcon\";\nimport { SupportMenuIcon } from \"../../icons/SidebarMenus\";\nimport GithubIcon from \"../../icons/GithubIcon\";\nimport clsx from \"clsx\";\nimport Loader from \"../Console/Common/Loader/Loader\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n overflow: \"auto\",\n },\n form: {\n width: \"100%\", // Fix IE 11 issue.\n },\n submit: {\n margin: \"30px 0px 8px\",\n height: 40,\n width: \"100%\",\n boxShadow: \"none\",\n padding: \"16px 30px\",\n },\n learnMore: {\n textAlign: \"center\",\n fontSize: 10,\n \"& a\": {\n color: \"#2781B0\",\n },\n \"& .min-icon\": {\n marginLeft: 12,\n marginTop: 2,\n width: 10,\n },\n },\n separator: {\n marginLeft: 8,\n marginRight: 8,\n },\n linkHolder: {\n marginTop: 20,\n },\n miniLinks: {\n margin: \"auto\",\n fontSize: 10,\n textAlign: \"center\",\n color: \"#B2DEF5\",\n \"& a\": {\n color: \"#B2DEF5\",\n textDecoration: \"none\",\n },\n \"& .min-icon\": {\n height: 10,\n color: \"#B2DEF5\",\n },\n },\n miniLogo: {\n marginTop: 8,\n \"& .min-icon\": {\n height: 12,\n paddingTop: 2,\n },\n },\n loginPage: {\n height: \"100%\",\n margin: \"auto\",\n },\n loginContainer: {\n flexDirection: \"column\",\n \"& .right-items\": {\n backgroundColor: \"white\",\n borderRadius: 3,\n boxShadow: \"6px 6px 50\",\n padding: 20,\n },\n \"& .consoleTextBanner\": {\n fontWeight: 300,\n fontSize: \"calc(3vw + 3vh + 1.5vmin)\",\n lineHeight: 1.15,\n color: \"#ffffff\",\n flex: 1,\n textAlign: \"center\",\n height: \"100%\",\n display: \"flex\",\n justifyContent: \"flex-start\",\n margin: \"auto\",\n\n \"& .logoLine\": {\n display: \"flex\",\n alignItems: \"center\",\n fontSize: 18,\n marginTop: 40,\n },\n \"& .left-items\": {\n margin: \"auto\",\n paddingTop: 100,\n paddingBottom: 60,\n },\n \"& .left-logo\": {\n \"& .min-icon\": {\n color: \"white\",\n width: 108,\n },\n marginBottom: 10,\n },\n \"& .text-line1\": {\n font: \" 100 44px 'Lato'\",\n },\n \"& .text-line2\": {\n fontSize: 80,\n fontWeight: 100,\n textTransform: \"uppercase\",\n },\n \"& .text-line3\": {\n fontSize: 14,\n fontWeight: \"bold\",\n },\n \"& .logo-console\": {\n display: \"flex\",\n alignItems: \"center\",\n\n \"@media (max-width: 900px)\": {\n marginTop: 20,\n flexFlow: \"column\",\n\n \"& svg\": {\n width: \"50%\",\n },\n },\n },\n },\n },\n \"@media (max-width: 900px)\": {\n loginContainer: {\n display: \"flex\",\n flexFlow: \"column\",\n\n \"& .consoleTextBanner\": {\n margin: 0,\n flex: 2,\n\n \"& .left-items\": {\n alignItems: \"center\",\n textAlign: \"center\",\n },\n\n \"& .logoLine\": {\n justifyContent: \"center\",\n },\n },\n },\n },\n loadingLoginStrategy: {\n textAlign: \"center\",\n width: 40,\n height: 40,\n },\n headerTitle: {\n marginRight: \"auto\",\n marginBottom: 15,\n },\n submitContainer: {\n textAlign: \"right\",\n },\n linearPredef: {\n height: 10,\n },\n\n loaderAlignment: {\n display: \"flex\",\n width: \"100%\",\n height: \"100%\",\n justifyContent: \"center\",\n alignItems: \"center\",\n flexDirection: \"column\",\n },\n retryButton: {\n alignSelf: \"flex-end\",\n },\n loginComponentContainer: {\n maxWidth: 360,\n width: \"100%\",\n alignSelf: \"center\",\n },\n ...spacingUtils,\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n \"& .MuiOutlinedInput-root\": {\n paddingLeft: 0,\n \"& svg\": {\n marginLeft: 4,\n height: 14,\n color: theme.palette.primary.main,\n },\n \"& input\": {\n padding: 10,\n fontSize: 14,\n paddingLeft: 0,\n \"&::placeholder\": {\n fontSize: 12,\n },\n \"@media (max-width: 900px)\": {\n padding: 10,\n },\n },\n \"& fieldset\": {},\n\n \"& fieldset:hover\": {\n borderBottom: \"2px solid #000000\",\n borderRadius: 0,\n },\n },\n },\n })\n);\n\nfunction LoginField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n \n );\n}\n\nconst mapState = (state: SystemState) => ({\n loggedIn: state.loggedIn,\n});\n\nconst connector = connect(mapState, { userLoggedIn, setErrorSnackMessage });\n\n// The inferred type will look like:\n// {isOn: boolean, toggleOn: () => void}\n\ninterface ILoginProps {\n userLoggedIn: typeof userLoggedIn;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n classes: any;\n}\n\ninterface LoginStrategyRoutes {\n [key: string]: string;\n}\n\ninterface LoginStrategyPayload {\n [key: string]: any;\n}\n\nconst Login = ({\n classes,\n userLoggedIn,\n setErrorSnackMessage,\n}: ILoginProps) => {\n const [accessKey, setAccessKey] = useState(\"\");\n const [jwt, setJwt] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n const [loginStrategy, setLoginStrategy] = useState({\n loginStrategy: loginStrategyType.unknown,\n redirect: \"\",\n });\n const [loginSending, setLoginSending] = useState(false);\n const [loadingFetchConfiguration, setLoadingFetchConfiguration] =\n useState(true);\n\n const [latestMinIOVersion, setLatestMinIOVersion] = useState(\"\");\n const [loadingVersion, setLoadingVersion] = useState(true);\n\n const loginStrategyEndpoints: LoginStrategyRoutes = {\n form: \"/api/v1/login\",\n \"service-account\": \"/api/v1/login/operator\",\n };\n const loginStrategyPayload: LoginStrategyPayload = {\n form: { accessKey, secretKey },\n \"service-account\": { jwt },\n };\n\n const fetchConfiguration = () => {\n setLoadingFetchConfiguration(true);\n };\n\n const formSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n setLoginSending(true);\n api\n .invoke(\n \"POST\",\n loginStrategyEndpoints[loginStrategy.loginStrategy] || \"/api/v1/login\",\n loginStrategyPayload[loginStrategy.loginStrategy]\n )\n .then(() => {\n // We set the state in redux\n userLoggedIn(true);\n if (loginStrategy.loginStrategy === loginStrategyType.form) {\n localStorage.setItem(\"userLoggedIn\", encodeFileName(accessKey));\n }\n let targetPath = \"/\";\n if (\n localStorage.getItem(\"redirect-path\") &&\n localStorage.getItem(\"redirect-path\") !== \"\"\n ) {\n targetPath = `${localStorage.getItem(\"redirect-path\")}`;\n localStorage.setItem(\"redirect-path\", \"\");\n }\n history.push(targetPath);\n })\n .catch((err) => {\n setLoginSending(false);\n setErrorSnackMessage(err);\n });\n };\n\n useEffect(() => {\n if (loadingFetchConfiguration) {\n api\n .invoke(\"GET\", \"/api/v1/login\")\n .then((loginDetails: ILoginDetails) => {\n setLoginStrategy(loginDetails);\n setLoadingFetchConfiguration(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoadingFetchConfiguration(false);\n });\n }\n }, [loadingFetchConfiguration, setErrorSnackMessage]);\n\n useEffect(() => {\n if (loadingVersion) {\n api\n .invoke(\"GET\", \"/api/v1/check-version\")\n .then(\n ({\n current_version,\n latest_version,\n }: {\n current_version: string;\n latest_version: string;\n }) => {\n setLatestMinIOVersion(latest_version);\n setLoadingVersion(false);\n }\n )\n .catch((err: ErrorResponseHandler) => {\n // try the operator version\n api\n .invoke(\"GET\", \"/api/v1/check-operator-version\")\n .then(\n ({\n current_version,\n latest_version,\n }: {\n current_version: string;\n latest_version: string;\n }) => {\n setLatestMinIOVersion(latest_version);\n setLoadingVersion(false);\n }\n )\n .catch((err: ErrorResponseHandler) => {\n setLoadingVersion(false);\n });\n });\n }\n }, [loadingVersion, setLoadingVersion, setLatestMinIOVersion]);\n\n let loginComponent = null;\n\n switch (loginStrategy.loginStrategy) {\n case loginStrategyType.form: {\n loginComponent = (\n \n \n \n );\n break;\n }\n case loginStrategyType.redirect: {\n loginComponent = (\n \n \n \n );\n break;\n }\n case loginStrategyType.serviceAccount: {\n loginComponent = (\n \n \n \n );\n break;\n }\n default:\n loginComponent = (\n
\n {loadingFetchConfiguration ? (\n \n ) : (\n \n
\n
\n An error has occurred\n \n The backend cannot be reached.\n
\n );\n};\n\nexport default connector(withStyles(styles)(Login));\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;"],"names":["loginStrategyType","props","xmlns","className","fill","viewBox","id","d","width","height","clipPath","transform","inputStyles","makeStyles","theme","createStyles","root","paddingLeft","marginLeft","color","palette","primary","main","padding","fontSize","borderBottom","borderRadius","LoginField","classes","TextField","variant","connect","state","loggedIn","userLoggedIn","setErrorSnackMessage","withStyles","position","top","left","overflow","form","submit","margin","boxShadow","learnMore","textAlign","marginTop","separator","marginRight","linkHolder","miniLinks","textDecoration","miniLogo","paddingTop","loginPage","loginContainer","flexDirection","backgroundColor","fontWeight","lineHeight","flex","display","justifyContent","alignItems","paddingBottom","marginBottom","font","textTransform","flexFlow","loadingLoginStrategy","headerTitle","submitContainer","linearPredef","loaderAlignment","retryButton","alignSelf","loginComponentContainer","maxWidth","spacingUtils","useState","accessKey","setAccessKey","jwt","setJwt","secretKey","setSecretKey","loginStrategy","unknown","redirect","setLoginStrategy","loginSending","setLoginSending","loadingFetchConfiguration","setLoadingFetchConfiguration","latestMinIOVersion","setLatestMinIOVersion","loadingVersion","setLoadingVersion","loginStrategyEndpoints","loginStrategyPayload","formSubmit","e","preventDefault","api","then","localStorage","setItem","encodeFileName","targetPath","getItem","history","catch","err","useEffect","loginDetails","current_version","latest_version","loginComponent","noValidate","onSubmit","Grid","container","spacing","item","xs","spacerBottom","fullWidth","inputField","value","onChange","target","placeholder","name","autoComplete","disabled","InputProps","startAdornment","InputAdornment","iconColor","type","Button","LinearProgress","component","href","serviceAccount","required","Loader","style","onClick","endIcon","RefreshIcon","consoleText","CssBaseline","MainError","rel","clsx","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","overridesResolver","styles","ownerState","capitalize","disablePointerEvents","_extends","maxHeight","whiteSpace","action","active","inputAdornmentClasses","pointerEvents","React","inProps","ref","useThemeProps","children","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","size","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","_jsxs","Typography"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1666.9098f0d4.chunk.js.map b/portal-ui/build/static/js/1666.9098f0d4.chunk.js.map
deleted file mode 100644
index aa92b1cd6..000000000
--- a/portal-ui/build/static/js/1666.9098f0d4.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/1666.9098f0d4.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/AddBucketTagModal.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { Button, Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { AppState } from \"../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../../common/api\";\nimport { AddNewTagIcon } from \"../../../../icons\";\n\ninterface IBucketTagModal {\n modalOpen: boolean;\n currentTags: any;\n bucketName: string;\n onCloseAndUpdate: (refresh: boolean) => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\n\nconst AddBucketTagModal = ({\n modalOpen,\n currentTags,\n onCloseAndUpdate,\n bucketName,\n setModalErrorSnackMessage,\n classes,\n}: IBucketTagModal) => {\n const [newKey, setNewKey] = useState(\"\");\n const [newLabel, setNewLabel] = useState(\"\");\n const [isSending, setIsSending] = useState(false);\n\n const resetForm = () => {\n setNewLabel(\"\");\n setNewKey(\"\");\n };\n\n const addTagProcess = () => {\n setIsSending(true);\n const newTag: any = {};\n\n newTag[newKey] = newLabel;\n const newTagList = { ...currentTags, ...newTag };\n\n api\n .invoke(\"PUT\", `/api/v1/buckets/${bucketName}/tags`, {\n tags: newTagList,\n })\n .then((res: any) => {\n setIsSending(false);\n onCloseAndUpdate(true);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setIsSending(false);\n });\n };\n\n return (\n {\n onCloseAndUpdate(false);\n }}\n titleIcon={}\n >\n \n
\n Bucket: {bucketName}\n
\n \n {\n setNewKey(e.target.value);\n }}\n />\n \n \n {\n setNewLabel(e.target.value);\n }}\n />\n \n \n \n \n \n \n \n );\n};\n\nconst mapStateToProps = ({ system }: AppState) => ({\n distributedSetup: get(system, \"distributedSetup\", false),\n});\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddBucketTagModal));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"0 2rem 2rem 1rem\",\n },\n },\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n"],"names":["mapDispatchToProps","setModalErrorSnackMessage","connector","connect","system","distributedSetup","get","withStyles","theme","createStyles","formFieldStyles","modalStyleUtils","spacingUtils","modalOpen","currentTags","onCloseAndUpdate","bucketName","classes","useState","newKey","setNewKey","newLabel","setNewLabel","isSending","setIsSending","title","onClose","titleIcon","container","className","spacerBottom","item","xs","formFieldRow","value","label","id","name","placeholder","onChange","e","target","modalButtonBar","type","variant","color","onClick","disabled","trim","newTag","newTagList","api","tags","then","res","catch","error","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","autoComplete","multiline","tooltip","index","required","min","max","overlayId","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","onKeyPress","inputProps","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","placement","fullWidth","helperText","inputRebase","size","disableFocusRipple","disableRipple","disableTouchRipple","state","modalSnackMessage","modalSnackBar","setModalSnackMessage","deleteDialogStyles","root","padding","content","paddingBottom","customDialogSize","width","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","useEffect","message","customSize","paper","detailedErrorMsg","length","open","scroll","event","reason","titleText","closeContainer","closeButton","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1666.9098f0d4.chunk.js b/portal-ui/build/static/js/1666.d207aa88.chunk.js
similarity index 69%
rename from portal-ui/build/static/js/1666.9098f0d4.chunk.js
rename to portal-ui/build/static/js/1666.d207aa88.chunk.js
index 69462d3aa..c52c20b1a 100644
--- a/portal-ui/build/static/js/1666.9098f0d4.chunk.js
+++ b/portal-ui/build/static/js/1666.d207aa88.chunk.js
@@ -1,2 +1,2 @@
-"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1666],{23152:function(e,a,n){n.r(a);var t=n(23430),i=n(18489),o=n(50390),s=n(38342),l=n.n(s),r=n(34424),c=n(25594),d=n(66946),u=n(86509),m=n(4285),p=n(72462),h=n(44149),v=n(66964),x=n(51002),Z=n(30324),g=n(86362),f=n(62559),b={setModalErrorSnackMessage:h.zb},j=(0,r.$j)((function(e){var a=e.system;return{distributedSetup:l()(a,"distributedSetup",!1)}}),b);a.default=(0,m.Z)((function(e){return(0,u.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},p.DF),p.ID),p.bK))}))(j((function(e){var a=e.modalOpen,n=e.currentTags,s=e.onCloseAndUpdate,l=e.bucketName,r=e.setModalErrorSnackMessage,u=e.classes,m=(0,o.useState)(""),p=(0,t.Z)(m,2),h=p[0],b=p[1],j=(0,o.useState)(""),N=(0,t.Z)(j,2),C=N[0],k=N[1],y=(0,o.useState)(!1),w=(0,t.Z)(y,2),M=w[0],S=w[1];return(0,f.jsx)(x.Z,{modalOpen:a,title:"Add New Tag ",onClose:function(){s(!1)},titleIcon:(0,f.jsx)(g.OC,{}),children:(0,f.jsxs)(c.ZP,{container:!0,children:[(0,f.jsxs)("div",{className:u.spacerBottom,children:[(0,f.jsx)("strong",{children:"Bucket"}),": ",l]}),(0,f.jsx)(c.ZP,{item:!0,xs:12,className:u.formFieldRow,children:(0,f.jsx)(v.Z,{value:h,label:"New Tag Key",id:"newTagKey",name:"newTagKey",placeholder:"Enter New Tag Key",onChange:function(e){b(e.target.value)}})}),(0,f.jsx)(c.ZP,{item:!0,xs:12,className:u.formFieldRow,children:(0,f.jsx)(v.Z,{value:C,label:"New Tag Label",id:"newTagLabel",name:"newTagLabel",placeholder:"Enter New Tag Label",onChange:function(e){k(e.target.value)}})}),(0,f.jsxs)(c.ZP,{item:!0,xs:12,className:u.modalButtonBar,children:[(0,f.jsx)(d.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){k(""),b("")},children:"Clear"}),(0,f.jsx)(d.Z,{type:"submit",variant:"contained",color:"primary",disabled:""===C.trim()||""===h.trim()||M,onClick:function(){S(!0);var e={};e[h]=C;var a=(0,i.Z)((0,i.Z)({},n),e);Z.Z.invoke("PUT","/api/v1/buckets/".concat(l,"/tags"),{tags:a}).then((function(e){S(!1),s(!0)})).catch((function(e){r(e),S(!1)}))},children:"Save"})]})]})})})))},66964:function(e,a,n){var t=n(18489),i=n(50390),o=n(12066),s=n(25594),l=n(36554),r=n(94187),c=n(95467),d=n(86509),u=n(62449),m=n(4285),p=n(72462),h=n(97538),v=n(44977),x=n(62559),Z=(0,u.Z)((function(e){return(0,d.Z)((0,t.Z)({},p.gM))}));function g(e){var a=Z();return(0,x.jsx)(o.Z,(0,t.Z)({InputProps:{classes:a}},e))}a.Z=(0,m.Z)((function(e){return(0,d.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,t.Z)((0,t.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var a=e.label,n=e.onChange,o=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,Z=e.autoComplete,f=void 0===Z?"off":Z,b=e.disabled,j=void 0!==b&&b,N=e.multiline,C=void 0!==N&&N,k=e.tooltip,y=void 0===k?"":k,w=e.index,M=void 0===w?0:w,S=e.error,P=void 0===S?"":S,T=e.required,B=void 0!==T&&T,L=e.placeholder,I=void 0===L?"":L,E=e.min,F=e.max,K=e.overlayId,W=e.overlayIcon,R=void 0===W?null:W,A=e.overlayObject,z=void 0===A?null:A,D=e.extraInputProps,O=void 0===D?{}:D,H=e.overlayAction,U=e.noLabelMinWidth,Y=void 0!==U&&U,$=e.pattern,_=void 0===$?"":$,q=e.autoFocus,G=void 0!==q&&q,Q=e.classes,J=e.className,V=void 0===J?"":J,X=e.onKeyPress,ee=(0,t.Z)({"data-index":M},O);return"number"===p&&E&&(ee.min=E),"number"===p&&F&&(ee.max=F),""!==_&&(ee.pattern=_),(0,x.jsx)(i.Fragment,{children:(0,x.jsxs)(s.ZP,{container:!0,className:(0,v.Z)(""!==V?V:"",""!==P?Q.errorInField:Q.inputBoxContainer),children:[""!==a&&(0,x.jsxs)(l.Z,{htmlFor:d,className:Y?Q.noMinWidthLabel:Q.inputLabel,children:[(0,x.jsxs)("span",{children:[a,B?"*":""]}),""!==y&&(0,x.jsx)("div",{className:Q.tooltipContainer,children:(0,x.jsx)(r.Z,{title:y,placement:"top-start",children:(0,x.jsx)("div",{className:Q.tooltip,children:(0,x.jsx)(h.Z,{})})})})]}),(0,x.jsxs)("div",{className:Q.textBoxContainer,children:[(0,x.jsx)(g,{id:d,name:u,fullWidth:!0,value:o,autoFocus:G,disabled:j,onChange:n,type:p,multiline:C,autoComplete:f,inputProps:ee,error:""!==P,helperText:P,placeholder:I,className:Q.inputRebase,onKeyPress:X}),R&&(0,x.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==a?"withLabel":""),children:(0,x.jsx)(c.Z,{onClick:H?function(){H()}:function(){return null},id:K,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:R})}),z&&(0,x.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==a?"withLabel":""),children:z})]})]})})}))},51002:function(e,a,n){var t=n(23430),i=n(18489),o=n(50390),s=n(34424),l=n(95467),r=n(97771),c=n(84402),d=n(78426),u=n(93085),m=n(86509),p=n(4285),h=n(72462),v=n(44149),x=n(21278),Z=n(45980),g=n(62559),f=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:v.MK});a.Z=(0,p.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)({},h.Qw),{},{root:{"& .MuiPaper-root":{padding:"0 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))(f((function(e){var a=e.onClose,n=e.modalOpen,s=e.title,m=e.children,p=e.classes,h=e.wideLimit,v=void 0===h||h,f=e.modalSnackMessage,b=e.noContentPadding,j=e.setModalSnackMessage,N=e.titleIcon,C=void 0===N?null:N,k=(0,o.useState)(!1),y=(0,t.Z)(k,2),w=y[0],M=y[1];(0,o.useEffect)((function(){j("")}),[j]),(0,o.useEffect)((function(){if(f){if(""===f.message)return void M(!1);"error"!==f.type&&M(!0)}}),[f]);var S=v?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},P="";return f&&(P=f.detailedErrorMsg,(""===f.detailedErrorMsg||f.detailedErrorMsg.length<5)&&(P=f.message)),(0,g.jsxs)(c.Z,(0,i.Z)((0,i.Z)({open:n,classes:p},S),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&a()},className:p.root,children:[(0,g.jsxs)(d.Z,{className:p.title,children:[(0,g.jsxs)("div",{className:p.titleText,children:[C," ",s]}),(0,g.jsx)("div",{className:p.closeContainer,children:(0,g.jsx)(l.Z,{"aria-label":"close",className:p.closeButton,onClick:a,disableRipple:!0,size:"small",children:(0,g.jsx)(x.Z,{})})})]}),(0,g.jsx)(Z.Z,{isModal:!0}),(0,g.jsx)(r.Z,{open:w,className:p.snackBarModal,onClose:function(){M(!1),j("")},message:P,ContentProps:{className:"".concat(p.snackBar," ").concat(f&&"error"===f.type?p.errorSnackBar:"")},autoHideDuration:f&&"error"===f.type?1e4:5e3}),(0,g.jsx)(u.Z,{className:b?"":p.content,children:m})]}))})))}}]);
-//# sourceMappingURL=1666.9098f0d4.chunk.js.map
\ No newline at end of file
+"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1666],{23152:function(e,a,n){n.r(a);var t=n(23430),i=n(18489),o=n(50390),s=n(38342),l=n.n(s),r=n(34424),c=n(25594),d=n(66946),u=n(86509),m=n(4285),p=n(72462),h=n(44149),v=n(66964),x=n(51002),Z=n(30324),g=n(14549),f=n(62559),b={setModalErrorSnackMessage:h.zb},j=(0,r.$j)((function(e){var a=e.system;return{distributedSetup:l()(a,"distributedSetup",!1)}}),b);a.default=(0,m.Z)((function(e){return(0,u.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},p.DF),p.ID),p.bK))}))(j((function(e){var a=e.modalOpen,n=e.currentTags,s=e.onCloseAndUpdate,l=e.bucketName,r=e.setModalErrorSnackMessage,u=e.classes,m=(0,o.useState)(""),p=(0,t.Z)(m,2),h=p[0],b=p[1],j=(0,o.useState)(""),N=(0,t.Z)(j,2),C=N[0],k=N[1],y=(0,o.useState)(!1),w=(0,t.Z)(y,2),M=w[0],S=w[1];return(0,f.jsx)(x.Z,{modalOpen:a,title:"Add New Tag ",onClose:function(){s(!1)},titleIcon:(0,f.jsx)(g.OC,{}),children:(0,f.jsxs)(c.ZP,{container:!0,children:[(0,f.jsxs)("div",{className:u.spacerBottom,children:[(0,f.jsx)("strong",{children:"Bucket"}),": ",l]}),(0,f.jsx)(c.ZP,{item:!0,xs:12,className:u.formFieldRow,children:(0,f.jsx)(v.Z,{value:h,label:"New Tag Key",id:"newTagKey",name:"newTagKey",placeholder:"Enter New Tag Key",onChange:function(e){b(e.target.value)}})}),(0,f.jsx)(c.ZP,{item:!0,xs:12,className:u.formFieldRow,children:(0,f.jsx)(v.Z,{value:C,label:"New Tag Label",id:"newTagLabel",name:"newTagLabel",placeholder:"Enter New Tag Label",onChange:function(e){k(e.target.value)}})}),(0,f.jsxs)(c.ZP,{item:!0,xs:12,className:u.modalButtonBar,children:[(0,f.jsx)(d.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){k(""),b("")},children:"Clear"}),(0,f.jsx)(d.Z,{type:"submit",variant:"contained",color:"primary",disabled:""===C.trim()||""===h.trim()||M,onClick:function(){S(!0);var e={};e[h]=C;var a=(0,i.Z)((0,i.Z)({},n),e);Z.Z.invoke("PUT","/api/v1/buckets/".concat(l,"/tags"),{tags:a}).then((function(e){S(!1),s(!0)})).catch((function(e){r(e),S(!1)}))},children:"Save"})]})]})})})))},66964:function(e,a,n){var t=n(18489),i=n(50390),o=n(12066),s=n(25594),l=n(36554),r=n(94187),c=n(95467),d=n(86509),u=n(62449),m=n(4285),p=n(72462),h=n(97538),v=n(44977),x=n(62559),Z=(0,u.Z)((function(e){return(0,d.Z)((0,t.Z)({},p.gM))}));function g(e){var a=Z();return(0,x.jsx)(o.Z,(0,t.Z)({InputProps:{classes:a}},e))}a.Z=(0,m.Z)((function(e){return(0,d.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,t.Z)((0,t.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var a=e.label,n=e.onChange,o=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,Z=e.autoComplete,f=void 0===Z?"off":Z,b=e.disabled,j=void 0!==b&&b,N=e.multiline,C=void 0!==N&&N,k=e.tooltip,y=void 0===k?"":k,w=e.index,M=void 0===w?0:w,S=e.error,T=void 0===S?"":S,B=e.required,L=void 0!==B&&B,P=e.placeholder,I=void 0===P?"":P,E=e.min,F=e.max,K=e.overlayId,W=e.overlayIcon,R=void 0===W?null:W,A=e.overlayObject,z=void 0===A?null:A,D=e.extraInputProps,O=void 0===D?{}:D,H=e.overlayAction,U=e.noLabelMinWidth,Y=void 0!==U&&U,$=e.pattern,_=void 0===$?"":$,q=e.autoFocus,G=void 0!==q&&q,Q=e.classes,J=e.className,V=void 0===J?"":J,X=e.onKeyPress,ee=(0,t.Z)({"data-index":M},O);return"number"===p&&E&&(ee.min=E),"number"===p&&F&&(ee.max=F),""!==_&&(ee.pattern=_),(0,x.jsx)(i.Fragment,{children:(0,x.jsxs)(s.ZP,{container:!0,className:(0,v.Z)(""!==V?V:"",""!==T?Q.errorInField:Q.inputBoxContainer),children:[""!==a&&(0,x.jsxs)(l.Z,{htmlFor:d,className:Y?Q.noMinWidthLabel:Q.inputLabel,children:[(0,x.jsxs)("span",{children:[a,L?"*":""]}),""!==y&&(0,x.jsx)("div",{className:Q.tooltipContainer,children:(0,x.jsx)(r.Z,{title:y,placement:"top-start",children:(0,x.jsx)("div",{className:Q.tooltip,children:(0,x.jsx)(h.Z,{})})})})]}),(0,x.jsxs)("div",{className:Q.textBoxContainer,children:[(0,x.jsx)(g,{id:d,name:u,fullWidth:!0,value:o,autoFocus:G,disabled:j,onChange:n,type:p,multiline:C,autoComplete:f,inputProps:ee,error:""!==T,helperText:T,placeholder:I,className:Q.inputRebase,onKeyPress:X}),R&&(0,x.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==a?"withLabel":""),children:(0,x.jsx)(c.Z,{onClick:H?function(){H()}:function(){return null},id:K,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:R})}),z&&(0,x.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==a?"withLabel":""),children:z})]})]})})}))},51002:function(e,a,n){var t=n(23430),i=n(18489),o=n(50390),s=n(34424),l=n(95467),r=n(97771),c=n(84402),d=n(78426),u=n(93085),m=n(86509),p=n(4285),h=n(72462),v=n(44149),x=n(21278),Z=n(45980),g=n(62559),f=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:v.MK});a.Z=(0,p.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)({},h.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))(f((function(e){var a=e.onClose,n=e.modalOpen,s=e.title,m=e.children,p=e.classes,h=e.wideLimit,v=void 0===h||h,f=e.modalSnackMessage,b=e.noContentPadding,j=e.setModalSnackMessage,N=e.titleIcon,C=void 0===N?null:N,k=(0,o.useState)(!1),y=(0,t.Z)(k,2),w=y[0],M=y[1];(0,o.useEffect)((function(){j("")}),[j]),(0,o.useEffect)((function(){if(f){if(""===f.message)return void M(!1);"error"!==f.type&&M(!0)}}),[f]);var S=v?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},T="";return f&&(T=f.detailedErrorMsg,(""===f.detailedErrorMsg||f.detailedErrorMsg.length<5)&&(T=f.message)),(0,g.jsxs)(c.Z,(0,i.Z)((0,i.Z)({open:n,classes:p},S),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&a()},className:p.root,children:[(0,g.jsxs)(d.Z,{className:p.title,children:[(0,g.jsxs)("div",{className:p.titleText,children:[C," ",s]}),(0,g.jsx)("div",{className:p.closeContainer,children:(0,g.jsx)(l.Z,{"aria-label":"close",id:"close",className:p.closeButton,onClick:a,disableRipple:!0,size:"small",children:(0,g.jsx)(x.Z,{})})})]}),(0,g.jsx)(Z.Z,{isModal:!0}),(0,g.jsx)(r.Z,{open:w,className:p.snackBarModal,onClose:function(){M(!1),j("")},message:T,ContentProps:{className:"".concat(p.snackBar," ").concat(f&&"error"===f.type?p.errorSnackBar:"")},autoHideDuration:f&&"error"===f.type?1e4:5e3}),(0,g.jsx)(u.Z,{className:b?"":p.content,children:m})]}))})))}}]);
+//# sourceMappingURL=1666.d207aa88.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1666.d207aa88.chunk.js.map b/portal-ui/build/static/js/1666.d207aa88.chunk.js.map
new file mode 100644
index 000000000..284e4a9ac
--- /dev/null
+++ b/portal-ui/build/static/js/1666.d207aa88.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/1666.d207aa88.chunk.js","mappings":"gTA6JMA,EAAqB,CACzBC,0BAAAA,EAAAA,IAGIC,GAAYC,EAAAA,EAAAA,KARM,SAAC,GAAD,IAAGC,EAAH,EAAGA,OAAH,MAA2B,CACjDC,iBAAkBC,GAAAA,CAAIF,EAAQ,oBAAoB,MAOTJ,GAE3C,WAAeO,EAAAA,EAAAA,IAtHA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,0BACRC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,OAkHP,CAAkCV,GA/GR,SAAC,GAOH,IANtBW,EAMqB,EANrBA,UACAC,EAKqB,EALrBA,YACAC,EAIqB,EAJrBA,iBACAC,EAGqB,EAHrBA,WACAf,EAEqB,EAFrBA,0BACAgB,EACqB,EADrBA,QAEA,GAA4BC,EAAAA,EAAAA,UAAiB,IAA7C,eAAOC,EAAP,KAAeC,EAAf,KACA,GAAgCF,EAAAA,EAAAA,UAAiB,IAAjD,eAAOG,EAAP,KAAiBC,EAAjB,KACA,GAAkCJ,EAAAA,EAAAA,WAAkB,GAApD,eAAOK,EAAP,KAAkBC,EAAlB,KA4BA,OACE,SAAC,IAAD,CACEX,UAAWA,EACXY,MAAK,eACLC,QAAS,WACPX,GAAiB,IAEnBY,WAAW,SAAC,KAAD,IANb,UAQE,UAAC,KAAD,CAAMC,WAAS,EAAf,WACE,iBAAKC,UAAWZ,EAAQa,aAAxB,WACE,uCADF,KAC4Bd,MAE5B,SAAC,KAAD,CAAMe,MAAI,EAACC,GAAI,GAAIH,UAAWZ,EAAQgB,aAAtC,UACE,SAAC,IAAD,CACEC,MAAOf,EACPgB,MAAO,cACPC,GAAI,YACJC,KAAM,YACNC,YAAa,oBACbC,SAAU,SAACC,GACTpB,EAAUoB,EAAEC,OAAOP,aAIzB,SAAC,KAAD,CAAMH,MAAI,EAACC,GAAI,GAAIH,UAAWZ,EAAQgB,aAAtC,UACE,SAAC,IAAD,CACEC,MAAOb,EACPc,MAAO,gBACPC,GAAI,cACJC,KAAM,cACNC,YAAa,sBACbC,SAAU,SAACC,GACTlB,EAAYkB,EAAEC,OAAOP,aAI3B,UAAC,KAAD,CAAMH,MAAI,EAACC,GAAI,GAAIH,UAAWZ,EAAQyB,eAAtC,WACE,SAAC,IAAD,CACEC,KAAK,SACLC,QAAQ,WACRC,MAAM,UACNC,QApEQ,WAChBxB,EAAY,IACZF,EAAU,KA8DJ,oBAQA,SAAC,IAAD,CACEuB,KAAK,SACLC,QAAQ,YACRC,MAAM,UACNE,SACsB,KAApB1B,EAAS2B,QAAmC,KAAlB7B,EAAO6B,QAAiBzB,EAEpDuB,QA1EY,WACpBtB,GAAa,GACb,IAAMyB,EAAc,GAEpBA,EAAO9B,GAAUE,EACjB,IAAM6B,GAAU,kBAAQpC,GAAgBmC,GAExCE,EAAAA,EAAAA,OACU,MADV,0BACoCnC,EADpC,SACuD,CACnDoC,KAAMF,IAEPG,MAAK,SAACC,GACL9B,GAAa,GACbT,GAAiB,MAElBwC,OAAM,SAACC,GACNvD,EAA0BuD,GAC1BhC,GAAa,OAkDX,+B,mLC1CJiC,GAAcC,EAAAA,EAAAA,IAAW,SAAClD,GAAD,OAC7BC,EAAAA,EAAAA,IAAa,UACRkD,EAAAA,QAIP,SAASC,EAAWC,GAClB,IAAM5C,EAAUwC,IAEhB,OACE,SAAC,KAAD,QACEK,WAAY,CAAE7C,QAAAA,IACV4C,IA0IV,KAAetD,EAAAA,EAAAA,IAhLA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,0BACRsD,EAAAA,IACAC,EAAAA,IAFO,IAGVC,iBAAkB,CAChBC,SAAU,EACVC,SAAU,YAEZC,cAAe,CACbD,SAAU,WACVE,MAAO,EACPC,IAAK,EACL,QAAS,CACPC,SAAU,GACVC,UAAW,IAEb,cAAe,CACbF,IAAK,IAGTG,YAAW,kBACNV,EAAAA,GAAAA,YADK,IAERW,WAAY,gBA0JlB,EArIwB,SAAC,GA4BH,IA3BpBvC,EA2BmB,EA3BnBA,MACAI,EA0BmB,EA1BnBA,SACAL,EAyBmB,EAzBnBA,MACAE,EAwBmB,EAxBnBA,GACAC,EAuBmB,EAvBnBA,KAuBmB,IAtBnBM,KAAAA,OAsBmB,MAtBZ,OAsBY,MArBnBgC,aAAAA,OAqBmB,MArBJ,MAqBI,MApBnB5B,SAAAA,OAoBmB,aAnBnB6B,UAAAA,OAmBmB,aAlBnBC,QAAAA,OAkBmB,MAlBT,GAkBS,MAjBnBC,MAAAA,OAiBmB,MAjBX,EAiBW,MAhBnBtB,MAAAA,OAgBmB,MAhBX,GAgBW,MAfnBuB,SAAAA,OAemB,aAdnBzC,YAAAA,OAcmB,MAdL,GAcK,EAbnB0C,EAamB,EAbnBA,IACAC,EAYmB,EAZnBA,IACAC,EAWmB,EAXnBA,UAWmB,IAVnBC,YAAAA,OAUmB,MAVL,KAUK,MATnBC,cAAAA,OASmB,MATH,KASG,MARnBC,gBAAAA,OAQmB,MARD,GAQC,EAPnBjB,EAOmB,EAPnBA,cAOmB,IANnBkB,gBAAAA,OAMmB,aALnBC,QAAAA,OAKmB,MALT,GAKS,MAJnBC,UAAAA,OAImB,SAHnBvE,EAGmB,EAHnBA,QAGmB,IAFnBY,UAAAA,OAEmB,MAFP,GAEO,EADnB4D,EACmB,EADnBA,WAEIC,IAAe,QAAK,aAAcZ,GAAUO,GAchD,MAZa,WAAT1C,GAAqBqC,IACvBU,GAAU,IAAUV,GAGT,WAATrC,GAAqBsC,IACvBS,GAAU,IAAUT,GAGN,KAAZM,IACFG,GAAU,QAAcH,IAIxB,SAAC,WAAD,WACE,UAAC,KAAD,CACE3D,WAAS,EACTC,WAAW8D,EAAAA,EAAAA,GACK,KAAd9D,EAAmBA,EAAY,GACrB,KAAV2B,EAAevC,EAAQ2E,aAAe3E,EAAQ4E,mBAJlD,UAOa,KAAV1D,IACC,UAAC,IAAD,CACE2D,QAAS1D,EACTP,UACEyD,EAAkBrE,EAAQ8E,gBAAkB9E,EAAQwD,WAHxD,WAME,4BACGtC,EACA4C,EAAW,IAAM,MAEP,KAAZF,IACC,gBAAKhD,UAAWZ,EAAQ+E,iBAAxB,UACE,SAAC,IAAD,CAASvE,MAAOoD,EAASoB,UAAU,YAAnC,UACE,gBAAKpE,UAAWZ,EAAQ4D,QAAxB,UACE,SAAC,IAAD,cAQZ,iBAAKhD,UAAWZ,EAAQgD,iBAAxB,WACE,SAACL,EAAD,CACExB,GAAIA,EACJC,KAAMA,EACN6D,WAAS,EACThE,MAAOA,EACPsD,UAAWA,EACXzC,SAAUA,EACVR,SAAUA,EACVI,KAAMA,EACNiC,UAAWA,EACXD,aAAcA,EACde,WAAYA,GACZlC,MAAiB,KAAVA,EACP2C,WAAY3C,EACZlB,YAAaA,EACbT,UAAWZ,EAAQmF,YACnBX,WAAYA,IAEbN,IACC,gBACEtD,UAAS,UAAKZ,EAAQmD,cAAb,YACG,KAAVjC,EAAe,YAAc,IAFjC,UAKE,SAAC,IAAD,CACEW,QACEsB,EACI,WACEA,KAEF,kBAAM,MAEZhC,GAAI8C,EACJmB,KAAM,QACNC,oBAAoB,EACpBC,eAAe,EACfC,oBAAoB,EAZtB,SAcGrB,MAINC,IACC,gBACEvD,UAAS,UAAKZ,EAAQmD,cAAb,YACG,KAAVjC,EAAe,YAAc,IAFjC,SAKGiD,gB,yMC1DTlF,GAAYC,EAAAA,EAAAA,KAJD,SAACsG,GAAD,MAAsB,CACrCC,kBAAmBD,EAAMrG,OAAOuG,iBAGE,CAClCC,qBAAAA,EAAAA,KAGF,KAAerG,EAAAA,EAAAA,IAvIA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,kBACRoG,EAAAA,IADO,IAEVC,QAAS,CACPC,QAAS,GACTC,cAAe,GAEjBC,iBAAkB,CAChBC,MAAO,OACP3C,SAAU,MAET4C,EAAAA,OA4HP,CAAkCjH,GAzHb,SAAC,GAWF,IAVlBwB,EAUiB,EAVjBA,QACAb,EASiB,EATjBA,UACAY,EAQiB,EARjBA,MACA2F,EAOiB,EAPjBA,SACAnG,EAMiB,EANjBA,QAMiB,IALjBoG,UAAAA,OAKiB,SAJjBX,EAIiB,EAJjBA,kBACAY,EAGiB,EAHjBA,iBACAV,EAEiB,EAFjBA,qBAEiB,IADjBjF,UAAAA,OACiB,MADL,KACK,EACjB,GAAwCT,EAAAA,EAAAA,WAAkB,GAA1D,eAAOqG,EAAP,KAAqBC,EAArB,MAEAC,EAAAA,EAAAA,YAAU,WACRb,EAAqB,MACpB,CAACA,KAEJa,EAAAA,EAAAA,YAAU,WACR,GAAIf,EAAmB,CACrB,GAAkC,KAA9BA,EAAkBgB,QAEpB,YADAF,GAAgB,GAIa,UAA3Bd,EAAkB/D,MACpB6E,GAAgB,MAGnB,CAACd,IAEJ,IAKMiB,EAAaN,EACf,CACEpG,QAAS,CACP2G,MAAO3G,EAAQgG,mBAGnB,CAAE1C,SAAU,KAAe2B,WAAW,GAEtCwB,EAAU,GAYd,OAVIhB,IACFgB,EAAUhB,EAAkBmB,kBAEa,KAAvCnB,EAAkBmB,kBAClBnB,EAAkBmB,iBAAiBC,OAAS,KAE5CJ,EAAUhB,EAAkBgB,WAK9B,UAAC,KAAD,gBACEK,KAAMlH,EACNI,QAASA,GACL0G,GAHN,IAIEK,OAAQ,QACRtG,QAAS,SAACuG,EAAOC,GACA,kBAAXA,GACFxG,KAGJG,UAAWZ,EAAQkH,KAVrB,WAYE,UAAC,IAAD,CAAatG,UAAWZ,EAAQQ,MAAhC,WACE,iBAAKI,UAAWZ,EAAQmH,UAAxB,UACGzG,EADH,IACeF,MAEf,gBAAKI,UAAWZ,EAAQoH,eAAxB,UACE,SAAC,IAAD,CACE,aAAW,QACXjG,GAAI,QACJP,UAAWZ,EAAQqH,YACnBxF,QAASpB,EACT6E,eAAa,EACbF,KAAK,QANP,UAQE,SAAC,IAAD,YAKN,SAAC,IAAD,CAAWkC,SAAS,KACpB,SAAC,IAAD,CACER,KAAMR,EACN1F,UAAWZ,EAAQuH,cACnB9G,QAAS,WA3Db8F,GAAgB,GAChBZ,EAAqB,KA6DjBc,QAASA,EACTe,aAAc,CACZ5G,UAAU,GAAD,OAAKZ,EAAQyH,SAAb,YACPhC,GAAgD,UAA3BA,EAAkB/D,KACnC1B,EAAQ0H,cACR,KAGRC,iBACElC,GAAgD,UAA3BA,EAAkB/D,KAAmB,IAAQ,OAGtE,SAAC,IAAD,CAAed,UAAWyF,EAAmB,GAAKrG,EAAQ6F,QAA1D,SACGM","sources":["screens/Console/Buckets/BucketDetails/AddBucketTagModal.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { Button, Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { AppState } from \"../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../../common/api\";\nimport { AddNewTagIcon } from \"../../../../icons\";\n\ninterface IBucketTagModal {\n modalOpen: boolean;\n currentTags: any;\n bucketName: string;\n onCloseAndUpdate: (refresh: boolean) => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\n\nconst AddBucketTagModal = ({\n modalOpen,\n currentTags,\n onCloseAndUpdate,\n bucketName,\n setModalErrorSnackMessage,\n classes,\n}: IBucketTagModal) => {\n const [newKey, setNewKey] = useState(\"\");\n const [newLabel, setNewLabel] = useState(\"\");\n const [isSending, setIsSending] = useState(false);\n\n const resetForm = () => {\n setNewLabel(\"\");\n setNewKey(\"\");\n };\n\n const addTagProcess = () => {\n setIsSending(true);\n const newTag: any = {};\n\n newTag[newKey] = newLabel;\n const newTagList = { ...currentTags, ...newTag };\n\n api\n .invoke(\"PUT\", `/api/v1/buckets/${bucketName}/tags`, {\n tags: newTagList,\n })\n .then((res: any) => {\n setIsSending(false);\n onCloseAndUpdate(true);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setIsSending(false);\n });\n };\n\n return (\n {\n onCloseAndUpdate(false);\n }}\n titleIcon={}\n >\n \n
\n Bucket: {bucketName}\n
\n \n {\n setNewKey(e.target.value);\n }}\n />\n \n \n {\n setNewLabel(e.target.value);\n }}\n />\n \n \n \n \n \n \n \n );\n};\n\nconst mapStateToProps = ({ system }: AppState) => ({\n distributedSetup: get(system, \"distributedSetup\", false),\n});\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddBucketTagModal));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n"],"names":["mapDispatchToProps","setModalErrorSnackMessage","connector","connect","system","distributedSetup","get","withStyles","theme","createStyles","formFieldStyles","modalStyleUtils","spacingUtils","modalOpen","currentTags","onCloseAndUpdate","bucketName","classes","useState","newKey","setNewKey","newLabel","setNewLabel","isSending","setIsSending","title","onClose","titleIcon","container","className","spacerBottom","item","xs","formFieldRow","value","label","id","name","placeholder","onChange","e","target","modalButtonBar","type","variant","color","onClick","disabled","trim","newTag","newTagList","api","tags","then","res","catch","error","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","autoComplete","multiline","tooltip","index","required","min","max","overlayId","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","onKeyPress","inputProps","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","placement","fullWidth","helperText","inputRebase","size","disableFocusRipple","disableRipple","disableTouchRipple","state","modalSnackMessage","modalSnackBar","setModalSnackMessage","deleteDialogStyles","content","padding","paddingBottom","customDialogSize","width","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","useEffect","message","customSize","paper","detailedErrorMsg","length","open","scroll","event","reason","root","titleText","closeContainer","closeButton","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1711.dfdfce0a.chunk.js b/portal-ui/build/static/js/1711.2657a246.chunk.js
similarity index 70%
rename from portal-ui/build/static/js/1711.dfdfce0a.chunk.js
rename to portal-ui/build/static/js/1711.2657a246.chunk.js
index da5fdcf14..5a8a08142 100644
--- a/portal-ui/build/static/js/1711.dfdfce0a.chunk.js
+++ b/portal-ui/build/static/js/1711.2657a246.chunk.js
@@ -1,2 +1,2 @@
-"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1711],{31711:function(e,n,t){t.r(n);var i=t(23430),a=t(18489),o=t(50390),r=t(34424),l=t(66946),s=t(81378),c=t(86509),d=t(4285),u=t(25594),p=t(28948),m=t(44149),h=t(72462),x=t(92440),b=t(66964),f=t(51002),Z=t(30324),v=t(86362),g=t(1365),j=t(62559),C=(0,r.$j)(null,{setModalErrorSnackMessage:m.zb});n.default=(0,d.Z)((function(e){return(0,c.Z)((0,a.Z)((0,a.Z)({},h.DF),h.ID))}))(C((function(e){var n=e.classes,t=e.open,a=e.enabled,r=e.cfg,c=e.selectedBucket,d=e.closeModalAndRefresh,m=e.setModalErrorSnackMessage,h=(0,o.useState)(!1),C=(0,i.Z)(h,2),k=C[0],N=C[1],y=(0,o.useState)(!1),F=(0,i.Z)(y,2),P=F[0],S=F[1],w=(0,o.useState)("1"),M=(0,i.Z)(w,2),B=M[0],L=M[1],E=(0,o.useState)("TiB"),q=(0,i.Z)(E,2),I=q[0],R=q[1];(0,o.useEffect)((function(){if(a&&(S(!0),r)){L("".concat(r.quota)),R("Gi");for(var e="B",n=r.quota,t=0;t1?w[1]:"OFF"}),(0,b.jsx)(f,{checked:v,onChange:r,color:"primary",name:m,inputProps:(0,a.Z)({"aria-label":"primary checkbox"},B),disabled:j,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:l,id:s}),!k&&(0,b.jsx)("span",{className:(0,x.Z)(S.indicatorLabel,(0,i.Z)({},S.indicatorLabelOn,v)),children:w?w[0]:"ON"})]});return k?L:(0,b.jsx)("div",{className:S.divContainer,children:(0,b.jsxs)(p.ZP,{container:!0,alignItems:"center",children:[(0,b.jsx)(p.ZP,{item:!0,xs:!0,children:(0,b.jsxs)(p.ZP,{container:!0,children:[(0,b.jsx)(p.ZP,{item:!0,xs:12,sm:""!==P?4:10,md:""!==P?3:9,children:""!==t&&(0,b.jsxs)(c.Z,{htmlFor:s,className:S.inputLabel,children:[(0,b.jsx)("span",{children:t}),""!==y&&(0,b.jsx)("div",{className:S.tooltipContainer,children:(0,b.jsx)(d.Z,{title:y,placement:"top-start",children:(0,b.jsx)("div",{className:S.tooltip,children:(0,b.jsx)(h.Z,{})})})})]})}),(0,b.jsx)(p.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==P&&(0,b.jsx)(u.Z,{component:"p",className:S.fieldDescription,children:P})})]})}),(0,b.jsx)(p.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:S.switchContainer,children:L})]})})}))},66964:function(e,n,t){var i=t(18489),a=t(50390),o=t(12066),r=t(25594),l=t(36554),s=t(94187),c=t(95467),d=t(86509),u=t(62449),p=t(4285),m=t(72462),h=t(97538),x=t(44977),b=t(62559),f=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)({},m.gM))}));function Z(e){var n=f();return(0,b.jsx)(o.Z,(0,i.Z)({InputProps:{classes:n}},e))}n.Z=(0,p.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,t=e.onChange,o=e.value,d=e.id,u=e.name,p=e.type,m=void 0===p?"text":p,f=e.autoComplete,v=void 0===f?"off":f,g=e.disabled,j=void 0!==g&&g,C=e.multiline,k=void 0!==C&&C,N=e.tooltip,y=void 0===N?"":N,F=e.index,P=void 0===F?0:F,S=e.error,w=void 0===S?"":S,M=e.required,B=void 0!==M&&M,L=e.placeholder,E=void 0===L?"":L,q=e.min,I=e.max,R=e.overlayId,z=e.overlayIcon,O=void 0===z?null:z,A=e.overlayObject,D=void 0===A?null:A,T=e.extraInputProps,W=void 0===T?{}:T,_=e.overlayAction,$=e.noLabelMinWidth,K=void 0!==$&&$,Q=e.pattern,U=void 0===Q?"":Q,H=e.autoFocus,V=void 0!==H&&H,Y=e.classes,G=e.className,X=void 0===G?"":G,J=e.onKeyPress,ee=(0,i.Z)({"data-index":P},W);return"number"===m&&q&&(ee.min=q),"number"===m&&I&&(ee.max=I),""!==U&&(ee.pattern=U),(0,b.jsx)(a.Fragment,{children:(0,b.jsxs)(r.ZP,{container:!0,className:(0,x.Z)(""!==X?X:"",""!==w?Y.errorInField:Y.inputBoxContainer),children:[""!==n&&(0,b.jsxs)(l.Z,{htmlFor:d,className:K?Y.noMinWidthLabel:Y.inputLabel,children:[(0,b.jsxs)("span",{children:[n,B?"*":""]}),""!==y&&(0,b.jsx)("div",{className:Y.tooltipContainer,children:(0,b.jsx)(s.Z,{title:y,placement:"top-start",children:(0,b.jsx)("div",{className:Y.tooltip,children:(0,b.jsx)(h.Z,{})})})})]}),(0,b.jsxs)("div",{className:Y.textBoxContainer,children:[(0,b.jsx)(Z,{id:d,name:u,fullWidth:!0,value:o,autoFocus:V,disabled:j,onChange:t,type:m,multiline:k,autoComplete:v,inputProps:ee,error:""!==w,helperText:w,placeholder:E,className:Y.inputRebase,onKeyPress:J}),O&&(0,b.jsx)("div",{className:"".concat(Y.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,b.jsx)(c.Z,{onClick:_?function(){_()}:function(){return null},id:R,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:O})}),D&&(0,b.jsx)("div",{className:"".concat(Y.overlayAction," ").concat(""!==n?"withLabel":""),children:D})]})]})})}))},1365:function(e,n,t){var i=t(23430),a=t(50390),o=t(86509),r=t(4285),l=t(26936),s=t(31680),c=t(62559);n.Z=(0,r.Z)((function(e){return(0,o.Z)({buttonTrigger:{border:"#F0F2F2 1px solid",borderRadius:3,color:"#838383",backgroundColor:"#fff",fontSize:12}})}))((function(e){var n=e.classes,t=e.id,o=e.unitSelected,r=e.unitsList,d=e.disabled,u=void 0!==d&&d,p=e.onUnitChange,m=a.useState(null),h=(0,i.Z)(m,2),x=h[0],b=h[1],f=Boolean(x),Z=function(e){b(null),""!==e&&p&&p(e)};return(0,c.jsxs)(a.Fragment,{children:[(0,c.jsx)("button",{id:"".concat(t,"-button"),"aria-controls":"".concat(t,"-menu"),"aria-haspopup":"true","aria-expanded":f?"true":void 0,onClick:function(e){b(e.currentTarget)},className:n.buttonTrigger,disabled:u,type:"button",children:o}),(0,c.jsx)(l.Z,{id:"".concat(t,"-menu"),"aria-labelledby":"".concat(t,"-button"),anchorEl:x,open:f,onClose:function(){Z("")},anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:r.map((function(e){return(0,c.jsx)(s.Z,{onClick:function(){return Z(e.value)},children:e.label},"itemUnit-".concat(e.value,"-").concat(e.label))}))})]})}))},51002:function(e,n,t){var i=t(23430),a=t(18489),o=t(50390),r=t(34424),l=t(95467),s=t(97771),c=t(84402),d=t(78426),u=t(93085),p=t(86509),m=t(4285),h=t(72462),x=t(44149),b=t(21278),f=t(45980),Z=t(62559),v=(0,r.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:x.MK});n.Z=(0,m.Z)((function(e){return(0,p.Z)((0,a.Z)((0,a.Z)({},h.Qw),{},{root:{"& .MuiPaper-root":{padding:"0 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))(v((function(e){var n=e.onClose,t=e.modalOpen,r=e.title,p=e.children,m=e.classes,h=e.wideLimit,x=void 0===h||h,v=e.modalSnackMessage,g=e.noContentPadding,j=e.setModalSnackMessage,C=e.titleIcon,k=void 0===C?null:C,N=(0,o.useState)(!1),y=(0,i.Z)(N,2),F=y[0],P=y[1];(0,o.useEffect)((function(){j("")}),[j]),(0,o.useEffect)((function(){if(v){if(""===v.message)return void P(!1);"error"!==v.type&&P(!0)}}),[v]);var S=x?{classes:{paper:m.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},w="";return v&&(w=v.detailedErrorMsg,(""===v.detailedErrorMsg||v.detailedErrorMsg.length<5)&&(w=v.message)),(0,Z.jsxs)(c.Z,(0,a.Z)((0,a.Z)({open:t,classes:m},S),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&n()},className:m.root,children:[(0,Z.jsxs)(d.Z,{className:m.title,children:[(0,Z.jsxs)("div",{className:m.titleText,children:[k," ",r]}),(0,Z.jsx)("div",{className:m.closeContainer,children:(0,Z.jsx)(l.Z,{"aria-label":"close",className:m.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,Z.jsx)(b.Z,{})})})]}),(0,Z.jsx)(f.Z,{isModal:!0}),(0,Z.jsx)(s.Z,{open:F,className:m.snackBarModal,onClose:function(){P(!1),j("")},message:w,ContentProps:{className:"".concat(m.snackBar," ").concat(v&&"error"===v.type?m.errorSnackBar:"")},autoHideDuration:v&&"error"===v.type?1e4:5e3}),(0,Z.jsx)(u.Z,{className:g?"":m.content,children:p})]}))})))}}]);
-//# sourceMappingURL=1711.dfdfce0a.chunk.js.map
\ No newline at end of file
+"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1711],{31711:function(e,n,t){t.r(n);var i=t(23430),a=t(18489),o=t(50390),l=t(34424),r=t(66946),s=t(81378),c=t(86509),d=t(4285),u=t(25594),p=t(28948),m=t(44149),h=t(72462),x=t(92440),b=t(66964),f=t(51002),Z=t(30324),v=t(14549),g=t(1365),j=t(62559),C=(0,l.$j)(null,{setModalErrorSnackMessage:m.zb});n.default=(0,d.Z)((function(e){return(0,c.Z)((0,a.Z)((0,a.Z)({},h.DF),h.ID))}))(C((function(e){var n=e.classes,t=e.open,a=e.enabled,l=e.cfg,c=e.selectedBucket,d=e.closeModalAndRefresh,m=e.setModalErrorSnackMessage,h=(0,o.useState)(!1),C=(0,i.Z)(h,2),k=C[0],N=C[1],y=(0,o.useState)(!1),F=(0,i.Z)(y,2),P=F[0],S=F[1],w=(0,o.useState)("1"),M=(0,i.Z)(w,2),B=M[0],L=M[1],E=(0,o.useState)("TiB"),q=(0,i.Z)(E,2),I=q[0],R=q[1];(0,o.useEffect)((function(){if(a&&(S(!0),l)){L("".concat(l.quota)),R("Gi");for(var e="B",n=l.quota,t=0;t1?w[1]:"OFF"}),(0,b.jsx)(f,{checked:v,onChange:l,color:"primary",name:m,inputProps:(0,a.Z)({"aria-label":"primary checkbox"},B),disabled:j,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:r,id:s}),!k&&(0,b.jsx)("span",{className:(0,x.Z)(S.indicatorLabel,(0,i.Z)({},S.indicatorLabelOn,v)),children:w?w[0]:"ON"})]});return k?L:(0,b.jsx)("div",{className:S.divContainer,children:(0,b.jsxs)(p.ZP,{container:!0,alignItems:"center",children:[(0,b.jsx)(p.ZP,{item:!0,xs:!0,children:(0,b.jsxs)(p.ZP,{container:!0,children:[(0,b.jsx)(p.ZP,{item:!0,xs:12,sm:""!==P?4:10,md:""!==P?3:9,children:""!==t&&(0,b.jsxs)(c.Z,{htmlFor:s,className:S.inputLabel,children:[(0,b.jsx)("span",{children:t}),""!==y&&(0,b.jsx)("div",{className:S.tooltipContainer,children:(0,b.jsx)(d.Z,{title:y,placement:"top-start",children:(0,b.jsx)("div",{className:S.tooltip,children:(0,b.jsx)(h.Z,{})})})})]})}),(0,b.jsx)(p.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==P&&(0,b.jsx)(u.Z,{component:"p",className:S.fieldDescription,children:P})})]})}),(0,b.jsx)(p.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:S.switchContainer,children:L})]})})}))},66964:function(e,n,t){var i=t(18489),a=t(50390),o=t(12066),l=t(25594),r=t(36554),s=t(94187),c=t(95467),d=t(86509),u=t(62449),p=t(4285),m=t(72462),h=t(97538),x=t(44977),b=t(62559),f=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)({},m.gM))}));function Z(e){var n=f();return(0,b.jsx)(o.Z,(0,i.Z)({InputProps:{classes:n}},e))}n.Z=(0,p.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,t=e.onChange,o=e.value,d=e.id,u=e.name,p=e.type,m=void 0===p?"text":p,f=e.autoComplete,v=void 0===f?"off":f,g=e.disabled,j=void 0!==g&&g,C=e.multiline,k=void 0!==C&&C,N=e.tooltip,y=void 0===N?"":N,F=e.index,P=void 0===F?0:F,S=e.error,w=void 0===S?"":S,M=e.required,B=void 0!==M&&M,L=e.placeholder,E=void 0===L?"":L,q=e.min,I=e.max,R=e.overlayId,z=e.overlayIcon,O=void 0===z?null:z,A=e.overlayObject,D=void 0===A?null:A,T=e.extraInputProps,W=void 0===T?{}:T,_=e.overlayAction,$=e.noLabelMinWidth,K=void 0!==$&&$,Q=e.pattern,U=void 0===Q?"":Q,H=e.autoFocus,V=void 0!==H&&H,Y=e.classes,G=e.className,X=void 0===G?"":G,J=e.onKeyPress,ee=(0,i.Z)({"data-index":P},W);return"number"===m&&q&&(ee.min=q),"number"===m&&I&&(ee.max=I),""!==U&&(ee.pattern=U),(0,b.jsx)(a.Fragment,{children:(0,b.jsxs)(l.ZP,{container:!0,className:(0,x.Z)(""!==X?X:"",""!==w?Y.errorInField:Y.inputBoxContainer),children:[""!==n&&(0,b.jsxs)(r.Z,{htmlFor:d,className:K?Y.noMinWidthLabel:Y.inputLabel,children:[(0,b.jsxs)("span",{children:[n,B?"*":""]}),""!==y&&(0,b.jsx)("div",{className:Y.tooltipContainer,children:(0,b.jsx)(s.Z,{title:y,placement:"top-start",children:(0,b.jsx)("div",{className:Y.tooltip,children:(0,b.jsx)(h.Z,{})})})})]}),(0,b.jsxs)("div",{className:Y.textBoxContainer,children:[(0,b.jsx)(Z,{id:d,name:u,fullWidth:!0,value:o,autoFocus:V,disabled:j,onChange:t,type:m,multiline:k,autoComplete:v,inputProps:ee,error:""!==w,helperText:w,placeholder:E,className:Y.inputRebase,onKeyPress:J}),O&&(0,b.jsx)("div",{className:"".concat(Y.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,b.jsx)(c.Z,{onClick:_?function(){_()}:function(){return null},id:R,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:O})}),D&&(0,b.jsx)("div",{className:"".concat(Y.overlayAction," ").concat(""!==n?"withLabel":""),children:D})]})]})})}))},1365:function(e,n,t){var i=t(23430),a=t(50390),o=t(86509),l=t(4285),r=t(26936),s=t(31680),c=t(62559);n.Z=(0,l.Z)((function(e){return(0,o.Z)({buttonTrigger:{border:"#F0F2F2 1px solid",borderRadius:3,color:"#838383",backgroundColor:"#fff",fontSize:12}})}))((function(e){var n=e.classes,t=e.id,o=e.unitSelected,l=e.unitsList,d=e.disabled,u=void 0!==d&&d,p=e.onUnitChange,m=a.useState(null),h=(0,i.Z)(m,2),x=h[0],b=h[1],f=Boolean(x),Z=function(e){b(null),""!==e&&p&&p(e)};return(0,c.jsxs)(a.Fragment,{children:[(0,c.jsx)("button",{id:"".concat(t,"-button"),"aria-controls":"".concat(t,"-menu"),"aria-haspopup":"true","aria-expanded":f?"true":void 0,onClick:function(e){b(e.currentTarget)},className:n.buttonTrigger,disabled:u,type:"button",children:o}),(0,c.jsx)(r.Z,{id:"".concat(t,"-menu"),"aria-labelledby":"".concat(t,"-button"),anchorEl:x,open:f,onClose:function(){Z("")},anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:l.map((function(e){return(0,c.jsx)(s.Z,{onClick:function(){return Z(e.value)},children:e.label},"itemUnit-".concat(e.value,"-").concat(e.label))}))})]})}))},51002:function(e,n,t){var i=t(23430),a=t(18489),o=t(50390),l=t(34424),r=t(95467),s=t(97771),c=t(84402),d=t(78426),u=t(93085),p=t(86509),m=t(4285),h=t(72462),x=t(44149),b=t(21278),f=t(45980),Z=t(62559),v=(0,l.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:x.MK});n.Z=(0,m.Z)((function(e){return(0,p.Z)((0,a.Z)((0,a.Z)({},h.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))(v((function(e){var n=e.onClose,t=e.modalOpen,l=e.title,p=e.children,m=e.classes,h=e.wideLimit,x=void 0===h||h,v=e.modalSnackMessage,g=e.noContentPadding,j=e.setModalSnackMessage,C=e.titleIcon,k=void 0===C?null:C,N=(0,o.useState)(!1),y=(0,i.Z)(N,2),F=y[0],P=y[1];(0,o.useEffect)((function(){j("")}),[j]),(0,o.useEffect)((function(){if(v){if(""===v.message)return void P(!1);"error"!==v.type&&P(!0)}}),[v]);var S=x?{classes:{paper:m.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},w="";return v&&(w=v.detailedErrorMsg,(""===v.detailedErrorMsg||v.detailedErrorMsg.length<5)&&(w=v.message)),(0,Z.jsxs)(c.Z,(0,a.Z)((0,a.Z)({open:t,classes:m},S),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&n()},className:m.root,children:[(0,Z.jsxs)(d.Z,{className:m.title,children:[(0,Z.jsxs)("div",{className:m.titleText,children:[k," ",l]}),(0,Z.jsx)("div",{className:m.closeContainer,children:(0,Z.jsx)(r.Z,{"aria-label":"close",id:"close",className:m.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,Z.jsx)(b.Z,{})})})]}),(0,Z.jsx)(f.Z,{isModal:!0}),(0,Z.jsx)(s.Z,{open:F,className:m.snackBarModal,onClose:function(){P(!1),j("")},message:w,ContentProps:{className:"".concat(m.snackBar," ").concat(v&&"error"===v.type?m.errorSnackBar:"")},autoHideDuration:v&&"error"===v.type?1e4:5e3}),(0,Z.jsx)(u.Z,{className:g?"":m.content,children:p})]}))})))}}]);
+//# sourceMappingURL=1711.2657a246.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1711.2657a246.chunk.js.map b/portal-ui/build/static/js/1711.2657a246.chunk.js.map
new file mode 100644
index 000000000..9ed78ca81
--- /dev/null
+++ b/portal-ui/build/static/js/1711.2657a246.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/1711.2657a246.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/EnableQuota.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/InputUnitMenu/InputUnitMenu.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n getBytes,\n k8sScalarUnitsExcluding,\n units,\n} from \"../../../../common/utils\";\nimport { BucketQuota } from \"../types\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../../common/api\";\nimport { BucketQuotaIcon } from \"../../../../icons\";\nimport InputUnitMenu from \"../../Common/FormComponents/InputUnitMenu/InputUnitMenu\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\ninterface IEnableQuotaProps {\n classes: any;\n open: boolean;\n enabled: boolean;\n cfg: BucketQuota | null;\n selectedBucket: string;\n closeModalAndRefresh: () => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst EnableQuota = ({\n classes,\n open,\n enabled,\n cfg,\n selectedBucket,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: IEnableQuotaProps) => {\n const [loading, setLoading] = useState(false);\n const [quotaEnabled, setQuotaEnabled] = useState(false);\n const [quotaSize, setQuotaSize] = useState(\"1\");\n const [quotaUnit, setQuotaUnit] = useState(\"TiB\");\n\n useEffect(() => {\n if (enabled) {\n setQuotaEnabled(true);\n if (cfg) {\n setQuotaSize(`${cfg.quota}`);\n setQuotaUnit(`Gi`);\n\n let maxUnit = \"B\";\n let maxQuota = cfg.quota;\n\n for (let i = 0; i < units.length; i++) {\n if (cfg.quota % Math.pow(1024, i) === 0) {\n maxQuota = cfg.quota / Math.pow(1024, i);\n maxUnit = units[i];\n } else {\n break;\n }\n }\n setQuotaSize(`${maxQuota}`);\n setQuotaUnit(maxUnit);\n }\n }\n }, [enabled, cfg]);\n\n const enableBucketEncryption = () => {\n if (loading) {\n return;\n }\n let req = {\n enabled: quotaEnabled,\n amount: parseInt(getBytes(quotaSize, quotaUnit, true)),\n quota_type: \"hard\",\n };\n\n api\n .invoke(\"PUT\", `/api/v1/buckets/${selectedBucket}/quota`, req)\n .then(() => {\n setLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n return (\n {\n closeModalAndRefresh();\n }}\n title=\"Enable Bucket Quota\"\n titleIcon={}\n >\n \n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(EnableQuota));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input/Input\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n extraInputProps?: StandardInputProps[\"inputProps\"];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n extraInputProps = {},\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { selectorTypes } from \"../SelectWrapper/SelectWrapper\";\nimport { Menu, MenuItem } from \"@mui/material\";\n\ninterface IInputUnitBox {\n classes: any;\n id: string;\n unitSelected: string;\n unitsList: selectorTypes[];\n disabled?: boolean;\n onUnitChange?: (newValue: string) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonTrigger: {\n border: \"#F0F2F2 1px solid\",\n borderRadius: 3,\n color: \"#838383\",\n backgroundColor: \"#fff\",\n fontSize: 12,\n },\n });\n\nconst InputUnitMenu = ({\n classes,\n id,\n unitSelected,\n unitsList,\n disabled = false,\n onUnitChange,\n}: IInputUnitBox) => {\n const [anchorEl, setAnchorEl] = React.useState(null);\n const open = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n const handleClose = (newUnit: string) => {\n setAnchorEl(null);\n if (newUnit !== \"\" && onUnitChange) {\n onUnitChange(newUnit);\n }\n };\n\n return (\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(InputUnitMenu);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n"],"names":["connector","connect","setModalErrorSnackMessage","withStyles","theme","createStyles","formFieldStyles","modalStyleUtils","classes","open","enabled","cfg","selectedBucket","closeModalAndRefresh","useState","loading","setLoading","quotaEnabled","setQuotaEnabled","quotaSize","setQuotaSize","quotaUnit","setQuotaUnit","useEffect","quota","maxUnit","maxQuota","i","units","Math","pow","modalOpen","onClose","title","titleIcon","noValidate","autoComplete","onSubmit","e","preventDefault","req","amount","parseInt","getBytes","quota_type","api","then","catch","err","enableBucketEncryption","container","item","xs","className","formScrollable","formFieldRow","value","id","name","checked","onChange","event","target","label","validity","valid","pattern","required","min","overlayObject","onUnitChange","newValue","unitSelected","unitsList","k8sScalarUnitsExcluding","disabled","modalButtonBar","type","variant","color","onClick","StyledSwitch","root","width","height","padding","margin","switchBase","transform","palette","common","white","backgroundColor","boxShadow","opacity","border","thumb","marginLeft","track","borderRadius","transition","transitions","create","focusVisible","switchContainer","display","alignItems","justifyContent","Switch","divContainer","marginBottom","indicatorLabelOn","fontWeight","indicatorLabel","fontSize","fieldDescription","marginTop","tooltip","actionsTray","fieldBasic","switchOnly","description","indicatorLabels","extraInputProps","switchComponent","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","sm","md","htmlFor","inputLabel","tooltipContainer","placement","textAlign","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","multiline","index","error","placeholder","max","overlayId","overlayIcon","noLabelMinWidth","autoFocus","onKeyPress","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","size","buttonTrigger","React","anchorEl","setAnchorEl","Boolean","handleClose","newUnit","Fragment","undefined","currentTarget","anchorOrigin","vertical","horizontal","transformOrigin","map","unit","state","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","message","customSize","paper","detailedErrorMsg","scroll","reason","titleText","closeContainer","closeButton","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1711.dfdfce0a.chunk.js.map b/portal-ui/build/static/js/1711.dfdfce0a.chunk.js.map
deleted file mode 100644
index 831261dd1..000000000
--- a/portal-ui/build/static/js/1711.dfdfce0a.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/1711.dfdfce0a.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/EnableQuota.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/InputUnitMenu/InputUnitMenu.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n getBytes,\n k8sScalarUnitsExcluding,\n units,\n} from \"../../../../common/utils\";\nimport { BucketQuota } from \"../types\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../../common/api\";\nimport { BucketQuotaIcon } from \"../../../../icons\";\nimport InputUnitMenu from \"../../Common/FormComponents/InputUnitMenu/InputUnitMenu\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\ninterface IEnableQuotaProps {\n classes: any;\n open: boolean;\n enabled: boolean;\n cfg: BucketQuota | null;\n selectedBucket: string;\n closeModalAndRefresh: () => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst EnableQuota = ({\n classes,\n open,\n enabled,\n cfg,\n selectedBucket,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: IEnableQuotaProps) => {\n const [loading, setLoading] = useState(false);\n const [quotaEnabled, setQuotaEnabled] = useState(false);\n const [quotaSize, setQuotaSize] = useState(\"1\");\n const [quotaUnit, setQuotaUnit] = useState(\"TiB\");\n\n useEffect(() => {\n if (enabled) {\n setQuotaEnabled(true);\n if (cfg) {\n setQuotaSize(`${cfg.quota}`);\n setQuotaUnit(`Gi`);\n\n let maxUnit = \"B\";\n let maxQuota = cfg.quota;\n\n for (let i = 0; i < units.length; i++) {\n if (cfg.quota % Math.pow(1024, i) === 0) {\n maxQuota = cfg.quota / Math.pow(1024, i);\n maxUnit = units[i];\n } else {\n break;\n }\n }\n setQuotaSize(`${maxQuota}`);\n setQuotaUnit(maxUnit);\n }\n }\n }, [enabled, cfg]);\n\n const enableBucketEncryption = () => {\n if (loading) {\n return;\n }\n let req = {\n enabled: quotaEnabled,\n amount: parseInt(getBytes(quotaSize, quotaUnit, true)),\n quota_type: \"hard\",\n };\n\n api\n .invoke(\"PUT\", `/api/v1/buckets/${selectedBucket}/quota`, req)\n .then(() => {\n setLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n return (\n {\n closeModalAndRefresh();\n }}\n title=\"Enable Bucket Quota\"\n titleIcon={}\n >\n \n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(EnableQuota));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input/Input\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n extraInputProps?: StandardInputProps[\"inputProps\"];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n extraInputProps = {},\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport { IPodListElement } from \"../ListTenants/types\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport { connect } from \"react-redux\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\n\ninterface IDeletePod {\n deleteOpen: boolean;\n selectedPod: IPodListElement;\n closeDeleteModalAndRefresh: (refreshList: boolean) => any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeletePod = ({\n deleteOpen,\n selectedPod,\n closeDeleteModalAndRefresh,\n setErrorSnackMessage,\n}: IDeletePod) => {\n const [retypePod, setRetypePod] = useState(\"\");\n\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n const onConfirmDelete = () => {\n if (retypePod !== selectedPod.name) {\n setErrorSnackMessage({\n errorMessage: \"Tenant name is incorrect\",\n detailedError: \"\",\n });\n return;\n }\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/namespaces/${selectedPod.namespace}/tenants/${selectedPod.tenant}/pods/${selectedPod.name}`\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmButtonProps={{\n disabled: retypePod !== selectedPod.name || deleteLoading,\n }}\n confirmationContent={\n \n To continue please type {selectedPod.name} in the box.\n \n ) => {\n setRetypePod(event.target.value);\n }}\n label=\"\"\n value={retypePod}\n />\n \n \n }\n />\n );\n};\n\nconst connector = connect(null, {\n setErrorSnackMessage,\n});\n\nexport default connector(DeletePod);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n containerForHeader,\n tableStyles,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { niceDays } from \"../../../../common/utils\";\nimport { IPodListElement } from \"../ListTenants/types\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport api from \"../../../../common/api\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport { AppState } from \"../../../../store\";\nimport { setTenantDetailsLoad } from \"../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport DeletePod from \"./DeletePod\";\nimport { Grid, InputAdornment, TextField } from \"@mui/material\";\nimport SearchIcon from \"../../../../icons/SearchIcon\";\n\ninterface IPodsSummary {\n classes: any;\n match: any;\n history: any;\n loadingTenant: boolean;\n setTenantDetailsLoad: typeof setTenantDetailsLoad;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n ...tableStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst PodsSummary = ({\n classes,\n match,\n history,\n loadingTenant,\n}: IPodsSummary) => {\n const [pods, setPods] = useState([]);\n const [loadingPods, setLoadingPods] = useState(true);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedPod, setSelectedPod] = useState(null);\n const [filter, setFilter] = useState(\"\");\n const tenantName = match.params[\"tenantName\"];\n const tenantNamespace = match.params[\"tenantNamespace\"];\n\n const podViewAction = (pod: IPodListElement) => {\n history.push(\n `/namespaces/${tenantNamespace}/tenants/${tenantName}/pods/${pod.name}`\n );\n return;\n };\n\n const closeDeleteModalAndRefresh = (reloadData: boolean) => {\n setDeleteOpen(false);\n setLoadingPods(true);\n };\n\n const confirmDeletePod = (pod: IPodListElement) => {\n pod.tenant = tenantName;\n pod.namespace = tenantNamespace;\n setSelectedPod(pod);\n setDeleteOpen(true);\n };\n\n const filteredRecords: IPodListElement[] = pods.filter((elementItem) =>\n elementItem.name.toLowerCase().includes(filter.toLowerCase())\n );\n\n const podTableActions = [\n { type: \"view\", onClick: podViewAction },\n { type: \"delete\", onClick: confirmDeletePod },\n ];\n\n useEffect(() => {\n if (loadingTenant) {\n setLoadingPods(true);\n }\n }, [loadingTenant]);\n\n useEffect(() => {\n if (loadingPods) {\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}/pods`\n )\n .then((result: IPodListElement[]) => {\n for (let i = 0; i < result.length; i++) {\n let currentTime = (Date.now() / 1000) | 0;\n result[i].time = niceDays(\n (currentTime - parseInt(result[i].timeCreated)).toString()\n );\n }\n setPods(result);\n setLoadingPods(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage({\n errorMessage: \"Error loading pods\",\n detailedError: err.detailedError,\n });\n });\n }\n }, [loadingPods, tenantName, tenantNamespace]);\n\n return (\n \n {deleteOpen && (\n \n )}\n
Pods
\n \n \n \n \n ),\n }}\n onChange={(e) => {\n setFilter(e.target.value);\n }}\n variant=\"standard\"\n />\n \n \n {\n return input !== null ? input : 0;\n },\n },\n { label: \"Node\", elementKey: \"node\" },\n ]}\n isLoading={loadingPods}\n records={filteredRecords}\n itemActions={podTableActions}\n entityName=\"Pods\"\n idField=\"name\"\n />\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.tenantDetails.loadingTenant,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(PodsSummary));\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;"],"names":["inputStyles","makeStyles","theme","createStyles","inputFieldStyles","InputField","props","classes","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","label","onChange","value","id","name","type","autoComplete","disabled","multiline","tooltip","index","error","required","placeholder","min","max","overlayId","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","className","onKeyPress","inputProps","container","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","fullWidth","helperText","inputRebase","onClick","size","disableFocusRipple","disableRipple","disableTouchRipple","onSuccess","onError","useState","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","root","sx","padding","titleText","closeContainer","closeButton","content","actions","cancelButton","variant","color","confirmButton","loading","loadingPosition","startIcon","connect","setErrorSnackMessage","deleteOpen","selectedPod","closeDeleteModalAndRefresh","retypePod","setRetypePod","useApi","deleteLoading","invokeDeleteApi","ConfirmDialog","namespace","tenant","errorMessage","detailedError","DialogContentText","Grid","item","xs","InputBoxWrapper","target","connector","state","loadingTenant","tenants","tenantDetails","tenantDetailsStyles","tableStyles","containerForHeader","spacing","match","history","pods","setPods","loadingPods","setLoadingPods","setDeleteOpen","setSelectedPod","filter","setFilter","tenantName","params","tenantNamespace","filteredRecords","elementItem","toLowerCase","includes","podTableActions","pod","push","useEffect","result","i","length","currentTime","Date","now","time","niceDays","parseInt","timeCreated","toString","Fragment","reloadData","sectionTitle","actionsTray","TextField","searchField","disableUnderline","startAdornment","InputAdornment","SearchIcon","e","tableBlock","TableWrapper","columns","elementKey","width","renderFunction","input","records","itemActions","entityName","idField","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","overridesResolver","styles","ownerState","capitalize","disablePointerEvents","_extends","display","height","alignItems","whiteSpace","palette","action","active","inputAdornmentClasses","marginTop","marginRight","marginLeft","pointerEvents","React","inProps","ref","useThemeProps","children","component","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","_jsxs","Typography"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"static/js/1719.e7bff050.chunk.js","mappings":"0QA8FMA,GAAcC,EAAAA,EAAAA,IAAW,SAACC,GAAD,OAC7BC,EAAAA,EAAAA,IAAa,UACRC,EAAAA,QAIP,SAASC,EAAWC,GAClB,IAAMC,EAAUP,IAEhB,OACE,SAAC,KAAD,QACEQ,WAAY,CAAED,QAAAA,IACVD,IA0IV,KAAeG,EAAAA,EAAAA,IAhLA,SAACP,GAAD,OACbC,EAAAA,EAAAA,IAAa,0BACRO,EAAAA,IACAC,EAAAA,IAFO,IAGVC,iBAAkB,CAChBC,SAAU,EACVC,SAAU,YAEZC,cAAe,CACbD,SAAU,WACVE,MAAO,EACPC,IAAK,EACL,QAAS,CACPC,SAAU,GACVC,UAAW,IAEb,cAAe,CACbF,IAAK,IAGTG,YAAW,kBACNV,EAAAA,GAAAA,YADK,IAERW,WAAY,gBA0JlB,EArIwB,SAAC,GA4BH,IA3BpBC,EA2BmB,EA3BnBA,MACAC,EA0BmB,EA1BnBA,SACAC,EAyBmB,EAzBnBA,MACAC,EAwBmB,EAxBnBA,GACAC,EAuBmB,EAvBnBA,KAuBmB,IAtBnBC,KAAAA,OAsBmB,MAtBZ,OAsBY,MArBnBC,aAAAA,OAqBmB,MArBJ,MAqBI,MApBnBC,SAAAA,OAoBmB,aAnBnBC,UAAAA,OAmBmB,aAlBnBC,QAAAA,OAkBmB,MAlBT,GAkBS,MAjBnBC,MAAAA,OAiBmB,MAjBX,EAiBW,MAhBnBC,MAAAA,OAgBmB,MAhBX,GAgBW,MAfnBC,SAAAA,OAemB,aAdnBC,YAAAA,OAcmB,MAdL,GAcK,EAbnBC,EAamB,EAbnBA,IACAC,EAYmB,EAZnBA,IACAC,EAWmB,EAXnBA,UAWmB,IAVnBC,YAAAA,OAUmB,MAVL,KAUK,MATnBC,cAAAA,OASmB,MATH,KASG,MARnBC,gBAAAA,OAQmB,MARD,GAQC,EAPnB1B,EAOmB,EAPnBA,cAOmB,IANnB2B,gBAAAA,OAMmB,aALnBC,QAAAA,OAKmB,MALT,GAKS,MAJnBC,UAAAA,OAImB,SAHnBrC,EAGmB,EAHnBA,QAGmB,IAFnBsC,UAAAA,OAEmB,MAFP,GAEO,EADnBC,EACmB,EADnBA,WAEIC,IAAe,QAAK,aAAcf,GAAUS,GAchD,MAZa,WAATd,GAAqBS,IACvBW,GAAU,IAAUX,GAGT,WAATT,GAAqBU,IACvBU,GAAU,IAAUV,GAGN,KAAZM,IACFI,GAAU,QAAcJ,IAIxB,SAAC,WAAD,WACE,UAAC,KAAD,CACEK,WAAS,EACTH,WAAWI,EAAAA,EAAAA,GACK,KAAdJ,EAAmBA,EAAY,GACrB,KAAVZ,EAAe1B,EAAQ2C,aAAe3C,EAAQ4C,mBAJlD,UAOa,KAAV7B,IACC,UAAC,IAAD,CACE8B,QAAS3B,EACToB,UACEH,EAAkBnC,EAAQ8C,gBAAkB9C,EAAQa,WAHxD,WAME,4BACGE,EACAY,EAAW,IAAM,MAEP,KAAZH,IACC,gBAAKc,UAAWtC,EAAQ+C,iBAAxB,UACE,SAAC,IAAD,CAASC,MAAOxB,EAASyB,UAAU,YAAnC,UACE,gBAAKX,UAAWtC,EAAQwB,QAAxB,UACE,SAAC,IAAD,cAQZ,iBAAKc,UAAWtC,EAAQK,iBAAxB,WACE,SAACP,EAAD,CACEoB,GAAIA,EACJC,KAAMA,EACN+B,WAAS,EACTjC,MAAOA,EACPoB,UAAWA,EACXf,SAAUA,EACVN,SAAUA,EACVI,KAAMA,EACNG,UAAWA,EACXF,aAAcA,EACdmB,WAAYA,GACZd,MAAiB,KAAVA,EACPyB,WAAYzB,EACZE,YAAaA,EACbU,UAAWtC,EAAQoD,YACnBb,WAAYA,IAEbP,IACC,gBACEM,UAAS,UAAKtC,EAAQQ,cAAb,YACG,KAAVO,EAAe,YAAc,IAFjC,UAKE,SAAC,IAAD,CACEsC,QACE7C,EACI,WACEA,KAEF,kBAAM,MAEZU,GAAIa,EACJuB,KAAM,QACNC,oBAAoB,EACpBC,eAAe,EACfC,oBAAoB,EAZtB,SAcGzB,MAINC,IACC,gBACEK,UAAS,UAAKtC,EAAQQ,cAAb,YACG,KAAVO,EAAe,YAAc,IAFjC,SAKGkB,gB,2DC5Mf,IAvBe,SACbyB,EACAC,GAEA,OAAkCC,EAAAA,EAAAA,WAAkB,GAApD,eAAOC,EAAP,KAAkBC,EAAlB,KAgBA,MAAO,CAACD,EAdQ,SAACE,EAAgBC,EAAaC,GAC5CH,GAAa,GACbI,EAAAA,EAAAA,OACUH,EAAQC,EAAKC,GACpBE,MAAK,SAACC,GACLN,GAAa,GACbJ,EAAUU,MAEXC,OAAM,SAACC,GACNR,GAAa,GACbH,EAAQW,U,iLCmGhB,KAAepE,EAAAA,EAAAA,IA1GA,SAACP,GAAD,OACbC,EAAAA,EAAAA,IAAa,UACR2E,EAAAA,OAwGP,EArFsB,SAAC,GAcI,IAAD,IAbxBC,OAAAA,OAawB,SAZxBC,EAYwB,EAZxBA,QACAC,EAWwB,EAXxBA,SACAC,EAUwB,EAVxBA,UAUwB,IATxB3E,QAAAA,OASwB,MATd,GASc,MARxBgD,MAAAA,OAQwB,MARhB,GAQgB,EAPxBa,EAOwB,EAPxBA,UACAe,EAMwB,EANxBA,oBAMwB,IALxBC,WAAAA,OAKwB,MALX,SAKW,MAJxBC,YAAAA,OAIwB,MAJV,UAIU,MAHxBC,mBAAAA,OAGwB,MAHH,GAGG,MAFxBC,kBAAAA,OAEwB,MAFJ,GAEI,MADxBC,UAAAA,OACwB,MADZ,KACY,EACxB,OACE,UAAC,IAAD,CACEC,KAAMV,EACNC,QAAS,SAACU,EAAOC,GACA,kBAAXA,GACFX,KAGJnC,UAAWtC,EAAQqF,KACnBC,GAAI,CACF,mBAAoB,CAClBC,QAAS,wBAVf,WAcE,UAAC,IAAD,CAAajD,UAAWtC,EAAQgD,MAAhC,WACE,iBAAKV,UAAWtC,EAAQwF,UAAxB,UACGP,EADH,IACejC,MAEf,gBAAKV,UAAWtC,EAAQyF,eAAxB,UACE,SAAC,IAAD,CACE,aAAW,QACXnD,UAAWtC,EAAQ0F,YACnBrC,QAASoB,EACTjB,eAAa,EACbF,KAAK,QALP,UAOE,SAAC,IAAD,YAKN,SAAC,IAAD,CAAehB,UAAWtC,EAAQ2F,QAAlC,SACGf,KAEH,UAAC,IAAD,CAAetC,UAAWtC,EAAQ4F,QAAlC,WACE,SAAC,KAAD,gBACEtD,UAAWtC,EAAQ6F,aACnBxC,QAASqB,GAAYD,EACrBnD,SAAUuC,EACVzC,KAAK,UACD4D,GALN,IAMEc,QAAQ,WACRC,MAAM,UACN7E,GAAI,iBARN,SAUG2D,MAGH,SAAC,KAAD,gBACEvC,UAAWtC,EAAQgG,cACnB5E,KAAK,SACLiC,QAASsB,EACTsB,QAASpC,EACTvC,SAAUuC,EACViC,QAAQ,WACRC,MAAM,YACNG,gBAAgB,QAChBC,WAAW,SAAC,WAAD,IACX9D,WAAS,EACTnB,GAAI,cACA6D,GAZN,aAcGD,e,2QCjBX,GAJkBsB,EAAAA,EAAAA,IAAQ,KAAM,CAC9BC,qBAAAA,EAAAA,IAGF,EAhEkB,SAAC,GAKA,IAJjBC,EAIgB,EAJhBA,WACAC,EAGgB,EAHhBA,YACAC,EAEgB,EAFhBA,2BACAH,EACgB,EADhBA,qBAEA,GAAkCzC,EAAAA,EAAAA,UAAS,IAA3C,eAAO6C,EAAP,KAAkBC,EAAlB,KAMA,GAAyCC,EAAAA,EAAAA,IAJpB,kBAAMH,GAA2B,MACnC,SAAClC,GAAD,OAA+B+B,EAAqB/B,MAGvE,eAAOsC,EAAP,KAAsBC,EAAtB,KAgBA,OACE,SAACC,EAAA,EAAD,CACE9D,MAAK,aACL8B,YAAa,SACbN,OAAQ8B,EACRrB,WAAW,SAAC,KAAD,IACXpB,UAAW+C,EACXjC,UArBoB,WAClB8B,IAAcF,EAAYpF,KAO9B0F,EACE,SADa,6BAESN,EAAYQ,UAFrB,oBAE0CR,EAAYS,OAFtD,iBAEqET,EAAYpF,OAR9FkF,EAAqB,CACnBY,aAAc,2BACdC,cAAe,MAkBjBzC,QA1BY,kBAAM+B,GAA2B,IA2B7CzB,mBAAoB,CAClBzD,SAAUmF,IAAcF,EAAYpF,MAAQyF,GAE9ChC,qBACE,UAACuC,EAAA,EAAD,uCAC0B,uBAAIZ,EAAYpF,OAD1C,gBAEE,SAACiG,EAAA,GAAD,CAAMC,MAAI,EAACC,GAAI,GAAf,UACE,SAACC,EAAA,EAAD,CACErG,GAAG,aACHC,KAAK,aACLH,SAAU,SAACmE,GACTuB,EAAavB,EAAMqC,OAAOvG,QAE5BF,MAAM,GACNE,MAAOwF,c,iCCsGfgB,GAAYrB,EAAAA,EAAAA,KAJD,SAACsB,GAAD,MAAsB,CACrCC,cAAeD,EAAME,QAAQC,cAAcF,iBAGT,CAClCtB,qBAAAA,EAAAA,KAGF,GAAenG,EAAAA,EAAAA,IAlJA,SAACP,GAAD,OACbC,EAAAA,EAAAA,IAAa,0BACRkI,EAAAA,IACAC,EAAAA,KACAC,EAAAA,EAAAA,IAAmBrI,EAAMsI,QAAQ,QA8IxC,CAAkCR,GA3Id,SAAC,GAKA,IAJnBzH,EAIkB,EAJlBA,QACAkI,EAGkB,EAHlBA,MACAC,EAEkB,EAFlBA,QACAR,EACkB,EADlBA,cAEA,GAAwB/D,EAAAA,EAAAA,UAA4B,IAApD,eAAOwE,EAAP,KAAaC,EAAb,KACA,GAAsCzE,EAAAA,EAAAA,WAAkB,GAAxD,eAAO0E,EAAP,KAAoBC,EAApB,KACA,GAAoC3E,EAAAA,EAAAA,WAAkB,GAAtD,eAAO0C,EAAP,KAAmBkC,EAAnB,KACA,GAAsC5E,EAAAA,EAAAA,UAAc,MAApD,eAAO2C,EAAP,KAAoBkC,EAApB,KACA,GAA4B7E,EAAAA,EAAAA,UAAS,IAArC,eAAO8E,EAAP,KAAeC,EAAf,KACMC,EAAaV,EAAMW,OAAN,WACbC,EAAkBZ,EAAMW,OAAN,gBAqBlBE,EAAqCX,EAAKM,QAAO,SAACM,GAAD,OACrDA,EAAY7H,KAAK8H,cAAcC,SAASR,EAAOO,kBAG3CE,EAAkB,CACtB,CAAE/H,KAAM,OAAQiC,QAxBI,SAAC+F,GACrBjB,EAAQkB,KAAR,sBACiBP,EADjB,oBAC4CF,EAD5C,iBAC+DQ,EAAIjI,SAuBnE,CAAEC,KAAM,SAAUiC,QAbK,SAAC+F,GACxBA,EAAIpC,OAAS4B,EACbQ,EAAIrC,UAAY+B,EAChBL,EAAeW,GACfZ,GAAc,MA4ChB,OAhCAc,EAAAA,EAAAA,YAAU,WACJ3B,GACFY,GAAe,KAEhB,CAACZ,KAEJ2B,EAAAA,EAAAA,YAAU,WACJhB,GACFpE,EAAAA,EAAAA,OAEI,MAFJ,6BAG0B4E,EAH1B,oBAGqDF,EAHrD,UAKGzE,MAAK,SAACoF,GACL,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAOE,OAAQD,IAAK,CACtC,IAAIE,EAAeC,KAAKC,MAAQ,IAAQ,EACxCL,EAAOC,GAAGK,MAAOC,EAAAA,EAAAA,KACdJ,EAAcK,SAASR,EAAOC,GAAGQ,cAAcC,YAGpD5B,EAAQkB,GACRhB,GAAe,MAEhBlE,OAAM,SAACC,IACN+B,EAAAA,EAAAA,IAAqB,CACnBY,aAAc,qBACdC,cAAe5C,EAAI4C,qBAI1B,CAACoB,EAAaM,EAAYE,KAG3B,UAAC,EAAAoB,SAAD,WACG5D,IACC,SAAC,EAAD,CACEA,WAAYA,EACZC,YAAaA,EACbC,2BA3D2B,SAAC2D,GAClC3B,GAAc,GACdD,GAAe,OA4Db,eAAIjG,UAAWtC,EAAQoK,aAAvB,mBACA,SAAChD,EAAA,GAAD,CAAMC,MAAI,EAACC,GAAI,GAAIhF,UAAWtC,EAAQqK,YAAtC,UACE,SAACC,EAAA,EAAD,CACE1I,YAAY,cACZU,UAAWtC,EAAQuK,YACnBrJ,GAAG,kBACHH,MAAM,GACNd,WAAY,CACVuK,kBAAkB,EAClBC,gBACE,SAACC,EAAA,EAAD,CAAgBnK,SAAS,QAAzB,UACE,SAACoK,EAAA,EAAD,OAIN3J,SAAU,SAAC4J,GACTjC,EAAUiC,EAAEpD,OAAOvG,QAErB6E,QAAQ,gBAGZ,SAACsB,EAAA,GAAD,CAAMC,MAAI,EAACC,GAAI,GAAIhF,UAAWtC,EAAQ6K,WAAtC,UACE,SAACC,EAAA,EAAD,CACEC,QAAS,CACP,CAAEhK,MAAO,OAAQiK,WAAY,OAAQC,MAAO,KAC5C,CAAElK,MAAO,SAAUiK,WAAY,UAC/B,CAAEjK,MAAO,MAAOiK,WAAY,QAC5B,CAAEjK,MAAO,SAAUiK,WAAY,SAC/B,CACEjK,MAAO,WACPiK,WAAY,WACZE,eAAgB,SAACC,GACf,OAAiB,OAAVA,EAAiBA,EAAQ,IAGpC,CAAEpK,MAAO,OAAQiK,WAAY,SAE/BnH,UAAWyE,EACX8C,QAASrC,EACTsC,YAAalC,EACbmC,WAAW,OACXC,QAAQ,mB,0BC/KdC,EAAyBC,EAAQ,OAKrCC,EAAQ,OAAU,EAElB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAEhDG,EAAcH,EAAQ,OAEtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,0GACD,SAEJN,EAAQ,EAAUG,G,4LChBX,SAASI,EAA8BC,GAC5C,OAAOC,EAAAA,EAAAA,GAAqB,oBAAqBD,GAEnD,ICDIE,EDEJ,GAD8BC,E,SAAAA,GAAuB,oBAAqB,CAAC,OAAQ,SAAU,WAAY,WAAY,gBAAiB,cAAe,uBAAwB,cAAe,c,sBCCtLC,EAAY,CAAC,WAAY,YAAa,YAAa,uBAAwB,oBAAqB,WAAY,WAqC5GC,GAAqBC,EAAAA,EAAAA,IAAO,MAAO,CACvCrL,KAAM,oBACN+K,KAAM,OACNO,kBAzBwB,SAAC1M,EAAO2M,GAChC,IACEC,EACE5M,EADF4M,WAEF,MAAO,CAACD,EAAOrH,KAAMqH,EAAO,WAAD,QAAYE,EAAAA,EAAAA,GAAWD,EAAWpM,aAAkD,IAApCoM,EAAWE,sBAAiCH,EAAOG,qBAAsBH,EAAOC,EAAW7G,YAkB7I0G,EAIxB,gBACD7M,EADC,EACDA,MACAgN,EAFC,EAEDA,WAFC,OAGGG,EAAAA,EAAAA,GAAS,CACbC,QAAS,OACTC,OAAQ,SAERpM,UAAW,MACXqM,WAAY,SACZC,WAAY,SACZnH,MAAOpG,EAAMwN,QAAQC,OAAOC,QACJ,WAAvBV,EAAW7G,UAAX,sBAEKwH,EAAAA,cAFL,kBAEkDA,EAAAA,YAFlD,KAEyF,CACxFC,UAAW,KAEY,UAAxBZ,EAAWpM,UAAwB,CAEpCiN,YAAa,GACY,QAAxBb,EAAWpM,UAAsB,CAElCkN,WAAY,IACyB,IAApCd,EAAWE,sBAAiC,CAE7Ca,cAAe,YA4HjB,EA1HoCC,EAAAA,YAAiB,SAAwBC,EAASC,GACpF,IAAM9N,GAAQ+N,EAAAA,EAAAA,GAAc,CAC1B/N,MAAO6N,EACPzM,KAAM,sBAIN4M,EAOEhO,EAPFgO,SACAzL,EAMEvC,EANFuC,UAFF,EAQIvC,EALFiO,UAAAA,OAHF,MAGc,MAHd,IAQIjO,EAJF8M,qBAAAA,OAJF,WAQI9M,EAHFkO,kBAAAA,OALF,SAME1N,EAEER,EAFFQ,SACS2N,EACPnO,EADF+F,QAEIqI,GAAQC,EAAAA,EAAAA,GAA8BrO,EAAOuM,GAE7C+B,GAAiBC,EAAAA,EAAAA,MAAoB,GACvCxI,EAAUoI,EAEVA,GAAeG,EAAevI,QAQ9BuI,IAAmBvI,IACrBA,EAAUuI,EAAevI,SAG3B,IAAM6G,GAAaG,EAAAA,EAAAA,GAAS,GAAI/M,EAAO,CACrCwO,YAAaF,EAAeE,YAC5BjL,KAAM+K,EAAe/K,KACrBuJ,qBAAAA,EACAtM,SAAAA,EACAuF,QAAAA,IAGI9F,EArFkB,SAAA2M,GACxB,IACE3M,EAME2M,EANF3M,QACA6M,EAKEF,EALFE,qBACA0B,EAIE5B,EAJF4B,YACAhO,EAGEoM,EAHFpM,SACA+C,EAEEqJ,EAFFrJ,KACAwC,EACE6G,EADF7G,QAEI0I,EAAQ,CACZnJ,KAAM,CAAC,OAAQwH,GAAwB,uBAAwBtM,GAAY,WAAJ,QAAeqM,EAAAA,EAAAA,GAAWrM,IAAauF,EAASyI,GAAe,cAAejL,GAAQ,OAAJ,QAAWsJ,EAAAA,EAAAA,GAAWtJ,MAEjL,OAAOmL,EAAAA,EAAAA,GAAeD,EAAOvC,EAA+BjM,GAyE5C0O,CAAkB/B,GAClC,OAAoBgC,EAAAA,EAAAA,KAAKC,EAAAA,EAAAA,SAA6B,CACpD3N,MAAO,KACP8M,UAAuBY,EAAAA,EAAAA,KAAKpC,GAAoBO,EAAAA,EAAAA,GAAS,CACvD+B,GAAIb,EACJrB,WAAYA,EACZrK,WAAWI,EAAAA,EAAAA,GAAK1C,EAAQqF,KAAM/C,GAC9BuL,IAAKA,GACJM,EAAO,CACRJ,SAA8B,kBAAbA,GAA0BE,GAGzBa,EAAAA,EAAAA,MAAMnB,EAAAA,SAAgB,CACtCI,SAAU,CAAc,UAAbxN,EAEX6L,IAAUA,GAAqBuC,EAAAA,EAAAA,KAAK,OAAQ,CAC1CrM,UAAW,cACXyL,SAAU,YACN,KAAMA,MAT8DY,EAAAA,EAAAA,KAAKI,EAAAA,EAAY,CAC3FhJ,MAAO,iBACPgI,SAAUA","sources":["screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Tenants/TenantDetails/DeletePod.tsx","screens/Console/Tenants/TenantDetails/PodsSummary.tsx","../node_modules/@mui/icons-material/Close.js","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport { IPodListElement } from \"../ListTenants/types\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport { connect } from \"react-redux\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\n\ninterface IDeletePod {\n deleteOpen: boolean;\n selectedPod: IPodListElement;\n closeDeleteModalAndRefresh: (refreshList: boolean) => any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeletePod = ({\n deleteOpen,\n selectedPod,\n closeDeleteModalAndRefresh,\n setErrorSnackMessage,\n}: IDeletePod) => {\n const [retypePod, setRetypePod] = useState(\"\");\n\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n const onConfirmDelete = () => {\n if (retypePod !== selectedPod.name) {\n setErrorSnackMessage({\n errorMessage: \"Tenant name is incorrect\",\n detailedError: \"\",\n });\n return;\n }\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/namespaces/${selectedPod.namespace}/tenants/${selectedPod.tenant}/pods/${selectedPod.name}`\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmButtonProps={{\n disabled: retypePod !== selectedPod.name || deleteLoading,\n }}\n confirmationContent={\n \n To continue please type {selectedPod.name} in the box.\n \n ) => {\n setRetypePod(event.target.value);\n }}\n label=\"\"\n value={retypePod}\n />\n \n \n }\n />\n );\n};\n\nconst connector = connect(null, {\n setErrorSnackMessage,\n});\n\nexport default connector(DeletePod);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n containerForHeader,\n tableStyles,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { niceDays } from \"../../../../common/utils\";\nimport { IPodListElement } from \"../ListTenants/types\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport api from \"../../../../common/api\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport { AppState } from \"../../../../store\";\nimport { setTenantDetailsLoad } from \"../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport DeletePod from \"./DeletePod\";\nimport { Grid, InputAdornment, TextField } from \"@mui/material\";\nimport SearchIcon from \"../../../../icons/SearchIcon\";\n\ninterface IPodsSummary {\n classes: any;\n match: any;\n history: any;\n loadingTenant: boolean;\n setTenantDetailsLoad: typeof setTenantDetailsLoad;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n ...tableStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst PodsSummary = ({\n classes,\n match,\n history,\n loadingTenant,\n}: IPodsSummary) => {\n const [pods, setPods] = useState([]);\n const [loadingPods, setLoadingPods] = useState(true);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedPod, setSelectedPod] = useState(null);\n const [filter, setFilter] = useState(\"\");\n const tenantName = match.params[\"tenantName\"];\n const tenantNamespace = match.params[\"tenantNamespace\"];\n\n const podViewAction = (pod: IPodListElement) => {\n history.push(\n `/namespaces/${tenantNamespace}/tenants/${tenantName}/pods/${pod.name}`\n );\n return;\n };\n\n const closeDeleteModalAndRefresh = (reloadData: boolean) => {\n setDeleteOpen(false);\n setLoadingPods(true);\n };\n\n const confirmDeletePod = (pod: IPodListElement) => {\n pod.tenant = tenantName;\n pod.namespace = tenantNamespace;\n setSelectedPod(pod);\n setDeleteOpen(true);\n };\n\n const filteredRecords: IPodListElement[] = pods.filter((elementItem) =>\n elementItem.name.toLowerCase().includes(filter.toLowerCase())\n );\n\n const podTableActions = [\n { type: \"view\", onClick: podViewAction },\n { type: \"delete\", onClick: confirmDeletePod },\n ];\n\n useEffect(() => {\n if (loadingTenant) {\n setLoadingPods(true);\n }\n }, [loadingTenant]);\n\n useEffect(() => {\n if (loadingPods) {\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}/pods`\n )\n .then((result: IPodListElement[]) => {\n for (let i = 0; i < result.length; i++) {\n let currentTime = (Date.now() / 1000) | 0;\n result[i].time = niceDays(\n (currentTime - parseInt(result[i].timeCreated)).toString()\n );\n }\n setPods(result);\n setLoadingPods(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage({\n errorMessage: \"Error loading pods\",\n detailedError: err.detailedError,\n });\n });\n }\n }, [loadingPods, tenantName, tenantNamespace]);\n\n return (\n \n {deleteOpen && (\n \n )}\n
Pods
\n \n \n \n \n ),\n }}\n onChange={(e) => {\n setFilter(e.target.value);\n }}\n variant=\"standard\"\n />\n \n \n {\n return input !== null ? input : 0;\n },\n },\n { label: \"Node\", elementKey: \"node\" },\n ]}\n isLoading={loadingPods}\n records={filteredRecords}\n itemActions={podTableActions}\n entityName=\"Pods\"\n idField=\"name\"\n />\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.tenantDetails.loadingTenant,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(PodsSummary));\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;"],"names":["inputStyles","makeStyles","theme","createStyles","inputFieldStyles","InputField","props","classes","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","label","onChange","value","id","name","type","autoComplete","disabled","multiline","tooltip","index","error","required","placeholder","min","max","overlayId","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","className","onKeyPress","inputProps","container","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","fullWidth","helperText","inputRebase","onClick","size","disableFocusRipple","disableRipple","disableTouchRipple","onSuccess","onError","useState","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","root","sx","padding","titleText","closeContainer","closeButton","content","actions","cancelButton","variant","color","confirmButton","loading","loadingPosition","startIcon","connect","setErrorSnackMessage","deleteOpen","selectedPod","closeDeleteModalAndRefresh","retypePod","setRetypePod","useApi","deleteLoading","invokeDeleteApi","ConfirmDialog","namespace","tenant","errorMessage","detailedError","DialogContentText","Grid","item","xs","InputBoxWrapper","target","connector","state","loadingTenant","tenants","tenantDetails","tenantDetailsStyles","tableStyles","containerForHeader","spacing","match","history","pods","setPods","loadingPods","setLoadingPods","setDeleteOpen","setSelectedPod","filter","setFilter","tenantName","params","tenantNamespace","filteredRecords","elementItem","toLowerCase","includes","podTableActions","pod","push","useEffect","result","i","length","currentTime","Date","now","time","niceDays","parseInt","timeCreated","toString","Fragment","reloadData","sectionTitle","actionsTray","TextField","searchField","disableUnderline","startAdornment","InputAdornment","SearchIcon","e","tableBlock","TableWrapper","columns","elementKey","width","renderFunction","input","records","itemActions","entityName","idField","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","overridesResolver","styles","ownerState","capitalize","disablePointerEvents","_extends","display","height","alignItems","whiteSpace","palette","action","active","inputAdornmentClasses","marginTop","marginRight","marginLeft","pointerEvents","React","inProps","ref","useThemeProps","children","component","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","_jsxs","Typography"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1796.78eb9602.chunk.js b/portal-ui/build/static/js/1796.78eb9602.chunk.js
new file mode 100644
index 000000000..c5530997e
--- /dev/null
+++ b/portal-ui/build/static/js/1796.78eb9602.chunk.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1796],{29316:function(e,a,l){l(50390);var t=l(6369),n=l(86509),i=l(4285),s=l(14549),r=l(56805),o=l(62559);a.Z=(0,i.Z)((function(e){return(0,n.Z)({link:{display:"inline-block",alignItems:"center",justifyContent:"center",textDecoration:"none",maxWidth:"40px","&:active":{color:e.palette.primary.light}},icon:{marginRight:"11px",display:"flex",alignItems:"center",justifyContent:"center",height:"35px",width:"35px",borderRadius:"2px","&:hover":{background:"rgba(234,237,238)"},"& svg.min-icon":{width:"18px",height:"12px"}},label:{display:"flex",alignItems:"center",height:"35px",padding:"0 0px 0 5px",fontSize:"18px",fontWeight:600,color:e.palette.primary.light}})}))((function(e){var a=e.to,l=e.label,n=e.classes,i=e.className,u=e.executeOnClick;return(0,o.jsxs)(r.Z,{sx:{display:"flex",alignItems:"center"},children:[(0,o.jsx)(t.rU,{to:a,className:"".concat(n.link," ").concat(i||""),onClick:function(){u&&u()},children:(0,o.jsx)("div",{className:n.icon,children:(0,o.jsx)(s.xC,{})})}),(0,o.jsx)("div",{className:n.label,children:l})]})}))},82461:function(e,a,l){l.d(a,{Z:function(){return S}});var t=l(23430),n=l(18489),i=l(50390),s=l(38342),r=l.n(s),o=l(25594),u=l(36554),c=l(94187),d=l(95467),v=l(46529),p=l(94258),h=l(86509),b=l(4285),m=l(72462),x=l(97538),g=l(82981),f=l(62559),S=(0,b.Z)((function(e){return(0,h.Z)((0,n.Z)((0,n.Z)((0,n.Z)((0,n.Z)({},m.YI),m.Hr),{},{valueString:{maxWidth:350,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",marginTop:2},fileInputField:{margin:"13px 0","@media (max-width: 900px)":{flexFlow:"column"}}},m.bV),{},{inputLabel:(0,n.Z)((0,n.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"}),textBoxContainer:(0,n.Z)((0,n.Z)({},m.YI.textBoxContainer),{},{maxWidth:"100%",border:"1px solid #eaeaea",paddingLeft:"15px"})}))}))((function(e){var a=e.label,l=e.classes,n=e.onChange,s=e.id,h=e.name,b=e.disabled,m=void 0!==b&&b,S=e.tooltip,Z=void 0===S?"":S,j=e.required,C=e.error,A=void 0===C?"":C,E=e.accept,y=void 0===E?"":E,w=e.value,N=void 0===w?"":w,T=(0,i.useState)(!1),I=(0,t.Z)(T,2),U=I[0],W=I[1];return(0,f.jsx)(i.Fragment,{children:(0,f.jsxs)(o.ZP,{item:!0,xs:12,className:"".concat(l.fileInputField," ").concat(l.fieldBottom," ").concat(l.fieldContainer," ").concat(""!==A?l.errorInField:""),children:[""!==a&&(0,f.jsxs)(u.Z,{htmlFor:s,className:"".concat(""!==A?l.fieldLabelError:""," ").concat(l.inputLabel),children:[(0,f.jsxs)("span",{children:[a,j?"*":""]}),""!==Z&&(0,f.jsx)("div",{className:l.tooltipContainer,children:(0,f.jsx)(c.Z,{title:Z,placement:"top-start",children:(0,f.jsx)("div",{className:l.tooltip,children:(0,f.jsx)(x.Z,{})})})})]}),U||""===N?(0,f.jsxs)("div",{className:l.textBoxContainer,children:[(0,f.jsx)("input",{type:"file",name:h,onChange:function(e){var a=r()(e,"target.files[0].name","");!function(e,a){var l=e.target.files[0],t=new FileReader;t.readAsDataURL(l),t.onload=function(){var e=t.result;if(e){var l=e.toString().split("base64,");2===l.length&&a(l[1])}}}(e,(function(e){n(e,a)}))},accept:y,required:j,disabled:m,className:l.fileInputField}),""!==N&&(0,f.jsx)(d.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){W(!1)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,f.jsx)(p.Z,{})}),""!==A&&(0,f.jsx)(g.Z,{errorMessage:A})]}):(0,f.jsxs)("div",{className:l.fileReselect,children:[(0,f.jsx)("div",{className:l.valueString,children:N}),(0,f.jsx)(d.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){W(!0)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,f.jsx)(v.Z,{})})]})]})})}))},66964:function(e,a,l){var t=l(18489),n=l(50390),i=l(12066),s=l(25594),r=l(36554),o=l(94187),u=l(95467),c=l(86509),d=l(62449),v=l(4285),p=l(72462),h=l(97538),b=l(44977),m=l(62559),x=(0,d.Z)((function(e){return(0,c.Z)((0,t.Z)({},p.gM))}));function g(e){var a=x();return(0,m.jsx)(i.Z,(0,t.Z)({InputProps:{classes:a}},e))}a.Z=(0,v.Z)((function(e){return(0,c.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,t.Z)((0,t.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var a=e.label,l=e.onChange,i=e.value,c=e.id,d=e.name,v=e.type,p=void 0===v?"text":v,x=e.autoComplete,f=void 0===x?"off":x,S=e.disabled,Z=void 0!==S&&S,j=e.multiline,C=void 0!==j&&j,A=e.tooltip,E=void 0===A?"":A,y=e.index,w=void 0===y?0:y,N=e.error,T=void 0===N?"":N,I=e.required,U=void 0!==I&&I,W=e.placeholder,k=void 0===W?"":W,O=e.min,P=e.max,R=e.overlayId,L=e.overlayIcon,F=void 0===L?null:L,M=e.overlayObject,z=void 0===M?null:M,B=e.extraInputProps,H=void 0===B?{}:B,K=e.overlayAction,V=e.noLabelMinWidth,q=void 0!==V&&V,G=e.pattern,J=void 0===G?"":G,Y=e.autoFocus,D=void 0!==Y&&Y,X=e.classes,$=e.className,_=void 0===$?"":$,Q=e.onKeyPress,ee=(0,t.Z)({"data-index":w},H);return"number"===p&&O&&(ee.min=O),"number"===p&&P&&(ee.max=P),""!==J&&(ee.pattern=J),(0,m.jsx)(n.Fragment,{children:(0,m.jsxs)(s.ZP,{container:!0,className:(0,b.Z)(""!==_?_:"",""!==T?X.errorInField:X.inputBoxContainer),children:[""!==a&&(0,m.jsxs)(r.Z,{htmlFor:c,className:q?X.noMinWidthLabel:X.inputLabel,children:[(0,m.jsxs)("span",{children:[a,U?"*":""]}),""!==E&&(0,m.jsx)("div",{className:X.tooltipContainer,children:(0,m.jsx)(o.Z,{title:E,placement:"top-start",children:(0,m.jsx)("div",{className:X.tooltip,children:(0,m.jsx)(h.Z,{})})})})]}),(0,m.jsxs)("div",{className:X.textBoxContainer,children:[(0,m.jsx)(g,{id:c,name:d,fullWidth:!0,value:i,autoFocus:D,disabled:Z,onChange:l,type:p,multiline:C,autoComplete:f,inputProps:ee,error:""!==T,helperText:T,placeholder:k,className:X.inputRebase,onKeyPress:Q}),F&&(0,m.jsx)("div",{className:"".concat(X.overlayAction," ").concat(""!==a?"withLabel":""),children:(0,m.jsx)(u.Z,{onClick:K?function(){K()}:function(){return null},id:R,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:F})}),z&&(0,m.jsx)("div",{className:"".concat(X.overlayAction," ").concat(""!==a?"withLabel":""),children:z})]})]})})}))},25534:function(e,a,l){var t=l(18489),n=(l(50390),l(25594)),i=l(86509),s=l(4285),r=l(72462),o=l(62559);a.Z=(0,s.Z)((function(e){return(0,i.Z)((0,t.Z)({},r.Bw))}))((function(e){var a=e.classes,l=e.className,t=void 0===l?"":l,i=e.children;return(0,o.jsx)("div",{className:a.contentSpacer,children:(0,o.jsx)(n.ZP,{container:!0,children:(0,o.jsx)(n.ZP,{item:!0,xs:12,className:t,children:i})})})}))},35721:function(e,a,l){var t=l(50390),n=l(34424),i=l(25594),s=l(86509),r=l(4285),o=l(35477),u=l(95467),c=l(26805),d=l(44078),v=l(5265),p=l(14549),h=l(62559),b={toggleList:v.kQ},m=(0,n.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage,features:e.console.session.features}}),b);a.Z=m((0,r.Z)((function(e){return(0,s.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:21,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var a=e.classes,l=e.label,n=e.actions,s=e.sidebarOpen,r=e.operatorMode,v=e.managerObjects,b=e.toggleList,m=e.middleComponent;return e.features.includes("hide-menu")?(0,h.jsx)(t.Fragment,{}):(0,h.jsxs)(i.ZP,{container:!0,className:"".concat(a.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,h.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:m?3:6,className:a.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!s&&(0,h.jsx)("div",{className:a.logo,children:r?(0,h.jsx)(c.Z,{}):(0,h.jsx)(d.Z,{})}),(0,h.jsx)(o.Z,{variant:"h4",className:a.labelStyle,children:l})]}),m&&(0,h.jsx)(i.ZP,{item:!0,xs:12,sm:12,md:6,className:a.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:m}),(0,h.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:m?3:6,className:a.rightMenu,children:[n&&n,v&&v.length>0&&(0,h.jsx)(u.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){b()},id:"object-manager-toggle",size:"large",children:(0,h.jsx)(p.gx,{})})]})]})})))},41796:function(e,a,l){l.r(a),l.d(a,{default:function(){return B}});var t=l(23430),n=l(18489),i=l(50390),s=l(34424),r=l(38342),o=l.n(r),u=l(25594),c=l(86509),d=l(4285),v=l(56805),p=l(66946),h=l(44149),b=l(72462),m=l(30324),x=l(66964),g=l(82461),f=l(35721),S=l(51444),Z=l(29316),j=l(25534),C=l(49495),A=l(36554),E=l(94187),y=l(95467),w=l(62449),N=l(97538),T=l(44977),I=l(10728),U=l(12066),W=[{label:"US East (Ohio)",value:"us-east-2"},{label:"US East (N. Virginia)",value:"us-east-1"},{label:"US West (N. California)",value:"us-west-1"},{label:"US West (Oregon)",value:"us-west-2"},{label:"Africa (Cape Town)",value:"af-south-1"},{label:"Asia Pacific (Hong Kong)***",value:"ap-east-1"},{label:"Asia Pacific (Jakarta)",value:"ap-southeast-3"},{label:"Asia Pacific (Mumbai)",value:"ap-south-1"},{label:"Asia Pacific (Osaka)",value:"ap-northeast-3"},{label:"Asia Pacific (Seoul)",value:"ap-northeast-2"},{label:"Asia Pacific (Singapore)",value:"ap-southeast-1"},{label:"Asia Pacific (Sydney)",value:"ap-southeast-2"},{label:"Asia Pacific (Tokyo)",value:"ap-northeast-1"},{label:"Canada (Central)",value:"ca-central-1"},{label:"China (Beijing)",value:"cn-north-1"},{label:"China (Ningxia)",value:"cn-northwest-1"},{label:"Europe (Frankfurt)",value:"eu-central-1"},{label:"Europe (Ireland)",value:"eu-west-1"},{label:"Europe (London)",value:"eu-west-2"},{label:"Europe (Milan)",value:"eu-south-1"},{label:"Europe (Paris)",value:"eu-west-3"},{label:"Europe (Stockholm)",value:"eu-north-1"},{label:"South America (S\xe3o Paulo)",value:"sa-east-1"},{label:"Middle East (Bahrain)",value:"me-south-1"},{label:"AWS GovCloud (US-East)",value:"us-gov-east-1"},{label:"AWS GovCloud (US-West)",value:"us-gov-west-1"}],k=[{label:"Montr\xe9al",value:"NORTHAMERICA-NORTHEAST1"},{label:"Toronto",value:"NORTHAMERICA-NORTHEAST2"},{label:"Iowa",value:"US-CENTRAL1"},{label:"South Carolina",value:"US-EAST1"},{label:"Northern Virginia",value:"US-EAST4"},{label:"Oregon",value:"US-WEST1"},{label:"Los Angeles",value:"US-WEST2"},{label:"Salt Lake City",value:"US-WEST3"},{label:"Las Vegas",value:"US-WEST4"},{label:"S\xe3o Paulo",value:"SOUTHAMERICA-EAST1"},{label:"Santiago",value:"SOUTHAMERICA-WEST1"},{label:"Warsaw",value:"EUROPE-CENTRAL2"},{label:"Finland",value:"EUROPE-NORTH1"},{label:"Belgium",value:"EUROPE-WEST1"},{label:"London",value:"EUROPE-WEST2"},{label:"Frankfurt",value:"EUROPE-WEST3"},{label:"Netherlands",value:"EUROPE-WEST4"},{label:"Z\xfcrich",value:"EUROPE-WEST6"},{label:"Taiwan",value:"ASIA-EAST1"},{label:"Hong Kong",value:"ASIA-EAST2"},{label:"Tokyo",value:"ASIA-NORTHEAST1"},{label:"Osaka",value:"ASIA-NORTHEAST2"},{label:"Seoul",value:"ASIA-NORTHEAST3"},{label:"Mumbai",value:"ASIA-SOUTH1"},{label:"Delhi",value:"ASIA-SOUTH2"},{label:"Singapore",value:"ASIA-SOUTHEAST1"},{label:"Jakarta",value:"ASIA-SOUTHEAST2"},{label:"Sydney",value:"AUSTRALIA-SOUTHEAST1"},{label:"Melbourne",value:"AUSTRALIA-SOUTHEAST2"}],O=[{label:"Asia",value:"asia"},{label:"Asia Pacific",value:"asiapacific"},{label:"Australia",value:"australia"},{label:"Australia Central",value:"australiacentral"},{label:"Australia Central 2",value:"australiacentral2"},{label:"Australia East",value:"australiaeast"},{label:"Australia Southeast",value:"australiasoutheast"},{label:"Brazil",value:"brazil"},{label:"Brazil South",value:"brazilsouth"},{label:"Brazil Southeast",value:"brazilsoutheast"},{label:"Canada",value:"canada"},{label:"Canada Central",value:"canadacentral"},{label:"Canada East",value:"canadaeast"},{label:"Central India",value:"centralindia"},{label:"Central US",value:"centralus"},{label:"Central US (Stage)",value:"centralusstage"},{label:"Central US EUAP",value:"centraluseuap"},{label:"East Asia",value:"eastasia"},{label:"East Asia (Stage)",value:"eastasiastage"},{label:"East US",value:"eastus"},{label:"East US (Stage)",value:"eastusstage"},{label:"East US 2",value:"eastus2"},{label:"East US 2 (Stage)",value:"eastus2stage"},{label:"East US 2 EUAP",value:"eastus2euap"},{label:"Europe",value:"europe"},{label:"France",value:"france"},{label:"France Central",value:"francecentral"},{label:"France South",value:"francesouth"},{label:"Germany",value:"germany"},{label:"Germany North",value:"germanynorth"},{label:"Germany West Central",value:"germanywestcentral"},{label:"Global",value:"global"},{label:"India",value:"india"},{label:"Japan",value:"japan"},{label:"Japan East",value:"japaneast"},{label:"Japan West",value:"japanwest"},{label:"Jio India Central",value:"jioindiacentral"},{label:"Jio India West",value:"jioindiawest"},{label:"Korea",value:"korea"},{label:"Korea Central",value:"koreacentral"},{label:"Korea South",value:"koreasouth"},{label:"North Central US",value:"northcentralus"},{label:"North Central US (Stage)",value:"northcentralusstage"},{label:"North Europe",value:"northeurope"},{label:"Norway",value:"norway"},{label:"Norway East",value:"norwayeast"},{label:"Norway West",value:"norwaywest"},{label:"South Africa",value:"southafrica"},{label:"South Africa North",value:"southafricanorth"},{label:"South Africa West",value:"southafricawest"},{label:"South Central US",value:"southcentralus"},{label:"South Central US (Stage)",value:"southcentralusstage"},{label:"South India",value:"southindia"},{label:"Southeast Asia",value:"southeastasia"},{label:"Southeast Asia (Stage)",value:"southeastasiastage"},{label:"Sweden Central",value:"swedencentral"},{label:"Switzerland",value:"switzerland"},{label:"Switzerland North",value:"switzerlandnorth"},{label:"Switzerland West",value:"switzerlandwest"},{label:"UAE Central",value:"uaecentral"},{label:"UAE North",value:"uaenorth"},{label:"UK South",value:"uksouth"},{label:"UK West",value:"ukwest"},{label:"United Arab Emirates",value:"uae"},{label:"United Kingdom",value:"uk"},{label:"United States",value:"unitedstates"},{label:"United States EUAP",value:"unitedstateseuap"},{label:"West Central US",value:"westcentralus"},{label:"West Europe",value:"westeurope"},{label:"West India",value:"westindia"},{label:"West US",value:"westus"},{label:"West US (Stage)",value:"westusstage"},{label:"West US 2",value:"westus2"},{label:"West US 2 (Stage)",value:"westus2stage"},{label:"West US 3",value:"westus3"}],P=l(62559),R=function(e){var a=e.type,l=e.onChange,s=e.inputProps,r=function(e){return"s3"===e?W:"gcs"===e?k:"azure"===e?O:[]}(a),o=i.useState(""),u=(0,t.Z)(o,2),c=u[0],d=u[1];return(0,P.jsx)(I.Z,{sx:{"& .MuiOutlinedInput-root":{padding:0,paddingLeft:"10px",fontSize:13,fontWeight:600},"& .MuiAutocomplete-inputRoot":{"& .MuiOutlinedInput-notchedOutline":{borderColor:"#e5e5e5",borderWidth:1},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:"#07193E",borderWidth:1},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"#07193E",borderWidth:1}}},freeSolo:!0,selectOnFocus:!0,handleHomeEndKeys:!0,onChange:function(e,a){var t,n=a;n="string"===typeof a?{label:a}:a&&a.inputValue?{label:a.inputValue}:a,d(n),l(null===(t=n)||void 0===t?void 0:t.value)},value:c,onInputChange:function(e){var a=(e||{}).target,t=(a=void 0===a?{}:a).value;l(void 0===t?"":t)},getOptionLabel:function(e){return"string"===typeof e?e:e.inputValue?e.inputValue:e.value},options:r,filterOptions:function(e,a){var l=a.inputValue.toLowerCase();return e.filter((function(e){return"".concat(e.label.toLowerCase()).concat(e.value.toLowerCase()).includes(l)}))},renderOption:function(e,a){return(0,P.jsx)("li",(0,n.Z)((0,n.Z)({},e),{},{children:(0,P.jsxs)(v.Z,{sx:{display:"flex",flexFlow:"column",alignItems:"baseline",padding:"4px",borderBottom:"1px solid #eaeaea",cursor:"pointer",width:"100%","& .label":{fontSize:"13px",fontWeight:500},"& .value":{fontSize:"11px",fontWeight:400}},children:[(0,P.jsx)("span",{className:"label",children:a.value}),(0,P.jsx)("span",{className:"value",children:a.label})]})}))},renderInput:function(e){return(0,P.jsx)(U.Z,(0,n.Z)((0,n.Z)((0,n.Z)({},e),s),{},{fullWidth:!0}))}})},L=(0,w.Z)((function(e){return(0,c.Z)((0,n.Z)({},b.gM))})),F=(0,d.Z)((function(e){return(0,c.Z)((0,n.Z)((0,n.Z)((0,n.Z)({},b.YI),b.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative",minWidth:160},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,n.Z)((0,n.Z)({},b.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var a=e.label,l=e.onChange,t=e.id,s=e.name,r=e.type,o=e.tooltip,c=void 0===o?"":o,d=e.index,v=void 0===d?0:d,p=e.error,h=void 0===p?"":p,b=e.required,m=void 0!==b&&b,x=e.overlayId,g=e.overlayIcon,f=void 0===g?null:g,S=e.overlayObject,Z=void 0===S?null:S,j=e.extraInputProps,C=void 0===j?{}:j,w=e.overlayAction,I=e.noLabelMinWidth,U=void 0!==I&&I,W=e.classes,k=e.className,O=void 0===k?"":k,F=L(),M=(0,n.Z)((0,n.Z)({"data-index":v},C),{},{name:s,id:t,classes:F});return(0,P.jsx)(i.Fragment,{children:(0,P.jsxs)(u.ZP,{container:!0,className:(0,T.Z)(""!==O?O:"",""!==h?W.errorInField:W.inputBoxContainer),children:[""!==a&&(0,P.jsxs)(A.Z,{htmlFor:t,className:U?W.noMinWidthLabel:W.inputLabel,children:[(0,P.jsxs)("span",{children:[a,m?"*":""]}),""!==c&&(0,P.jsx)("div",{className:W.tooltipContainer,children:(0,P.jsx)(E.Z,{title:c,placement:"top-start",children:(0,P.jsx)("div",{className:W.tooltip,children:(0,P.jsx)(N.Z,{})})})})]}),(0,P.jsxs)("div",{className:W.textBoxContainer,children:[(0,P.jsx)(R,{type:r,inputProps:M,onChange:l}),f&&(0,P.jsx)("div",{className:"".concat(W.overlayAction," ").concat(""!==a?"withLabel":""),children:(0,P.jsx)(y.Z,{onClick:w?function(){w()}:function(){return null},id:x,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:f})}),Z&&(0,P.jsx)("div",{className:"".concat(W.overlayAction," ").concat(""!==a?"withLabel":""),children:Z})]})]})})})),M={setErrorSnackMessage:h.Ih},z=(0,s.$j)(null,M),B=(0,d.Z)((function(e){return(0,c.Z)((0,n.Z)((0,n.Z)((0,n.Z)((0,n.Z)({},b.oO),b.Je),b.DF),{},{lambdaNotifTitle:{color:"#07193E",fontSize:16,fontFamily:"Lato,sans-serif",paddingLeft:18},fileInputFieldCss:{margin:"0"},fileTextBoxContainer:{maxWidth:" 100%",flex:1},fileReselectCss:{maxWidth:" 100%",flex:1}},b.bV))}))(z((function(e){var a=e.classes,l=e.setErrorSnackMessage,s=e.match,r=e.history,c=(0,i.useState)(!1),d=(0,t.Z)(c,2),h=d[0],b=d[1],A=(0,i.useState)(""),E=(0,t.Z)(A,2),y=E[0],w=E[1],N=(0,i.useState)(""),T=(0,t.Z)(N,2),I=T[0],U=T[1],W=(0,i.useState)(""),k=(0,t.Z)(W,2),O=k[0],R=k[1],L=(0,i.useState)(""),M=(0,t.Z)(L,2),z=M[0],B=M[1],H=(0,i.useState)(""),K=(0,t.Z)(H,2),V=K[0],q=K[1],G=(0,i.useState)(""),J=(0,t.Z)(G,2),Y=J[0],D=J[1],X=(0,i.useState)(""),$=(0,t.Z)(X,2),_=$[0],Q=$[1],ee=(0,i.useState)(""),ae=(0,t.Z)(ee,2),le=ae[0],te=ae[1],ne=(0,i.useState)(""),ie=(0,t.Z)(ne,2),se=ie[0],re=ie[1],oe=(0,i.useState)(""),ue=(0,t.Z)(oe,2),ce=ue[0],de=ue[1],ve=(0,i.useState)(""),pe=(0,t.Z)(ve,2),he=pe[0],be=pe[1],me=(0,i.useState)(""),xe=(0,t.Z)(me,2),ge=xe[0],fe=xe[1],Se=(0,i.useState)(""),Ze=(0,t.Z)(Se,2),je=Ze[0],Ce=Ze[1],Ae=o()(s,"params.service","s3"),Ee=(0,i.useState)(!0),ye=(0,t.Z)(Ee,2),we=ye[0],Ne=ye[1],Te=(0,i.useState)(""),Ie=(0,t.Z)(Te,2),Ue=Ie[0],We=Ie[1],ke=(0,i.useCallback)((function(){return/^[A-Z0-9-_]+$/.test(y)?(We(""),!0):(We("Please verify that string is uppercase only and contains valid characters (numbers, dashes & underscores)."),!1)}),[y]);(0,i.useEffect)((function(){if(h){var e={},a={name:y,endpoint:I,bucket:O,prefix:z,region:V},t=Ae;switch("minio"===Ae&&(t="s3"),Ae){case"minio":case"s3":e={s3:(0,n.Z)((0,n.Z)({},a),{},{accesskey:_,secretkey:le,storageclass:Y})};break;case"gcs":e={gcs:(0,n.Z)((0,n.Z)({},a),{},{creds:ce})};break;case"azure":e={azure:(0,n.Z)((0,n.Z)({},a),{},{accountname:he,accountkey:ge})}}var i=(0,n.Z)({type:t},e);m.Z.invoke("POST","/api/v1/admin/tiers",i).then((function(){b(!1),r.push(C.gA.TIERS)})).catch((function(e){b(!1),l(e)}))}}),[_,ge,he,O,ce,I,r,y,z,V,h,le,l,Y,Ae]),(0,i.useEffect)((function(){var e=!0;""===Ae&&(e=!1),""!==y&&ke()||(e=!1),""===I&&(e=!1),""===O&&(e=!1),""===z&&(e=!1),""===V&&"minio"!==Ae&&(e=!1),"s3"!==Ae&&"minio"!==Ae||(""===_&&(e=!1),""===le&&(e=!1)),"gcs"===Ae&&""===ce&&(e=!1),"azure"===Ae&&(""===he&&(e=!1),""===ge&&(e=!1)),Ne(e)}),[_,ge,he,O,ce,I,we,y,z,V,le,Y,Ae,ke]),(0,i.useEffect)((function(){switch(Ae){case"gcs":U("https://storage.googleapis.com/"),Ce("Google Cloud");break;case"s3":U("https://s3.amazonaws.com"),Ce("Amazon S3");break;case"azure":U("http://blob.core.windows.net"),Ce("Azure");break;case"minio":U(""),Ce("MinIO")}}),[Ae]);var Oe=S.Bh.find((function(e){return e.serviceName===Ae}));return(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)(f.Z,{label:(0,P.jsx)(i.Fragment,{children:(0,P.jsx)(Z.Z,{to:C.gA.TIERS_ADD,label:"Add Tier"})}),actions:(0,P.jsx)(i.Fragment,{})}),(0,P.jsx)(j.Z,{children:(0,P.jsx)(u.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea",padding:"25px"},children:(0,P.jsxs)("form",{noValidate:!0,onSubmit:function(e){e.preventDefault(),b(!0)},children:[""!==Ae&&Oe?(0,P.jsxs)(u.ZP,{item:!0,xs:12,sx:{display:"flex",alignItems:"center",justifyContent:"start",marginBottom:"20px"},children:[Oe.logo?(0,P.jsx)(v.Z,{sx:{"& .min-icon":{height:"60px",width:"60px"}},children:Oe.logo}):null,(0,P.jsx)("div",{className:a.lambdaNotifTitle,children:(0,P.jsxs)("b",{children:[je||""," - Add Tier Configuration"]})})]},"icon-".concat(Oe.targetTitle)):null,(0,P.jsx)(u.ZP,{item:!0,xs:12,sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"1fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gridRowGap:25,gridColumnGap:50},children:""!==Ae&&(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)(x.Z,{id:"name",name:"name",label:"Name",placeholder:"Enter Name (Eg. REMOTE-TIER)",value:y,onChange:function(e){w(e.target.value.toUpperCase())},error:Ue,required:!0}),(0,P.jsx)(x.Z,{id:"endpoint",name:"endpoint",label:"Endpoint",placeholder:"Enter Endpoint",value:I,onChange:function(e){U(e.target.value)},required:!0}),(Ae===S.b2||Ae===S.Pp)&&(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)(x.Z,{id:"accessKey",name:"accessKey",label:"Access Key",placeholder:"Enter Access Key",value:_,onChange:function(e){Q(e.target.value)},required:!0}),(0,P.jsx)(x.Z,{id:"secretKey",name:"secretKey",label:"Secret Key",placeholder:"Enter Secret Key",value:le,onChange:function(e){te(e.target.value)},required:!0})]}),Ae===S.f0&&(0,P.jsx)(g.Z,{accept:".json",classes:{fileInputField:a.fileInputFieldCss,textBoxContainer:a.fileTextBoxContainer,fileReselect:a.fileReselectCss},id:"creds",label:"Credentials",name:"creds",onChange:function(e,a){de(e),re(a)},value:se,required:!0}),Ae===S.vB&&(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)(x.Z,{id:"accountName",name:"accountName",label:"Account Name",placeholder:"Enter Account Name",value:he,onChange:function(e){be(e.target.value)},required:!0}),(0,P.jsx)(x.Z,{id:"accountKey",name:"accountKey",label:"Account Key",placeholder:"Enter Account Key",value:ge,onChange:function(e){fe(e.target.value)},required:!0})]}),(0,P.jsx)(x.Z,{id:"bucket",name:"bucket",label:"Bucket",placeholder:"Enter Bucket",value:O,onChange:function(e){R(e.target.value)},required:!0}),(0,P.jsx)(x.Z,{id:"prefix",name:"prefix",label:"Prefix",placeholder:"Enter Prefix",value:z,onChange:function(e){B(e.target.value)},required:!0}),(0,P.jsx)(F,{onChange:function(e){q(e)},required:"minio"!==Ae,label:"Region",id:"region",name:"region",type:Ae}),Ae===S.b2||Ae===S.Pp&&(0,P.jsx)(x.Z,{id:"storageClass",name:"storageClass",label:"Storage Class",placeholder:"Enter Storage Class",value:Y,onChange:function(e){D(e.target.value)}})]})}),(0,P.jsx)(u.ZP,{item:!0,xs:12,className:a.settingsButtonContainer,children:(0,P.jsx)(p.Z,{type:"submit",variant:"contained",color:"primary",disabled:h||!we,children:"Save Tier Configuration"})})]})})})]})})))},51444:function(e,a,l){l.d(a,{Pp:function(){return i},f0:function(){return s},b2:function(){return r},vB:function(){return o},Bh:function(){return u}});var t=l(14549),n=l(62559),i="minio",s="gcs",r="s3",o="azure",u=[{serviceName:i,targetTitle:"MinIO",logo:(0,n.jsx)(t.$E,{}),logoXs:(0,n.jsx)(t.YE,{})},{serviceName:s,targetTitle:"Google Cloud Storage",logo:(0,n.jsx)(t.UQ,{}),logoXs:(0,n.jsx)(t.Vw,{})},{serviceName:r,targetTitle:"AWS S3",logo:(0,n.jsx)(t.fe,{}),logoXs:(0,n.jsx)(t.Xj,{})},{serviceName:o,targetTitle:"Azure",logo:(0,n.jsx)(t.jz,{}),logoXs:(0,n.jsx)(t.nA,{})}]},82981:function(e,a,l){var t=l(50390),n=l(35477),i=l(86509),s=l(4285),r=l(62559);a.Z=(0,s.Z)((function(e){var a;return(0,i.Z)({errorBlock:{color:(null===(a=e.palette)||void 0===a?void 0:a.error.main)||"#C83B51"}})}))((function(e){var a=e.classes,l=e.errorMessage,i=e.withBreak,s=void 0===i||i;return(0,r.jsxs)(t.Fragment,{children:[s&&(0,r.jsx)("br",{}),(0,r.jsx)(n.Z,{component:"p",variant:"body1",className:a.errorBlock,children:l})]})}))},46529:function(e,a,l){var t=l(64119);a.Z=void 0;var n=t(l(66830)),i=l(62559),s=(0,n.default)((0,i.jsx)("path",{d:"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z"}),"AttachFile");a.Z=s},94258:function(e,a,l){var t=l(64119);a.Z=void 0;var n=t(l(66830)),i=l(62559),s=(0,n.default)((0,i.jsx)("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}),"Cancel");a.Z=s}}]);
+//# sourceMappingURL=1796.78eb9602.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1796.78eb9602.chunk.js.map b/portal-ui/build/static/js/1796.78eb9602.chunk.js.map
new file mode 100644
index 000000000..978f3b9c1
--- /dev/null
+++ b/portal-ui/build/static/js/1796.78eb9602.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/1796.78eb9602.chunk.js","mappings":"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UAET,CACEjC,MAAO,iBACPiC,MAAO,iBAET,CACEjC,MAAO,eACPiC,MAAO,eAET,CACEjC,MAAO,UACPiC,MAAO,WAET,CACEjC,MAAO,gBACPiC,MAAO,gBAET,CACEjC,MAAO,uBACPiC,MAAO,sBAET,CACEjC,MAAO,SACPiC,MAAO,UAET,CACEjC,MAAO,QACPiC,MAAO,SAET,CACEjC,MAAO,QACPiC,MAAO,SAET,CACEjC,MAAO,aACPiC,MAAO,aAET,CACEjC,MAAO,aACPiC,MAAO,aAET,CACEjC,MAAO,oBACPiC,MAAO,mBAET,CACEjC,MAAO,iBACPiC,MAAO,gBAET,CACEjC,MAAO,QACPiC,MAAO,SAET,CACEjC,MAAO,gBACPiC,MAAO,gBAET,CACEjC,MAAO,cACPiC,MAAO,cAET,CACEjC,MAAO,mBACPiC,MAAO,kBAET,CACEjC,MAAO,2BACPiC,MAAO,uBAET,CACEjC,MAAO,eACPiC,MAAO,eAET,CACEjC,MAAO,SACPiC,MAAO,UAET,CACEjC,MAAO,cACPiC,MAAO,cAET,CACEjC,MAAO,cACPiC,MAAO,cAET,CACEjC,MAAO,eACPiC,MAAO,eAET,CACEjC,MAAO,qBACPiC,MAAO,oBAET,CACEjC,MAAO,oBACPiC,MAAO,mBAET,CACEjC,MAAO,mBACPiC,MAAO,kBAET,CACEjC,MAAO,2BACPiC,MAAO,uBAET,CACEjC,MAAO,cACPiC,MAAO,cAET,CACEjC,MAAO,iBACPiC,MAAO,iBAET,CACEjC,MAAO,yBACPiC,MAAO,sBAET,CACEjC,MAAO,iBACPiC,MAAO,iBAET,CACEjC,MAAO,cACPiC,MAAO,eAET,CACEjC,MAAO,oBACPiC,MAAO,oBAET,CACEjC,MAAO,mBACPiC,MAAO,mBAET,CACEjC,MAAO,cACPiC,MAAO,cAET,CACEjC,MAAO,YACPiC,MAAO,YAET,CACEjC,MAAO,WACPiC,MAAO,WAET,CACEjC,MAAO,UACPiC,MAAO,UAET,CACEjC,MAAO,uBACPiC,MAAO,OAET,CACEjC,MAAO,iBACPiC,MAAO,MAET,CACEjC,MAAO,gBACPiC,MAAO,gBA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","sources":["common/BackLink.tsx","screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx","screens/Console/Common/FormComponents/FileSelector/utils.ts","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Configurations/TiersConfiguration/s3-regions.tsx","screens/Console/Configurations/TiersConfiguration/gcs-regions.ts","screens/Console/Configurations/TiersConfiguration/azure-regions.ts","screens/Console/Configurations/TiersConfiguration/RegionSelect.tsx","screens/Console/Configurations/TiersConfiguration/RegionSelectWrapper.tsx","screens/Console/Configurations/TiersConfiguration/AddTierConfiguration.tsx","screens/Console/Configurations/TiersConfiguration/utils.tsx","screens/shared/ErrorBlock.tsx","../node_modules/@mui/icons-material/AttachFile.js","../node_modules/@mui/icons-material/Cancel.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackIcon } from \"../icons\";\nimport { Box } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"inline-block\",\n alignItems: \"center\",\n justifyContent: \"center\",\n textDecoration: \"none\",\n maxWidth: \"40px\",\n \"&:active\": {\n color: theme.palette.primary.light,\n },\n },\n icon: {\n marginRight: \"11px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: \"35px\",\n width: \"35px\",\n borderRadius: \"2px\",\n \"&:hover\": {\n background: \"rgba(234,237,238)\",\n },\n \"& svg.min-icon\": {\n width: \"18px\",\n height: \"12px\",\n },\n },\n label: {\n display: \"flex\",\n alignItems: \"center\",\n height: \"35px\",\n padding: \"0 0px 0 5px\",\n fontSize: \"18px\",\n fontWeight: 600,\n color: theme.palette.primary.light,\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n \n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n \n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport get from \"lodash/get\";\nimport { Grid, InputLabel, Tooltip } from \"@mui/material\";\nimport IconButton from \"@mui/material/IconButton\";\nimport AttachFileIcon from \"@mui/icons-material/AttachFile\";\nimport CancelIcon from \"@mui/icons-material/Cancel\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n fileInputStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { fileProcess } from \"./utils\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport ErrorBlock from \"../../../../shared/ErrorBlock\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: string, i: string) => void;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n required?: boolean;\n error?: string;\n accept?: string;\n value?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n valueString: {\n maxWidth: 350,\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n marginTop: 2,\n },\n fileInputField: {\n margin: \"13px 0\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n ...fileInputStyles,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n textBoxContainer: {\n ...fieldBasic.textBoxContainer,\n maxWidth: \"100%\",\n border: \"1px solid #eaeaea\",\n paddingLeft: \"15px\",\n },\n });\n\nconst FileSelector = ({\n label,\n classes,\n onChange,\n id,\n name,\n disabled = false,\n tooltip = \"\",\n required,\n error = \"\",\n accept = \"\",\n value = \"\",\n}: InputBoxProps) => {\n const [showFileSelector, setShowSelector] = useState(false);\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n )}\n \n \n );\n};\n\nexport default withStyles(styles)(FileSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const fileProcess = (evt: any, callback: any) => {\n const file = evt.target.files[0];\n const reader = new FileReader();\n reader.readAsDataURL(file);\n\n reader.onload = () => {\n // reader.readAsDataURL(file) output will be something like: data:application/x-x509-ca-cert;base64,LS0tLS1CRUdJTiBDRVJUSU\n // we care only about the actual base64 part (everything after \"data:application/x-x509-ca-cert;base64,\")\n const fileBase64 = reader.result;\n if (fileBase64) {\n const fileArray = fileBase64.toString().split(\"base64,\");\n\n if (fileArray.length === 2) {\n callback(fileArray[1]);\n }\n }\n };\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 21,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n features,\n}: IPageHeader) => {\n if (features.includes(\"hide-menu\")) {\n return ;\n }\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n id=\"object-manager-toggle\"\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n features: state.console.session.features,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { RegionEntry } from \"./types\";\n\nconst s3Regions: RegionEntry[] = [\n { label: \"US East (Ohio)\", value: \"us-east-2\" },\n { label: \"US East (N. Virginia)\", value: \"us-east-1\" },\n { label: \"US West (N. California)\", value: \"us-west-1\" },\n { label: \"US West (Oregon)\", value: \"us-west-2\" },\n { label: \"Africa (Cape Town)\", value: \"af-south-1\" },\n { label: \"Asia Pacific (Hong Kong)***\", value: \"ap-east-1\" },\n { label: \"Asia Pacific (Jakarta)\", value: \"ap-southeast-3\" },\n { label: \"Asia Pacific (Mumbai)\", value: \"ap-south-1\" },\n { label: \"Asia Pacific (Osaka)\", value: \"ap-northeast-3\" },\n { label: \"Asia Pacific (Seoul)\", value: \"ap-northeast-2\" },\n { label: \"Asia Pacific (Singapore)\", value: \"ap-southeast-1\" },\n { label: \"Asia Pacific (Sydney)\", value: \"ap-southeast-2\" },\n { label: \"Asia Pacific (Tokyo)\", value: \"ap-northeast-1\" },\n { label: \"Canada (Central)\", value: \"ca-central-1\" },\n { label: \"China (Beijing)\", value: \"cn-north-1\" },\n { label: \"China (Ningxia)\", value: \"cn-northwest-1\" },\n { label: \"Europe (Frankfurt)\", value: \"eu-central-1\" },\n { label: \"Europe (Ireland)\", value: \"eu-west-1\" },\n { label: \"Europe (London)\", value: \"eu-west-2\" },\n { label: \"Europe (Milan)\", value: \"eu-south-1\" },\n { label: \"Europe (Paris)\", value: \"eu-west-3\" },\n { label: \"Europe (Stockholm)\", value: \"eu-north-1\" },\n { label: \"South America (São Paulo)\", value: \"sa-east-1\" },\n { label: \"Middle East (Bahrain)\", value: \"me-south-1\" },\n { label: \"AWS GovCloud (US-East)\", value: \"us-gov-east-1\" },\n { label: \"AWS GovCloud (US-West)\", value: \"us-gov-west-1\" },\n];\n\nexport default s3Regions;\n","import { RegionEntry } from \"./types\";\n\nconst gcsRegions: RegionEntry[] = [\n { label: \"Montréal\", value: \"NORTHAMERICA-NORTHEAST1\" },\n { label: \"Toronto\", value: \"NORTHAMERICA-NORTHEAST2\" },\n { label: \"Iowa\", value: \"US-CENTRAL1\" },\n { label: \"South Carolina\", value: \"US-EAST1\" },\n { label: \"Northern Virginia\", value: \"US-EAST4\" },\n { label: \"Oregon\", value: \"US-WEST1\" },\n { label: \"Los Angeles\", value: \"US-WEST2\" },\n { label: \"Salt Lake City\", value: \"US-WEST3\" },\n { label: \"Las Vegas\", value: \"US-WEST4\" },\n { label: \"São Paulo\", value: \"SOUTHAMERICA-EAST1\" },\n { label: \"Santiago\", value: \"SOUTHAMERICA-WEST1\" },\n { label: \"Warsaw\", value: \"EUROPE-CENTRAL2\" },\n { label: \"Finland\", value: \"EUROPE-NORTH1\" },\n { label: \"Belgium\", value: \"EUROPE-WEST1\" },\n { label: \"London\", value: \"EUROPE-WEST2\" },\n { label: \"Frankfurt\", value: \"EUROPE-WEST3\" },\n { label: \"Netherlands\", value: \"EUROPE-WEST4\" },\n { label: \"Zürich\", value: \"EUROPE-WEST6\" },\n { label: \"Taiwan\", value: \"ASIA-EAST1\" },\n { label: \"Hong Kong\", value: \"ASIA-EAST2\" },\n { label: \"Tokyo\", value: \"ASIA-NORTHEAST1\" },\n { label: \"Osaka\", value: \"ASIA-NORTHEAST2\" },\n { label: \"Seoul\", value: \"ASIA-NORTHEAST3\" },\n { label: \"Mumbai\", value: \"ASIA-SOUTH1\" },\n { label: \"Delhi\", value: \"ASIA-SOUTH2\" },\n { label: \"Singapore\", value: \"ASIA-SOUTHEAST1\" },\n { label: \"Jakarta\", value: \"ASIA-SOUTHEAST2\" },\n { label: \"Sydney\", value: \"AUSTRALIA-SOUTHEAST1\" },\n { label: \"Melbourne\", value: \"AUSTRALIA-SOUTHEAST2\" },\n];\n\nexport default gcsRegions;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { RegionEntry } from \"./types\";\n\nconst azureRegions: RegionEntry[] = [\n {\n label: \"Asia\",\n value: \"asia\",\n },\n {\n label: \"Asia Pacific\",\n value: \"asiapacific\",\n },\n {\n label: \"Australia\",\n value: \"australia\",\n },\n {\n label: \"Australia Central\",\n value: \"australiacentral\",\n },\n {\n label: \"Australia Central 2\",\n value: \"australiacentral2\",\n },\n {\n label: \"Australia East\",\n value: \"australiaeast\",\n },\n {\n label: \"Australia Southeast\",\n value: \"australiasoutheast\",\n },\n {\n label: \"Brazil\",\n value: \"brazil\",\n },\n {\n label: \"Brazil South\",\n value: \"brazilsouth\",\n },\n {\n label: \"Brazil Southeast\",\n value: \"brazilsoutheast\",\n },\n {\n label: \"Canada\",\n value: \"canada\",\n },\n {\n label: \"Canada Central\",\n value: \"canadacentral\",\n },\n {\n label: \"Canada East\",\n value: \"canadaeast\",\n },\n {\n label: \"Central India\",\n value: \"centralindia\",\n },\n {\n label: \"Central US\",\n value: \"centralus\",\n },\n {\n label: \"Central US (Stage)\",\n value: \"centralusstage\",\n },\n {\n label: \"Central US EUAP\",\n value: \"centraluseuap\",\n },\n {\n label: \"East Asia\",\n value: \"eastasia\",\n },\n {\n label: \"East Asia (Stage)\",\n value: \"eastasiastage\",\n },\n {\n label: \"East US\",\n value: \"eastus\",\n },\n {\n label: \"East US (Stage)\",\n value: \"eastusstage\",\n },\n {\n label: \"East US 2\",\n value: \"eastus2\",\n },\n {\n label: \"East US 2 (Stage)\",\n value: \"eastus2stage\",\n },\n {\n label: \"East US 2 EUAP\",\n value: \"eastus2euap\",\n },\n {\n label: \"Europe\",\n value: \"europe\",\n },\n {\n label: \"France\",\n value: \"france\",\n },\n {\n label: \"France Central\",\n value: \"francecentral\",\n },\n {\n label: \"France South\",\n value: \"francesouth\",\n },\n {\n label: \"Germany\",\n value: \"germany\",\n },\n {\n label: \"Germany North\",\n value: \"germanynorth\",\n },\n {\n label: \"Germany West Central\",\n value: \"germanywestcentral\",\n },\n {\n label: \"Global\",\n value: \"global\",\n },\n {\n label: \"India\",\n value: \"india\",\n },\n {\n label: \"Japan\",\n value: \"japan\",\n },\n {\n label: \"Japan East\",\n value: \"japaneast\",\n },\n {\n label: \"Japan West\",\n value: \"japanwest\",\n },\n {\n label: \"Jio India Central\",\n value: \"jioindiacentral\",\n },\n {\n label: \"Jio India West\",\n value: \"jioindiawest\",\n },\n {\n label: \"Korea\",\n value: \"korea\",\n },\n {\n label: \"Korea Central\",\n value: \"koreacentral\",\n },\n {\n label: \"Korea South\",\n value: \"koreasouth\",\n },\n {\n label: \"North Central US\",\n value: \"northcentralus\",\n },\n {\n label: \"North Central US (Stage)\",\n value: \"northcentralusstage\",\n },\n {\n label: \"North Europe\",\n value: \"northeurope\",\n },\n {\n label: \"Norway\",\n value: \"norway\",\n },\n {\n label: \"Norway East\",\n value: \"norwayeast\",\n },\n {\n label: \"Norway West\",\n value: \"norwaywest\",\n },\n {\n label: \"South Africa\",\n value: \"southafrica\",\n },\n {\n label: \"South Africa North\",\n value: \"southafricanorth\",\n },\n {\n label: \"South Africa West\",\n value: \"southafricawest\",\n },\n {\n label: \"South Central US\",\n value: \"southcentralus\",\n },\n {\n label: \"South Central US (Stage)\",\n value: \"southcentralusstage\",\n },\n {\n label: \"South India\",\n value: \"southindia\",\n },\n {\n label: \"Southeast Asia\",\n value: \"southeastasia\",\n },\n {\n label: \"Southeast Asia (Stage)\",\n value: \"southeastasiastage\",\n },\n {\n label: \"Sweden Central\",\n value: \"swedencentral\",\n },\n {\n label: \"Switzerland\",\n value: \"switzerland\",\n },\n {\n label: \"Switzerland North\",\n value: \"switzerlandnorth\",\n },\n {\n label: \"Switzerland West\",\n value: \"switzerlandwest\",\n },\n {\n label: \"UAE Central\",\n value: \"uaecentral\",\n },\n {\n label: \"UAE North\",\n value: \"uaenorth\",\n },\n {\n label: \"UK South\",\n value: \"uksouth\",\n },\n {\n label: \"UK West\",\n value: \"ukwest\",\n },\n {\n label: \"United Arab Emirates\",\n value: \"uae\",\n },\n {\n label: \"United Kingdom\",\n value: \"uk\",\n },\n {\n label: \"United States\",\n value: \"unitedstates\",\n },\n {\n label: \"United States EUAP\",\n value: \"unitedstateseuap\",\n },\n {\n label: \"West Central US\",\n value: \"westcentralus\",\n },\n {\n label: \"West Europe\",\n value: \"westeurope\",\n },\n {\n label: \"West India\",\n value: \"westindia\",\n },\n {\n label: \"West US\",\n value: \"westus\",\n },\n {\n label: \"West US (Stage)\",\n value: \"westusstage\",\n },\n {\n label: \"West US 2\",\n value: \"westus2\",\n },\n {\n label: \"West US 2 (Stage)\",\n value: \"westus2stage\",\n },\n {\n label: \"West US 3\",\n value: \"westus3\",\n },\n];\nexport default azureRegions;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\n\nimport { Autocomplete, Box, TextField } from \"@mui/material\";\n\nimport s3Regions from \"./s3-regions\";\nimport gcsRegions from \"./gcs-regions\";\nimport azRegions from \"./azure-regions\";\n\nconst getRegions = (type: string): any => {\n if (type === \"s3\") {\n return s3Regions;\n }\n if (type === \"gcs\") {\n return gcsRegions;\n }\n if (type === \"azure\") {\n return azRegions;\n }\n\n return [];\n};\n\nconst RegionSelect = ({\n type,\n onChange,\n inputProps,\n}: {\n type: \"minio\" | \"s3\" | \"gcs\" | \"azure\" | \"unsupported\";\n onChange: (obj: any) => void;\n inputProps?: any;\n}) => {\n const regionList = getRegions(type);\n const [value, setValue] = React.useState(\"\");\n\n return (\n {\n let newVal: any = newValue;\n\n if (typeof newValue === \"string\") {\n newVal = {\n label: newValue,\n };\n } else if (newValue && newValue.inputValue) {\n // Create a new value from the user input\n newVal = {\n label: newValue.inputValue,\n };\n } else {\n newVal = newValue;\n }\n setValue(newVal);\n onChange(newVal?.value);\n }}\n value={value}\n onInputChange={(e: any) => {\n const { target: { value = \"\" } = {} } = e || {};\n onChange(value);\n }}\n getOptionLabel={(option) => {\n // Value selected with enter, right from the input\n if (typeof option === \"string\") {\n return option;\n }\n // Add \"xxx\" option created dynamically\n if (option.inputValue) {\n return option.inputValue;\n }\n // Regular option\n return option.value;\n }}\n options={regionList}\n filterOptions={(opts: any[], state: any) => {\n const filterText = state.inputValue.toLowerCase();\n\n return opts.filter((opt) =>\n `${opt.label.toLowerCase()}${opt.value.toLowerCase()}`.includes(\n filterText\n )\n );\n }}\n renderOption={(props: any, opt: any) => {\n return (\n
\n \n {opt.value}\n {opt.label}\n \n
\n );\n }}\n renderInput={(params) => (\n \n )}\n />\n );\n};\n\nexport default RegionSelect;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { Grid, IconButton, InputLabel, Tooltip } from \"@mui/material\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport HelpIcon from \"../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\nimport RegionSelect from \"./RegionSelect\";\n\ninterface RegionSelectBoxProps {\n label: string;\n classes?: any;\n onChange: (value: string) => void;\n onKeyPress?: (e: any) => void;\n value?: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n type: \"minio\" | \"s3\" | \"gcs\" | \"azure\";\n tooltip?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n minWidth: 160,\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nconst RegionSelectWrapper = ({\n label,\n onChange,\n id,\n name,\n type,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n classes,\n className = \"\",\n}: RegionSelectBoxProps) => {\n const inputClasses = inputStyles();\n\n let inputProps: any = {\n \"data-index\": index,\n ...extraInputProps,\n name: name,\n id: id,\n classes: inputClasses,\n };\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n \n );\n};\n\nexport default withStyles(styles)(RegionSelectWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Box, Button } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport {\n fileInputStyles,\n formFieldStyles,\n modalBasic,\n settingsCommon,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FileSelector from \"../../Common/FormComponents/FileSelector/FileSelector\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport {\n azureServiceName,\n gcsServiceName,\n minioServiceName,\n s3ServiceName,\n tierTypes,\n} from \"./utils\";\nimport BackLink from \"../../../../common/BackLink\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport { IAM_PAGES } from \"../../../../common/SecureComponent/permissions\";\n\nimport RegionSelectWrapper from \"./RegionSelectWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n ...settingsCommon,\n ...formFieldStyles,\n lambdaNotifTitle: {\n color: \"#07193E\",\n fontSize: 16,\n fontFamily: \"Lato,sans-serif\",\n paddingLeft: 18,\n },\n fileInputFieldCss: {\n margin: \"0\",\n },\n fileTextBoxContainer: {\n maxWidth: \" 100%\",\n flex: 1,\n },\n fileReselectCss: {\n maxWidth: \" 100%\",\n flex: 1,\n },\n ...fileInputStyles,\n });\n\ninterface IAddNotificationEndpointProps {\n setErrorSnackMessage: typeof setErrorSnackMessage;\n classes: any;\n match: any;\n history: any;\n}\n\nconst AddTierConfiguration = ({\n classes,\n setErrorSnackMessage,\n match,\n history,\n}: IAddNotificationEndpointProps) => {\n //Local States\n const [saving, setSaving] = useState(false);\n\n // Form Items\n const [name, setName] = useState(\"\");\n const [endpoint, setEndpoint] = useState(\"\");\n const [bucket, setBucket] = useState(\"\");\n const [prefix, setPrefix] = useState(\"\");\n const [region, setRegion] = useState(\"\");\n const [storageClass, setStorageClass] = useState(\"\");\n\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n\n const [creds, setCreds] = useState(\"\");\n const [encodedCreds, setEncodedCreds] = useState(\"\");\n\n const [accountName, setAccountName] = useState(\"\");\n const [accountKey, setAccountKey] = useState(\"\");\n\n const [titleSelection, setTitleSelection] = useState(\"\");\n\n const type = get(match, \"params.service\", \"s3\");\n\n // Validations\n const [isFormValid, setIsFormValid] = useState(true);\n const [nameInputError, setNameInputError] = useState(\"\");\n\n // Extra validation functions\n\n const validName = useCallback(() => {\n const patternAgainst = /^[A-Z0-9-_]+$/; // Only allow uppercase, numbers, dashes and underscores\n if (patternAgainst.test(name)) {\n setNameInputError(\"\");\n return true;\n }\n\n setNameInputError(\n \"Please verify that string is uppercase only and contains valid characters (numbers, dashes & underscores).\"\n );\n return false;\n }, [name]);\n\n //Effects\n\n useEffect(() => {\n if (saving) {\n let request = {};\n let fields = {\n name,\n endpoint,\n bucket,\n prefix,\n region,\n };\n\n let tierType = type;\n\n if (type === \"minio\") {\n tierType = \"s3\";\n }\n\n switch (type) {\n case \"minio\":\n case \"s3\":\n request = {\n s3: {\n ...fields,\n accesskey: accessKey,\n secretkey: secretKey,\n storageclass: storageClass,\n },\n };\n break;\n case \"gcs\":\n request = {\n gcs: {\n ...fields,\n creds: encodedCreds,\n },\n };\n break;\n case \"azure\":\n request = {\n azure: {\n ...fields,\n accountname: accountName,\n accountkey: accountKey,\n },\n };\n }\n\n let payload = {\n type: tierType,\n ...request,\n };\n\n api\n .invoke(\"POST\", `/api/v1/admin/tiers`, payload)\n .then(() => {\n setSaving(false);\n\n history.push(IAM_PAGES.TIERS);\n })\n .catch((err: ErrorResponseHandler) => {\n setSaving(false);\n setErrorSnackMessage(err);\n });\n }\n }, [\n accessKey,\n accountKey,\n accountName,\n bucket,\n encodedCreds,\n endpoint,\n history,\n name,\n prefix,\n region,\n saving,\n secretKey,\n setErrorSnackMessage,\n storageClass,\n type,\n ]);\n\n useEffect(() => {\n let valid = true;\n if (type === \"\") {\n valid = false;\n }\n if (name === \"\" || !validName()) {\n valid = false;\n }\n if (endpoint === \"\") {\n valid = false;\n }\n if (bucket === \"\") {\n valid = false;\n }\n if (prefix === \"\") {\n valid = false;\n }\n if (region === \"\" && type !== \"minio\") {\n valid = false;\n }\n\n if (type === \"s3\" || type === \"minio\") {\n if (accessKey === \"\") {\n valid = false;\n }\n if (secretKey === \"\") {\n valid = false;\n }\n }\n\n if (type === \"gcs\") {\n if (encodedCreds === \"\") {\n valid = false;\n }\n }\n\n if (type === \"azure\") {\n if (accountName === \"\") {\n valid = false;\n }\n if (accountKey === \"\") {\n valid = false;\n }\n }\n\n setIsFormValid(valid);\n }, [\n accessKey,\n accountKey,\n accountName,\n bucket,\n encodedCreds,\n endpoint,\n isFormValid,\n name,\n prefix,\n region,\n secretKey,\n storageClass,\n type,\n validName,\n ]);\n\n useEffect(() => {\n switch (type) {\n case \"gcs\":\n setEndpoint(\"https://storage.googleapis.com/\");\n setTitleSelection(\"Google Cloud\");\n break;\n case \"s3\":\n setEndpoint(\"https://s3.amazonaws.com\");\n setTitleSelection(\"Amazon S3\");\n break;\n case \"azure\":\n setEndpoint(\"http://blob.core.windows.net\");\n setTitleSelection(\"Azure\");\n break;\n case \"minio\":\n setEndpoint(\"\");\n setTitleSelection(\"MinIO\");\n }\n }, [type]);\n\n //Fetch Actions\n const submitForm = (event: React.FormEvent) => {\n event.preventDefault();\n setSaving(true);\n };\n\n // Input actions\n const updateTierName = (e: React.ChangeEvent) => {\n setName(e.target.value.toUpperCase());\n };\n\n const targetElement = tierTypes.find((item) => item.serviceName === type);\n\n return (\n \n \n \n \n }\n actions={}\n />\n\n \n \n \n \n \n \n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddTierConfiguration));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport {\n AzureTierIcon,\n GoogleTierIcon,\n MinIOTierIcon,\n MinIOTierIconXs,\n S3TierIcon,\n GoogleTierIconXs,\n S3TierIconXs,\n AzureTierIconXs,\n} from \"../../../../icons\";\n\nexport const minioServiceName = \"minio\";\nexport const gcsServiceName = \"gcs\";\nexport const s3ServiceName = \"s3\";\nexport const azureServiceName = \"azure\";\n\nexport const tierTypes = [\n {\n serviceName: minioServiceName,\n targetTitle: \"MinIO\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: gcsServiceName,\n targetTitle: \"Google Cloud Storage\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: s3ServiceName,\n targetTitle: \"AWS S3\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: azureServiceName,\n targetTitle: \"Azure\",\n logo: ,\n logoXs: ,\n },\n];\n","import React from \"react\";\nimport Typography from \"@mui/material/Typography\";\nimport { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n errorBlock: {\n color: theme.palette?.error.main || \"#C83B51\",\n },\n });\n\ninterface IErrorBlockProps {\n classes: any;\n errorMessage: string;\n withBreak?: boolean;\n}\n\nconst ErrorBlock = ({\n classes,\n errorMessage,\n withBreak = true,\n}: IErrorBlockProps) => {\n return (\n \n {withBreak && }\n \n {errorMessage}\n \n \n );\n};\n\nexport default withStyles(styles)(ErrorBlock);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z\"\n}), 'AttachFile');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\"\n}), 'Cancel');\n\nexports.default = _default;"],"names":["withStyles","theme","createStyles","link","display","alignItems","justifyContent","textDecoration","maxWidth","color","palette","primary","light","icon","marginRight","height","width","borderRadius","background","label","padding","fontSize","fontWeight","to","classes","className","executeOnClick","sx","onClick","fieldBasic","tooltipHelper","valueString","whiteSpace","overflow","textOverflow","marginTop","fileInputField","margin","flexFlow","fileInputStyles","inputLabel","textBoxContainer","border","paddingLeft","onChange","id","name","disabled","tooltip","required","error","accept","value","useState","showFileSelector","setShowSelector","Grid","item","xs","fieldBottom","fieldContainer","errorInField","InputLabel","htmlFor","fieldLabelError","tooltipContainer","Tooltip","title","placement","HelpIcon","type","e","fileName","get","evt","callback","file","target","files","reader","FileReader","readAsDataURL","onload","fileBase64","result","fileArray","toString","split","length","fileProcess","data","IconButton","component","disableRipple","disableFocusRipple","size","Cancel","ErrorBlock","errorMessage","fileReselect","AttachFile","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","flexGrow","position","overlayAction","right","top","maxHeight","autoComplete","multiline","index","placeholder","min","max","overlayId","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","onKeyPress","inputProps","container","clsx","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","disableTouchRipple","pageContentStyles","children","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","features","console","session","headerContainer","minHeight","backgroundColor","left","boxShadow","labelStyle","marginLeft","rightMenu","textAlign","logo","fill","main","middleComponent","actions","includes","Fragment","direction","sm","md","paddingTop","variant","regionList","s3Regions","gcsRegions","azRegions","getRegions","React","setValue","Autocomplete","borderColor","borderWidth","freeSolo","selectOnFocus","handleHomeEndKeys","event","newValue","newVal","inputValue","onInputChange","getOptionLabel","option","options","filterOptions","opts","filterText","toLowerCase","filter","opt","renderOption","Box","borderBottom","cursor","renderInput","params","TextField","minWidth","inputClasses","setErrorSnackMessage","modalBasic","settingsCommon","formFieldStyles","lambdaNotifTitle","fontFamily","fileInputFieldCss","fileTextBoxContainer","flex","fileReselectCss","match","history","saving","setSaving","setName","endpoint","setEndpoint","bucket","setBucket","prefix","setPrefix","region","setRegion","storageClass","setStorageClass","accessKey","setAccessKey","secretKey","setSecretKey","creds","setCreds","encodedCreds","setEncodedCreds","accountName","setAccountName","accountKey","setAccountKey","titleSelection","setTitleSelection","isFormValid","setIsFormValid","nameInputError","setNameInputError","validName","useCallback","test","useEffect","request","fields","tierType","s3","accesskey","secretkey","storageclass","gcs","azure","accountname","accountkey","payload","api","then","push","IAM_PAGES","catch","err","valid","targetElement","tierTypes","serviceName","PageHeader","BackLink","PageLayout","noValidate","onSubmit","preventDefault","marginBottom","targetTitle","gridTemplateColumns","gridAutoFlow","gridRowGap","gridColumnGap","InputBoxWrapper","toUpperCase","s3ServiceName","minioServiceName","gcsServiceName","FileSelector","encodedValue","azureServiceName","settingsButtonContainer","Button","logoXs","errorBlock","withBreak","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1796.840a4e41.chunk.js b/portal-ui/build/static/js/1796.840a4e41.chunk.js
deleted file mode 100644
index 9909c99b8..000000000
--- a/portal-ui/build/static/js/1796.840a4e41.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1796],{29316:function(e,a,l){l(50390);var t=l(6369),n=l(86509),i=l(4285),s=l(86362),r=l(62559);a.Z=(0,i.Z)((function(e){return(0,n.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var a=e.to,l=e.label,n=e.classes,i=e.className,o=e.executeOnClick;return(0,r.jsxs)(t.rU,{to:a,className:"".concat(n.link," ").concat(i||""),onClick:function(){o&&o()},children:[(0,r.jsx)("div",{className:n.icon,children:(0,r.jsx)(s.xN,{})}),(0,r.jsx)("div",{className:n.label,children:l})]})}))},82461:function(e,a,l){l.d(a,{Z:function(){return S}});var t=l(23430),n=l(18489),i=l(50390),s=l(38342),r=l.n(s),o=l(25594),u=l(36554),c=l(94187),d=l(95467),v=l(46529),p=l(94258),b=l(86509),h=l(4285),m=l(72462),x=l(97538),f=l(82981),g=l(62559),S=(0,h.Z)((function(e){return(0,b.Z)((0,n.Z)((0,n.Z)((0,n.Z)((0,n.Z)({},m.YI),m.Hr),{},{valueString:{maxWidth:350,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",marginTop:2},fileInputField:{margin:"13px 0","@media (max-width: 900px)":{flexFlow:"column"}}},m.bV),{},{inputLabel:(0,n.Z)((0,n.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"}),textBoxContainer:(0,n.Z)((0,n.Z)({},m.YI.textBoxContainer),{},{maxWidth:"100%",border:"1px solid #eaeaea",paddingLeft:"15px"})}))}))((function(e){var a=e.label,l=e.classes,n=e.onChange,s=e.id,b=e.name,h=e.disabled,m=void 0!==h&&h,S=e.tooltip,Z=void 0===S?"":S,j=e.required,C=e.error,A=void 0===C?"":C,E=e.accept,y=void 0===E?"":E,N=e.value,w=void 0===N?"":N,T=(0,i.useState)(!1),I=(0,t.Z)(T,2),U=I[0],W=I[1];return(0,g.jsx)(i.Fragment,{children:(0,g.jsxs)(o.ZP,{item:!0,xs:12,className:"".concat(l.fileInputField," ").concat(l.fieldBottom," ").concat(l.fieldContainer," ").concat(""!==A?l.errorInField:""),children:[""!==a&&(0,g.jsxs)(u.Z,{htmlFor:s,className:"".concat(""!==A?l.fieldLabelError:""," ").concat(l.inputLabel),children:[(0,g.jsxs)("span",{children:[a,j?"*":""]}),""!==Z&&(0,g.jsx)("div",{className:l.tooltipContainer,children:(0,g.jsx)(c.Z,{title:Z,placement:"top-start",children:(0,g.jsx)("div",{className:l.tooltip,children:(0,g.jsx)(x.Z,{})})})})]}),U||""===w?(0,g.jsxs)("div",{className:l.textBoxContainer,children:[(0,g.jsx)("input",{type:"file",name:b,onChange:function(e){var a=r()(e,"target.files[0].name","");!function(e,a){var l=e.target.files[0],t=new FileReader;t.readAsDataURL(l),t.onload=function(){var e=t.result;if(e){var l=e.toString().split("base64,");2===l.length&&a(l[1])}}}(e,(function(e){n(e,a)}))},accept:y,required:j,disabled:m,className:l.fileInputField}),""!==w&&(0,g.jsx)(d.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){W(!1)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,g.jsx)(p.Z,{})}),""!==A&&(0,g.jsx)(f.Z,{errorMessage:A})]}):(0,g.jsxs)("div",{className:l.fileReselect,children:[(0,g.jsx)("div",{className:l.valueString,children:w}),(0,g.jsx)(d.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){W(!0)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,g.jsx)(v.Z,{})})]})]})})}))},66964:function(e,a,l){var t=l(18489),n=l(50390),i=l(12066),s=l(25594),r=l(36554),o=l(94187),u=l(95467),c=l(86509),d=l(62449),v=l(4285),p=l(72462),b=l(97538),h=l(44977),m=l(62559),x=(0,d.Z)((function(e){return(0,c.Z)((0,t.Z)({},p.gM))}));function f(e){var a=x();return(0,m.jsx)(i.Z,(0,t.Z)({InputProps:{classes:a}},e))}a.Z=(0,v.Z)((function(e){return(0,c.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,t.Z)((0,t.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var a=e.label,l=e.onChange,i=e.value,c=e.id,d=e.name,v=e.type,p=void 0===v?"text":v,x=e.autoComplete,g=void 0===x?"off":x,S=e.disabled,Z=void 0!==S&&S,j=e.multiline,C=void 0!==j&&j,A=e.tooltip,E=void 0===A?"":A,y=e.index,N=void 0===y?0:y,w=e.error,T=void 0===w?"":w,I=e.required,U=void 0!==I&&I,W=e.placeholder,O=void 0===W?"":W,k=e.min,P=e.max,R=e.overlayId,L=e.overlayIcon,F=void 0===L?null:L,M=e.overlayObject,z=void 0===M?null:M,B=e.extraInputProps,H=void 0===B?{}:B,K=e.overlayAction,V=e.noLabelMinWidth,q=void 0!==V&&V,G=e.pattern,D=void 0===G?"":G,J=e.autoFocus,Y=void 0!==J&&J,X=e.classes,$=e.className,_=void 0===$?"":$,Q=e.onKeyPress,ee=(0,t.Z)({"data-index":N},H);return"number"===p&&k&&(ee.min=k),"number"===p&&P&&(ee.max=P),""!==D&&(ee.pattern=D),(0,m.jsx)(n.Fragment,{children:(0,m.jsxs)(s.ZP,{container:!0,className:(0,h.Z)(""!==_?_:"",""!==T?X.errorInField:X.inputBoxContainer),children:[""!==a&&(0,m.jsxs)(r.Z,{htmlFor:c,className:q?X.noMinWidthLabel:X.inputLabel,children:[(0,m.jsxs)("span",{children:[a,U?"*":""]}),""!==E&&(0,m.jsx)("div",{className:X.tooltipContainer,children:(0,m.jsx)(o.Z,{title:E,placement:"top-start",children:(0,m.jsx)("div",{className:X.tooltip,children:(0,m.jsx)(b.Z,{})})})})]}),(0,m.jsxs)("div",{className:X.textBoxContainer,children:[(0,m.jsx)(f,{id:c,name:d,fullWidth:!0,value:i,autoFocus:Y,disabled:Z,onChange:l,type:p,multiline:C,autoComplete:g,inputProps:ee,error:""!==T,helperText:T,placeholder:O,className:X.inputRebase,onKeyPress:Q}),F&&(0,m.jsx)("div",{className:"".concat(X.overlayAction," ").concat(""!==a?"withLabel":""),children:(0,m.jsx)(u.Z,{onClick:K?function(){K()}:function(){return null},id:R,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:F})}),z&&(0,m.jsx)("div",{className:"".concat(X.overlayAction," ").concat(""!==a?"withLabel":""),children:z})]})]})})}))},25534:function(e,a,l){var t=l(18489),n=(l(50390),l(25594)),i=l(86509),s=l(4285),r=l(72462),o=l(62559);a.Z=(0,s.Z)((function(e){return(0,i.Z)((0,t.Z)({},r.Bw))}))((function(e){var a=e.classes,l=e.className,t=void 0===l?"":l,i=e.children;return(0,o.jsx)("div",{className:a.contentSpacer,children:(0,o.jsx)(n.ZP,{container:!0,children:(0,o.jsx)(n.ZP,{item:!0,xs:12,className:t,children:i})})})}))},35721:function(e,a,l){var t=l(50390),n=l(34424),i=l(25594),s=l(86509),r=l(4285),o=l(35477),u=l(95467),c=l(26805),d=l(44078),v=l(5265),p=l(86362),b=l(62559),h={toggleList:v.kQ},m=(0,n.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage,features:e.console.session.features}}),h);a.Z=m((0,r.Z)((function(e){return(0,s.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var a=e.classes,l=e.label,n=e.actions,s=e.sidebarOpen,r=e.operatorMode,v=e.managerObjects,h=e.toggleList,m=e.middleComponent;return e.features.includes("hide-menu")?(0,b.jsx)(t.Fragment,{}):(0,b.jsxs)(i.ZP,{container:!0,className:"".concat(a.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,b.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:m?3:6,className:a.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!s&&(0,b.jsx)("div",{className:a.logo,children:r?(0,b.jsx)(c.Z,{}):(0,b.jsx)(d.Z,{})}),(0,b.jsx)(o.Z,{variant:"h4",className:a.labelStyle,children:l})]}),m&&(0,b.jsx)(i.ZP,{item:!0,xs:12,sm:12,md:6,className:a.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:m}),(0,b.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:m?3:6,className:a.rightMenu,children:[n&&n,v&&v.length>0&&(0,b.jsx)(u.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){h()},id:"object-manager-toggle",size:"large",children:(0,b.jsx)(p.gx,{})})]})]})})))},41796:function(e,a,l){l.r(a),l.d(a,{default:function(){return B}});var t=l(23430),n=l(18489),i=l(50390),s=l(34424),r=l(38342),o=l.n(r),u=l(25594),c=l(86509),d=l(4285),v=l(56805),p=l(66946),b=l(44149),h=l(72462),m=l(30324),x=l(66964),f=l(82461),g=l(35721),S=l(51444),Z=l(29316),j=l(25534),C=l(49495),A=l(36554),E=l(94187),y=l(95467),N=l(62449),w=l(97538),T=l(44977),I=l(10728),U=l(12066),W=[{label:"US East (Ohio)",value:"us-east-2"},{label:"US East (N. Virginia)",value:"us-east-1"},{label:"US West (N. California)",value:"us-west-1"},{label:"US West (Oregon)",value:"us-west-2"},{label:"Africa (Cape Town)",value:"af-south-1"},{label:"Asia Pacific (Hong Kong)***",value:"ap-east-1"},{label:"Asia Pacific (Jakarta)",value:"ap-southeast-3"},{label:"Asia Pacific (Mumbai)",value:"ap-south-1"},{label:"Asia Pacific (Osaka)",value:"ap-northeast-3"},{label:"Asia Pacific (Seoul)",value:"ap-northeast-2"},{label:"Asia Pacific (Singapore)",value:"ap-southeast-1"},{label:"Asia Pacific (Sydney)",value:"ap-southeast-2"},{label:"Asia Pacific (Tokyo)",value:"ap-northeast-1"},{label:"Canada (Central)",value:"ca-central-1"},{label:"China (Beijing)",value:"cn-north-1"},{label:"China (Ningxia)",value:"cn-northwest-1"},{label:"Europe (Frankfurt)",value:"eu-central-1"},{label:"Europe (Ireland)",value:"eu-west-1"},{label:"Europe (London)",value:"eu-west-2"},{label:"Europe (Milan)",value:"eu-south-1"},{label:"Europe (Paris)",value:"eu-west-3"},{label:"Europe (Stockholm)",value:"eu-north-1"},{label:"South America (S\xe3o Paulo)",value:"sa-east-1"},{label:"Middle East (Bahrain)",value:"me-south-1"},{label:"AWS GovCloud (US-East)",value:"us-gov-east-1"},{label:"AWS GovCloud (US-West)",value:"us-gov-west-1"}],O=[{label:"Montr\xe9al",value:"NORTHAMERICA-NORTHEAST1"},{label:"Toronto",value:"NORTHAMERICA-NORTHEAST2"},{label:"Iowa",value:"US-CENTRAL1"},{label:"South Carolina",value:"US-EAST1"},{label:"Northern Virginia",value:"US-EAST4"},{label:"Oregon",value:"US-WEST1"},{label:"Los Angeles",value:"US-WEST2"},{label:"Salt Lake City",value:"US-WEST3"},{label:"Las Vegas",value:"US-WEST4"},{label:"S\xe3o Paulo",value:"SOUTHAMERICA-EAST1"},{label:"Santiago",value:"SOUTHAMERICA-WEST1"},{label:"Warsaw",value:"EUROPE-CENTRAL2"},{label:"Finland",value:"EUROPE-NORTH1"},{label:"Belgium",value:"EUROPE-WEST1"},{label:"London",value:"EUROPE-WEST2"},{label:"Frankfurt",value:"EUROPE-WEST3"},{label:"Netherlands",value:"EUROPE-WEST4"},{label:"Z\xfcrich",value:"EUROPE-WEST6"},{label:"Taiwan",value:"ASIA-EAST1"},{label:"Hong Kong",value:"ASIA-EAST2"},{label:"Tokyo",value:"ASIA-NORTHEAST1"},{label:"Osaka",value:"ASIA-NORTHEAST2"},{label:"Seoul",value:"ASIA-NORTHEAST3"},{label:"Mumbai",value:"ASIA-SOUTH1"},{label:"Delhi",value:"ASIA-SOUTH2"},{label:"Singapore",value:"ASIA-SOUTHEAST1"},{label:"Jakarta",value:"ASIA-SOUTHEAST2"},{label:"Sydney",value:"AUSTRALIA-SOUTHEAST1"},{label:"Melbourne",value:"AUSTRALIA-SOUTHEAST2"}],k=[{label:"Asia",value:"asia"},{label:"Asia Pacific",value:"asiapacific"},{label:"Australia",value:"australia"},{label:"Australia Central",value:"australiacentral"},{label:"Australia Central 2",value:"australiacentral2"},{label:"Australia East",value:"australiaeast"},{label:"Australia Southeast",value:"australiasoutheast"},{label:"Brazil",value:"brazil"},{label:"Brazil South",value:"brazilsouth"},{label:"Brazil Southeast",value:"brazilsoutheast"},{label:"Canada",value:"canada"},{label:"Canada Central",value:"canadacentral"},{label:"Canada East",value:"canadaeast"},{label:"Central India",value:"centralindia"},{label:"Central US",value:"centralus"},{label:"Central US (Stage)",value:"centralusstage"},{label:"Central US EUAP",value:"centraluseuap"},{label:"East Asia",value:"eastasia"},{label:"East Asia (Stage)",value:"eastasiastage"},{label:"East US",value:"eastus"},{label:"East US (Stage)",value:"eastusstage"},{label:"East US 2",value:"eastus2"},{label:"East US 2 (Stage)",value:"eastus2stage"},{label:"East US 2 EUAP",value:"eastus2euap"},{label:"Europe",value:"europe"},{label:"France",value:"france"},{label:"France Central",value:"francecentral"},{label:"France South",value:"francesouth"},{label:"Germany",value:"germany"},{label:"Germany North",value:"germanynorth"},{label:"Germany West Central",value:"germanywestcentral"},{label:"Global",value:"global"},{label:"India",value:"india"},{label:"Japan",value:"japan"},{label:"Japan East",value:"japaneast"},{label:"Japan West",value:"japanwest"},{label:"Jio India Central",value:"jioindiacentral"},{label:"Jio India West",value:"jioindiawest"},{label:"Korea",value:"korea"},{label:"Korea Central",value:"koreacentral"},{label:"Korea South",value:"koreasouth"},{label:"North Central US",value:"northcentralus"},{label:"North Central US (Stage)",value:"northcentralusstage"},{label:"North Europe",value:"northeurope"},{label:"Norway",value:"norway"},{label:"Norway East",value:"norwayeast"},{label:"Norway West",value:"norwaywest"},{label:"South Africa",value:"southafrica"},{label:"South Africa North",value:"southafricanorth"},{label:"South Africa West",value:"southafricawest"},{label:"South Central US",value:"southcentralus"},{label:"South Central US (Stage)",value:"southcentralusstage"},{label:"South India",value:"southindia"},{label:"Southeast Asia",value:"southeastasia"},{label:"Southeast Asia (Stage)",value:"southeastasiastage"},{label:"Sweden Central",value:"swedencentral"},{label:"Switzerland",value:"switzerland"},{label:"Switzerland North",value:"switzerlandnorth"},{label:"Switzerland West",value:"switzerlandwest"},{label:"UAE Central",value:"uaecentral"},{label:"UAE North",value:"uaenorth"},{label:"UK South",value:"uksouth"},{label:"UK West",value:"ukwest"},{label:"United Arab Emirates",value:"uae"},{label:"United Kingdom",value:"uk"},{label:"United States",value:"unitedstates"},{label:"United States EUAP",value:"unitedstateseuap"},{label:"West Central US",value:"westcentralus"},{label:"West Europe",value:"westeurope"},{label:"West India",value:"westindia"},{label:"West US",value:"westus"},{label:"West US (Stage)",value:"westusstage"},{label:"West US 2",value:"westus2"},{label:"West US 2 (Stage)",value:"westus2stage"},{label:"West US 3",value:"westus3"}],P=l(62559),R=function(e){var a=e.type,l=e.onChange,s=e.inputProps,r=function(e){return"s3"===e?W:"gcs"===e?O:"azure"===e?k:[]}(a),o=i.useState(""),u=(0,t.Z)(o,2),c=u[0],d=u[1];return(0,P.jsx)(I.Z,{sx:{"& .MuiOutlinedInput-root":{padding:0,paddingLeft:"10px",fontSize:13,fontWeight:600},"& .MuiAutocomplete-inputRoot":{"& .MuiOutlinedInput-notchedOutline":{borderColor:"#e5e5e5",borderWidth:1},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:"#07193E",borderWidth:1},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"#07193E",borderWidth:1}}},freeSolo:!0,selectOnFocus:!0,handleHomeEndKeys:!0,onChange:function(e,a){var t,n=a;n="string"===typeof a?{label:a}:a&&a.inputValue?{label:a.inputValue}:a,d(n),l(null===(t=n)||void 0===t?void 0:t.value)},value:c,onInputChange:function(e){var a=(e||{}).target,t=(a=void 0===a?{}:a).value;l(void 0===t?"":t)},getOptionLabel:function(e){return"string"===typeof e?e:e.inputValue?e.inputValue:e.value},options:r,filterOptions:function(e,a){var l=a.inputValue.toLowerCase();return e.filter((function(e){return"".concat(e.label.toLowerCase()).concat(e.value.toLowerCase()).includes(l)}))},renderOption:function(e,a){return(0,P.jsx)("li",(0,n.Z)((0,n.Z)({},e),{},{children:(0,P.jsxs)(v.Z,{sx:{display:"flex",flexFlow:"column",alignItems:"baseline",padding:"4px",borderBottom:"1px solid #eaeaea",cursor:"pointer",width:"100%","& .label":{fontSize:"13px",fontWeight:500},"& .value":{fontSize:"11px",fontWeight:400}},children:[(0,P.jsx)("span",{className:"label",children:a.value}),(0,P.jsx)("span",{className:"value",children:a.label})]})}))},renderInput:function(e){return(0,P.jsx)(U.Z,(0,n.Z)((0,n.Z)((0,n.Z)({},e),s),{},{fullWidth:!0}))}})},L=(0,N.Z)((function(e){return(0,c.Z)((0,n.Z)({},h.gM))})),F=(0,d.Z)((function(e){return(0,c.Z)((0,n.Z)((0,n.Z)((0,n.Z)({},h.YI),h.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative",minWidth:160},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,n.Z)((0,n.Z)({},h.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var a=e.label,l=e.onChange,t=e.id,s=e.name,r=e.type,o=e.tooltip,c=void 0===o?"":o,d=e.index,v=void 0===d?0:d,p=e.error,b=void 0===p?"":p,h=e.required,m=void 0!==h&&h,x=e.overlayId,f=e.overlayIcon,g=void 0===f?null:f,S=e.overlayObject,Z=void 0===S?null:S,j=e.extraInputProps,C=void 0===j?{}:j,N=e.overlayAction,I=e.noLabelMinWidth,U=void 0!==I&&I,W=e.classes,O=e.className,k=void 0===O?"":O,F=L(),M=(0,n.Z)((0,n.Z)({"data-index":v},C),{},{name:s,id:t,classes:F});return(0,P.jsx)(i.Fragment,{children:(0,P.jsxs)(u.ZP,{container:!0,className:(0,T.Z)(""!==k?k:"",""!==b?W.errorInField:W.inputBoxContainer),children:[""!==a&&(0,P.jsxs)(A.Z,{htmlFor:t,className:U?W.noMinWidthLabel:W.inputLabel,children:[(0,P.jsxs)("span",{children:[a,m?"*":""]}),""!==c&&(0,P.jsx)("div",{className:W.tooltipContainer,children:(0,P.jsx)(E.Z,{title:c,placement:"top-start",children:(0,P.jsx)("div",{className:W.tooltip,children:(0,P.jsx)(w.Z,{})})})})]}),(0,P.jsxs)("div",{className:W.textBoxContainer,children:[(0,P.jsx)(R,{type:r,inputProps:M,onChange:l}),g&&(0,P.jsx)("div",{className:"".concat(W.overlayAction," ").concat(""!==a?"withLabel":""),children:(0,P.jsx)(y.Z,{onClick:N?function(){N()}:function(){return null},id:x,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:g})}),Z&&(0,P.jsx)("div",{className:"".concat(W.overlayAction," ").concat(""!==a?"withLabel":""),children:Z})]})]})})})),M={setErrorSnackMessage:b.Ih},z=(0,s.$j)(null,M),B=(0,d.Z)((function(e){return(0,c.Z)((0,n.Z)((0,n.Z)((0,n.Z)((0,n.Z)({},h.oO),h.Je),h.DF),{},{lambdaNotifTitle:{color:"#07193E",fontSize:16,fontFamily:"Lato,sans-serif",paddingLeft:18},fileInputFieldCss:{margin:"0"},fileTextBoxContainer:{maxWidth:" 100%",flex:1},fileReselectCss:{maxWidth:" 100%",flex:1}},h.bV))}))(z((function(e){var a=e.classes,l=e.setErrorSnackMessage,s=e.match,r=e.history,c=(0,i.useState)(!1),d=(0,t.Z)(c,2),b=d[0],h=d[1],A=(0,i.useState)(""),E=(0,t.Z)(A,2),y=E[0],N=E[1],w=(0,i.useState)(""),T=(0,t.Z)(w,2),I=T[0],U=T[1],W=(0,i.useState)(""),O=(0,t.Z)(W,2),k=O[0],R=O[1],L=(0,i.useState)(""),M=(0,t.Z)(L,2),z=M[0],B=M[1],H=(0,i.useState)(""),K=(0,t.Z)(H,2),V=K[0],q=K[1],G=(0,i.useState)(""),D=(0,t.Z)(G,2),J=D[0],Y=D[1],X=(0,i.useState)(""),$=(0,t.Z)(X,2),_=$[0],Q=$[1],ee=(0,i.useState)(""),ae=(0,t.Z)(ee,2),le=ae[0],te=ae[1],ne=(0,i.useState)(""),ie=(0,t.Z)(ne,2),se=ie[0],re=ie[1],oe=(0,i.useState)(""),ue=(0,t.Z)(oe,2),ce=ue[0],de=ue[1],ve=(0,i.useState)(""),pe=(0,t.Z)(ve,2),be=pe[0],he=pe[1],me=(0,i.useState)(""),xe=(0,t.Z)(me,2),fe=xe[0],ge=xe[1],Se=(0,i.useState)(""),Ze=(0,t.Z)(Se,2),je=Ze[0],Ce=Ze[1],Ae=o()(s,"params.service","s3"),Ee=(0,i.useState)(!0),ye=(0,t.Z)(Ee,2),Ne=ye[0],we=ye[1],Te=(0,i.useState)(""),Ie=(0,t.Z)(Te,2),Ue=Ie[0],We=Ie[1],Oe=(0,i.useCallback)((function(){return/^[A-Z0-9-_]+$/.test(y)?(We(""),!0):(We("Please verify that string is uppercase only and contains valid characters (numbers, dashes & underscores)."),!1)}),[y]);(0,i.useEffect)((function(){if(b){var e={},a={name:y,endpoint:I,bucket:k,prefix:z,region:V},t=Ae;switch("minio"===Ae&&(t="s3"),Ae){case"minio":case"s3":e={s3:(0,n.Z)((0,n.Z)({},a),{},{accesskey:_,secretkey:le,storageclass:J})};break;case"gcs":e={gcs:(0,n.Z)((0,n.Z)({},a),{},{creds:ce})};break;case"azure":e={azure:(0,n.Z)((0,n.Z)({},a),{},{accountname:be,accountkey:fe})}}var i=(0,n.Z)({type:t},e);m.Z.invoke("POST","/api/v1/admin/tiers",i).then((function(){h(!1),r.push(C.gA.TIERS)})).catch((function(e){h(!1),l(e)}))}}),[_,fe,be,k,ce,I,r,y,z,V,b,le,l,J,Ae]),(0,i.useEffect)((function(){var e=!0;""===Ae&&(e=!1),""!==y&&Oe()||(e=!1),""===I&&(e=!1),""===k&&(e=!1),""===z&&(e=!1),""===V&&"minio"!==Ae&&(e=!1),"s3"!==Ae&&"minio"!==Ae||(""===_&&(e=!1),""===le&&(e=!1)),"gcs"===Ae&&""===ce&&(e=!1),"azure"===Ae&&(""===be&&(e=!1),""===fe&&(e=!1)),we(e)}),[_,fe,be,k,ce,I,Ne,y,z,V,le,J,Ae,Oe]),(0,i.useEffect)((function(){switch(Ae){case"gcs":U("https://storage.googleapis.com/"),Ce("Google Cloud");break;case"s3":U("https://s3.amazonaws.com"),Ce("Amazon S3");break;case"azure":U("http://blob.core.windows.net"),Ce("Azure");break;case"minio":U(""),Ce("MinIO")}}),[Ae]);var ke=S.Bh.find((function(e){return e.serviceName===Ae}));return(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)(g.Z,{label:"Tiers"}),(0,P.jsx)(Z.Z,{to:C.gA.TIERS_ADD,label:"Back To Tier Type Selection"}),(0,P.jsx)(j.Z,{children:(0,P.jsx)(u.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea",padding:"25px"},children:(0,P.jsxs)("form",{noValidate:!0,onSubmit:function(e){e.preventDefault(),h(!0)},children:[""!==Ae&&ke?(0,P.jsxs)(u.ZP,{item:!0,xs:12,sx:{display:"flex",alignItems:"center",justifyContent:"start",marginBottom:"20px"},children:[ke.logo?(0,P.jsx)(v.Z,{sx:{"& .min-icon":{height:"60px",width:"60px"}},children:ke.logo}):null,(0,P.jsx)("div",{className:a.lambdaNotifTitle,children:(0,P.jsxs)("b",{children:[je||""," - Add Tier Configuration"]})})]},"icon-".concat(ke.targetTitle)):null,(0,P.jsx)(u.ZP,{item:!0,xs:12,sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"1fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gridRowGap:25,gridColumnGap:50},children:""!==Ae&&(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)(x.Z,{id:"name",name:"name",label:"Name",placeholder:"Enter Name (Eg. REMOTE-TIER)",value:y,onChange:function(e){N(e.target.value.toUpperCase())},error:Ue,required:!0}),(0,P.jsx)(x.Z,{id:"endpoint",name:"endpoint",label:"Endpoint",placeholder:"Enter Endpoint",value:I,onChange:function(e){U(e.target.value)},required:!0}),(Ae===S.b2||Ae===S.Pp)&&(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)(x.Z,{id:"accessKey",name:"accessKey",label:"Access Key",placeholder:"Enter Access Key",value:_,onChange:function(e){Q(e.target.value)},required:!0}),(0,P.jsx)(x.Z,{id:"secretKey",name:"secretKey",label:"Secret Key",placeholder:"Enter Secret Key",value:le,onChange:function(e){te(e.target.value)},required:!0})]}),Ae===S.f0&&(0,P.jsx)(f.Z,{accept:".json",classes:{fileInputField:a.fileInputFieldCss,textBoxContainer:a.fileTextBoxContainer,fileReselect:a.fileReselectCss},id:"creds",label:"Credentials",name:"creds",onChange:function(e,a){de(e),re(a)},value:se,required:!0}),Ae===S.vB&&(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)(x.Z,{id:"accountName",name:"accountName",label:"Account Name",placeholder:"Enter Account Name",value:be,onChange:function(e){he(e.target.value)},required:!0}),(0,P.jsx)(x.Z,{id:"accountKey",name:"accountKey",label:"Account Key",placeholder:"Enter Account Key",value:fe,onChange:function(e){ge(e.target.value)},required:!0})]}),(0,P.jsx)(x.Z,{id:"bucket",name:"bucket",label:"Bucket",placeholder:"Enter Bucket",value:k,onChange:function(e){R(e.target.value)},required:!0}),(0,P.jsx)(x.Z,{id:"prefix",name:"prefix",label:"Prefix",placeholder:"Enter Prefix",value:z,onChange:function(e){B(e.target.value)},required:!0}),(0,P.jsx)(F,{onChange:function(e){q(e)},required:"minio"!==Ae,label:"Region",id:"region",name:"region",type:Ae}),Ae===S.b2||Ae===S.Pp&&(0,P.jsx)(x.Z,{id:"storageClass",name:"storageClass",label:"Storage Class",placeholder:"Enter Storage Class",value:J,onChange:function(e){Y(e.target.value)}})]})}),(0,P.jsx)(u.ZP,{item:!0,xs:12,className:a.settingsButtonContainer,children:(0,P.jsx)(p.Z,{type:"submit",variant:"contained",color:"primary",disabled:b||!Ne,children:"Save Tier Configuration"})})]})})})]})})))},51444:function(e,a,l){l.d(a,{Pp:function(){return i},f0:function(){return s},b2:function(){return r},vB:function(){return o},Bh:function(){return u}});var t=l(86362),n=l(62559),i="minio",s="gcs",r="s3",o="azure",u=[{serviceName:i,targetTitle:"MinIO",logo:(0,n.jsx)(t.$E,{}),logoXs:(0,n.jsx)(t.YE,{})},{serviceName:s,targetTitle:"Google Cloud Storage",logo:(0,n.jsx)(t.UQ,{}),logoXs:(0,n.jsx)(t.Vw,{})},{serviceName:r,targetTitle:"AWS S3",logo:(0,n.jsx)(t.fe,{}),logoXs:(0,n.jsx)(t.Xj,{})},{serviceName:o,targetTitle:"Azure",logo:(0,n.jsx)(t.jz,{}),logoXs:(0,n.jsx)(t.nA,{})}]},82981:function(e,a,l){var t=l(50390),n=l(35477),i=l(86509),s=l(4285),r=l(62559);a.Z=(0,s.Z)((function(e){var a;return(0,i.Z)({errorBlock:{color:(null===(a=e.palette)||void 0===a?void 0:a.error.main)||"#C83B51"}})}))((function(e){var a=e.classes,l=e.errorMessage,i=e.withBreak,s=void 0===i||i;return(0,r.jsxs)(t.Fragment,{children:[s&&(0,r.jsx)("br",{}),(0,r.jsx)(n.Z,{component:"p",variant:"body1",className:a.errorBlock,children:l})]})}))},46529:function(e,a,l){var t=l(64119);a.Z=void 0;var n=t(l(66830)),i=l(62559),s=(0,n.default)((0,i.jsx)("path",{d:"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z"}),"AttachFile");a.Z=s},94258:function(e,a,l){var t=l(64119);a.Z=void 0;var n=t(l(66830)),i=l(62559),s=(0,n.default)((0,i.jsx)("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}),"Cancel");a.Z=s}}]);
-//# sourceMappingURL=1796.840a4e41.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1796.840a4e41.chunk.js.map b/portal-ui/build/static/js/1796.840a4e41.chunk.js.map
deleted file mode 100644
index 706d55225..000000000
--- a/portal-ui/build/static/js/1796.840a4e41.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/1796.840a4e41.chunk.js","mappings":"+KAiFA,KAAeA,EAAAA,EAAAA,IA1DA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXC,KAAM,CACJC,QAAS,OACTC,WAAY,SACZC,eAAgB,OAChBC,SAAU,QACVC,QAAS,sBACTC,MAAOR,EAAMS,QAAQC,QAAQC,MAC7BC,SAAU,QACV,UAAW,CACTP,eAAgB,cAGpBQ,KAAM,CACJC,YAAa,QACbX,QAAS,OACTC,WAAY,SACZW,eAAgB,SAChB,iBAAkB,CAChBC,MAAO,SAsCf,EAzBiB,SAAC,GAMA,IALhBC,EAKe,EALfA,GACAC,EAIe,EAJfA,MACAC,EAGe,EAHfA,QACAC,EAEe,EAFfA,UACAC,EACe,EADfA,eAEA,OACE,UAAC,KAAD,CACEJ,GAAIA,EACJG,UAAS,UAAKD,EAAQjB,KAAb,YAAqBkB,GAAwB,IACtDE,QAAS,WACHD,GACFA,KALN,WASE,gBAAKD,UAAWD,EAAQN,KAAxB,UACE,SAAC,KAAD,OAEF,gBAAKO,UAAWD,EAAQD,MAAxB,SAAgCA,W,kPC2GtC,GAAenB,EAAAA,EAAAA,IAvIA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,kCACRsB,EAAAA,IACAC,EAAAA,IAFO,IAGVC,YAAa,CACXnB,SAAU,IACVoB,WAAY,SACZC,SAAU,SACVC,aAAc,WACdC,UAAW,GAEbC,eAAgB,CACdC,OAAQ,SACR,4BAA6B,CAC3BC,SAAU,YAGXC,EAAAA,IAhBO,IAiBVC,YAAW,kBACNX,EAAAA,GAAAA,YADK,IAERY,WAAY,WAEdC,kBAAiB,kBACZb,EAAAA,GAAAA,kBADW,IAEdjB,SAAU,OACV+B,OAAQ,oBACRC,YAAa,cA6GnB,EAzGqB,SAAC,GAYA,IAXpBpB,EAWmB,EAXnBA,MACAC,EAUmB,EAVnBA,QACAoB,EASmB,EATnBA,SACAC,EAQmB,EARnBA,GACAC,EAOmB,EAPnBA,KAOmB,IANnBC,SAAAA,OAMmB,aALnBC,QAAAA,OAKmB,MALT,GAKS,EAJnBC,EAImB,EAJnBA,SAImB,IAHnBC,MAAAA,OAGmB,MAHX,GAGW,MAFnBC,OAAAA,OAEmB,MAFV,GAEU,MADnBC,MAAAA,OACmB,MADX,GACW,EACnB,GAA4CC,EAAAA,EAAAA,WAAS,GAArD,eAAOC,EAAP,KAAyBC,EAAzB,KAEA,OACE,SAAC,WAAD,WACE,UAACC,EAAA,GAAD,CACEC,MAAI,EACJC,GAAI,GACJjC,UAAS,UAAKD,EAAQW,eAAb,YAA+BX,EAAQmC,YAAvC,YACPnC,EAAQoC,eADD,YAEK,KAAVV,EAAe1B,EAAQqC,aAAe,IAL5C,UAOa,KAAVtC,IACC,UAACuC,EAAA,EAAD,CACEC,QAASlB,EACTpB,UAAS,UAAe,KAAVyB,EAAe1B,EAAQwC,gBAAkB,GAA9C,YACPxC,EAAQe,YAHZ,WAME,4BACGhB,EACA0B,EAAW,IAAM,MAEP,KAAZD,IACC,gBAAKvB,UAAWD,EAAQyC,iBAAxB,UACE,SAACC,EAAA,EAAD,CAASC,MAAOnB,EAASoB,UAAU,YAAnC,UACE,gBAAK3C,UAAWD,EAAQwB,QAAxB,UACE,SAACqB,EAAA,EAAD,aAQXf,GAA8B,KAAVF,GACnB,iBAAK3B,UAAWD,EAAQiB,iBAAxB,WACE,kBACE6B,KAAK,OACLxB,KAAMA,EACNF,SAAU,SAAC2B,GACT,IAAMC,EAAWC,GAAAA,CAAIF,EAAG,uBAAwB,KCnHrC,SAACG,EAAUC,GACpC,IAAMC,EAAOF,EAAIG,OAAOC,MAAM,GACxBC,EAAS,IAAIC,WACnBD,EAAOE,cAAcL,GAErBG,EAAOG,OAAS,WAGd,IAAMC,EAAaJ,EAAOK,OAC1B,GAAID,EAAY,CACd,IAAME,EAAYF,EAAWG,WAAWC,MAAM,WAErB,IAArBF,EAAUG,QACZb,EAASU,EAAU,MDuGXI,CAAYlB,GAAG,SAACmB,GACd9C,EAAS8C,EAAMlB,OAGnBrB,OAAQA,EACRF,SAAUA,EACVF,SAAUA,EACVtB,UAAWD,EAAQW,iBAGV,KAAViB,IACC,SAACuC,EAAA,EAAD,CACE9E,MAAM,UACN,aAAW,iBACX+E,UAAU,OACVjE,QAAS,WACP4B,GAAgB,IAElBsC,eAAe,EACfC,oBAAoB,EACpBC,KAAK,QATP,UAWE,SAACC,EAAA,EAAD,MAIO,KAAV9C,IAAgB,SAAC+C,EAAA,EAAD,CAAYC,aAAchD,QAG7C,iBAAKzB,UAAWD,EAAQ2E,aAAxB,WACE,gBAAK1E,UAAWD,EAAQM,YAAxB,SAAsCsB,KACtC,SAACuC,EAAA,EAAD,CACE9E,MAAM,UACN,aAAW,iBACX+E,UAAU,OACVjE,QAAS,WACP4B,GAAgB,IAElBsC,eAAe,EACfC,oBAAoB,EACpBC,KAAK,QATP,UAWE,SAACK,EAAA,EAAD,kB,mLEhFRC,GAAcC,EAAAA,EAAAA,IAAW,SAACjG,GAAD,OAC7BC,EAAAA,EAAAA,IAAa,UACRiG,EAAAA,QAIP,SAASC,EAAWC,GAClB,IAAMjF,EAAU6E,IAEhB,OACE,SAAC,KAAD,QACEK,WAAY,CAAElF,QAAAA,IACViF,IA0IV,KAAerG,EAAAA,EAAAA,IAhLA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,0BACRsB,EAAAA,IACAC,EAAAA,IAFO,IAGVY,iBAAkB,CAChBkE,SAAU,EACVC,SAAU,YAEZC,cAAe,CACbD,SAAU,WACVE,MAAO,EACPC,IAAK,EACL,QAAS,CACPpG,SAAU,GACVqG,UAAW,IAEb,cAAe,CACbD,IAAK,IAGTxE,YAAW,kBACNX,EAAAA,GAAAA,YADK,IAERY,WAAY,gBA0JlB,EArIwB,SAAC,GA4BH,IA3BpBjB,EA2BmB,EA3BnBA,MACAqB,EA0BmB,EA1BnBA,SACAQ,EAyBmB,EAzBnBA,MACAP,EAwBmB,EAxBnBA,GACAC,EAuBmB,EAvBnBA,KAuBmB,IAtBnBwB,KAAAA,OAsBmB,MAtBZ,OAsBY,MArBnB2C,aAAAA,OAqBmB,MArBJ,MAqBI,MApBnBlE,SAAAA,OAoBmB,aAnBnBmE,UAAAA,OAmBmB,aAlBnBlE,QAAAA,OAkBmB,MAlBT,GAkBS,MAjBnBmE,MAAAA,OAiBmB,MAjBX,EAiBW,MAhBnBjE,MAAAA,OAgBmB,MAhBX,GAgBW,MAfnBD,SAAAA,OAemB,aAdnBmE,YAAAA,OAcmB,MAdL,GAcK,EAbnBC,EAamB,EAbnBA,IACAC,EAYmB,EAZnBA,IACAC,EAWmB,EAXnBA,UAWmB,IAVnBC,YAAAA,OAUmB,MAVL,KAUK,MATnBC,cAAAA,OASmB,MATH,KASG,MARnBC,gBAAAA,OAQmB,MARD,GAQC,EAPnBb,EAOmB,EAPnBA,cAOmB,IANnBc,gBAAAA,OAMmB,aALnBC,QAAAA,OAKmB,MALT,GAKS,MAJnBC,UAAAA,OAImB,SAHnBrG,EAGmB,EAHnBA,QAGmB,IAFnBC,UAAAA,OAEmB,MAFP,GAEO,EADnBqG,EACmB,EADnBA,WAEIC,IAAe,QAAK,aAAcZ,GAAUO,GAchD,MAZa,WAATpD,GAAqB+C,IACvBU,GAAU,IAAUV,GAGT,WAAT/C,GAAqBgD,IACvBS,GAAU,IAAUT,GAGN,KAAZM,IACFG,GAAU,QAAcH,IAIxB,SAAC,WAAD,WACE,UAAC,KAAD,CACEI,WAAS,EACTvG,WAAWwG,EAAAA,EAAAA,GACK,KAAdxG,EAAmBA,EAAY,GACrB,KAAVyB,EAAe1B,EAAQqC,aAAerC,EAAQ0G,mBAJlD,UAOa,KAAV3G,IACC,UAAC,IAAD,CACEwC,QAASlB,EACTpB,UACEkG,EAAkBnG,EAAQ2G,gBAAkB3G,EAAQe,WAHxD,WAME,4BACGhB,EACA0B,EAAW,IAAM,MAEP,KAAZD,IACC,gBAAKvB,UAAWD,EAAQyC,iBAAxB,UACE,SAAC,IAAD,CAASE,MAAOnB,EAASoB,UAAU,YAAnC,UACE,gBAAK3C,UAAWD,EAAQwB,QAAxB,UACE,SAAC,IAAD,cAQZ,iBAAKvB,UAAWD,EAAQiB,iBAAxB,WACE,SAAC+D,EAAD,CACE3D,GAAIA,EACJC,KAAMA,EACNsF,WAAS,EACThF,MAAOA,EACPyE,UAAWA,EACX9E,SAAUA,EACVH,SAAUA,EACV0B,KAAMA,EACN4C,UAAWA,EACXD,aAAcA,EACdc,WAAYA,GACZ7E,MAAiB,KAAVA,EACPmF,WAAYnF,EACZkE,YAAaA,EACb3F,UAAWD,EAAQ8G,YACnBR,WAAYA,IAEbN,IACC,gBACE/F,UAAS,UAAKD,EAAQqF,cAAb,YACG,KAAVtF,EAAe,YAAc,IAFjC,UAKE,SAAC,IAAD,CACEI,QACEkF,EACI,WACEA,KAEF,kBAAM,MAEZhE,GAAI0E,EACJxB,KAAM,QACND,oBAAoB,EACpBD,eAAe,EACf0C,oBAAoB,EAZtB,SAcGf,MAINC,IACC,gBACEhG,UAAS,UAAKD,EAAQqF,cAAb,YACG,KAAVtF,EAAe,YAAc,IAFjC,SAKGkG,gB,sGC7Mf,KAAerH,EAAAA,EAAAA,IAvBA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,UACRkI,EAAAA,OAqBP,EAZmB,SAAC,GAA4D,IAA1DhH,EAAyD,EAAzDA,QAAyD,IAAhDC,UAAAA,OAAgD,MAApC,GAAoC,EAAhCgH,EAAgC,EAAhCA,SAC7C,OACE,gBAAKhH,UAAWD,EAAQkH,cAAxB,UACE,SAAC,KAAD,CAAMV,WAAS,EAAf,UACE,SAAC,KAAD,CAAMvE,MAAI,EAACC,GAAI,GAAIjC,UAAWA,EAA9B,SACGgH,Y,4JCiJLE,EAAqB,CACzBC,WAAAA,EAAAA,IAGIC,GAAYC,EAAAA,EAAAA,KAXD,SAACC,GAAD,MAAsB,CACrCC,YAAaD,EAAME,OAAOD,YAC1BE,aAAcH,EAAME,OAAOC,aAC3BC,eAAgBJ,EAAMK,cAAcC,cAAcC,gBAClDC,SAAUR,EAAMS,QAAQC,QAAQF,YAOEZ,GAEpC,IAAeE,GAAUzI,EAAAA,EAAAA,IAnIV,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXoJ,gBAAiB,CACfrI,MAAO,OACPsI,UAAW,GACXnJ,QAAS,OACToJ,gBAAiB,OACjBC,KAAM,EACNC,UAAW,8BAEbvI,MAAO,CACLf,QAAS,OACTY,eAAgB,aAChBX,WAAY,UAEdsJ,WAAY,CACVlJ,MAAO,OACPI,SAAU,GACVuB,WAAY,IACZwH,WAAY,GACZ9H,UAAW,GAEb+H,UAAW,CACTC,UAAW,SAEbC,KAAM,CACJH,WAAY,GACZI,KAAM/J,EAAMS,QAAQC,QAAQsJ,KAC5B,cAAe,CACbhJ,MAAO,MAGXiJ,gBAAiB,CACf9J,QAAS,OACTY,eAAgB,SAChBX,WAAY,cAgGOL,EA5FN,SAAC,GAUA,IATlBoB,EASiB,EATjBA,QACAD,EAQiB,EARjBA,MACAgJ,EAOiB,EAPjBA,QACAvB,EAMiB,EANjBA,YACAE,EAKiB,EALjBA,aACAC,EAIiB,EAJjBA,eACAP,EAGiB,EAHjBA,WACA0B,EAEiB,EAFjBA,gBAGA,OADiB,EADjBf,SAEaiB,SAAS,cACb,SAAC,EAAAC,SAAD,KAGP,UAAC,KAAD,CACEzC,WAAS,EACTvG,UAAS,UAAKD,EAAQkI,gBAAb,gBACTgB,UAAU,MACVjK,WAAW,SAJb,WAME,UAAC,KAAD,CACEgD,MAAI,EACJC,GAAI,GACJiH,GAAI,GACJC,GAAIN,EAAkB,EAAI,EAC1B7I,UAAWD,EAAQD,MACnBsJ,GAAI,CACFC,WAAY,CAAC,OAAQ,OAAQ,IAAK,MAPtC,WAUI9B,IACA,gBAAKvH,UAAWD,EAAQ2I,KAAxB,SACGjB,GAAe,SAAC,IAAD,KAAmB,SAAC,IAAD,OAGvC,SAAC,IAAD,CAAY6B,QAAQ,KAAKtJ,UAAWD,EAAQuI,WAA5C,SACGxI,OAGJ+I,IACC,SAAC,KAAD,CACE7G,MAAI,EACJC,GAAI,GACJiH,GAAI,GACJC,GAAI,EACJnJ,UAAWD,EAAQ8I,gBACnBO,GAAI,CAAE3I,UAAW,CAAC,OAAQ,OAAQ,IAAK,MANzC,SAQGoI,KAGL,UAAC,KAAD,CACE7G,MAAI,EACJC,GAAI,GACJiH,GAAI,GACJC,GAAIN,EAAkB,EAAI,EAC1B7I,UAAWD,EAAQyI,UALrB,UAOGM,GAAWA,EACXpB,GAAkBA,EAAe3D,OAAS,IACzC,SAAC,IAAD,CACE3E,MAAM,UACN,aAAW,eACX+E,UAAU,OACVjE,QAAS,WACPiH,KAEF/F,GAAG,wBACHkD,KAAK,QARP,UAUE,SAAC,KAAD,iB,mYC1GZ,EA7BiC,CAC/B,CAAExE,MAAO,iBAAkB6B,MAAO,aAClC,CAAE7B,MAAO,wBAAyB6B,MAAO,aACzC,CAAE7B,MAAO,0BAA2B6B,MAAO,aAC3C,CAAE7B,MAAO,mBAAoB6B,MAAO,aACpC,CAAE7B,MAAO,qBAAsB6B,MAAO,cACtC,CAAE7B,MAAO,8BAA+B6B,MAAO,aAC/C,CAAE7B,MAAO,yBAA0B6B,MAAO,kBAC1C,CAAE7B,MAAO,wBAAyB6B,MAAO,cACzC,CAAE7B,MAAO,uBAAwB6B,MAAO,kBACxC,CAAE7B,MAAO,uBAAwB6B,MAAO,kBACxC,CAAE7B,MAAO,2BAA4B6B,MAAO,kBAC5C,CAAE7B,MAAO,wBAAyB6B,MAAO,kBACzC,CAAE7B,MAAO,uBAAwB6B,MAAO,kBACxC,CAAE7B,MAAO,mBAAoB6B,MAAO,gBACpC,CAAE7B,MAAO,kBAAmB6B,MAAO,cACnC,CAAE7B,MAAO,kBAAmB6B,MAAO,kBACnC,CAAE7B,MAAO,qBAAsB6B,MAAO,gBACtC,CAAE7B,MAAO,mBAAoB6B,MAAO,aACpC,CAAE7B,MAAO,kBAAmB6B,MAAO,aACnC,CAAE7B,MAAO,iBAAkB6B,MAAO,cAClC,CAAE7B,MAAO,iBAAkB6B,MAAO,aAClC,CAAE7B,MAAO,qBAAsB6B,MAAO,cACtC,CAAE7B,MAAO,+BAA6B6B,MAAO,aAC7C,CAAE7B,MAAO,wBAAyB6B,MAAO,cACzC,CAAE7B,MAAO,yBAA0B6B,MAAO,iBAC1C,CAAE7B,MAAO,yBAA0B6B,MAAO,kBCV5C,EAhCkC,CAChC,CAAE7B,MAAO,cAAY6B,MAAO,2BAC5B,CAAE7B,MAAO,UAAW6B,MAAO,2BAC3B,CAAE7B,MAAO,OAAQ6B,MAAO,eACxB,CAAE7B,MAAO,iBAAkB6B,MAAO,YAClC,CAAE7B,MAAO,oBAAqB6B,MAAO,YACrC,CAAE7B,MAAO,SAAU6B,MAAO,YAC1B,CAAE7B,MAAO,cAAe6B,MAAO,YAC/B,CAAE7B,MAAO,iBAAkB6B,MAAO,YAClC,CAAE7B,MAAO,YAAa6B,MAAO,YAC7B,CAAE7B,MAAO,eAAa6B,MAAO,sBAC7B,CAAE7B,MAAO,WAAY6B,MAAO,sBAC5B,CAAE7B,MAAO,SAAU6B,MAAO,mBAC1B,CAAE7B,MAAO,UAAW6B,MAAO,iBAC3B,CAAE7B,MAAO,UAAW6B,MAAO,gBAC3B,CAAE7B,MAAO,SAAU6B,MAAO,gBAC1B,CAAE7B,MAAO,YAAa6B,MAAO,gBAC7B,CAAE7B,MAAO,cAAe6B,MAAO,gBAC/B,CAAE7B,MAAO,YAAU6B,MAAO,gBAC1B,CAAE7B,MAAO,SAAU6B,MAAO,cAC1B,CAAE7B,MAAO,YAAa6B,MAAO,cAC7B,CAAE7B,MAAO,QAAS6B,MAAO,mBACzB,CAAE7B,MAAO,QAAS6B,MAAO,mBACzB,CAAE7B,MAAO,QAAS6B,MAAO,mBACzB,CAAE7B,MAAO,SAAU6B,MAAO,eAC1B,CAAE7B,MAAO,QAAS6B,MAAO,eACzB,CAAE7B,MAAO,YAAa6B,MAAO,mBAC7B,CAAE7B,MAAO,UAAW6B,MAAO,mBAC3B,CAAE7B,MAAO,SAAU6B,MAAO,wBAC1B,CAAE7B,MAAO,YAAa6B,MAAO,yBCiS/B,EA9SoC,CAClC,CACE7B,MAAO,OACP6B,MAAO,QAET,CACE7B,MAAO,eACP6B,MAAO,eAET,CACE7B,MAAO,YACP6B,MAAO,aAET,CACE7B,MAAO,oBACP6B,MAAO,oBAET,CACE7B,MAAO,sBACP6B,MAAO,qBAET,CACE7B,MAAO,iBACP6B,MAAO,iBAET,CACE7B,MAAO,sBACP6B,MAAO,sBAET,CACE7B,MAAO,SACP6B,MAAO,UAET,CACE7B,MAAO,eACP6B,MAAO,eAET,CACE7B,MAAO,mBACP6B,MAAO,mBAET,CACE7B,MAAO,SACP6B,MAAO,UAET,CACE7B,MAAO,iBACP6B,MAAO,iBAET,CACE7B,MAAO,cACP6B,MAAO,cAET,CACE7B,MAAO,gBACP6B,MAAO,gBAET,CACE7B,MAAO,aACP6B,MAAO,aAET,CACE7B,MAAO,qBACP6B,MAAO,kBAET,CACE7B,MAAO,kBACP6B,MAAO,iBAET,CACE7B,MAAO,YACP6B,MAAO,YAET,CACE7B,MAAO,oBACP6B,MAAO,iBAET,CACE7B,MAAO,UACP6B,MAAO,UAET,CACE7B,MAAO,kBACP6B,MAAO,eAET,CACE7B,MAAO,YACP6B,MAAO,WAET,CACE7B,MAAO,oBACP6B,MAAO,gBAET,CACE7B,MAAO,iBACP6B,MAAO,eAET,CACE7B,MAAO,SACP6B,MAAO,UAET,CACE7B,MAAO,SACP6B,MAAO,UAET,CACE7B,MAAO,iBACP6B,MAAO,iBAET,CACE7B,MAAO,eACP6B,MAAO,eAET,CACE7B,MAAO,UACP6B,MAAO,WAET,CACE7B,MAAO,gBACP6B,MAAO,gBAET,CACE7B,MAAO,uBACP6B,MAAO,sBAET,CACE7B,MAAO,SACP6B,MAAO,UAET,CACE7B,MAAO,QACP6B,MAAO,SAET,CACE7B,MAAO,QACP6B,MAAO,SAET,CACE7B,MAAO,aACP6B,MAAO,aAET,CACE7B,MAAO,aACP6B,MAAO,aAET,CACE7B,MAAO,oBACP6B,MAAO,mBAET,CACE7B,MAAO,iBACP6B,MAAO,gBAET,CACE7B,MAAO,QACP6B,MAAO,SAET,CACE7B,MAAO,gBACP6B,MAAO,gBAET,CACE7B,MAAO,cACP6B,MAAO,cAET,CACE7B,MAAO,mBACP6B,MAAO,kBAET,CACE7B,MAAO,2BACP6B,MAAO,uBAET,CACE7B,MAAO,eACP6B,MAAO,eAET,CACE7B,MAAO,SACP6B,MAAO,UAET,CACE7B,MAAO,cACP6B,MAAO,cAET,CACE7B,MAAO,cACP6B,MAAO,cAET,CACE7B,MAAO,eACP6B,MAAO,eAET,CACE7B,MAAO,qBACP6B,MAAO,oBAET,CACE7B,MAAO,oBACP6B,MAAO,mBAET,CACE7B,MAAO,mBACP6B,MAAO,kBAET,CACE7B,MAAO,2BACP6B,MAAO,uBAET,CACE7B,MAAO,cACP6B,MAAO,cAET,CACE7B,MAAO,iBACP6B,MAAO,iBAET,CACE7B,MAAO,yBACP6B,MAAO,sBAET,CACE7B,MAAO,iBACP6B,MAAO,iBAET,CACE7B,MAAO,cACP6B,MAAO,eAET,CACE7B,MAAO,oBACP6B,MAAO,oBAET,CACE7B,MAAO,mBACP6B,MAAO,mBAET,CACE7B,MAAO,cACP6B,MAAO,cAET,CACE7B,MAAO,YACP6B,MAAO,YAET,CACE7B,MAAO,WACP6B,MAAO,WAET,CACE7B,MAAO,UACP6B,MAAO,UAET,CACE7B,MAAO,uBACP6B,MAAO,OAET,CACE7B,MAAO,iBACP6B,MAAO,MAET,CACE7B,MAAO,gBACP6B,MAAO,gBAET,CACE7B,MAAO,qBACP6B,MAAO,oBAET,CACE7B,MAAO,kBACP6B,MAAO,iBAET,CACE7B,MAAO,cACP6B,MAAO,cAET,CACE7B,MAAO,aACP6B,MAAO,aAET,CACE7B,MAAO,UACP6B,MAAO,UAET,CACE7B,MAAO,kBACP6B,MAAO,eAET,CACE7B,MAAO,YACP6B,MAAO,WA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","sources":["common/BackLink.tsx","screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx","screens/Console/Common/FormComponents/FileSelector/utils.ts","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Configurations/TiersConfiguration/s3-regions.tsx","screens/Console/Configurations/TiersConfiguration/gcs-regions.ts","screens/Console/Configurations/TiersConfiguration/azure-regions.ts","screens/Console/Configurations/TiersConfiguration/RegionSelect.tsx","screens/Console/Configurations/TiersConfiguration/RegionSelectWrapper.tsx","screens/Console/Configurations/TiersConfiguration/AddTierConfiguration.tsx","screens/Console/Configurations/TiersConfiguration/utils.tsx","screens/shared/ErrorBlock.tsx","../node_modules/@mui/icons-material/AttachFile.js","../node_modules/@mui/icons-material/Cancel.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport get from \"lodash/get\";\nimport { Grid, InputLabel, Tooltip } from \"@mui/material\";\nimport IconButton from \"@mui/material/IconButton\";\nimport AttachFileIcon from \"@mui/icons-material/AttachFile\";\nimport CancelIcon from \"@mui/icons-material/Cancel\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n fileInputStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { fileProcess } from \"./utils\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport ErrorBlock from \"../../../../shared/ErrorBlock\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: string, i: string) => void;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n required?: boolean;\n error?: string;\n accept?: string;\n value?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n valueString: {\n maxWidth: 350,\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n marginTop: 2,\n },\n fileInputField: {\n margin: \"13px 0\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n ...fileInputStyles,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n textBoxContainer: {\n ...fieldBasic.textBoxContainer,\n maxWidth: \"100%\",\n border: \"1px solid #eaeaea\",\n paddingLeft: \"15px\",\n },\n });\n\nconst FileSelector = ({\n label,\n classes,\n onChange,\n id,\n name,\n disabled = false,\n tooltip = \"\",\n required,\n error = \"\",\n accept = \"\",\n value = \"\",\n}: InputBoxProps) => {\n const [showFileSelector, setShowSelector] = useState(false);\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n )}\n \n \n );\n};\n\nexport default withStyles(styles)(FileSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const fileProcess = (evt: any, callback: any) => {\n const file = evt.target.files[0];\n const reader = new FileReader();\n reader.readAsDataURL(file);\n\n reader.onload = () => {\n // reader.readAsDataURL(file) output will be something like: data:application/x-x509-ca-cert;base64,LS0tLS1CRUdJTiBDRVJUSU\n // we care only about the actual base64 part (everything after \"data:application/x-x509-ca-cert;base64,\")\n const fileBase64 = reader.result;\n if (fileBase64) {\n const fileArray = fileBase64.toString().split(\"base64,\");\n\n if (fileArray.length === 2) {\n callback(fileArray[1]);\n }\n }\n };\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n features,\n}: IPageHeader) => {\n if (features.includes(\"hide-menu\")) {\n return ;\n }\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n id=\"object-manager-toggle\"\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n features: state.console.session.features,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { RegionEntry } from \"./types\";\n\nconst s3Regions: RegionEntry[] = [\n { label: \"US East (Ohio)\", value: \"us-east-2\" },\n { label: \"US East (N. Virginia)\", value: \"us-east-1\" },\n { label: \"US West (N. California)\", value: \"us-west-1\" },\n { label: \"US West (Oregon)\", value: \"us-west-2\" },\n { label: \"Africa (Cape Town)\", value: \"af-south-1\" },\n { label: \"Asia Pacific (Hong Kong)***\", value: \"ap-east-1\" },\n { label: \"Asia Pacific (Jakarta)\", value: \"ap-southeast-3\" },\n { label: \"Asia Pacific (Mumbai)\", value: \"ap-south-1\" },\n { label: \"Asia Pacific (Osaka)\", value: \"ap-northeast-3\" },\n { label: \"Asia Pacific (Seoul)\", value: \"ap-northeast-2\" },\n { label: \"Asia Pacific (Singapore)\", value: \"ap-southeast-1\" },\n { label: \"Asia Pacific (Sydney)\", value: \"ap-southeast-2\" },\n { label: \"Asia Pacific (Tokyo)\", value: \"ap-northeast-1\" },\n { label: \"Canada (Central)\", value: \"ca-central-1\" },\n { label: \"China (Beijing)\", value: \"cn-north-1\" },\n { label: \"China (Ningxia)\", value: \"cn-northwest-1\" },\n { label: \"Europe (Frankfurt)\", value: \"eu-central-1\" },\n { label: \"Europe (Ireland)\", value: \"eu-west-1\" },\n { label: \"Europe (London)\", value: \"eu-west-2\" },\n { label: \"Europe (Milan)\", value: \"eu-south-1\" },\n { label: \"Europe (Paris)\", value: \"eu-west-3\" },\n { label: \"Europe (Stockholm)\", value: \"eu-north-1\" },\n { label: \"South America (São Paulo)\", value: \"sa-east-1\" },\n { label: \"Middle East (Bahrain)\", value: \"me-south-1\" },\n { label: \"AWS GovCloud (US-East)\", value: \"us-gov-east-1\" },\n { label: \"AWS GovCloud (US-West)\", value: \"us-gov-west-1\" },\n];\n\nexport default s3Regions;\n","import { RegionEntry } from \"./types\";\n\nconst gcsRegions: RegionEntry[] = [\n { label: \"Montréal\", value: \"NORTHAMERICA-NORTHEAST1\" },\n { label: \"Toronto\", value: \"NORTHAMERICA-NORTHEAST2\" },\n { label: \"Iowa\", value: \"US-CENTRAL1\" },\n { label: \"South Carolina\", value: \"US-EAST1\" },\n { label: \"Northern Virginia\", value: \"US-EAST4\" },\n { label: \"Oregon\", value: \"US-WEST1\" },\n { label: \"Los Angeles\", value: \"US-WEST2\" },\n { label: \"Salt Lake City\", value: \"US-WEST3\" },\n { label: \"Las Vegas\", value: \"US-WEST4\" },\n { label: \"São Paulo\", value: \"SOUTHAMERICA-EAST1\" },\n { label: \"Santiago\", value: \"SOUTHAMERICA-WEST1\" },\n { label: \"Warsaw\", value: \"EUROPE-CENTRAL2\" },\n { label: \"Finland\", value: \"EUROPE-NORTH1\" },\n { label: \"Belgium\", value: \"EUROPE-WEST1\" },\n { label: \"London\", value: \"EUROPE-WEST2\" },\n { label: \"Frankfurt\", value: \"EUROPE-WEST3\" },\n { label: \"Netherlands\", value: \"EUROPE-WEST4\" },\n { label: \"Zürich\", value: \"EUROPE-WEST6\" },\n { label: \"Taiwan\", value: \"ASIA-EAST1\" },\n { label: \"Hong Kong\", value: \"ASIA-EAST2\" },\n { label: \"Tokyo\", value: \"ASIA-NORTHEAST1\" },\n { label: \"Osaka\", value: \"ASIA-NORTHEAST2\" },\n { label: \"Seoul\", value: \"ASIA-NORTHEAST3\" },\n { label: \"Mumbai\", value: \"ASIA-SOUTH1\" },\n { label: \"Delhi\", value: \"ASIA-SOUTH2\" },\n { label: \"Singapore\", value: \"ASIA-SOUTHEAST1\" },\n { label: \"Jakarta\", value: \"ASIA-SOUTHEAST2\" },\n { label: \"Sydney\", value: \"AUSTRALIA-SOUTHEAST1\" },\n { label: \"Melbourne\", value: \"AUSTRALIA-SOUTHEAST2\" },\n];\n\nexport default gcsRegions;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { RegionEntry } from \"./types\";\n\nconst azureRegions: RegionEntry[] = [\n {\n label: \"Asia\",\n value: \"asia\",\n },\n {\n label: \"Asia Pacific\",\n value: \"asiapacific\",\n },\n {\n label: \"Australia\",\n value: \"australia\",\n },\n {\n label: \"Australia Central\",\n value: \"australiacentral\",\n },\n {\n label: \"Australia Central 2\",\n value: \"australiacentral2\",\n },\n {\n label: \"Australia East\",\n value: \"australiaeast\",\n },\n {\n label: \"Australia Southeast\",\n value: \"australiasoutheast\",\n },\n {\n label: \"Brazil\",\n value: \"brazil\",\n },\n {\n label: \"Brazil South\",\n value: \"brazilsouth\",\n },\n {\n label: \"Brazil Southeast\",\n value: \"brazilsoutheast\",\n },\n {\n label: \"Canada\",\n value: \"canada\",\n },\n {\n label: \"Canada Central\",\n value: \"canadacentral\",\n },\n {\n label: \"Canada East\",\n value: \"canadaeast\",\n },\n {\n label: \"Central India\",\n value: \"centralindia\",\n },\n {\n label: \"Central US\",\n value: \"centralus\",\n },\n {\n label: \"Central US (Stage)\",\n value: \"centralusstage\",\n },\n {\n label: \"Central US EUAP\",\n value: \"centraluseuap\",\n },\n {\n label: \"East Asia\",\n value: \"eastasia\",\n },\n {\n label: \"East Asia (Stage)\",\n value: \"eastasiastage\",\n },\n {\n label: \"East US\",\n value: \"eastus\",\n },\n {\n label: \"East US (Stage)\",\n value: \"eastusstage\",\n },\n {\n label: \"East US 2\",\n value: \"eastus2\",\n },\n {\n label: \"East US 2 (Stage)\",\n value: \"eastus2stage\",\n },\n {\n label: \"East US 2 EUAP\",\n value: \"eastus2euap\",\n },\n {\n label: \"Europe\",\n value: \"europe\",\n },\n {\n label: \"France\",\n value: \"france\",\n },\n {\n label: \"France Central\",\n value: \"francecentral\",\n },\n {\n label: \"France South\",\n value: \"francesouth\",\n },\n {\n label: \"Germany\",\n value: \"germany\",\n },\n {\n label: \"Germany North\",\n value: \"germanynorth\",\n },\n {\n label: \"Germany West Central\",\n value: \"germanywestcentral\",\n },\n {\n label: \"Global\",\n value: \"global\",\n },\n {\n label: \"India\",\n value: \"india\",\n },\n {\n label: \"Japan\",\n value: \"japan\",\n },\n {\n label: \"Japan East\",\n value: \"japaneast\",\n },\n {\n label: \"Japan West\",\n value: \"japanwest\",\n },\n {\n label: \"Jio India Central\",\n value: \"jioindiacentral\",\n },\n {\n label: \"Jio India West\",\n value: \"jioindiawest\",\n },\n {\n label: \"Korea\",\n value: \"korea\",\n },\n {\n label: \"Korea Central\",\n value: \"koreacentral\",\n },\n {\n label: \"Korea South\",\n value: \"koreasouth\",\n },\n {\n label: \"North Central US\",\n value: \"northcentralus\",\n },\n {\n label: \"North Central US (Stage)\",\n value: \"northcentralusstage\",\n },\n {\n label: \"North Europe\",\n value: \"northeurope\",\n },\n {\n label: \"Norway\",\n value: \"norway\",\n },\n {\n label: \"Norway East\",\n value: \"norwayeast\",\n },\n {\n label: \"Norway West\",\n value: \"norwaywest\",\n },\n {\n label: \"South Africa\",\n value: \"southafrica\",\n },\n {\n label: \"South Africa North\",\n value: \"southafricanorth\",\n },\n {\n label: \"South Africa West\",\n value: \"southafricawest\",\n },\n {\n label: \"South Central US\",\n value: \"southcentralus\",\n },\n {\n label: \"South Central US (Stage)\",\n value: \"southcentralusstage\",\n },\n {\n label: \"South India\",\n value: \"southindia\",\n },\n {\n label: \"Southeast Asia\",\n value: \"southeastasia\",\n },\n {\n label: \"Southeast Asia (Stage)\",\n value: \"southeastasiastage\",\n },\n {\n label: \"Sweden Central\",\n value: \"swedencentral\",\n },\n {\n label: \"Switzerland\",\n value: \"switzerland\",\n },\n {\n label: \"Switzerland North\",\n value: \"switzerlandnorth\",\n },\n {\n label: \"Switzerland West\",\n value: \"switzerlandwest\",\n },\n {\n label: \"UAE Central\",\n value: \"uaecentral\",\n },\n {\n label: \"UAE North\",\n value: \"uaenorth\",\n },\n {\n label: \"UK South\",\n value: \"uksouth\",\n },\n {\n label: \"UK West\",\n value: \"ukwest\",\n },\n {\n label: \"United Arab Emirates\",\n value: \"uae\",\n },\n {\n label: \"United Kingdom\",\n value: \"uk\",\n },\n {\n label: \"United States\",\n value: \"unitedstates\",\n },\n {\n label: \"United States EUAP\",\n value: \"unitedstateseuap\",\n },\n {\n label: \"West Central US\",\n value: \"westcentralus\",\n },\n {\n label: \"West Europe\",\n value: \"westeurope\",\n },\n {\n label: \"West India\",\n value: \"westindia\",\n },\n {\n label: \"West US\",\n value: \"westus\",\n },\n {\n label: \"West US (Stage)\",\n value: \"westusstage\",\n },\n {\n label: \"West US 2\",\n value: \"westus2\",\n },\n {\n label: \"West US 2 (Stage)\",\n value: \"westus2stage\",\n },\n {\n label: \"West US 3\",\n value: \"westus3\",\n },\n];\nexport default azureRegions;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\n\nimport { Autocomplete, Box, TextField } from \"@mui/material\";\n\nimport s3Regions from \"./s3-regions\";\nimport gcsRegions from \"./gcs-regions\";\nimport azRegions from \"./azure-regions\";\n\nconst getRegions = (type: string): any => {\n if (type === \"s3\") {\n return s3Regions;\n }\n if (type === \"gcs\") {\n return gcsRegions;\n }\n if (type === \"azure\") {\n return azRegions;\n }\n\n return [];\n};\n\nconst RegionSelect = ({\n type,\n onChange,\n inputProps,\n}: {\n type: \"minio\" | \"s3\" | \"gcs\" | \"azure\" | \"unsupported\";\n onChange: (obj: any) => void;\n inputProps?: any;\n}) => {\n const regionList = getRegions(type);\n const [value, setValue] = React.useState(\"\");\n\n return (\n {\n let newVal: any = newValue;\n\n if (typeof newValue === \"string\") {\n newVal = {\n label: newValue,\n };\n } else if (newValue && newValue.inputValue) {\n // Create a new value from the user input\n newVal = {\n label: newValue.inputValue,\n };\n } else {\n newVal = newValue;\n }\n setValue(newVal);\n onChange(newVal?.value);\n }}\n value={value}\n onInputChange={(e: any) => {\n const { target: { value = \"\" } = {} } = e || {};\n onChange(value);\n }}\n getOptionLabel={(option) => {\n // Value selected with enter, right from the input\n if (typeof option === \"string\") {\n return option;\n }\n // Add \"xxx\" option created dynamically\n if (option.inputValue) {\n return option.inputValue;\n }\n // Regular option\n return option.value;\n }}\n options={regionList}\n filterOptions={(opts: any[], state: any) => {\n const filterText = state.inputValue.toLowerCase();\n\n return opts.filter((opt) =>\n `${opt.label.toLowerCase()}${opt.value.toLowerCase()}`.includes(\n filterText\n )\n );\n }}\n renderOption={(props: any, opt: any) => {\n return (\n
\n \n {opt.value}\n {opt.label}\n \n
\n );\n }}\n renderInput={(params) => (\n \n )}\n />\n );\n};\n\nexport default RegionSelect;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { Grid, IconButton, InputLabel, Tooltip } from \"@mui/material\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport HelpIcon from \"../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\nimport RegionSelect from \"./RegionSelect\";\n\ninterface RegionSelectBoxProps {\n label: string;\n classes?: any;\n onChange: (value: string) => void;\n onKeyPress?: (e: any) => void;\n value?: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n type: \"minio\" | \"s3\" | \"gcs\" | \"azure\";\n tooltip?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n minWidth: 160,\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nconst RegionSelectWrapper = ({\n label,\n onChange,\n id,\n name,\n type,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n classes,\n className = \"\",\n}: RegionSelectBoxProps) => {\n const inputClasses = inputStyles();\n\n let inputProps: any = {\n \"data-index\": index,\n ...extraInputProps,\n name: name,\n id: id,\n classes: inputClasses,\n };\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n );\n };\n\n return (\n \n \n {metricValue !== \"\" && (\n }\n subheader={\n \n \n \n }\n classes={{\n root: subStyles.root,\n title: subStyles.title,\n content: subStyles.content,\n }}\n />\n )}\n \n \n );\n};\n\nexport default withStyles(styles)(CommonCard);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport CommonCard from \"../CommonCard\";\n\ninterface IMergedWidgets {\n title: string;\n leftComponent: any;\n rightComponent: any;\n}\n\nconst MergedWidgets = ({\n title,\n leftComponent,\n rightComponent,\n}: IMergedWidgets) => {\n return (\n \n \n \n );\n};\n\nexport default MergedWidgets;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { tooltipCommon } from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tooltipCommon,\n });\n\nconst BarChartTooltip = ({\n active,\n payload,\n label,\n barChartConfiguration,\n classes,\n}: any) => {\n if (active) {\n return (\n
\n );\n }\n\n return null;\n};\n\nexport default withStyles(styles)(BarChartTooltip);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport {\n Bar,\n BarChart,\n Cell,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from \"recharts\";\nimport { useMediaQuery } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport ZoomOutMapIcon from \"@mui/icons-material/ZoomOutMap\";\nimport { IBarChartConfiguration } from \"./types\";\nimport { widgetCommon } from \"../../../Common/FormComponents/common/styleLibrary\";\nimport BarChartTooltip from \"./tooltips/BarChartTooltip\";\nimport { setErrorSnackMessage } from \"../../../../../actions\";\nimport { IDashboardPanel } from \"../types\";\nimport { widgetDetailsToPanel } from \"../utils\";\nimport { ErrorResponseHandler } from \"../../../../../common/types\";\nimport api from \"../../../../../common/api\";\nimport { openZoomPage } from \"../../actions\";\nimport { useTheme } from \"@mui/styles\";\nimport Loader from \"../../../Common/Loader/Loader\";\n\ninterface IBarChartWidget {\n classes: any;\n title: string;\n panelItem: IDashboardPanel;\n timeStart: any;\n timeEnd: any;\n propLoading: boolean;\n displayErrorMessage: any;\n apiPrefix: string;\n zoomActivated?: boolean;\n openZoomPage: typeof openZoomPage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...widgetCommon,\n loadingAlign: {\n width: \"100%\",\n paddingTop: \"15px\",\n textAlign: \"center\",\n margin: \"auto\",\n },\n });\n\nconst CustomizedAxisTick = ({ y, payload }: any) => {\n return (\n \n {payload.value}\n \n );\n};\n\nconst BarChartWidget = ({\n classes,\n title,\n panelItem,\n timeStart,\n timeEnd,\n propLoading,\n displayErrorMessage,\n apiPrefix,\n zoomActivated = false,\n openZoomPage,\n}: IBarChartWidget) => {\n const [loading, setLoading] = useState(true);\n const [data, setData] = useState([]);\n const [result, setResult] = useState(null);\n\n useEffect(() => {\n if (propLoading) {\n setLoading(true);\n }\n }, [propLoading]);\n\n useEffect(() => {\n if (loading) {\n let stepCalc = 0;\n if (timeStart !== null && timeEnd !== null) {\n const secondsInPeriod = timeEnd.unix() - timeStart.unix();\n const periods = Math.floor(secondsInPeriod / 60);\n\n stepCalc = periods < 1 ? 15 : periods;\n }\n\n api\n .invoke(\n \"GET\",\n `/api/v1/${apiPrefix}/info/widgets/${\n panelItem.id\n }/?step=${stepCalc}&${\n timeStart !== null ? `&start=${timeStart.unix()}` : \"\"\n }${timeStart !== null && timeEnd !== null ? \"&\" : \"\"}${\n timeEnd !== null ? `end=${timeEnd.unix()}` : \"\"\n }`\n )\n .then((res: any) => {\n const widgetsWithValue = widgetDetailsToPanel(res, panelItem);\n setData(widgetsWithValue.data);\n setResult(widgetsWithValue);\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n displayErrorMessage(err);\n setLoading(false);\n });\n }\n }, [loading, panelItem, timeEnd, timeStart, displayErrorMessage, apiPrefix]);\n\n const barChartConfiguration = result\n ? (result.widgetConfiguration as IBarChartConfiguration[])\n : [];\n\n let greatestIndex = 0;\n let currentValue = 0;\n\n if (barChartConfiguration.length === 1) {\n const dataGraph = barChartConfiguration[0];\n data.forEach((item: any, index: number) => {\n if (item[dataGraph.dataKey] > currentValue) {\n currentValue = item[dataGraph.dataKey];\n greatestIndex = index;\n }\n });\n }\n\n const theme = useTheme();\n const biggerThanMd = useMediaQuery(theme.breakpoints.up(\"md\"));\n\n return (\n
\n );\n};\n\nconst connector = connect(null, {\n displayErrorMessage: setErrorSnackMessage,\n openZoomPage: openZoomPage,\n});\n\nexport default withStyles(styles)(connector(BarChartWidget));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { getTimeFromTimestamp } from \"../../../../../../common/utils\";\nimport { tooltipCommon } from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tooltipCommon,\n });\n\nconst LineChartTooltip = ({\n active,\n payload,\n label,\n linearConfiguration,\n yAxisFormatter,\n classes,\n}: any) => {\n if (active) {\n return (\n
\n );\n }\n\n return null;\n};\n\nexport default withStyles(styles)(LineChartTooltip);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport {\n Area,\n AreaChart,\n CartesianGrid,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from \"recharts\";\nimport { useMediaQuery } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport ZoomOutMapIcon from \"@mui/icons-material/ZoomOutMap\";\nimport { ILinearGraphConfiguration } from \"./types\";\nimport { widgetCommon } from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { IDashboardPanel } from \"../types\";\nimport { setErrorSnackMessage } from \"../../../../../actions\";\nimport { widgetDetailsToPanel } from \"../utils\";\nimport { ErrorResponseHandler } from \"../../../../../common/types\";\nimport api from \"../../../../../common/api\";\nimport LineChartTooltip from \"./tooltips/LineChartTooltip\";\nimport { openZoomPage } from \"../../actions\";\nimport { useTheme } from \"@mui/styles\";\nimport Loader from \"../../../Common/Loader/Loader\";\n\ninterface ILinearGraphWidget {\n classes: any;\n title: string;\n panelItem: IDashboardPanel;\n timeStart: any;\n timeEnd: any;\n propLoading: boolean;\n displayErrorMessage: any;\n apiPrefix: string;\n hideYAxis?: boolean;\n yAxisFormatter?: (item: string) => string;\n xAxisFormatter?: (item: string) => string;\n areaWidget?: boolean;\n zoomActivated?: boolean;\n openZoomPage: typeof openZoomPage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...widgetCommon,\n containerElements: {\n display: \"flex\",\n flexDirection: \"row\",\n height: \"100%\",\n flexGrow: 1,\n },\n verticalAlignment: {\n flexDirection: \"column\",\n },\n chartCont: {\n position: \"relative\",\n height: 140,\n width: \"100%\",\n },\n legendChart: {\n display: \"flex\",\n flexDirection: \"column\",\n flex: \"0 1 auto\",\n maxHeight: 130,\n margin: 0,\n overflowY: \"auto\",\n position: \"relative\",\n textAlign: \"center\",\n width: \"100%\",\n justifyContent: \"flex-start\",\n color: \"#404143\",\n fontWeight: \"bold\",\n fontSize: 12,\n },\n loadingAlign: {\n margin: \"auto\",\n },\n });\n\nconst LinearGraphWidget = ({\n classes,\n title,\n displayErrorMessage,\n timeStart,\n timeEnd,\n propLoading,\n panelItem,\n apiPrefix,\n hideYAxis = false,\n areaWidget = false,\n yAxisFormatter = (item: string) => item,\n xAxisFormatter = (item: string) => item,\n zoomActivated = false,\n openZoomPage,\n}: ILinearGraphWidget) => {\n const [loading, setLoading] = useState(true);\n const [data, setData] = useState