\ No newline at end of file
diff --git a/portal-ui/build/static/js/1336.e7288df4.chunk.js.map b/portal-ui/build/static/js/1336.e7288df4.chunk.js.map
index dada16bee..b0b8b2921 100644
--- a/portal-ui/build/static/js/1336.e7288df4.chunk.js.map
+++ b/portal-ui/build/static/js/1336.e7288df4.chunk.js.map
@@ -1 +1 @@
-{"version":3,"file":"static/js/1336.e7288df4.chunk.js","mappings":"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","sources":["screens/Console/Common/AButton/AButton.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/UsageBarWrapper/LabelValuePair.tsx","screens/Console/Common/UsageBar/UsageBar.tsx","screens/Console/Tenants/ListTenants/TenantCapacity.tsx","screens/Console/Tenants/TenantDetails/UpdateTenantModal.tsx","screens/Console/Common/UsageBarWrapper/SummaryUsageBar.tsx","screens/Console/Tenants/TenantDetails/TenantSummary.tsx","screens/shared/ErrorBlock.tsx","../node_modules/@mui/material/Stack/Stack.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.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 { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n border: 0,\n backgroundColor: \"transparent\",\n textDecoration: \"underline\",\n cursor: \"pointer\",\n fontSize: \"inherit\",\n color: theme.palette.info.main,\n fontFamily: \"Lato, sans-serif\",\n },\n });\n\ninterface IAButton extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst AButton = ({ classes, children, ...rest }: IAButton) => {\n return (\n \n );\n};\n\nexport default withStyles(styles)(AButton);\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","import React from \"react\";\nimport { Stack } from \"@mui/material\";\n\ntype LabelValuePairProps = {\n label?: any;\n value?: any;\n orientation?: any;\n stkProps?: any;\n lblProps?: any;\n valProps?: any;\n};\n\nconst LabelValuePair = ({\n label = null,\n value = \"-\",\n orientation = \"column\",\n stkProps = {},\n lblProps = {},\n valProps = {},\n}: LabelValuePairProps) => {\n return (\n \n \n \n \n );\n};\n\nexport default LabelValuePair;\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\nexport interface ISizeBarItem {\n value: number;\n itemName: string;\n color: string;\n}\n\nexport interface IUsageBar {\n totalValue: number;\n sizeItems: ISizeBarItem[];\n bgColor?: string;\n}\n\nconst UsageBar = ({\n totalValue,\n sizeItems,\n bgColor = \"#ededed\",\n}: IUsageBar) => {\n return (\n
\n );\n};\n\nexport default UsageBar;\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\";\nimport { Cell, Pie, PieChart } from \"recharts\";\nimport { CapacityValue, CapacityValues } from \"./types\";\nimport { niceBytesInt } from \"../../../../common/utils\";\nimport { CircleIcon } from \"../../../../icons\";\nimport UsageBar, { ISizeBarItem } from \"../../Common/UsageBar/UsageBar\";\n\ninterface ITenantCapacity {\n totalCapacity: number;\n usedSpaceVariants: CapacityValues[];\n statusClass: string;\n render?: \"pie\" | \"bar\";\n}\n\nconst TenantCapacity = ({\n totalCapacity,\n usedSpaceVariants,\n statusClass,\n render = \"pie\",\n}: ITenantCapacity) => {\n const colors = [\n \"#8dacd3\",\n \"#bca1ea\",\n \"#92e8d2\",\n \"#efc9ac\",\n \"#97f274\",\n \"#f7d291\",\n \"#71ACCB\",\n \"#f28282\",\n \"#e28cc1\",\n \"#2781B0\",\n ];\n\n const BGColor = \"#ededed\";\n\n const totalUsedSpace = usedSpaceVariants.reduce((acc, currValue) => {\n return acc + currValue.value;\n }, 0);\n\n const emptySpace = totalCapacity - totalUsedSpace;\n\n let tiersList: CapacityValue[] = [];\n\n const standardTier = usedSpaceVariants.find(\n (tier) => tier.variant === \"STANDARD\"\n ) || {\n value: 0,\n variant: \"empty\",\n };\n\n if (usedSpaceVariants.length > 10) {\n const totalUsedByTiers = totalUsedSpace - standardTier.value;\n\n tiersList = [\n { value: totalUsedByTiers, color: \"#2781B0\", label: \"Total Tiers Space\" },\n ];\n } else {\n tiersList = usedSpaceVariants\n .filter((variant) => variant.variant !== \"STANDARD\")\n .map((variant, index) => {\n return {\n value: variant.value,\n color: colors[index],\n label: `Tier - ${variant.variant}`,\n };\n });\n }\n\n let standardTierColor = \"#07193E\";\n\n const usedPercentage = (standardTier.value * 100) / totalCapacity;\n\n if (usedPercentage >= 90) {\n standardTierColor = \"#C83B51\";\n } else if (usedPercentage >= 75) {\n standardTierColor = \"#FFAB0F\";\n }\n\n const plotValues: CapacityValue[] = [\n {\n value: standardTier.value,\n color: standardTierColor,\n label: \"Used Space by Tenant\",\n },\n ...tiersList,\n {\n value: emptySpace,\n color: render === \"bar\" ? BGColor : \"transparent\",\n label: \"Empty Space\",\n },\n ];\n\n if (render === \"bar\") {\n const plotValuesForUsageBar: ISizeBarItem[] = plotValues.map((plotVal) => {\n return {\n value: plotVal.value,\n color: plotVal.color,\n itemName: plotVal.label,\n };\n });\n\n return (\n
\n );\n};\n\nexport default TenantCapacity;\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, Fragment, useEffect, useCallback } 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 { Button, Grid } from \"@mui/material\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport api from \"../../../../common/api\";\n\ninterface IUpdateTenantModal {\n open: boolean;\n closeModalAndRefresh: (update: boolean) => any;\n namespace: string;\n idTenant: string;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n infoText: {\n fontSize: 14,\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\nconst UpdateTenantModal = ({\n open,\n closeModalAndRefresh,\n namespace,\n idTenant,\n setModalErrorSnackMessage,\n classes,\n}: IUpdateTenantModal) => {\n const [isSending, setIsSending] = useState(false);\n const [minioImage, setMinioImage] = useState(\"\");\n const [imageRegistry, setImageRegistry] = useState(false);\n const [imageRegistryEndpoint, setImageRegistryEndpoint] =\n useState(\"\");\n const [imageRegistryUsername, setImageRegistryUsername] =\n useState(\"\");\n const [imageRegistryPassword, setImageRegistryPassword] =\n useState(\"\");\n const [validMinioImage, setValidMinioImage] = useState(true);\n\n const validateImage = useCallback(\n (fieldToCheck: string) => {\n const pattern = new RegExp(\"^$|^((.*?)/(.*?):(.+))$\");\n\n switch (fieldToCheck) {\n case \"minioImage\":\n setValidMinioImage(pattern.test(minioImage));\n break;\n }\n },\n [minioImage]\n );\n\n useEffect(() => {\n validateImage(\"minioImage\");\n }, [minioImage, validateImage]);\n\n const closeAction = () => {\n closeModalAndRefresh(false);\n };\n\n const resetForm = () => {\n setMinioImage(\"\");\n setImageRegistry(false);\n setImageRegistryEndpoint(\"\");\n setImageRegistryUsername(\"\");\n setImageRegistryPassword(\"\");\n };\n\n const updateMinIOImage = () => {\n setIsSending(true);\n\n let payload = {\n image: minioImage,\n enable_prometheus: true,\n };\n\n if (imageRegistry) {\n const registry: any = {\n image_registry: {\n registry: imageRegistryEndpoint,\n username: imageRegistryUsername,\n password: imageRegistryPassword,\n },\n };\n payload = {\n ...payload,\n ...registry,\n };\n }\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/namespaces/${namespace}/tenants/${idTenant}`,\n payload\n )\n .then(() => {\n setIsSending(false);\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setIsSending(false);\n });\n };\n\n return (\n \n \n \n
\n Please enter the MinIO image from dockerhub to use. If blank, then\n latest build will be used.\n
\n )}\n {renderComponent()}\n \n );\n};\n\nexport default withStyles(styles)(SummaryUsageBar);\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 get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n containerForHeader,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { Box, Grid } from \"@mui/material\";\nimport { ITenant } from \"../ListTenants/types\";\nimport UpdateTenantModal from \"./UpdateTenantModal\";\nimport { AppState } from \"../../../../store\";\nimport AButton from \"../../Common/AButton/AButton\";\nimport SummaryUsageBar from \"../../Common/UsageBarWrapper/SummaryUsageBar\";\nimport LabelValuePair from \"../../Common/UsageBarWrapper/LabelValuePair\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport SectionTitle from \"../../Common/SectionTitle\";\n\ninterface ITenantsSummary {\n classes: any;\n match: any;\n tenant: ITenant | null;\n logEnabled: boolean;\n monitoringEnabled: boolean;\n encryptionEnabled: boolean;\n minioTLS: boolean;\n consoleTLS: boolean;\n consoleEnabled: boolean;\n adEnabled: boolean;\n oidcEnabled: boolean;\n loadingTenant: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n redState: {\n color: theme.palette.error.main,\n \"& .min-icon\": {\n width: 16,\n height: 16,\n marginRight: 4,\n },\n },\n yellowState: {\n color: theme.palette.warning.main,\n \"& .min-icon\": {\n width: 16,\n height: 16,\n marginRight: 4,\n },\n },\n greenState: {\n color: theme.palette.success.main,\n \"& .min-icon\": {\n width: 16,\n height: 16,\n marginRight: 4,\n },\n },\n greyState: {\n color: \"grey\",\n \"& .min-icon\": {\n width: 16,\n height: 16,\n marginRight: 4,\n },\n },\n centerAlign: {\n textAlign: \"center\",\n },\n detailSection: {\n \"& div\": {\n \"& b,i\": {\n minWidth: 80,\n display: \"block\",\n float: \"left\",\n },\n \"& i\": {\n fontStyle: \"normal\",\n wordWrap: \"break-word\",\n overflowWrap: \"break-word\",\n },\n \"& div\": {\n clear: \"both\",\n },\n clear: \"both\",\n marginBottom: 2,\n },\n },\n linkedSection: {\n color: theme.palette.info.main,\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst healthStatusToClass = (health_status: string = \"red\", classes: any) => {\n return health_status === \"red\"\n ? classes.redState\n : health_status === \"yellow\"\n ? classes.yellowState\n : health_status === \"green\"\n ? classes.greenState\n : classes.greyState;\n};\n\nconst StorageSummary = ({ tenant, classes }: Partial) => {\n if (!tenant) {\n return null;\n }\n\n return (\n \n );\n};\n\nconst getToggle = (toggleValue: boolean, idPrefix = \"\") => {\n return (\n {}}\n switchOnly\n />\n );\n};\n\nconst featureRowStyle = {\n display: \"flex\",\n justifyContent: \"space-between\",\n marginTop: \"10px\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n};\n\nconst featureItemStyleProps = {\n stkProps: {\n sx: {\n flex: 1,\n marginRight: 10,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n \"@media (max-width: 900px)\": {\n marginRight: \"25px\",\n },\n },\n },\n lblProps: {\n style: {\n minWidth: 100,\n },\n },\n};\nconst TenantSummary = ({\n classes,\n match,\n tenant,\n logEnabled,\n monitoringEnabled,\n encryptionEnabled,\n minioTLS,\n consoleTLS,\n consoleEnabled,\n adEnabled,\n oidcEnabled,\n loadingTenant,\n}: ITenantsSummary) => {\n const [poolCount, setPoolCount] = useState(0);\n const [instances, setInstances] = useState(0);\n const [volumes, setVolumes] = useState(0);\n const [updateMinioVersion, setUpdateMinioVersion] = useState(false);\n\n const tenantName = match.params[\"tenantName\"];\n const tenantNamespace = match.params[\"tenantNamespace\"];\n\n useEffect(() => {\n if (tenant) {\n setPoolCount(tenant.pools.length);\n setVolumes(tenant.total_volumes || 0);\n setInstances(tenant.total_instances || 0);\n }\n }, [tenant]);\n\n return (\n \n {updateMinioVersion && (\n {\n setUpdateMinioVersion(false);\n }}\n idTenant={tenantName}\n namespace={tenantNamespace}\n />\n )}\n\n Details\n\n \n\n \n \n \n \n \n \n {\n setUpdateMinioVersion(true);\n }}\n >\n {tenant ? tenant.image : \"\"}\n \n }\n />\n \n \n \n {tenant?.endpoints?.minio || \"-\"}\n \n }\n />\n \n \n \n {tenant?.endpoints?.console || \"-\"}\n \n }\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n Features\n \n \n\n \n \n \n \n \n\n \n \n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.tenantDetails.loadingTenant,\n selectedTenant: state.tenants.tenantDetails.currentTenant,\n tenant: state.tenants.tenantDetails.tenantInfo,\n logEnabled: get(state.tenants.tenantDetails.tenantInfo, \"logEnabled\", false),\n monitoringEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"monitoringEnabled\",\n false\n ),\n encryptionEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"encryptionEnabled\",\n false\n ),\n minioTLS: get(state.tenants.tenantDetails.tenantInfo, \"minioTLS\", false),\n consoleTLS: get(state.tenants.tenantDetails.tenantInfo, \"consoleTLS\", false),\n consoleEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"consoleEnabled\",\n false\n ),\n adEnabled: get(state.tenants.tenantDetails.tenantInfo, \"idpAdEnabled\", false),\n oidcEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"idpOidcEnabled\",\n false\n ),\n});\n\nconst connector = connect(mapState, null);\n\nexport default withStyles(styles)(connector(TenantSummary));\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","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"component\", \"direction\", \"spacing\", \"divider\", \"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { createUnarySpacing, getValue, handleBreakpoints, unstable_extendSxProp as extendSxProp, unstable_resolveBreakpointValues as resolveBreakpointValues } from '@mui/system';\nimport { deepmerge } from '@mui/utils';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\n/**\n * Return an array with the separator React element interspersed between\n * each React node of the input children.\n *\n * > joinChildren([1,2,3], 0)\n * [1,0,2,0,3]\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nfunction joinChildren(children, separator) {\n const childrenArray = React.Children.toArray(children).filter(Boolean);\n return childrenArray.reduce((output, child, index) => {\n output.push(child);\n\n if (index < childrenArray.length - 1) {\n output.push( /*#__PURE__*/React.cloneElement(separator, {\n key: `separator-${index}`\n }));\n }\n\n return output;\n }, []);\n}\n\nconst getSideFromDirection = direction => {\n return {\n row: 'Left',\n 'row-reverse': 'Right',\n column: 'Top',\n 'column-reverse': 'Bottom'\n }[direction];\n};\n\nexport const style = ({\n ownerState,\n theme\n}) => {\n let styles = _extends({\n display: 'flex'\n }, handleBreakpoints({\n theme\n }, resolveBreakpointValues({\n values: ownerState.direction,\n breakpoints: theme.breakpoints.values\n }), propValue => ({\n flexDirection: propValue\n })));\n\n if (ownerState.spacing) {\n const transformer = createUnarySpacing(theme);\n const base = Object.keys(theme.breakpoints.values).reduce((acc, breakpoint) => {\n if (ownerState.spacing[breakpoint] != null || ownerState.direction[breakpoint] != null) {\n acc[breakpoint] = true;\n }\n\n return acc;\n }, {});\n const directionValues = resolveBreakpointValues({\n values: ownerState.direction,\n base\n });\n const spacingValues = resolveBreakpointValues({\n values: ownerState.spacing,\n base\n });\n\n const styleFromPropValue = (propValue, breakpoint) => {\n return {\n '& > :not(style) + :not(style)': {\n margin: 0,\n [`margin${getSideFromDirection(breakpoint ? directionValues[breakpoint] : ownerState.direction)}`]: getValue(transformer, propValue)\n }\n };\n };\n\n styles = deepmerge(styles, handleBreakpoints({\n theme\n }, spacingValues, styleFromPropValue));\n }\n\n return styles;\n};\nconst StackRoot = styled('div', {\n name: 'MuiStack',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root];\n }\n})(style);\nconst Stack = /*#__PURE__*/React.forwardRef(function Stack(inProps, ref) {\n const themeProps = useThemeProps({\n props: inProps,\n name: 'MuiStack'\n });\n const props = extendSxProp(themeProps);\n\n const {\n component = 'div',\n direction = 'column',\n spacing = 0,\n divider,\n children\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = {\n direction,\n spacing\n };\n return /*#__PURE__*/_jsx(StackRoot, _extends({\n as: component,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: divider ? joinChildren(children, divider) : children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Stack.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.\n */\n children: PropTypes.node,\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 * Defines the `flex-direction` style property.\n * It is applied for all screen sizes.\n * @default 'column'\n */\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n\n /**\n * Add an element between each child.\n */\n divider: PropTypes.node,\n\n /**\n * Defines the space between immediate children.\n * @default 0\n */\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n\n /**\n * The system prop, which 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} : void 0;\nexport default Stack;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n"],"names":["withStyles","theme","createStyles","root","padding","margin","border","backgroundColor","textDecoration","cursor","fontSize","color","palette","info","main","fontFamily","classes","children","rest","className","connector","connect","state","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","width","maxWidth","snackBarCommon","onClose","modalOpen","title","wideLimit","noContentPadding","titleIcon","useState","openSnackbar","setOpenSnackbar","useEffect","message","type","customSize","paper","fullWidth","detailedErrorMsg","length","open","scroll","event","reason","titleText","closeContainer","id","closeButton","onClick","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","label","value","orientation","stkProps","lblProps","valProps","direction","xs","sm","style","marginRight","fontWeight","totalValue","sizeItems","bgColor","height","borderRadius","display","transitionDuration","overflow","map","sizeElement","itemPercentage","totalCapacity","usedSpaceVariants","statusClass","render","colors","BGColor","totalUsedSpace","reduce","acc","currValue","emptySpace","tiersList","standardTier","find","tier","variant","filter","index","standardTierColor","usedPercentage","plotValues","plotValuesForUsageBar","plotVal","itemName","marginBottom","position","right","top","zIndex","left","transform","isNaN","niceBytesInt","PieChart","Pie","data","cx","cy","dataKey","outerRadius","innerRadius","fill","isAnimationActive","stroke","entry","Cell","setModalErrorSnackMessage","buttonContainer","textAlign","infoText","formFieldStyles","modalStyleUtils","closeModalAndRefresh","namespace","idTenant","isSending","setIsSending","minioImage","setMinioImage","imageRegistry","setImageRegistry","imageRegistryEndpoint","setImageRegistryEndpoint","imageRegistryUsername","setImageRegistryUsername","imageRegistryPassword","setImageRegistryPassword","validMinioImage","setValidMinioImage","validateImage","useCallback","fieldToCheck","pattern","RegExp","test","ModalWrapper","Grid","container","item","modalFormScrollable","formFieldRow","InputBoxWrapper","name","placeholder","onChange","e","target","FormSwitchWrapper","checked","indicatorLabels","Fragment","modalButtonBar","Button","disabled","trim","payload","image","enable_prometheus","registry","image_registry","username","password","api","then","catch","error","colorPrimary","bar","padChart","LinearProgress","allValue","currentUsage","marginTop","centerItem","tenant","healthStatus","loading","console","log","raw","unit","capacity","used","localUse","tieredUse","status","usage","parts","niceBytes","split","capacity_usage","spaceVariants","tiers","itemTenant","internalUsage","sum","tieredUsage","partsInternal","Loader","ErrorBlock","errorMessage","withBreak","TenantCapacity","Stack","spacing","md","alignItems","LabelValuePair","renderComponent","healthStatusToClass","health_status","redState","yellowState","greenState","greyState","StorageSummary","getToggle","toggleValue","idPrefix","switchOnly","featureRowStyle","justifyContent","flexFlow","featureItemStyleProps","sx","flex","minWidth","loadingTenant","tenants","tenantDetails","selectedTenant","currentTenant","tenantInfo","logEnabled","get","monitoringEnabled","encryptionEnabled","minioTLS","consoleTLS","consoleEnabled","adEnabled","oidcEnabled","tenantDetailsStyles","warning","success","centerAlign","detailSection","float","fontStyle","wordWrap","overflowWrap","clear","linkedSection","containerForHeader","match","poolCount","setPoolCount","instances","setInstances","volumes","setVolumes","updateMinioVersion","setUpdateMinioVersion","tenantName","params","tenantNamespace","pools","total_volumes","total_instances","SectionTitle","separator","currentState","AButton","textOverflow","whiteSpace","wordBreak","href","endpoints","minio","rel","write_quorum","drives_online","drives_offline","Box","errorBlock","component","_excluded","joinChildren","childrenArray","React","Boolean","output","child","push","key","StackRoot","styled","slot","overridesResolver","props","styles","ownerState","_extends","handleBreakpoints","resolveBreakpointValues","values","breakpoints","propValue","flexDirection","transformer","createUnarySpacing","base","Object","keys","breakpoint","directionValues","spacingValues","deepmerge","row","column","getValue","inProps","ref","themeProps","useThemeProps","extendSxProp","divider","other","_objectWithoutPropertiesLoose","_jsx","as","componentWillMount","this","constructor","getDerivedStateFromProps","undefined","setState","componentWillReceiveProps","nextProps","prevState","bind","componentWillUpdate","nextState","prevProps","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","polyfill","Component","prototype","isReactComponent","Error","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","componentName","displayName","newApiName","componentDidUpdate","maybeSnapshot","snapshot","call","__suppressDeprecationWarning"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"static/js/1336.e7288df4.chunk.js","mappings":"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","sources":["screens/Console/Common/AButton/AButton.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/UsageBarWrapper/LabelValuePair.tsx","screens/Console/Common/UsageBar/UsageBar.tsx","screens/Console/Tenants/ListTenants/TenantCapacity.tsx","screens/Console/Tenants/TenantDetails/UpdateTenantModal.tsx","screens/Console/Common/UsageBarWrapper/SummaryUsageBar.tsx","screens/Console/Tenants/TenantDetails/TenantSummary.tsx","screens/shared/ErrorBlock.tsx","../node_modules/@mui/material/Stack/Stack.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.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 { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n border: 0,\n backgroundColor: \"transparent\",\n textDecoration: \"underline\",\n cursor: \"pointer\",\n fontSize: \"inherit\",\n color: theme.palette.info.main,\n fontFamily: \"Lato, sans-serif\",\n },\n });\n\ninterface IAButton extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst AButton = ({ classes, children, ...rest }: IAButton) => {\n return (\n \n );\n};\n\nexport default withStyles(styles)(AButton);\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","import React from \"react\";\nimport { Stack } from \"@mui/material\";\n\ntype LabelValuePairProps = {\n label?: any;\n value?: any;\n orientation?: any;\n stkProps?: any;\n lblProps?: any;\n valProps?: any;\n};\n\nconst LabelValuePair = ({\n label = null,\n value = \"-\",\n orientation = \"column\",\n stkProps = {},\n lblProps = {},\n valProps = {},\n}: LabelValuePairProps) => {\n return (\n \n \n \n \n );\n};\n\nexport default LabelValuePair;\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\nexport interface ISizeBarItem {\n value: number;\n itemName: string;\n color: string;\n}\n\nexport interface IUsageBar {\n totalValue: number;\n sizeItems: ISizeBarItem[];\n bgColor?: string;\n}\n\nconst UsageBar = ({\n totalValue,\n sizeItems,\n bgColor = \"#ededed\",\n}: IUsageBar) => {\n return (\n
\n );\n};\n\nexport default UsageBar;\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\";\nimport { Cell, Pie, PieChart } from \"recharts\";\nimport { CapacityValue, CapacityValues } from \"./types\";\nimport { niceBytesInt } from \"../../../../common/utils\";\nimport { CircleIcon } from \"../../../../icons\";\nimport UsageBar, { ISizeBarItem } from \"../../Common/UsageBar/UsageBar\";\n\ninterface ITenantCapacity {\n totalCapacity: number;\n usedSpaceVariants: CapacityValues[];\n statusClass: string;\n render?: \"pie\" | \"bar\";\n}\n\nconst TenantCapacity = ({\n totalCapacity,\n usedSpaceVariants,\n statusClass,\n render = \"pie\",\n}: ITenantCapacity) => {\n const colors = [\n \"#8dacd3\",\n \"#bca1ea\",\n \"#92e8d2\",\n \"#efc9ac\",\n \"#97f274\",\n \"#f7d291\",\n \"#71ACCB\",\n \"#f28282\",\n \"#e28cc1\",\n \"#2781B0\",\n ];\n\n const BGColor = \"#ededed\";\n\n const totalUsedSpace = usedSpaceVariants.reduce((acc, currValue) => {\n return acc + currValue.value;\n }, 0);\n\n const emptySpace = totalCapacity - totalUsedSpace;\n\n let tiersList: CapacityValue[] = [];\n\n const standardTier = usedSpaceVariants.find(\n (tier) => tier.variant === \"STANDARD\"\n ) || {\n value: 0,\n variant: \"empty\",\n };\n\n if (usedSpaceVariants.length > 10) {\n const totalUsedByTiers = totalUsedSpace - standardTier.value;\n\n tiersList = [\n { value: totalUsedByTiers, color: \"#2781B0\", label: \"Total Tiers Space\" },\n ];\n } else {\n tiersList = usedSpaceVariants\n .filter((variant) => variant.variant !== \"STANDARD\")\n .map((variant, index) => {\n return {\n value: variant.value,\n color: colors[index],\n label: `Tier - ${variant.variant}`,\n };\n });\n }\n\n let standardTierColor = \"#07193E\";\n\n const usedPercentage = (standardTier.value * 100) / totalCapacity;\n\n if (usedPercentage >= 90) {\n standardTierColor = \"#C83B51\";\n } else if (usedPercentage >= 75) {\n standardTierColor = \"#FFAB0F\";\n }\n\n const plotValues: CapacityValue[] = [\n {\n value: standardTier.value,\n color: standardTierColor,\n label: \"Used Space by Tenant\",\n },\n ...tiersList,\n {\n value: emptySpace,\n color: render === \"bar\" ? BGColor : \"transparent\",\n label: \"Empty Space\",\n },\n ];\n\n if (render === \"bar\") {\n const plotValuesForUsageBar: ISizeBarItem[] = plotValues.map((plotVal) => {\n return {\n value: plotVal.value,\n color: plotVal.color,\n itemName: plotVal.label,\n };\n });\n\n return (\n
\n );\n};\n\nexport default TenantCapacity;\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, Fragment, useEffect, useCallback } 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 { Button, Grid } from \"@mui/material\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport api from \"../../../../common/api\";\n\ninterface IUpdateTenantModal {\n open: boolean;\n closeModalAndRefresh: (update: boolean) => any;\n namespace: string;\n idTenant: string;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n infoText: {\n fontSize: 14,\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\nconst UpdateTenantModal = ({\n open,\n closeModalAndRefresh,\n namespace,\n idTenant,\n setModalErrorSnackMessage,\n classes,\n}: IUpdateTenantModal) => {\n const [isSending, setIsSending] = useState(false);\n const [minioImage, setMinioImage] = useState(\"\");\n const [imageRegistry, setImageRegistry] = useState(false);\n const [imageRegistryEndpoint, setImageRegistryEndpoint] =\n useState(\"\");\n const [imageRegistryUsername, setImageRegistryUsername] =\n useState(\"\");\n const [imageRegistryPassword, setImageRegistryPassword] =\n useState(\"\");\n const [validMinioImage, setValidMinioImage] = useState(true);\n\n const validateImage = useCallback(\n (fieldToCheck: string) => {\n const pattern = new RegExp(\"^$|^((.*?)/(.*?):(.+))$\");\n\n switch (fieldToCheck) {\n case \"minioImage\":\n setValidMinioImage(pattern.test(minioImage));\n break;\n }\n },\n [minioImage]\n );\n\n useEffect(() => {\n validateImage(\"minioImage\");\n }, [minioImage, validateImage]);\n\n const closeAction = () => {\n closeModalAndRefresh(false);\n };\n\n const resetForm = () => {\n setMinioImage(\"\");\n setImageRegistry(false);\n setImageRegistryEndpoint(\"\");\n setImageRegistryUsername(\"\");\n setImageRegistryPassword(\"\");\n };\n\n const updateMinIOImage = () => {\n setIsSending(true);\n\n let payload = {\n image: minioImage,\n enable_prometheus: true,\n };\n\n if (imageRegistry) {\n const registry: any = {\n image_registry: {\n registry: imageRegistryEndpoint,\n username: imageRegistryUsername,\n password: imageRegistryPassword,\n },\n };\n payload = {\n ...payload,\n ...registry,\n };\n }\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/namespaces/${namespace}/tenants/${idTenant}`,\n payload\n )\n .then(() => {\n setIsSending(false);\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setIsSending(false);\n });\n };\n\n return (\n \n \n \n
\n Please enter the MinIO image from dockerhub to use. If blank, then\n latest build will be used.\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 from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n border: 0,\n backgroundColor: \"transparent\",\n textDecoration: \"underline\",\n cursor: \"pointer\",\n fontSize: \"inherit\",\n color: theme.palette.info.main,\n fontFamily: \"Lato, sans-serif\",\n },\n });\n\ninterface IAButton extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst AButton = ({ classes, children, ...rest }: IAButton) => {\n return (\n \n );\n};\n\nexport default withStyles(styles)(AButton);\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","// 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\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\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, ReactElement } from \"react\";\nimport { FixedSizeList as List } from \"react-window\";\nimport InfiniteLoader from \"react-window-infinite-loader\";\nimport { AutoSizer } from \"react-virtualized\";\n\ninterface IVirtualizedList {\n rowRenderFunction: (index: number) => ReactElement | null;\n totalItems: number;\n defaultHeight?: number;\n}\n\nlet itemStatusMap: any = {};\nconst LOADING = 1;\nconst LOADED = 2;\n\nconst VirtualizedList = ({\n rowRenderFunction,\n totalItems,\n defaultHeight,\n}: IVirtualizedList) => {\n const isItemLoaded = (index: any) => !!itemStatusMap[index];\n\n const loadMoreItems = (startIndex: number, stopIndex: number) => {\n for (let index = startIndex; index <= stopIndex; index++) {\n itemStatusMap[index] = LOADING;\n }\n\n for (let index = startIndex; index <= stopIndex; index++) {\n itemStatusMap[index] = LOADED;\n }\n };\n\n const RenderItemLine = ({ index, style }: any) => {\n return
{rowRenderFunction(index)}
;\n };\n\n return (\n \n \n {({ onItemsRendered, ref }) => (\n \n {({ width, height }) => {\n return (\n \n {RenderItemLine}\n \n );\n }}\n \n )}\n \n \n );\n};\n\nexport default VirtualizedList;\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\";\n\ninterface IInformationItemProps {\n label: string;\n value: string;\n unit?: string;\n variant?: \"normal\" | \"faded\";\n}\n\nconst InformationItem = ({\n label,\n value,\n unit,\n variant = \"normal\",\n}: IInformationItemProps) => {\n return (\n
\n \n );\n};\n\nconst connector = connect(null, {\n setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(TenantListItem));\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 Grid from \"@mui/material/Grid\";\nimport { LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n ITenant,\n ITenantsResponse,\n} from \"./types\";\nimport { niceBytes } from \"../../../../common/utils\";\nimport { NewServiceAccount } from \"../../Common/CredentialsPrompt/types\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { AddIcon, TenantsIcon } from \"../../../../icons\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport history from \"../../../../history\";\nimport RefreshIcon from \"../../../../icons/RefreshIcon\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport TenantListItem from \"./TenantListItem\";\nimport HelpBox from \"../../../../common/HelpBox\";\nimport AButton from \"../../Common/AButton/AButton\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport VirtualizedList from \"../../Common/VirtualizedList/VirtualizedList\";\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport SearchBox from \"../../Common/SearchBox\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\n\nconst CredentialsPrompt = withSuspense(\n React.lazy(() => import(\"../../Common/CredentialsPrompt/CredentialsPrompt\"))\n);\n\ninterface ITenantsList {\n classes: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...actionsTray,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\n addTenant: {\n marginRight: 8,\n },\n theaderSearchLabel: {\n color: theme.palette.grey[\"400\"],\n fontSize: 14,\n fontWeight: \"bold\",\n },\n theaderSearch: {\n borderColor: theme.palette.grey[\"200\"],\n \"& .MuiInputBase-input\": {\n paddingTop: 10,\n paddingBottom: 10,\n },\n \"& .MuiInputBase-root\": {\n \"& .MuiInputAdornment-root\": {\n \"& .min-icon\": {\n color: theme.palette.grey[\"400\"],\n height: 14,\n },\n },\n },\n actionHeaderItems: {\n \"@media (min-width: 320px)\": {\n marginTop: 8,\n },\n },\n marginRight: 10,\n marginLeft: 10,\n },\n mainActions: {\n textAlign: \"right\",\n marginBottom: 8,\n },\n tenantsList: {\n height: \"calc(100vh - 195px)\",\n },\n });\n\nconst ListTenants = ({ classes, setErrorSnackMessage }: ITenantsList) => {\n const [isLoading, setIsLoading] = useState(false);\n const [filterTenants, setFilterTenants] = useState(\"\");\n const [records, setRecords] = useState([]);\n const [showNewCredentials, setShowNewCredentials] = useState(false);\n const [createdAccount, setCreatedAccount] =\n useState(null);\n\n const closeCredentialsModal = () => {\n setShowNewCredentials(false);\n setCreatedAccount(null);\n };\n\n const filteredRecords = records.filter((b: any) => {\n if (filterTenants === \"\") {\n return true;\n } else {\n if (b.name.indexOf(filterTenants) >= 0) {\n return true;\n } else {\n return false;\n }\n }\n });\n\n useEffect(() => {\n if (isLoading) {\n const fetchRecords = () => {\n api\n .invoke(\"GET\", `/api/v1/tenants`)\n .then((res: ITenantsResponse) => {\n if (res === null) {\n setIsLoading(false);\n return;\n }\n let resTenants: ITenant[] = [];\n if (res.tenants !== null) {\n resTenants = res.tenants;\n }\n\n for (let i = 0; i < resTenants.length; i++) {\n resTenants[i].total_capacity = niceBytes(\n resTenants[i].total_size + \"\"\n );\n }\n\n setRecords(resTenants);\n setIsLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setIsLoading(false);\n });\n };\n fetchRecords();\n }\n }, [isLoading, setErrorSnackMessage]);\n\n useEffect(() => {\n setIsLoading(true);\n }, []);\n\n const renderItemLine = (index: number) => {\n const tenant = filteredRecords[index] || null;\n\n if (tenant) {\n return ;\n }\n\n return null;\n };\n\n return (\n \n {showNewCredentials && (\n {\n closeCredentialsModal();\n }}\n entity=\"Tenant\"\n />\n )}\n {\n setFilterTenants(val);\n }}\n value={filterTenants}\n />\n }\n actions={\n \n {\n setIsLoading(true);\n }}\n icon={}\n color=\"primary\"\n variant={\"outlined\"}\n />\n {\n history.push(\"/tenants/add\");\n }}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n \n }\n />\n \n \n {isLoading && }\n {!isLoading && (\n \n {filteredRecords.length !== 0 && (\n \n )}\n {filteredRecords.length === 0 && (\n \n \n }\n title={\"Tenants\"}\n help={\n \n Tenant is the logical structure to represent a MinIO\n deployment. A tenant can have different size and\n configurations from other tenants, even a different\n storage class.\n \n \n To get started, \n {\n history.push(\"/tenants/add\");\n }}\n >\n Create a Tenant.\n \n \n }\n />\n \n \n )}\n \n )}\n \n \n \n );\n};\n\nconst connector = connect(null, {\n setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ListTenants));\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\nexport interface ISizeBarItem {\n value: number;\n itemName: string;\n color: string;\n}\n\nexport interface IUsageBar {\n totalValue: number;\n sizeItems: ISizeBarItem[];\n bgColor?: string;\n}\n\nconst UsageBar = ({\n totalValue,\n sizeItems,\n bgColor = \"#ededed\",\n}: IUsageBar) => {\n return (\n
\n );\n};\n\nexport default UsageBar;\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\";\nimport { Cell, Pie, PieChart } from \"recharts\";\nimport { CapacityValue, CapacityValues } from \"./types\";\nimport { niceBytesInt } from \"../../../../common/utils\";\nimport { CircleIcon } from \"../../../../icons\";\nimport UsageBar, { ISizeBarItem } from \"../../Common/UsageBar/UsageBar\";\n\ninterface ITenantCapacity {\n totalCapacity: number;\n usedSpaceVariants: CapacityValues[];\n statusClass: string;\n render?: \"pie\" | \"bar\";\n}\n\nconst TenantCapacity = ({\n totalCapacity,\n usedSpaceVariants,\n statusClass,\n render = \"pie\",\n}: ITenantCapacity) => {\n const colors = [\n \"#8dacd3\",\n \"#bca1ea\",\n \"#92e8d2\",\n \"#efc9ac\",\n \"#97f274\",\n \"#f7d291\",\n \"#71ACCB\",\n \"#f28282\",\n \"#e28cc1\",\n \"#2781B0\",\n ];\n\n const BGColor = \"#ededed\";\n\n const totalUsedSpace = usedSpaceVariants.reduce((acc, currValue) => {\n return acc + currValue.value;\n }, 0);\n\n const emptySpace = totalCapacity - totalUsedSpace;\n\n let tiersList: CapacityValue[] = [];\n\n const standardTier = usedSpaceVariants.find(\n (tier) => tier.variant === \"STANDARD\"\n ) || {\n value: 0,\n variant: \"empty\",\n };\n\n if (usedSpaceVariants.length > 10) {\n const totalUsedByTiers = totalUsedSpace - standardTier.value;\n\n tiersList = [\n { value: totalUsedByTiers, color: \"#2781B0\", label: \"Total Tiers Space\" },\n ];\n } else {\n tiersList = usedSpaceVariants\n .filter((variant) => variant.variant !== \"STANDARD\")\n .map((variant, index) => {\n return {\n value: variant.value,\n color: colors[index],\n label: `Tier - ${variant.variant}`,\n };\n });\n }\n\n let standardTierColor = \"#07193E\";\n\n const usedPercentage = (standardTier.value * 100) / totalCapacity;\n\n if (usedPercentage >= 90) {\n standardTierColor = \"#C83B51\";\n } else if (usedPercentage >= 75) {\n standardTierColor = \"#FFAB0F\";\n }\n\n const plotValues: CapacityValue[] = [\n {\n value: standardTier.value,\n color: standardTierColor,\n label: \"Used Space by Tenant\",\n },\n ...tiersList,\n {\n value: emptySpace,\n color: render === \"bar\" ? BGColor : \"transparent\",\n label: \"Empty Space\",\n },\n ];\n\n if (render === \"bar\") {\n const plotValuesForUsageBar: ISizeBarItem[] = plotValues.map((plotVal) => {\n return {\n value: plotVal.value,\n color: plotVal.color,\n itemName: plotVal.label,\n };\n });\n\n return (\n
\n );\n};\n\nexport default TenantCapacity;\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","padding","margin","textDecoration","cursor","color","palette","info","main","fontFamily","children","rest","WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","searchField","adornment","placeholder","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","id","label","InputProps","e","target","variant","itemStatusMap","rowRenderFunction","totalItems","defaultHeight","RenderItemLine","index","style","Fragment","isItemLoaded","loadMoreItems","startIndex","stopIndex","itemCount","onItemsRendered","ref","itemSize","unit","textAlign","whiteSpace","connector","connect","setErrorSnackMessage","redState","error","float","yellowState","warning","greenState","success","greyState","tenantIcon","healthStatusIcon","top","right","tenantItem","titleContainer","justifyContent","titleSubKey","titleSubValue","boxyTitle","boxyValue","boxyUnit","manageButton","textTransform","namespaceLabel","status","tenant","raw","capacity","used","localUse","tieredUse","capacity_raw","parts","niceBytes","split","capacity_usage","niceBytesInt","spaceVariants","tiers","length","map","itemTenant","size","name","internalUsage","filter","type","reduce","sum","tieredUsage","partsInternal","onClick","history","namespace","Grid","sx","marginTop","TenantCapacity","totalCapacity","usedSpaceVariants","statusClass","health_status","healthStatusToClass","pool_count","toString","currentState","justifyItems","CredentialsPrompt","withSuspense","React","actionsTray","containerForHeader","spacing","addTenant","theaderSearchLabel","grey","theaderSearch","borderColor","actionHeaderItems","marginLeft","mainActions","tenantsList","useState","isLoading","setIsLoading","filterTenants","setFilterTenants","records","setRecords","showNewCredentials","setShowNewCredentials","createdAccount","setCreatedAccount","filteredRecords","b","indexOf","useEffect","api","then","res","resTenants","tenants","i","total_capacity","total_size","catch","err","newServiceAccount","open","closeModal","entity","PageHeader","middleComponent","SearchBox","val","actions","RBIconButton","tooltip","text","icon","RefreshIcon","PageLayout","LinearProgress","VirtualizedList","alignContent","HelpBox","AButton","totalValue","sizeItems","bgColor","transitionDuration","overflow","sizeElement","itemPercentage","render","colors","BGColor","totalUsedSpace","acc","currValue","emptySpace","tiersList","standardTier","find","tier","standardTierColor","usedPercentage","plotValues","plotValuesForUsageBar","plotVal","itemName","zIndex","left","transform","isNaN","PieChart","Pie","data","cx","cy","dataKey","outerRadius","innerRadius","fill","isAnimationActive","stroke","entry","Cell"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"static/js/3061.c1704890.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/AButton/AButton.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Common/VirtualizedList/VirtualizedList.tsx","screens/Console/Tenants/ListTenants/InformationItem.tsx","screens/Console/Tenants/ListTenants/TenantListItem.tsx","screens/Console/Tenants/ListTenants/ListTenants.tsx","screens/Console/Common/UsageBar/UsageBar.tsx","screens/Console/Tenants/ListTenants/TenantCapacity.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 { 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 from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n border: 0,\n backgroundColor: \"transparent\",\n textDecoration: \"underline\",\n cursor: \"pointer\",\n fontSize: \"inherit\",\n color: theme.palette.info.main,\n fontFamily: \"Lato, sans-serif\",\n },\n });\n\ninterface IAButton extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst AButton = ({ classes, children, ...rest }: IAButton) => {\n return (\n \n );\n};\n\nexport default withStyles(styles)(AButton);\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","// 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\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\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, ReactElement } from \"react\";\nimport { FixedSizeList as List } from \"react-window\";\nimport InfiniteLoader from \"react-window-infinite-loader\";\nimport { AutoSizer } from \"react-virtualized\";\n\ninterface IVirtualizedList {\n rowRenderFunction: (index: number) => ReactElement | null;\n totalItems: number;\n defaultHeight?: number;\n}\n\nlet itemStatusMap: any = {};\nconst LOADING = 1;\nconst LOADED = 2;\n\nconst VirtualizedList = ({\n rowRenderFunction,\n totalItems,\n defaultHeight,\n}: IVirtualizedList) => {\n const isItemLoaded = (index: any) => !!itemStatusMap[index];\n\n const loadMoreItems = (startIndex: number, stopIndex: number) => {\n for (let index = startIndex; index <= stopIndex; index++) {\n itemStatusMap[index] = LOADING;\n }\n\n for (let index = startIndex; index <= stopIndex; index++) {\n itemStatusMap[index] = LOADED;\n }\n };\n\n const RenderItemLine = ({ index, style }: any) => {\n return
{rowRenderFunction(index)}
;\n };\n\n return (\n \n \n {({ onItemsRendered, ref }) => (\n \n {({ width, height }) => {\n return (\n \n {RenderItemLine}\n \n );\n }}\n \n )}\n \n \n );\n};\n\nexport default VirtualizedList;\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\";\n\ninterface IInformationItemProps {\n label: string;\n value: string;\n unit?: string;\n variant?: \"normal\" | \"faded\";\n}\n\nconst InformationItem = ({\n label,\n value,\n unit,\n variant = \"normal\",\n}: IInformationItemProps) => {\n return (\n
\n \n );\n};\n\nconst connector = connect(null, {\n setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(TenantListItem));\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 Grid from \"@mui/material/Grid\";\nimport { LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { ITenant, ITenantsResponse } from \"./types\";\nimport { niceBytes } from \"../../../../common/utils\";\nimport { NewServiceAccount } from \"../../Common/CredentialsPrompt/types\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { AddIcon, TenantsIcon } from \"../../../../icons\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport history from \"../../../../history\";\nimport RefreshIcon from \"../../../../icons/RefreshIcon\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport TenantListItem from \"./TenantListItem\";\nimport HelpBox from \"../../../../common/HelpBox\";\nimport AButton from \"../../Common/AButton/AButton\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport VirtualizedList from \"../../Common/VirtualizedList/VirtualizedList\";\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport SearchBox from \"../../Common/SearchBox\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\n\nconst CredentialsPrompt = withSuspense(\n React.lazy(() => import(\"../../Common/CredentialsPrompt/CredentialsPrompt\"))\n);\n\ninterface ITenantsList {\n classes: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...actionsTray,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\n addTenant: {\n marginRight: 8,\n },\n theaderSearchLabel: {\n color: theme.palette.grey[\"400\"],\n fontSize: 14,\n fontWeight: \"bold\",\n },\n theaderSearch: {\n borderColor: theme.palette.grey[\"200\"],\n \"& .MuiInputBase-input\": {\n paddingTop: 10,\n paddingBottom: 10,\n },\n \"& .MuiInputBase-root\": {\n \"& .MuiInputAdornment-root\": {\n \"& .min-icon\": {\n color: theme.palette.grey[\"400\"],\n height: 14,\n },\n },\n },\n actionHeaderItems: {\n \"@media (min-width: 320px)\": {\n marginTop: 8,\n },\n },\n marginRight: 10,\n marginLeft: 10,\n },\n mainActions: {\n textAlign: \"right\",\n marginBottom: 8,\n },\n tenantsList: {\n height: \"calc(100vh - 195px)\",\n },\n });\n\nconst ListTenants = ({ classes, setErrorSnackMessage }: ITenantsList) => {\n const [isLoading, setIsLoading] = useState(false);\n const [filterTenants, setFilterTenants] = useState(\"\");\n const [records, setRecords] = useState([]);\n const [showNewCredentials, setShowNewCredentials] = useState(false);\n const [createdAccount, setCreatedAccount] =\n useState(null);\n\n const closeCredentialsModal = () => {\n setShowNewCredentials(false);\n setCreatedAccount(null);\n };\n\n const filteredRecords = records.filter((b: any) => {\n if (filterTenants === \"\") {\n return true;\n } else {\n if (b.name.indexOf(filterTenants) >= 0) {\n return true;\n } else {\n return false;\n }\n }\n });\n\n useEffect(() => {\n if (isLoading) {\n const fetchRecords = () => {\n api\n .invoke(\"GET\", `/api/v1/tenants`)\n .then((res: ITenantsResponse) => {\n if (res === null) {\n setIsLoading(false);\n return;\n }\n let resTenants: ITenant[] = [];\n if (res.tenants !== null) {\n resTenants = res.tenants;\n }\n\n for (let i = 0; i < resTenants.length; i++) {\n resTenants[i].total_capacity = niceBytes(\n resTenants[i].total_size + \"\"\n );\n }\n\n setRecords(resTenants);\n setIsLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setIsLoading(false);\n });\n };\n fetchRecords();\n }\n }, [isLoading, setErrorSnackMessage]);\n\n useEffect(() => {\n setIsLoading(true);\n }, []);\n\n const renderItemLine = (index: number) => {\n const tenant = filteredRecords[index] || null;\n\n if (tenant) {\n return ;\n }\n\n return null;\n };\n\n return (\n \n {showNewCredentials && (\n {\n closeCredentialsModal();\n }}\n entity=\"Tenant\"\n />\n )}\n {\n setFilterTenants(val);\n }}\n value={filterTenants}\n />\n }\n actions={\n \n {\n setIsLoading(true);\n }}\n icon={}\n color=\"primary\"\n variant={\"outlined\"}\n />\n {\n history.push(\"/tenants/add\");\n }}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n \n }\n />\n \n \n {isLoading && }\n {!isLoading && (\n \n {filteredRecords.length !== 0 && (\n \n )}\n {filteredRecords.length === 0 && (\n \n \n }\n title={\"Tenants\"}\n help={\n \n Tenant is the logical structure to represent a MinIO\n deployment. A tenant can have different size and\n configurations from other tenants, even a different\n storage class.\n \n \n To get started, \n {\n history.push(\"/tenants/add\");\n }}\n >\n Create a Tenant.\n \n \n }\n />\n \n \n )}\n \n )}\n \n \n \n );\n};\n\nconst connector = connect(null, {\n setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ListTenants));\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\nexport interface ISizeBarItem {\n value: number;\n itemName: string;\n color: string;\n}\n\nexport interface IUsageBar {\n totalValue: number;\n sizeItems: ISizeBarItem[];\n bgColor?: string;\n}\n\nconst UsageBar = ({\n totalValue,\n sizeItems,\n bgColor = \"#ededed\",\n}: IUsageBar) => {\n return (\n
\n );\n};\n\nexport default UsageBar;\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\";\nimport { Cell, Pie, PieChart } from \"recharts\";\nimport { CapacityValue, CapacityValues } from \"./types\";\nimport { niceBytesInt } from \"../../../../common/utils\";\nimport { CircleIcon } from \"../../../../icons\";\nimport UsageBar, { ISizeBarItem } from \"../../Common/UsageBar/UsageBar\";\n\ninterface ITenantCapacity {\n totalCapacity: number;\n usedSpaceVariants: CapacityValues[];\n statusClass: string;\n render?: \"pie\" | \"bar\";\n}\n\nconst TenantCapacity = ({\n totalCapacity,\n usedSpaceVariants,\n statusClass,\n render = \"pie\",\n}: ITenantCapacity) => {\n const colors = [\n \"#8dacd3\",\n \"#bca1ea\",\n \"#92e8d2\",\n \"#efc9ac\",\n \"#97f274\",\n \"#f7d291\",\n \"#71ACCB\",\n \"#f28282\",\n \"#e28cc1\",\n \"#2781B0\",\n ];\n\n const BGColor = \"#ededed\";\n\n const totalUsedSpace = usedSpaceVariants.reduce((acc, currValue) => {\n return acc + currValue.value;\n }, 0);\n\n const emptySpace = totalCapacity - totalUsedSpace;\n\n let tiersList: CapacityValue[] = [];\n\n const standardTier = usedSpaceVariants.find(\n (tier) => tier.variant === \"STANDARD\"\n ) || {\n value: 0,\n variant: \"empty\",\n };\n\n if (usedSpaceVariants.length > 10) {\n const totalUsedByTiers = totalUsedSpace - standardTier.value;\n\n tiersList = [\n { value: totalUsedByTiers, color: \"#2781B0\", label: \"Total Tiers Space\" },\n ];\n } else {\n tiersList = usedSpaceVariants\n .filter((variant) => variant.variant !== \"STANDARD\")\n .map((variant, index) => {\n return {\n value: variant.value,\n color: colors[index],\n label: `Tier - ${variant.variant}`,\n };\n });\n }\n\n let standardTierColor = \"#07193E\";\n\n const usedPercentage = (standardTier.value * 100) / totalCapacity;\n\n if (usedPercentage >= 90) {\n standardTierColor = \"#C83B51\";\n } else if (usedPercentage >= 75) {\n standardTierColor = \"#FFAB0F\";\n }\n\n const plotValues: CapacityValue[] = [\n {\n value: standardTier.value,\n color: standardTierColor,\n label: \"Used Space by Tenant\",\n },\n ...tiersList,\n {\n value: emptySpace,\n color: render === \"bar\" ? BGColor : \"transparent\",\n label: \"Empty Space\",\n },\n ];\n\n if (render === \"bar\") {\n const plotValuesForUsageBar: ISizeBarItem[] = plotValues.map((plotVal) => {\n return {\n value: plotVal.value,\n color: plotVal.color,\n itemName: plotVal.label,\n };\n });\n\n return (\n
\n );\n};\n\nexport default TenantCapacity;\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","padding","margin","textDecoration","cursor","color","palette","info","main","fontFamily","children","rest","WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","searchField","adornment","placeholder","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","id","label","InputProps","e","target","variant","itemStatusMap","rowRenderFunction","totalItems","defaultHeight","RenderItemLine","index","style","Fragment","isItemLoaded","loadMoreItems","startIndex","stopIndex","itemCount","onItemsRendered","ref","itemSize","unit","textAlign","whiteSpace","connector","connect","setErrorSnackMessage","redState","error","float","yellowState","warning","greenState","success","greyState","tenantIcon","healthStatusIcon","top","right","tenantItem","titleContainer","justifyContent","titleSubKey","titleSubValue","boxyTitle","boxyValue","boxyUnit","manageButton","textTransform","namespaceLabel","status","tenant","raw","capacity","used","localUse","tieredUse","capacity_raw","parts","niceBytes","split","capacity_usage","niceBytesInt","spaceVariants","tiers","length","map","itemTenant","size","name","internalUsage","filter","type","reduce","sum","tieredUsage","partsInternal","onClick","history","namespace","Grid","sx","marginTop","TenantCapacity","totalCapacity","usedSpaceVariants","statusClass","health_status","healthStatusToClass","pool_count","toString","currentState","justifyItems","CredentialsPrompt","withSuspense","React","actionsTray","containerForHeader","spacing","addTenant","theaderSearchLabel","grey","theaderSearch","borderColor","actionHeaderItems","marginLeft","mainActions","tenantsList","useState","isLoading","setIsLoading","filterTenants","setFilterTenants","records","setRecords","showNewCredentials","setShowNewCredentials","createdAccount","setCreatedAccount","filteredRecords","b","indexOf","useEffect","api","then","res","resTenants","tenants","i","total_capacity","total_size","catch","err","newServiceAccount","open","closeModal","entity","PageHeader","middleComponent","SearchBox","val","actions","RBIconButton","tooltip","text","icon","RefreshIcon","PageLayout","LinearProgress","VirtualizedList","alignContent","HelpBox","AButton","totalValue","sizeItems","bgColor","transitionDuration","overflow","sizeElement","itemPercentage","render","colors","BGColor","totalUsedSpace","acc","currValue","emptySpace","tiersList","standardTier","find","tier","standardTierColor","usedPercentage","plotValues","plotValuesForUsageBar","plotVal","itemName","zIndex","left","transform","isNaN","PieChart","Pie","data","cx","cy","dataKey","outerRadius","innerRadius","fill","isAnimationActive","stroke","entry","Cell"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/3208.05b9e577.chunk.js b/portal-ui/build/static/js/3208.05b9e577.chunk.js
deleted file mode 100644
index 1d1256918..000000000
--- a/portal-ui/build/static/js/3208.05b9e577.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3208],{23804:function(e,t,n){n(72791);var i=n(11135),r=n(25787),o=n(61889),a=n(80184);t.Z=(0,r.Z)((function(e){return(0,i.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,n=e.iconComponent,i=e.title,r=e.help;return(0,a.jsx)("div",{className:t.root,children:(0,a.jsxs)(o.ZP,{container:!0,children:[(0,a.jsxs)(o.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,i]}),(0,a.jsx)(o.ZP,{item:!0,xs:12,className:t.helpText,children:r})]})})}))},9505:function(e,t,n){var i=n(29439),r=n(72791),o=n(81207);t.Z=function(e,t){var n=(0,r.useState)(!1),a=(0,i.Z)(n,2),s=a[0],l=a[1];return[s,function(n,i,r){l(!0),o.Z.invoke(n,i,r).then((function(t){l(!1),e(t)})).catch((function(e){l(!1),t(e)}))}]}},56028:function(e,t,n){var i=n(29439),r=n(1413),o=n(72791),a=n(60364),s=n(13400),l=n(55646),d=n(5574),c=n(65661),p=n(39157),u=n(11135),x=n(25787),m=n(23814),f=n(42649),h=n(29823),g=n(28057),Z=n(80184),v=(0,a.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:f.MK});t.Z=(0,x.Z)((function(e){return(0,u.Z)((0,r.Z)((0,r.Z)({},m.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},m.sN))}))(v((function(e){var t=e.onClose,n=e.modalOpen,a=e.title,u=e.children,x=e.classes,m=e.wideLimit,f=void 0===m||m,v=e.modalSnackMessage,j=e.noContentPadding,b=e.setModalSnackMessage,y=e.titleIcon,S=void 0===y?null:y,C=(0,o.useState)(!1),k=(0,i.Z)(C,2),I=k[0],E=k[1];(0,o.useEffect)((function(){b("")}),[b]),(0,o.useEffect)((function(){if(v){if(""===v.message)return void E(!1);"error"!==v.type&&E(!0)}}),[v]);var B=f?{classes:{paper:x.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},w="";return v&&(w=v.detailedErrorMsg,(""===v.detailedErrorMsg||v.detailedErrorMsg.length<5)&&(w=v.message)),(0,Z.jsxs)(d.Z,(0,r.Z)((0,r.Z)({open:n,classes:x},B),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:x.root,children:[(0,Z.jsxs)(c.Z,{className:x.title,children:[(0,Z.jsxs)("div",{className:x.titleText,children:[S," ",a]}),(0,Z.jsx)("div",{className:x.closeContainer,children:(0,Z.jsx)(s.Z,{"aria-label":"close",id:"close",className:x.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,Z.jsx)(h.Z,{})})})]}),(0,Z.jsx)(g.Z,{isModal:!0}),(0,Z.jsx)(l.Z,{open:I,className:x.snackBarModal,onClose:function(){E(!1),b("")},message:w,ContentProps:{className:"".concat(x.snackBar," ").concat(v&&"error"===v.type?x.errorSnackBar:"")},autoHideDuration:v&&"error"===v.type?1e4:5e3}),(0,Z.jsx)(p.Z,{className:j?"":x.content,children:u})]}))})))},53208:function(e,t,n){n.r(t),n.d(t,{default:function(){return L}});var i=n(1413),r=n(29439),o=n(72791),a=n(32291),s=n(74794),l=n(64554),d=n(51691),c=n(9505),p=n(90493),u=n(76278),x=n(20068),m=n(36151),f=n(40603),h=n(54599),g=n(93656),Z=n(2148),v=n(21435),j=n(61889),b=n(60364),y=n(42649),S=n(56028),C=n(25787),k=n(11135),I=n(23814),E=n(80184),B=(0,b.$j)(null,{setErrorSnackMessage:y.Ih,setSnackBarMessage:y.y1})((0,C.Z)((function(e){return(0,k.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},I.ID),I.DF),I.bK))}))((function(e){var t=e.sites,n=e.onDeleteSite,i=e.setErrorSnackMessage,a=e.setSnackBarMessage,s=e.onRefresh,b=e.classes,y=(0,o.useState)(""),C=(0,r.Z)(y,2),k=C[0],I=C[1],B=(0,o.useState)(null),w=(0,r.Z)(B,2),R=w[0],D=w[1],M=(0,o.useState)(""),P=(0,r.Z)(M,2),T=P[0],F=P[1],N=(0,c.Z)((function(e){e.success?(D(null),a(e.status)):i({errorMessage:"Error",detailedError:e.status}),s()}),(function(e){i(e),s()})),L=(0,r.Z)(N,2),O=L[0],A=L[1],K=!1;try{new URL(T),K=!0}catch(z){K=!1}return(0,E.jsx)(l.Z,{children:(0,E.jsxs)(p.Z,{sx:{width:"100%",flex:1,padding:"0",marginTop:"25px",height:"calc( 100vh - 450px )",border:"1px solid #eaeaea",marginBottom:"25px"},component:"nav","aria-labelledby":"nested-list-subheader",children:[(0,E.jsx)(l.Z,{sx:{fontWeight:600,borderBottom:"1px solid #f1f1f1",padding:"25px 25px 25px 20px"},children:"List of Replicated Sites"}),t.map((function(e,i){var r="".concat(e.name);return(0,E.jsxs)(o.Fragment,{children:[(0,E.jsxs)(u.Z,{disableRipple:!0,sx:{display:"flex",alignItems:"center",border:"1px solid #f1f1f1",borderLeft:"0",borderRight:"0",borderTop:"0",padding:"6px 10px 6px 20px","&:hover":{background:"#bebbbb0d"},"&.expanded":{marginBottom:"0"}},children:[(0,E.jsxs)(l.Z,{sx:{flex:2,display:"grid",gridTemplateColumns:{sm:"1fr 1fr "}},children:[(0,E.jsx)(l.Z,{sx:{display:"flex",alignItems:"center",overflow:"hidden"},children:e.name}),(0,E.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center",overflow:"hidden"},children:[e.isCurrent?(0,E.jsx)(x.Z,{title:"This site/cluster",placement:"top",children:(0,E.jsx)(l.Z,{sx:{"& .min-icon":{height:"12px",fill:"green"}},children:(0,E.jsx)(g.J$,{})})}):null,(0,E.jsx)(x.Z,{title:e.endpoint,children:(0,E.jsx)(l.Z,{sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginLeft:e.isCurrent?"":"24px"},children:e.endpoint})})]})]}),(0,E.jsxs)(l.Z,{sx:{display:"flex",marginLeft:"25px",marginRight:"25px",width:"60px",flexShrink:0,"& button":{borderRadius:"50%",background:"#F8F8F8",border:"none","&:hover":{background:"#E2E2E2"},"& svg":{fill:"#696565"}}},children:[(0,E.jsx)(f.Z,{tooltip:t.length<=2?"Minimum two sites are required for replication":"Delete Site",text:"",variant:"outlined",color:"secondary",disabled:t.length<=2,icon:(0,E.jsx)(h.Z,{}),onClick:function(e){e.preventDefault(),I(r)}}),(0,E.jsx)(f.Z,{tooltip:"Edit Endpoint",text:"",variant:"contained",color:"primary",icon:(0,E.jsx)(g.dY,{}),onClick:function(t){t.preventDefault(),D(e)}})]})]}),k===r?(0,E.jsx)(Z.Z,{title:"Delete Replication Site",confirmText:"Delete",isOpen:!0,titleIcon:(0,E.jsx)(g.Nv,{}),isLoading:!1,onConfirm:function(){n(!1,[r])},onClose:function(){I("")},confirmationContent:(0,E.jsxs)(d.Z,{children:["Are you sure you want to remove the replication site:"," ",r,".?"]})}):null,(null===R||void 0===R?void 0:R.name)===r?(0,E.jsxs)(S.Z,{title:"Edit Replication Endpoint ",modalOpen:!0,titleIcon:(0,E.jsx)(g.dY,{}),onClose:function(){D(null)},children:[(0,E.jsxs)(d.Z,{children:[(0,E.jsxs)(l.Z,{sx:{display:"flex",flexFlow:"column",marginBottom:"15px"},children:[(0,E.jsxs)(l.Z,{sx:{marginBottom:"10px"},children:[(0,E.jsx)("strong",{children:"Site:"})," "," ",R.name]}),(0,E.jsxs)(l.Z,{sx:{marginBottom:"10px"},children:[(0,E.jsx)("strong",{children:"Current Endpoint:"})," "," ",R.endpoint]})]}),(0,E.jsxs)(j.ZP,{item:!0,xs:12,children:[(0,E.jsx)(l.Z,{sx:{marginBottom:"5px"},children:" New Endpoint:"}),(0,E.jsx)(v.Z,{id:"edit-rep-peer-endpoint",name:"edit-rep-peer-endpoint",placeholder:"https://dr.minio-storage:9000",onChange:function(e){F(e.target.value)},label:"",value:T})]})]}),(0,E.jsxs)(j.ZP,{item:!0,xs:12,className:b.modalButtonBar,children:[(0,E.jsx)(m.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){D(null)},children:"Close"}),(0,E.jsx)(m.Z,{type:"button",variant:"contained",color:"primary",disabled:O||!K,onClick:function(){A("PUT","api/v1/admin/site-replication",{endpoint:T,name:R.name,deploymentId:R.deploymentID})},children:"Update"})]})]}):null]},r)}))]})})}))),w=n(72401),R=n(93433),D=n(40986),M=function(e){var t=!1;try{new URL(e),t=!0}catch(n){t=!1}return t||""===e?"":"Invalid Endpoint"},P=(0,b.$j)(null,{setErrorSnackMessage:y.Ih,setSnackBarMessage:y.y1})((function(e){var t=e.existingSites,n=void 0===t?[]:t,a=e.onClose,s=e.setErrorSnackMessage,d=e.setSnackBarMessage,p=null!==n&&void 0!==n&&n.length?[{endpoint:"",name:""}]:[{endpoint:"",name:""},{endpoint:"",name:""}],u=(0,o.useState)(""),x=(0,r.Z)(u,2),h=x[0],Z=x[1],b=(0,o.useState)(""),y=(0,r.Z)(b,2),C=y[0],k=y[1],I=(0,o.useState)(p),B=(0,r.Z)(I,2),w=B[0],P=B[1],T=w.reduce((function(e,t,n){var i=w[n].endpoint,r=M(i);return""===r&&""!==i&&e.push(r),e}),[]).length===w.length,F=(0,c.Z)((function(e){e.success?(d(e.status),a()):s({errorMessage:"Error",detailedError:e.status})}),(function(e){s(e)})),N=(0,r.Z)(F,2),L=N[0],O=N[1];return(0,E.jsxs)(S.Z,{modalOpen:!0,onClose:a,title:"Add Sites for Replication",titleIcon:(0,E.jsx)(g.D7,{}),"data-test-id":"add-site-replication-modal",children:[L?(0,E.jsx)(D.Z,{}):null,(0,E.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){return e.preventDefault(),function(){var e=null===n||void 0===n?void 0:n.map((function(e,t){return{accessKey:h,secretKey:C,name:e.name,endpoint:e.endpoint}})),t=w.reduce((function(e,t,n){return t.endpoint&&e.push({accessKey:h,secretKey:C,name:t.name||"dr-site-".concat(n),endpoint:t.endpoint}),e}),[]);O("POST","api/v1/admin/site-replication",[].concat((0,R.Z)(e||[]),(0,R.Z)(t||[])))}()},children:[(0,E.jsx)(j.ZP,{item:!0,xs:12,marginBottom:"15px",children:(0,E.jsxs)(l.Z,{sx:{fontStyle:"italic",display:"flex",alignItems:"center",fontSize:"12px"},children:[(0,E.jsx)(l.Z,{sx:{fontWeight:600},children:"Note:"})," ",(0,E.jsx)(l.Z,{sx:{marginLeft:"8px"},children:"Access Key and Secret Key should be same on all sites."})]})}),(0,E.jsx)(j.ZP,{item:!0,xs:12,marginBottom:"15px",sx:{"& label span":{fontWeight:"normal"}},children:(0,E.jsx)(v.Z,{id:"add-rep-peer-accKey",name:"add-rep-peer-accKey",onChange:function(e){Z(e.target.value)},label:"Access Key",required:!0,value:h,error:""===h?"Access Key is required.":"","data-test-id":"add-site-rep-acc-key"})}),(0,E.jsx)(j.ZP,{item:!0,xs:12,marginBottom:"30px",sx:{"& label span":{fontWeight:"normal"}},children:(0,E.jsx)(v.Z,{id:"add-rep-peer-secKey",name:"add-rep-peer-secKey",type:"password",required:!0,onChange:function(e){k(e.target.value)},error:""===C?"Secret Key is required.":"",label:"Secret Key",value:C,"data-test-id":"add-site-rep-sec-key"})}),(0,E.jsx)(j.ZP,{item:!0,xs:12,children:(0,E.jsx)(l.Z,{sx:{marginBottom:"15px",fontSize:"14px",fontWeight:600},children:"Peer Sites"})}),(0,E.jsxs)(l.Z,{sx:{display:"grid",gridTemplateColumns:".8fr 1.2fr .2fr",border:"1px solid #eaeaea",padding:"15px",gap:"10px",maxHeight:"430px",overflowY:"auto"},children:[(0,E.jsx)(l.Z,{sx:{fontSize:"14px",marginLeft:"5px"},children:"Site Name"}),(0,E.jsxs)(l.Z,{sx:{fontSize:"14px",marginLeft:"5px"},children:["Endpoint ","*"]}),(0,E.jsx)(l.Z,{children:" "}),null===n||void 0===n?void 0:n.map((function(e,t){return(0,E.jsxs)(o.Fragment,{children:[(0,E.jsx)(l.Z,{children:(0,E.jsx)(v.Z,{id:"add-rep-ex-peer-site-".concat(t),name:"add-rep-ex-peer-site-".concat(t),extraInputProps:{readOnly:!0},label:"",value:e.name,onChange:function(){}})}),(0,E.jsx)(l.Z,{children:(0,E.jsx)(v.Z,{id:"add-rep-ex-peer-site-ep-".concat(t),name:"add-rep-ex-peer-site-ep-".concat(t),extraInputProps:{readOnly:!0},label:"",value:e.endpoint,onChange:function(){}})}),(0,E.jsx)(j.ZP,{item:!0,xs:12,children:" "})]},e.name)})),w.map((function(e,t){var r=!1;return(null!==n&&void 0!==n&&n.length&&0===t||(null===n||void 0===n||!n.length)&&t<2)&&(r=!0),(0,E.jsxs)(o.Fragment,{children:[(0,E.jsx)(l.Z,{children:(0,E.jsx)(v.Z,{id:"add-rep-peer-site-".concat(t),name:"add-rep-peer-site-".concat(t),placeholder:"dr-site-".concat(t),label:"",value:"".concat(e.name),onChange:function(e){var n=e.target.value;P((function(e){return e.map((function(e,r){return r===t?(0,i.Z)((0,i.Z)({},e),{},{name:n}):e}))}))},"data-test-id":"add-site-rep-peer-site-".concat(t)})}),(0,E.jsx)(l.Z,{children:(0,E.jsx)(v.Z,{id:"add-rep-peer-site-ep-".concat(t),name:"add-rep-peer-site-ep-".concat(t),placeholder:"https://dr.minio-storage:900".concat(t),label:"",error:M(w[t].endpoint),value:"".concat(e.endpoint),onChange:function(e){var n=e.target.value;P((function(e){return e.map((function(e,r){return r===t?(0,i.Z)((0,i.Z)({},e),{},{endpoint:n}):e}))}))},"data-test-id":"add-site-rep-peer-ep-".concat(t)})}),(0,E.jsx)(j.ZP,{item:!0,xs:12,alignItems:"center",display:"flex",children:(0,E.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"center",alignSelf:"baseline",marginTop:"4px","& button":{borderColor:"#696969",color:"#696969",borderRadius:"50%"}},children:[(0,E.jsx)(f.Z,{tooltip:"Add a Row",text:"",variant:"outlined",color:"primary",icon:(0,E.jsx)(g.dt,{}),onClick:function(e){e.preventDefault();var n=(0,R.Z)(w);n.splice(t+1,0,{name:"",endpoint:""}),P(n)}}),(0,E.jsx)(f.Z,{tooltip:"Remove Row",text:"",variant:"outlined",disabled:r,color:"primary",icon:(0,E.jsx)(g.HF,{}),onClick:function(e){e.preventDefault(),P(w.filter((function(e,n){return n!==t})))}})]})})]},"".concat(t))}))]}),(0,E.jsx)(j.ZP,{item:!0,xs:12,children:(0,E.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end",marginTop:"20px",gap:"15px"},children:[(0,E.jsx)(m.Z,{type:"button",variant:"outlined",color:"primary",disabled:L,onClick:function(){Z(""),k(""),P(p)},children:"Clear"}),(0,E.jsx)(m.Z,{type:"submit",variant:"contained",color:"primary",disabled:L||!h||!C||!T,children:"Save"})]})})]})]})})),T=n(23804),F=n(62666),N=n(56087),L=(0,b.$j)(null,{setErrorSnackMessage:y.Ih,setSnackBarMessage:y.y1})((function(e){var t=e.setSnackBarMessage,n=(0,o.useState)([]),p=(0,r.Z)(n,2),u=p[0],x=p[1],m=(0,o.useState)(!1),v=(0,r.Z)(m,2),j=v[0],b=v[1],S=(0,o.useState)(!1),C=(0,r.Z)(S,2),k=C[0],I=C[1],R=(0,c.Z)((function(e){var t=e.sites,n=e.name,r=t.findIndex((function(e){return e.name===n}));if(-1!==r){var o=t[r];o=(0,i.Z)((0,i.Z)({},o),{},{isCurrent:!0}),t.splice(r,1,o)}t.sort((function(e,t){return e.name===n?-1:t.name===n?1:0})),x(t)}),(function(e){x([])})),D=(0,r.Z)(R,2),M=D[0],L=D[1],O=function(){L("GET","api/v1/admin/site-replication")},A=(0,c.Z)((function(e){I(!1),t("Successfully deleted."),O()}),(function(e){(0,y.Ih)(e)})),K=(0,r.Z)(A,2),z=K[0],q=K[1],G=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];q("DELETE","api/v1/admin/site-replication",{all:e,sites:t})};(0,o.useEffect)((function(){O()}),[]);var W=null===u||void 0===u?void 0:u.length;return(0,E.jsxs)(o.Fragment,{children:[(0,E.jsx)(a.Z,{label:"Site Replication"}),(0,E.jsxs)(s.Z,{children:[(0,E.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:[W?(0,E.jsxs)(l.Z,{children:[(0,E.jsx)(f.Z,{tooltip:"Delete All",text:"Delete All",variant:"outlined",color:"secondary",disabled:z,icon:(0,E.jsx)(h.Z,{}),onClick:function(){I(!0)}}),(0,E.jsx)(f.Z,{tooltip:"Replication Status",text:"Replication Status",variant:"outlined",color:"primary",icon:(0,E.jsx)(g.D7,{}),onClick:function(e){e.preventDefault(),F.Z.push(N.gA.SITE_REPLICATION_STATUS)}})]}):null,(0,E.jsx)(f.Z,{tooltip:"Add Replication Sites",text:"Add Sites",variant:"contained",color:"primary",disabled:z,icon:(0,E.jsx)(g.dt,{}),onClick:function(){b(!0)}})]}),W?(0,E.jsx)(B,{sites:u,onDeleteSite:G,onRefresh:O}):null,M?(0,E.jsx)(l.Z,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"calc( 100vh - 450px )"},children:(0,E.jsx)(w.Z,{style:{width:16,height:16}})}):null,W||M?null:(0,E.jsx)(l.Z,{sx:{padding:"30px",border:"1px solid #eaeaea",marginTop:"15px",marginBottom:"15px",height:"calc( 100vh - 450px )"},children:"Site Replication is not configured."}),j?(0,E.jsx)(P,{existingSites:u,onClose:function(){b(!1),O()}}):null,(0,E.jsx)(T.Z,{title:"Site Replication",iconComponent:(0,E.jsx)(g.D7,{}),help:(0,E.jsxs)(o.Fragment,{children:["This feature allows multiple independent MinIO sites (or clusters) that are using the same external IDentity Provider (IDP) to be configured as replicas. In this situation the set of replica sites are referred to as peer sites or just sites.",(0,E.jsx)("br",{}),(0,E.jsx)("br",{}),"You can learn more at our"," ",(0,E.jsx)("a",{href:"https://github.com/minio/minio/tree/master/docs/site-replication?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})}),k?(0,E.jsx)(Z.Z,{title:"Delete All",confirmText:"Delete",isOpen:!0,titleIcon:(0,E.jsx)(g.Nv,{}),isLoading:!1,onConfirm:function(){var e=u.map((function(e){return e.name}));G(!0,e)},onClose:function(){I(!1)},confirmationContent:(0,E.jsx)(d.Z,{children:"Are you sure you want to remove all the replication sites?."})}):null]})]})}))},76278:function(e,t,n){var i=n(4942),r=n(63366),o=n(87462),a=n(72791),s=n(28182),l=n(90767),d=n(12065),c=n(47630),p=n(93736),u=n(95080),x=n(40162),m=n(42071),f=n(66199),h=n(34065),g=n(80184),Z=["alignItems","autoFocus","component","children","dense","disableGutters","divider","focusVisibleClassName","selected"],v=(0,c.ZP)(u.Z,{shouldForwardProp:function(e){return(0,c.FO)(e)||"classes"===e},name:"MuiListItemButton",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,"flex-start"===n.alignItems&&t.alignItemsFlexStart,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,r=e.ownerState;return(0,o.Z)((t={display:"flex",flexGrow:1,justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",boxSizing:"border-box",textAlign:"left",paddingTop:8,paddingBottom:8,transition:n.transitions.create("background-color",{duration:n.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,i.Z)(t,"&.".concat(h.Z.selected),(0,i.Z)({backgroundColor:(0,d.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(h.Z.focusVisible),{backgroundColor:(0,d.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,i.Z)(t,"&.".concat(h.Z.selected,":hover"),{backgroundColor:(0,d.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,d.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),(0,i.Z)(t,"&.".concat(h.Z.focusVisible),{backgroundColor:n.palette.action.focus}),(0,i.Z)(t,"&.".concat(h.Z.disabled),{opacity:n.palette.action.disabledOpacity}),t),r.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},"flex-start"===r.alignItems&&{alignItems:"flex-start"},!r.disableGutters&&{paddingLeft:16,paddingRight:16},r.dense&&{paddingTop:4,paddingBottom:4})})),j=a.forwardRef((function(e,t){var n=(0,p.Z)({props:e,name:"MuiListItemButton"}),i=n.alignItems,d=void 0===i?"center":i,c=n.autoFocus,u=void 0!==c&&c,j=n.component,b=void 0===j?"div":j,y=n.children,S=n.dense,C=void 0!==S&&S,k=n.disableGutters,I=void 0!==k&&k,E=n.divider,B=void 0!==E&&E,w=n.focusVisibleClassName,R=n.selected,D=void 0!==R&&R,M=(0,r.Z)(n,Z),P=a.useContext(f.Z),T={dense:C||P.dense||!1,alignItems:d,disableGutters:I},F=a.useRef(null);(0,x.Z)((function(){u&&F.current&&F.current.focus()}),[u]);var N=(0,o.Z)({},n,{alignItems:d,dense:T.dense,disableGutters:I,divider:B,selected:D}),L=function(e){var t=e.alignItems,n=e.classes,i=e.dense,r=e.disabled,a={root:["root",i&&"dense",!e.disableGutters&&"gutters",e.divider&&"divider",r&&"disabled","flex-start"===t&&"alignItemsFlexStart",e.selected&&"selected"]},s=(0,l.Z)(a,h.t,n);return(0,o.Z)({},n,s)}(N),O=(0,m.Z)(F,t);return(0,g.jsx)(f.Z.Provider,{value:T,children:(0,g.jsx)(v,(0,o.Z)({ref:O,component:b,focusVisibleClassName:(0,s.Z)(L.focusVisible,w),ownerState:N},M,{classes:L,children:y}))})}));t.Z=j}}]);
-//# sourceMappingURL=3208.05b9e577.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/3208.05b9e577.chunk.js.map b/portal-ui/build/static/js/3208.05b9e577.chunk.js.map
deleted file mode 100644
index 8a2fc14c3..000000000
--- a/portal-ui/build/static/js/3208.05b9e577.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/3208.05b9e577.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Configurations/SiteReplication/ReplicationSites.tsx","screens/Console/Configurations/SiteReplication/AddReplicationSitesModal.tsx","screens/Console/Configurations/SiteReplication/SiteReplication.tsx","../node_modules/@mui/material/ListItemButton/ListItemButton.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","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","// 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) 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, { useState } from \"react\";\nimport List from \"@mui/material/List\";\nimport ListItemButton from \"@mui/material/ListItemButton\";\nimport { Box, Button, DialogContentText, Tooltip } from \"@mui/material\";\nimport { ReplicationSite } from \"./SiteReplication\";\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport TrashIcon from \"../../../../icons/TrashIcon\";\nimport { CircleIcon, ConfirmDeleteIcon, EditIcon } from \"../../../../icons\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport { connect } from \"react-redux\";\nimport { setErrorSnackMessage, setSnackBarMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalStyleUtils,\n ...formFieldStyles,\n ...spacingUtils,\n });\n\nconst ReplicationSites = ({\n sites,\n onDeleteSite,\n setErrorSnackMessage,\n setSnackBarMessage,\n onRefresh,\n classes,\n}: {\n sites: ReplicationSite[];\n onDeleteSite: (isAll: boolean, sites: string[]) => void;\n setErrorSnackMessage: (err: ErrorResponseHandler) => void;\n setSnackBarMessage: (msg: string) => void;\n onRefresh: () => void;\n classes: any;\n}) => {\n const [deleteSiteKey, setIsDeleteSiteKey] = useState(\"\");\n const [editSite, setEditSite] = useState(null);\n const [editEndPointName, setEditEndPointName] = useState(\"\");\n\n const [isEditing, invokeSiteEditApi] = useApi(\n (res: any) => {\n if (res.success) {\n setEditSite(null);\n setSnackBarMessage(res.status);\n } else {\n setErrorSnackMessage({\n errorMessage: \"Error\",\n detailedError: res.status,\n });\n }\n onRefresh();\n },\n (err: any) => {\n setErrorSnackMessage(err);\n onRefresh();\n }\n );\n const updatePeerSite = () => {\n invokeSiteEditApi(\"PUT\", `api/v1/admin/site-replication`, {\n endpoint: editEndPointName,\n name: editSite.name,\n deploymentId: editSite.deploymentID, // readonly\n });\n };\n\n let isValidEndPointUrl = false;\n\n try {\n new URL(editEndPointName);\n isValidEndPointUrl = true;\n } catch (err) {\n isValidEndPointUrl = false;\n }\n\n return (\n \n \n \n List of Replicated Sites\n \n {sites.map((siteInfo, index) => {\n const key = `${siteInfo.name}`;\n\n return (\n \n \n \n \n {siteInfo.name}\n \n \n {siteInfo.isCurrent ? (\n \n \n \n \n \n ) : null}\n \n \n {siteInfo.endpoint}\n \n \n \n \n\n \n }\n onClick={(e) => {\n e.preventDefault();\n setIsDeleteSiteKey(key);\n }}\n />\n }\n onClick={(e) => {\n e.preventDefault();\n setEditSite(siteInfo);\n }}\n />\n \n \n\n {deleteSiteKey === key ? (\n }\n isLoading={false}\n onConfirm={() => {\n onDeleteSite(false, [key]);\n }}\n onClose={() => {\n setIsDeleteSiteKey(\"\");\n }}\n confirmationContent={\n \n Are you sure you want to remove the replication site:{\" \"}\n {key}.?\n \n }\n />\n ) : null}\n\n {editSite?.name === key ? (\n }\n onClose={() => {\n setEditSite(null);\n }}\n >\n \n \n \n Site: {\" \"}\n {editSite.name}\n \n \n Current Endpoint: {\" \"}\n {editSite.endpoint}\n \n \n\n \n New Endpoint:\n \n ) => {\n setEditEndPointName(event.target.value);\n }}\n label=\"\"\n value={editEndPointName}\n />\n \n \n\n \n \n \n \n \n ) : null}\n \n );\n })}\n \n \n );\n};\n\nconst connector = connect(null, {\n setErrorSnackMessage,\n setSnackBarMessage,\n});\nexport default connector(withStyles(styles)(ReplicationSites));\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, useState } from \"react\";\nimport { AddIcon, RecoverIcon, RemoveIcon } from \"../../../../icons\";\nimport { ReplicationSite } from \"./SiteReplication\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, Button, LinearProgress } from \"@mui/material\";\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport { connect } from \"react-redux\";\nimport { setErrorSnackMessage, setSnackBarMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype SiteInputRow = {\n name: string;\n endpoint: string;\n};\n\nconst isValidEndPoint = (ep: string) => {\n let isValidEndPointUrl = false;\n\n try {\n new URL(ep);\n isValidEndPointUrl = true;\n } catch (err) {\n isValidEndPointUrl = false;\n }\n if (isValidEndPointUrl || ep === \"\") {\n return \"\";\n } else {\n return \"Invalid Endpoint\";\n }\n};\nconst AddReplicationSitesModal = ({\n existingSites = [],\n onClose,\n setErrorSnackMessage,\n setSnackBarMessage,\n}: {\n existingSites: ReplicationSite[];\n onClose: () => void;\n setErrorSnackMessage: (err: ErrorResponseHandler) => void;\n setSnackBarMessage: (msg: string) => void;\n}) => {\n const defaultNewSites = existingSites?.length\n ? [{ endpoint: \"\", name: \"\" }]\n : [\n { endpoint: \"\", name: \"\" },\n { endpoint: \"\", name: \"\" },\n ];\n\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n const [siteConfig, setSiteConfig] = useState(defaultNewSites);\n\n const isAllEndpointsValid =\n siteConfig.reduce((acc: string[], cv, i) => {\n const epValue = siteConfig[i].endpoint;\n const isEpValid = isValidEndPoint(epValue);\n\n if (isEpValid === \"\" && epValue !== \"\") {\n acc.push(isEpValid);\n }\n return acc;\n }, []).length === siteConfig.length;\n\n const [isAdding, invokeSiteAddApi] = useApi(\n (res: any) => {\n if (res.success) {\n setSnackBarMessage(res.status);\n onClose();\n } else {\n setErrorSnackMessage({\n errorMessage: \"Error\",\n detailedError: res.status,\n });\n }\n },\n (err: any) => {\n setErrorSnackMessage(err);\n }\n );\n\n const resetForm = () => {\n setAccessKey(\"\");\n setSecretKey(\"\");\n setSiteConfig(defaultNewSites);\n };\n\n const addSiteReplication = () => {\n const existingSitesToAdd = existingSites?.map((es, idx) => {\n return {\n accessKey: accessKey,\n secretKey: secretKey,\n name: es.name,\n endpoint: es.endpoint,\n };\n });\n\n const newSitesToAdd = siteConfig.reduce((acc: any, ns, idx) => {\n if (ns.endpoint) {\n acc.push({\n accessKey: accessKey,\n secretKey: secretKey,\n name: ns.name || `dr-site-${idx}`,\n endpoint: ns.endpoint,\n });\n }\n return acc;\n }, []);\n\n invokeSiteAddApi(\"POST\", `api/v1/admin/site-replication`, [\n ...(existingSitesToAdd || []),\n ...(newSitesToAdd || []),\n ]);\n };\n\n return (\n }\n data-test-id={\"add-site-replication-modal\"}\n >\n {isAdding ? : null}\n \n \n );\n};\n\nconst connector = connect(null, {\n setErrorSnackMessage,\n setSnackBarMessage,\n});\nexport default connector(AddReplicationSitesModal);\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, useEffect, useState } from \"react\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport { Box, DialogContentText } from \"@mui/material\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ReplicationSites from \"./ReplicationSites\";\nimport TrashIcon from \"../../../../icons/TrashIcon\";\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport Loader from \"../../Common/Loader/Loader\";\nimport { AddIcon, ConfirmDeleteIcon, RecoverIcon } from \"../../../../icons\";\nimport AddReplicationSitesModal from \"./AddReplicationSitesModal\";\nimport { connect } from \"react-redux\";\nimport { setErrorSnackMessage, setSnackBarMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport HelpBox from \"../../../../common/HelpBox\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport history from \"../../../../history\";\nimport { IAM_PAGES } from \"../../../../common/SecureComponent/permissions\";\n\nexport type ReplicationSite = {\n deploymentID: string;\n endpoint: string;\n name: string;\n isCurrent?: boolean;\n};\n\nconst SiteReplication = ({\n setSnackBarMessage,\n}: {\n setSnackBarMessage: (msg: string) => void;\n}) => {\n const [sites, setSites] = useState([]);\n\n const [isAddOpen, setIsAddOpen] = useState(false);\n\n const [deleteAll, setIsDeleteAll] = useState(false);\n const [isSiteInfoLoading, invokeSiteInfoApi] = useApi(\n (res: any) => {\n const { sites: siteList, name: curSiteName } = res;\n // current site name to be the fist one.\n const foundIdx = siteList.findIndex((el: any) => el.name === curSiteName);\n if (foundIdx !== -1) {\n let curSite = siteList[foundIdx];\n curSite = {\n ...curSite,\n isCurrent: true,\n };\n siteList.splice(foundIdx, 1, curSite);\n }\n\n siteList.sort((x: any, y: any) => {\n return x.name === curSiteName ? -1 : y.name === curSiteName ? 1 : 0;\n });\n setSites(siteList);\n },\n (err: any) => {\n setSites([]);\n }\n );\n\n const getSites = () => {\n invokeSiteInfoApi(\"GET\", `api/v1/admin/site-replication`);\n };\n\n const [isRemoving, invokeSiteRemoveApi] = useApi(\n (res: any) => {\n setIsDeleteAll(false);\n setSnackBarMessage(`Successfully deleted.`);\n getSites();\n },\n (err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n }\n );\n\n const removeSites = (isAll: boolean = false, delSites: string[] = []) => {\n invokeSiteRemoveApi(\"DELETE\", `api/v1/admin/site-replication`, {\n all: isAll,\n sites: delSites,\n });\n };\n\n useEffect(() => {\n getSites();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const hasSites = sites?.length;\n\n return (\n \n \n \n \n {hasSites ? (\n \n }\n onClick={() => {\n setIsDeleteAll(true);\n }}\n />\n }\n onClick={(e) => {\n e.preventDefault();\n history.push(IAM_PAGES.SITE_REPLICATION_STATUS);\n }}\n />\n \n ) : null}\n }\n onClick={() => {\n setIsAddOpen(true);\n }}\n />\n \n {hasSites ? (\n \n ) : null}\n {isSiteInfoLoading ? (\n \n \n \n ) : null}\n {!hasSites && !isSiteInfoLoading ? (\n \n Site Replication is not configured.\n \n ) : null}\n\n {isAddOpen ? (\n {\n setIsAddOpen(false);\n getSites();\n }}\n />\n ) : null}\n\n }\n help={\n \n This feature allows multiple independent MinIO sites (or clusters)\n that are using the same external IDentity Provider (IDP) to be\n configured as replicas. In this situation the set of replica sites\n are referred to as peer sites or just sites.\n \n \n You can learn more at our{\" \"}\n \n documentation\n \n .\n \n }\n />\n\n {deleteAll ? (\n }\n isLoading={false}\n onConfirm={() => {\n const siteNames = sites.map((s: any) => s.name);\n removeSites(true, siteNames);\n }}\n onClose={() => {\n setIsDeleteAll(false);\n }}\n confirmationContent={\n \n Are you sure you want to remove all the replication sites?.\n \n }\n />\n ) : null}\n \n \n );\n};\n\nconst connector = connect(null, {\n setErrorSnackMessage,\n setSnackBarMessage,\n});\n\nexport default connector(SiteReplication);\n","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"alignItems\", \"autoFocus\", \"component\", \"children\", \"dense\", \"disableGutters\", \"divider\", \"focusVisibleClassName\", \"selected\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport ListContext from '../List/ListContext';\nimport listItemButtonClasses, { getListItemButtonUtilityClass } from './listItemButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n alignItems,\n classes,\n dense,\n disabled,\n disableGutters,\n divider,\n selected\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', !disableGutters && 'gutters', divider && 'divider', disabled && 'disabled', alignItems === 'flex-start' && 'alignItemsFlexStart', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getListItemButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst ListItemButtonRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiListItemButton',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n flexGrow: 1,\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n boxSizing: 'border-box',\n textAlign: 'left',\n paddingTop: 8,\n paddingBottom: 8,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${listItemButtonClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${listItemButtonClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${listItemButtonClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${listItemButtonClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${listItemButtonClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n }\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, ownerState.alignItems === 'flex-start' && {\n alignItems: 'flex-start'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.dense && {\n paddingTop: 4,\n paddingBottom: 4\n}));\nconst ListItemButton = /*#__PURE__*/React.forwardRef(function ListItemButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiListItemButton'\n });\n\n const {\n alignItems = 'center',\n autoFocus = false,\n component = 'div',\n children,\n dense = false,\n disableGutters = false,\n divider = false,\n focusVisibleClassName,\n selected = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n alignItems,\n disableGutters\n };\n const listItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (listItemRef.current) {\n listItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a ListItemButton whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n alignItems,\n dense: childContext.dense,\n disableGutters,\n divider,\n selected\n });\n\n const classes = useUtilityClasses(ownerState);\n const handleRef = useForkRef(listItemRef, ref);\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(ListItemButtonRoot, _extends({\n ref: handleRef,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n ownerState: ownerState\n }, other, {\n classes: classes,\n children: children\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemButton.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 * Defines the `align-items` style property.\n * @default 'center'\n */\n alignItems: PropTypes.oneOf(['center', 'flex-start']),\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component if a `ListItemSecondaryAction` is used it must\n * be the last child.\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 * 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 * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent List component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the list item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * Use to apply selected styling.\n * @default false\n */\n selected: PropTypes.bool,\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} : void 0;\nexport default ListItemButton;"],"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","onSuccess","onError","useState","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","connector","connect","state","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","deleteDialogStyles","content","padding","customDialogSize","maxWidth","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","useEffect","message","type","customSize","paper","fullWidth","detailedErrorMsg","length","open","scroll","event","reason","titleText","closeContainer","id","closeButton","onClick","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","setErrorSnackMessage","setSnackBarMessage","modalStyleUtils","formFieldStyles","spacingUtils","sites","onDeleteSite","onRefresh","deleteSiteKey","setIsDeleteSiteKey","editSite","setEditSite","editEndPointName","setEditEndPointName","useApi","success","status","errorMessage","detailedError","isEditing","invokeSiteEditApi","isValidEndPointUrl","URL","Box","List","sx","flex","marginTop","component","borderBottom","map","siteInfo","index","key","name","ListItemButton","borderLeft","borderRight","borderTop","background","gridTemplateColumns","sm","overflow","isCurrent","Tooltip","placement","fill","endpoint","textOverflow","whiteSpace","marginLeft","flexShrink","RBIconButton","tooltip","text","variant","color","disabled","icon","TrashIcon","e","preventDefault","ConfirmDialog","confirmText","isOpen","onConfirm","confirmationContent","DialogContentText","ModalWrapper","flexFlow","Grid","InputBoxWrapper","placeholder","onChange","target","value","label","modalButtonBar","Button","deploymentId","deploymentID","isValidEndPoint","ep","existingSites","defaultNewSites","accessKey","setAccessKey","secretKey","setSecretKey","siteConfig","setSiteConfig","isAllEndpointsValid","reduce","acc","cv","i","epValue","isEpValid","push","isAdding","invokeSiteAddApi","LinearProgress","noValidate","autoComplete","onSubmit","existingSitesToAdd","es","idx","newSitesToAdd","ns","addSiteReplication","fontStyle","required","error","gap","maxHeight","overflowY","si","Fragment","extraInputProps","readOnly","sci","isDelDisabled","nameTxt","prevItems","ix","epTxt","justifyContent","alignSelf","borderColor","newRows","splice","filter","_","setSites","isAddOpen","setIsAddOpen","deleteAll","setIsDeleteAll","siteList","curSiteName","foundIdx","findIndex","el","curSite","sort","x","y","isSiteInfoLoading","invokeSiteInfoApi","getSites","isRemoving","invokeSiteRemoveApi","removeSites","isAll","delSites","all","hasSites","PageHeader","PageLayout","history","IAM_PAGES","Loader","style","HelpBox","href","rel","siteNames","s","_excluded","ListItemButtonRoot","styled","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","slot","overridesResolver","props","styles","ownerState","dense","alignItemsFlexStart","divider","disableGutters","gutters","_extends","flexGrow","position","textDecoration","boxSizing","textAlign","transition","transitions","create","duration","shortest","palette","action","hover","listItemButtonClasses","alpha","primary","main","selectedOpacity","focusOpacity","hoverOpacity","focus","opacity","disabledOpacity","backgroundClip","React","inProps","ref","useThemeProps","autoFocus","focusVisibleClassName","selected","other","_objectWithoutPropertiesLoose","context","ListContext","childContext","listItemRef","useEnhancedEffect","current","slots","composedClasses","composeClasses","getListItemButtonUtilityClass","useUtilityClasses","handleRef","useForkRef","_jsx","clsx","focusVisible"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/4619.282dc42d.chunk.js.map b/portal-ui/build/static/js/4619.282dc42d.chunk.js.map
index ff06cd934..9ad944ff0 100644
--- a/portal-ui/build/static/js/4619.282dc42d.chunk.js.map
+++ b/portal-ui/build/static/js/4619.282dc42d.chunk.js.map
@@ -1 +1 @@
-{"version":3,"file":"static/js/4619.282dc42d.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/AddAccessRule.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 ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport { Button, Grid } from \"@mui/material\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { connect } from \"react-redux\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { AppState } from \"../../../../store\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { AddAccessRuleIcon } from \"../../../../icons\";\n\nconst mapState = (state: AppState) => ({\n session: state.console.session,\n});\n\nconst connector = connect(mapState, { setErrorSnackMessage });\n\ninterface IAddAccessRule {\n classes: any;\n modalOpen: boolean;\n onClose: () => any;\n bucket: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\nconst AddAccessRule = ({\n modalOpen,\n onClose,\n classes,\n bucket,\n}: IAddAccessRule) => {\n const [prefix, setPrefix] = useState(\"\");\n const [selectedAccess, setSelectedAccess] = useState(\"readonly\");\n\n const accessOptions = [\n { label: \"readonly\", value: \"readonly\" },\n { label: \"writeonly\", value: \"writeonly\" },\n { label: \"readwrite\", value: \"readwrite\" },\n ];\n\n const resetForm = () => {\n setPrefix(\"\");\n setSelectedAccess(\"readonly\");\n };\n\n const createProcess = () => {\n api\n .invoke(\"PUT\", `/api/v1/bucket/${bucket}/access-rules`, {\n prefix: prefix,\n access: selectedAccess,\n })\n .then((res: any) => {\n onClose();\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n onClose();\n });\n };\n\n return (\n }\n >\n \n \n {\n setPrefix(e.target.value);\n }}\n tooltip={\"Leave this field blank to apply the rule to all prefixes and objects at the bucket root. Do not include the wildcard asterisk ``*`` as part of the prefix *unless* it is an explicit part of the prefix name. The Console automatically appends an asterisk to the appropriate sections of the resulting IAM policy.\"}\n />\n \n \n {\n setSelectedAccess(e.target.value);\n }}\n label=\"Access\"\n value={selectedAccess}\n options={accessOptions}\n disabled={false}\n />\n \n \n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(connector(AddAccessRule));\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","state","session","console","setErrorSnackMessage","withStyles","theme","createStyles","formFieldStyles","modalStyleUtils","modalOpen","onClose","classes","bucket","useState","prefix","setPrefix","selectedAccess","setSelectedAccess","title","titleIcon","container","item","xs","className","formFieldRow","value","label","id","name","placeholder","onChange","e","target","tooltip","options","disabled","modalButtonBar","type","color","variant","onClick","trim","api","access","then","res","catch","err","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","deleteDialogStyles","content","padding","paddingBottom","customDialogSize","width","maxWidth","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","useEffect","message","customSize","paper","fullWidth","detailedErrorMsg","length","open","scroll","event","reason","root","titleText","closeContainer","closeButton","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"static/js/4619.282dc42d.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/AddAccessRule.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 ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport { Button, Grid } from \"@mui/material\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { connect } from \"react-redux\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { AppState } from \"../../../../store\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { AddAccessRuleIcon } from \"../../../../icons\";\n\nconst mapState = (state: AppState) => ({\n session: state.console.session,\n});\n\nconst connector = connect(mapState, { setErrorSnackMessage });\n\ninterface IAddAccessRule {\n classes: any;\n modalOpen: boolean;\n onClose: () => any;\n bucket: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\nconst AddAccessRule = ({\n modalOpen,\n onClose,\n classes,\n bucket,\n}: IAddAccessRule) => {\n const [prefix, setPrefix] = useState(\"\");\n const [selectedAccess, setSelectedAccess] = useState(\"readonly\");\n\n const accessOptions = [\n { label: \"readonly\", value: \"readonly\" },\n { label: \"writeonly\", value: \"writeonly\" },\n { label: \"readwrite\", value: \"readwrite\" },\n ];\n\n const resetForm = () => {\n setPrefix(\"\");\n setSelectedAccess(\"readonly\");\n };\n\n const createProcess = () => {\n api\n .invoke(\"PUT\", `/api/v1/bucket/${bucket}/access-rules`, {\n prefix: prefix,\n access: selectedAccess,\n })\n .then((res: any) => {\n onClose();\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n onClose();\n });\n };\n\n return (\n }\n >\n \n \n {\n setPrefix(e.target.value);\n }}\n tooltip={\n \"Leave this field blank to apply the rule to all prefixes and objects at the bucket root. Do not include the wildcard asterisk ``*`` as part of the prefix *unless* it is an explicit part of the prefix name. The Console automatically appends an asterisk to the appropriate sections of the resulting IAM policy.\"\n }\n />\n \n \n {\n setSelectedAccess(e.target.value);\n }}\n label=\"Access\"\n value={selectedAccess}\n options={accessOptions}\n disabled={false}\n />\n \n \n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(connector(AddAccessRule));\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","state","session","console","setErrorSnackMessage","withStyles","theme","createStyles","formFieldStyles","modalStyleUtils","modalOpen","onClose","classes","bucket","useState","prefix","setPrefix","selectedAccess","setSelectedAccess","title","titleIcon","container","item","xs","className","formFieldRow","value","label","id","name","placeholder","onChange","e","target","tooltip","options","disabled","modalButtonBar","type","color","variant","onClick","trim","api","access","then","res","catch","err","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","deleteDialogStyles","content","padding","paddingBottom","customDialogSize","width","maxWidth","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","useEffect","message","customSize","paper","fullWidth","detailedErrorMsg","length","open","scroll","event","reason","root","titleText","closeContainer","closeButton","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/6233.04f53be4.chunk.js.map b/portal-ui/build/static/js/6233.04f53be4.chunk.js.map
index 25ad95ea1..adee993fc 100644
--- a/portal-ui/build/static/js/6233.04f53be4.chunk.js.map
+++ b/portal-ui/build/static/js/6233.04f53be4.chunk.js.map
@@ -1 +1 @@
-{"version":3,"file":"static/js/6233.04f53be4.chunk.js","mappings":"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","sources":["screens/Console/ObjectBrowser/BrowserBreadcrumbs.tsx","screens/Console/Buckets/ListBuckets/UploadFilesButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DetailsListPanel.tsx","screens/Console/Common/FormComponents/DateSelector/utils.ts","screens/Console/Common/FormComponents/DateSelector/DateSelector.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetRetention.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteObject.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetLegalHoldModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ObjectMetaData.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectActionButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ActionsListSection.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/IconWithLabel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/utils.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/TagsModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/InspectObject.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjectsHelpers.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/RestoreFileVersion.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SpecificVersionPill.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/FileVersionItem.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteNonCurrent.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx","screens/Console/Buckets/BucketDetails/BrowserHandler.tsx","screens/Console/Common/FormComponents/DaysSelector/DaysSelector.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ShareFile.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileContent.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileModal.tsx","screens/Console/Buckets/ListBuckets/Objects/utils.ts","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Common/VirtualizedList/VirtualizedList.tsx","screens/Console/Tools/KeyRevealer.tsx"],"sourcesContent":["// 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, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Link } from \"react-router-dom\";\nimport { Button, IconButton, Tooltip } from \"@mui/material\";\nimport { ObjectBrowserState } from \"./types\";\nimport { objectBrowserCommon } from \"../Common/FormComponents/common/styleLibrary\";\nimport { encodeFileName } from \"../../../common/utils\";\nimport { BackCaretIcon, NewPathIcon } from \"../../../icons\";\nimport { hasPermission } from \"../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../common/SecureComponent/permissions\";\nimport { BucketObjectItem } from \"../Buckets/ListBuckets/Objects/ListObjects/types\";\nimport { setVersionsModeEnabled } from \"./actions\";\nimport history from \"../../../history\";\nimport withSuspense from \"../Common/Components/withSuspense\";\n\nconst CreateFolderModal = withSuspense(\n React.lazy(\n () => import(\"../Buckets/ListBuckets/Objects/ListObjects/CreateFolderModal\")\n )\n);\n\ninterface ObjectBrowserReducer {\n objectBrowser: ObjectBrowserState;\n}\n\ninterface IObjectBrowser {\n classes: any;\n bucketName: string;\n internalPaths: string;\n rewindEnabled?: boolean;\n versionsMode: boolean;\n versionedFile: string;\n hidePathButton?: boolean;\n existingFiles: BucketObjectItem[];\n additionalOptions?: React.ReactNode;\n setVersionsModeEnabled: typeof setVersionsModeEnabled;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...objectBrowserCommon,\n });\n\nconst BrowserBreadcrumbs = ({\n classes,\n bucketName,\n internalPaths,\n rewindEnabled,\n existingFiles,\n versionsMode,\n versionedFile,\n hidePathButton,\n setVersionsModeEnabled,\n additionalOptions,\n}: IObjectBrowser) => {\n const [createFolderOpen, setCreateFolderOpen] = useState(false);\n\n let paths = internalPaths;\n\n if (internalPaths !== \"\") {\n paths = `/${internalPaths}`;\n }\n\n const splitPaths = paths.split(\"/\").filter((path) => path !== \"\");\n const lastBreadcrumbsIndex = splitPaths.length - 1;\n\n let breadcrumbsMap = splitPaths.map((objectItem: string, index: number) => {\n const subSplit = `${splitPaths.slice(0, index + 1).join(\"/\")}/`;\n const route = `/buckets/${bucketName}/browse/${\n subSplit ? `${encodeFileName(subSplit)}` : ``\n }`;\n\n if (index === lastBreadcrumbsIndex && objectItem === versionedFile) {\n return null;\n }\n\n return (\n \n / \n {index === lastBreadcrumbsIndex ? (\n {objectItem}\n ) : (\n {\n setVersionsModeEnabled(false);\n }}\n >\n {objectItem}\n \n )}\n \n );\n });\n\n let versionsItem: any[] = [];\n\n if (versionsMode) {\n versionsItem = [\n \n / {versionedFile} - Versions\n ,\n ];\n }\n\n const listBreadcrumbs: any[] = [\n \n {\n setVersionsModeEnabled(false);\n }}\n >\n {bucketName}\n \n ,\n ...breadcrumbsMap,\n ...versionsItem,\n ];\n\n const closeAddFolderModal = () => {\n setCreateFolderOpen(false);\n };\n\n const goBackFunction = () => {\n if (versionsMode) {\n setVersionsModeEnabled(false);\n } else {\n history.goBack();\n }\n };\n\n return (\n
\n {createFolderOpen && (\n \n )}\n \n \n \n \n
\n {listBreadcrumbs}\n
\n
{additionalOptions}
\n \n {!hidePathButton && (\n \n \n \n )}\n
\n );\n};\n\nconst mapStateToProps = ({ objectBrowser }: ObjectBrowserReducer) => ({\n rewindEnabled: get(objectBrowser, \"rewind.rewindEnabled\", false),\n versionsMode: get(objectBrowser, \"versionsMode\", false),\n versionedFile: get(objectBrowser, \"versionedFile\", \"\"),\n});\n\nconst mapDispatchToProps = {\n setVersionsModeEnabled,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(BrowserBreadcrumbs));\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 { Menu, MenuItem } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport ListItemText from \"@mui/material/ListItemText\";\nimport ListItemIcon from \"@mui/material/ListItemIcon\";\nimport { UploadFolderIcon, UploadIcon } from \"../../../../icons\";\nimport RBIconButton from \"../BucketDetails/SummaryItems/RBIconButton\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../../common/SecureComponent\";\n\ninterface IUploadFilesButton {\n uploadPath: string;\n bucketName: string;\n forceDisable?: boolean;\n uploadFileFunction: (closeFunction: () => void) => void;\n uploadFolderFunction: (closeFunction: () => void) => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n listUploadIcons: {\n height: 20,\n \"& .min-icon\": {\n width: 18,\n fill: \"rgba(0,0,0,0.87)\",\n },\n },\n });\n\nconst UploadFilesButton = ({\n uploadPath,\n bucketName,\n forceDisable = false,\n uploadFileFunction,\n uploadFolderFunction,\n classes,\n}: IUploadFilesButton) => {\n const [anchorEl, setAnchorEl] = React.useState(null);\n const openUploadMenu = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n const handleCloseUpload = () => {\n setAnchorEl(null);\n };\n\n const uploadObjectAllowed = hasPermission(uploadPath, [\n IAM_SCOPES.S3_PUT_OBJECT,\n ]);\n const uploadFolderAllowed = hasPermission(\n bucketName,\n [IAM_SCOPES.S3_PUT_OBJECT],\n false,\n true\n );\n\n const uploadEnabled: boolean = uploadObjectAllowed || uploadFolderAllowed;\n\n return (\n \n }\n color=\"primary\"\n variant={\"contained\"}\n disabled={forceDisable || !uploadEnabled}\n />\n \n \n );\n};\n\nexport default withStyles(styles)(UploadFilesButton);\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\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, IconButton } from \"@mui/material\";\nimport { ClosePanelIcon } from \"../../../../../../icons\";\n\ninterface IDetailsListPanel {\n classes: any;\n open: boolean;\n closePanel: () => void;\n children: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n detailsList: {\n borderColor: \"#EAEDEE\",\n backgroundColor: \"#fff\",\n borderWidth: 0,\n borderStyle: \"solid\",\n borderRadius: 3,\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n width: 0,\n transitionDuration: \"0.3s\",\n overflowX: \"hidden\",\n overflowY: \"auto\",\n position: \"relative\",\n opacity: 0,\n marginLeft: -1,\n \"&.open\": {\n width: 300,\n minWidth: 300,\n borderLeftWidth: 1,\n opacity: 1,\n },\n },\n closePanel: {\n position: \"absolute\",\n right: 0,\n top: 8,\n \"& .min-icon\": {\n width: 14,\n },\n },\n });\n\nconst DetailsListPanel = ({\n classes,\n open,\n closePanel,\n children,\n}: IDetailsListPanel) => {\n return (\n \n \n \n \n {children}\n \n );\n};\n\nexport default withStyles(styles)(DetailsListPanel);\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 months = [\n { value: \"01\", label: \"January\" },\n { value: \"02\", label: \"February\" },\n { value: \"03\", label: \"March\" },\n { value: \"04\", label: \"April\" },\n { value: \"05\", label: \"May\" },\n { value: \"06\", label: \"June\" },\n { value: \"07\", label: \"July\" },\n { value: \"08\", label: \"August\" },\n { value: \"09\", label: \"September\" },\n { value: \"10\", label: \"October\" },\n { value: \"11\", label: \"November\" },\n { value: \"12\", label: \"December\" },\n];\n\nexport const days = Array.from(Array(31), (_, num) => num + 1);\n\nconst currentYear = new Date().getFullYear();\n\nexport const years = Array.from(\n Array(25),\n (_, numYear) => numYear + currentYear\n);\n\nexport const validDate = (year: string, month: string, day: string): any[] => {\n const currentDate = Date.parse(`${year}-${month}-${day}`);\n\n if (isNaN(currentDate)) {\n return [false, \"\"];\n }\n\n const parsedMonth = parseInt(month);\n const parsedDay = parseInt(day);\n\n const monthForString = parsedMonth < 10 ? `0${parsedMonth}` : parsedMonth;\n const dayForString = parsedDay < 10 ? `0${parsedDay}` : parsedDay;\n\n const parsedDate = new Date(currentDate).toISOString().split(\"T\")[0];\n const dateString = `${year}-${monthForString}-${dayForString}`;\n\n return [parsedDate === dateString, dateString];\n};\n\n// twoDigitDate gets a two digit string number used for months or days\n// returns \"NaN\" if number is NaN\nexport const twoDigitDate = (num: number): string => {\n return num < 10 ? `0${num}` : `${num}`;\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 React, {\n useState,\n forwardRef,\n useImperativeHandle,\n useEffect,\n} from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport { SelectChangeEvent } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport InputLabel from \"@mui/material/InputLabel\";\nimport Tooltip from \"@mui/material/Tooltip\";\nimport FormControl from \"@mui/material/FormControl\";\nimport Select from \"@mui/material/Select\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport InputBase from \"@mui/material/InputBase\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport FormSwitchWrapper from \"../FormSwitchWrapper/FormSwitchWrapper\";\nimport { days, months, validDate, years } from \"./utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n dateInput: {\n \"&:not(:last-child)\": {\n marginRight: 22,\n },\n },\n ...fieldBasic,\n ...tooltipHelper,\n labelContainer: {\n flex: 1,\n },\n fieldContainer: {\n ...fieldBasic.fieldContainer,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n paddingBottom: 10,\n marginTop: 11,\n marginBottom: 6,\n },\n fieldContainerBorder: {\n borderBottom: \"#9c9c9c 1px solid\",\n marginBottom: 20,\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n \"& .MuiSelect-icon\": {\n color: \"#000\",\n \"&.Mui-disabled\": {\n color: \"#9c9c9c\",\n },\n },\n },\n input: {\n borderBottom: 0,\n fontSize: 12,\n },\n })\n)(InputBase);\n\ninterface IDateSelectorProps {\n classes: any;\n id: string;\n label: string;\n disableOptions?: boolean;\n addSwitch?: boolean;\n tooltip?: string;\n borderBottom?: boolean;\n value?: string;\n onDateChange: (date: string, isValid: boolean) => any;\n}\n\nconst DateSelector = forwardRef(\n (\n {\n classes,\n id,\n label,\n disableOptions = false,\n addSwitch = false,\n tooltip = \"\",\n borderBottom = false,\n onDateChange,\n value = \"\",\n }: IDateSelectorProps,\n ref: any\n ) => {\n useImperativeHandle(ref, () => ({ resetDate }));\n\n const [dateEnabled, setDateEnabled] = useState(false);\n const [month, setMonth] = useState(\"\");\n const [day, setDay] = useState(\"\");\n const [year, setYear] = useState(\"\");\n\n useEffect(() => {\n // verify if there is a current value\n // assume is in the format \"2021-12-30\"\n if (value !== \"\") {\n const valueSplit = value.split(\"-\");\n setYear(valueSplit[0]);\n setMonth(valueSplit[1]);\n // Turn to single digit to be displayed on dropdown buttons\n setDay(`${parseInt(valueSplit[2])}`);\n }\n }, [value]);\n\n useEffect(() => {\n const [isValid, dateString] = validDate(year, month, day);\n onDateChange(dateString, isValid);\n }, [month, day, year, onDateChange]);\n\n const resetDate = () => {\n setMonth(\"\");\n setDay(\"\");\n setYear(\"\");\n };\n\n const isDateDisabled = () => {\n if (disableOptions) {\n return disableOptions;\n } else if (addSwitch) {\n return !dateEnabled;\n } else {\n return false;\n }\n };\n\n const onMonthChange = (e: SelectChangeEvent) => {\n setMonth(e.target.value as string);\n };\n\n const onDayChange = (e: SelectChangeEvent) => {\n setDay(e.target.value as string);\n };\n\n const onYearChange = (e: SelectChangeEvent) => {\n setYear(e.target.value as string);\n };\n\n return (\n \n
\n \n );\n }\n);\n\nexport default withStyles(styles)(DateSelector);\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, useRef, 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 Grid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IFileInfo } from \"./types\";\nimport { setModalErrorSnackMessage } from \"../../../../../../actions\";\nimport { twoDigitDate } from \"../../../../Common/FormComponents/DateSelector/utils\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport RadioGroupSelector from \"../../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport DateSelector from \"../../../../Common/FormComponents/DateSelector/DateSelector\";\nimport api from \"../../../../../../common/api\";\nimport { encodeFileName } from \"../../../../../../common/utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n dateSelector: {\n \"& div\": {\n borderBottom: 0,\n marginBottom: 0,\n\n \"& div:nth-child(2)\": {\n border: \"1px solid #EAEAEA\",\n paddingLeft: 5,\n\n \"& div\": {\n border: 0,\n },\n },\n },\n },\n });\n\ninterface ISetRetentionProps {\n classes: any;\n open: boolean;\n closeModalAndRefresh: (updateInfo: boolean) => void;\n objectName: string;\n bucketName: string;\n objectInfo: IFileInfo;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\ninterface IRefObject {\n resetDate: () => void;\n}\n\nconst SetRetention = ({\n classes,\n open,\n closeModalAndRefresh,\n objectName,\n objectInfo,\n bucketName,\n setModalErrorSnackMessage,\n}: ISetRetentionProps) => {\n const [statusEnabled, setStatusEnabled] = useState(true);\n const [type, setType] = useState(\"\");\n const [date, setDate] = useState(\"\");\n const [isDateValid, setIsDateValid] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const [alreadyConfigured, setAlreadyConfigured] = useState(false);\n\n useEffect(() => {\n if (objectInfo.retention_mode) {\n setType(objectInfo.retention_mode.toLowerCase());\n setAlreadyConfigured(true);\n }\n // get retention_until_date if defined\n if (objectInfo.retention_until_date) {\n const valueDate = new Date(objectInfo.retention_until_date);\n if (valueDate.toString() !== \"Invalid Date\") {\n const year = valueDate.getFullYear();\n const month = twoDigitDate(valueDate.getMonth() + 1);\n const day = valueDate.getDate();\n if (!isNaN(day) && month !== \"NaN\" && !isNaN(year)) {\n setDate(`${year}-${month}-${day}`);\n }\n }\n setAlreadyConfigured(true);\n }\n }, [objectInfo]);\n\n const dateElement = useRef(null);\n\n const dateFieldDisabled = () => {\n return !(statusEnabled && (type === \"governance\" || type === \"compliance\"));\n };\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n };\n\n const resetForm = () => {\n setStatusEnabled(false);\n setType(\"\");\n if (dateElement.current) {\n dateElement.current.resetDate();\n }\n };\n\n const addRetention = (\n selectedObject: string,\n versionId: string | null,\n expireDate: string\n ) => {\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/retention?prefix=${encodeFileName(\n selectedObject\n )}&version_id=${versionId}`,\n {\n expires: expireDate,\n mode: type,\n }\n )\n .then((res: any) => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setIsSaving(false);\n });\n };\n\n const disableRetention = (\n selectedObject: string,\n versionId: string | null\n ) => {\n api\n .invoke(\n \"DELETE\",\n `/api/v1/buckets/${bucketName}/objects/retention?prefix=${encodeFileName(\n selectedObject\n )}&version_id=${versionId}`\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setIsSaving(false);\n });\n };\n\n const saveNewRetentionPolicy = () => {\n setIsSaving(true);\n const selectedObject = objectInfo.name;\n const versionId = objectInfo.version_id;\n\n const expireDate =\n !statusEnabled && type === \"governance\" ? \"\" : `${date}T23:59:59Z`;\n\n if (!statusEnabled && type === \"governance\") {\n disableRetention(selectedObject, versionId);\n\n return;\n }\n\n addRetention(selectedObject, versionId, expireDate);\n };\n\n const showSwitcher =\n alreadyConfigured && (type === \"governance\" || type === \"\");\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n
\n Selected Object: {objectName}\n
\n \n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(SetRetention));\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, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { decodeFileName } from \"../../../../../../common/utils\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport { ConfirmDeleteIcon } from \"../../../../../../icons\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\n\ninterface IDeleteObjectProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObject: string;\n selectedBucket: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n versioning: boolean;\n selectedVersion?: string;\n}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n setErrorSnackMessage,\n versioning,\n selectedVersion = \"\",\n}: IDeleteObjectProps) => {\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 const [deleteVersions, setDeleteVersions] = useState(false);\n\n if (!selectedObject) {\n return null;\n }\n const onConfirmDelete = () => {\n const decodedSelectedObject = decodeFileName(selectedObject);\n const recursive = decodedSelectedObject.endsWith(\"/\");\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/buckets/${selectedBucket}/objects?path=${selectedObject}${\n selectedVersion !== \"\"\n ? `&version_id=${selectedVersion}`\n : `&recursive=${recursive}&all_versions=${deleteVersions}`\n }`\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete: \n {decodeFileName(selectedObject)}{\" \"}\n {selectedVersion !== \"\" ? (\n \n \n \n Version ID:\n \n {selectedVersion}\n \n ) : (\n \"\"\n )}\n ? \n \n {versioning && selectedVersion === \"\" && (\n {\n setDeleteVersions(!deleteVersions);\n }}\n description=\"\"\n />\n )}\n \n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(DeleteObject);\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, useEffect } 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 get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../../../actions\";\nimport { IFileInfo } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport api from \"../../../../../../common/api\";\nimport { encodeFileName } from \"../../../../../../common/utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\n\ninterface ISetRetentionProps {\n classes: any;\n open: boolean;\n closeModalAndRefresh: (reload: boolean) => void;\n objectName: string;\n bucketName: string;\n actualInfo: IFileInfo;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst SetLegalHoldModal = ({\n classes,\n open,\n closeModalAndRefresh,\n objectName,\n bucketName,\n actualInfo,\n setModalErrorSnackMessage,\n}: ISetRetentionProps) => {\n const [legalHoldEnabled, setLegalHoldEnabled] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const versionId = actualInfo.version_id;\n\n useEffect(() => {\n const status = get(actualInfo, \"legal_hold_status\", \"OFF\");\n setLegalHoldEnabled(status === \"ON\");\n }, [actualInfo]);\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n setIsSaving(true);\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/legalhold?prefix=${encodeFileName(\n objectName\n )}&version_id=${versionId}`,\n { status: legalHoldEnabled ? \"enabled\" : \"disabled\" }\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setIsSaving(false);\n });\n };\n\n const resetForm = () => {\n setLegalHoldEnabled(false);\n };\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n \n Object: {bucketName}\n \n\n \n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(SetLegalHoldModal));\n","import React, { useCallback, useEffect, useState, Fragment } from \"react\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { MetadataResponse } from \"./types\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, Table, TableBody, TableCell, TableRow } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n detailsPanel,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { withStyles } from \"@mui/styles\";\n\ninterface IObjectMetadata {\n bucketName: string;\n internalPaths: string;\n classes?: any;\n actualInfo: any;\n linear?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n propertiesIcon: {\n marginLeft: 5,\n \"& .min-icon\": {\n height: 12,\n },\n },\n\n capitalizeFirst: {\n textTransform: \"capitalize\",\n \"& .min-icon\": {\n width: 16,\n height: 16,\n },\n },\n titleCol: {\n width: \"25%\",\n },\n titleItem: {\n width: \"35%\",\n },\n ...spacingUtils,\n ...detailsPanel,\n });\n\nconst ObjectMetaData = ({\n bucketName,\n internalPaths,\n classes,\n actualInfo,\n linear = false,\n}: IObjectMetadata) => {\n const [metaData, setMetaData] = useState({});\n\n const onMetaDataSuccess = (res: MetadataResponse) => {\n let metadata = get(res, \"objectMetadata\", {});\n\n setMetaData(metadata);\n };\n const onMetaDataError = (err: ErrorResponseHandler) => false;\n\n const [, invokeMetaDataApi] = useApi(onMetaDataSuccess, onMetaDataError);\n\n const metaKeys = Object.keys(metaData);\n const loadMetaData = useCallback(() => {\n invokeMetaDataApi(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects/metadata?prefix=${internalPaths}`\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [bucketName, internalPaths, actualInfo]);\n\n useEffect(() => {\n if (actualInfo) {\n loadMetaData();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [actualInfo, loadMetaData]);\n\n if (linear) {\n return (\n \n {metaKeys.map((element: string, index: number) => {\n const renderItem = Array.isArray(metaData[element])\n ? metaData[element].map(decodeURIComponent).join(\", \")\n : decodeURIComponent(metaData[element]);\n\n return (\n \n {element}\n \n {renderItem}\n \n );\n })}\n \n );\n }\n\n return (\n \n \n
\n \n \n );\n};\n\nexport default withStyles(styles)(ObjectMetaData);\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\";\nimport { Button } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ntype ObjectActionButtonProps = {\n disabled?: boolean;\n onClick: () => void | any;\n icon: React.ReactNode;\n label: string;\n [x: string]: any;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: \"0 15px\",\n height: 22,\n margin: 0,\n color: \"#5E5E5E\",\n fontWeight: \"normal\",\n fontSize: 14,\n whiteSpace: \"nowrap\",\n width: \"100%\",\n justifyContent: \"flex-start\",\n \"&:hover\": {\n backgroundColor: \"transparent\",\n color: \"#000\",\n },\n \"& .min-icon\": {\n width: 11,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n });\n\nconst ObjectActionButton = ({\n disabled,\n onClick,\n icon,\n label,\n classes,\n ...restProps\n}: ObjectActionButtonProps) => {\n return (\n \n );\n};\n\nexport default withStyles(styles)(ObjectActionButton);\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 ObjectActionButton from \"./ObjectActionButton\";\nimport { withStyles } from \"@mui/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { detailsPanel } from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nconst styles = () =>\n createStyles({\n ...detailsPanel,\n });\n\nexport interface MultiSelectionItem {\n action: () => void;\n label: string;\n disabled: boolean;\n icon: React.ReactNode;\n tooltip: string;\n}\n\ninterface IActionsListSectionProps {\n items: MultiSelectionItem[];\n title: string | React.ReactNode;\n classes: any;\n}\n\nconst ActionsListSection = ({\n items,\n classes,\n title,\n}: IActionsListSectionProps) => {\n return (\n \n
\n )}\n \n \n \n );\n};\n\nexport default withStyles(styles)(DaysSelector);\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 CopyToClipboard from \"react-copy-to-clipboard\";\nimport Grid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport LinearProgress from \"@mui/material/LinearProgress\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nimport { IFileInfo } from \"./types\";\nimport {\n setModalErrorSnackMessage,\n setModalSnackMessage,\n} from \"../../../../../../actions\";\nimport { AppState } from \"../../../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport api from \"../../../../../../common/api\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport PredefinedList from \"../../../../Common/FormComponents/PredefinedList/PredefinedList\";\nimport DaysSelector from \"../../../../Common/FormComponents/DaysSelector/DaysSelector\";\nimport { encodeFileName } from \"../../../../../../common/utils\";\n\nconst CopyIcon = React.lazy(() => import(\"../../../../../../icons/CopyIcon\"));\n\nconst styles = (theme: Theme) =>\n createStyles({\n shareLinkInfo: {\n fontSize: 13,\n fontWeight: 400,\n },\n copyShareLink: {\n display: \"flex\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n },\n copyShareLinkInput: {\n \"& div:first-child\": {\n marginTop: 0,\n },\n \"@media (max-width: 900px)\": {\n minWidth: 250,\n },\n },\n copyShareLinkBtn: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"@media (max-width: 900px)\": {\n marginTop: 10,\n },\n },\n ...modalStyleUtils,\n ...formFieldStyles,\n });\n\ninterface IShareFileProps {\n classes: any;\n open: boolean;\n bucketName: string;\n dataObject: IFileInfo;\n distributedSetup: boolean;\n closeModalAndRefresh: () => void;\n setModalSnackMessage: typeof setModalSnackMessage;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst ShareFile = ({\n classes,\n open,\n closeModalAndRefresh,\n bucketName,\n dataObject,\n distributedSetup,\n setModalSnackMessage,\n setModalErrorSnackMessage,\n}: IShareFileProps) => {\n const [shareURL, setShareURL] = useState(\"\");\n const [isLoadingVersion, setIsLoadingVersion] = useState(true);\n const [isLoadingFile, setIsLoadingFile] = useState(false);\n const [selectedDate, setSelectedDate] = useState(\"\");\n const [dateValid, setDateValid] = useState(true);\n const [versionID, setVersionID] = useState(\"null\");\n\n const initialDate = new Date();\n\n const dateChanged = (newDate: string, isValid: boolean) => {\n setDateValid(isValid);\n if (isValid) {\n setSelectedDate(newDate);\n return;\n }\n setSelectedDate(\"\");\n setShareURL(\"\");\n };\n\n useEffect(() => {\n // In case version is undefined, we get the latest version of the object\n if (dataObject.version_id === undefined) {\n // In case it is not distributed setup, then we default to \"null\";\n if (distributedSetup) {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects?prefix=${encodeFileName(\n dataObject.name\n )}${distributedSetup ? \"&with_versions=true\" : \"\"}`\n )\n .then((res: IFileInfo[]) => {\n const result = get(res, \"objects\", []);\n\n const latestVersion = result.find(\n (elem: IFileInfo) => elem.is_latest\n );\n\n if (latestVersion) {\n setVersionID(latestVersion.version_id);\n return;\n }\n\n // Version couldn't ve retrieved, we default\n setVersionID(\"null\");\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n });\n\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(\"null\");\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(dataObject.version_id || \"null\");\n setIsLoadingVersion(false);\n }, [bucketName, dataObject, distributedSetup, setModalErrorSnackMessage]);\n\n useEffect(() => {\n if (dateValid && !isLoadingVersion) {\n setIsLoadingFile(true);\n setShareURL(\"\");\n\n const slDate = new Date(`${selectedDate}`);\n const currDate = new Date();\n\n const diffDate = Math.ceil(\n (slDate.getTime() - currDate.getTime()) / 1000\n );\n\n if (diffDate > 0) {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects/share?prefix=${encodeFileName(\n dataObject.name\n )}&version_id=${versionID}${\n selectedDate !== \"\" ? `&expires=${diffDate}s` : \"\"\n }`\n )\n .then((res: string) => {\n setShareURL(res);\n setIsLoadingFile(false);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setShareURL(\"\");\n setIsLoadingFile(false);\n });\n }\n }\n }, [\n dataObject,\n selectedDate,\n bucketName,\n dateValid,\n setShareURL,\n setModalErrorSnackMessage,\n distributedSetup,\n isLoadingVersion,\n versionID,\n ]);\n\n return (\n \n {\n closeModalAndRefresh();\n }}\n >\n {isLoadingVersion && (\n \n \n \n )}\n {!isLoadingVersion && (\n \n \n This is a temporary URL with integrated access credentials for\n sharing objects valid for up to 7 days.\n \n The temporary URL expires after the configured time limit.\n \n \n \n \n \n \n \n \n\n \n \n }\n onClick={() => {\n setModalSnackMessage(\"Share URL Copied to clipboard\");\n }}\n disabled={shareURL === \"\" || isLoadingFile}\n >\n Copy\n \n \n \n \n \n )}\n \n \n );\n};\n\nconst mapStateToProps = ({ system }: AppState) => ({\n distributedSetup: get(system, \"distributedSetup\", false),\n});\n\nconst connector = connect(mapStateToProps, {\n setModalSnackMessage,\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ShareFile));\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, useState } from \"react\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, LinearProgress } from \"@mui/material\";\nimport { BucketObjectItem } from \"../ListObjects/types\";\nimport { extensionPreview } from \"../utils\";\nimport { encodeFileName } from \"../../../../../../common/utils\";\nimport clsx from \"clsx\";\n\nconst styles = () =>\n createStyles({\n iframeContainer: {\n border: \"0px\",\n flex: \"1 1 auto\",\n width: \"100%\",\n height: 250,\n backgroundColor: \"transparent\",\n borderRadius: 5,\n\n \"&.image\": {\n height: 500,\n },\n \"&.text\": {\n height: 700,\n },\n \"&.audio\": {\n height: 150,\n },\n \"&.video\": {\n height: 350,\n },\n \"&.fullHeight\": {\n height: \"calc(100vh - 185px)\",\n },\n },\n iframeBase: {\n backgroundColor: \"#fff\",\n },\n iframeHidden: {\n display: \"none\",\n },\n });\n\ninterface IPreviewFileProps {\n bucketName: string;\n object: BucketObjectItem | null;\n isFullscreen?: boolean;\n classes: any;\n}\n\nconst PreviewFile = ({\n bucketName,\n object,\n isFullscreen = false,\n classes,\n}: IPreviewFileProps) => {\n const [loading, setLoading] = useState(true);\n\n let path = \"\";\n\n if (object) {\n const encodedPath = encodeFileName(object.name);\n let basename = document.baseURI.replace(window.location.origin, \"\");\n path = `${window.location.origin}${basename}api/v1/buckets/${bucketName}/objects/download?preview=true&prefix=${encodedPath}`;\n if (object.version_id) {\n path = path.concat(`&version_id=${object.version_id}`);\n }\n }\n\n const objectType = extensionPreview(object?.name || \"\");\n\n const iframeLoaded = () => {\n setLoading(false);\n };\n\n return (\n \n {loading && (\n \n \n \n )}\n {objectType === \"video\" && (\n \n )}\n {objectType === \"audio\" && (\n \n )}\n {objectType === \"image\" && (\n \n )}\n {objectType !== \"video\" &&\n objectType !== \"audio\" &&\n objectType !== \"image\" && (\n
\n \n
\n )}\n \n );\n};\nexport default withStyles(styles)(PreviewFile);\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 ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport PreviewFileContent from \"./PreviewFileContent\";\nimport { BucketObjectItem } from \"../ListObjects/types\";\nimport { ObjectPreviewIcon } from \"../../../../../../icons\";\n\ninterface IPreviewFileProps {\n open: boolean;\n bucketName: string;\n object: BucketObjectItem | null;\n onClosePreview: () => void;\n}\n\nconst PreviewFileModal = ({\n open,\n bucketName,\n object,\n onClosePreview,\n}: IPreviewFileProps) => {\n return (\n \n }\n >\n \n \n \n );\n};\n\nexport default PreviewFileModal;\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 { BucketObjectItem } from \"./ListObjects/types\";\n\nexport const download = (\n bucketName: string,\n objectPath: string,\n versionID: any,\n fileSize: number,\n progressCallback: (progress: number) => void,\n completeCallback: () => void\n) => {\n const anchor = document.createElement(\"a\");\n document.body.appendChild(anchor);\n let path = `/api/v1/buckets/${bucketName}/objects/download?prefix=${objectPath}`;\n if (versionID) {\n path = path.concat(`&version_id=${versionID}`);\n }\n\n var req = new XMLHttpRequest();\n req.open(\"GET\", path, true);\n req.addEventListener(\n \"progress\",\n function (evt) {\n var percentComplete = Math.round((evt.loaded / fileSize) * 100);\n\n if (progressCallback) {\n progressCallback(percentComplete);\n }\n },\n false\n );\n\n req.responseType = \"blob\";\n req.onreadystatechange = () => {\n if (req.readyState === 4 && req.status === 200) {\n const rspHeader = req.getResponseHeader(\"Content-Disposition\");\n\n let filename = \"download\";\n if (rspHeader) {\n let rspHeaderDecoded = decodeURIComponent(rspHeader);\n filename = rspHeaderDecoded.split('\"')[1];\n }\n\n if (completeCallback) {\n completeCallback();\n }\n\n var link = document.createElement(\"a\");\n link.href = window.URL.createObjectURL(req.response);\n link.download = filename;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n };\n req.send();\n};\n\n// Review file extension by name & returns the type of preview browser that can be used\nexport const extensionPreview = (\n fileName: string\n): \"image\" | \"text\" | \"audio\" | \"video\" | \"none\" => {\n const imageExtensions = [\n \"jif\",\n \"jfif\",\n \"apng\",\n \"avif\",\n \"svg\",\n \"webp\",\n \"bmp\",\n \"ico\",\n \"jpg\",\n \"jpe\",\n \"jpeg\",\n \"gif\",\n \"png\",\n \"heic\",\n ];\n const textExtensions = [\"pdf\", \"txt\", \"json\"];\n const audioExtensions = [\"wav\", \"mp3\", \"alac\", \"aiff\", \"dsd\", \"pcm\"];\n const videoExtensions = [\n \"mp4\",\n \"avi\",\n \"mpg\",\n \"webm\",\n \"mov\",\n \"flv\",\n \"mkv\",\n \"wmv\",\n \"avchd\",\n \"mpeg-4\",\n ];\n\n let fileExtension = fileName.split(\".\").pop();\n\n if (!fileExtension) {\n return \"none\";\n }\n\n fileExtension = fileExtension.toLowerCase();\n\n if (imageExtensions.includes(fileExtension)) {\n return \"image\";\n }\n\n if (textExtensions.includes(fileExtension)) {\n return \"text\";\n }\n\n if (audioExtensions.includes(fileExtension)) {\n return \"audio\";\n }\n\n if (videoExtensions.includes(fileExtension)) {\n return \"video\";\n }\n\n return \"none\";\n};\n\nexport const sortListObjects = (fieldSort: string) => {\n switch (fieldSort) {\n case \"name\":\n return (a: BucketObjectItem, b: BucketObjectItem) =>\n a.name.localeCompare(b.name);\n case \"last_modified\":\n return (a: BucketObjectItem, b: BucketObjectItem) =>\n new Date(a.last_modified).getTime() -\n new Date(b.last_modified).getTime();\n case \"size\":\n return (a: BucketObjectItem, b: BucketObjectItem) =>\n (a.size || -1) - (b.size || -1);\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 .\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, { Fragment } from \"react\";\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 { predefinedList } from \"../common/styleLibrary\";\n\ninterface IPredefinedList {\n classes: any;\n label?: string;\n content: any;\n multiLine?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(PredefinedList);\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","// 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) 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\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\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, ReactElement } from \"react\";\nimport { FixedSizeList as List } from \"react-window\";\nimport InfiniteLoader from \"react-window-infinite-loader\";\nimport { AutoSizer } from \"react-virtualized\";\n\ninterface IVirtualizedList {\n rowRenderFunction: (index: number) => ReactElement | null;\n totalItems: number;\n defaultHeight?: number;\n}\n\nlet itemStatusMap: any = {};\nconst LOADING = 1;\nconst LOADED = 2;\n\nconst VirtualizedList = ({\n rowRenderFunction,\n totalItems,\n defaultHeight,\n}: IVirtualizedList) => {\n const isItemLoaded = (index: any) => !!itemStatusMap[index];\n\n const loadMoreItems = (startIndex: number, stopIndex: number) => {\n for (let index = startIndex; index <= stopIndex; index++) {\n itemStatusMap[index] = LOADING;\n }\n\n for (let index = startIndex; index <= stopIndex; index++) {\n itemStatusMap[index] = LOADED;\n }\n };\n\n const RenderItemLine = ({ index, style }: any) => {\n return
{rowRenderFunction(index)}
;\n };\n\n return (\n \n \n {({ onItemsRendered, ref }) => (\n \n {({ width, height }) => {\n return (\n \n {RenderItemLine}\n \n );\n }}\n \n )}\n \n \n );\n};\n\nexport default VirtualizedList;\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 { Box, Button } from \"@mui/material\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { CopyIcon } from \"../../../icons\";\nimport { useState } from \"react\";\nconst KeyRevealer = ({ value }: { value: string }) => {\n const [shown, setShown] = useState(false);\n\n return (\n \n {}}\n value={value}\n overlayIcon={}\n extraInputProps={{\n readOnly: true,\n }}\n overlayAction={() => navigator.clipboard.writeText(value)}\n />\n\n \n \n );\n};\n\nexport default KeyRevealer;\n"],"names":["CreateFolderModal","withSuspense","React","mapDispatchToProps","setVersionsModeEnabled","connector","connect","objectBrowser","rewindEnabled","get","versionsMode","versionedFile","withStyles","theme","createStyles","objectBrowserCommon","classes","bucketName","internalPaths","existingFiles","hidePathButton","additionalOptions","useState","createFolderOpen","setCreateFolderOpen","paths","splitPaths","split","filter","path","lastBreadcrumbsIndex","length","breadcrumbsMap","map","objectItem","index","subSplit","slice","join","route","encodeFileName","Fragment","style","cursor","to","onClick","toString","versionsItem","listBreadcrumbs","className","breadcrumbsMain","modalOpen","folderName","onClose","Grid","item","xs","breadcrumbs","IconButton","history","sx","border","backgroundColor","borderLeft","borderRadius","width","height","marginRight","breadcrumbsList","dir","Tooltip","title","Button","id","disabled","hasPermission","IAM_SCOPES","endIcon","disableTouchRipple","disableRipple","focusRipple","color","whiteSpace","minWidth","variant","listUploadIcons","fill","uploadPath","forceDisable","uploadFileFunction","uploadFolderFunction","anchorEl","setAnchorEl","openUploadMenu","Boolean","handleCloseUpload","uploadObjectAllowed","uploadFolderAllowed","uploadEnabled","RBIconButton","tooltip","undefined","event","currentTarget","text","icon","Menu","open","anchorOrigin","vertical","horizontal","transformOrigin","MenuItem","ListItemIcon","ListItemText","detailsList","borderColor","borderWidth","borderStyle","borderBottomLeftRadius","borderBottomRightRadius","transitionDuration","overflowX","overflowY","position","opacity","marginLeft","borderLeftWidth","closePanel","right","top","children","months","value","label","days","Array","from","_","num","currentYear","Date","getFullYear","years","numYear","SelectStyled","root","input","borderBottom","fontSize","InputBase","DateSelector","forwardRef","ref","disableOptions","addSwitch","onDateChange","useImperativeHandle","resetDate","dateEnabled","setDateEnabled","month","setMonth","day","setDay","year","setYear","useEffect","valueSplit","parseInt","currentDate","parse","isNaN","parsedMonth","parsedDay","monthForString","dayForString","parsedDate","toISOString","dateString","validDate","isValid","isDateDisabled","clsx","fieldContainer","fieldContainerBorder","labelContainer","container","InputLabel","htmlFor","inputLabel","tooltipContainer","placement","HelpIcon","FormSwitchWrapper","indicatorLabels","checked","name","onChange","e","target","switchOnly","FormControl","dateInput","Select","displayEmpty","option","dayNumber","fieldBasic","tooltipHelper","flex","display","alignItems","justifyContent","paddingBottom","marginTop","marginBottom","setModalErrorSnackMessage","formFieldStyles","modalStyleUtils","spacingUtils","dateSelector","paddingLeft","closeModalAndRefresh","objectName","objectInfo","statusEnabled","setStatusEnabled","type","setType","date","setDate","isDateValid","setIsDateValid","isSaving","setIsSaving","alreadyConfigured","setAlreadyConfigured","retention_mode","toLowerCase","retention_until_date","valueDate","getMonth","getDate","dateElement","useRef","resetForm","current","showSwitcher","ModalWrapper","spacerBottom","noValidate","autoComplete","onSubmit","preventDefault","formFieldRow","RadioGroupSelector","currentSelection","selectorOptions","modalButtonBar","selectedObject","versionId","version_id","expireDate","api","expires","mode","then","res","catch","error","addRetention","disableRetention","setErrorSnackMessage","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","versioning","selectedVersion","useApi","err","deleteLoading","invokeDeleteApi","deleteVersions","setDeleteVersions","ConfirmDialog","confirmText","isOpen","titleIcon","isLoading","onConfirm","recursive","decodeFileName","endsWith","confirmationContent","DialogContentText","description","actualInfo","legalHoldEnabled","setLegalHoldEnabled","status","propertiesIcon","capitalizeFirst","textTransform","titleCol","titleItem","detailsPanel","linear","metaData","setMetaData","metadata","invokeMetaDataApi","metaKeys","Object","keys","loadMetaData","useCallback","element","renderItem","isArray","decodeURIComponent","Box","metadataLinear","Table","table","TableBody","TableRow","TableCell","component","scope","align","padding","margin","fontWeight","restProps","startIcon","items","titleLabel","objectActions","actionItem","action","fileName","fileNameText","overflow","textOverflow","props","strings","FileBookIcon","FileCodeIcon","FileConfigIcon","FileDbIcon","FileFontIcon","FileImageIcon","FileLockIcon","FileMissingIcon","FileMusicIcon","FilePdfIcon","FilePptIcon","FileTxtIcon","FileVideoIcon","FileXlsIcon","FileZipIcon","extensionToIcon","extensions","displayFileIconName","returnOnlyIcon","elementString","ObjectBrowserIcon","ObjectBrowserFolderIcon","lowercaseElement","etc","ext","indexOf","splitItem","system","distributedSetup","pathLabel","newTileHeader","onCloseAndUpdate","newKey","setNewKey","newLabel","setNewLabel","isSending","setIsSending","deleteEnabled","setDeleteEnabled","deleteKey","setDeleteKey","deleteLabel","setDeleteLabel","currentTags","tags","currTagKeys","currentItem","pop","wrapText","cleanObject","verID","SecureComponent","scopes","resource","flexFlow","tagKey","tag","matchAll","errorProps","deleteIcon","onDelete","Chip","size","Close","onDeleteTag","InputBoxWrapper","placeholder","trim","newTag","newTagList","closeInspectModalAndRefresh","inspectOpen","inspectPath","volumeName","isEncrypt","setIsEncrypt","decryptionKey","setDecryptionKey","insFileName","setInsFileName","makeRequest","url","fetch","method","performInspect","file","encodeURIComponent","volume","urlOfInspectApi","ok","json","resErr","errorMessage","message","detailedError","code","blob","filename","headers","decryptKey","getCookieValue","performDownload","deleteCookie","KeyRevealer","emptyFile","is_latest","last_modified","legal_hold_status","setSnackBarMessage","setNewObject","updateProgress","completeObject","setLoadingObjectInfo","setLoadingVersions","setSelectedVersion","rewindDate","bucketToRewind","loadingObjectInfo","ObjectDetailsTitle","objectNameContainer","headerForSection","buttonsStyles","actionsTray","textStyleUtils","locking","onClosePanel","shareFileModalOpen","setShareFileModalOpen","retentionModalOpen","setRetentionModalOpen","tagModalOpen","setTagModalOpen","legalholdOpen","setLegalholdOpen","inspectModalOpen","setInspectModalOpen","setActualInfo","allInfoElements","setAllInfoElements","objectToShare","setObjectToShare","versions","setVersions","setDeleteOpen","previewOpen","setPreviewOpen","totalVersionsSize","setTotalVersionsSize","objectNameArray","infoElement","find","el","result","tVersionSize","reduce","acc","currValue","tagKeys","objectResources","multiActionButtons","object","identityDownload","getTime","Math","random","done","instanceID","percentage","prefix","waitingForFile","download","progress","downloadObject","is_delete_marker","extensionPreview","ShareFile","dataObject","updateInfo","closeAndReload","reload","PreviewFileModal","content_type","onClosePreview","TagsModal","reloadObjectData","LinearProgress","textAlign","detailContainer","niceBytes","niceBytesInt","lastModified","currentTime","modifiedTime","difTime","formatTime","niceDaysInt","calculateLastModifyTime","etag","displayParsedDate","displayNiceBytes","String","listModeColumns","elementKey","renderFunction","enableSort","renderFullObject","contentTextAlign","rewindModeColumns","state","modalBasic","versionID","objectPath","restoreOpen","restoreLoading","setRestoreLoading","RecoverIcon","confirmButtonProps","bgColor","mainFileVersionItem","intermediateLayer","borderBottomColor","versionContainer","minHeight","buttonContainer","versionData","ctrItem","content","left","versionInfo","isSelected","onShare","onDownload","onRestore","onPreview","globalClick","disableButtons","versionItemButtons","pill","button","spacing","buttonDisabled","stopPropagation","setDeleteLoading","typeConfirm","setTypeConfirm","searchVersions","loadingVersions","versionsContainer","noBottomBorder","versionsVirtualPanel","flexGrow","screenTitleContainer","bottom","sortByLabel","hrClass","tableStyles","objectBrowserExtras","containerForHeader","restoreVersionOpen","setRestoreVersionOpen","restoreVersion","setRestoreVersion","sortValue","setSortValue","deleteNonCurrentOpen","setDeleteNonCurrentOpen","onShareItem","onPreviewItem","onRestoreItem","onDownloadItem","onGlobalClick","filteredRecords","version","includes","totalSpace","sort","a","b","dateA","dateB","DeleteNonCurrent","reloadAfterDelete","ScreenTitle","listIcon","titleSpacer","subTitle","bucketDetails","detailsSpacer","actions","SelectWrapper","options","VirtualizedList","rowRenderFunction","elementIndex","versOrd","totalItems","defaultHeight","HistoryIcon","RefreshIcon","DeleteIcon","DeleteMultipleObjects","RewindEnable","baseDnDStyle","outline","activeDnDStyle","acceptDnDStyle","defLoading","Typography","resetRewind","setBucketDetailsLoad","setBucketInfo","openList","setSearchObjects","setShowDeletedObjects","setObjectDetailsView","setSelectedObjectView","setLoadingObjectsList","buckets","routesList","downloadingFiles","loadingBucket","bucketInfo","searchObjects","showDeleted","detailsOpen","objectDetailsOpen","selectedInternalPaths","loading","loadingObjects","withRouter","browsePaper","backgroundImage","badgeOverlap","screenTitle","paddingTop","paddingRight","searchField","maxWidth","labelStyle","breadcrumbsContainer","match","records","setRecords","deleteMultipleOpen","setDeleteMultipleOpen","loadingStartTime","setLoadingStartTime","loadingMessage","setLoadingMessage","loadingVersioning","setLoadingVersioning","isVersioned","setIsVersioned","loadingLocking","setLoadingLocking","lockingEnabled","setLockingEnabled","rewindSelect","setRewindSelect","selectedObjects","setSelectedObjects","selectedPreview","setSelectedPreview","sortDirection","setSortDirection","currentSortField","setCurrentSortField","iniLoad","setIniLoad","canShareFile","setCanShareFile","canPreviewFile","setCanPreviewFile","quota","setQuota","params","fileUpload","folderUpload","setAttribute","quotaVals","displayDeleteObject","displayListObjects","callback","delay","savedCallback","setInterval","clearInterval","useInterval","timeDelta","now","ceil","updateMessage","is_versioned","object_locking_enabled","decodedIPaths","pathPrefix","decodedPath","currentTimestamp","urlTake","rewindParsed","currDateISO","objects","folders","files","forEach","record","push","recordsInElement","pathTest","found","pathPrefixChopped","i","parentPath","handleUploadButton","newFiles","uploadObject","folderPath","uploadPromise","Promise","resolve","reject","uploadUrl","blobFile","Blob","encodedPath","relativeFolderPath","finalFolderPath","identity","xhr","XMLHttpRequest","areMultipleFiles","errorMessages","withCredentials","onload","response","JSON","detailedMessage","upload","addEventListener","floor","loaded","total","onerror","onloadend","formData","FormData","append","send","uploadFilePromises","allSettled","results","errors","totalFiles","successUploadedFiles","onDrop","acceptedFiles","newFolderPath","useDropzone","noClick","getRootProps","getInputProps","isDragActive","isDragAccept","dndStyles","useMemo","pageTitle","currentPath","sortASC","sortListObjects","payload","reverse","concat","forceRefresh","tableActions","idElement","newPath","sendOnlyId","filteredItem","fileObject","refresh","PageLayout","creation_date","access","Badge","badgeContent","invisible","multiple","closeMenu","click","tableBlock","borderTop","CheckboxWrapper","overrideLabelClasses","noTopMargin","TableWrapper","itemActions","columns","entityName","idField","customPaperHeight","selectedItems","onSelect","targetD","elements","customEmptyMessage","sortConfig","currentSort","currentDirection","triggerSort","sortData","newSortDirection","sortBy","onSelectAll","rowStyle","delete_flag","setSearchVersions","breadcrumLink","textDecoration","backToBuckets","PageHeader","BackLink","IAM_PAGES","IAM_PERMISSIONS","IAM_ROLES","SettingsIcon","middleComponent","SearchBox","dateContainer","dateInputContainer","durationInputs","validityIndicator","invalidDurationText","validityText","initialDate","maxDays","entity","selectedDays","setSelectedDays","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","setValidDate","moment","dateSelected","setDateSelected","hours","minutes","add","calculateNewTime","format","valid","extraInputProps","min","max","noLabelMinWidth","validityLabel","validTill","CopyIcon","setModalSnackMessage","shareLinkInfo","copyShareLink","copyShareLinkInput","copyShareLinkBtn","shareURL","setShareURL","isLoadingVersion","setIsLoadingVersion","isLoadingFile","setIsLoadingFile","selectedDate","setSelectedDate","dateValid","setDateValid","setVersionID","latestVersion","elem","slDate","currDate","diffDate","newDate","PredefinedList","iframeContainer","iframeBase","iframeHidden","isFullscreen","setLoading","basename","document","baseURI","replace","window","location","origin","objectType","iframeLoaded","autoPlay","controls","muted","playsInline","onPlay","src","alt","onLoad","allowTransparency","wideLimit","PreviewFileContent","fileSize","progressCallback","completeCallback","anchor","createElement","body","appendChild","req","evt","percentComplete","round","responseType","onreadystatechange","readyState","rspHeader","getResponseHeader","link","href","URL","createObjectURL","removeChild","fileExtension","fieldSort","localeCompare","WrappedComponent","fallback","ComponentWithSuspense","Suspense","predefinedList","multiLine","prefinedContainer","predefinedTitle","innerContentMultiline","innerContent","onSuccess","onError","setIsLoading","data","modalSnackMessage","modalSnackBar","deleteDialogStyles","customDialogSize","snackBarCommon","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","fullWidth","detailedErrorMsg","scroll","reason","titleText","closeContainer","closeButton","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","adornment","adornmentPosition","overrideClass","inputProps","disableUnderline","InputProps","itemStatusMap","RenderItemLine","isItemLoaded","loadMoreItems","startIndex","stopIndex","itemCount","onItemsRendered","itemSize","shown","setShown","sm","overlayIcon","readOnly","overlayAction","navigator","clipboard","writeText"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"static/js/6233.04f53be4.chunk.js","mappings":"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","sources":["screens/Console/ObjectBrowser/BrowserBreadcrumbs.tsx","screens/Console/Buckets/ListBuckets/UploadFilesButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DetailsListPanel.tsx","screens/Console/Common/FormComponents/DateSelector/utils.ts","screens/Console/Common/FormComponents/DateSelector/DateSelector.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetRetention.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteObject.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetLegalHoldModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ObjectMetaData.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectActionButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ActionsListSection.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/IconWithLabel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/utils.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/TagsModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/InspectObject.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjectsHelpers.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/RestoreFileVersion.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SpecificVersionPill.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/FileVersionItem.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteNonCurrent.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx","screens/Console/Buckets/BucketDetails/BrowserHandler.tsx","screens/Console/Common/FormComponents/DaysSelector/DaysSelector.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ShareFile.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileContent.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileModal.tsx","screens/Console/Buckets/ListBuckets/Objects/utils.ts","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Common/VirtualizedList/VirtualizedList.tsx","screens/Console/Tools/KeyRevealer.tsx"],"sourcesContent":["// 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, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Link } from \"react-router-dom\";\nimport { Button, IconButton, Tooltip } from \"@mui/material\";\nimport { ObjectBrowserState } from \"./types\";\nimport { objectBrowserCommon } from \"../Common/FormComponents/common/styleLibrary\";\nimport { encodeFileName } from \"../../../common/utils\";\nimport { BackCaretIcon, NewPathIcon } from \"../../../icons\";\nimport { hasPermission } from \"../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../common/SecureComponent/permissions\";\nimport { BucketObjectItem } from \"../Buckets/ListBuckets/Objects/ListObjects/types\";\nimport { setVersionsModeEnabled } from \"./actions\";\nimport history from \"../../../history\";\nimport withSuspense from \"../Common/Components/withSuspense\";\n\nconst CreateFolderModal = withSuspense(\n React.lazy(\n () => import(\"../Buckets/ListBuckets/Objects/ListObjects/CreateFolderModal\")\n )\n);\n\ninterface ObjectBrowserReducer {\n objectBrowser: ObjectBrowserState;\n}\n\ninterface IObjectBrowser {\n classes: any;\n bucketName: string;\n internalPaths: string;\n rewindEnabled?: boolean;\n versionsMode: boolean;\n versionedFile: string;\n hidePathButton?: boolean;\n existingFiles: BucketObjectItem[];\n additionalOptions?: React.ReactNode;\n setVersionsModeEnabled: typeof setVersionsModeEnabled;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...objectBrowserCommon,\n });\n\nconst BrowserBreadcrumbs = ({\n classes,\n bucketName,\n internalPaths,\n rewindEnabled,\n existingFiles,\n versionsMode,\n versionedFile,\n hidePathButton,\n setVersionsModeEnabled,\n additionalOptions,\n}: IObjectBrowser) => {\n const [createFolderOpen, setCreateFolderOpen] = useState(false);\n\n let paths = internalPaths;\n\n if (internalPaths !== \"\") {\n paths = `/${internalPaths}`;\n }\n\n const splitPaths = paths.split(\"/\").filter((path) => path !== \"\");\n const lastBreadcrumbsIndex = splitPaths.length - 1;\n\n let breadcrumbsMap = splitPaths.map((objectItem: string, index: number) => {\n const subSplit = `${splitPaths.slice(0, index + 1).join(\"/\")}/`;\n const route = `/buckets/${bucketName}/browse/${\n subSplit ? `${encodeFileName(subSplit)}` : ``\n }`;\n\n if (index === lastBreadcrumbsIndex && objectItem === versionedFile) {\n return null;\n }\n\n return (\n \n / \n {index === lastBreadcrumbsIndex ? (\n {objectItem}\n ) : (\n {\n setVersionsModeEnabled(false);\n }}\n >\n {objectItem}\n \n )}\n \n );\n });\n\n let versionsItem: any[] = [];\n\n if (versionsMode) {\n versionsItem = [\n \n / {versionedFile} - Versions\n ,\n ];\n }\n\n const listBreadcrumbs: any[] = [\n \n {\n setVersionsModeEnabled(false);\n }}\n >\n {bucketName}\n \n ,\n ...breadcrumbsMap,\n ...versionsItem,\n ];\n\n const closeAddFolderModal = () => {\n setCreateFolderOpen(false);\n };\n\n const goBackFunction = () => {\n if (versionsMode) {\n setVersionsModeEnabled(false);\n } else {\n history.goBack();\n }\n };\n\n return (\n
\n {createFolderOpen && (\n \n )}\n \n \n \n \n
\n {listBreadcrumbs}\n
\n
{additionalOptions}
\n \n {!hidePathButton && (\n \n \n \n )}\n
\n );\n};\n\nconst mapStateToProps = ({ objectBrowser }: ObjectBrowserReducer) => ({\n rewindEnabled: get(objectBrowser, \"rewind.rewindEnabled\", false),\n versionsMode: get(objectBrowser, \"versionsMode\", false),\n versionedFile: get(objectBrowser, \"versionedFile\", \"\"),\n});\n\nconst mapDispatchToProps = {\n setVersionsModeEnabled,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(BrowserBreadcrumbs));\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 { Menu, MenuItem } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport ListItemText from \"@mui/material/ListItemText\";\nimport ListItemIcon from \"@mui/material/ListItemIcon\";\nimport { UploadFolderIcon, UploadIcon } from \"../../../../icons\";\nimport RBIconButton from \"../BucketDetails/SummaryItems/RBIconButton\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../../common/SecureComponent\";\n\ninterface IUploadFilesButton {\n uploadPath: string;\n bucketName: string;\n forceDisable?: boolean;\n uploadFileFunction: (closeFunction: () => void) => void;\n uploadFolderFunction: (closeFunction: () => void) => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n listUploadIcons: {\n height: 20,\n \"& .min-icon\": {\n width: 18,\n fill: \"rgba(0,0,0,0.87)\",\n },\n },\n });\n\nconst UploadFilesButton = ({\n uploadPath,\n bucketName,\n forceDisable = false,\n uploadFileFunction,\n uploadFolderFunction,\n classes,\n}: IUploadFilesButton) => {\n const [anchorEl, setAnchorEl] = React.useState(null);\n const openUploadMenu = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n const handleCloseUpload = () => {\n setAnchorEl(null);\n };\n\n const uploadObjectAllowed = hasPermission(uploadPath, [\n IAM_SCOPES.S3_PUT_OBJECT,\n ]);\n const uploadFolderAllowed = hasPermission(\n bucketName,\n [IAM_SCOPES.S3_PUT_OBJECT],\n false,\n true\n );\n\n const uploadEnabled: boolean = uploadObjectAllowed || uploadFolderAllowed;\n\n return (\n \n }\n color=\"primary\"\n variant={\"contained\"}\n disabled={forceDisable || !uploadEnabled}\n />\n \n \n );\n};\n\nexport default withStyles(styles)(UploadFilesButton);\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\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, IconButton } from \"@mui/material\";\nimport { ClosePanelIcon } from \"../../../../../../icons\";\n\ninterface IDetailsListPanel {\n classes: any;\n open: boolean;\n closePanel: () => void;\n children: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n detailsList: {\n borderColor: \"#EAEDEE\",\n backgroundColor: \"#fff\",\n borderWidth: 0,\n borderStyle: \"solid\",\n borderRadius: 3,\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n width: 0,\n transitionDuration: \"0.3s\",\n overflowX: \"hidden\",\n overflowY: \"auto\",\n position: \"relative\",\n opacity: 0,\n marginLeft: -1,\n \"&.open\": {\n width: 300,\n minWidth: 300,\n borderLeftWidth: 1,\n opacity: 1,\n },\n },\n closePanel: {\n position: \"absolute\",\n right: 0,\n top: 8,\n \"& .min-icon\": {\n width: 14,\n },\n },\n });\n\nconst DetailsListPanel = ({\n classes,\n open,\n closePanel,\n children,\n}: IDetailsListPanel) => {\n return (\n \n \n \n \n {children}\n \n );\n};\n\nexport default withStyles(styles)(DetailsListPanel);\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 months = [\n { value: \"01\", label: \"January\" },\n { value: \"02\", label: \"February\" },\n { value: \"03\", label: \"March\" },\n { value: \"04\", label: \"April\" },\n { value: \"05\", label: \"May\" },\n { value: \"06\", label: \"June\" },\n { value: \"07\", label: \"July\" },\n { value: \"08\", label: \"August\" },\n { value: \"09\", label: \"September\" },\n { value: \"10\", label: \"October\" },\n { value: \"11\", label: \"November\" },\n { value: \"12\", label: \"December\" },\n];\n\nexport const days = Array.from(Array(31), (_, num) => num + 1);\n\nconst currentYear = new Date().getFullYear();\n\nexport const years = Array.from(\n Array(25),\n (_, numYear) => numYear + currentYear\n);\n\nexport const validDate = (year: string, month: string, day: string): any[] => {\n const currentDate = Date.parse(`${year}-${month}-${day}`);\n\n if (isNaN(currentDate)) {\n return [false, \"\"];\n }\n\n const parsedMonth = parseInt(month);\n const parsedDay = parseInt(day);\n\n const monthForString = parsedMonth < 10 ? `0${parsedMonth}` : parsedMonth;\n const dayForString = parsedDay < 10 ? `0${parsedDay}` : parsedDay;\n\n const parsedDate = new Date(currentDate).toISOString().split(\"T\")[0];\n const dateString = `${year}-${monthForString}-${dayForString}`;\n\n return [parsedDate === dateString, dateString];\n};\n\n// twoDigitDate gets a two digit string number used for months or days\n// returns \"NaN\" if number is NaN\nexport const twoDigitDate = (num: number): string => {\n return num < 10 ? `0${num}` : `${num}`;\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 React, {\n useState,\n forwardRef,\n useImperativeHandle,\n useEffect,\n} from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport { SelectChangeEvent } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport InputLabel from \"@mui/material/InputLabel\";\nimport Tooltip from \"@mui/material/Tooltip\";\nimport FormControl from \"@mui/material/FormControl\";\nimport Select from \"@mui/material/Select\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport InputBase from \"@mui/material/InputBase\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport FormSwitchWrapper from \"../FormSwitchWrapper/FormSwitchWrapper\";\nimport { days, months, validDate, years } from \"./utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n dateInput: {\n \"&:not(:last-child)\": {\n marginRight: 22,\n },\n },\n ...fieldBasic,\n ...tooltipHelper,\n labelContainer: {\n flex: 1,\n },\n fieldContainer: {\n ...fieldBasic.fieldContainer,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n paddingBottom: 10,\n marginTop: 11,\n marginBottom: 6,\n },\n fieldContainerBorder: {\n borderBottom: \"#9c9c9c 1px solid\",\n marginBottom: 20,\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n \"& .MuiSelect-icon\": {\n color: \"#000\",\n \"&.Mui-disabled\": {\n color: \"#9c9c9c\",\n },\n },\n },\n input: {\n borderBottom: 0,\n fontSize: 12,\n },\n })\n)(InputBase);\n\ninterface IDateSelectorProps {\n classes: any;\n id: string;\n label: string;\n disableOptions?: boolean;\n addSwitch?: boolean;\n tooltip?: string;\n borderBottom?: boolean;\n value?: string;\n onDateChange: (date: string, isValid: boolean) => any;\n}\n\nconst DateSelector = forwardRef(\n (\n {\n classes,\n id,\n label,\n disableOptions = false,\n addSwitch = false,\n tooltip = \"\",\n borderBottom = false,\n onDateChange,\n value = \"\",\n }: IDateSelectorProps,\n ref: any\n ) => {\n useImperativeHandle(ref, () => ({ resetDate }));\n\n const [dateEnabled, setDateEnabled] = useState(false);\n const [month, setMonth] = useState(\"\");\n const [day, setDay] = useState(\"\");\n const [year, setYear] = useState(\"\");\n\n useEffect(() => {\n // verify if there is a current value\n // assume is in the format \"2021-12-30\"\n if (value !== \"\") {\n const valueSplit = value.split(\"-\");\n setYear(valueSplit[0]);\n setMonth(valueSplit[1]);\n // Turn to single digit to be displayed on dropdown buttons\n setDay(`${parseInt(valueSplit[2])}`);\n }\n }, [value]);\n\n useEffect(() => {\n const [isValid, dateString] = validDate(year, month, day);\n onDateChange(dateString, isValid);\n }, [month, day, year, onDateChange]);\n\n const resetDate = () => {\n setMonth(\"\");\n setDay(\"\");\n setYear(\"\");\n };\n\n const isDateDisabled = () => {\n if (disableOptions) {\n return disableOptions;\n } else if (addSwitch) {\n return !dateEnabled;\n } else {\n return false;\n }\n };\n\n const onMonthChange = (e: SelectChangeEvent) => {\n setMonth(e.target.value as string);\n };\n\n const onDayChange = (e: SelectChangeEvent) => {\n setDay(e.target.value as string);\n };\n\n const onYearChange = (e: SelectChangeEvent) => {\n setYear(e.target.value as string);\n };\n\n return (\n \n
\n \n );\n }\n);\n\nexport default withStyles(styles)(DateSelector);\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, useRef, 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 Grid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IFileInfo } from \"./types\";\nimport { setModalErrorSnackMessage } from \"../../../../../../actions\";\nimport { twoDigitDate } from \"../../../../Common/FormComponents/DateSelector/utils\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport RadioGroupSelector from \"../../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport DateSelector from \"../../../../Common/FormComponents/DateSelector/DateSelector\";\nimport api from \"../../../../../../common/api\";\nimport { encodeFileName } from \"../../../../../../common/utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n dateSelector: {\n \"& div\": {\n borderBottom: 0,\n marginBottom: 0,\n\n \"& div:nth-child(2)\": {\n border: \"1px solid #EAEAEA\",\n paddingLeft: 5,\n\n \"& div\": {\n border: 0,\n },\n },\n },\n },\n });\n\ninterface ISetRetentionProps {\n classes: any;\n open: boolean;\n closeModalAndRefresh: (updateInfo: boolean) => void;\n objectName: string;\n bucketName: string;\n objectInfo: IFileInfo;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\ninterface IRefObject {\n resetDate: () => void;\n}\n\nconst SetRetention = ({\n classes,\n open,\n closeModalAndRefresh,\n objectName,\n objectInfo,\n bucketName,\n setModalErrorSnackMessage,\n}: ISetRetentionProps) => {\n const [statusEnabled, setStatusEnabled] = useState(true);\n const [type, setType] = useState(\"\");\n const [date, setDate] = useState(\"\");\n const [isDateValid, setIsDateValid] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const [alreadyConfigured, setAlreadyConfigured] = useState(false);\n\n useEffect(() => {\n if (objectInfo.retention_mode) {\n setType(objectInfo.retention_mode.toLowerCase());\n setAlreadyConfigured(true);\n }\n // get retention_until_date if defined\n if (objectInfo.retention_until_date) {\n const valueDate = new Date(objectInfo.retention_until_date);\n if (valueDate.toString() !== \"Invalid Date\") {\n const year = valueDate.getFullYear();\n const month = twoDigitDate(valueDate.getMonth() + 1);\n const day = valueDate.getDate();\n if (!isNaN(day) && month !== \"NaN\" && !isNaN(year)) {\n setDate(`${year}-${month}-${day}`);\n }\n }\n setAlreadyConfigured(true);\n }\n }, [objectInfo]);\n\n const dateElement = useRef(null);\n\n const dateFieldDisabled = () => {\n return !(statusEnabled && (type === \"governance\" || type === \"compliance\"));\n };\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n };\n\n const resetForm = () => {\n setStatusEnabled(false);\n setType(\"\");\n if (dateElement.current) {\n dateElement.current.resetDate();\n }\n };\n\n const addRetention = (\n selectedObject: string,\n versionId: string | null,\n expireDate: string\n ) => {\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/retention?prefix=${encodeFileName(\n selectedObject\n )}&version_id=${versionId}`,\n {\n expires: expireDate,\n mode: type,\n }\n )\n .then((res: any) => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setIsSaving(false);\n });\n };\n\n const disableRetention = (\n selectedObject: string,\n versionId: string | null\n ) => {\n api\n .invoke(\n \"DELETE\",\n `/api/v1/buckets/${bucketName}/objects/retention?prefix=${encodeFileName(\n selectedObject\n )}&version_id=${versionId}`\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setIsSaving(false);\n });\n };\n\n const saveNewRetentionPolicy = () => {\n setIsSaving(true);\n const selectedObject = objectInfo.name;\n const versionId = objectInfo.version_id;\n\n const expireDate =\n !statusEnabled && type === \"governance\" ? \"\" : `${date}T23:59:59Z`;\n\n if (!statusEnabled && type === \"governance\") {\n disableRetention(selectedObject, versionId);\n\n return;\n }\n\n addRetention(selectedObject, versionId, expireDate);\n };\n\n const showSwitcher =\n alreadyConfigured && (type === \"governance\" || type === \"\");\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n
\n Selected Object: {objectName}\n
\n \n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(SetRetention));\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, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { decodeFileName } from \"../../../../../../common/utils\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport { ConfirmDeleteIcon } from \"../../../../../../icons\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\n\ninterface IDeleteObjectProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObject: string;\n selectedBucket: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n versioning: boolean;\n selectedVersion?: string;\n}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n setErrorSnackMessage,\n versioning,\n selectedVersion = \"\",\n}: IDeleteObjectProps) => {\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 const [deleteVersions, setDeleteVersions] = useState(false);\n\n if (!selectedObject) {\n return null;\n }\n const onConfirmDelete = () => {\n const decodedSelectedObject = decodeFileName(selectedObject);\n const recursive = decodedSelectedObject.endsWith(\"/\");\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/buckets/${selectedBucket}/objects?path=${selectedObject}${\n selectedVersion !== \"\"\n ? `&version_id=${selectedVersion}`\n : `&recursive=${recursive}&all_versions=${deleteVersions}`\n }`\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete: \n {decodeFileName(selectedObject)}{\" \"}\n {selectedVersion !== \"\" ? (\n \n \n \n Version ID:\n \n {selectedVersion}\n \n ) : (\n \"\"\n )}\n ? \n \n {versioning && selectedVersion === \"\" && (\n {\n setDeleteVersions(!deleteVersions);\n }}\n description=\"\"\n />\n )}\n \n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(DeleteObject);\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, useEffect } 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 get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../../../actions\";\nimport { IFileInfo } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport api from \"../../../../../../common/api\";\nimport { encodeFileName } from \"../../../../../../common/utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\n\ninterface ISetRetentionProps {\n classes: any;\n open: boolean;\n closeModalAndRefresh: (reload: boolean) => void;\n objectName: string;\n bucketName: string;\n actualInfo: IFileInfo;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst SetLegalHoldModal = ({\n classes,\n open,\n closeModalAndRefresh,\n objectName,\n bucketName,\n actualInfo,\n setModalErrorSnackMessage,\n}: ISetRetentionProps) => {\n const [legalHoldEnabled, setLegalHoldEnabled] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const versionId = actualInfo.version_id;\n\n useEffect(() => {\n const status = get(actualInfo, \"legal_hold_status\", \"OFF\");\n setLegalHoldEnabled(status === \"ON\");\n }, [actualInfo]);\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n setIsSaving(true);\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/legalhold?prefix=${encodeFileName(\n objectName\n )}&version_id=${versionId}`,\n { status: legalHoldEnabled ? \"enabled\" : \"disabled\" }\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setIsSaving(false);\n });\n };\n\n const resetForm = () => {\n setLegalHoldEnabled(false);\n };\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n \n Object: {bucketName}\n \n\n \n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(SetLegalHoldModal));\n","import React, { useCallback, useEffect, useState, Fragment } from \"react\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { MetadataResponse } from \"./types\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, Table, TableBody, TableCell, TableRow } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n detailsPanel,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { withStyles } from \"@mui/styles\";\n\ninterface IObjectMetadata {\n bucketName: string;\n internalPaths: string;\n classes?: any;\n actualInfo: any;\n linear?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n propertiesIcon: {\n marginLeft: 5,\n \"& .min-icon\": {\n height: 12,\n },\n },\n\n capitalizeFirst: {\n textTransform: \"capitalize\",\n \"& .min-icon\": {\n width: 16,\n height: 16,\n },\n },\n titleCol: {\n width: \"25%\",\n },\n titleItem: {\n width: \"35%\",\n },\n ...spacingUtils,\n ...detailsPanel,\n });\n\nconst ObjectMetaData = ({\n bucketName,\n internalPaths,\n classes,\n actualInfo,\n linear = false,\n}: IObjectMetadata) => {\n const [metaData, setMetaData] = useState({});\n\n const onMetaDataSuccess = (res: MetadataResponse) => {\n let metadata = get(res, \"objectMetadata\", {});\n\n setMetaData(metadata);\n };\n const onMetaDataError = (err: ErrorResponseHandler) => false;\n\n const [, invokeMetaDataApi] = useApi(onMetaDataSuccess, onMetaDataError);\n\n const metaKeys = Object.keys(metaData);\n const loadMetaData = useCallback(() => {\n invokeMetaDataApi(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects/metadata?prefix=${internalPaths}`\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [bucketName, internalPaths, actualInfo]);\n\n useEffect(() => {\n if (actualInfo) {\n loadMetaData();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [actualInfo, loadMetaData]);\n\n if (linear) {\n return (\n \n {metaKeys.map((element: string, index: number) => {\n const renderItem = Array.isArray(metaData[element])\n ? metaData[element].map(decodeURIComponent).join(\", \")\n : decodeURIComponent(metaData[element]);\n\n return (\n \n {element}\n \n {renderItem}\n \n );\n })}\n \n );\n }\n\n return (\n \n \n
\n \n \n );\n};\n\nexport default withStyles(styles)(ObjectMetaData);\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\";\nimport { Button } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ntype ObjectActionButtonProps = {\n disabled?: boolean;\n onClick: () => void | any;\n icon: React.ReactNode;\n label: string;\n [x: string]: any;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: \"0 15px\",\n height: 22,\n margin: 0,\n color: \"#5E5E5E\",\n fontWeight: \"normal\",\n fontSize: 14,\n whiteSpace: \"nowrap\",\n width: \"100%\",\n justifyContent: \"flex-start\",\n \"&:hover\": {\n backgroundColor: \"transparent\",\n color: \"#000\",\n },\n \"& .min-icon\": {\n width: 11,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n });\n\nconst ObjectActionButton = ({\n disabled,\n onClick,\n icon,\n label,\n classes,\n ...restProps\n}: ObjectActionButtonProps) => {\n return (\n \n );\n};\n\nexport default withStyles(styles)(ObjectActionButton);\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 ObjectActionButton from \"./ObjectActionButton\";\nimport { withStyles } from \"@mui/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { detailsPanel } from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nconst styles = () =>\n createStyles({\n ...detailsPanel,\n });\n\nexport interface MultiSelectionItem {\n action: () => void;\n label: string;\n disabled: boolean;\n icon: React.ReactNode;\n tooltip: string;\n}\n\ninterface IActionsListSectionProps {\n items: MultiSelectionItem[];\n title: string | React.ReactNode;\n classes: any;\n}\n\nconst ActionsListSection = ({\n items,\n classes,\n title,\n}: IActionsListSectionProps) => {\n return (\n \n
\n )}\n \n \n \n );\n};\n\nexport default withStyles(styles)(DaysSelector);\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 CopyToClipboard from \"react-copy-to-clipboard\";\nimport Grid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport LinearProgress from \"@mui/material/LinearProgress\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nimport { IFileInfo } from \"./types\";\nimport {\n setModalErrorSnackMessage,\n setModalSnackMessage,\n} from \"../../../../../../actions\";\nimport { AppState } from \"../../../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport api from \"../../../../../../common/api\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport PredefinedList from \"../../../../Common/FormComponents/PredefinedList/PredefinedList\";\nimport DaysSelector from \"../../../../Common/FormComponents/DaysSelector/DaysSelector\";\nimport { encodeFileName } from \"../../../../../../common/utils\";\n\nconst CopyIcon = React.lazy(() => import(\"../../../../../../icons/CopyIcon\"));\n\nconst styles = (theme: Theme) =>\n createStyles({\n shareLinkInfo: {\n fontSize: 13,\n fontWeight: 400,\n },\n copyShareLink: {\n display: \"flex\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n },\n copyShareLinkInput: {\n \"& div:first-child\": {\n marginTop: 0,\n },\n \"@media (max-width: 900px)\": {\n minWidth: 250,\n },\n },\n copyShareLinkBtn: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"@media (max-width: 900px)\": {\n marginTop: 10,\n },\n },\n ...modalStyleUtils,\n ...formFieldStyles,\n });\n\ninterface IShareFileProps {\n classes: any;\n open: boolean;\n bucketName: string;\n dataObject: IFileInfo;\n distributedSetup: boolean;\n closeModalAndRefresh: () => void;\n setModalSnackMessage: typeof setModalSnackMessage;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst ShareFile = ({\n classes,\n open,\n closeModalAndRefresh,\n bucketName,\n dataObject,\n distributedSetup,\n setModalSnackMessage,\n setModalErrorSnackMessage,\n}: IShareFileProps) => {\n const [shareURL, setShareURL] = useState(\"\");\n const [isLoadingVersion, setIsLoadingVersion] = useState(true);\n const [isLoadingFile, setIsLoadingFile] = useState(false);\n const [selectedDate, setSelectedDate] = useState(\"\");\n const [dateValid, setDateValid] = useState(true);\n const [versionID, setVersionID] = useState(\"null\");\n\n const initialDate = new Date();\n\n const dateChanged = (newDate: string, isValid: boolean) => {\n setDateValid(isValid);\n if (isValid) {\n setSelectedDate(newDate);\n return;\n }\n setSelectedDate(\"\");\n setShareURL(\"\");\n };\n\n useEffect(() => {\n // In case version is undefined, we get the latest version of the object\n if (dataObject.version_id === undefined) {\n // In case it is not distributed setup, then we default to \"null\";\n if (distributedSetup) {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects?prefix=${encodeFileName(\n dataObject.name\n )}${distributedSetup ? \"&with_versions=true\" : \"\"}`\n )\n .then((res: IFileInfo[]) => {\n const result = get(res, \"objects\", []);\n\n const latestVersion = result.find(\n (elem: IFileInfo) => elem.is_latest\n );\n\n if (latestVersion) {\n setVersionID(latestVersion.version_id);\n return;\n }\n\n // Version couldn't ve retrieved, we default\n setVersionID(\"null\");\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n });\n\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(\"null\");\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(dataObject.version_id || \"null\");\n setIsLoadingVersion(false);\n }, [bucketName, dataObject, distributedSetup, setModalErrorSnackMessage]);\n\n useEffect(() => {\n if (dateValid && !isLoadingVersion) {\n setIsLoadingFile(true);\n setShareURL(\"\");\n\n const slDate = new Date(`${selectedDate}`);\n const currDate = new Date();\n\n const diffDate = Math.ceil(\n (slDate.getTime() - currDate.getTime()) / 1000\n );\n\n if (diffDate > 0) {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects/share?prefix=${encodeFileName(\n dataObject.name\n )}&version_id=${versionID}${\n selectedDate !== \"\" ? `&expires=${diffDate}s` : \"\"\n }`\n )\n .then((res: string) => {\n setShareURL(res);\n setIsLoadingFile(false);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setShareURL(\"\");\n setIsLoadingFile(false);\n });\n }\n }\n }, [\n dataObject,\n selectedDate,\n bucketName,\n dateValid,\n setShareURL,\n setModalErrorSnackMessage,\n distributedSetup,\n isLoadingVersion,\n versionID,\n ]);\n\n return (\n \n {\n closeModalAndRefresh();\n }}\n >\n {isLoadingVersion && (\n \n \n \n )}\n {!isLoadingVersion && (\n \n \n This is a temporary URL with integrated access credentials for\n sharing objects valid for up to 7 days.\n \n The temporary URL expires after the configured time limit.\n \n \n \n \n \n \n \n \n\n \n \n }\n onClick={() => {\n setModalSnackMessage(\"Share URL Copied to clipboard\");\n }}\n disabled={shareURL === \"\" || isLoadingFile}\n >\n Copy\n \n \n \n \n \n )}\n \n \n );\n};\n\nconst mapStateToProps = ({ system }: AppState) => ({\n distributedSetup: get(system, \"distributedSetup\", false),\n});\n\nconst connector = connect(mapStateToProps, {\n setModalSnackMessage,\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ShareFile));\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, useState } from \"react\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, LinearProgress } from \"@mui/material\";\nimport { BucketObjectItem } from \"../ListObjects/types\";\nimport { extensionPreview } from \"../utils\";\nimport { encodeFileName } from \"../../../../../../common/utils\";\nimport clsx from \"clsx\";\n\nconst styles = () =>\n createStyles({\n iframeContainer: {\n border: \"0px\",\n flex: \"1 1 auto\",\n width: \"100%\",\n height: 250,\n backgroundColor: \"transparent\",\n borderRadius: 5,\n\n \"&.image\": {\n height: 500,\n },\n \"&.text\": {\n height: 700,\n },\n \"&.audio\": {\n height: 150,\n },\n \"&.video\": {\n height: 350,\n },\n \"&.fullHeight\": {\n height: \"calc(100vh - 185px)\",\n },\n },\n iframeBase: {\n backgroundColor: \"#fff\",\n },\n iframeHidden: {\n display: \"none\",\n },\n });\n\ninterface IPreviewFileProps {\n bucketName: string;\n object: BucketObjectItem | null;\n isFullscreen?: boolean;\n classes: any;\n}\n\nconst PreviewFile = ({\n bucketName,\n object,\n isFullscreen = false,\n classes,\n}: IPreviewFileProps) => {\n const [loading, setLoading] = useState(true);\n\n let path = \"\";\n\n if (object) {\n const encodedPath = encodeFileName(object.name);\n let basename = document.baseURI.replace(window.location.origin, \"\");\n path = `${window.location.origin}${basename}api/v1/buckets/${bucketName}/objects/download?preview=true&prefix=${encodedPath}`;\n if (object.version_id) {\n path = path.concat(`&version_id=${object.version_id}`);\n }\n }\n\n const objectType = extensionPreview(object?.name || \"\");\n\n const iframeLoaded = () => {\n setLoading(false);\n };\n\n return (\n \n {loading && (\n \n \n \n )}\n {objectType === \"video\" && (\n \n )}\n {objectType === \"audio\" && (\n \n )}\n {objectType === \"image\" && (\n \n )}\n {objectType !== \"video\" &&\n objectType !== \"audio\" &&\n objectType !== \"image\" && (\n
\n \n
\n )}\n \n );\n};\nexport default withStyles(styles)(PreviewFile);\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 ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport PreviewFileContent from \"./PreviewFileContent\";\nimport { BucketObjectItem } from \"../ListObjects/types\";\nimport { ObjectPreviewIcon } from \"../../../../../../icons\";\n\ninterface IPreviewFileProps {\n open: boolean;\n bucketName: string;\n object: BucketObjectItem | null;\n onClosePreview: () => void;\n}\n\nconst PreviewFileModal = ({\n open,\n bucketName,\n object,\n onClosePreview,\n}: IPreviewFileProps) => {\n return (\n \n }\n >\n \n \n \n );\n};\n\nexport default PreviewFileModal;\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 { BucketObjectItem } from \"./ListObjects/types\";\n\nexport const download = (\n bucketName: string,\n objectPath: string,\n versionID: any,\n fileSize: number,\n progressCallback: (progress: number) => void,\n completeCallback: () => void\n) => {\n const anchor = document.createElement(\"a\");\n document.body.appendChild(anchor);\n let path = `/api/v1/buckets/${bucketName}/objects/download?prefix=${objectPath}`;\n if (versionID) {\n path = path.concat(`&version_id=${versionID}`);\n }\n\n var req = new XMLHttpRequest();\n req.open(\"GET\", path, true);\n req.addEventListener(\n \"progress\",\n function (evt) {\n var percentComplete = Math.round((evt.loaded / fileSize) * 100);\n\n if (progressCallback) {\n progressCallback(percentComplete);\n }\n },\n false\n );\n\n req.responseType = \"blob\";\n req.onreadystatechange = () => {\n if (req.readyState === 4 && req.status === 200) {\n const rspHeader = req.getResponseHeader(\"Content-Disposition\");\n\n let filename = \"download\";\n if (rspHeader) {\n let rspHeaderDecoded = decodeURIComponent(rspHeader);\n filename = rspHeaderDecoded.split('\"')[1];\n }\n\n if (completeCallback) {\n completeCallback();\n }\n\n var link = document.createElement(\"a\");\n link.href = window.URL.createObjectURL(req.response);\n link.download = filename;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n };\n req.send();\n};\n\n// Review file extension by name & returns the type of preview browser that can be used\nexport const extensionPreview = (\n fileName: string\n): \"image\" | \"text\" | \"audio\" | \"video\" | \"none\" => {\n const imageExtensions = [\n \"jif\",\n \"jfif\",\n \"apng\",\n \"avif\",\n \"svg\",\n \"webp\",\n \"bmp\",\n \"ico\",\n \"jpg\",\n \"jpe\",\n \"jpeg\",\n \"gif\",\n \"png\",\n \"heic\",\n ];\n const textExtensions = [\"pdf\", \"txt\", \"json\"];\n const audioExtensions = [\"wav\", \"mp3\", \"alac\", \"aiff\", \"dsd\", \"pcm\"];\n const videoExtensions = [\n \"mp4\",\n \"avi\",\n \"mpg\",\n \"webm\",\n \"mov\",\n \"flv\",\n \"mkv\",\n \"wmv\",\n \"avchd\",\n \"mpeg-4\",\n ];\n\n let fileExtension = fileName.split(\".\").pop();\n\n if (!fileExtension) {\n return \"none\";\n }\n\n fileExtension = fileExtension.toLowerCase();\n\n if (imageExtensions.includes(fileExtension)) {\n return \"image\";\n }\n\n if (textExtensions.includes(fileExtension)) {\n return \"text\";\n }\n\n if (audioExtensions.includes(fileExtension)) {\n return \"audio\";\n }\n\n if (videoExtensions.includes(fileExtension)) {\n return \"video\";\n }\n\n return \"none\";\n};\n\nexport const sortListObjects = (fieldSort: string) => {\n switch (fieldSort) {\n case \"name\":\n return (a: BucketObjectItem, b: BucketObjectItem) =>\n a.name.localeCompare(b.name);\n case \"last_modified\":\n return (a: BucketObjectItem, b: BucketObjectItem) =>\n new Date(a.last_modified).getTime() -\n new Date(b.last_modified).getTime();\n case \"size\":\n return (a: BucketObjectItem, b: BucketObjectItem) =>\n (a.size || -1) - (b.size || -1);\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 .\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, { Fragment } from \"react\";\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 { predefinedList } from \"../common/styleLibrary\";\n\ninterface IPredefinedList {\n classes: any;\n label?: string;\n content: any;\n multiLine?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(PredefinedList);\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","// 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) 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\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\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, ReactElement } from \"react\";\nimport { FixedSizeList as List } from \"react-window\";\nimport InfiniteLoader from \"react-window-infinite-loader\";\nimport { AutoSizer } from \"react-virtualized\";\n\ninterface IVirtualizedList {\n rowRenderFunction: (index: number) => ReactElement | null;\n totalItems: number;\n defaultHeight?: number;\n}\n\nlet itemStatusMap: any = {};\nconst LOADING = 1;\nconst LOADED = 2;\n\nconst VirtualizedList = ({\n rowRenderFunction,\n totalItems,\n defaultHeight,\n}: IVirtualizedList) => {\n const isItemLoaded = (index: any) => !!itemStatusMap[index];\n\n const loadMoreItems = (startIndex: number, stopIndex: number) => {\n for (let index = startIndex; index <= stopIndex; index++) {\n itemStatusMap[index] = LOADING;\n }\n\n for (let index = startIndex; index <= stopIndex; index++) {\n itemStatusMap[index] = LOADED;\n }\n };\n\n const RenderItemLine = ({ index, style }: any) => {\n return
{rowRenderFunction(index)}
;\n };\n\n return (\n \n \n {({ onItemsRendered, ref }) => (\n \n {({ width, height }) => {\n return (\n \n {RenderItemLine}\n \n );\n }}\n \n )}\n \n \n );\n};\n\nexport default VirtualizedList;\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 { Box, Button } from \"@mui/material\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { CopyIcon } from \"../../../icons\";\nimport { useState } from \"react\";\nconst KeyRevealer = ({ value }: { value: string }) => {\n const [shown, setShown] = useState(false);\n\n return (\n \n {}}\n value={value}\n overlayIcon={}\n extraInputProps={{\n readOnly: true,\n }}\n overlayAction={() => navigator.clipboard.writeText(value)}\n />\n\n \n \n );\n};\n\nexport default KeyRevealer;\n"],"names":["CreateFolderModal","withSuspense","React","mapDispatchToProps","setVersionsModeEnabled","connector","connect","objectBrowser","rewindEnabled","get","versionsMode","versionedFile","withStyles","theme","createStyles","objectBrowserCommon","classes","bucketName","internalPaths","existingFiles","hidePathButton","additionalOptions","useState","createFolderOpen","setCreateFolderOpen","paths","splitPaths","split","filter","path","lastBreadcrumbsIndex","length","breadcrumbsMap","map","objectItem","index","subSplit","slice","join","route","encodeFileName","Fragment","style","cursor","to","onClick","toString","versionsItem","listBreadcrumbs","className","breadcrumbsMain","modalOpen","folderName","onClose","Grid","item","xs","breadcrumbs","IconButton","history","sx","border","backgroundColor","borderLeft","borderRadius","width","height","marginRight","breadcrumbsList","dir","Tooltip","title","Button","id","disabled","hasPermission","IAM_SCOPES","endIcon","disableTouchRipple","disableRipple","focusRipple","color","whiteSpace","minWidth","variant","listUploadIcons","fill","uploadPath","forceDisable","uploadFileFunction","uploadFolderFunction","anchorEl","setAnchorEl","openUploadMenu","Boolean","handleCloseUpload","uploadObjectAllowed","uploadFolderAllowed","uploadEnabled","RBIconButton","tooltip","undefined","event","currentTarget","text","icon","Menu","open","anchorOrigin","vertical","horizontal","transformOrigin","MenuItem","ListItemIcon","ListItemText","detailsList","borderColor","borderWidth","borderStyle","borderBottomLeftRadius","borderBottomRightRadius","transitionDuration","overflowX","overflowY","position","opacity","marginLeft","borderLeftWidth","closePanel","right","top","children","months","value","label","days","Array","from","_","num","currentYear","Date","getFullYear","years","numYear","SelectStyled","root","input","borderBottom","fontSize","InputBase","DateSelector","forwardRef","ref","disableOptions","addSwitch","onDateChange","useImperativeHandle","resetDate","dateEnabled","setDateEnabled","month","setMonth","day","setDay","year","setYear","useEffect","valueSplit","parseInt","currentDate","parse","isNaN","parsedMonth","parsedDay","monthForString","dayForString","parsedDate","toISOString","dateString","validDate","isValid","isDateDisabled","clsx","fieldContainer","fieldContainerBorder","labelContainer","container","InputLabel","htmlFor","inputLabel","tooltipContainer","placement","HelpIcon","FormSwitchWrapper","indicatorLabels","checked","name","onChange","e","target","switchOnly","FormControl","dateInput","Select","displayEmpty","option","dayNumber","fieldBasic","tooltipHelper","flex","display","alignItems","justifyContent","paddingBottom","marginTop","marginBottom","setModalErrorSnackMessage","formFieldStyles","modalStyleUtils","spacingUtils","dateSelector","paddingLeft","closeModalAndRefresh","objectName","objectInfo","statusEnabled","setStatusEnabled","type","setType","date","setDate","isDateValid","setIsDateValid","isSaving","setIsSaving","alreadyConfigured","setAlreadyConfigured","retention_mode","toLowerCase","retention_until_date","valueDate","getMonth","getDate","dateElement","useRef","resetForm","current","showSwitcher","ModalWrapper","spacerBottom","noValidate","autoComplete","onSubmit","preventDefault","formFieldRow","RadioGroupSelector","currentSelection","selectorOptions","modalButtonBar","selectedObject","versionId","version_id","expireDate","api","expires","mode","then","res","catch","error","addRetention","disableRetention","setErrorSnackMessage","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","versioning","selectedVersion","useApi","err","deleteLoading","invokeDeleteApi","deleteVersions","setDeleteVersions","ConfirmDialog","confirmText","isOpen","titleIcon","isLoading","onConfirm","recursive","decodeFileName","endsWith","confirmationContent","DialogContentText","description","actualInfo","legalHoldEnabled","setLegalHoldEnabled","status","propertiesIcon","capitalizeFirst","textTransform","titleCol","titleItem","detailsPanel","linear","metaData","setMetaData","metadata","invokeMetaDataApi","metaKeys","Object","keys","loadMetaData","useCallback","element","renderItem","isArray","decodeURIComponent","Box","metadataLinear","Table","table","TableBody","TableRow","TableCell","component","scope","align","padding","margin","fontWeight","restProps","startIcon","items","titleLabel","objectActions","actionItem","action","fileName","fileNameText","overflow","textOverflow","props","strings","FileBookIcon","FileCodeIcon","FileConfigIcon","FileDbIcon","FileFontIcon","FileImageIcon","FileLockIcon","FileMissingIcon","FileMusicIcon","FilePdfIcon","FilePptIcon","FileTxtIcon","FileVideoIcon","FileXlsIcon","FileZipIcon","extensionToIcon","extensions","displayFileIconName","returnOnlyIcon","elementString","ObjectBrowserIcon","ObjectBrowserFolderIcon","lowercaseElement","etc","ext","indexOf","splitItem","system","distributedSetup","pathLabel","newTileHeader","onCloseAndUpdate","newKey","setNewKey","newLabel","setNewLabel","isSending","setIsSending","deleteEnabled","setDeleteEnabled","deleteKey","setDeleteKey","deleteLabel","setDeleteLabel","currentTags","tags","currTagKeys","currentItem","pop","wrapText","cleanObject","verID","SecureComponent","scopes","resource","flexFlow","tagKey","tag","matchAll","errorProps","deleteIcon","onDelete","Chip","size","Close","onDeleteTag","InputBoxWrapper","placeholder","trim","newTag","newTagList","closeInspectModalAndRefresh","inspectOpen","inspectPath","volumeName","isEncrypt","setIsEncrypt","decryptionKey","setDecryptionKey","insFileName","setInsFileName","makeRequest","url","fetch","method","performInspect","file","encodeURIComponent","volume","urlOfInspectApi","ok","json","resErr","errorMessage","message","detailedError","code","blob","filename","headers","decryptKey","getCookieValue","performDownload","deleteCookie","KeyRevealer","emptyFile","is_latest","last_modified","legal_hold_status","setSnackBarMessage","setNewObject","updateProgress","completeObject","setLoadingObjectInfo","setLoadingVersions","setSelectedVersion","rewindDate","bucketToRewind","loadingObjectInfo","ObjectDetailsTitle","objectNameContainer","headerForSection","buttonsStyles","actionsTray","textStyleUtils","locking","onClosePanel","shareFileModalOpen","setShareFileModalOpen","retentionModalOpen","setRetentionModalOpen","tagModalOpen","setTagModalOpen","legalholdOpen","setLegalholdOpen","inspectModalOpen","setInspectModalOpen","setActualInfo","allInfoElements","setAllInfoElements","objectToShare","setObjectToShare","versions","setVersions","setDeleteOpen","previewOpen","setPreviewOpen","totalVersionsSize","setTotalVersionsSize","objectNameArray","infoElement","find","el","result","tVersionSize","reduce","acc","currValue","tagKeys","objectResources","multiActionButtons","object","identityDownload","getTime","Math","random","done","instanceID","percentage","prefix","waitingForFile","download","progress","downloadObject","is_delete_marker","extensionPreview","ShareFile","dataObject","updateInfo","closeAndReload","reload","PreviewFileModal","content_type","onClosePreview","TagsModal","reloadObjectData","LinearProgress","textAlign","detailContainer","niceBytes","niceBytesInt","lastModified","currentTime","modifiedTime","difTime","formatTime","niceDaysInt","calculateLastModifyTime","etag","displayParsedDate","displayNiceBytes","String","listModeColumns","elementKey","renderFunction","enableSort","renderFullObject","contentTextAlign","rewindModeColumns","state","modalBasic","versionID","objectPath","restoreOpen","restoreLoading","setRestoreLoading","RecoverIcon","confirmButtonProps","bgColor","mainFileVersionItem","intermediateLayer","borderBottomColor","versionContainer","minHeight","buttonContainer","versionData","ctrItem","content","left","versionInfo","isSelected","onShare","onDownload","onRestore","onPreview","globalClick","disableButtons","versionItemButtons","pill","button","spacing","buttonDisabled","stopPropagation","setDeleteLoading","typeConfirm","setTypeConfirm","searchVersions","loadingVersions","versionsContainer","noBottomBorder","versionsVirtualPanel","flexGrow","screenTitleContainer","bottom","sortByLabel","hrClass","tableStyles","objectBrowserExtras","containerForHeader","restoreVersionOpen","setRestoreVersionOpen","restoreVersion","setRestoreVersion","sortValue","setSortValue","deleteNonCurrentOpen","setDeleteNonCurrentOpen","onShareItem","onPreviewItem","onRestoreItem","onDownloadItem","onGlobalClick","filteredRecords","version","includes","totalSpace","sort","a","b","dateA","dateB","DeleteNonCurrent","reloadAfterDelete","ScreenTitle","listIcon","titleSpacer","subTitle","bucketDetails","detailsSpacer","actions","SelectWrapper","options","VirtualizedList","rowRenderFunction","elementIndex","versOrd","totalItems","defaultHeight","HistoryIcon","RefreshIcon","DeleteIcon","DeleteMultipleObjects","RewindEnable","baseDnDStyle","outline","activeDnDStyle","acceptDnDStyle","defLoading","Typography","resetRewind","setBucketDetailsLoad","setBucketInfo","openList","setSearchObjects","setShowDeletedObjects","setObjectDetailsView","setSelectedObjectView","setLoadingObjectsList","buckets","routesList","downloadingFiles","loadingBucket","bucketInfo","searchObjects","showDeleted","detailsOpen","objectDetailsOpen","selectedInternalPaths","loading","loadingObjects","withRouter","browsePaper","backgroundImage","badgeOverlap","screenTitle","paddingTop","paddingRight","searchField","maxWidth","labelStyle","breadcrumbsContainer","match","records","setRecords","deleteMultipleOpen","setDeleteMultipleOpen","loadingStartTime","setLoadingStartTime","loadingMessage","setLoadingMessage","loadingVersioning","setLoadingVersioning","isVersioned","setIsVersioned","loadingLocking","setLoadingLocking","lockingEnabled","setLockingEnabled","rewindSelect","setRewindSelect","selectedObjects","setSelectedObjects","selectedPreview","setSelectedPreview","sortDirection","setSortDirection","currentSortField","setCurrentSortField","iniLoad","setIniLoad","canShareFile","setCanShareFile","canPreviewFile","setCanPreviewFile","quota","setQuota","params","fileUpload","folderUpload","setAttribute","quotaVals","displayDeleteObject","displayListObjects","callback","delay","savedCallback","setInterval","clearInterval","useInterval","timeDelta","now","ceil","updateMessage","is_versioned","object_locking_enabled","decodedIPaths","pathPrefix","decodedPath","currentTimestamp","urlTake","rewindParsed","currDateISO","objects","folders","files","forEach","record","push","recordsInElement","pathTest","found","pathPrefixChopped","i","parentPath","handleUploadButton","newFiles","uploadObject","folderPath","uploadPromise","Promise","resolve","reject","uploadUrl","blobFile","Blob","encodedPath","relativeFolderPath","finalFolderPath","identity","xhr","XMLHttpRequest","areMultipleFiles","errorMessages","withCredentials","onload","response","JSON","detailedMessage","upload","addEventListener","floor","loaded","total","onerror","onloadend","formData","FormData","append","send","uploadFilePromises","allSettled","results","errors","totalFiles","successUploadedFiles","onDrop","acceptedFiles","newFolderPath","useDropzone","noClick","getRootProps","getInputProps","isDragActive","isDragAccept","dndStyles","useMemo","pageTitle","currentPath","sortASC","sortListObjects","payload","reverse","concat","forceRefresh","tableActions","idElement","newPath","sendOnlyId","filteredItem","fileObject","refresh","PageLayout","creation_date","access","Badge","badgeContent","invisible","multiple","closeMenu","click","tableBlock","borderTop","CheckboxWrapper","overrideLabelClasses","noTopMargin","TableWrapper","itemActions","columns","entityName","idField","customPaperHeight","selectedItems","onSelect","targetD","elements","customEmptyMessage","sortConfig","currentSort","currentDirection","triggerSort","sortData","newSortDirection","sortBy","onSelectAll","rowStyle","delete_flag","setSearchVersions","breadcrumLink","textDecoration","backToBuckets","PageHeader","BackLink","IAM_PAGES","IAM_PERMISSIONS","IAM_ROLES","SettingsIcon","middleComponent","SearchBox","dateContainer","dateInputContainer","durationInputs","validityIndicator","invalidDurationText","validityText","initialDate","maxDays","entity","selectedDays","setSelectedDays","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","setValidDate","moment","dateSelected","setDateSelected","hours","minutes","add","calculateNewTime","format","valid","extraInputProps","min","max","noLabelMinWidth","validityLabel","validTill","CopyIcon","setModalSnackMessage","shareLinkInfo","copyShareLink","copyShareLinkInput","copyShareLinkBtn","shareURL","setShareURL","isLoadingVersion","setIsLoadingVersion","isLoadingFile","setIsLoadingFile","selectedDate","setSelectedDate","dateValid","setDateValid","setVersionID","latestVersion","elem","slDate","currDate","diffDate","newDate","PredefinedList","iframeContainer","iframeBase","iframeHidden","isFullscreen","setLoading","basename","document","baseURI","replace","window","location","origin","objectType","iframeLoaded","autoPlay","controls","muted","playsInline","onPlay","src","alt","onLoad","allowTransparency","wideLimit","PreviewFileContent","fileSize","progressCallback","completeCallback","anchor","createElement","body","appendChild","req","evt","percentComplete","round","responseType","onreadystatechange","readyState","rspHeader","getResponseHeader","link","href","URL","createObjectURL","removeChild","fileExtension","fieldSort","localeCompare","WrappedComponent","fallback","ComponentWithSuspense","Suspense","predefinedList","multiLine","prefinedContainer","predefinedTitle","innerContentMultiline","innerContent","onSuccess","onError","setIsLoading","data","modalSnackMessage","modalSnackBar","deleteDialogStyles","customDialogSize","snackBarCommon","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","fullWidth","detailedErrorMsg","scroll","reason","titleText","closeContainer","closeButton","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","adornment","adornmentPosition","overrideClass","inputProps","disableUnderline","InputProps","itemStatusMap","RenderItemLine","isItemLoaded","loadMoreItems","startIndex","stopIndex","itemCount","onItemsRendered","itemSize","shown","setShown","sm","overlayIcon","readOnly","overlayAction","navigator","clipboard","writeText"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/736.e8b9f432.chunk.js b/portal-ui/build/static/js/736.e8b9f432.chunk.js
new file mode 100644
index 000000000..043a28696
--- /dev/null
+++ b/portal-ui/build/static/js/736.e8b9f432.chunk.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[736],{23804:function(e,t,n){n(72791);var i=n(11135),s=n(25787),o=n(61889),a=n(80184);t.Z=(0,s.Z)((function(e){return(0,i.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,n=e.iconComponent,i=e.title,s=e.help;return(0,a.jsx)("div",{className:t.root,children:(0,a.jsxs)(o.ZP,{container:!0,children:[(0,a.jsxs)(o.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,i]}),(0,a.jsx)(o.ZP,{item:!0,xs:12,className:t.helpText,children:s})]})})}))},9505:function(e,t,n){var i=n(29439),s=n(72791),o=n(81207);t.Z=function(e,t){var n=(0,s.useState)(!1),a=(0,i.Z)(n,2),r=a[0],l=a[1];return[r,function(n,i,s){l(!0),o.Z.invoke(n,i,s).then((function(t){l(!1),e(t)})).catch((function(e){l(!1),t(e)}))}]}},56028:function(e,t,n){var i=n(29439),s=n(1413),o=n(72791),a=n(60364),r=n(13400),l=n(55646),c=n(5574),d=n(65661),u=n(39157),p=n(11135),x=n(25787),m=n(23814),f=n(42649),h=n(29823),g=n(28057),Z=n(80184),v=(0,a.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:f.MK});t.Z=(0,x.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)({},m.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},m.sN))}))(v((function(e){var t=e.onClose,n=e.modalOpen,a=e.title,p=e.children,x=e.classes,m=e.wideLimit,f=void 0===m||m,v=e.modalSnackMessage,j=e.noContentPadding,b=e.setModalSnackMessage,y=e.titleIcon,S=void 0===y?null:y,C=(0,o.useState)(!1),I=(0,i.Z)(C,2),k=I[0],E=I[1];(0,o.useEffect)((function(){b("")}),[b]),(0,o.useEffect)((function(){if(v){if(""===v.message)return void E(!1);"error"!==v.type&&E(!0)}}),[v]);var R=f?{classes:{paper:x.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,s.Z)((0,s.Z)({open:n,classes:x},R),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:x.root,children:[(0,Z.jsxs)(d.Z,{className:x.title,children:[(0,Z.jsxs)("div",{className:x.titleText,children:[S," ",a]}),(0,Z.jsx)("div",{className:x.closeContainer,children:(0,Z.jsx)(r.Z,{"aria-label":"close",id:"close",className:x.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,Z.jsx)(h.Z,{})})})]}),(0,Z.jsx)(g.Z,{isModal:!0}),(0,Z.jsx)(l.Z,{open:k,className:x.snackBarModal,onClose:function(){E(!1),b("")},message:w,ContentProps:{className:"".concat(x.snackBar," ").concat(v&&"error"===v.type?x.errorSnackBar:"")},autoHideDuration:v&&"error"===v.type?1e4:5e3}),(0,Z.jsx)(u.Z,{className:j?"":x.content,children:p})]}))})))},736:function(e,t,n){n.r(t),n.d(t,{default:function(){return T}});var i=n(1413),s=n(29439),o=n(72791),a=n(32291),r=n(74794),l=n(64554),c=n(51691),d=n(9505),u=n(90493),p=n(76278),x=n(20068),m=n(36151),f=n(40603),h=n(54599),g=n(93656),Z=n(2148),v=n(21435),j=n(61889),b=n(60364),y=n(42649),S=n(56028),C=n(25787),I=n(11135),k=n(23814),E=n(80184),R=(0,b.$j)(null,{setErrorSnackMessage:y.Ih,setSnackBarMessage:y.y1})((0,C.Z)((function(e){return(0,I.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},k.ID),k.DF),k.bK))}))((function(e){var t=e.sites,n=e.onDeleteSite,i=e.setErrorSnackMessage,a=e.setSnackBarMessage,r=e.onRefresh,b=e.classes,y=(0,o.useState)(""),C=(0,s.Z)(y,2),I=C[0],k=C[1],R=(0,o.useState)(null),w=(0,s.Z)(R,2),M=w[0],B=w[1],D=(0,o.useState)(""),T=(0,s.Z)(D,2),N=T[0],O=T[1],F=(0,d.Z)((function(e){e.success?(B(null),a(e.status)):i({errorMessage:"Error",detailedError:e.status}),r()}),(function(e){i(e),r()})),A=(0,s.Z)(F,2),P=A[0],L=A[1],_=!1;try{new URL(N),_=!0}catch(G){_=!1}return(0,E.jsx)(l.Z,{children:(0,E.jsxs)(u.Z,{sx:{width:"100%",flex:1,padding:"0",marginTop:"25px",height:"calc( 100vh - 450px )",border:"1px solid #eaeaea",marginBottom:"25px"},component:"nav","aria-labelledby":"nested-list-subheader",children:[(0,E.jsx)(l.Z,{sx:{fontWeight:600,borderBottom:"1px solid #f1f1f1",padding:"25px 25px 25px 20px"},children:"List of Replicated Sites"}),t.map((function(e,i){var s="".concat(e.name);return(0,E.jsxs)(o.Fragment,{children:[(0,E.jsxs)(p.Z,{disableRipple:!0,sx:{display:"flex",alignItems:"center",border:"1px solid #f1f1f1",borderLeft:"0",borderRight:"0",borderTop:"0",padding:"6px 10px 6px 20px","&:hover":{background:"#bebbbb0d"},"&.expanded":{marginBottom:"0"}},children:[(0,E.jsxs)(l.Z,{sx:{flex:2,display:"grid",gridTemplateColumns:{sm:"1fr 1fr "}},children:[(0,E.jsx)(l.Z,{sx:{display:"flex",alignItems:"center",overflow:"hidden"},children:e.name}),(0,E.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center",overflow:"hidden"},children:[e.isCurrent?(0,E.jsx)(x.Z,{title:"This site/cluster",placement:"top",children:(0,E.jsx)(l.Z,{sx:{"& .min-icon":{height:"12px",fill:"green"}},children:(0,E.jsx)(g.J$,{})})}):null,(0,E.jsx)(x.Z,{title:e.endpoint,children:(0,E.jsx)(l.Z,{sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginLeft:e.isCurrent?"":"24px"},children:e.endpoint})})]})]}),(0,E.jsxs)(l.Z,{sx:{display:"flex",marginLeft:"25px",marginRight:"25px",width:"60px",flexShrink:0,"& button":{borderRadius:"50%",background:"#F8F8F8",border:"none","&:hover":{background:"#E2E2E2"},"& svg":{fill:"#696565"}}},children:[(0,E.jsx)(f.Z,{tooltip:t.length<=2?"Minimum two sites are required for replication":"Delete Site",text:"",variant:"outlined",color:"secondary",disabled:t.length<=2,icon:(0,E.jsx)(h.Z,{}),onClick:function(e){e.preventDefault(),k(s)}}),(0,E.jsx)(f.Z,{tooltip:"Edit Endpoint",text:"",variant:"contained",color:"primary",icon:(0,E.jsx)(g.dY,{}),onClick:function(t){t.preventDefault(),B(e)}})]})]}),I===s?(0,E.jsx)(Z.Z,{title:"Delete Replication Site",confirmText:"Delete",isOpen:!0,titleIcon:(0,E.jsx)(g.Nv,{}),isLoading:!1,onConfirm:function(){n(!1,[s])},onClose:function(){k("")},confirmationContent:(0,E.jsxs)(c.Z,{children:["Are you sure you want to remove the replication site:"," ",s,".?"]})}):null,(null===M||void 0===M?void 0:M.name)===s?(0,E.jsxs)(S.Z,{title:"Edit Replication Endpoint ",modalOpen:!0,titleIcon:(0,E.jsx)(g.dY,{}),onClose:function(){B(null)},children:[(0,E.jsxs)(c.Z,{children:[(0,E.jsxs)(l.Z,{sx:{display:"flex",flexFlow:"column",marginBottom:"15px"},children:[(0,E.jsxs)(l.Z,{sx:{marginBottom:"10px"},children:[(0,E.jsx)("strong",{children:"Site:"})," "," ",M.name]}),(0,E.jsxs)(l.Z,{sx:{marginBottom:"10px"},children:[(0,E.jsx)("strong",{children:"Current Endpoint:"})," "," ",M.endpoint]})]}),(0,E.jsxs)(j.ZP,{item:!0,xs:12,children:[(0,E.jsx)(l.Z,{sx:{marginBottom:"5px"},children:" New Endpoint:"}),(0,E.jsx)(v.Z,{id:"edit-rep-peer-endpoint",name:"edit-rep-peer-endpoint",placeholder:"https://dr.minio-storage:9000",onChange:function(e){O(e.target.value)},label:"",value:N})]})]}),(0,E.jsxs)(j.ZP,{item:!0,xs:12,className:b.modalButtonBar,children:[(0,E.jsx)(m.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){B(null)},children:"Close"}),(0,E.jsx)(m.Z,{type:"button",variant:"contained",color:"primary",disabled:P||!_,onClick:function(){L("PUT","api/v1/admin/site-replication",{endpoint:N,name:M.name,deploymentId:M.deploymentID})},children:"Update"})]})]}):null]},"".concat(s,"-").concat(i))}))]})})}))),w=n(72401),M=n(23804),B=n(62666),D=n(56087),T=(0,b.$j)(null,{setErrorSnackMessage:y.Ih,setSnackBarMessage:y.y1})((function(e){var t=e.setSnackBarMessage,n=(0,o.useState)([]),u=(0,s.Z)(n,2),p=u[0],x=u[1],m=(0,o.useState)(!1),v=(0,s.Z)(m,2),j=v[0],b=v[1],S=(0,d.Z)((function(e){var t=e.sites,n=e.name,s=t.findIndex((function(e){return e.name===n}));if(-1!==s){var o=t[s];o=(0,i.Z)((0,i.Z)({},o),{},{isCurrent:!0}),t.splice(s,1,o)}t.sort((function(e,t){return e.name===n?-1:t.name===n?1:0})),x(t)}),(function(e){x([])})),C=(0,s.Z)(S,2),I=C[0],k=C[1],T=function(){k("GET","api/v1/admin/site-replication")},N=(0,d.Z)((function(e){b(!1),t("Successfully deleted."),T()}),(function(e){(0,y.Ih)(e)})),O=(0,s.Z)(N,2),F=O[0],A=O[1],P=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];A("DELETE","api/v1/admin/site-replication",{all:e,sites:t})};(0,o.useEffect)((function(){T()}),[]);var L=null===p||void 0===p?void 0:p.length;return(0,E.jsxs)(o.Fragment,{children:[(0,E.jsx)(a.Z,{label:"Site Replication"}),(0,E.jsxs)(r.Z,{children:[(0,E.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:[L?(0,E.jsxs)(l.Z,{children:[(0,E.jsx)(f.Z,{tooltip:"Delete All",text:"Delete All",variant:"outlined",color:"secondary",disabled:F,icon:(0,E.jsx)(h.Z,{}),onClick:function(){b(!0)}}),(0,E.jsx)(f.Z,{tooltip:"Replication Status",text:"Replication Status",variant:"outlined",color:"primary",icon:(0,E.jsx)(g.D7,{}),onClick:function(e){e.preventDefault(),B.Z.push(D.gA.SITE_REPLICATION_STATUS)}})]}):null,(0,E.jsx)(f.Z,{tooltip:"Add Replication Sites",text:"Add Sites",variant:"contained",color:"primary",disabled:F,icon:(0,E.jsx)(g.dt,{}),onClick:function(){B.Z.push(D.gA.SITE_REPLICATION_ADD)}})]}),L?(0,E.jsx)(R,{sites:p,onDeleteSite:P,onRefresh:T}):null,I?(0,E.jsx)(l.Z,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"calc( 100vh - 450px )"},children:(0,E.jsx)(w.Z,{style:{width:16,height:16}})}):null,L||I?null:(0,E.jsx)(l.Z,{sx:{padding:"30px",border:"1px solid #eaeaea",marginTop:"15px",marginBottom:"15px",height:"calc( 100vh - 450px )"},children:"Site Replication is not configured."}),(0,E.jsx)(M.Z,{title:"Site Replication",iconComponent:(0,E.jsx)(g.aW,{}),help:(0,E.jsxs)(o.Fragment,{children:["This feature allows multiple independent MinIO sites (or clusters) that are using the same external IDentity Provider (IDP) to be configured as replicas. In this situation the set of replica sites are referred to as peer sites or just sites.",(0,E.jsx)("br",{}),(0,E.jsx)(l.Z,{children:(0,E.jsxs)("ul",{children:[(0,E.jsx)("li",{children:"Initially, only one of the sites added for replication may have data. After site-replication is successfully configured, this data is replicated to the other (initially empty) sites. Subsequently, objects may be written to any of the sites, and they will be replicated to all other sites."}),(0,E.jsx)("li",{children:"All sites must have the same deployment credentials (i.e. MINIO_ROOT_USER, MINIO_ROOT_PASSWORD)."}),(0,E.jsx)("li",{children:"All sites must be using the same external IDP(s) if any."}),(0,E.jsx)("li",{children:"For SSE-S3 or SSE-KMS encryption via KMS, all sites must have access to a central KMS deployment. server."})]})}),(0,E.jsx)("br",{}),"You can learn more at our"," ",(0,E.jsx)("a",{href:"https://github.com/minio/minio/tree/master/docs/site-replication?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})}),j?(0,E.jsx)(Z.Z,{title:"Delete All",confirmText:"Delete",isOpen:!0,titleIcon:(0,E.jsx)(g.Nv,{}),isLoading:!1,onConfirm:function(){var e=p.map((function(e){return e.name}));P(!0,e)},onClose:function(){b(!1)},confirmationContent:(0,E.jsx)(c.Z,{children:"Are you sure you want to remove all the replication sites?."})}):null]})]})}))},76278:function(e,t,n){var i=n(4942),s=n(63366),o=n(87462),a=n(72791),r=n(28182),l=n(90767),c=n(12065),d=n(47630),u=n(93736),p=n(95080),x=n(40162),m=n(42071),f=n(66199),h=n(34065),g=n(80184),Z=["alignItems","autoFocus","component","children","dense","disableGutters","divider","focusVisibleClassName","selected"],v=(0,d.ZP)(p.Z,{shouldForwardProp:function(e){return(0,d.FO)(e)||"classes"===e},name:"MuiListItemButton",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,"flex-start"===n.alignItems&&t.alignItemsFlexStart,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,s=e.ownerState;return(0,o.Z)((t={display:"flex",flexGrow:1,justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",boxSizing:"border-box",textAlign:"left",paddingTop:8,paddingBottom:8,transition:n.transitions.create("background-color",{duration:n.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,i.Z)(t,"&.".concat(h.Z.selected),(0,i.Z)({backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(h.Z.focusVisible),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,i.Z)(t,"&.".concat(h.Z.selected,":hover"),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),(0,i.Z)(t,"&.".concat(h.Z.focusVisible),{backgroundColor:n.palette.action.focus}),(0,i.Z)(t,"&.".concat(h.Z.disabled),{opacity:n.palette.action.disabledOpacity}),t),s.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},"flex-start"===s.alignItems&&{alignItems:"flex-start"},!s.disableGutters&&{paddingLeft:16,paddingRight:16},s.dense&&{paddingTop:4,paddingBottom:4})})),j=a.forwardRef((function(e,t){var n=(0,u.Z)({props:e,name:"MuiListItemButton"}),i=n.alignItems,c=void 0===i?"center":i,d=n.autoFocus,p=void 0!==d&&d,j=n.component,b=void 0===j?"div":j,y=n.children,S=n.dense,C=void 0!==S&&S,I=n.disableGutters,k=void 0!==I&&I,E=n.divider,R=void 0!==E&&E,w=n.focusVisibleClassName,M=n.selected,B=void 0!==M&&M,D=(0,s.Z)(n,Z),T=a.useContext(f.Z),N={dense:C||T.dense||!1,alignItems:c,disableGutters:k},O=a.useRef(null);(0,x.Z)((function(){p&&O.current&&O.current.focus()}),[p]);var F=(0,o.Z)({},n,{alignItems:c,dense:N.dense,disableGutters:k,divider:R,selected:B}),A=function(e){var t=e.alignItems,n=e.classes,i=e.dense,s=e.disabled,a={root:["root",i&&"dense",!e.disableGutters&&"gutters",e.divider&&"divider",s&&"disabled","flex-start"===t&&"alignItemsFlexStart",e.selected&&"selected"]},r=(0,l.Z)(a,h.t,n);return(0,o.Z)({},n,r)}(F),P=(0,m.Z)(O,t);return(0,g.jsx)(f.Z.Provider,{value:N,children:(0,g.jsx)(v,(0,o.Z)({ref:P,component:b,focusVisibleClassName:(0,r.Z)(A.focusVisible,w),ownerState:F},D,{classes:A,children:y}))})}));t.Z=j}}]);
+//# sourceMappingURL=736.e8b9f432.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/736.e8b9f432.chunk.js.map b/portal-ui/build/static/js/736.e8b9f432.chunk.js.map
new file mode 100644
index 000000000..07eab715a
--- /dev/null
+++ b/portal-ui/build/static/js/736.e8b9f432.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/736.e8b9f432.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Configurations/SiteReplication/ReplicationSites.tsx","screens/Console/Configurations/SiteReplication/SiteReplication.tsx","../node_modules/@mui/material/ListItemButton/ListItemButton.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","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","// 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) 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, { useState } from \"react\";\nimport List from \"@mui/material/List\";\nimport ListItemButton from \"@mui/material/ListItemButton\";\nimport { Box, Button, DialogContentText, Tooltip } from \"@mui/material\";\nimport { ReplicationSite } from \"./SiteReplication\";\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport TrashIcon from \"../../../../icons/TrashIcon\";\nimport { CircleIcon, ConfirmDeleteIcon, EditIcon } from \"../../../../icons\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport { connect } from \"react-redux\";\nimport { setErrorSnackMessage, setSnackBarMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalStyleUtils,\n ...formFieldStyles,\n ...spacingUtils,\n });\n\nconst ReplicationSites = ({\n sites,\n onDeleteSite,\n setErrorSnackMessage,\n setSnackBarMessage,\n onRefresh,\n classes,\n}: {\n sites: ReplicationSite[];\n onDeleteSite: (isAll: boolean, sites: string[]) => void;\n setErrorSnackMessage: (err: ErrorResponseHandler) => void;\n setSnackBarMessage: (msg: string) => void;\n onRefresh: () => void;\n classes: any;\n}) => {\n const [deleteSiteKey, setIsDeleteSiteKey] = useState(\"\");\n const [editSite, setEditSite] = useState(null);\n const [editEndPointName, setEditEndPointName] = useState(\"\");\n\n const [isEditing, invokeSiteEditApi] = useApi(\n (res: any) => {\n if (res.success) {\n setEditSite(null);\n setSnackBarMessage(res.status);\n } else {\n setErrorSnackMessage({\n errorMessage: \"Error\",\n detailedError: res.status,\n });\n }\n onRefresh();\n },\n (err: any) => {\n setErrorSnackMessage(err);\n onRefresh();\n }\n );\n const updatePeerSite = () => {\n invokeSiteEditApi(\"PUT\", `api/v1/admin/site-replication`, {\n endpoint: editEndPointName,\n name: editSite.name,\n deploymentId: editSite.deploymentID, // readonly\n });\n };\n\n let isValidEndPointUrl = false;\n\n try {\n new URL(editEndPointName);\n isValidEndPointUrl = true;\n } catch (err) {\n isValidEndPointUrl = false;\n }\n\n return (\n \n \n \n List of Replicated Sites\n \n {sites.map((siteInfo, index) => {\n const key = `${siteInfo.name}`;\n\n return (\n \n \n \n \n {siteInfo.name}\n \n \n {siteInfo.isCurrent ? (\n \n \n