diff --git a/Makefile b/Makefile index 4b306626d..158649f7c 100644 --- a/Makefile +++ b/Makefile @@ -106,3 +106,11 @@ clean: docker: @docker buildx build --output=type=docker --platform linux/amd64 -t $(TAG) --build-arg build_version=$(BUILD_VERSION) --build-arg build_time='$(BUILD_TIME)' . + +release: swagger-gen + @echo "Generating Release: $(RELEASE)" + @make assets + @yq -i e '.spec.template.spec.containers[0].image |= "minio/console:$(RELEASE)"' k8s/operator-console/base/console-deployment.yaml + @yq -i e 'select(.kind == "Deployment").spec.template.spec.containers[0].image |= "minio/console:$(RELEASE)"' k8s/operator-console/standalone/console-deployment.yaml + @git add -u . + @git add portal-ui/build/ diff --git a/k8s/operator-console/base/console-deployment.yaml b/k8s/operator-console/base/console-deployment.yaml index cc44bfbfe..b79feb72c 100644 --- a/k8s/operator-console/base/console-deployment.yaml +++ b/k8s/operator-console/base/console-deployment.yaml @@ -15,7 +15,7 @@ spec: serviceAccountName: console-sa containers: - name: console - image: minio/console:v0.14.4 + image: 'minio/console:v0.14.5' imagePullPolicy: "IfNotPresent" env: - name: CONSOLE_OPERATOR_MODE diff --git a/k8s/operator-console/standalone/console-deployment.yaml b/k8s/operator-console/standalone/console-deployment.yaml index fbbe7601d..e258477a8 100644 --- a/k8s/operator-console/standalone/console-deployment.yaml +++ b/k8s/operator-console/standalone/console-deployment.yaml @@ -32,7 +32,7 @@ spec: spec: containers: - name: console - image: minio/console:v0.14.4 + image: 'minio/console:v0.14.5' imagePullPolicy: "IfNotPresent" env: - name: CONSOLE_MINIO_SERVER diff --git a/portal-ui/build/asset-manifest.json b/portal-ui/build/asset-manifest.json index 087a5fa6f..016d3f11e 100644 --- a/portal-ui/build/asset-manifest.json +++ b/portal-ui/build/asset-manifest.json @@ -1,7 +1,7 @@ { "files": { "main.css": "./static/css/main.c4c1effe.css", - "main.js": "./static/js/main.e494763b.js", + "main.js": "./static/js/main.ab27ce1f.js", "static/js/2178.7830bed4.chunk.js": "./static/js/2178.7830bed4.chunk.js", "static/js/5282.e51b8c66.chunk.js": "./static/js/5282.e51b8c66.chunk.js", "static/js/1409.a1f80372.chunk.js": "./static/js/1409.a1f80372.chunk.js", @@ -47,8 +47,8 @@ "static/js/428.4625197b.chunk.js": "./static/js/428.4625197b.chunk.js", "static/js/1069.57853a28.chunk.js": "./static/js/1069.57853a28.chunk.js", "static/js/9080.516d04de.chunk.js": "./static/js/9080.516d04de.chunk.js", - "static/js/2094.ef1fbd5b.chunk.js": "./static/js/2094.ef1fbd5b.chunk.js", - "static/js/7950.041ee61e.chunk.js": "./static/js/7950.041ee61e.chunk.js", + "static/js/2094.8b6cdedb.chunk.js": "./static/js/2094.8b6cdedb.chunk.js", + "static/js/7950.a1c8a17e.chunk.js": "./static/js/7950.a1c8a17e.chunk.js", "static/js/8967.ec9d9b6b.chunk.js": "./static/js/8967.ec9d9b6b.chunk.js", "static/js/8961.1587a077.chunk.js": "./static/js/8961.1587a077.chunk.js", "static/js/3967.94160f6f.chunk.js": "./static/js/3967.94160f6f.chunk.js", @@ -86,7 +86,7 @@ "static/js/1973.34c45ee7.chunk.js": "./static/js/1973.34c45ee7.chunk.js", "static/js/7187.b3ba71a1.chunk.js": "./static/js/7187.b3ba71a1.chunk.js", "static/js/6173.0154f085.chunk.js": "./static/js/6173.0154f085.chunk.js", - "static/js/7146.699d8257.chunk.js": "./static/js/7146.699d8257.chunk.js", + "static/js/953.7e3f4f84.chunk.js": "./static/js/953.7e3f4f84.chunk.js", "static/js/9924.0c2cdee6.chunk.js": "./static/js/9924.0c2cdee6.chunk.js", "static/js/9193.840c0a00.chunk.js": "./static/js/9193.840c0a00.chunk.js", "static/js/7451.3135dd72.chunk.js": "./static/js/7451.3135dd72.chunk.js", @@ -134,7 +134,7 @@ "static/js/8016.b0ab3b67.chunk.js": "./static/js/8016.b0ab3b67.chunk.js", "static/js/4817.2c511e72.chunk.js": "./static/js/4817.2c511e72.chunk.js", "static/js/2253.d527f443.chunk.js": "./static/js/2253.d527f443.chunk.js", - "static/js/5482.c80a5ebb.chunk.js": "./static/js/5482.c80a5ebb.chunk.js", + "static/js/5482.dcaee6b1.chunk.js": "./static/js/5482.dcaee6b1.chunk.js", "static/js/3538.60e98cef.chunk.js": "./static/js/3538.60e98cef.chunk.js", "static/js/8749.fa0fb710.chunk.js": "./static/js/8749.fa0fb710.chunk.js", "static/js/7348.b037b952.chunk.js": "./static/js/7348.b037b952.chunk.js", @@ -145,6 +145,7 @@ "static/js/2594.77f64a1f.chunk.js": "./static/js/2594.77f64a1f.chunk.js", "static/js/440.5bb0a106.chunk.js": "./static/js/440.5bb0a106.chunk.js", "static/js/3045.0dea1c04.chunk.js": "./static/js/3045.0dea1c04.chunk.js", + "static/js/8750.02521688.chunk.js": "./static/js/8750.02521688.chunk.js", "static/js/938.8f6a5aa1.chunk.js": "./static/js/938.8f6a5aa1.chunk.js", "static/js/4105.4a4541e7.chunk.js": "./static/js/4105.4a4541e7.chunk.js", "static/js/9876.3e5a4f83.chunk.js": "./static/js/9876.3e5a4f83.chunk.js", @@ -158,7 +159,7 @@ "static/js/3453.cadd9dca.chunk.js": "./static/js/3453.cadd9dca.chunk.js", "index.html": "./index.html", "main.c4c1effe.css.map": "./static/css/main.c4c1effe.css.map", - "main.e494763b.js.map": "./static/js/main.e494763b.js.map", + "main.ab27ce1f.js.map": "./static/js/main.ab27ce1f.js.map", "2178.7830bed4.chunk.js.map": "./static/js/2178.7830bed4.chunk.js.map", "5282.e51b8c66.chunk.js.map": "./static/js/5282.e51b8c66.chunk.js.map", "1409.a1f80372.chunk.js.map": "./static/js/1409.a1f80372.chunk.js.map", @@ -204,8 +205,8 @@ "428.4625197b.chunk.js.map": "./static/js/428.4625197b.chunk.js.map", "1069.57853a28.chunk.js.map": "./static/js/1069.57853a28.chunk.js.map", "9080.516d04de.chunk.js.map": "./static/js/9080.516d04de.chunk.js.map", - "2094.ef1fbd5b.chunk.js.map": "./static/js/2094.ef1fbd5b.chunk.js.map", - "7950.041ee61e.chunk.js.map": "./static/js/7950.041ee61e.chunk.js.map", + "2094.8b6cdedb.chunk.js.map": "./static/js/2094.8b6cdedb.chunk.js.map", + "7950.a1c8a17e.chunk.js.map": "./static/js/7950.a1c8a17e.chunk.js.map", "8967.ec9d9b6b.chunk.js.map": "./static/js/8967.ec9d9b6b.chunk.js.map", "8961.1587a077.chunk.js.map": "./static/js/8961.1587a077.chunk.js.map", "3967.94160f6f.chunk.js.map": "./static/js/3967.94160f6f.chunk.js.map", @@ -243,7 +244,7 @@ "1973.34c45ee7.chunk.js.map": "./static/js/1973.34c45ee7.chunk.js.map", "7187.b3ba71a1.chunk.js.map": "./static/js/7187.b3ba71a1.chunk.js.map", "6173.0154f085.chunk.js.map": "./static/js/6173.0154f085.chunk.js.map", - "7146.699d8257.chunk.js.map": "./static/js/7146.699d8257.chunk.js.map", + "953.7e3f4f84.chunk.js.map": "./static/js/953.7e3f4f84.chunk.js.map", "9924.0c2cdee6.chunk.js.map": "./static/js/9924.0c2cdee6.chunk.js.map", "9193.840c0a00.chunk.js.map": "./static/js/9193.840c0a00.chunk.js.map", "7451.3135dd72.chunk.js.map": "./static/js/7451.3135dd72.chunk.js.map", @@ -291,7 +292,7 @@ "8016.b0ab3b67.chunk.js.map": "./static/js/8016.b0ab3b67.chunk.js.map", "4817.2c511e72.chunk.js.map": "./static/js/4817.2c511e72.chunk.js.map", "2253.d527f443.chunk.js.map": "./static/js/2253.d527f443.chunk.js.map", - "5482.c80a5ebb.chunk.js.map": "./static/js/5482.c80a5ebb.chunk.js.map", + "5482.dcaee6b1.chunk.js.map": "./static/js/5482.dcaee6b1.chunk.js.map", "3538.60e98cef.chunk.js.map": "./static/js/3538.60e98cef.chunk.js.map", "8749.fa0fb710.chunk.js.map": "./static/js/8749.fa0fb710.chunk.js.map", "7348.b037b952.chunk.js.map": "./static/js/7348.b037b952.chunk.js.map", @@ -302,6 +303,7 @@ "2594.77f64a1f.chunk.js.map": "./static/js/2594.77f64a1f.chunk.js.map", "440.5bb0a106.chunk.js.map": "./static/js/440.5bb0a106.chunk.js.map", "3045.0dea1c04.chunk.js.map": "./static/js/3045.0dea1c04.chunk.js.map", + "8750.02521688.chunk.js.map": "./static/js/8750.02521688.chunk.js.map", "938.8f6a5aa1.chunk.js.map": "./static/js/938.8f6a5aa1.chunk.js.map", "4105.4a4541e7.chunk.js.map": "./static/js/4105.4a4541e7.chunk.js.map", "9876.3e5a4f83.chunk.js.map": "./static/js/9876.3e5a4f83.chunk.js.map", @@ -316,6 +318,6 @@ }, "entrypoints": [ "static/css/main.c4c1effe.css", - "static/js/main.e494763b.js" + "static/js/main.ab27ce1f.js" ] } \ No newline at end of file diff --git a/portal-ui/build/index.html b/portal-ui/build/index.html index 8ec077627..223819484 100644 --- a/portal-ui/build/index.html +++ b/portal-ui/build/index.html @@ -1 +1 @@ -MinIO Console
\ No newline at end of file +MinIO Console
\ No newline at end of file diff --git a/portal-ui/build/static/js/1056.f7b9df60.chunk.js.map b/portal-ui/build/static/js/1056.f7b9df60.chunk.js.map index 49a547b43..f8ca798ca 100644 --- a/portal-ui/build/static/js/1056.f7b9df60.chunk.js.map +++ b/portal-ui/build/static/js/1056.f7b9df60.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/1056.f7b9df60.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/CredentialsPrompt/CredentialItem.tsx","screens/Console/Common/CredentialsPrompt/CredentialsPrompt.tsx","screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx","screens/Console/Common/FormComponents/FileSelector/utils.ts","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/GenericWizard/WizardPage.tsx","screens/Console/Common/GenericWizard/GenericWizard.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Tenants/AddTenant/Steps/TenantResources/utils.tsx","screens/Console/Tenants/AddTenant/Steps/Configure.tsx","screens/Console/Tenants/AddTenant/Steps/IdentityProvider.tsx","screens/Console/Tenants/AddTenant/Steps/Security.tsx","screens/Console/Tenants/AddTenant/Steps/Encryption.tsx","screens/Console/Tenants/AddTenant/Steps/Affinity.tsx","screens/Console/Tenants/AddTenant/Steps/Images.tsx","screens/Console/Tenants/AddTenant/Steps/helpers/AddNamespaceModal.tsx","screens/Console/Tenants/AddTenant/Steps/SizePreview.tsx","screens/Console/Tenants/AddTenant/Steps/TenantResources/TenantSizeResources.tsx","screens/Console/Tenants/AddTenant/Steps/TenantResources/TenantSize.tsx","screens/Console/Tenants/AddTenant/Steps/TenantResources/TenantSizeMK.tsx","screens/Console/Tenants/AddTenant/Steps/TenantResources/NameTenantMain.tsx","screens/Console/Tenants/AddTenant/Steps/TenantResources/TenantResources.tsx","screens/Console/Tenants/AddTenant/AddTenant.tsx","screens/Console/Tenants/ListTenants/utils.ts","screens/Console/Tenants/TenantDetails/utils.ts","screens/Console/Tenants/actions.ts","screens/shared/ErrorBlock.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 { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\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 { InputAdornment, OutlinedInput } from \"@mui/material\";\nimport BoxIconButton from \"../BoxIconButton/BoxIconButton\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { CopyIcon } from \"../../../../icons\";\nimport { fieldBasic } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n container: {\n display: \"flex\",\n flexFlow: \"column\",\n padding: \"20px 0 8px 0\",\n },\n inputWithCopy: {\n \"& .MuiInputBase-root \": {\n width: \"100%\",\n background: \"#FBFAFA\",\n \"& .MuiInputBase-input\": {\n height: \".8rem\",\n },\n \"& .MuiInputAdornment-positionEnd\": {\n marginRight: \".5rem\",\n \"& .MuiButtonBase-root\": {\n height: \"2rem\",\n },\n },\n },\n \"& .MuiButtonBase-root .min-icon\": {\n width: \".8rem\",\n height: \".8rem\",\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontSize: \".8rem\",\n },\n });\n\nconst CredentialItem = ({\n label = \"\",\n value = \"\",\n classes = {},\n}: {\n label: string;\n value: string;\n classes: any;\n}) => {\n return (\n
\n
{label}:
\n
\n \n \n {}}\n onMouseDown={() => {}}\n edge=\"end\"\n >\n \n \n \n \n }\n />\n
\n
\n );\n};\n\nexport default withStyles(styles)(CredentialItem);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { NewServiceAccount } from \"./types\";\nimport { Button } from \"@mui/material\";\nimport ModalWrapper from \"../ModalWrapper/ModalWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport CredentialItem from \"./CredentialItem\";\nimport WarnIcon from \"../../../../icons/WarnIcon\";\nimport { DownloadIcon, ServiceAccountCredentialsIcon } from \"../../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n warningBlock: {\n color: \"red\",\n fontSize: \".85rem\",\n margin: \".5rem 0 .5rem 0\",\n display: \"flex\",\n alignItems: \"center\",\n \"& svg \": {\n marginRight: \".3rem\",\n height: 16,\n width: 16,\n },\n },\n credentialTitle: {\n padding: \".8rem 0 0 0\",\n fontWeight: 600,\n fontSize: \".9rem\",\n },\n buttonContainer: {\n textAlign: \"right\",\n marginTop: \"1rem\",\n },\n credentialsPanel: {\n overflowY: \"auto\",\n maxHeight: 350,\n },\n promptTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n buttonSpacer: {\n marginRight: \".9rem\",\n },\n promptIcon: {\n marginRight: \".1rem\",\n display: \"flex\",\n alignItems: \"center\",\n height: \"2rem\",\n width: \"2rem\",\n },\n });\n\ninterface ICredentialsPromptProps {\n classes: any;\n newServiceAccount: NewServiceAccount | null;\n open: boolean;\n entity: string;\n closeModal: () => void;\n}\n\nconst download = (filename: string, text: string) => {\n let element = document.createElement(\"a\");\n element.setAttribute(\n \"href\",\n \"data:text/plain;charset=utf-8,\" + encodeURIComponent(text)\n );\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n\n document.body.removeChild(element);\n};\n\nconst CredentialsPrompt = ({\n classes,\n newServiceAccount,\n open,\n closeModal,\n entity,\n}: ICredentialsPromptProps) => {\n if (!newServiceAccount) {\n return null;\n }\n\n const consoleCreds = get(newServiceAccount, \"console\", null);\n const idp = get(newServiceAccount, \"idp\", false);\n\n return (\n {\n closeModal();\n }}\n title={\n
\n
New {entity} Created
\n
\n }\n titleIcon={}\n >\n \n \n A new {entity} has been created with the following details:\n {!idp && consoleCreds && (\n \n \n
\n Console Credentials\n
\n {Array.isArray(consoleCreds) &&\n consoleCreds.map((credentialsPair, index) => {\n return (\n <>\n \n \n \n );\n })}\n {!Array.isArray(consoleCreds) && (\n <>\n \n \n \n )}\n
\n
\n )}\n {idp ? (\n
\n Please Login via the configured external identity provider.\n
\n ) : (\n
\n \n \n Write these down, as this is the only time the secret will be\n displayed.\n \n
\n )}\n
\n \n {\n closeModal();\n }}\n color=\"primary\"\n >\n Done\n \n\n {!idp && (\n {\n let consoleExtras = {};\n\n if (consoleCreds) {\n if (!Array.isArray(consoleCreds)) {\n consoleExtras = {\n console: [\n {\n access_key: consoleCreds.accessKey,\n secret_key: consoleCreds.secretKey,\n },\n ],\n };\n } else {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n access_key: itemMap.accessKey,\n secret_key: itemMap.secretKey,\n };\n });\n\n consoleExtras = {\n console: [...cCreds],\n };\n }\n }\n\n download(\n \"credentials.json\",\n JSON.stringify({\n ...consoleExtras,\n })\n );\n }}\n endIcon={}\n variant=\"contained\"\n color=\"primary\"\n >\n Download\n \n )}\n \n
\n \n );\n};\n\nexport default withStyles(styles)(CredentialsPrompt);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport get from \"lodash/get\";\nimport { Grid, InputLabel, Tooltip } from \"@mui/material\";\nimport IconButton from \"@mui/material/IconButton\";\nimport AttachFileIcon from \"@mui/icons-material/AttachFile\";\nimport CancelIcon from \"@mui/icons-material/Cancel\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n fileInputStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { fileProcess } from \"./utils\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport ErrorBlock from \"../../../../shared/ErrorBlock\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: string, i: string) => void;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n required?: boolean;\n error?: string;\n accept?: string;\n value?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n valueString: {\n maxWidth: 350,\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n marginTop: 2,\n },\n fileInputField: {\n margin: \"13px 0\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n ...fileInputStyles,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n textBoxContainer: {\n ...fieldBasic.textBoxContainer,\n maxWidth: \"100%\",\n border: \"1px solid #eaeaea\",\n paddingLeft: \"15px\",\n },\n });\n\nconst FileSelector = ({\n label,\n classes,\n onChange,\n id,\n name,\n disabled = false,\n tooltip = \"\",\n required,\n error = \"\",\n accept = \"\",\n value = \"\",\n}: InputBoxProps) => {\n const [showFileSelector, setShowSelector] = useState(false);\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n {showFileSelector || value === \"\" ? (\n
\n {\n const fileName = get(e, \"target.files[0].name\", \"\");\n fileProcess(e, (data: any) => {\n onChange(data, fileName);\n });\n }}\n accept={accept}\n required={required}\n disabled={disabled}\n className={classes.fileInputField}\n />\n\n {value !== \"\" && (\n {\n setShowSelector(false);\n }}\n disableRipple={false}\n disableFocusRipple={false}\n size=\"small\"\n >\n \n \n )}\n\n {error !== \"\" && }\n
\n ) : (\n
\n
{value}
\n {\n setShowSelector(true);\n }}\n disableRipple={false}\n disableFocusRipple={false}\n size=\"small\"\n >\n \n \n
\n )}\n \n
\n );\n};\n\nexport default withStyles(styles)(FileSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const fileProcess = (evt: any, callback: any) => {\n const file = evt.target.files[0];\n const reader = new FileReader();\n reader.readAsDataURL(file);\n\n reader.onload = () => {\n // reader.readAsDataURL(file) output will be something like: data:application/x-x509-ca-cert;base64,LS0tLS1CRUdJTiBDRVJUSU\n // we care only about the actual base64 part (everything after \"data:application/x-x509-ca-cert;base64,\")\n const fileBase64 = reader.result;\n if (fileBase64) {\n const fileArray = fileBase64.toString().split(\"base64,\");\n\n if (fileArray.length === 2) {\n callback(fileArray[1]);\n }\n }\n };\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\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 { IWizardButton, IWizardPage } from \"./types\";\nimport { Button, LinearProgress } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wizardStepContainer: {\n display: \"flex\",\n flexDirection: \"column\",\n flex: 1,\n },\n wizardComponent: {\n overflowY: \"auto\",\n marginBottom: 10,\n height: \"calc(100vh - 100px - 80px)\",\n minHeight: 400,\n flex: 1,\n width: \"100%\",\n },\n wizardModal: {\n overflowY: \"auto\",\n marginBottom: 10,\n height: \"calc(100vh - 515px)\",\n },\n buttonsContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"flex-start\" as const,\n padding: \"10px 0\",\n borderTop: \"#EAEAEA 1px solid\",\n \"& button\": {\n marginLeft: 10,\n },\n \"&.forModal\": {\n paddingBottom: 0,\n },\n },\n buttonInnerContainer: {\n width: \"100%\",\n textAlign: \"right\" as const,\n marginRight: 15,\n },\n });\n\nconst WizardPage = ({\n classes,\n page,\n pageChange,\n loadingStep,\n forModal,\n}: IWizardPage) => {\n const buttonAction = (btn: IWizardButton) => {\n switch (btn.type) {\n case \"next\":\n pageChange(\"++\");\n break;\n case \"back\":\n pageChange(\"--\");\n break;\n case \"to\":\n pageChange(btn.toPage || 0);\n break;\n case \"custom\":\n default:\n }\n\n if (btn.action) {\n btn.action(pageChange);\n }\n };\n\n return (\n
\n
\n {page.componentRender}\n
\n {loadingStep && (\n
\n \n
\n )}\n \n
\n {page.buttons.map((btn) => {\n return (\n {\n buttonAction(btn);\n }}\n disabled={!btn.enabled}\n key={`button-${page.label}-${btn.label}`}\n >\n {btn.label}\n \n );\n })}\n
\n
\n \n );\n};\n\nexport default withStyles(styles)(WizardPage);\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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IWizardMain } from \"./types\";\nimport WizardPage from \"./WizardPage\";\nimport { Grid, List } from \"@mui/material\";\nimport ListItem from \"@mui/material/ListItem\";\nimport ListItemText from \"@mui/material/ListItemText\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wizFromContainer: {},\n wizFromModal: {\n position: \"relative\",\n },\n modalWizardSteps: {\n padding: 5,\n borderBottom: \"#eaeaea 1px solid\",\n \"& ul\": {\n padding: 0,\n marginTop: 0,\n display: \"flex\",\n justifyContent: \"space-evenly\",\n\n \"& li\": {\n listStyle: \"lower-roman\",\n \"&::marker\": {\n paddingLeft: 15,\n },\n },\n },\n },\n buttonList: {\n backgroundColor: \"transparent\",\n border: \"none\",\n cursor: \"pointer\",\n \"&:not(:disabled):hover\": {\n textDecoration: \"underline\",\n },\n \"&:selected, &:active, &:focus, &:focus:active\": {\n border: \"none\",\n outline: 0,\n boxShadow: \"none\",\n },\n },\n paddedContentGrid: {\n marginTop: 8,\n padding: \"0 10px\",\n minHeight: 400,\n },\n stepsLabel: {\n fontSize: 20,\n color: \"#393939\",\n fontWeight: 600,\n margin: \"15px 12px\",\n \"&.stepsModalTitle\": {\n textAlign: \"center\",\n width: \"100%\",\n marginTop: 0,\n marginBottom: 10,\n },\n },\n stepsMasterContainer: {\n position: \"sticky\",\n top: 0,\n backgroundColor: \"#FFFFFF\",\n width: \"100%\",\n maxHeight: 90,\n },\n verticalSteps: {\n borderRight: \"1px solid #E5E5E5\",\n background: \"#F8F8F8\",\n },\n stepsContainer: {\n paddingTop: 0,\n \"& .MuiButtonBase-root.Mui-selected\": {\n background: \"#E5E5E5\",\n },\n },\n stepItem: {\n minHeight: 60,\n borderBottom: \"1px solid #E5E5E5\",\n \"&:hover\": {\n background: \"rgba(247,247,247,0.7)\",\n },\n },\n });\n\nconst GenericWizard = ({\n classes,\n wizardSteps,\n loadingStep,\n forModal,\n}: IWizardMain) => {\n const [currentStep, setCurrentStep] = useState(0);\n\n const pageChange = (toElement: string | number) => {\n const lastPage = wizardSteps.length - 1;\n\n if (toElement === \"++\") {\n let nextPage = currentStep + 1;\n\n if (nextPage > lastPage) {\n nextPage = lastPage;\n }\n\n setCurrentStep(nextPage);\n }\n\n if (toElement === \"--\") {\n let prevPage = currentStep - 1;\n\n if (prevPage < 0) {\n prevPage = 0;\n }\n\n setCurrentStep(prevPage);\n }\n\n if (typeof toElement === \"number\") {\n let pg = toElement;\n if (toElement < 0) {\n pg = 0;\n }\n\n if (toElement > lastPage) {\n pg = lastPage;\n }\n\n setCurrentStep(pg);\n }\n };\n\n if (wizardSteps.length === 0) {\n return null;\n }\n\n const stepsList = () => {\n return (\n \n \n {wizardSteps.map((step, index) => {\n return (\n pageChange(index)}\n key={`wizard-${index.toString()}`}\n selected={currentStep === index}\n classes={{\n root: classes.stepItem,\n }}\n >\n \n \n );\n })}\n \n \n );\n };\n const stepsListModal = () => {\n return (\n
    \n {wizardSteps.map((step, index) => {\n return (\n
  • \n pageChange(index)}\n disabled={index > currentStep}\n className={classes.buttonList}\n >\n {step.label}\n \n
  • \n );\n })}\n
\n );\n };\n\n return (\n \n {forModal ? (\n \n
\n
Steps
\n
{stepsListModal()}
\n
\n
\n ) : (\n \n \n {stepsList()}\n \n \n )}\n\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(GenericWizard);\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Opts } from \"../../../ListTenants/utils\";\nimport TenantSizeMK from \"./TenantSizeMK\";\n\nexport enum IMkEnvs {\n \"aws\",\n \"azure\",\n \"gcp\",\n \"default\",\n undefined,\n}\n\nexport interface IDriveSizing {\n driveSize: string;\n sizeUnit: string;\n}\n\nexport interface IntegrationConfiguration {\n typeSelection: string;\n storageClass: string;\n CPU: number;\n memory: number;\n drivesPerServer: number;\n driveSize: IDriveSizing;\n}\n\nexport const AWSStorageTypes: Opts[] = [\n { label: \"NVME\", value: \"nvme\" },\n { label: \"HDD\", value: \"hdd\" },\n];\n\nexport const AzureStorageTypes: Opts[] = [\n { label: \"Standard_L32s_v2\", value: \"Standard_L32s_v2\" },\n { label: \"Standard_L48s_v2\", value: \"Standard_L48s_v2\" },\n { label: \"Standard_L64s_v2\", value: \"Standard_L64s_v2\" },\n];\n\nexport const resourcesConfigurations = {\n \"mp-mode-aws\": IMkEnvs.aws,\n \"mp-mode-azure\": IMkEnvs.azure,\n \"mp-mode-gcp\": IMkEnvs.gcp,\n};\n\nexport const AWSConfigurations: IntegrationConfiguration[] = [\n {\n typeSelection: \"nvme\",\n storageClass: \"nvme-i3en-12xlarge\",\n CPU: 48,\n memory: 384,\n driveSize: { driveSize: \"7500\", sizeUnit: \"Gi\" },\n drivesPerServer: 4,\n },\n {\n typeSelection: \"hdd\",\n storageClass: \"hdd-d3en-12xlarge\",\n CPU: 8,\n memory: 32,\n driveSize: { driveSize: \"12.7\", sizeUnit: \"Ti\" },\n drivesPerServer: 4,\n },\n];\n\nexport const AzureConfigurations: IntegrationConfiguration[] = [\n {\n typeSelection: \"Standard_L8s_v2\",\n storageClass: \"local-nvme\",\n CPU: 8,\n memory: 64,\n driveSize: { driveSize: \"1787\", sizeUnit: \"Gi\" },\n drivesPerServer: 1,\n },\n {\n typeSelection: \"Standard_L16s_v2\",\n storageClass: \"local-nvme\",\n CPU: 16,\n memory: 128,\n driveSize: { driveSize: \"1787\", sizeUnit: \"Gi\" },\n drivesPerServer: 2,\n },\n {\n typeSelection: \"Standard_L32s_v2\",\n storageClass: \"local-nvme\",\n CPU: 32,\n memory: 256,\n driveSize: { driveSize: \"1787\", sizeUnit: \"Gi\" },\n drivesPerServer: 4,\n },\n {\n typeSelection: \"Standard_L48s_v2\",\n storageClass: \"local-nvme\",\n CPU: 48,\n memory: 384,\n driveSize: { driveSize: \"1787\", sizeUnit: \"Gi\" },\n drivesPerServer: 6,\n },\n {\n typeSelection: \"Standard_L64s_v2\",\n storageClass: \"local-nvme\",\n CPU: 64,\n memory: 512,\n driveSize: { driveSize: \"1787\", sizeUnit: \"Gi\" },\n drivesPerServer: 8,\n },\n];\n\nexport const GCPStorageTypes: Opts[] = [{ label: \"SSD\", value: \"ssd\" }];\n\nexport const GCPConfigurations: IntegrationConfiguration[] = [\n {\n typeSelection: \"ssd\",\n storageClass: \"local-ssd\",\n CPU: 32,\n memory: 128,\n driveSize: { driveSize: \"368\", sizeUnit: \"Gi\" },\n drivesPerServer: 24,\n },\n];\n\nexport const mkPanelConfigurations = {\n [IMkEnvs.aws]: {\n variantSelectorLabel: \"Storage Type\",\n variantSelectorValues: AWSStorageTypes,\n configurations: AWSConfigurations,\n sizingComponent: ,\n },\n [IMkEnvs.azure]: {\n variantSelectorLabel: \"VM Size\",\n variantSelectorValues: AzureStorageTypes,\n configurations: AzureConfigurations,\n sizingComponent: ,\n },\n [IMkEnvs.gcp]: {\n variantSelectorLabel: \"Storage Type\",\n variantSelectorValues: GCPStorageTypes,\n configurations: GCPConfigurations,\n sizingComponent: ,\n },\n [IMkEnvs.default]: {},\n [IMkEnvs.undefined]: {},\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, { useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, Paper, SelectChangeEvent } from \"@mui/material\";\nimport {\n createTenantCommon,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { isPageValid, updateAddField } from \"../../actions\";\nimport { AppState } from \"../../../../../store\";\nimport { clearValidationError } from \"../../utils\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { ISecurityContext } from \"../../types\";\n\ninterface IConfigureProps {\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n storageClasses: any;\n classes: any;\n customImage: boolean;\n imageName: string;\n customDockerhub: boolean;\n imageRegistry: string;\n imageRegistryUsername: string;\n imageRegistryPassword: string;\n exposeMinIO: boolean;\n exposeConsole: boolean;\n prometheusCustom: boolean;\n tenantCustom: boolean;\n logSearchCustom: boolean;\n logSearchVolumeSize: string;\n logSearchSizeFactor: string;\n prometheusVolumeSize: string;\n prometheusSizeFactor: string;\n logSearchSelectedStorageClass: string;\n logSearchImage: string;\n kesImage: string;\n logSearchPostgresImage: string;\n logSearchPostgresInitImage: string;\n prometheusSelectedStorageClass: string;\n prometheusImage: string;\n prometheusSidecarImage: string;\n prometheusInitImage: string;\n selectedStorageClass: string;\n tenantSecurityContext: ISecurityContext;\n logSearchSecurityContext: ISecurityContext;\n logSearchPostgresSecurityContext: ISecurityContext;\n prometheusSecurityContext: ISecurityContext;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n configSectionItem: {\n marginRight: 15,\n\n \"& .multiContainer\": {\n border: \"1px solid red\",\n },\n },\n tenantCustomizationFields: {\n marginLeft: 30, // 2nd Level(15+15)\n width: \"88%\",\n margin: \"auto\",\n },\n containerItem: {\n marginRight: 15,\n },\n fieldGroup: {\n ...createTenantCommon.fieldGroup,\n paddingTop: 15,\n marginBottom: 25,\n },\n responsiveSectionItem: {\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n\n \"& div > div\": {\n marginBottom: 5,\n marginRight: 0,\n },\n },\n },\n\n logSearchCustomFields: {\n marginLeft: 20, // 2nd Level(15+15)\n padding: 10,\n width: \"90%\",\n margin: \"auto\",\n },\n fieldSpaceTop: {\n marginTop: 15,\n },\n prometheusCustomFields: {\n marginLeft: 20, // 2nd Level(15+15)\n padding: 10,\n width: \"90%\",\n margin: \"auto\",\n },\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst Configure = ({\n classes,\n storageClasses,\n customImage,\n imageName,\n customDockerhub,\n imageRegistry,\n imageRegistryUsername,\n imageRegistryPassword,\n exposeMinIO,\n exposeConsole,\n prometheusCustom,\n tenantCustom,\n logSearchCustom,\n logSearchVolumeSize,\n logSearchSizeFactor,\n logSearchImage,\n kesImage,\n logSearchPostgresImage,\n logSearchPostgresInitImage,\n prometheusVolumeSize,\n prometheusSizeFactor,\n logSearchSelectedStorageClass,\n prometheusSelectedStorageClass,\n prometheusImage,\n prometheusSidecarImage,\n prometheusInitImage,\n updateAddField,\n isPageValid,\n selectedStorageClass,\n tenantSecurityContext,\n logSearchSecurityContext,\n logSearchPostgresSecurityContext,\n prometheusSecurityContext,\n}: IConfigureProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n\n const configureSTClasses = [\n { label: \"Default\", value: \"default\" },\n ...storageClasses,\n ];\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"configure\", field, value);\n },\n [updateAddField]\n );\n\n // Validation\n useEffect(() => {\n let customAccountValidation: IValidation[] = [];\n if (tenantCustom) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"tenant_securityContext_runAsUser\",\n required: true,\n value: tenantSecurityContext.runAsUser,\n customValidation:\n tenantSecurityContext.runAsUser === \"\" ||\n parseInt(tenantSecurityContext.runAsUser) < 0,\n customValidationMessage: `runAsUser must be present and be 0 or more`,\n },\n {\n fieldKey: \"tenant_securityContext_runAsGroup\",\n required: true,\n value: tenantSecurityContext.runAsGroup,\n customValidation:\n tenantSecurityContext.runAsGroup === \"\" ||\n parseInt(tenantSecurityContext.runAsGroup) < 0,\n customValidationMessage: `runAsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"tenant_securityContext_fsGroup\",\n required: true,\n value: tenantSecurityContext.fsGroup,\n customValidation:\n tenantSecurityContext.fsGroup === \"\" ||\n parseInt(tenantSecurityContext.fsGroup) < 0,\n customValidationMessage: `fsGroup must be present and be 0 or more`,\n },\n ];\n }\n if (prometheusCustom) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"prometheus_storage_class\",\n required: true,\n value: prometheusSelectedStorageClass,\n customValidation: prometheusSelectedStorageClass === \"\",\n customValidationMessage: \"Field cannot be empty\",\n },\n {\n fieldKey: \"prometheus_volume_size\",\n required: true,\n value: prometheusVolumeSize,\n customValidation:\n prometheusVolumeSize === \"\" || parseInt(prometheusVolumeSize) <= 0,\n customValidationMessage: `Volume size must be present and be greater than 0`,\n },\n {\n fieldKey: \"prometheus_securityContext_runAsUser\",\n required: true,\n value: prometheusSecurityContext.runAsUser,\n customValidation:\n prometheusSecurityContext.runAsUser === \"\" ||\n parseInt(prometheusSecurityContext.runAsUser) < 0,\n customValidationMessage: `runAsUser must be present and be 0 or more`,\n },\n {\n fieldKey: \"prometheus_securityContext_runAsGroup\",\n required: true,\n value: prometheusSecurityContext.runAsGroup,\n customValidation:\n prometheusSecurityContext.runAsGroup === \"\" ||\n parseInt(prometheusSecurityContext.runAsGroup) < 0,\n customValidationMessage: `runAsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"prometheus_securityContext_fsGroup\",\n required: true,\n value: prometheusSecurityContext.fsGroup,\n customValidation:\n prometheusSecurityContext.fsGroup === \"\" ||\n parseInt(prometheusSecurityContext.fsGroup) < 0,\n customValidationMessage: `fsGroup must be present and be 0 or more`,\n },\n ];\n }\n if (logSearchCustom) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"log_search_storage_class\",\n required: true,\n value: logSearchSelectedStorageClass,\n customValidation: logSearchSelectedStorageClass === \"\",\n customValidationMessage: \"Field cannot be empty\",\n },\n {\n fieldKey: \"log_search_volume_size\",\n required: true,\n value: logSearchVolumeSize,\n customValidation:\n logSearchVolumeSize === \"\" || parseInt(logSearchVolumeSize) <= 0,\n customValidationMessage: `Volume size must be present and be greatter than 0`,\n },\n {\n fieldKey: \"logSearch_securityContext_runAsUser\",\n required: true,\n value: logSearchSecurityContext.runAsUser,\n customValidation:\n logSearchSecurityContext.runAsUser === \"\" ||\n parseInt(logSearchSecurityContext.runAsUser) < 0,\n customValidationMessage: `runAsUser must be present and be 0 or more`,\n },\n {\n fieldKey: \"logSearch_securityContext_runAsGroup\",\n required: true,\n value: logSearchSecurityContext.runAsGroup,\n customValidation:\n logSearchSecurityContext.runAsGroup === \"\" ||\n parseInt(logSearchSecurityContext.runAsGroup) < 0,\n customValidationMessage: `runAsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"logSearch_securityContext_fsGroup\",\n required: true,\n value: logSearchSecurityContext.fsGroup,\n customValidation:\n logSearchSecurityContext.fsGroup === \"\" ||\n parseInt(logSearchSecurityContext.fsGroup) < 0,\n customValidationMessage: `fsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"postgres_securityContext_runAsUser\",\n required: true,\n value: logSearchPostgresSecurityContext.runAsUser,\n customValidation:\n logSearchPostgresSecurityContext.runAsUser === \"\" ||\n parseInt(logSearchPostgresSecurityContext.runAsUser) < 0,\n customValidationMessage: `runAsUser must be present and be 0 or more`,\n },\n {\n fieldKey: \"postgres_securityContext_runAsGroup\",\n required: true,\n value: prometheusSecurityContext.runAsGroup,\n customValidation:\n logSearchPostgresSecurityContext.runAsGroup === \"\" ||\n parseInt(logSearchPostgresSecurityContext.runAsGroup) < 0,\n customValidationMessage: `runAsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"postgres_securityContext_fsGroup\",\n required: true,\n value: logSearchPostgresSecurityContext.fsGroup,\n customValidation:\n logSearchPostgresSecurityContext.fsGroup === \"\" ||\n parseInt(logSearchPostgresSecurityContext.fsGroup) < 0,\n customValidationMessage: `fsGroup must be present and be 0 or more`,\n },\n ];\n }\n\n if (customImage) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"image\",\n required: false,\n value: imageName,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage: \"Format must be of form: 'minio/minio:VERSION'\",\n },\n {\n fieldKey: \"logSearchImage\",\n required: false,\n value: logSearchImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'minio/logsearchapi:VERSION'\",\n },\n {\n fieldKey: \"kesImage\",\n required: false,\n value: kesImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage: \"Format must be of form: 'minio/kes:VERSION'\",\n },\n {\n fieldKey: \"logSearchPostgresImage\",\n required: false,\n value: logSearchPostgresImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'library/postgres:VERSION'\",\n },\n {\n fieldKey: \"logSearchPostgresInitImage\",\n required: false,\n value: logSearchPostgresInitImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'library/busybox:VERSION'\",\n },\n {\n fieldKey: \"prometheusImage\",\n required: false,\n value: prometheusImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'minio/prometheus:VERSION'\",\n },\n {\n fieldKey: \"prometheusSidecarImage\",\n required: false,\n value: prometheusSidecarImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'project/container:VERSION'\",\n },\n {\n fieldKey: \"prometheusInitImage\",\n required: false,\n value: prometheusInitImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'library/busybox:VERSION'\",\n },\n ];\n if (customDockerhub) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"registry\",\n required: true,\n value: imageRegistry,\n },\n {\n fieldKey: \"registryUsername\",\n required: true,\n value: imageRegistryUsername,\n },\n {\n fieldKey: \"registryPassword\",\n required: true,\n value: imageRegistryPassword,\n },\n ];\n }\n }\n\n const commonVal = commonFormValidation(customAccountValidation);\n\n isPageValid(\"configure\", Object.keys(commonVal).length === 0);\n\n setValidationErrors(commonVal);\n }, [\n customImage,\n imageName,\n logSearchImage,\n kesImage,\n logSearchPostgresImage,\n logSearchPostgresInitImage,\n prometheusImage,\n prometheusSidecarImage,\n prometheusInitImage,\n customDockerhub,\n imageRegistry,\n imageRegistryUsername,\n imageRegistryPassword,\n isPageValid,\n prometheusCustom,\n tenantCustom,\n logSearchCustom,\n prometheusSelectedStorageClass,\n prometheusVolumeSize,\n logSearchSelectedStorageClass,\n logSearchVolumeSize,\n tenantSecurityContext,\n logSearchSecurityContext,\n logSearchPostgresSecurityContext,\n prometheusSecurityContext,\n ]);\n\n useEffect(() => {\n // New default values in current selection is invalid\n if (storageClasses.length > 0) {\n const filterPrometheus = storageClasses.filter(\n (item: any) => item.value === prometheusSelectedStorageClass\n );\n if (filterPrometheus.length === 0) {\n updateField(\"prometheusSelectedStorageClass\", \"default\");\n }\n\n const filterLogSearch = storageClasses.filter(\n (item: any) => item.value === logSearchSelectedStorageClass\n );\n if (filterLogSearch.length === 0) {\n updateField(\"logSearchSelectedStorageClass\", \"default\");\n }\n }\n }, [\n logSearchSelectedStorageClass,\n prometheusSelectedStorageClass,\n selectedStorageClass,\n storageClasses,\n updateField,\n ]);\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n return (\n \n
\n

Configure

\n \n Basic configurations for tenant management\n \n
\n
\n

Expose Services

\n \n Whether the tenant's services should request an external IP.\n \n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"exposeMinIO\", checked);\n }}\n label={\"Expose MiniO Service\"}\n />\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"exposeConsole\", checked);\n }}\n label={\"Expose Console Service\"}\n />\n \n\n
\n

Additional Configurations

\n \n Configure SecurityContext, Storage Classes & Storage size for Log\n Search, Prometheus add-ons and your Tenant\n \n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"tenantCustom\", checked);\n }}\n label={\"Override Tenant defaults\"}\n />\n \n {tenantCustom && (\n \n
\n \n SecurityContext for MinIO\n \n \n \n
\n ) => {\n updateField(\"tenantSecurityContext\", {\n ...tenantSecurityContext,\n runAsUser: e.target.value,\n });\n cleanValidation(\"tenant_securityContext_runAsUser\");\n }}\n label=\"Run As User\"\n value={tenantSecurityContext.runAsUser}\n required\n error={\n validationErrors[\"tenant_securityContext_runAsUser\"] || \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"tenantSecurityContext\", {\n ...tenantSecurityContext,\n runAsGroup: e.target.value,\n });\n cleanValidation(\"tenant_securityContext_runAsGroup\");\n }}\n label=\"Run As Group\"\n value={tenantSecurityContext.runAsGroup}\n required\n error={\n validationErrors[\"tenant_securityContext_runAsGroup\"] ||\n \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"tenantSecurityContext\", {\n ...tenantSecurityContext,\n fsGroup: e.target.value,\n });\n cleanValidation(\"tenant_securityContext_fsGroup\");\n }}\n label=\"FsGroup\"\n value={tenantSecurityContext.fsGroup}\n required\n error={\n validationErrors[\"tenant_securityContext_fsGroup\"] || \"\"\n }\n min=\"0\"\n />\n
\n \n
\n
\n \n
\n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"tenantSecurityContext\", {\n ...tenantSecurityContext,\n runAsNonRoot: checked,\n });\n }}\n label={\"Do not run as Root\"}\n />\n
\n
\n
\n
\n )}\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"logSearchCustom\", checked);\n }}\n label={\"Override Log Search defaults\"}\n />\n \n {logSearchCustom && (\n \n \n ) => {\n updateField(\n \"logSearchSelectedStorageClass\",\n e.target.value as string\n );\n }}\n label=\"Log Search Storage Class\"\n value={logSearchSelectedStorageClass}\n options={configureSTClasses}\n disabled={configureSTClasses.length < 1}\n />\n \n \n
\n ) => {\n updateField(\"logSearchVolumeSize\", e.target.value);\n cleanValidation(\"log_search_volume_size\");\n }}\n label=\"Storage Size [Gi]\"\n value={logSearchVolumeSize}\n required\n error={validationErrors[\"log_search_volume_size\"] || \"\"}\n min=\"0\"\n />\n
\n
\n\n \n \n SecurityContext for LogSearch\n \n\n \n \n
\n ) => {\n updateField(\"logSearchSecurityContext\", {\n ...logSearchSecurityContext,\n runAsUser: e.target.value,\n });\n cleanValidation(\"logSearch_securityContext_runAsUser\");\n }}\n label=\"Run As User\"\n value={logSearchSecurityContext.runAsUser}\n required\n error={\n validationErrors[\"logSearch_securityContext_runAsUser\"] ||\n \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"logSearchSecurityContext\", {\n ...logSearchSecurityContext,\n runAsGroup: e.target.value,\n });\n cleanValidation(\"logSearch_securityContext_runAsGroup\");\n }}\n label=\"Run As Group\"\n value={logSearchSecurityContext.runAsGroup}\n required\n error={\n validationErrors[\n \"logSearch_securityContext_runAsGroup\"\n ] || \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"logSearchSecurityContext\", {\n ...logSearchSecurityContext,\n fsGroup: e.target.value,\n });\n cleanValidation(\"logSearch_securityContext_fsGroup\");\n }}\n label=\"FsGroup\"\n value={logSearchSecurityContext.fsGroup}\n required\n error={\n validationErrors[\"logSearch_securityContext_fsGroup\"] ||\n \"\"\n }\n min=\"0\"\n />\n
\n \n
\n
\n \n
\n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"logSearchSecurityContext\", {\n ...logSearchSecurityContext,\n runAsNonRoot: checked,\n });\n }}\n label={\"Do not run as Root\"}\n />\n
\n
\n \n
\n \n SecurityContext for PostgreSQL\n \n\n \n \n
\n ) => {\n updateField(\"logSearchPostgresSecurityContext\", {\n ...logSearchPostgresSecurityContext,\n runAsUser: e.target.value,\n });\n cleanValidation(\"postgres_securityContext_runAsUser\");\n }}\n label=\"Run As User\"\n value={logSearchPostgresSecurityContext.runAsUser}\n required\n error={\n validationErrors[\"postgres_securityContext_runAsUser\"] ||\n \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"logSearchPostgresSecurityContext\", {\n ...logSearchPostgresSecurityContext,\n runAsGroup: e.target.value,\n });\n cleanValidation(\"postgres_securityContext_runAsGroup\");\n }}\n label=\"Run As Group\"\n value={logSearchPostgresSecurityContext.runAsGroup}\n required\n error={\n validationErrors[\"postgres_securityContext_runAsGroup\"] ||\n \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"logSearchPostgresSecurityContext\", {\n ...logSearchPostgresSecurityContext,\n fsGroup: e.target.value,\n });\n cleanValidation(\"postgres_securityContext_fsGroup\");\n }}\n label=\"FsGroup\"\n value={logSearchPostgresSecurityContext.fsGroup}\n required\n error={\n validationErrors[\"postgres_securityContext_fsGroup\"] || \"\"\n }\n min=\"0\"\n />\n
\n \n
\n
\n \n
\n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"logSearchPostgresSecurityContext\", {\n ...logSearchPostgresSecurityContext,\n runAsNonRoot: checked,\n });\n }}\n label={\"Do not run as Root\"}\n />\n
\n
\n
\n
\n )}\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"prometheusCustom\", checked);\n }}\n label={\"Override Prometheus defaults\"}\n />\n \n {prometheusCustom && (\n \n \n ) => {\n updateField(\n \"prometheusSelectedStorageClass\",\n e.target.value as string\n );\n }}\n label=\"Prometheus Storage Class\"\n value={prometheusSelectedStorageClass}\n options={configureSTClasses}\n disabled={configureSTClasses.length < 1}\n />\n \n \n
\n ) => {\n updateField(\"prometheusVolumeSize\", e.target.value);\n cleanValidation(\"prometheus_volume_size\");\n }}\n label=\"Storage Size [Gi]\"\n value={prometheusVolumeSize}\n required\n error={validationErrors[\"prometheus_volume_size\"] || \"\"}\n min=\"0\"\n />\n
\n
\n \n \n SecurityContext for Prometheus\n \n \n \n
\n ) => {\n updateField(\"prometheusSecurityContext\", {\n ...prometheusSecurityContext,\n runAsUser: e.target.value,\n });\n cleanValidation(\"prometheus_securityContext_runAsUser\");\n }}\n label=\"Run As User\"\n value={prometheusSecurityContext.runAsUser}\n required\n error={\n validationErrors[\n \"prometheus_securityContext_runAsUser\"\n ] || \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"prometheusSecurityContext\", {\n ...prometheusSecurityContext,\n runAsGroup: e.target.value,\n });\n cleanValidation(\"prometheus_securityContext_runAsGroup\");\n }}\n label=\"Run As Group\"\n value={prometheusSecurityContext.runAsGroup}\n required\n error={\n validationErrors[\n \"prometheus_securityContext_runAsGroup\"\n ] || \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"prometheusSecurityContext\", {\n ...prometheusSecurityContext,\n fsGroup: e.target.value,\n });\n cleanValidation(\"prometheus_securityContext_fsGroup\");\n }}\n label=\"FsGroup\"\n value={prometheusSecurityContext.fsGroup}\n required\n error={\n validationErrors[\"prometheus_securityContext_fsGroup\"] ||\n \"\"\n }\n min=\"0\"\n />\n
\n \n
\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"prometheusSecurityContext\", {\n ...prometheusSecurityContext,\n runAsNonRoot: checked,\n });\n }}\n label={\"Do not run as Root\"}\n />\n \n \n \n
\n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n storageClasses: state.tenants.createTenant.storageClasses,\n customImage: state.tenants.createTenant.fields.configure.customImage,\n imageName: state.tenants.createTenant.fields.configure.imageName,\n customDockerhub: state.tenants.createTenant.fields.configure.customDockerhub,\n imageRegistry: state.tenants.createTenant.fields.configure.imageRegistry,\n imageRegistryUsername:\n state.tenants.createTenant.fields.configure.imageRegistryUsername,\n imageRegistryPassword:\n state.tenants.createTenant.fields.configure.imageRegistryPassword,\n exposeMinIO: state.tenants.createTenant.fields.configure.exposeMinIO,\n exposeConsole: state.tenants.createTenant.fields.configure.exposeConsole,\n prometheusCustom:\n state.tenants.createTenant.fields.configure.prometheusCustom,\n tenantCustom: state.tenants.createTenant.fields.configure.tenantCustom,\n logSearchCustom: state.tenants.createTenant.fields.configure.logSearchCustom,\n logSearchVolumeSize:\n state.tenants.createTenant.fields.configure.logSearchVolumeSize,\n logSearchSizeFactor:\n state.tenants.createTenant.fields.configure.logSearchSizeFactor,\n prometheusVolumeSize:\n state.tenants.createTenant.fields.configure.prometheusVolumeSize,\n prometheusSizeFactor:\n state.tenants.createTenant.fields.configure.prometheusSizeFactor,\n logSearchSelectedStorageClass:\n state.tenants.createTenant.fields.configure.logSearchSelectedStorageClass,\n logSearchImage: state.tenants.createTenant.fields.configure.logSearchImage,\n kesImage: state.tenants.createTenant.fields.configure.kesImage,\n logSearchPostgresImage:\n state.tenants.createTenant.fields.configure.logSearchPostgresImage,\n logSearchPostgresInitImage:\n state.tenants.createTenant.fields.configure.logSearchPostgresInitImage,\n prometheusSelectedStorageClass:\n state.tenants.createTenant.fields.configure.prometheusSelectedStorageClass,\n prometheusImage: state.tenants.createTenant.fields.configure.prometheusImage,\n prometheusSidecarImage:\n state.tenants.createTenant.fields.configure.prometheusSidecarImage,\n prometheusInitImage:\n state.tenants.createTenant.fields.configure.prometheusInitImage,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n tenantSecurityContext:\n state.tenants.createTenant.fields.configure.tenantSecurityContext,\n logSearchSecurityContext:\n state.tenants.createTenant.fields.configure.logSearchSecurityContext,\n logSearchPostgresSecurityContext:\n state.tenants.createTenant.fields.configure\n .logSearchPostgresSecurityContext,\n prometheusSecurityContext:\n state.tenants.createTenant.fields.configure.prometheusSecurityContext,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(Configure));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, IconButton, Paper, Tooltip, Typography } from \"@mui/material\";\nimport CasinoIcon from \"@mui/icons-material/Casino\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { isPageValid, updateAddField } from \"../../actions\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport { AppState } from \"../../../../../store\";\nimport { clearValidationError, getRandomString } from \"../../utils\";\nimport RadioGroupSelector from \"../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport RemoveIcon from \"../../../../../icons/RemoveIcon\";\n\ninterface IIdentityProviderProps {\n classes: any;\n idpSelection: string;\n accessKeys: string[];\n secretKeys: string[];\n openIDConfigurationURL: string;\n openIDClientID: string;\n openIDSecretID: string;\n openIDCallbackURL: string;\n openIDClaimName: string;\n openIDScopes: string;\n ADURL: string;\n ADSkipTLS: boolean;\n ADServerInsecure: boolean;\n ADUserNameSearchFilter: string;\n ADGroupSearchBaseDN: string;\n ADGroupSearchFilter: string;\n ADGroupNameAttribute: string;\n ADUserDNs: string[];\n ADUserNameFormat: string;\n ADLookupBindDN: string;\n ADLookupBindPassword: string;\n ADUserDNSearchBaseDN: string;\n ADUserDNSearchFilter: string;\n ADServerStartTLS: boolean;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n shortened: {\n gridTemplateColumns: \"auto auto 50px 50px\",\n display: \"grid\",\n gridGap: 15,\n marginBottom: 10,\n \"& input\": {\n fontWeight: 400,\n },\n },\n buttonTray: {\n marginLeft: 10,\n display: \"flex\",\n height: 38,\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n overlayAction: {\n marginLeft: 10,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n protocolRadioOptions: {\n display: \"flex\",\n flexFlow: \"column\",\n marginBottom: 10,\n\n \"& label\": {\n fontSize: 14,\n },\n \"& div\": {\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"baseline\",\n },\n },\n adUserDnRows: {\n display: \"flex\",\n },\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst IdentityProvider = ({\n classes,\n idpSelection,\n accessKeys,\n secretKeys,\n openIDConfigurationURL,\n openIDClientID,\n openIDSecretID,\n openIDCallbackURL,\n openIDClaimName,\n openIDScopes,\n ADURL,\n ADSkipTLS,\n ADServerInsecure,\n ADUserNameSearchFilter,\n ADGroupSearchBaseDN,\n ADGroupSearchFilter,\n ADGroupNameAttribute,\n ADUserDNs,\n ADUserNameFormat,\n ADLookupBindDN,\n ADLookupBindPassword,\n ADUserDNSearchBaseDN,\n ADUserDNSearchFilter,\n ADServerStartTLS,\n updateAddField,\n isPageValid,\n}: IIdentityProviderProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"identityProvider\", field, value);\n },\n [updateAddField]\n );\n const updateUserField = (index: number, value: string) => {\n const newUserField = [...accessKeys];\n newUserField[index] = value;\n updateField(\"accessKeys\", newUserField);\n };\n const updatePwordField = (index: number, value: string) => {\n const newUserField = [...secretKeys];\n newUserField[index] = value;\n updateField(\"secretKeys\", newUserField);\n };\n const updateADUserField = (index: number, value: string) => {\n const newADUserDNsField = [...ADUserDNs];\n newADUserDNsField[index] = value;\n updateField(\"ADUserDNs\", newADUserDNsField);\n };\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n // Validation\n\n useEffect(() => {\n let customIDPValidation: IValidation[] = [];\n\n if (idpSelection === \"Built-in\") {\n customIDPValidation = [...customIDPValidation];\n for (var i = 0; i < accessKeys.length; i++) {\n customIDPValidation.push({\n fieldKey: `accesskey-${i.toString()}`,\n required: true,\n value: accessKeys[i],\n pattern: /^[a-zA-Z0-9-]{8,63}$/,\n customPatternMessage: \"Keys must be at least length 8\",\n });\n customIDPValidation.push({\n fieldKey: `secretkey-${i.toString()}`,\n required: true,\n value: secretKeys[i],\n pattern: /^[a-zA-Z0-9-]{8,63}$/,\n customPatternMessage: \"Keys must be at least length 8\",\n });\n }\n }\n\n if (idpSelection === \"OpenID\") {\n customIDPValidation = [\n ...customIDPValidation,\n {\n fieldKey: \"openID_CONFIGURATION_URL\",\n required: true,\n value: openIDConfigurationURL,\n },\n {\n fieldKey: \"openID_clientID\",\n required: true,\n value: openIDClientID,\n },\n {\n fieldKey: \"openID_secretID\",\n required: true,\n value: openIDSecretID,\n },\n {\n fieldKey: \"openID_claimName\",\n required: true,\n value: openIDClaimName,\n },\n ];\n }\n\n if (idpSelection === \"AD\") {\n customIDPValidation = [\n ...customIDPValidation,\n {\n fieldKey: \"AD_URL\",\n required: true,\n value: ADURL,\n },\n ];\n // validate user DNs\n for (let i = 0; i < ADUserDNs.length; i++) {\n customIDPValidation.push({\n fieldKey: `ad-userdn-${i.toString()}`,\n required: true,\n value: ADUserDNs[i],\n });\n }\n }\n\n const commonVal = commonFormValidation(customIDPValidation);\n\n isPageValid(\"identityProvider\", Object.keys(commonVal).length === 0);\n\n setValidationErrors(commonVal);\n }, [\n idpSelection,\n accessKeys,\n secretKeys,\n openIDClientID,\n openIDSecretID,\n ADURL,\n ADUserNameSearchFilter,\n ADGroupSearchBaseDN,\n ADGroupSearchFilter,\n ADGroupNameAttribute,\n ADUserDNs,\n isPageValid,\n openIDConfigurationURL,\n openIDClaimName,\n ]);\n let inputs = null;\n if (idpSelection === \"Built-in\") {\n inputs = accessKeys.map((_, index) => {\n return (\n \n
\n ) => {\n updateUserField(index, e.target.value);\n cleanValidation(`accesskey-${index.toString()}`);\n }}\n index={index}\n key={`csv-accesskey-${index.toString()}`}\n error={validationErrors[`accesskey-${index.toString()}`] || \"\"}\n />\n ) => {\n updatePwordField(index, e.target.value);\n cleanValidation(`secretkey-${index.toString()}`);\n }}\n index={index}\n key={`csv-secretkey-${index.toString()}`}\n error={validationErrors[`secretkey-${index.toString()}`] || \"\"}\n />\n
\n \n
\n {\n accessKeys.push(\"\");\n secretKeys.push(\"\");\n updateUserField(accessKeys.length - 1, \"\");\n updatePwordField(secretKeys.length - 1, \"\");\n }}\n >\n \n \n
\n
\n \n
\n {\n if (accessKeys.length > 1) {\n accessKeys.splice(index, 1);\n secretKeys.splice(index, 1);\n updateUserField(\n accessKeys.length - 1,\n accessKeys[accessKeys.length - 1]\n );\n }\n }}\n >\n \n \n
\n
\n \n
\n {\n updateUserField(index, getRandomString(16));\n updatePwordField(index, getRandomString(32));\n }}\n size={\"small\"}\n >\n \n \n
\n
\n
\n
\n
\n );\n });\n }\n if (idpSelection === \"AD\") {\n inputs = ADUserDNs.map((_, index) => {\n return (\n \n
\n ) => {\n updateADUserField(index, e.target.value);\n cleanValidation(`ad-userdn-${index.toString()}`);\n }}\n index={index}\n key={`csv-ad-userdn-${index.toString()}`}\n error={validationErrors[`ad-userdn-${index.toString()}`] || \"\"}\n />\n
\n \n {\n ADUserDNs.push(\"\");\n updateADUserField(ADUserDNs.length - 1, \"\");\n }}\n >\n \n \n \n \n {\n if (ADUserDNs.length > 1) {\n ADUserDNs.splice(index, 1);\n updateUserField(\n ADUserDNs.length - 1,\n ADUserDNs[ADUserDNs.length - 1]\n );\n }\n }}\n >\n \n \n \n
\n
\n
\n );\n });\n }\n return (\n \n
\n

Identity Provider

\n \n Access to the tenant can be controlled via an external Identity\n Manager.\n \n
\n \n \n {\n updateField(\"idpSelection\", e.target.value);\n }}\n selectorOptions={[\n { label: \"Built-in\", value: \"Built-in\" },\n { label: \"OpenID\", value: \"OpenID\" },\n { label: \"Active Directory\", value: \"AD\" },\n ]}\n />\n \n {idpSelection === \"Built-in\" && (\n \n Add additional users\n {inputs}\n \n )}\n {idpSelection === \"OpenID\" && (\n \n \n ) => {\n updateField(\"openIDConfigurationURL\", e.target.value);\n cleanValidation(\"openID_CONFIGURATION_URL\");\n }}\n label=\"Configuration URL\"\n value={openIDConfigurationURL}\n placeholder=\"https://your-identity-provider.com/.well-known/openid-configuration\"\n error={validationErrors[\"openID_CONFIGURATION_URL\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"openIDClientID\", e.target.value);\n cleanValidation(\"openID_clientID\");\n }}\n label=\"Client ID\"\n value={openIDClientID}\n error={validationErrors[\"openID_clientID\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"openIDSecretID\", e.target.value);\n cleanValidation(\"openID_secretID\");\n }}\n label=\"Secret ID\"\n value={openIDSecretID}\n error={validationErrors[\"openID_secretID\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"openIDCallbackURL\", e.target.value);\n cleanValidation(\"openID_callbackURL\");\n }}\n label=\"Callback URL\"\n value={openIDCallbackURL}\n placeholder=\"https://your-console-endpoint:9443/oauth_callback\"\n error={validationErrors[\"openID_callbackURL\"] || \"\"}\n />\n \n \n ) => {\n updateField(\"openIDClaimName\", e.target.value);\n cleanValidation(\"openID_claimName\");\n }}\n label=\"Claim Name\"\n value={openIDClaimName}\n error={validationErrors[\"openID_claimName\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"openIDScopes\", e.target.value);\n cleanValidation(\"openID_scopes\");\n }}\n label=\"Scopes\"\n value={openIDScopes}\n />\n \n \n )}\n {idpSelection === \"AD\" && (\n \n \n ) => {\n updateField(\"ADURL\", e.target.value);\n cleanValidation(\"AD_URL\");\n }}\n label=\"LDAP Server Address\"\n value={ADURL}\n placeholder=\"ldap-server:636\"\n error={validationErrors[\"AD_URL\"] || \"\"}\n required\n />\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"ADSkipTLS\", checked);\n }}\n label={\"Skip TLS Verification\"}\n />\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"ADServerInsecure\", checked);\n }}\n label={\"Server Insecure\"}\n />\n \n {ADServerInsecure ? (\n \n \n Warning: All traffic with Active Directory will be unencrypted\n \n
\n
\n ) : null}\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"ADServerStartTLS\", checked);\n }}\n label={\"Start TLS connection to AD/LDAP server\"}\n />\n \n \n ) => {\n updateField(\"ADUserNameFormat\", e.target.value);\n }}\n label=\"Username Format\"\n value={ADUserNameFormat}\n placeholder=\"uid=%s,cn=accounts,dc=myldapserver,dc=com\"\n />\n \n \n ) => {\n updateField(\"ADUserNameSearchFilter\", e.target.value);\n }}\n label=\"Username Search Filter\"\n value={ADUserNameSearchFilter}\n placeholder=\"(|(objectclass=posixAccount)(uid=%s))\"\n />\n \n \n ) => {\n updateField(\"ADGroupSearchBaseDN\", e.target.value);\n }}\n label=\"Group Search Base DN\"\n value={ADGroupSearchBaseDN}\n placeholder=\"ou=hwengg,dc=min,dc=io;ou=swengg,dc=min,dc=io\"\n />\n \n \n ) => {\n updateField(\"ADGroupSearchFilter\", e.target.value);\n }}\n label=\"Group Search Filter\"\n value={ADGroupSearchFilter}\n placeholder=\"(&(objectclass=groupOfNames)(member=%s))\"\n />\n \n \n ) => {\n updateField(\"ADGroupNameAttribute\", e.target.value);\n }}\n label=\"Group Name Attribute\"\n value={ADGroupNameAttribute}\n placeholder=\"cn\"\n />\n \n \n ) => {\n updateField(\"ADLookupBindDN\", e.target.value);\n }}\n label=\"Lookup Bind DN\"\n value={ADLookupBindDN}\n placeholder=\"cn=admin,dc=min,dc=io\"\n />\n \n \n ) => {\n updateField(\"ADLookupBindPassword\", e.target.value);\n }}\n label=\"Lookup Bind Password\"\n value={ADLookupBindPassword}\n placeholder=\"admin\"\n />\n \n \n ) => {\n updateField(\"ADUserDNSearchBaseDN\", e.target.value);\n }}\n label=\"User DN Search Base DN\"\n value={ADUserDNSearchBaseDN}\n placeholder=\"dc=min,dc=io\"\n />\n \n \n ) => {\n updateField(\"ADUserDNSearchFilter\", e.target.value);\n }}\n label=\"User DN Search Filter\"\n value={ADUserDNSearchFilter}\n placeholder=\"(uid=%s)\"\n />\n \n
\n \n List of user DNs (Distinguished Names) to be Tenant Administrators\n \n \n {inputs}\n \n
\n
\n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n idpSelection: state.tenants.createTenant.fields.identityProvider.idpSelection,\n accessKeys: state.tenants.createTenant.fields.identityProvider.accessKeys,\n secretKeys: state.tenants.createTenant.fields.identityProvider.secretKeys,\n openIDConfigurationURL:\n state.tenants.createTenant.fields.identityProvider.openIDConfigurationURL,\n openIDClientID:\n state.tenants.createTenant.fields.identityProvider.openIDClientID,\n openIDSecretID:\n state.tenants.createTenant.fields.identityProvider.openIDSecretID,\n openIDCallbackURL:\n state.tenants.createTenant.fields.identityProvider.openIDCallbackURL,\n openIDClaimName:\n state.tenants.createTenant.fields.identityProvider.openIDClaimName,\n openIDScopes: state.tenants.createTenant.fields.identityProvider.openIDScopes,\n ADURL: state.tenants.createTenant.fields.identityProvider.ADURL,\n ADSkipTLS: state.tenants.createTenant.fields.identityProvider.ADSkipTLS,\n ADServerInsecure:\n state.tenants.createTenant.fields.identityProvider.ADServerInsecure,\n ADUserNameSearchFilter:\n state.tenants.createTenant.fields.identityProvider.ADUserNameSearchFilter,\n ADGroupSearchBaseDN:\n state.tenants.createTenant.fields.identityProvider.ADGroupSearchBaseDN,\n ADGroupSearchFilter:\n state.tenants.createTenant.fields.identityProvider.ADGroupSearchFilter,\n ADGroupNameAttribute:\n state.tenants.createTenant.fields.identityProvider.ADGroupNameAttribute,\n ADUserDNs: state.tenants.createTenant.fields.identityProvider.ADUserDNs,\n ADUserNameFormat:\n state.tenants.createTenant.fields.identityProvider.ADUserNameFormat,\n ADLookupBindDN:\n state.tenants.createTenant.fields.identityProvider.ADLookupBindDN,\n ADLookupBindPassword:\n state.tenants.createTenant.fields.identityProvider.ADLookupBindPassword,\n ADUserDNSearchBaseDN:\n state.tenants.createTenant.fields.identityProvider.ADUserDNSearchBaseDN,\n ADUserDNSearchFilter:\n state.tenants.createTenant.fields.identityProvider.ADUserDNSearchFilter,\n ADServerStartTLS:\n state.tenants.createTenant.fields.identityProvider.ADServerStartTLS,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(IdentityProvider));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect } 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, IconButton, Paper, Typography } from \"@mui/material\";\nimport {\n createTenantCommon,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport {\n addCaCertificate,\n addFileToCaCertificates,\n addFileToKeyPair,\n addKeyPair,\n deleteCaCertificate,\n deleteKeyPair,\n isPageValid,\n updateAddField,\n} from \"../../actions\";\nimport { AppState } from \"../../../../../store\";\nimport { KeyPair } from \"../../ListTenants/utils\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport FileSelector from \"../../../Common/FormComponents/FileSelector/FileSelector\";\nimport AddIcon from \"../../../../../icons/AddIcon\";\nimport RemoveIcon from \"../../../../../icons/RemoveIcon\";\n\ninterface ISecurityProps {\n classes: any;\n enableTLS: boolean;\n enableAutoCert: boolean;\n enableCustomCerts: boolean;\n minioCertificates: KeyPair[];\n caCertificates: KeyPair[];\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n addFileToCaCertificates: typeof addFileToCaCertificates;\n deleteCaCertificate: typeof deleteCaCertificate;\n addCaCertificate: typeof addCaCertificate;\n addKeyPair: typeof addKeyPair;\n addFileToKeyPair: typeof addFileToKeyPair;\n deleteKeyPair: typeof deleteKeyPair;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n minioCertificateRows: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n borderBottom: \"1px solid #EAEAEA\",\n \"&:last-child\": {\n borderBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n flex: 1,\n },\n },\n fileItem: {\n marginRight: 10,\n display: \"flex\",\n \"& div label\": {\n minWidth: 50,\n },\n\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n minioCertsContainer: {\n marginBottom: 15,\n },\n minioCACertsRow: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"&:last-child\": {\n borderBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n flex: 1,\n\n \"& div label\": {\n minWidth: 50,\n },\n },\n },\n rowActions: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n \"@media (max-width: 900px)\": {\n flex: 1,\n },\n },\n overlayAction: {\n marginLeft: 10,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n\n ...createTenantCommon,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst Security = ({\n classes,\n enableTLS,\n enableAutoCert,\n enableCustomCerts,\n minioCertificates,\n caCertificates,\n updateAddField,\n isPageValid,\n addFileToCaCertificates,\n deleteCaCertificate,\n addCaCertificate,\n addKeyPair,\n addFileToKeyPair,\n deleteKeyPair,\n}: ISecurityProps) => {\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"security\", field, value);\n },\n [updateAddField]\n );\n\n // Validation\n\n useEffect(() => {\n if (!enableTLS) {\n isPageValid(\"security\", true);\n return;\n }\n if (enableAutoCert) {\n isPageValid(\"security\", true);\n return;\n }\n if (enableCustomCerts) {\n isPageValid(\"security\", true);\n return;\n }\n isPageValid(\"security\", false);\n }, [enableTLS, enableAutoCert, enableCustomCerts, isPageValid]);\n\n return (\n \n
\n

Security

\n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"enableTLS\", checked);\n }}\n label={\"Enable TLS\"}\n />\n Enable TLS for the tenant, this is required for Encryption Configuration\n {enableTLS && (\n \n
\n
\n \n AutoCert: MinIO Operator will generate all TLS certificates\n automatically\n \n \n Custom certificates: Allow user to provide your own certificates\n \n
\n
\n )}\n
\n {enableTLS && (\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"enableAutoCert\", checked);\n }}\n label={\"Enable AutoCert\"}\n />\n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"enableCustomCerts\", checked);\n }}\n label={\"Custom Certificates\"}\n />\n \n {enableCustomCerts && (\n \n \n \n
\n \n MinIO Certificates\n \n {minioCertificates.map((keyPair: KeyPair) => (\n \n \n {\n addFileToKeyPair(\n keyPair.id,\n \"cert\",\n fileName,\n encodedValue\n );\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"tlsCert\"\n name=\"tlsCert\"\n label=\"Cert\"\n value={keyPair.cert}\n />\n {\n addFileToKeyPair(\n keyPair.id,\n \"key\",\n fileName,\n encodedValue\n );\n }}\n accept=\".key,.pem\"\n id=\"tlsKey\"\n name=\"tlsKey\"\n label=\"Key\"\n value={keyPair.key}\n />\n \n\n \n
\n \n \n \n
\n
\n {\n deleteKeyPair(keyPair.id);\n }}\n >\n \n \n
\n
\n \n ))}\n
\n
\n
\n\n \n \n
\n \n MinIO CA Certificates\n \n\n {caCertificates.map((keyPair: KeyPair) => (\n \n \n {\n addFileToCaCertificates(\n keyPair.id,\n \"cert\",\n fileName,\n encodedValue\n );\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"tlsCert\"\n name=\"tlsCert\"\n label=\"Cert\"\n value={keyPair.cert}\n />\n \n \n
\n
\n \n \n \n
\n
\n {\n deleteCaCertificate(keyPair.id);\n }}\n >\n \n \n
\n
\n
\n \n ))}\n
\n
\n
\n
\n )}\n
\n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n enableTLS: state.tenants.createTenant.fields.security.enableTLS,\n enableAutoCert: state.tenants.createTenant.fields.security.enableAutoCert,\n enableCustomCerts:\n state.tenants.createTenant.fields.security.enableCustomCerts,\n minioCertificates: state.tenants.createTenant.certificates.minioCertificates,\n caCertificates: state.tenants.createTenant.certificates.caCertificates,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n addFileToCaCertificates,\n deleteCaCertificate,\n addCaCertificate,\n addKeyPair,\n addFileToKeyPair,\n deleteKeyPair,\n});\n\nexport default withStyles(styles)(connector(Security));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Paper } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n addFileClientCert,\n addFileGemaltoCa,\n addFileServerCert,\n addFileVaultCa,\n addFileVaultCert,\n isPageValid,\n updateAddField,\n} from \"../../actions\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../../store\";\nimport { clearValidationError } from \"../../utils\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport FileSelector from \"../../../Common/FormComponents/FileSelector/FileSelector\";\nimport RadioGroupSelector from \"../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport { KeyPair } from \"../../ListTenants/utils\";\nimport { ISecurityContext } from \"../../types\";\n\ninterface IEncryptionProps {\n classes: any;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n addFileServerCert: typeof addFileServerCert;\n addFileClientCert: typeof addFileClientCert;\n addFileVaultCert: typeof addFileVaultCert;\n addFileVaultCa: typeof addFileVaultCa;\n addFileGemaltoCa: typeof addFileGemaltoCa;\n enableEncryption: boolean;\n encryptionType: string;\n gemaltoEndpoint: string;\n gemaltoToken: string;\n gemaltoDomain: string;\n gemaltoRetry: string;\n awsEndpoint: string;\n awsRegion: string;\n awsKMSKey: string;\n awsAccessKey: string;\n awsSecretKey: string;\n awsToken: string;\n vaultEndpoint: string;\n vaultEngine: string;\n vaultNamespace: string;\n vaultPrefix: string;\n vaultAppRoleEngine: string;\n vaultId: string;\n vaultSecret: string;\n vaultRetry: string;\n vaultPing: string;\n azureEndpoint: string;\n azureTenantID: string;\n azureClientID: string;\n azureClientSecret: string;\n gcpProjectID: string;\n gcpEndpoint: string;\n gcpClientEmail: string;\n gcpClientID: string;\n gcpPrivateKeyID: string;\n gcpPrivateKey: string;\n enableCustomCertsForKES: boolean;\n enableAutoCert: boolean;\n enableTLS: boolean;\n enableCustomCerts: boolean;\n minioCertificates: KeyPair[];\n serverCertificate: KeyPair;\n clientCertificate: KeyPair;\n vaultCertificate: KeyPair;\n vaultCA: KeyPair;\n gemaltoCA: KeyPair;\n kesSecurityContext: ISecurityContext;\n replicas: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n encryptionTypeOptions: {\n marginBottom: 15,\n },\n mutualTlsConfig: {\n marginTop: 15,\n \"& fieldset\": {\n flex: 1,\n },\n },\n rightSpacer: {\n marginRight: 15,\n },\n responsiveContainer: {\n \"@media (max-width: 900px)\": {\n display: \"flex\",\n flexFlow: \"column\",\n },\n },\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst Encryption = ({\n classes,\n updateAddField,\n isPageValid,\n addFileServerCert,\n addFileClientCert,\n addFileVaultCert,\n addFileVaultCa,\n addFileGemaltoCa,\n enableEncryption,\n enableCustomCerts,\n encryptionType,\n gemaltoEndpoint,\n gemaltoToken,\n gemaltoDomain,\n gemaltoRetry,\n awsEndpoint,\n awsRegion,\n awsKMSKey,\n awsAccessKey,\n awsSecretKey,\n awsToken,\n vaultEndpoint,\n vaultEngine,\n vaultNamespace,\n vaultPrefix,\n vaultAppRoleEngine,\n vaultId,\n vaultSecret,\n vaultRetry,\n vaultPing,\n azureEndpoint,\n azureTenantID,\n azureClientID,\n azureClientSecret,\n gcpProjectID,\n gcpEndpoint,\n gcpClientEmail,\n gcpClientID,\n gcpPrivateKeyID,\n gcpPrivateKey,\n enableCustomCertsForKES,\n enableAutoCert,\n enableTLS,\n minioCertificates,\n serverCertificate,\n clientCertificate,\n vaultCertificate,\n vaultCA,\n gemaltoCA,\n kesSecurityContext,\n replicas,\n}: IEncryptionProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n\n let encryptionAvailable = false;\n if (\n enableTLS &&\n (enableAutoCert ||\n (minioCertificates &&\n minioCertificates.filter(\n (item) => item.encoded_key && item.encoded_cert\n ).length > 0))\n ) {\n encryptionAvailable = true;\n }\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"encryption\", field, value);\n },\n [updateAddField]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n // Validation\n useEffect(() => {\n let encryptionValidation: IValidation[] = [];\n\n if (enableEncryption) {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"replicas\",\n required: true,\n value: replicas,\n customValidation: parseInt(replicas) < 1,\n customValidationMessage: \"Replicas needs to be 1 or greater\",\n },\n {\n fieldKey: \"kes_securityContext_runAsUser\",\n required: true,\n value: kesSecurityContext.runAsUser,\n customValidation:\n kesSecurityContext.runAsUser === \"\" ||\n parseInt(kesSecurityContext.runAsUser) < 0,\n customValidationMessage: `runAsUser must be present and be 0 or more`,\n },\n {\n fieldKey: \"kes_securityContext_runAsGroup\",\n required: true,\n value: kesSecurityContext.runAsGroup,\n customValidation:\n kesSecurityContext.runAsGroup === \"\" ||\n parseInt(kesSecurityContext.runAsGroup) < 0,\n customValidationMessage: `runAsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"kes_securityContext_fsGroup\",\n required: true,\n value: kesSecurityContext.fsGroup,\n customValidation:\n kesSecurityContext.fsGroup === \"\" ||\n parseInt(kesSecurityContext.fsGroup) < 0,\n customValidationMessage: `fsGroup must be present and be 0 or more`,\n },\n ];\n\n if (enableCustomCerts) {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"serverKey\",\n required: !enableAutoCert,\n value: serverCertificate.encoded_key,\n },\n {\n fieldKey: \"serverCert\",\n required: !enableAutoCert,\n value: serverCertificate.encoded_cert,\n },\n {\n fieldKey: \"clientKey\",\n required: !enableAutoCert,\n value: clientCertificate.encoded_key,\n },\n {\n fieldKey: \"clientCert\",\n required: !enableAutoCert,\n value: clientCertificate.encoded_cert,\n },\n ];\n }\n\n if (encryptionType === \"vault\") {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"vault_endpoint\",\n required: true,\n value: vaultEndpoint,\n },\n {\n fieldKey: \"vault_id\",\n required: true,\n value: vaultId,\n },\n {\n fieldKey: \"vault_secret\",\n required: true,\n value: vaultSecret,\n },\n {\n fieldKey: \"vault_ping\",\n required: false,\n value: vaultPing,\n customValidation: parseInt(vaultPing) < 0,\n customValidationMessage: \"Value needs to be 0 or greater\",\n },\n {\n fieldKey: \"vault_retry\",\n required: false,\n value: vaultRetry,\n customValidation: parseInt(vaultRetry) < 0,\n customValidationMessage: \"Value needs to be 0 or greater\",\n },\n ];\n }\n\n if (encryptionType === \"aws\") {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"aws_endpoint\",\n required: true,\n value: awsEndpoint,\n },\n {\n fieldKey: \"aws_region\",\n required: true,\n value: awsRegion,\n },\n {\n fieldKey: \"aws_accessKey\",\n required: true,\n value: awsAccessKey,\n },\n {\n fieldKey: \"aws_secretKey\",\n required: true,\n value: awsSecretKey,\n },\n ];\n }\n\n if (encryptionType === \"gemalto\") {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"gemalto_endpoint\",\n required: true,\n value: gemaltoEndpoint,\n },\n {\n fieldKey: \"gemalto_token\",\n required: true,\n value: gemaltoToken,\n },\n {\n fieldKey: \"gemalto_domain\",\n required: true,\n value: gemaltoDomain,\n },\n {\n fieldKey: \"gemalto_retry\",\n required: false,\n value: gemaltoRetry,\n customValidation: parseInt(gemaltoRetry) < 0,\n customValidationMessage: \"Value needs to be 0 or greater\",\n },\n ];\n }\n\n if (encryptionType === \"azure\") {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"azure_endpoint\",\n required: true,\n value: azureEndpoint,\n },\n {\n fieldKey: \"azure_tenant_id\",\n required: true,\n value: azureTenantID,\n },\n {\n fieldKey: \"azure_client_id\",\n required: true,\n value: azureClientID,\n },\n {\n fieldKey: \"azure_client_secret\",\n required: true,\n value: azureClientSecret,\n },\n ];\n }\n }\n\n const commonVal = commonFormValidation(encryptionValidation);\n\n isPageValid(\"encryption\", Object.keys(commonVal).length === 0);\n\n setValidationErrors(commonVal);\n }, [\n enableEncryption,\n encryptionType,\n vaultEndpoint,\n vaultEngine,\n vaultId,\n vaultSecret,\n vaultPing,\n vaultRetry,\n awsEndpoint,\n awsRegion,\n awsSecretKey,\n awsAccessKey,\n gemaltoEndpoint,\n gemaltoToken,\n gemaltoDomain,\n gemaltoRetry,\n gcpProjectID,\n gcpEndpoint,\n gcpClientEmail,\n gcpClientID,\n gcpPrivateKeyID,\n gcpPrivateKey,\n azureEndpoint,\n azureTenantID,\n azureClientID,\n azureClientSecret,\n isPageValid,\n enableAutoCert,\n enableCustomCerts,\n serverCertificate.encoded_key,\n serverCertificate.encoded_cert,\n clientCertificate.encoded_key,\n clientCertificate.encoded_cert,\n kesSecurityContext,\n replicas,\n ]);\n\n return (\n \n
\n

Encryption

\n \n How would you like to encrypt the information at rest.\n \n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"enableEncryption\", checked);\n }}\n label={\"Enable Server Side Encryption\"}\n disabled={!encryptionAvailable}\n />\n \n {enableEncryption && (\n \n \n {\n updateField(\"encryptionType\", e.target.value);\n }}\n selectorOptions={[\n { label: \"Vault\", value: \"vault\" },\n { label: \"AWS\", value: \"aws\" },\n { label: \"Gemalto\", value: \"gemalto\" },\n { label: \"GCP\", value: \"gcp\" },\n { label: \"Azure\", value: \"azure\" },\n ]}\n />\n \n {encryptionType === \"vault\" && (\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"enableCustomCertsForKES\", checked);\n }}\n label={\"Custom Certificates\"}\n disabled={!enableAutoCert}\n />\n \n {(enableCustomCertsForKES || !enableAutoCert) && (\n \n \n \n
\n \n Encryption Service Certificates\n \n {\n addFileServerCert(\"key\", fileName, encodedValue);\n cleanValidation(\"serverKey\");\n }}\n accept=\".key,.pem\"\n id=\"serverKey\"\n name=\"serverKey\"\n label=\"Key\"\n error={validationErrors[\"serverKey\"] || \"\"}\n value={serverCertificate.key}\n required={!enableAutoCert}\n />\n {\n addFileServerCert(\"cert\", fileName, encodedValue);\n cleanValidation(\"serverCert\");\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"serverCert\"\n name=\"serverCert\"\n label=\"Cert\"\n error={validationErrors[\"serverCert\"] || \"\"}\n value={serverCertificate.cert}\n required={!enableAutoCert}\n />\n
\n
\n
\n\n \n \n
\n \n Mutual TLS authentication\n \n {\n addFileClientCert(\"key\", fileName, encodedValue);\n cleanValidation(\"clientKey\");\n }}\n accept=\".key,.pem\"\n id=\"clientKey\"\n name=\"clientKey\"\n label=\"Key\"\n error={validationErrors[\"clientKey\"] || \"\"}\n value={clientCertificate.key}\n required={!enableAutoCert}\n />\n {\n addFileClientCert(\"cert\", fileName, encodedValue);\n cleanValidation(\"clientCert\");\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"clientCert\"\n name=\"clientCert\"\n label=\"Cert\"\n error={validationErrors[\"clientCert\"] || \"\"}\n value={clientCertificate.cert}\n required={!enableAutoCert}\n />\n
\n
\n
\n
\n )}\n \n ) => {\n updateField(\"vaultEndpoint\", e.target.value);\n cleanValidation(\"vault_endpoint\");\n }}\n label=\"Endpoint\"\n value={vaultEndpoint}\n error={validationErrors[\"vault_endpoint\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"vaultEngine\", e.target.value);\n cleanValidation(\"vault_engine\");\n }}\n label=\"Engine\"\n value={vaultEngine}\n />\n \n \n ) => {\n updateField(\"vaultNamespace\", e.target.value);\n }}\n label=\"Namespace\"\n value={vaultNamespace}\n />\n \n \n ) => {\n updateField(\"vaultPrefix\", e.target.value);\n }}\n label=\"Prefix\"\n value={vaultPrefix}\n />\n \n\n \n
\n App Role\n \n ) => {\n updateField(\"vaultAppRoleEngine\", e.target.value);\n }}\n label=\"Engine\"\n value={vaultAppRoleEngine}\n />\n \n \n ) => {\n updateField(\"vaultId\", e.target.value);\n cleanValidation(\"vault_id\");\n }}\n label=\"AppRole ID\"\n value={vaultId}\n error={validationErrors[\"vault_id\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"vaultSecret\", e.target.value);\n cleanValidation(\"vault_secret\");\n }}\n label=\"AppRole Secret\"\n value={vaultSecret}\n error={validationErrors[\"vault_secret\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"vaultRetry\", e.target.value);\n cleanValidation(\"vault_retry\");\n }}\n label=\"Retry (Seconds)\"\n value={vaultRetry}\n error={validationErrors[\"vault_retry\"] || \"\"}\n />\n \n
\n
\n\n \n
\n \n Mutual TLS authentication (optional)\n \n {\n addFileVaultCert(\"key\", fileName, encodedValue);\n cleanValidation(\"vault_key\");\n }}\n accept=\".key,.pem\"\n id=\"vault_key\"\n name=\"vault_key\"\n label=\"Key\"\n value={vaultCertificate.key}\n />\n {\n addFileVaultCert(\"cert\", fileName, encodedValue);\n cleanValidation(\"vault_cert\");\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"vault_cert\"\n name=\"vault_cert\"\n label=\"Cert\"\n value={vaultCertificate.cert}\n />\n {\n addFileVaultCa(fileName, encodedValue);\n cleanValidation(\"vault_ca\");\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"vault_ca\"\n name=\"vault_ca\"\n label=\"CA\"\n value={vaultCA.cert}\n />\n
\n
\n \n
\n Status\n ) => {\n updateField(\"vaultPing\", e.target.value);\n cleanValidation(\"vault_ping\");\n }}\n label=\"Ping (Seconds)\"\n value={vaultPing}\n error={validationErrors[\"vault_ping\"] || \"\"}\n />\n
\n \n
\n )}\n {encryptionType === \"azure\" && (\n \n \n ) => {\n updateField(\"azureEndpoint\", e.target.value);\n cleanValidation(\"azure_endpoint\");\n }}\n label=\"Endpoint\"\n value={azureEndpoint}\n error={validationErrors[\"azure_endpoint\"] || \"\"}\n />\n \n \n
\n \n Credentials\n \n \n ) => {\n updateField(\"azureTenantID\", e.target.value);\n cleanValidation(\"azure_tenant_id\");\n }}\n label=\"Tenant ID\"\n value={azureTenantID}\n error={validationErrors[\"azure_tenant_id\"] || \"\"}\n />\n \n \n ) => {\n updateField(\"azureClientID\", e.target.value);\n cleanValidation(\"azure_client_id\");\n }}\n label=\"Client ID\"\n value={azureClientID}\n error={validationErrors[\"azure_client_id\"] || \"\"}\n />\n \n \n ) => {\n updateField(\"azureClientSecret\", e.target.value);\n cleanValidation(\"azure_client_secret\");\n }}\n label=\"Client Secret\"\n value={azureClientSecret}\n error={validationErrors[\"azure_client_secret\"] || \"\"}\n />\n \n
\n
\n
\n )}\n {encryptionType === \"gcp\" && (\n \n \n ) => {\n updateField(\"gcpProjectID\", e.target.value);\n }}\n label=\"Project ID\"\n value={gcpProjectID}\n />\n \n \n ) => {\n updateField(\"gcpEndpoint\", e.target.value);\n }}\n label=\"Endpoint\"\n value={gcpEndpoint}\n />\n \n \n
\n \n Credentials\n \n \n ) => {\n updateField(\"gcpClientEmail\", e.target.value);\n }}\n label=\"Client Email\"\n value={gcpClientEmail}\n />\n \n \n ) => {\n updateField(\"gcpClientID\", e.target.value);\n }}\n label=\"Client ID\"\n value={gcpClientID}\n />\n \n \n ) => {\n updateField(\"gcpPrivateKeyID\", e.target.value);\n }}\n label=\"Private Key ID\"\n value={gcpPrivateKeyID}\n />\n \n \n ) => {\n updateField(\"gcpPrivateKey\", e.target.value);\n }}\n label=\"Private Key\"\n value={gcpPrivateKey}\n />\n \n
\n
\n
\n )}\n {encryptionType === \"aws\" && (\n \n \n ) => {\n updateField(\"awsEndpoint\", e.target.value);\n cleanValidation(\"aws_endpoint\");\n }}\n label=\"Endpoint\"\n value={awsEndpoint}\n error={validationErrors[\"aws_endpoint\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"awsRegion\", e.target.value);\n cleanValidation(\"aws_region\");\n }}\n label=\"Region\"\n value={awsRegion}\n error={validationErrors[\"aws_region\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"awsKMSKey\", e.target.value);\n }}\n label=\"KMS Key\"\n value={awsKMSKey}\n />\n \n \n
\n \n Credentials\n \n \n ) => {\n updateField(\"awsAccessKey\", e.target.value);\n cleanValidation(\"aws_accessKey\");\n }}\n label=\"Access Key\"\n value={awsAccessKey}\n error={validationErrors[\"aws_accessKey\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"awsSecretKey\", e.target.value);\n cleanValidation(\"aws_secretKey\");\n }}\n label=\"Secret Key\"\n value={awsSecretKey}\n error={validationErrors[\"aws_secretKey\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"awsToken\", e.target.value);\n }}\n label=\"Token\"\n value={awsToken}\n />\n \n
\n
\n
\n )}\n {encryptionType === \"gemalto\" && (\n \n \n ) => {\n updateField(\"gemaltoEndpoint\", e.target.value);\n cleanValidation(\"gemalto_endpoint\");\n }}\n label=\"Endpoint\"\n value={gemaltoEndpoint}\n error={validationErrors[\"gemalto_endpoint\"] || \"\"}\n required\n />\n \n \n
\n \n Credentials\n \n \n ) => {\n updateField(\"gemaltoToken\", e.target.value);\n cleanValidation(\"gemalto_token\");\n }}\n label=\"Token\"\n value={gemaltoToken}\n error={validationErrors[\"gemalto_token\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"gemaltoDomain\", e.target.value);\n cleanValidation(\"gemalto_domain\");\n }}\n label=\"Domain\"\n value={gemaltoDomain}\n error={validationErrors[\"gemalto_domain\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"gemaltoRetry\", e.target.value);\n cleanValidation(\"gemalto_retry\");\n }}\n label=\"Retry (seconds)\"\n value={gemaltoRetry}\n error={validationErrors[\"gemalto_retry\"] || \"\"}\n />\n \n
\n \n \n
\n \n Custom CA Root certificate verification\n \n\n {\n addFileGemaltoCa(fileName, encodedValue);\n cleanValidation(\"gemalto_ca\");\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"gemalto_ca\"\n name=\"gemalto_ca\"\n label=\"CA\"\n value={gemaltoCA.cert}\n />\n
\n \n
\n )}\n
\n

Additional Configurations

\n
\n \n \n ) => {\n updateField(\"replicas\", e.target.value);\n cleanValidation(\"replicas\");\n }}\n label=\"Replicas\"\n value={replicas}\n required\n error={validationErrors[\"replicas\"] || \"\"}\n />\n \n\n
\n \n SecurityContext for KES pods\n \n \n \n \n ) => {\n updateField(\"kesSecurityContext\", {\n ...kesSecurityContext,\n runAsUser: e.target.value,\n });\n cleanValidation(\"kes_securityContext_runAsUser\");\n }}\n label=\"Run As User\"\n value={kesSecurityContext.runAsUser}\n required\n error={\n validationErrors[\"kes_securityContext_runAsUser\"] || \"\"\n }\n min=\"0\"\n />\n \n \n ) => {\n updateField(\"kesSecurityContext\", {\n ...kesSecurityContext,\n runAsGroup: e.target.value,\n });\n cleanValidation(\"kes_securityContext_runAsGroup\");\n }}\n label=\"Run As Group\"\n value={kesSecurityContext.runAsGroup}\n required\n error={\n validationErrors[\"kes_securityContext_runAsGroup\"] || \"\"\n }\n min=\"0\"\n />\n \n \n ) => {\n updateField(\"kesSecurityContext\", {\n ...kesSecurityContext,\n fsGroup: e.target.value,\n });\n cleanValidation(\"kes_securityContext_fsGroup\");\n }}\n label=\"FsGroup\"\n value={kesSecurityContext.fsGroup}\n required\n error={\n validationErrors[\"kes_securityContext_fsGroup\"] || \"\"\n }\n min=\"0\"\n />\n \n \n \n
\n \n
\n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"kesSecurityContext\", {\n ...kesSecurityContext,\n runAsNonRoot: checked,\n });\n }}\n label={\"Do not run as Root\"}\n />\n
\n
\n
\n
\n
\n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n replicas: state.tenants.createTenant.fields.encryption.replicas,\n enableEncryption:\n state.tenants.createTenant.fields.encryption.enableEncryption,\n encryptionType: state.tenants.createTenant.fields.encryption.encryptionType,\n gemaltoEndpoint: state.tenants.createTenant.fields.encryption.gemaltoEndpoint,\n gemaltoToken: state.tenants.createTenant.fields.encryption.gemaltoToken,\n gemaltoDomain: state.tenants.createTenant.fields.encryption.gemaltoDomain,\n gemaltoRetry: state.tenants.createTenant.fields.encryption.gemaltoRetry,\n awsEndpoint: state.tenants.createTenant.fields.encryption.awsEndpoint,\n awsRegion: state.tenants.createTenant.fields.encryption.awsRegion,\n awsKMSKey: state.tenants.createTenant.fields.encryption.awsKMSKey,\n awsAccessKey: state.tenants.createTenant.fields.encryption.awsAccessKey,\n awsSecretKey: state.tenants.createTenant.fields.encryption.awsSecretKey,\n awsToken: state.tenants.createTenant.fields.encryption.awsToken,\n vaultEndpoint: state.tenants.createTenant.fields.encryption.vaultEndpoint,\n vaultEngine: state.tenants.createTenant.fields.encryption.vaultEngine,\n vaultNamespace: state.tenants.createTenant.fields.encryption.vaultNamespace,\n vaultPrefix: state.tenants.createTenant.fields.encryption.vaultPrefix,\n vaultAppRoleEngine:\n state.tenants.createTenant.fields.encryption.vaultAppRoleEngine,\n vaultId: state.tenants.createTenant.fields.encryption.vaultId,\n vaultSecret: state.tenants.createTenant.fields.encryption.vaultSecret,\n vaultRetry: state.tenants.createTenant.fields.encryption.vaultRetry,\n vaultPing: state.tenants.createTenant.fields.encryption.vaultPing,\n azureEndpoint: state.tenants.createTenant.fields.encryption.azureEndpoint,\n azureTenantID: state.tenants.createTenant.fields.encryption.azureTenantID,\n azureClientID: state.tenants.createTenant.fields.encryption.azureClientID,\n azureClientSecret:\n state.tenants.createTenant.fields.encryption.azureClientSecret,\n gcpProjectID: state.tenants.createTenant.fields.encryption.gcpProjectID,\n gcpEndpoint: state.tenants.createTenant.fields.encryption.gcpEndpoint,\n gcpClientEmail: state.tenants.createTenant.fields.encryption.gcpClientEmail,\n gcpClientID: state.tenants.createTenant.fields.encryption.gcpClientID,\n gcpPrivateKeyID: state.tenants.createTenant.fields.encryption.gcpPrivateKeyID,\n gcpPrivateKey: state.tenants.createTenant.fields.encryption.gcpPrivateKey,\n enableCustomCertsForKES:\n state.tenants.createTenant.fields.encryption.enableCustomCertsForKES,\n enableAutoCert: state.tenants.createTenant.fields.security.enableAutoCert,\n enableTLS: state.tenants.createTenant.fields.security.enableTLS,\n minioCertificates: state.tenants.createTenant.certificates.minioCertificates,\n serverCertificate: state.tenants.createTenant.certificates.serverCertificate,\n clientCertificate: state.tenants.createTenant.certificates.clientCertificate,\n vaultCertificate: state.tenants.createTenant.certificates.vaultCertificate,\n vaultCA: state.tenants.createTenant.certificates.vaultCA,\n gemaltoCA: state.tenants.createTenant.certificates.gemaltoCA,\n enableCustomCerts:\n state.tenants.createTenant.fields.security.enableCustomCerts,\n kesSecurityContext:\n state.tenants.createTenant.fields.encryption.kesSecurityContext,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n addFileServerCert,\n addFileClientCert,\n addFileVaultCert,\n addFileVaultCa,\n addFileGemaltoCa,\n});\n\nexport default withStyles(styles)(connector(Encryption));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, IconButton, Paper, SelectChangeEvent } from \"@mui/material\";\nimport { AppState } from \"../../../../../store\";\nimport { isPageValid, setKeyValuePairs, updateAddField } from \"../../actions\";\nimport { setModalErrorSnackMessage } from \"../../../../../actions\";\nimport {\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport { ErrorResponseHandler } from \"../../../../../common/types\";\nimport { LabelKeyPair } from \"../../types\";\nimport RadioGroupSelector from \"../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport api from \"../../../../../common/api\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport AddIcon from \"../../../../../icons/AddIcon\";\nimport RemoveIcon from \"../../../../../icons/RemoveIcon\";\nimport SelectWrapper from \"../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\n\ninterface IAffinityProps {\n classes: any;\n podAffinity: string;\n nodeSelectorLabels: string;\n withPodAntiAffinity: boolean;\n keyValuePairs: LabelKeyPair[];\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n setKeyValuePairs: typeof setKeyValuePairs;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n overlayAction: {\n marginLeft: 10,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n affinityConfigField: {\n display: \"flex\",\n },\n affinityFieldLabel: {\n display: \"flex\",\n flexFlow: \"column\",\n flex: 1,\n },\n radioField: {\n display: \"flex\",\n alignItems: \"flex-start\",\n marginTop: 10,\n \"& div:first-child\": {\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"baseline\",\n textAlign: \"left !important\",\n },\n },\n affinityLabelKey: {\n \"& div:first-child\": {\n marginBottom: 0,\n },\n },\n affinityLabelValue: {\n marginLeft: 10,\n \"& div:first-child\": {\n marginBottom: 0,\n },\n },\n rowActions: {\n display: \"flex\",\n alignItems: \"center\",\n },\n fieldContainer: {\n marginBottom: 0,\n },\n affinityRow: {\n marginBottom: 10,\n display: \"flex\",\n },\n ...modalBasic,\n ...wizardCommon,\n });\n\ninterface OptionPair {\n label: string;\n value: string;\n}\n\nconst Affinity = ({\n classes,\n podAffinity,\n nodeSelectorLabels,\n withPodAntiAffinity,\n setModalErrorSnackMessage,\n updateAddField,\n keyValuePairs,\n setKeyValuePairs,\n isPageValid,\n}: IAffinityProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n const [loading, setLoading] = useState(true);\n const [keyValueMap, setKeyValueMap] = useState<{ [key: string]: string[] }>(\n {}\n );\n const [keyOptions, setKeyOptions] = useState([]);\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"affinity\", field, value);\n },\n [updateAddField]\n );\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", `/api/v1/nodes/labels`)\n .then((res: { [key: string]: string[] }) => {\n setLoading(false);\n setKeyValueMap(res);\n let keys: OptionPair[] = [];\n for (let k in res) {\n keys.push({\n label: k,\n value: k,\n });\n }\n setKeyOptions(keys);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n setKeyValueMap({});\n });\n }\n }, [setModalErrorSnackMessage, loading]);\n\n useEffect(() => {\n if (keyValuePairs) {\n const vlr = keyValuePairs\n .filter((kvp) => kvp.key !== \"\")\n .map((kvp) => `${kvp.key}=${kvp.value}`)\n .filter((kvs, i, a) => a.indexOf(kvs) === i);\n const vl = vlr.join(\"&\");\n updateField(\"nodeSelectorLabels\", vl);\n }\n }, [keyValuePairs, updateField]);\n\n // Validation\n useEffect(() => {\n let customAccountValidation: IValidation[] = [];\n\n if (podAffinity === \"nodeSelector\") {\n let valid = true;\n\n const splittedLabels = nodeSelectorLabels.split(\"&\");\n\n if (splittedLabels.length === 1 && splittedLabels[0] === \"\") {\n valid = false;\n }\n\n splittedLabels.forEach((item: string, index: number) => {\n const splitItem = item.split(\"=\");\n\n if (splitItem.length !== 2) {\n valid = false;\n }\n\n if (index + 1 !== splittedLabels.length) {\n if (splitItem[0] === \"\" || splitItem[1] === \"\") {\n valid = false;\n }\n }\n });\n\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"labels\",\n required: true,\n value: nodeSelectorLabels,\n customValidation: !valid,\n customValidationMessage:\n \"You need to add at least one label key-pair\",\n },\n ];\n }\n\n const commonVal = commonFormValidation(customAccountValidation);\n\n isPageValid(\"affinity\", Object.keys(commonVal).length === 0);\n\n setValidationErrors(commonVal);\n }, [isPageValid, podAffinity, nodeSelectorLabels]);\n\n return (\n \n
\n

Pod Placement

\n \n Configure how pods will be assigned to nodes\n \n
\n \n \n
Type
\n \n MinIO supports multiple configurations for Pod Affinity\n \n \n {\n updateField(\"podAffinity\", e.target.value);\n }}\n selectorOptions={[\n { label: \"None\", value: \"none\" },\n { label: \"Default (Pod Anti-Affinnity)\", value: \"default\" },\n { label: \"Node Selector\", value: \"nodeSelector\" },\n ]}\n />\n \n
\n
\n {podAffinity === \"nodeSelector\" && (\n \n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"withPodAntiAffinity\", checked);\n }}\n label={\"With Pod Anti-Affinity\"}\n />\n \n \n

Labels

\n {validationErrors[\"labels\"]}\n \n {keyValuePairs &&\n keyValuePairs.map((kvp, i) => {\n return (\n \n \n {keyOptions.length > 0 && (\n ) => {\n const newKey = e.target.value as string;\n const arrCp: LabelKeyPair[] = Object.assign(\n [],\n keyValuePairs\n );\n\n arrCp[i].key = e.target.value as string;\n arrCp[i].value = keyValueMap[newKey][0];\n setKeyValuePairs(arrCp);\n }}\n id=\"select-access-policy\"\n name=\"select-access-policy\"\n label={\"\"}\n value={kvp.key}\n options={keyOptions}\n />\n )}\n {keyOptions.length === 0 && (\n {\n const arrCp: LabelKeyPair[] = Object.assign(\n [],\n keyValuePairs\n );\n arrCp[i].key = e.target.value;\n setKeyValuePairs(arrCp);\n }}\n index={i}\n placeholder={\"Key\"}\n />\n )}\n \n \n {keyOptions.length > 0 && (\n ) => {\n const arrCp: LabelKeyPair[] = Object.assign(\n [],\n keyValuePairs\n );\n arrCp[i].value = e.target.value as string;\n setKeyValuePairs(arrCp);\n }}\n id=\"select-access-policy\"\n name=\"select-access-policy\"\n label={\"\"}\n value={kvp.value}\n options={\n keyValueMap[kvp.key]\n ? keyValueMap[kvp.key].map((v) => {\n return { label: v, value: v };\n })\n : []\n }\n />\n )}\n {keyOptions.length === 0 && (\n {\n const arrCp: LabelKeyPair[] = Object.assign(\n [],\n keyValuePairs\n );\n arrCp[i].value = e.target.value;\n setKeyValuePairs(arrCp);\n }}\n index={i}\n placeholder={\"value\"}\n />\n )}\n \n \n
\n {\n const arrCp = Object.assign([], keyValuePairs);\n if (keyOptions.length > 0) {\n arrCp.push({\n key: keyOptions[0].value,\n value: keyValueMap[keyOptions[0].value][0],\n });\n } else {\n arrCp.push({ key: \"\", value: \"\" });\n }\n\n setKeyValuePairs(arrCp);\n }}\n >\n \n \n
\n {keyValuePairs.length > 1 && (\n
\n {\n const arrCp = keyValuePairs.filter(\n (item, index) => index !== i\n );\n setKeyValuePairs(arrCp);\n }}\n >\n \n \n
\n )}\n
\n
\n );\n })}\n
\n \n
\n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => {\n const createTenant = state.tenants.createTenant;\n\n return {\n podAffinity: createTenant.fields.affinity.podAffinity,\n nodeSelectorLabels: createTenant.fields.affinity.nodeSelectorLabels,\n withPodAntiAffinity: createTenant.fields.affinity.withPodAntiAffinity,\n keyValuePairs: createTenant.nodeSelectorPairs,\n };\n};\n\nconst connector = connect(mapState, {\n setModalErrorSnackMessage,\n updateAddField,\n isPageValid,\n setKeyValuePairs,\n});\n\nexport default withStyles(styles)(connector(Affinity));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, Paper } from \"@mui/material\";\nimport {\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { isPageValid, updateAddField } from \"../../actions\";\nimport { AppState } from \"../../../../../store\";\nimport { clearValidationError } from \"../../utils\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\n\ninterface IImagesProps {\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n storageClasses: any;\n classes: any;\n customImage: boolean;\n imageName: string;\n customDockerhub: boolean;\n imageRegistry: string;\n imageRegistryUsername: string;\n imageRegistryPassword: string;\n exposeMinIO: boolean;\n exposeConsole: boolean;\n prometheusCustom: boolean;\n tenantCustom: boolean;\n logSearchCustom: boolean;\n logSearchVolumeSize: string;\n logSearchSizeFactor: string;\n prometheusVolumeSize: string;\n prometheusSizeFactor: string;\n logSearchSelectedStorageClass: string;\n logSearchImage: string;\n kesImage: string;\n logSearchPostgresImage: string;\n logSearchPostgresInitImage: string;\n prometheusSelectedStorageClass: string;\n prometheusImage: string;\n prometheusSidecarImage: string;\n prometheusInitImage: string;\n selectedStorageClass: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst Images = ({\n classes,\n storageClasses,\n customImage,\n imageName,\n customDockerhub,\n imageRegistry,\n imageRegistryUsername,\n imageRegistryPassword,\n exposeMinIO,\n exposeConsole,\n prometheusCustom,\n tenantCustom,\n logSearchCustom,\n logSearchVolumeSize,\n logSearchSizeFactor,\n logSearchImage,\n kesImage,\n logSearchPostgresImage,\n logSearchPostgresInitImage,\n prometheusVolumeSize,\n prometheusSizeFactor,\n logSearchSelectedStorageClass,\n prometheusSelectedStorageClass,\n prometheusImage,\n prometheusSidecarImage,\n prometheusInitImage,\n updateAddField,\n isPageValid,\n selectedStorageClass,\n}: IImagesProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"configure\", field, value);\n },\n [updateAddField]\n );\n\n // Validation\n useEffect(() => {\n let customAccountValidation: IValidation[] = [];\n\n if (prometheusCustom) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"prometheus_storage_class\",\n required: true,\n value: prometheusSelectedStorageClass,\n customValidation: prometheusSelectedStorageClass === \"\",\n customValidationMessage: \"Field cannot be empty\",\n },\n {\n fieldKey: \"prometheus_volume_size\",\n required: true,\n value: prometheusVolumeSize,\n customValidation:\n prometheusVolumeSize === \"\" || parseInt(prometheusVolumeSize) <= 0,\n customValidationMessage: `Volume size must be present and be greatter than 0`,\n },\n ];\n }\n if (logSearchCustom) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"log_search_storage_class\",\n required: true,\n value: logSearchSelectedStorageClass,\n customValidation: logSearchSelectedStorageClass === \"\",\n customValidationMessage: \"Field cannot be empty\",\n },\n {\n fieldKey: \"log_search_volume_size\",\n required: true,\n value: logSearchVolumeSize,\n customValidation:\n logSearchVolumeSize === \"\" || parseInt(logSearchVolumeSize) <= 0,\n customValidationMessage: `Volume size must be present and be greatter than 0`,\n },\n ];\n }\n\n if (customImage) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"image\",\n required: false,\n value: imageName,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage: \"Format must be of form: 'minio/minio:VERSION'\",\n },\n {\n fieldKey: \"logSearchImage\",\n required: false,\n value: logSearchImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'minio/logsearchapi:VERSION'\",\n },\n {\n fieldKey: \"kesImage\",\n required: false,\n value: kesImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage: \"Format must be of form: 'minio/kes:VERSION'\",\n },\n {\n fieldKey: \"logSearchPostgresImage\",\n required: false,\n value: logSearchPostgresImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'library/postgres:VERSION'\",\n },\n {\n fieldKey: \"logSearchPostgresInitImage\",\n required: false,\n value: logSearchPostgresInitImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'library/busybox:VERSION'\",\n },\n {\n fieldKey: \"prometheusImage\",\n required: false,\n value: prometheusImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'minio/prometheus:VERSION'\",\n },\n {\n fieldKey: \"prometheusSidecarImage\",\n required: false,\n value: prometheusSidecarImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'project/container:VERSION'\",\n },\n {\n fieldKey: \"prometheusInitImage\",\n required: false,\n value: prometheusInitImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'library/busybox:VERSION'\",\n },\n ];\n if (customDockerhub) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"registry\",\n required: true,\n value: imageRegistry,\n },\n {\n fieldKey: \"registryUsername\",\n required: true,\n value: imageRegistryUsername,\n },\n {\n fieldKey: \"registryPassword\",\n required: true,\n value: imageRegistryPassword,\n },\n ];\n }\n }\n\n const commonVal = commonFormValidation(customAccountValidation);\n\n isPageValid(\"configure\", Object.keys(commonVal).length === 0);\n\n setValidationErrors(commonVal);\n }, [\n customImage,\n imageName,\n logSearchImage,\n kesImage,\n logSearchPostgresImage,\n logSearchPostgresInitImage,\n prometheusImage,\n prometheusSidecarImage,\n prometheusInitImage,\n customDockerhub,\n imageRegistry,\n imageRegistryUsername,\n imageRegistryPassword,\n isPageValid,\n prometheusCustom,\n tenantCustom,\n logSearchCustom,\n prometheusSelectedStorageClass,\n prometheusVolumeSize,\n logSearchSelectedStorageClass,\n logSearchVolumeSize,\n ]);\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n return (\n \n
\n

Container Images

\n \n Images used by the Tenant Deployment\n \n
\n\n \n \n ) => {\n updateField(\"imageName\", e.target.value);\n cleanValidation(\"image\");\n }}\n label=\"MinIO's Image\"\n value={imageName}\n error={validationErrors[\"image\"] || \"\"}\n placeholder=\"E.g. minio/minio:RELEASE.2022-01-08T03-11-54Z\"\n />\n \n \n ) => {\n updateField(\"logSearchImage\", e.target.value);\n cleanValidation(\"logSearchImage\");\n }}\n label=\"Log Search API's Image\"\n value={logSearchImage}\n error={validationErrors[\"logSearchImage\"] || \"\"}\n placeholder=\"E.g. minio/logsearchapi:v4.1.1\"\n />\n \n \n ) => {\n updateField(\"kesImage\", e.target.value);\n cleanValidation(\"kesImage\");\n }}\n label=\"KES Image\"\n value={kesImage}\n error={validationErrors[\"kesImage\"] || \"\"}\n placeholder=\"E.g. minio/kes:v0.14.0\"\n />\n \n \n ) => {\n updateField(\"logSearchPostgresImage\", e.target.value);\n cleanValidation(\"logSearchPostgresImage\");\n }}\n label=\"Log Search Postgres's Image\"\n value={logSearchPostgresImage}\n error={validationErrors[\"logSearchPostgresImage\"] || \"\"}\n placeholder=\"E.g. library/postgres:13\"\n />\n \n \n ) => {\n updateField(\"logSearchPostgresInitImage\", e.target.value);\n cleanValidation(\"logSearchPostgresInitImage\");\n }}\n label=\"Log Search Postgres's Init Image\"\n value={logSearchPostgresInitImage}\n error={validationErrors[\"logSearchPostgresInitImage\"] || \"\"}\n placeholder=\"E.g. library/busybox:1.33.1\"\n />\n \n \n ) => {\n updateField(\"prometheusImage\", e.target.value);\n cleanValidation(\"prometheusImage\");\n }}\n label=\"Prometheus Image\"\n value={prometheusImage}\n error={validationErrors[\"prometheusImage\"] || \"\"}\n placeholder=\"E.g. quay.io/prometheus/prometheus:latest\"\n />\n \n \n ) => {\n updateField(\"prometheusSidecarImage\", e.target.value);\n cleanValidation(\"prometheusSidecarImage\");\n }}\n label=\"Prometheus Sidecar Image\"\n value={prometheusSidecarImage}\n error={validationErrors[\"prometheusSidecarImage\"] || \"\"}\n placeholder=\"E.g. quay.io/prometheus/prometheus:latest\"\n />\n \n \n ) => {\n updateField(\"prometheusInitImage\", e.target.value);\n cleanValidation(\"prometheusInitImage\");\n }}\n label=\"Prometheus Init Image\"\n value={prometheusInitImage}\n error={validationErrors[\"prometheusInitImage\"] || \"\"}\n placeholder=\"E.g. quay.io/prometheus/prometheus:latest\"\n />\n \n \n\n {customImage && (\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"customDockerhub\", checked);\n }}\n label={\"Set/Update Image Registry\"}\n />\n \n \n )}\n {customDockerhub && (\n \n \n ) => {\n updateField(\"imageRegistry\", e.target.value);\n }}\n label=\"Endpoint\"\n value={imageRegistry}\n error={validationErrors[\"registry\"] || \"\"}\n placeholder=\"E.g. https://index.docker.io/v1/\"\n required\n />\n \n \n ) => {\n updateField(\"imageRegistryUsername\", e.target.value);\n }}\n label=\"Username\"\n value={imageRegistryUsername}\n error={validationErrors[\"registryUsername\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"imageRegistryPassword\", e.target.value);\n }}\n label=\"Password\"\n value={imageRegistryPassword}\n error={validationErrors[\"registryPassword\"] || \"\"}\n required\n />\n \n \n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n storageClasses: state.tenants.createTenant.storageClasses,\n customImage: state.tenants.createTenant.fields.configure.customImage,\n imageName: state.tenants.createTenant.fields.configure.imageName,\n customDockerhub: state.tenants.createTenant.fields.configure.customDockerhub,\n imageRegistry: state.tenants.createTenant.fields.configure.imageRegistry,\n imageRegistryUsername:\n state.tenants.createTenant.fields.configure.imageRegistryUsername,\n imageRegistryPassword:\n state.tenants.createTenant.fields.configure.imageRegistryPassword,\n exposeMinIO: state.tenants.createTenant.fields.configure.exposeMinIO,\n exposeConsole: state.tenants.createTenant.fields.configure.exposeConsole,\n prometheusCustom:\n state.tenants.createTenant.fields.configure.prometheusCustom,\n tenantCustom: state.tenants.createTenant.fields.configure.tenantCustom,\n logSearchCustom: state.tenants.createTenant.fields.configure.logSearchCustom,\n logSearchVolumeSize:\n state.tenants.createTenant.fields.configure.logSearchVolumeSize,\n logSearchSizeFactor:\n state.tenants.createTenant.fields.configure.logSearchSizeFactor,\n prometheusVolumeSize:\n state.tenants.createTenant.fields.configure.prometheusVolumeSize,\n prometheusSizeFactor:\n state.tenants.createTenant.fields.configure.prometheusSizeFactor,\n logSearchSelectedStorageClass:\n state.tenants.createTenant.fields.configure.logSearchSelectedStorageClass,\n logSearchImage: state.tenants.createTenant.fields.configure.logSearchImage,\n kesImage: state.tenants.createTenant.fields.configure.kesImage,\n logSearchPostgresImage:\n state.tenants.createTenant.fields.configure.logSearchPostgresImage,\n logSearchPostgresInitImage:\n state.tenants.createTenant.fields.configure.logSearchPostgresInitImage,\n prometheusSelectedStorageClass:\n state.tenants.createTenant.fields.configure.prometheusSelectedStorageClass,\n prometheusImage: state.tenants.createTenant.fields.configure.prometheusImage,\n prometheusSidecarImage:\n state.tenants.createTenant.fields.configure.prometheusSidecarImage,\n prometheusInitImage:\n state.tenants.createTenant.fields.configure.prometheusInitImage,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(Images));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { DialogContentText, LinearProgress } 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 modalBasic,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { setErrorSnackMessage } from \"../../../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport api from \"../../../../../../common/api\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmModalIcon } from \"../../../../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wrapText: {\n maxWidth: \"200px\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n },\n ...modalBasic,\n ...deleteDialogStyles,\n });\n\ninterface IAddNamespace {\n classes: any;\n namespace: string;\n addNamespaceOpen: boolean;\n closeAddNamespaceModalAndRefresh: (reloadNamespaceData: boolean) => void;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst AddNamespaceModal = ({\n classes,\n namespace,\n addNamespaceOpen,\n closeAddNamespaceModalAndRefresh,\n setErrorSnackMessage,\n}: IAddNamespace) => {\n const [addNamespaceLoading, setAddNamespaceLoading] =\n useState(false);\n\n useEffect(() => {\n if (addNamespaceLoading) {\n api\n .invoke(\"POST\", \"/api/v1/namespace\", {\n name: namespace,\n })\n .then((res) => {\n setAddNamespaceLoading(false);\n closeAddNamespaceModalAndRefresh(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddNamespaceLoading(false);\n setErrorSnackMessage(err);\n });\n }\n }, [\n addNamespaceLoading,\n closeAddNamespaceModalAndRefresh,\n namespace,\n setErrorSnackMessage,\n ]);\n\n const addNamespace = () => {\n setAddNamespaceLoading(true);\n };\n\n return (\n }\n isLoading={addNamespaceLoading}\n onConfirm={addNamespace}\n onClose={() => {\n closeAddNamespaceModalAndRefresh(false);\n }}\n confirmationContent={\n \n {addNamespaceLoading && }\n \n Are you sure you want to add a namespace called\n
\n {namespace}?\n
\n
\n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddNamespaceModal));\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 { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport { isPageValid, updateAddField } from \"../../actions\";\nimport {\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport Table from \"@mui/material/Table\";\nimport TableBody from \"@mui/material/TableBody\";\nimport TableCell from \"@mui/material/TableCell\";\nimport TableRow from \"@mui/material/TableRow\";\nimport { niceBytes } from \"../../../../../common/utils\";\nimport { Opts } from \"../../ListTenants/utils\";\nimport { IResourcesSize } from \"../../ListTenants/types\";\nimport { IErasureCodeCalc } from \"../../../../../common/types\";\n\nimport { Divider } from \"@mui/material\";\nimport { IntegrationConfiguration } from \"./TenantResources/utils\";\n\ninterface ISizePreviewProps {\n classes: any;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n volumeSize: string;\n sizeFactor: string;\n drivesPerServer: string;\n nodes: string;\n memoryNode: string;\n ecParity: string;\n ecParityChoices: Opts[];\n cleanECChoices: string[];\n resourcesSize: IResourcesSize;\n distribution: any;\n ecParityCalc: IErasureCodeCalc;\n limitSize: any;\n selectedStorageClass: string;\n cpuToUse: string;\n integrationSelection: IntegrationConfiguration;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n margin: 4,\n },\n table: {\n \"& .MuiTableCell-root\": {\n fontSize: 13,\n },\n },\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst SizePreview = ({\n classes,\n updateAddField,\n isPageValid,\n volumeSize,\n sizeFactor,\n drivesPerServer,\n nodes,\n memoryNode,\n ecParity,\n ecParityChoices,\n cleanECChoices,\n resourcesSize,\n distribution,\n ecParityCalc,\n limitSize,\n selectedStorageClass,\n cpuToUse,\n integrationSelection,\n}: ISizePreviewProps) => {\n const usableInformation = ecParityCalc.storageFactors.find(\n (element) => element.erasureCode === ecParity\n );\n\n return (\n
\n

Resource Allocation

\n \n \n \n \n Number of Servers\n \n {parseInt(nodes) > 0 ? nodes : \"-\"}\n \n \n {integrationSelection.typeSelection === \"\" &&\n integrationSelection.storageClass === \"\" && (\n \n \n Drives per Server\n \n {distribution ? distribution.disks : \"-\"}\n \n \n \n Drive Capacity\n \n {distribution ? niceBytes(distribution.pvSize) : \"-\"}\n \n \n \n )}\n\n \n Total Volumes\n \n {distribution ? distribution.persistentVolumes : \"-\"}\n \n \n {integrationSelection.typeSelection === \"\" &&\n integrationSelection.storageClass === \"\" && (\n \n \n Memory per Node\n {memoryNode} Gi\n \n \n \n CPU Selection\n \n \n {cpuToUse}\n \n \n \n )}\n \n
\n {ecParityCalc.error === 0 && usableInformation && (\n \n

Erasure Code Configuration

\n \n \n \n \n EC Parity\n \n {ecParity !== \"\" ? ecParity : \"-\"}\n \n \n \n Raw Capacity\n \n {niceBytes(ecParityCalc.rawCapacity)}\n \n \n \n Usable Capacity\n \n {niceBytes(usableInformation.maxCapacity)}\n \n \n \n \n Server Failures Tolerated\n \n \n {distribution\n ? Math.floor(\n usableInformation.maxFailureTolerations /\n distribution.disks\n )\n : \"-\"}\n \n \n \n \n
\n )}\n {integrationSelection.typeSelection !== \"\" &&\n integrationSelection.storageClass !== \"\" && (\n \n

Single Instance Configuration

\n \n \n \n \n CPU\n \n {integrationSelection.CPU !== 0\n ? integrationSelection.CPU\n : \"-\"}\n \n \n \n Memory\n \n {integrationSelection.memory !== 0\n ? `${integrationSelection.memory} Gi`\n : \"-\"}\n \n \n \n Drives per Server\n \n {integrationSelection.drivesPerServer !== 0\n ? `${integrationSelection.drivesPerServer}`\n : \"-\"}\n \n \n \n \n Drive Size\n \n \n {integrationSelection.driveSize.driveSize}\n {integrationSelection.driveSize.sizeUnit}\n \n \n \n \n
\n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n volumeSize: state.tenants.createTenant.fields.tenantSize.volumeSize,\n sizeFactor: state.tenants.createTenant.fields.tenantSize.sizeFactor,\n drivesPerServer: state.tenants.createTenant.fields.tenantSize.drivesPerServer,\n nodes: state.tenants.createTenant.fields.tenantSize.nodes,\n memoryNode: state.tenants.createTenant.fields.tenantSize.memoryNode,\n ecParity: state.tenants.createTenant.fields.tenantSize.ecParity,\n ecParityChoices: state.tenants.createTenant.fields.tenantSize.ecParityChoices,\n cleanECChoices: state.tenants.createTenant.fields.tenantSize.cleanECChoices,\n resourcesSize: state.tenants.createTenant.fields.tenantSize.resourcesSize,\n distribution: state.tenants.createTenant.fields.tenantSize.distribution,\n ecParityCalc: state.tenants.createTenant.fields.tenantSize.ecParityCalc,\n limitSize: state.tenants.createTenant.fields.tenantSize.limitSize,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n cpuToUse: state.tenants.createTenant.fields.tenantSize.cpuToUse,\n integrationSelection:\n state.tenants.createTenant.fields.tenantSize.integrationSelection,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(SizePreview));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect } 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 { AppState } from \"../../../../../../store\";\nimport { isPageValid, updateAddField } from \"../../../actions\";\nimport {\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport Grid from \"@mui/material/Grid\";\nimport { IResourcesSize } from \"../../../ListTenants/types\";\nimport { AllocableResourcesResponse } from \"../../../types\";\nimport api from \"../../../../../../common/api\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport { floor } from \"lodash\";\n\ninterface ITenantSizeResourcesProps {\n classes: any;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n nodes: string;\n resourcesSize: IResourcesSize;\n selectedStorageClass: string;\n maxAllocatableResources: AllocableResourcesResponse;\n maxCPUsUse: string;\n maxMemorySize: string;\n\n resourcesSpecifyLimit: boolean;\n resourcesCPURequestError: string;\n resourcesCPURequest: string;\n resourcesCPULimitError: string;\n resourcesCPULimit: string;\n resourcesMemoryRequestError: string;\n resourcesMemoryRequest: string;\n resourcesMemoryLimitError: string;\n resourcesMemoryLimit: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n compositeFieldContainer: {\n display: \"flex\",\n alignItems: \"center\",\n },\n compositeAddOn: {\n marginLeft: 10,\n \"& div\": {\n marginBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n \"& div\": {\n marginTop: 5,\n },\n },\n },\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst TenantSizeResources = ({\n classes,\n updateAddField,\n isPageValid,\n nodes,\n\n resourcesSize,\n selectedStorageClass,\n maxAllocatableResources,\n maxCPUsUse,\n maxMemorySize,\n resourcesSpecifyLimit,\n resourcesCPURequestError,\n resourcesCPURequest,\n resourcesCPULimitError,\n resourcesCPULimit,\n resourcesMemoryRequestError,\n resourcesMemoryRequest,\n resourcesMemoryLimitError,\n resourcesMemoryLimit,\n}: ITenantSizeResourcesProps) => {\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"tenantSize\", field, value);\n },\n [updateAddField]\n );\n\n /*Debounce functions*/\n\n useEffect(() => {\n isPageValid(\n \"tenantSize\",\n resourcesMemoryRequestError === \"\" &&\n resourcesMemoryLimitError === \"\" &&\n resourcesCPURequestError === \"\" &&\n resourcesCPULimitError === \"\"\n );\n }, [\n isPageValid,\n resourcesMemoryRequestError,\n resourcesMemoryLimitError,\n resourcesCPURequestError,\n resourcesCPULimitError,\n ]);\n\n /*End debounce functions*/\n\n /*Calculate Allocation*/\n useEffect(() => {\n // Get allocatable Resources\n api\n .invoke(\"GET\", `api/v1/cluster/allocatable-resources?num_nodes=${nodes}`)\n .then((res: AllocableResourcesResponse) => {\n updateField(\"maxAllocatableResources\", res);\n\n const maxAllocatableResources = res;\n\n const memoryExists = get(\n maxAllocatableResources,\n \"min_allocatable_mem\",\n false\n );\n\n const cpuExists = get(\n maxAllocatableResources,\n \"min_allocatable_cpu\",\n false\n );\n\n if (memoryExists === false || cpuExists === false) {\n updateField(\"cpuToUse\", 0);\n\n updateField(\"maxMemorySize\", \"\");\n updateField(\"maxCPUsUse\", \"\");\n\n return;\n }\n\n const maxMemory = floor(\n res.mem_priority.max_allocatable_mem / 1024 / 1024 / 1024\n );\n // We default to Best CPU Configuration\n updateField(\"maxMemorySize\", maxMemory.toString());\n updateField(\n \"maxCPUsUse\",\n res.cpu_priority.max_allocatable_cpu.toString()\n );\n\n const maxAllocatableCPU = get(\n maxAllocatableResources,\n \"cpu_priority.max_allocatable_cpu\",\n 0\n );\n\n const baseCpuUse = Math.max(1, floor(maxAllocatableCPU / 2));\n updateField(\"resourcesCPURequest\", baseCpuUse);\n\n const baseMemoryUse = Math.max(2, floor(maxMemory / 2));\n updateField(\"resourcesMemoryRequest\", baseMemoryUse);\n })\n .catch((err: any) => {\n updateField(\"maxMemorySize\", 0);\n updateField(\"resourcesCPURequest\", \"\");\n\n console.error(err);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [nodes, updateField]);\n\n /*Calculate Allocation End*/\n\n return (\n \n \n
\n

Resources

\n \n You may specify the amount of CPU and Memory that MinIO servers\n should reserve on each node.\n \n
\n
\n {resourcesSize.error !== \"\" && (\n \n
{resourcesSize.error}
\n
\n )}\n\n \n {\n let value = parseInt(e.target.value);\n if (e.target.value === \"\") {\n updateField(\"resourcesCPURequestError\", \"\");\n } else if (isNaN(value)) {\n updateField(\"resourcesCPURequestError\", \"Invalid number\");\n } else if (value > parseInt(maxCPUsUse)) {\n updateField(\n \"resourcesCPURequestError\",\n `Request exceeds available cores (${maxCPUsUse})`\n );\n } else if (e.target.validity.valid) {\n updateField(\"resourcesCPURequestError\", \"\");\n } else {\n updateField(\"resourcesCPURequestError\", \"Invalid configuration\");\n }\n updateField(\"resourcesCPURequest\", e.target.value);\n }}\n value={resourcesCPURequest}\n disabled={selectedStorageClass === \"\"}\n max={maxCPUsUse}\n error={resourcesCPURequestError}\n pattern={\"[0-9]*\"}\n />\n \n\n \n ) => {\n let value = parseInt(e.target.value);\n if (e.target.value === \"\") {\n updateField(\"resourcesMemoryRequestError\", \"\");\n } else if (isNaN(value)) {\n updateField(\"resourcesMemoryRequestError\", \"Invalid number\");\n } else if (value > parseInt(maxMemorySize)) {\n updateField(\n \"resourcesMemoryRequestError\",\n `Request exceeds available memory across ${nodes} nodes (${maxMemorySize}Gi)`\n );\n } else if (value < 2) {\n updateField(\n \"resourcesMemoryRequestError\",\n \"At least 2Gi must be requested\"\n );\n } else if (e.target.validity.valid) {\n updateField(\"resourcesMemoryRequestError\", \"\");\n } else {\n updateField(\n \"resourcesMemoryRequestError\",\n \"Invalid configuration\"\n );\n }\n updateField(\"resourcesMemoryRequest\", e.target.value);\n }}\n label=\"Memory Request [Gi]\"\n value={resourcesMemoryRequest}\n disabled={selectedStorageClass === \"\"}\n error={resourcesMemoryRequestError}\n pattern={\"[0-9]*\"}\n />\n \n\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"resourcesSpecifyLimit\", checked);\n }}\n label={\"Specify Limit\"}\n />\n \n\n {resourcesSpecifyLimit && (\n \n \n {\n let value = parseInt(e.target.value);\n if (e.target.value === \"\") {\n updateField(\"resourcesCPULimitError\", \"\");\n } else if (isNaN(value)) {\n updateField(\"resourcesCPULimitError\", \"Invalid number\");\n } else if (e.target.validity.valid) {\n updateField(\"resourcesCPULimitError\", \"\");\n } else {\n updateField(\n \"resourcesCPULimitError\",\n \"Invalid configuration\"\n );\n }\n updateField(\"resourcesCPULimit\", e.target.value);\n }}\n value={resourcesCPULimit}\n disabled={selectedStorageClass === \"\"}\n max={maxCPUsUse}\n error={resourcesCPULimitError}\n pattern={\"[0-9]*\"}\n />\n \n\n \n ) => {\n let value = parseInt(e.target.value);\n console.log(\"value\", value);\n if (e.target.value === \"\") {\n updateField(\"resourcesMemoryLimitError\", \"\");\n } else if (isNaN(value)) {\n updateField(\"resourcesMemoryLimitError\", \"Invalid number\");\n } else if (e.target.validity.valid) {\n updateField(\"resourcesMemoryLimitError\", \"\");\n } else {\n updateField(\n \"resourcesMemoryLimitError\",\n \"Invalid configuration\"\n );\n }\n updateField(\"resourcesMemoryLimit\", e.target.value);\n }}\n label=\"Memory Limit [Gi]\"\n value={resourcesMemoryLimit}\n disabled={selectedStorageClass === \"\"}\n error={resourcesMemoryLimitError}\n pattern={\"[0-9]*\"}\n />\n \n \n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n nodes: state.tenants.createTenant.fields.tenantSize.nodes,\n\n resourcesSize: state.tenants.createTenant.fields.tenantSize.resourcesSize,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n maxAllocatableResources:\n state.tenants.createTenant.fields.tenantSize.maxAllocatableResources,\n maxCPUsUse: state.tenants.createTenant.fields.tenantSize.maxCPUsUse,\n maxMemorySize: state.tenants.createTenant.fields.tenantSize.maxMemorySize,\n\n resourcesSpecifyLimit:\n state.tenants.createTenant.fields.tenantSize.resourcesSpecifyLimit,\n\n resourcesCPURequestError:\n state.tenants.createTenant.fields.tenantSize.resourcesCPURequestError,\n resourcesCPURequest:\n state.tenants.createTenant.fields.tenantSize.resourcesCPURequest,\n resourcesCPULimitError:\n state.tenants.createTenant.fields.tenantSize.resourcesCPULimitError,\n resourcesCPULimit:\n state.tenants.createTenant.fields.tenantSize.resourcesCPULimit,\n\n resourcesMemoryRequestError:\n state.tenants.createTenant.fields.tenantSize.resourcesMemoryRequestError,\n resourcesMemoryRequest:\n state.tenants.createTenant.fields.tenantSize.resourcesMemoryRequest,\n resourcesMemoryLimitError:\n state.tenants.createTenant.fields.tenantSize.resourcesMemoryLimitError,\n resourcesMemoryLimit:\n state.tenants.createTenant.fields.tenantSize.resourcesMemoryLimit,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(TenantSizeResources));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport { SelectChangeEvent } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../../store\";\nimport { isPageValid, updateAddField } from \"../../../actions\";\nimport {\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n calculateDistribution,\n erasureCodeCalc,\n getBytes,\n k8sfactorForDropdown,\n niceBytes,\n} from \"../../../../../../common/utils\";\nimport { clearValidationError } from \"../../../utils\";\nimport { ecListTransform, Opts } from \"../../../ListTenants/utils\";\nimport { IResourcesSize } from \"../../../ListTenants/types\";\nimport { ICapacity, IErasureCodeCalc } from \"../../../../../../common/types\";\nimport { commonFormValidation } from \"../../../../../../utils/validationFunctions\";\nimport api from \"../../../../../../common/api\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport TenantSizeResources from \"./TenantSizeResources\";\n\ninterface ITenantSizeProps {\n classes: any;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n volumeSize: string;\n sizeFactor: string;\n drivesPerServer: string;\n nodes: string;\n memoryNode: string;\n ecParity: string;\n ecParityChoices: Opts[];\n cleanECChoices: string[];\n resourcesSize: IResourcesSize;\n distribution: any;\n ecParityCalc: IErasureCodeCalc;\n limitSize: any;\n selectedStorageClass: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n compositeFieldContainer: {\n display: \"flex\",\n alignItems: \"center\",\n },\n compositeAddOn: {\n marginLeft: 10,\n \"& div\": {\n marginBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n \"& div\": {\n marginTop: 5,\n },\n },\n },\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst TenantSize = ({\n classes,\n updateAddField,\n isPageValid,\n volumeSize,\n sizeFactor,\n drivesPerServer,\n nodes,\n memoryNode,\n ecParity,\n ecParityChoices,\n cleanECChoices,\n resourcesSize,\n distribution,\n ecParityCalc,\n limitSize,\n selectedStorageClass,\n}: ITenantSizeProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n const [errorFlag, setErrorFlag] = useState(false);\n const [nodeError, setNodeError] = useState(\"\");\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"tenantSize\", field, value);\n },\n [updateAddField]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n /*Debounce functions*/\n\n // Storage Quotas\n\n useEffect(() => {\n if (ecParityChoices.length > 0 && distribution.error === \"\") {\n const ecCodeValidated = erasureCodeCalc(\n cleanECChoices,\n distribution.persistentVolumes,\n distribution.pvSize,\n distribution.nodes\n );\n\n updateField(\"ecParityCalc\", ecCodeValidated);\n if (!cleanECChoices.includes(ecParity) || ecParity === \"\") {\n updateField(\"ecParity\", ecCodeValidated.defaultEC);\n }\n }\n }, [\n ecParity,\n ecParityChoices.length,\n distribution,\n cleanECChoices,\n updateField,\n ]);\n /*End debounce functions*/\n\n /*Calculate Allocation*/\n useEffect(() => {\n //Validate Cluster Size\n const size = volumeSize;\n const factor = sizeFactor;\n const limitSize = getBytes(\"12\", \"Ti\", true);\n\n const clusterCapacity: ICapacity = {\n unit: factor,\n value: size.toString(),\n };\n\n const distrCalculate = calculateDistribution(\n clusterCapacity,\n parseInt(nodes),\n parseInt(limitSize),\n parseInt(drivesPerServer)\n );\n\n updateField(\"distribution\", distrCalculate);\n setErrorFlag(false);\n setNodeError(\"\");\n }, [nodes, volumeSize, sizeFactor, updateField, drivesPerServer]);\n\n /*Calculate Allocation End*/\n\n /* Validations of pages */\n\n useEffect(() => {\n const parsedSize = getBytes(volumeSize, sizeFactor, true);\n\n const commonValidation = commonFormValidation([\n {\n fieldKey: \"nodes\",\n required: true,\n value: nodes,\n customValidation: errorFlag,\n customValidationMessage: nodeError,\n },\n {\n fieldKey: \"volume_size\",\n required: true,\n value: volumeSize,\n customValidation:\n parseInt(parsedSize) < 1073741824 ||\n parseInt(parsedSize) > limitSize[selectedStorageClass],\n customValidationMessage: `Volume size must be greater than 1Gi and less than ${niceBytes(\n limitSize[selectedStorageClass],\n true\n )}`,\n },\n {\n fieldKey: \"drivesps\",\n required: true,\n value: drivesPerServer,\n customValidation: parseInt(drivesPerServer) < 1,\n customValidationMessage: \"There must be at least one drive\",\n },\n ]);\n\n isPageValid(\n \"tenantSize\",\n !(\"nodes\" in commonValidation) &&\n !(\"volume_size\" in commonValidation) &&\n !(\"drivesps\" in commonValidation) &&\n distribution.error === \"\" &&\n ecParityCalc.error === 0 &&\n ecParity !== \"\"\n );\n\n setValidationErrors(commonValidation);\n }, [\n nodes,\n volumeSize,\n sizeFactor,\n memoryNode,\n distribution,\n ecParityCalc,\n resourcesSize,\n limitSize,\n selectedStorageClass,\n isPageValid,\n errorFlag,\n nodeError,\n drivesPerServer,\n ecParity,\n ]);\n\n useEffect(() => {\n if (distribution.error === \"\") {\n // Get EC Value\n if (nodes.trim() !== \"\" && distribution.disks !== 0) {\n api\n .invoke(\"GET\", `api/v1/get-parity/${nodes}/${distribution.disks}`)\n .then((ecList: string[]) => {\n updateField(\"ecParityChoices\", ecListTransform(ecList));\n updateField(\"cleanECChoices\", ecList);\n })\n .catch((err: any) => {\n updateField(\"ecparityChoices\", []);\n isPageValid(\"tenantSize\", false);\n updateField(\"ecParity\", \"\");\n });\n }\n }\n }, [distribution, isPageValid, updateField, nodes]);\n\n /* End Validation of pages */\n\n return (\n \n \n
\n

Capacity

\n \n Please select the desired capacity\n \n
\n
\n {distribution.error !== \"\" && (\n \n
{distribution.error}
\n
\n )}\n \n ) => {\n if (e.target.validity.valid) {\n updateField(\"nodes\", e.target.value);\n cleanValidation(\"nodes\");\n }\n }}\n label=\"Number of Servers\"\n disabled={selectedStorageClass === \"\"}\n value={nodes}\n min=\"4\"\n required\n error={validationErrors[\"nodes\"] || \"\"}\n pattern={\"[0-9]*\"}\n />\n \n \n ) => {\n if (e.target.validity.valid) {\n updateField(\"drivesPerServer\", e.target.value);\n cleanValidation(\"drivesps\");\n }\n }}\n label=\"Drives per Server\"\n value={drivesPerServer}\n disabled={selectedStorageClass === \"\"}\n min=\"1\"\n required\n error={validationErrors[\"drivesps\"] || \"\"}\n pattern={\"[0-9]*\"}\n />\n \n \n
\n
\n
\n ) => {\n updateField(\"volumeSize\", e.target.value);\n cleanValidation(\"volume_size\");\n }}\n label=\"Total Size\"\n value={volumeSize}\n disabled={selectedStorageClass === \"\"}\n required\n error={validationErrors[\"volume_size\"] || \"\"}\n min=\"0\"\n />\n
\n ) => {\n updateField(\"sizeFactor\", e.target.value as string);\n }}\n options={k8sfactorForDropdown()}\n />\n
\n
\n
\n
\n
\n\n \n ) => {\n updateField(\"ecParity\", e.target.value as string);\n }}\n label=\"Erasure Code Parity\"\n disabled={selectedStorageClass === \"\"}\n value={ecParity}\n options={ecParityChoices}\n />\n \n Please select the desired parity. This setting will change the max\n usable capacity in the cluster\n \n \n\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n volumeSize: state.tenants.createTenant.fields.tenantSize.volumeSize,\n sizeFactor: state.tenants.createTenant.fields.tenantSize.sizeFactor,\n drivesPerServer: state.tenants.createTenant.fields.tenantSize.drivesPerServer,\n nodes: state.tenants.createTenant.fields.tenantSize.nodes,\n memoryNode: state.tenants.createTenant.fields.tenantSize.memoryNode,\n ecParity: state.tenants.createTenant.fields.tenantSize.ecParity,\n ecParityChoices: state.tenants.createTenant.fields.tenantSize.ecParityChoices,\n cleanECChoices: state.tenants.createTenant.fields.tenantSize.cleanECChoices,\n\n resourcesSize: state.tenants.createTenant.fields.tenantSize.resourcesSize,\n distribution: state.tenants.createTenant.fields.tenantSize.distribution,\n ecParityCalc: state.tenants.createTenant.fields.tenantSize.ecParityCalc,\n limitSize: state.tenants.createTenant.limitSize,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(TenantSize));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport { SelectChangeEvent } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../../store\";\nimport { isPageValid, updateAddField } from \"../../../actions\";\nimport {\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport Grid from \"@mui/material/Grid\";\nimport { erasureCodeCalc, getBytes } from \"../../../../../../common/utils\";\nimport { clearValidationError } from \"../../../utils\";\nimport { ecListTransform, Opts } from \"../../../ListTenants/utils\";\nimport { IResourcesSize } from \"../../../ListTenants/types\";\nimport {\n IErasureCodeCalc,\n IStorageDistribution,\n} from \"../../../../../../common/types\";\nimport { commonFormValidation } from \"../../../../../../utils/validationFunctions\";\nimport api from \"../../../../../../common/api\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport {\n IMkEnvs,\n IntegrationConfiguration,\n mkPanelConfigurations,\n} from \"./utils\";\n\ninterface ITenantSizeAWSProps {\n classes: any;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n volumeSize: string;\n sizeFactor: string;\n drivesPerServer: string;\n nodes: string;\n memoryNode: string;\n ecParity: string;\n ecParityChoices: Opts[];\n cleanECChoices: string[];\n resourcesSize: IResourcesSize;\n distribution: any;\n ecParityCalc: IErasureCodeCalc;\n limitSize: any;\n selectedStorageType: string;\n cpuToUse: string;\n maxCPUsUse: string;\n formToRender?: IMkEnvs;\n integrationSelection: IntegrationConfiguration;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n compositeFieldContainer: {\n display: \"flex\",\n alignItems: \"center\",\n },\n compositeAddOn: {\n marginLeft: 10,\n \"& div\": {\n marginBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n \"& div\": {\n marginTop: 5,\n },\n },\n },\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst TenantSizeMK = ({\n classes,\n updateAddField,\n isPageValid,\n volumeSize,\n sizeFactor,\n drivesPerServer,\n nodes,\n memoryNode,\n ecParity,\n ecParityChoices,\n cleanECChoices,\n resourcesSize,\n distribution,\n ecParityCalc,\n limitSize,\n cpuToUse,\n selectedStorageType,\n maxCPUsUse,\n formToRender,\n integrationSelection,\n}: ITenantSizeAWSProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"tenantSize\", field, value);\n },\n [updateAddField]\n );\n\n const updateMainField = useCallback(\n (field: string, value: string) => {\n updateAddField(\"nameTenant\", field, value);\n },\n [updateAddField]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n /*Debounce functions*/\n\n // Storage Quotas\n useEffect(() => {\n if (ecParityChoices.length > 0 && distribution.error === \"\") {\n const ecCodeValidated = erasureCodeCalc(\n cleanECChoices,\n distribution.persistentVolumes,\n distribution.pvSize,\n distribution.nodes\n );\n\n updateField(\"ecParityCalc\", ecCodeValidated);\n\n if (!cleanECChoices.includes(ecParity) || ecParity === \"\") {\n updateField(\"ecParity\", ecCodeValidated.defaultEC);\n }\n }\n }, [ecParity, ecParityChoices, distribution, cleanECChoices, updateField]);\n /*End debounce functions*/\n\n /*Set location Storage Types*/\n useEffect(() => {\n if (formToRender !== undefined && parseInt(nodes) >= 4) {\n const setConfigs = mkPanelConfigurations[formToRender];\n const keyCount = Object.keys(setConfigs).length;\n\n //Configuration is filled\n if (keyCount > 0) {\n const configs: IntegrationConfiguration[] = get(\n setConfigs,\n \"configurations\",\n []\n );\n\n const mainSelection = configs.find(\n (item) => item.typeSelection === selectedStorageType\n );\n\n if (mainSelection) {\n updateField(\"integrationSelection\", mainSelection);\n updateMainField(\"selectedStorageClass\", mainSelection.storageClass);\n\n let pvSize = parseInt(\n getBytes(\n mainSelection.driveSize.driveSize,\n mainSelection.driveSize.sizeUnit,\n true\n ),\n 10\n );\n\n const distrCalculate: IStorageDistribution = {\n pvSize,\n nodes: parseInt(nodes),\n disks: mainSelection.drivesPerServer,\n persistentVolumes: mainSelection.drivesPerServer * parseInt(nodes),\n error: \"\",\n };\n\n updateField(\"distribution\", distrCalculate);\n // apply requests, half of the available resources\n updateField(\n \"resourcesCPURequest\",\n Math.max(1, mainSelection.CPU / 2)\n );\n updateField(\n \"resourcesMemoryRequest\",\n Math.max(2, mainSelection.memory / 2)\n );\n }\n }\n }\n }, [nodes, selectedStorageType, formToRender, updateField, updateMainField]);\n\n /*Calculate Allocation End*/\n\n /* Validations of pages */\n\n useEffect(() => {\n const commonValidation = commonFormValidation([\n {\n fieldKey: \"nodes\",\n required: true,\n value: nodes,\n customValidation: parseInt(nodes) < 4,\n customValidationMessage: \"Al least 4 servers must be selected\",\n },\n ]);\n\n isPageValid(\n \"tenantSize\",\n !(\"nodes\" in commonValidation) &&\n distribution.error === \"\" &&\n ecParityCalc.error === 0 &&\n resourcesSize.error === \"\" &&\n ecParity !== \"\" &&\n parseInt(nodes) >= 4\n );\n\n setValidationErrors(commonValidation);\n }, [\n nodes,\n volumeSize,\n sizeFactor,\n memoryNode,\n distribution,\n ecParityCalc,\n resourcesSize,\n limitSize,\n selectedStorageType,\n cpuToUse,\n maxCPUsUse,\n isPageValid,\n drivesPerServer,\n ecParity,\n ]);\n\n useEffect(() => {\n if (integrationSelection.drivesPerServer !== 0) {\n // Get EC Value\n if (nodes.trim() !== \"\") {\n api\n .invoke(\n \"GET\",\n `api/v1/get-parity/${nodes}/${integrationSelection.drivesPerServer}`\n )\n .then((ecList: string[]) => {\n updateField(\"ecParityChoices\", ecListTransform(ecList));\n updateField(\"cleanECChoices\", ecList);\n })\n .catch((err: any) => {\n updateField(\"ecparityChoices\", []);\n isPageValid(\"tenantSize\", false);\n updateField(\"ecParity\", \"\");\n });\n }\n }\n }, [integrationSelection, nodes, isPageValid, updateField]);\n\n /* End Validation of pages */\n\n return (\n \n \n
\n

Tenant Size

\n \n Please select the desired capacity\n \n
\n
\n {distribution.error !== \"\" && (\n \n
{distribution.error}
\n
\n )}\n {resourcesSize.error !== \"\" && (\n \n
{resourcesSize.error}
\n
\n )}\n \n ) => {\n if (e.target.validity.valid) {\n updateField(\"nodes\", e.target.value);\n cleanValidation(\"nodes\");\n }\n }}\n label=\"Number of Servers\"\n disabled={selectedStorageType === \"\"}\n value={nodes}\n min=\"4\"\n required\n error={validationErrors[\"nodes\"] || \"\"}\n pattern={\"[0-9]*\"}\n />\n \n \n ) => {\n updateField(\"ecParity\", e.target.value as string);\n }}\n label=\"Erasure Code Parity\"\n disabled={selectedStorageType === \"\"}\n value={ecParity}\n options={ecParityChoices}\n />\n \n Please select the desired parity. This setting will change the max\n usable capacity in the cluster\n \n \n
\n );\n};\n\nconst mapState = (state: AppState) => () => {\n const createTenant = state.tenants.createTenant;\n\n const {\n memoryNode,\n ecParityChoices,\n distribution,\n cleanECChoices,\n sizeFactor,\n ecParity,\n cpuToUse,\n integrationSelection,\n resourcesSize,\n drivesPerServer,\n maxCPUsUse,\n ecParityCalc,\n volumeSize,\n nodes,\n } = createTenant.fields.tenantSize;\n\n return {\n volumeSize,\n sizeFactor,\n drivesPerServer,\n nodes,\n memoryNode,\n ecParity,\n ecParityChoices,\n cleanECChoices,\n resourcesSize,\n distribution,\n ecParityCalc,\n cpuToUse,\n maxCPUsUse,\n integrationSelection,\n limitSize: createTenant.limitSize,\n selectedStorageType: createTenant.fields.nameTenant.selectedStorageType,\n };\n};\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(TenantSizeMK));\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 Fragment,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} 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 debounce from \"lodash/debounce\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../../../actions\";\nimport {\n isPageValid,\n setLimitSize,\n setStorageClassesList,\n updateAddField,\n} from \"../../../actions\";\nimport {\n getLimitSizes,\n IQuotaElement,\n IQuotas,\n Opts,\n} from \"../../../ListTenants/utils\";\nimport { AppState } from \"../../../../../../store\";\nimport { commonFormValidation } from \"../../../../../../utils/validationFunctions\";\nimport { clearValidationError } from \"../../../utils\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport api from \"../../../../../../common/api\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport AddIcon from \"../../../../../../icons/AddIcon\";\nimport AddNamespaceModal from \"../helpers/AddNamespaceModal\";\nimport SizePreview from \"../SizePreview\";\nimport TenantSize from \"./TenantSize\";\nimport { Paper, SelectChangeEvent } from \"@mui/material\";\nimport { IMkEnvs, mkPanelConfigurations } from \"./utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n sizePreview: {\n position: \"fixed\",\n marginLeft: 10,\n background: \"#FFFFFF\",\n border: \"1px solid #EAEAEA\",\n padding: 2,\n },\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\ninterface INameTenantMainScreen {\n classes: any;\n storageClasses: Opts[];\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n setStorageClassesList: typeof setStorageClassesList;\n setLimitSize: typeof setLimitSize;\n tenantName: string;\n namespace: string;\n selectedStorageClass: string;\n selectedStorageType: string;\n formToRender?: IMkEnvs;\n}\n\nconst NameTenantMain = ({\n classes,\n storageClasses,\n tenantName,\n namespace,\n selectedStorageClass,\n selectedStorageType,\n formToRender = IMkEnvs.default,\n updateAddField,\n setStorageClassesList,\n setLimitSize,\n isPageValid,\n setModalErrorSnackMessage,\n}: INameTenantMainScreen) => {\n const [validationErrors, setValidationErrors] = useState({});\n const [emptyNamespace, setEmptyNamespace] = useState(true);\n const [loadingNamespaceInfo, setLoadingNamespaceInfo] =\n useState(false);\n const [showCreateButton, setShowCreateButton] = useState(false);\n const [openAddNSConfirm, setOpenAddNSConfirm] = useState(false);\n\n // Common\n const updateField = useCallback(\n (field: string, value: string) => {\n updateAddField(\"nameTenant\", field, value);\n },\n [updateAddField]\n );\n\n // Storage classes retrieval\n const getNamespaceInformation = useCallback(() => {\n setShowCreateButton(false);\n // Empty tenantValidation\n api\n .invoke(\"GET\", `/api/v1/namespaces/${namespace}/tenants`)\n .then((res: any[]) => {\n const tenantsList = get(res, \"tenants\", []);\n\n if (tenantsList && tenantsList.length > 0) {\n setEmptyNamespace(false);\n setLoadingNamespaceInfo(false);\n return;\n }\n setEmptyNamespace(true);\n\n // Storagequotas retrieval\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${namespace}/resourcequotas/${namespace}-storagequota`\n )\n .then((res: IQuotas) => {\n const elements: IQuotaElement[] = get(res, \"elements\", []);\n setLimitSize(getLimitSizes(res));\n\n const newStorage = elements.map((storageClass: any) => {\n const name = get(storageClass, \"name\", \"\").split(\n \".storageclass.storage.k8s.io/requests.storage\"\n )[0];\n\n return { label: name, value: name };\n });\n\n setStorageClassesList(newStorage);\n\n const stExists = newStorage.findIndex(\n (storageClass) => storageClass.value === selectedStorageClass\n );\n\n if (newStorage.length > 0 && stExists === -1) {\n updateField(\"selectedStorageClass\", newStorage[0].value);\n } else if (newStorage.length === 0) {\n updateField(\"selectedStorageClass\", \"\");\n setStorageClassesList([]);\n }\n setLoadingNamespaceInfo(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingNamespaceInfo(false);\n setShowCreateButton(true);\n updateField(\"selectedStorageClass\", \"\");\n setStorageClassesList([]);\n console.error(\"Namespace error: \", err);\n });\n })\n .catch((err: ErrorResponseHandler) => {\n setModalErrorSnackMessage({\n errorMessage: \"Error validating if namespace already has tenants\",\n detailedError: err.detailedError,\n });\n });\n }, [\n namespace,\n setLimitSize,\n setModalErrorSnackMessage,\n setStorageClassesList,\n updateField,\n selectedStorageClass,\n ]);\n\n const debounceNamespace = useMemo(\n () => debounce(getNamespaceInformation, 500),\n [getNamespaceInformation]\n );\n\n useEffect(() => {\n if (namespace !== \"\") {\n debounceNamespace();\n setLoadingNamespaceInfo(true);\n\n // Cancel previous debounce calls during useEffect cleanup.\n return debounceNamespace.cancel;\n }\n }, [debounceNamespace, namespace]);\n\n // Validation\n useEffect(() => {\n let customNamespaceError = false;\n let errorMessage = \"\";\n\n if (!emptyNamespace && !loadingNamespaceInfo) {\n customNamespaceError = true;\n errorMessage = \"You can only create one tenant per namespace\";\n } else if (\n storageClasses.length < 1 &&\n emptyNamespace &&\n !loadingNamespaceInfo\n ) {\n customNamespaceError = true;\n errorMessage = \"Please enter a valid namespace\";\n }\n\n const commonValidation = commonFormValidation([\n {\n fieldKey: \"tenant-name\",\n required: true,\n pattern: /^[a-z0-9-]{3,63}$/,\n customPatternMessage:\n \"Name only can contain lowercase letters, numbers and '-'. Min. Length: 3\",\n value: tenantName,\n },\n {\n fieldKey: \"namespace\",\n required: true,\n value: namespace,\n customValidation: customNamespaceError,\n customValidationMessage: errorMessage,\n },\n ]);\n\n const isValid =\n !(\"tenant-name\" in commonValidation) &&\n !(\"namespace\" in commonValidation) &&\n ((formToRender === IMkEnvs.default && storageClasses.length > 0) ||\n (formToRender !== IMkEnvs.default && selectedStorageType !== \"\"));\n\n isPageValid(\"nameTenant\", isValid);\n\n setValidationErrors(commonValidation);\n }, [\n storageClasses,\n namespace,\n tenantName,\n isPageValid,\n emptyNamespace,\n loadingNamespaceInfo,\n selectedStorageType,\n formToRender,\n ]);\n\n const frmValidationCleanup = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n const addNamespace = () => {\n setOpenAddNSConfirm(true);\n };\n\n const closeAddNamespace = (refresh: boolean) => {\n setOpenAddNSConfirm(false);\n\n if (refresh) {\n debounceNamespace();\n }\n };\n\n return (\n \n {openAddNSConfirm && (\n \n )}\n \n \n \n \n \n
\n

Name

\n \n How would you like to name this new tenant?\n \n
\n
\n ) => {\n updateField(\"tenantName\", e.target.value);\n frmValidationCleanup(\"tenant-name\");\n }}\n label=\"Name\"\n value={tenantName}\n required\n error={validationErrors[\"tenant-name\"] || \"\"}\n />\n
\n
\n \n ) => {\n updateField(\"namespace\", e.target.value);\n frmValidationCleanup(\"namespace\");\n }}\n label=\"Namespace\"\n value={namespace}\n error={validationErrors[\"namespace\"] || \"\"}\n overlayIcon={showCreateButton ? : null}\n overlayAction={addNamespace}\n required\n />\n \n {formToRender === IMkEnvs.default ? (\n \n ) => {\n updateField(\n \"selectedStorageClass\",\n e.target.value as string\n );\n }}\n label=\"Storage Class\"\n value={selectedStorageClass}\n options={storageClasses}\n disabled={storageClasses.length < 1}\n />\n \n ) : (\n \n ) => {\n updateField(\n \"selectedStorageType\",\n e.target.value as string\n );\n }}\n label={get(\n mkPanelConfigurations,\n `${formToRender}.variantSelectorLabel`,\n \"Storage Type\"\n )}\n value={selectedStorageType}\n options={get(\n mkPanelConfigurations,\n `${formToRender}.variantSelectorValues`,\n []\n )}\n />\n \n )}\n {formToRender === IMkEnvs.default ? (\n \n ) : (\n get(\n mkPanelConfigurations,\n `${formToRender}.sizingComponent`,\n null\n )\n )}\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n tenantName: state.tenants.createTenant.fields.nameTenant.tenantName,\n namespace: state.tenants.createTenant.fields.nameTenant.namespace,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n selectedStorageType:\n state.tenants.createTenant.fields.nameTenant.selectedStorageType,\n storageClasses: state.tenants.createTenant.storageClasses,\n});\n\nconst connector = connect(mapState, {\n setModalErrorSnackMessage,\n updateAddField,\n setStorageClassesList,\n setLimitSize,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(NameTenantMain));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport NameTenantMain from \"./NameTenantMain\";\nimport { IMkEnvs, resourcesConfigurations } from \"./utils\";\nimport { AppState } from \"../../../../../../store\";\n\ninterface ITenantResources {\n features?: string[];\n}\n\nconst TenantResources = ({ features }: ITenantResources) => {\n const [formRender, setFormRender] = useState(null);\n\n useEffect(() => {\n let setConfiguration = IMkEnvs.default;\n\n if (features && features.length !== 0) {\n const possibleVariables = Object.keys(resourcesConfigurations);\n\n possibleVariables.forEach((element) => {\n if (features.includes(element)) {\n setConfiguration = get(\n resourcesConfigurations,\n element,\n IMkEnvs.default\n );\n }\n });\n }\n\n setFormRender(setConfiguration);\n }, [features]);\n\n if (formRender === null) {\n return null;\n }\n\n return ;\n};\n\nconst mapState = (state: AppState) => ({\n features: state.console.session.features,\n});\n\nconst connector = connect(mapState, null);\n\nexport default connector(TenantResources);\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 Grid from \"@mui/material/Grid\";\nimport { LinearProgress } from \"@mui/material\";\n\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n modalBasic,\n settingsCommon,\n wizardCommon,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport api from \"../../../../common/api\";\nimport { generatePoolName } from \"../../../../common/utils\";\nimport GenericWizard from \"../../Common/GenericWizard/GenericWizard\";\nimport { IWizardElement } from \"../../Common/GenericWizard/types\";\nimport { NewServiceAccount } from \"../../Common/CredentialsPrompt/types\";\nimport { ErrorResponseHandler, ITenantCreator } from \"../../../../common/types\";\nimport { KeyPair } from \"../ListTenants/utils\";\n\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { getDefaultAffinity, getNodeSelector } from \"../TenantDetails/utils\";\nimport CredentialsPrompt from \"../../Common/CredentialsPrompt/CredentialsPrompt\";\nimport { AppState } from \"../../../../store\";\nimport { ICertificatesItems, IFieldStore } from \"../types\";\nimport { resetAddTenantForm, updateAddField } from \"../actions\";\nimport Configure from \"./Steps/Configure\";\nimport IdentityProvider from \"./Steps/IdentityProvider\";\nimport Security from \"./Steps/Security\";\nimport Encryption from \"./Steps/Encryption\";\nimport Affinity from \"./Steps/Affinity\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport history from \"../../../../history\";\nimport Images from \"./Steps/Images\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport BackLink from \"../../../../common/BackLink\";\nimport TenantResources from \"./Steps/TenantResources/TenantResources\";\n\ninterface IAddTenantProps {\n setErrorSnackMessage: typeof setErrorSnackMessage;\n resetAddTenantForm: typeof resetAddTenantForm;\n updateAddField: typeof updateAddField;\n fields: IFieldStore;\n certificates: ICertificatesItems;\n selectedStorageClass: string;\n namespace: string;\n validPages: string[];\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n pageBox: {\n border: \"1px solid #EAEAEA\",\n },\n ...modalBasic,\n ...wizardCommon,\n ...settingsCommon,\n });\n\nconst AddTenant = ({\n classes,\n fields,\n certificates,\n selectedStorageClass,\n namespace,\n validPages,\n setErrorSnackMessage,\n resetAddTenantForm,\n}: IAddTenantProps) => {\n // Modals\n const [showNewCredentials, setShowNewCredentials] = useState(false);\n const [createdAccount, setCreatedAccount] =\n useState(null);\n\n // Fields\n const [addSending, setAddSending] = useState(false);\n\n /* Send Information to backend */\n useEffect(() => {\n const tenantName = fields.nameTenant.tenantName;\n const selectedStorageClass = fields.nameTenant.selectedStorageClass;\n const imageName = fields.configure.imageName;\n const customDockerhub = fields.configure.customDockerhub;\n const imageRegistry = fields.configure.imageRegistry;\n const imageRegistryUsername = fields.configure.imageRegistryUsername;\n const imageRegistryPassword = fields.configure.imageRegistryPassword;\n const exposeMinIO = fields.configure.exposeMinIO;\n const exposeConsole = fields.configure.exposeConsole;\n const idpSelection = fields.identityProvider.idpSelection;\n const openIDConfigurationURL =\n fields.identityProvider.openIDConfigurationURL;\n const openIDClientID = fields.identityProvider.openIDClientID;\n const openIDClaimName = fields.identityProvider.openIDClaimName;\n const openIDCallbackURL = fields.identityProvider.openIDCallbackURL;\n const openIDScopes = fields.identityProvider.openIDScopes;\n const openIDSecretID = fields.identityProvider.openIDSecretID;\n const ADURL = fields.identityProvider.ADURL;\n const ADSkipTLS = fields.identityProvider.ADSkipTLS;\n const ADServerInsecure = fields.identityProvider.ADServerInsecure;\n const ADUserNameSearchFilter =\n fields.identityProvider.ADUserNameSearchFilter;\n const ADGroupSearchBaseDN = fields.identityProvider.ADGroupSearchBaseDN;\n const ADGroupSearchFilter = fields.identityProvider.ADGroupSearchFilter;\n const ADGroupNameAttribute = fields.identityProvider.ADGroupNameAttribute;\n const ADUserDNs = fields.identityProvider.ADUserDNs;\n const ADUserNameFormat = fields.identityProvider.ADUserNameFormat;\n const ADLookupBindDN = fields.identityProvider.ADLookupBindDN;\n const ADLookupBindPassword = fields.identityProvider.ADLookupBindPassword;\n const ADUserDNSearchBaseDN = fields.identityProvider.ADUserDNSearchBaseDN;\n const ADUserDNSearchFilter = fields.identityProvider.ADUserDNSearchFilter;\n const ADServerStartTLS = fields.identityProvider.ADServerStartTLS;\n const accessKeys = fields.identityProvider.accessKeys;\n const secretKeys = fields.identityProvider.secretKeys;\n const minioCertificates = certificates.minioCertificates;\n const caCertificates = certificates.caCertificates;\n const consoleCaCertificates = certificates.consoleCaCertificates;\n const consoleCertificate = certificates.consoleCertificate;\n const serverCertificate = certificates.serverCertificate;\n const clientCertificate = certificates.clientCertificate;\n const vaultCertificate = certificates.vaultCertificate;\n const vaultCA = certificates.vaultCA;\n const gemaltoCA = certificates.gemaltoCA;\n const enableEncryption = fields.encryption.enableEncryption;\n const encryptionType = fields.encryption.encryptionType;\n const gemaltoEndpoint = fields.encryption.gemaltoEndpoint;\n const gemaltoToken = fields.encryption.gemaltoToken;\n const gemaltoDomain = fields.encryption.gemaltoDomain;\n const gemaltoRetry = fields.encryption.gemaltoRetry;\n const awsEndpoint = fields.encryption.awsEndpoint;\n const awsRegion = fields.encryption.awsRegion;\n const awsKMSKey = fields.encryption.awsKMSKey;\n const awsAccessKey = fields.encryption.awsAccessKey;\n const awsSecretKey = fields.encryption.awsSecretKey;\n const awsToken = fields.encryption.awsToken;\n const vaultEndpoint = fields.encryption.vaultEndpoint;\n const vaultEngine = fields.encryption.vaultEngine;\n const vaultNamespace = fields.encryption.vaultNamespace;\n const vaultPrefix = fields.encryption.vaultPrefix;\n const vaultAppRoleEngine = fields.encryption.vaultAppRoleEngine;\n const vaultId = fields.encryption.vaultId;\n const vaultSecret = fields.encryption.vaultSecret;\n const vaultRetry = fields.encryption.vaultRetry;\n const vaultPing = fields.encryption.vaultPing;\n const azureEndpoint = fields.encryption.azureEndpoint;\n const azureTenantID = fields.encryption.azureTenantID;\n const azureClientID = fields.encryption.azureClientID;\n const azureClientSecret = fields.encryption.azureClientSecret;\n const gcpProjectID = fields.encryption.gcpProjectID;\n const gcpEndpoint = fields.encryption.gcpEndpoint;\n const gcpClientEmail = fields.encryption.gcpClientEmail;\n const gcpClientID = fields.encryption.gcpClientID;\n const gcpPrivateKeyID = fields.encryption.gcpPrivateKeyID;\n const gcpPrivateKey = fields.encryption.gcpPrivateKey;\n const enableAutoCert = fields.security.enableAutoCert;\n const enableTLS = fields.security.enableTLS;\n const ecParity = fields.tenantSize.ecParity;\n const distribution = fields.tenantSize.distribution;\n const tenantCustom = fields.configure.tenantCustom;\n const logSearchCustom = fields.configure.logSearchCustom;\n const prometheusCustom = fields.configure.prometheusCustom;\n const logSearchVolumeSize = fields.configure.logSearchVolumeSize;\n const logSearchSelectedStorageClass =\n fields.configure.logSearchSelectedStorageClass;\n const logSearchImage = fields.configure.logSearchImage;\n const kesImage = fields.configure.kesImage;\n const logSearchPostgresImage = fields.configure.logSearchPostgresImage;\n const logSearchPostgresInitImage =\n fields.configure.logSearchPostgresInitImage;\n const prometheusImage = fields.configure.prometheusImage;\n const prometheusSidecarImage = fields.configure.prometheusSidecarImage;\n const prometheusInitImage = fields.configure.prometheusInitImage;\n const prometheusSelectedStorageClass =\n fields.configure.prometheusSelectedStorageClass;\n const prometheusVolumeSize = fields.configure.prometheusVolumeSize;\n const affinityType = fields.affinity.podAffinity;\n const nodeSelectorLabels = fields.affinity.nodeSelectorLabels;\n const withPodAntiAffinity = fields.affinity.withPodAntiAffinity;\n\n const tenantSecurityContext = fields.configure.tenantSecurityContext;\n const logSearchSecurityContext = fields.configure.logSearchSecurityContext;\n const logSearchPostgresSecurityContext =\n fields.configure.logSearchPostgresSecurityContext;\n const prometheusSecurityContext =\n fields.configure.prometheusSecurityContext;\n const kesSecurityContext = fields.encryption.kesSecurityContext;\n const kesReplicas = fields.encryption.replicas;\n\n if (addSending) {\n const poolName = generatePoolName([]);\n\n let affinityObject = {};\n\n switch (affinityType) {\n case \"default\":\n affinityObject = {\n affinity: getDefaultAffinity(tenantName, poolName),\n };\n break;\n case \"nodeSelector\":\n affinityObject = {\n affinity: getNodeSelector(\n nodeSelectorLabels,\n withPodAntiAffinity,\n tenantName,\n poolName\n ),\n };\n break;\n }\n\n const erasureCode = ecParity.split(\":\")[1];\n\n let dataSend: ITenantCreator = {\n name: tenantName,\n namespace: namespace,\n access_key: \"\",\n secret_key: \"\",\n access_keys: [],\n secret_keys: [],\n enable_tls: enableTLS && enableAutoCert,\n enable_console: true,\n enable_prometheus: true,\n service_name: \"\",\n image: imageName,\n expose_minio: exposeMinIO,\n expose_console: exposeConsole,\n pools: [\n {\n name: poolName,\n servers: distribution.nodes,\n volumes_per_server: distribution.disks,\n volume_configuration: {\n size: distribution.pvSize,\n storage_class_name: selectedStorageClass,\n },\n securityContext: tenantCustom ? tenantSecurityContext : null,\n ...affinityObject,\n },\n ],\n erasureCodingParity: parseInt(erasureCode, 10),\n };\n\n // Set Resources\n if (\n fields.tenantSize.resourcesCPURequest !== \"\" ||\n fields.tenantSize.resourcesCPULimit !== \"\" ||\n fields.tenantSize.resourcesMemoryRequest !== \"\" ||\n fields.tenantSize.resourcesMemoryLimit !== \"\"\n ) {\n dataSend.pools[0].resources = {};\n // requests\n if (\n fields.tenantSize.resourcesCPURequest !== \"\" ||\n fields.tenantSize.resourcesMemoryRequest !== \"\"\n ) {\n dataSend.pools[0].resources.requests = {};\n if (fields.tenantSize.resourcesCPURequest !== \"\") {\n dataSend.pools[0].resources.requests.cpu = parseInt(\n fields.tenantSize.resourcesCPURequest\n );\n }\n if (fields.tenantSize.resourcesMemoryRequest !== \"\") {\n dataSend.pools[0].resources.requests.memory = parseInt(\n fields.tenantSize.resourcesMemoryRequest\n );\n }\n }\n // limits\n if (\n fields.tenantSize.resourcesCPULimit !== \"\" ||\n fields.tenantSize.resourcesMemoryLimit !== \"\"\n ) {\n dataSend.pools[0].resources.limits = {};\n if (fields.tenantSize.resourcesCPULimit !== \"\") {\n dataSend.pools[0].resources.limits.cpu = parseInt(\n fields.tenantSize.resourcesCPULimit\n );\n }\n if (fields.tenantSize.resourcesMemoryLimit !== \"\") {\n dataSend.pools[0].resources.limits.memory = parseInt(\n fields.tenantSize.resourcesMemoryLimit\n );\n }\n }\n }\n if (customDockerhub) {\n dataSend = {\n ...dataSend,\n image_registry: {\n registry: imageRegistry,\n username: imageRegistryUsername,\n password: imageRegistryPassword,\n },\n };\n }\n\n if (logSearchCustom) {\n dataSend = {\n ...dataSend,\n logSearchConfiguration: {\n storageClass:\n logSearchSelectedStorageClass === \"default\"\n ? \"\"\n : logSearchSelectedStorageClass,\n storageSize: parseInt(logSearchVolumeSize),\n image: logSearchImage,\n postgres_image: logSearchPostgresImage,\n postgres_init_image: logSearchPostgresInitImage,\n securityContext: logSearchSecurityContext,\n postgres_securityContext: logSearchPostgresSecurityContext,\n },\n };\n } else {\n dataSend = {\n ...dataSend,\n logSearchConfiguration: {\n image: logSearchImage,\n postgres_image: logSearchPostgresImage,\n postgres_init_image: logSearchPostgresInitImage,\n },\n };\n }\n\n if (prometheusCustom) {\n dataSend = {\n ...dataSend,\n prometheusConfiguration: {\n storageClass:\n prometheusSelectedStorageClass === \"default\"\n ? \"\"\n : prometheusSelectedStorageClass,\n storageSize: parseInt(prometheusVolumeSize),\n image: prometheusImage,\n sidecar_image: prometheusSidecarImage,\n init_image: prometheusInitImage,\n securityContext: prometheusSecurityContext,\n },\n };\n } else {\n dataSend = {\n ...dataSend,\n prometheusConfiguration: {\n image: prometheusImage,\n sidecar_image: prometheusSidecarImage,\n init_image: prometheusInitImage,\n },\n };\n }\n\n let tenantCerts: any = null;\n let consoleCerts: any = null;\n let caCerts: any = null;\n let consoleCaCerts: any = null;\n\n if (caCertificates.length > 0) {\n caCerts = {\n ca_certificates: caCertificates\n .map((keyPair: KeyPair) => keyPair.encoded_cert)\n .filter((keyPair) => keyPair),\n };\n }\n\n if (consoleCaCertificates.length > 0) {\n consoleCaCerts = {\n console_ca_certificates: consoleCaCertificates\n .map((keyPair: KeyPair) => keyPair.encoded_cert)\n .filter((keyPair) => keyPair),\n };\n }\n\n if (enableTLS && minioCertificates.length > 0) {\n tenantCerts = {\n minio: minioCertificates\n .map((keyPair: KeyPair) => ({\n crt: keyPair.encoded_cert,\n key: keyPair.encoded_key,\n }))\n .filter((keyPair) => keyPair.crt && keyPair.key),\n };\n }\n\n if (\n enableTLS &&\n consoleCertificate.encoded_cert !== \"\" &&\n consoleCertificate.encoded_key !== \"\"\n ) {\n consoleCerts = {\n console: {\n crt: consoleCertificate.encoded_cert,\n key: consoleCertificate.encoded_key,\n },\n };\n }\n\n if (tenantCerts || consoleCerts || caCerts || consoleCaCerts) {\n dataSend = {\n ...dataSend,\n tls: {\n ...tenantCerts,\n ...consoleCerts,\n ...caCerts,\n ...consoleCaCerts,\n },\n };\n }\n\n if (enableEncryption) {\n let insertEncrypt = {};\n\n switch (encryptionType) {\n case \"gemalto\":\n let gemaltoCAIntroduce = {};\n\n if (gemaltoCA.encoded_cert !== \"\") {\n gemaltoCAIntroduce = {\n ca: gemaltoCA.encoded_cert,\n };\n }\n insertEncrypt = {\n gemalto: {\n keysecure: {\n endpoint: gemaltoEndpoint,\n credentials: {\n token: gemaltoToken,\n domain: gemaltoDomain,\n retry: parseInt(gemaltoRetry),\n },\n tls: {\n ...gemaltoCAIntroduce,\n },\n },\n },\n };\n break;\n case \"aws\":\n insertEncrypt = {\n aws: {\n secretsmanager: {\n endpoint: awsEndpoint,\n region: awsRegion,\n kmskey: awsKMSKey,\n credentials: {\n accesskey: awsAccessKey,\n secretkey: awsSecretKey,\n token: awsToken,\n },\n },\n },\n };\n break;\n case \"azure\":\n insertEncrypt = {\n azure: {\n keyvault: {\n endpoint: azureEndpoint,\n credentials: {\n tenant_id: azureTenantID,\n client_id: azureClientID,\n client_secret: azureClientSecret,\n },\n },\n },\n };\n break;\n case \"gcp\":\n insertEncrypt = {\n gcp: {\n secretmanager: {\n project_id: gcpProjectID,\n endpoint: gcpEndpoint,\n credentials: {\n client_email: gcpClientEmail,\n client_id: gcpClientID,\n private_key_id: gcpPrivateKeyID,\n private_key: gcpPrivateKey,\n },\n },\n },\n };\n break;\n case \"vault\":\n let vaultKeyPair = null;\n let vaultCAInsert = null;\n if (\n vaultCertificate.encoded_key !== \"\" &&\n vaultCertificate.encoded_cert !== \"\"\n ) {\n vaultKeyPair = {\n key: vaultCertificate.encoded_key,\n crt: vaultCertificate.encoded_cert,\n };\n }\n if (vaultCA.encoded_cert !== \"\") {\n vaultCAInsert = {\n ca: vaultCA.encoded_cert,\n };\n }\n let vaultTLS = null;\n if (vaultKeyPair || vaultCA) {\n vaultTLS = {\n tls: {\n ...vaultKeyPair,\n ...vaultCAInsert,\n },\n };\n }\n insertEncrypt = {\n vault: {\n endpoint: vaultEndpoint,\n engine: vaultEngine,\n namespace: vaultNamespace,\n prefix: vaultPrefix,\n approle: {\n engine: vaultAppRoleEngine,\n id: vaultId,\n secret: vaultSecret,\n retry: parseInt(vaultRetry),\n },\n ...vaultTLS,\n status: {\n ping: parseInt(vaultPing),\n },\n },\n };\n break;\n }\n\n let encryptionServerKeyPair: any = {};\n let encryptionClientKeyPair: any = {};\n\n if (\n clientCertificate.encoded_key !== \"\" &&\n clientCertificate.encoded_cert !== \"\"\n ) {\n encryptionClientKeyPair = {\n client: {\n key: clientCertificate.encoded_key,\n crt: clientCertificate.encoded_cert,\n },\n };\n }\n\n if (\n serverCertificate.encoded_key !== \"\" &&\n serverCertificate.encoded_cert !== \"\"\n ) {\n encryptionServerKeyPair = {\n server: {\n key: serverCertificate.encoded_key,\n crt: serverCertificate.encoded_cert,\n },\n };\n }\n\n dataSend = {\n ...dataSend,\n encryption: {\n replicas: kesReplicas,\n securityContext: kesSecurityContext,\n image: kesImage,\n ...encryptionClientKeyPair,\n ...encryptionServerKeyPair,\n ...insertEncrypt,\n },\n };\n }\n\n let dataIDP: any = {};\n switch (idpSelection) {\n case \"Built-in\":\n let keyarray = [];\n for (let i = 0; i < accessKeys.length; i++) {\n keyarray.push({\n access_key: accessKeys[i],\n secret_key: secretKeys[i],\n });\n }\n dataIDP = {\n keys: keyarray,\n };\n break;\n case \"OpenID\":\n dataIDP = {\n oidc: {\n configuration_url: openIDConfigurationURL,\n client_id: openIDClientID,\n secret_id: openIDSecretID,\n claim_name: openIDClaimName,\n callback_url: openIDCallbackURL,\n scopes: openIDScopes,\n },\n };\n break;\n case \"AD\":\n dataIDP = {\n active_directory: {\n url: ADURL,\n skip_tls_verification: ADSkipTLS,\n server_insecure: ADServerInsecure,\n username_format: ADUserNameFormat,\n username_search_filter: ADUserNameSearchFilter,\n group_search_base_dn: ADGroupSearchBaseDN,\n group_search_filter: ADGroupSearchFilter,\n group_name_attribute: ADGroupNameAttribute,\n user_dns: ADUserDNs,\n lookup_bind_dn: ADLookupBindDN,\n lookup_bind_password: ADLookupBindPassword,\n user_dn_search_base_dn: ADUserDNSearchBaseDN,\n user_dn_search_filter: ADUserDNSearchFilter,\n server_start_tls: ADServerStartTLS,\n },\n };\n break;\n }\n\n dataSend = {\n ...dataSend,\n idp: { ...dataIDP },\n };\n api\n .invoke(\"POST\", `/api/v1/tenants`, dataSend)\n .then((res) => {\n const consoleSAList = get(res, \"console\", []);\n\n let newSrvAcc: NewServiceAccount = {\n idp: get(res, \"externalIDP\", false),\n console: [],\n };\n\n if (consoleSAList) {\n if (Array.isArray(consoleSAList)) {\n const consoleItem = consoleSAList.map((consoleKey) => {\n return {\n accessKey: consoleKey.access_key,\n secretKey: consoleKey.secret_key,\n };\n });\n\n newSrvAcc.console = consoleItem;\n } else {\n newSrvAcc = {\n console: {\n accessKey: res.console.access_key,\n secretKey: res.console.secret_key,\n },\n };\n }\n }\n setAddSending(false);\n setShowNewCredentials(true);\n setCreatedAccount(newSrvAcc);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddSending(false);\n setErrorSnackMessage(err);\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [addSending]);\n\n const cancelButton = {\n label: \"Cancel\",\n type: \"other\",\n enabled: true,\n action: () => {\n resetAddTenantForm();\n history.push(\"/tenants\");\n },\n };\n const requiredPages = [\n \"nameTenant\",\n \"tenantSize\",\n \"configure\",\n \"affinity\",\n \"identityProvider\",\n \"security\",\n \"encryption\",\n ];\n const createButton = {\n label: \"Create\",\n type: \"submit\",\n enabled:\n !addSending &&\n selectedStorageClass !== \"\" &&\n requiredPages.every((v) => validPages.includes(v)),\n action: () => {\n setAddSending(true);\n },\n };\n\n const wizardSteps: IWizardElement[] = [\n {\n label: \"Setup\",\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Configure\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Images\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Pod Placement\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Identity Provider\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Security\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Encryption\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n ];\n\n let filteredWizardSteps = wizardSteps;\n\n const closeCredentialsModal = () => {\n resetAddTenantForm();\n history.push(\"/tenants\");\n };\n\n return (\n \n {showNewCredentials && (\n {\n closeCredentialsModal();\n }}\n entity=\"Tenant\"\n />\n )}\n \n \n \n {addSending && (\n \n \n \n )}\n \n \n \n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n namespace: state.tenants.createTenant.fields.nameTenant.namespace,\n validPages: state.tenants.createTenant.validPages,\n fields: state.tenants.createTenant.fields,\n certificates: state.tenants.createTenant.certificates,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n updateAddField,\n resetAddTenantForm,\n});\n\nexport default withStyles(styles)(connector(AddTenant));\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 get from \"lodash/get\";\nimport { ITenant } from \"./types\";\n\nexport interface Opts {\n label: string;\n value: string;\n}\n\nexport interface IQuotaElement {\n hard: number;\n name: string;\n}\n\nexport interface IQuotas {\n elements?: IQuotaElement[];\n name: string;\n}\n\nexport const minMemReq = 2147483648;\n\nexport interface KeyPair {\n id: string;\n encoded_cert: string;\n encoded_key: string;\n cert: string;\n key: string;\n}\n\nexport const ecListTransform = (ecList: string[]): Opts[] => {\n return ecList.map((value) => {\n return { label: value, value };\n });\n};\n\nexport const getLimitSizes = (resourceQuotas: IQuotas) => {\n const quotas: IQuotaElement[] = get(resourceQuotas, \"elements\", []);\n\n const returnQuotas: any = {};\n\n quotas.forEach((rsQuota) => {\n const stCName = rsQuota.name.split(\n \".storageclass.storage.k8s.io/requests.storage\"\n )[0];\n const hard = get(rsQuota, \"hard\", 0);\n const used = get(rsQuota, \"used\", 0);\n\n returnQuotas[stCName] = hard - used;\n });\n\n return returnQuotas;\n};\n\nexport const tenantIsOnline = (tenant: ITenant): boolean => {\n if (tenant.currentState === \"\") {\n return false;\n }\n if (\n !tenant.status &&\n tenant.health_status !== \"green\" &&\n tenant.health_status !== \"yellow\"\n ) {\n return false;\n }\n if (\n tenant.status &&\n tenant.status.health_status !== \"green\" &&\n tenant.status.health_status !== \"yellow\"\n ) {\n return false;\n }\n return true;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport { IAffinityModel } from \"../../../../common/types\";\n\nexport const getDefaultAffinity = (tenantName: string, poolName: string) => {\n const defaultAffinity: IAffinityModel = {\n podAntiAffinity: {\n requiredDuringSchedulingIgnoredDuringExecution: [\n {\n labelSelector: {\n matchExpressions: [\n {\n key: \"v1.min.io/tenant\",\n operator: \"In\",\n values: [tenantName],\n },\n {\n key: \"v1.min.io/pool\",\n operator: \"In\",\n values: [poolName],\n },\n ],\n },\n topologyKey: \"kubernetes.io/hostname\",\n },\n ],\n },\n };\n return defaultAffinity;\n};\n\nexport const getNodeSelector = (\n labels: string,\n withPodAntiAffinity: boolean,\n tenantName: string,\n poolName: string\n) => {\n // Labels in the form of key1=value1&key2=value2&key3=value3...\n const splittedLabels = labels.split(\"&\");\n let matchExpressions: any = [];\n\n splittedLabels.forEach((label: string) => {\n const splitKeyValue = label.split(\"=\");\n if (splitKeyValue.length === 2) {\n matchExpressions.push({\n key: splitKeyValue[0],\n operator: \"In\",\n values: [splitKeyValue[1]],\n });\n }\n });\n\n const nodeSelector: IAffinityModel = {\n nodeAffinity: {\n requiredDuringSchedulingIgnoredDuringExecution: {\n nodeSelectorTerms: [\n {\n matchExpressions: matchExpressions,\n },\n ],\n },\n },\n };\n if (withPodAntiAffinity) {\n const def = getDefaultAffinity(tenantName, poolName);\n nodeSelector.podAntiAffinity = def.podAntiAffinity;\n }\n console.log(nodeSelector);\n return nodeSelector;\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 { ITenant } from \"./ListTenants/types\";\nimport { Opts } from \"./ListTenants/utils\";\nimport {\n ADD_TENANT_ADD_CA_KEYPAIR,\n ADD_TENANT_ADD_CONSOLE_CA_KEYPAIR,\n ADD_TENANT_ADD_CONSOLE_CERT,\n ADD_TENANT_ADD_FILE_TO_CA_KEYPAIR,\n ADD_TENANT_ADD_FILE_TO_CONSOLE_CA_KEYPAIR,\n ADD_TENANT_ADD_FILE_TO_MINIO_KEYPAIR,\n ADD_TENANT_ADD_MINIO_KEYPAIR,\n ADD_TENANT_DELETE_CA_KEYPAIR,\n ADD_TENANT_DELETE_CONSOLE_CA_KEYPAIR,\n ADD_TENANT_DELETE_MINIO_KEYPAIR,\n ADD_TENANT_ENCRYPTION_CLIENT_CERT,\n ADD_TENANT_ENCRYPTION_GEMALTO_CA,\n ADD_TENANT_ENCRYPTION_SERVER_CERT,\n ADD_TENANT_ENCRYPTION_VAULT_CA,\n ADD_TENANT_ENCRYPTION_VAULT_CERT,\n ADD_TENANT_RESET_FORM,\n ADD_TENANT_SET_CURRENT_PAGE,\n ADD_TENANT_SET_LIMIT_SIZE,\n ADD_TENANT_SET_PAGE_VALID,\n ADD_TENANT_SET_STORAGE_CLASSES_LIST,\n ADD_TENANT_UPDATE_FIELD,\n TENANT_DETAILS_SET_CURRENT_TENANT,\n TENANT_DETAILS_SET_LOADING,\n TENANT_DETAILS_SET_TAB,\n TENANT_DETAILS_SET_TENANT,\n ADD_TENANT_SET_KEY_PAIR_VALUE,\n LabelKeyPair,\n} from \"./types\";\n\n// Basic actions\nexport const setWizardPage = (page: number) => {\n return {\n type: ADD_TENANT_SET_CURRENT_PAGE,\n page,\n };\n};\n\nexport const updateAddField = (\n pageName: string,\n fieldName: string,\n value: any\n) => {\n return {\n type: ADD_TENANT_UPDATE_FIELD,\n pageName,\n field: fieldName,\n value,\n };\n};\n\nexport const isPageValid = (pageName: string, valid: boolean) => {\n return {\n type: ADD_TENANT_SET_PAGE_VALID,\n pageName,\n valid,\n };\n};\n\n// Name Tenant actions\n\nexport const setStorageClassesList = (storageClasses: Opts[]) => {\n return {\n type: ADD_TENANT_SET_STORAGE_CLASSES_LIST,\n storageClasses,\n };\n};\n\nexport const setLimitSize = (limitSize: any) => {\n return {\n type: ADD_TENANT_SET_LIMIT_SIZE,\n limitSize,\n };\n};\n\n// Security actions\n\nexport const addCaCertificate = () => {\n return {\n type: ADD_TENANT_ADD_CA_KEYPAIR,\n };\n};\n\nexport const deleteCaCertificate = (id: string) => {\n return {\n type: ADD_TENANT_DELETE_CA_KEYPAIR,\n id,\n };\n};\n\nexport const addFileToCaCertificates = (\n id: string,\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ADD_FILE_TO_CA_KEYPAIR,\n id,\n key,\n fileName,\n value,\n };\n};\n\nexport const addConsoleCaCertificate = () => {\n return {\n type: ADD_TENANT_ADD_CONSOLE_CA_KEYPAIR,\n };\n};\n\nexport const deleteConsoleCaCertificate = (id: string) => {\n return {\n type: ADD_TENANT_DELETE_CONSOLE_CA_KEYPAIR,\n id,\n };\n};\n\nexport const addFileToConsoleCaCertificates = (\n id: string,\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ADD_FILE_TO_CONSOLE_CA_KEYPAIR,\n id,\n key,\n fileName,\n value,\n };\n};\n\nexport const addKeyPair = () => {\n return {\n type: ADD_TENANT_ADD_MINIO_KEYPAIR,\n };\n};\n\nexport const deleteKeyPair = (id: string) => {\n return {\n type: ADD_TENANT_DELETE_MINIO_KEYPAIR,\n id,\n };\n};\n\nexport const addFileToKeyPair = (\n id: string,\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ADD_FILE_TO_MINIO_KEYPAIR,\n id,\n key,\n fileName,\n value,\n };\n};\n\nexport const addConsoleCertificate = (\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ADD_CONSOLE_CERT,\n key,\n fileName,\n value,\n };\n};\n\nexport const addFileServerCert = (\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ENCRYPTION_SERVER_CERT,\n key,\n fileName,\n value,\n };\n};\n\nexport const addFileClientCert = (\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ENCRYPTION_CLIENT_CERT,\n key,\n fileName,\n value,\n };\n};\n\nexport const addFileVaultCert = (\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ENCRYPTION_VAULT_CERT,\n key,\n fileName,\n value,\n };\n};\n\nexport const addFileVaultCa = (fileName: string, value: string) => {\n return {\n type: ADD_TENANT_ENCRYPTION_VAULT_CA,\n fileName,\n value,\n };\n};\n\nexport const addFileGemaltoCa = (fileName: string, value: string) => {\n return {\n type: ADD_TENANT_ENCRYPTION_GEMALTO_CA,\n fileName,\n value,\n };\n};\n\nexport const resetAddTenantForm = () => {\n return {\n type: ADD_TENANT_RESET_FORM,\n };\n};\n\nexport const setTenantDetailsLoad = (loading: boolean) => {\n return {\n type: TENANT_DETAILS_SET_LOADING,\n state: loading,\n };\n};\n\nexport const setTenantName = (tenantName: string, tenantNamespace: string) => {\n return {\n type: TENANT_DETAILS_SET_CURRENT_TENANT,\n name: tenantName,\n namespace: tenantNamespace,\n };\n};\n\nexport const setTenantInfo = (tenant: ITenant | null) => {\n return {\n type: TENANT_DETAILS_SET_TENANT,\n tenant,\n };\n};\n\nexport const setTenantTab = (tab: string) => {\n return {\n type: TENANT_DETAILS_SET_TAB,\n tab,\n };\n};\n\nexport const setKeyValuePairs = (newArray: LabelKeyPair[]) => {\n return {\n type: ADD_TENANT_SET_KEY_PAIR_VALUE,\n newArray,\n };\n};\n","import React from \"react\";\nimport Typography from \"@mui/material/Typography\";\nimport { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n errorBlock: {\n color: theme.palette?.error.main || \"#C83B51\",\n },\n });\n\ninterface IErrorBlockProps {\n classes: any;\n errorMessage: string;\n withBreak?: boolean;\n}\n\nconst ErrorBlock = ({\n classes,\n errorMessage,\n withBreak = true,\n}: IErrorBlockProps) => {\n return (\n \n {withBreak &&
}\n \n {errorMessage}\n \n
\n );\n};\n\nexport default withStyles(styles)(ErrorBlock);\n"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","root","marginLeft","borderWidth","borderColor","borderStyle","borderRadius","backgroundColor","main","opacity","contained","background","dark","children","variant","tooltip","rest","button","clsx","title","container","flexFlow","inputWithCopy","height","inputLabel","fieldBasic","value","OutlinedInput","readOnly","endAdornment","InputAdornment","position","text","BoxIconButton","onMouseDown","edge","warningBlock","margin","credentialTitle","fontWeight","buttonContainer","textAlign","marginTop","credentialsPanel","overflowY","maxHeight","promptTitle","buttonSpacer","promptIcon","newServiceAccount","open","closeModal","entity","consoleCreds","get","idp","ModalWrapper","modalOpen","onClose","titleIcon","Grid","item","xs","formScrollable","Array","isArray","map","credentialsPair","index","accessKey","secretKey","WarnIcon","Button","consoleExtras","cCreds","itemMap","access_key","secret_key","console","filename","element","document","createElement","setAttribute","encodeURIComponent","style","body","appendChild","click","removeChild","download","JSON","stringify","endIcon","tooltipHelper","valueString","whiteSpace","overflow","textOverflow","fileInputField","fileInputStyles","textBoxContainer","border","paddingLeft","onChange","id","name","disabled","required","error","accept","useState","showFileSelector","setShowSelector","fieldBottom","fieldContainer","errorInField","InputLabel","htmlFor","fieldLabelError","tooltipContainer","Tooltip","placement","HelpIcon","type","e","fileName","evt","callback","file","target","files","reader","FileReader","readAsDataURL","onload","fileBase64","result","fileArray","toString","split","length","fileProcess","data","IconButton","component","disableRipple","disableFocusRipple","size","Cancel","ErrorBlock","errorMessage","fileReselect","AttachFile","radioStyles","makeStyles","radioIcons","RadioButton","props","checkedIcon","radioSelectedIcon","radioUnselectedIcon","optionLabel","checkedOption","selectorOptions","currentSelection","disableOptions","displayInColumn","radioOptionsLayout","row","selectorOption","control","SelectStyled","lineHeight","spacing","input","InputBase","options","fullWidth","option","wizardStepContainer","flexDirection","flex","wizardComponent","marginBottom","minHeight","wizardModal","buttonsContainer","borderTop","paddingBottom","buttonInnerContainer","page","pageChange","loadingStep","forModal","componentRender","LinearProgress","buttons","btn","toPage","action","buttonAction","enabled","wizFromContainer","wizFromModal","modalWizardSteps","borderBottom","listStyle","buttonList","cursor","outline","boxShadow","paddedContentGrid","stepsLabel","stepsMasterContainer","top","verticalSteps","borderRight","stepsContainer","paddingTop","stepItem","wizardSteps","currentStep","setCurrentStep","toElement","lastPage","nextPage","prevPage","pg","Fragment","step","sm","md","lg","xl","List","dense","ListItem","selected","ListItemText","pageContentStyles","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","left","labelStyle","rightMenu","logo","fill","middleComponent","actions","direction","sx","IMkEnvs","storageClasses","tenants","createTenant","customImage","fields","configure","imageName","customDockerhub","imageRegistry","imageRegistryUsername","imageRegistryPassword","exposeMinIO","exposeConsole","prometheusCustom","tenantCustom","logSearchCustom","logSearchVolumeSize","logSearchSizeFactor","prometheusVolumeSize","prometheusSizeFactor","logSearchSelectedStorageClass","logSearchImage","kesImage","logSearchPostgresImage","logSearchPostgresInitImage","prometheusSelectedStorageClass","prometheusImage","prometheusSidecarImage","prometheusInitImage","selectedStorageClass","nameTenant","tenantSecurityContext","logSearchSecurityContext","logSearchPostgresSecurityContext","prometheusSecurityContext","updateAddField","isPageValid","configSectionItem","tenantCustomizationFields","containerItem","fieldGroup","createTenantCommon","responsiveSectionItem","logSearchCustomFields","fieldSpaceTop","prometheusCustomFields","modalBasic","wizardCommon","validationErrors","setValidationErrors","configureSTClasses","updateField","useCallback","field","useEffect","customAccountValidation","fieldKey","runAsUser","customValidation","parseInt","customValidationMessage","runAsGroup","fsGroup","pattern","customPatternMessage","commonVal","commonFormValidation","Object","keys","filter","cleanValidation","fieldName","clearValidationError","Paper","paperWrapper","headerElement","h3Section","descriptionText","FormSwitchWrapper","checked","multiContainer","InputBoxWrapper","min","runAsNonRoot","SelectWrapper","idpSelection","identityProvider","accessKeys","secretKeys","openIDConfigurationURL","openIDClientID","openIDSecretID","openIDCallbackURL","openIDClaimName","openIDScopes","ADURL","ADSkipTLS","ADServerInsecure","ADUserNameSearchFilter","ADGroupSearchBaseDN","ADGroupSearchFilter","ADGroupNameAttribute","ADUserDNs","ADUserNameFormat","ADLookupBindDN","ADLookupBindPassword","ADUserDNSearchBaseDN","ADUserDNSearchFilter","ADServerStartTLS","shortened","gridTemplateColumns","gridGap","buttonTray","overlayAction","protocolRadioOptions","adUserDnRows","formFieldStyles","updateUserField","newUserField","updatePwordField","updateADUserField","newADUserDNsField","customIDPValidation","i","push","inputs","_","placeholder","Add","splice","RemoveIcon","getRandomString","Casino","Delete","RadioGroupSelector","formFieldRow","Typography","gutterBottom","enableTLS","security","enableAutoCert","enableCustomCerts","minioCertificates","certificates","caCertificates","addFileToCaCertificates","deleteCaCertificate","addCaCertificate","addKeyPair","addFileToKeyPair","deleteKeyPair","minioCertificateRows","fileItem","minWidth","minioCertsContainer","minioCACertsRow","rowActions","keyPair","FileSelector","encodedValue","cert","key","AddIcon","replicas","encryption","enableEncryption","encryptionType","gemaltoEndpoint","gemaltoToken","gemaltoDomain","gemaltoRetry","awsEndpoint","awsRegion","awsKMSKey","awsAccessKey","awsSecretKey","awsToken","vaultEndpoint","vaultEngine","vaultNamespace","vaultPrefix","vaultAppRoleEngine","vaultId","vaultSecret","vaultRetry","vaultPing","azureEndpoint","azureTenantID","azureClientID","azureClientSecret","gcpProjectID","gcpEndpoint","gcpClientEmail","gcpClientID","gcpPrivateKeyID","gcpPrivateKey","enableCustomCertsForKES","serverCertificate","clientCertificate","vaultCertificate","vaultCA","gemaltoCA","kesSecurityContext","addFileServerCert","addFileClientCert","addFileVaultCert","addFileVaultCa","addFileGemaltoCa","encryptionTypeOptions","mutualTlsConfig","rightSpacer","responsiveContainer","encryptionAvailable","encoded_key","encoded_cert","encryptionValidation","podAffinity","affinity","nodeSelectorLabels","withPodAntiAffinity","keyValuePairs","nodeSelectorPairs","setModalErrorSnackMessage","setKeyValuePairs","affinityConfigField","affinityFieldLabel","radioField","affinityLabelKey","affinityLabelValue","affinityRow","loading","setLoading","keyValueMap","setKeyValueMap","keyOptions","setKeyOptions","api","then","res","k","catch","err","vl","kvp","kvs","a","indexOf","join","valid","splittedLabels","forEach","splitItem","affinityHelpText","newKey","arrCp","assign","v","setErrorSnackMessage","wrapText","wordWrap","deleteDialogStyles","namespace","addNamespaceOpen","closeAddNamespaceModalAndRefresh","addNamespaceLoading","setAddNamespaceLoading","ConfirmDialog","confirmText","confirmButtonProps","isOpen","isLoading","onConfirm","confirmationContent","DialogContentText","volumeSize","tenantSize","sizeFactor","drivesPerServer","nodes","memoryNode","ecParity","ecParityChoices","cleanECChoices","resourcesSize","distribution","ecParityCalc","limitSize","cpuToUse","integrationSelection","table","usableInformation","storageFactors","find","erasureCode","Divider","Table","TableBody","TableRow","TableCell","scope","align","typeSelection","storageClass","disks","niceBytes","pvSize","persistentVolumes","rawCapacity","maxCapacity","Math","floor","maxFailureTolerations","CPU","memory","driveSize","sizeUnit","maxAllocatableResources","maxCPUsUse","maxMemorySize","resourcesSpecifyLimit","resourcesCPURequestError","resourcesCPURequest","resourcesCPULimitError","resourcesCPULimit","resourcesMemoryRequestError","resourcesMemoryRequest","resourcesMemoryLimitError","resourcesMemoryLimit","compositeFieldContainer","compositeAddOn","memoryExists","cpuExists","maxMemory","mem_priority","max_allocatable_mem","cpu_priority","max_allocatable_cpu","maxAllocatableCPU","baseCpuUse","max","baseMemoryUse","isNaN","validity","log","errorFlag","setErrorFlag","nodeError","setNodeError","ecCodeValidated","erasureCodeCalc","includes","defaultEC","factor","getBytes","clusterCapacity","unit","distrCalculate","calculateDistribution","parsedSize","commonValidation","trim","ecList","ecListTransform","k8sfactorForDropdown","selectedStorageType","formToRender","updateMainField","undefined","setConfigs","mkPanelConfigurations","mainSelection","resourcesConfigurations","aws","azure","gcp","variantSelectorLabel","variantSelectorValues","configurations","sizingComponent","default","tenantName","setStorageClassesList","setLimitSize","sizePreview","emptyNamespace","setEmptyNamespace","loadingNamespaceInfo","setLoadingNamespaceInfo","showCreateButton","setShowCreateButton","openAddNSConfirm","setOpenAddNSConfirm","getNamespaceInformation","tenantsList","elements","getLimitSizes","newStorage","stExists","findIndex","detailedError","debounceNamespace","useMemo","debounce","cancel","customNamespaceError","isValid","frmValidationCleanup","refresh","overlayIcon","features","session","formRender","setFormRender","setConfiguration","validPages","resetAddTenantForm","pageBox","settingsCommon","showNewCredentials","setShowNewCredentials","createdAccount","setCreatedAccount","addSending","setAddSending","consoleCaCertificates","consoleCertificate","affinityType","kesReplicas","poolName","generatePoolName","affinityObject","getDefaultAffinity","getNodeSelector","dataSend","access_keys","secret_keys","enable_tls","enable_console","enable_prometheus","service_name","image","expose_minio","expose_console","pools","servers","volumes_per_server","volume_configuration","storage_class_name","securityContext","erasureCodingParity","resources","requests","cpu","limits","image_registry","registry","username","password","logSearchConfiguration","storageSize","postgres_image","postgres_init_image","postgres_securityContext","prometheusConfiguration","sidecar_image","init_image","tenantCerts","consoleCerts","caCerts","consoleCaCerts","ca_certificates","console_ca_certificates","minio","crt","tls","insertEncrypt","gemaltoCAIntroduce","ca","gemalto","keysecure","endpoint","credentials","token","domain","retry","secretsmanager","region","kmskey","accesskey","secretkey","keyvault","tenant_id","client_id","client_secret","secretmanager","project_id","client_email","private_key_id","private_key","vaultKeyPair","vaultCAInsert","vaultTLS","vault","engine","prefix","approle","secret","status","ping","encryptionServerKeyPair","encryptionClientKeyPair","client","server","dataIDP","keyarray","oidc","configuration_url","secret_id","claim_name","callback_url","scopes","active_directory","url","skip_tls_verification","server_insecure","username_format","username_search_filter","group_search_base_dn","group_search_filter","group_name_attribute","user_dns","lookup_bind_dn","lookup_bind_password","user_dn_search_base_dn","user_dn_search_filter","server_start_tls","consoleSAList","newSrvAcc","consoleItem","consoleKey","cancelButton","history","createButton","every","filteredWizardSteps","advancedOnly","CredentialsPrompt","PageHeader","BackLink","PageLayout","GenericWizard","resourceQuotas","quotas","returnQuotas","rsQuota","stCName","hard","used","tenantIsOnline","tenant","currentState","health_status","podAntiAffinity","requiredDuringSchedulingIgnoredDuringExecution","labelSelector","matchExpressions","operator","values","topologyKey","labels","splitKeyValue","nodeSelector","nodeAffinity","nodeSelectorTerms","def","pageName","ADD_TENANT_UPDATE_FIELD","ADD_TENANT_SET_PAGE_VALID","ADD_TENANT_SET_STORAGE_CLASSES_LIST","ADD_TENANT_SET_LIMIT_SIZE","ADD_TENANT_ADD_CA_KEYPAIR","ADD_TENANT_DELETE_CA_KEYPAIR","ADD_TENANT_ADD_FILE_TO_CA_KEYPAIR","ADD_TENANT_ADD_MINIO_KEYPAIR","ADD_TENANT_DELETE_MINIO_KEYPAIR","ADD_TENANT_ADD_FILE_TO_MINIO_KEYPAIR","ADD_TENANT_ENCRYPTION_SERVER_CERT","ADD_TENANT_ENCRYPTION_CLIENT_CERT","ADD_TENANT_ENCRYPTION_VAULT_CERT","ADD_TENANT_ENCRYPTION_VAULT_CA","ADD_TENANT_ENCRYPTION_GEMALTO_CA","ADD_TENANT_RESET_FORM","setTenantDetailsLoad","TENANT_DETAILS_SET_LOADING","setTenantName","tenantNamespace","TENANT_DETAILS_SET_CURRENT_TENANT","setTenantInfo","TENANT_DETAILS_SET_TENANT","setTenantTab","tab","TENANT_DETAILS_SET_TAB","newArray","ADD_TENANT_SET_KEY_PAIR_VALUE","errorBlock","withBreak"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/1056.f7b9df60.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/CredentialsPrompt/CredentialItem.tsx","screens/Console/Common/CredentialsPrompt/CredentialsPrompt.tsx","screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx","screens/Console/Common/FormComponents/FileSelector/utils.ts","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/GenericWizard/WizardPage.tsx","screens/Console/Common/GenericWizard/GenericWizard.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Tenants/AddTenant/Steps/TenantResources/utils.tsx","screens/Console/Tenants/AddTenant/Steps/Configure.tsx","screens/Console/Tenants/AddTenant/Steps/IdentityProvider.tsx","screens/Console/Tenants/AddTenant/Steps/Security.tsx","screens/Console/Tenants/AddTenant/Steps/Encryption.tsx","screens/Console/Tenants/AddTenant/Steps/Affinity.tsx","screens/Console/Tenants/AddTenant/Steps/Images.tsx","screens/Console/Tenants/AddTenant/Steps/helpers/AddNamespaceModal.tsx","screens/Console/Tenants/AddTenant/Steps/SizePreview.tsx","screens/Console/Tenants/AddTenant/Steps/TenantResources/TenantSizeResources.tsx","screens/Console/Tenants/AddTenant/Steps/TenantResources/TenantSize.tsx","screens/Console/Tenants/AddTenant/Steps/TenantResources/TenantSizeMK.tsx","screens/Console/Tenants/AddTenant/Steps/TenantResources/NameTenantMain.tsx","screens/Console/Tenants/AddTenant/Steps/TenantResources/TenantResources.tsx","screens/Console/Tenants/AddTenant/AddTenant.tsx","screens/Console/Tenants/ListTenants/utils.ts","screens/Console/Tenants/TenantDetails/utils.ts","screens/Console/Tenants/actions.ts","screens/shared/ErrorBlock.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 { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\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 { InputAdornment, OutlinedInput } from \"@mui/material\";\nimport BoxIconButton from \"../BoxIconButton/BoxIconButton\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { CopyIcon } from \"../../../../icons\";\nimport { fieldBasic } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n container: {\n display: \"flex\",\n flexFlow: \"column\",\n padding: \"20px 0 8px 0\",\n },\n inputWithCopy: {\n \"& .MuiInputBase-root \": {\n width: \"100%\",\n background: \"#FBFAFA\",\n \"& .MuiInputBase-input\": {\n height: \".8rem\",\n },\n \"& .MuiInputAdornment-positionEnd\": {\n marginRight: \".5rem\",\n \"& .MuiButtonBase-root\": {\n height: \"2rem\",\n },\n },\n },\n \"& .MuiButtonBase-root .min-icon\": {\n width: \".8rem\",\n height: \".8rem\",\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontSize: \".8rem\",\n },\n });\n\nconst CredentialItem = ({\n label = \"\",\n value = \"\",\n classes = {},\n}: {\n label: string;\n value: string;\n classes: any;\n}) => {\n return (\n
\n
{label}:
\n
\n \n \n {}}\n onMouseDown={() => {}}\n edge=\"end\"\n >\n \n \n \n \n }\n />\n
\n
\n );\n};\n\nexport default withStyles(styles)(CredentialItem);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { NewServiceAccount } from \"./types\";\nimport { Button } from \"@mui/material\";\nimport ModalWrapper from \"../ModalWrapper/ModalWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport CredentialItem from \"./CredentialItem\";\nimport WarnIcon from \"../../../../icons/WarnIcon\";\nimport { DownloadIcon, ServiceAccountCredentialsIcon } from \"../../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n warningBlock: {\n color: \"red\",\n fontSize: \".85rem\",\n margin: \".5rem 0 .5rem 0\",\n display: \"flex\",\n alignItems: \"center\",\n \"& svg \": {\n marginRight: \".3rem\",\n height: 16,\n width: 16,\n },\n },\n credentialTitle: {\n padding: \".8rem 0 0 0\",\n fontWeight: 600,\n fontSize: \".9rem\",\n },\n buttonContainer: {\n textAlign: \"right\",\n marginTop: \"1rem\",\n },\n credentialsPanel: {\n overflowY: \"auto\",\n maxHeight: 350,\n },\n promptTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n buttonSpacer: {\n marginRight: \".9rem\",\n },\n promptIcon: {\n marginRight: \".1rem\",\n display: \"flex\",\n alignItems: \"center\",\n height: \"2rem\",\n width: \"2rem\",\n },\n });\n\ninterface ICredentialsPromptProps {\n classes: any;\n newServiceAccount: NewServiceAccount | null;\n open: boolean;\n entity: string;\n closeModal: () => void;\n}\n\nconst download = (filename: string, text: string) => {\n let element = document.createElement(\"a\");\n element.setAttribute(\n \"href\",\n \"data:text/plain;charset=utf-8,\" + encodeURIComponent(text)\n );\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n\n document.body.removeChild(element);\n};\n\nconst CredentialsPrompt = ({\n classes,\n newServiceAccount,\n open,\n closeModal,\n entity,\n}: ICredentialsPromptProps) => {\n if (!newServiceAccount) {\n return null;\n }\n\n const consoleCreds = get(newServiceAccount, \"console\", null);\n const idp = get(newServiceAccount, \"idp\", false);\n\n return (\n {\n closeModal();\n }}\n title={\n
\n
New {entity} Created
\n
\n }\n titleIcon={}\n >\n \n \n A new {entity} has been created with the following details:\n {!idp && consoleCreds && (\n \n \n
\n Console Credentials\n
\n {Array.isArray(consoleCreds) &&\n consoleCreds.map((credentialsPair, index) => {\n return (\n <>\n \n \n \n );\n })}\n {!Array.isArray(consoleCreds) && (\n <>\n \n \n \n )}\n
\n
\n )}\n {idp ? (\n
\n Please Login via the configured external identity provider.\n
\n ) : (\n
\n \n \n Write these down, as this is the only time the secret will be\n displayed.\n \n
\n )}\n
\n \n {\n closeModal();\n }}\n color=\"primary\"\n >\n Done\n \n\n {!idp && (\n {\n let consoleExtras = {};\n\n if (consoleCreds) {\n if (!Array.isArray(consoleCreds)) {\n consoleExtras = {\n console: [\n {\n access_key: consoleCreds.accessKey,\n secret_key: consoleCreds.secretKey,\n },\n ],\n };\n } else {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n access_key: itemMap.accessKey,\n secret_key: itemMap.secretKey,\n };\n });\n\n consoleExtras = {\n console: [...cCreds],\n };\n }\n }\n\n download(\n \"credentials.json\",\n JSON.stringify({\n ...consoleExtras,\n })\n );\n }}\n endIcon={}\n variant=\"contained\"\n color=\"primary\"\n >\n Download\n \n )}\n \n
\n \n );\n};\n\nexport default withStyles(styles)(CredentialsPrompt);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport get from \"lodash/get\";\nimport { Grid, InputLabel, Tooltip } from \"@mui/material\";\nimport IconButton from \"@mui/material/IconButton\";\nimport AttachFileIcon from \"@mui/icons-material/AttachFile\";\nimport CancelIcon from \"@mui/icons-material/Cancel\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n fileInputStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { fileProcess } from \"./utils\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport ErrorBlock from \"../../../../shared/ErrorBlock\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: string, i: string) => void;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n required?: boolean;\n error?: string;\n accept?: string;\n value?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n valueString: {\n maxWidth: 350,\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n marginTop: 2,\n },\n fileInputField: {\n margin: \"13px 0\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n ...fileInputStyles,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n textBoxContainer: {\n ...fieldBasic.textBoxContainer,\n maxWidth: \"100%\",\n border: \"1px solid #eaeaea\",\n paddingLeft: \"15px\",\n },\n });\n\nconst FileSelector = ({\n label,\n classes,\n onChange,\n id,\n name,\n disabled = false,\n tooltip = \"\",\n required,\n error = \"\",\n accept = \"\",\n value = \"\",\n}: InputBoxProps) => {\n const [showFileSelector, setShowSelector] = useState(false);\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n {showFileSelector || value === \"\" ? (\n
\n {\n const fileName = get(e, \"target.files[0].name\", \"\");\n fileProcess(e, (data: any) => {\n onChange(data, fileName);\n });\n }}\n accept={accept}\n required={required}\n disabled={disabled}\n className={classes.fileInputField}\n />\n\n {value !== \"\" && (\n {\n setShowSelector(false);\n }}\n disableRipple={false}\n disableFocusRipple={false}\n size=\"small\"\n >\n \n \n )}\n\n {error !== \"\" && }\n
\n ) : (\n
\n
{value}
\n {\n setShowSelector(true);\n }}\n disableRipple={false}\n disableFocusRipple={false}\n size=\"small\"\n >\n \n \n
\n )}\n \n
\n );\n};\n\nexport default withStyles(styles)(FileSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const fileProcess = (evt: any, callback: any) => {\n const file = evt.target.files[0];\n const reader = new FileReader();\n reader.readAsDataURL(file);\n\n reader.onload = () => {\n // reader.readAsDataURL(file) output will be something like: data:application/x-x509-ca-cert;base64,LS0tLS1CRUdJTiBDRVJUSU\n // we care only about the actual base64 part (everything after \"data:application/x-x509-ca-cert;base64,\")\n const fileBase64 = reader.result;\n if (fileBase64) {\n const fileArray = fileBase64.toString().split(\"base64,\");\n\n if (fileArray.length === 2) {\n callback(fileArray[1]);\n }\n }\n };\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\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 { IWizardButton, IWizardPage } from \"./types\";\nimport { Button, LinearProgress } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wizardStepContainer: {\n display: \"flex\",\n flexDirection: \"column\",\n flex: 1,\n },\n wizardComponent: {\n overflowY: \"auto\",\n marginBottom: 10,\n height: \"calc(100vh - 100px - 80px)\",\n minHeight: 400,\n flex: 1,\n width: \"100%\",\n },\n wizardModal: {\n overflowY: \"auto\",\n marginBottom: 10,\n height: \"calc(100vh - 515px)\",\n },\n buttonsContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"flex-start\" as const,\n padding: \"10px 0\",\n borderTop: \"#EAEAEA 1px solid\",\n \"& button\": {\n marginLeft: 10,\n },\n \"&.forModal\": {\n paddingBottom: 0,\n },\n },\n buttonInnerContainer: {\n width: \"100%\",\n textAlign: \"right\" as const,\n marginRight: 15,\n },\n });\n\nconst WizardPage = ({\n classes,\n page,\n pageChange,\n loadingStep,\n forModal,\n}: IWizardPage) => {\n const buttonAction = (btn: IWizardButton) => {\n switch (btn.type) {\n case \"next\":\n pageChange(\"++\");\n break;\n case \"back\":\n pageChange(\"--\");\n break;\n case \"to\":\n pageChange(btn.toPage || 0);\n break;\n case \"custom\":\n default:\n }\n\n if (btn.action) {\n btn.action(pageChange);\n }\n };\n\n return (\n
\n
\n {page.componentRender}\n
\n {loadingStep && (\n
\n \n
\n )}\n \n
\n {page.buttons.map((btn) => {\n return (\n {\n buttonAction(btn);\n }}\n disabled={!btn.enabled}\n key={`button-${page.label}-${btn.label}`}\n >\n {btn.label}\n \n );\n })}\n
\n
\n \n );\n};\n\nexport default withStyles(styles)(WizardPage);\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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IWizardMain } from \"./types\";\nimport WizardPage from \"./WizardPage\";\nimport { Grid, List } from \"@mui/material\";\nimport ListItem from \"@mui/material/ListItem\";\nimport ListItemText from \"@mui/material/ListItemText\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wizFromContainer: {},\n wizFromModal: {\n position: \"relative\",\n },\n modalWizardSteps: {\n padding: 5,\n borderBottom: \"#eaeaea 1px solid\",\n \"& ul\": {\n padding: 0,\n marginTop: 0,\n display: \"flex\",\n justifyContent: \"space-evenly\",\n\n \"& li\": {\n listStyle: \"lower-roman\",\n \"&::marker\": {\n paddingLeft: 15,\n },\n },\n },\n },\n buttonList: {\n backgroundColor: \"transparent\",\n border: \"none\",\n cursor: \"pointer\",\n \"&:not(:disabled):hover\": {\n textDecoration: \"underline\",\n },\n \"&:selected, &:active, &:focus, &:focus:active\": {\n border: \"none\",\n outline: 0,\n boxShadow: \"none\",\n },\n },\n paddedContentGrid: {\n marginTop: 8,\n padding: \"0 10px\",\n minHeight: 400,\n },\n stepsLabel: {\n fontSize: 20,\n color: \"#393939\",\n fontWeight: 600,\n margin: \"15px 12px\",\n \"&.stepsModalTitle\": {\n textAlign: \"center\",\n width: \"100%\",\n marginTop: 0,\n marginBottom: 10,\n },\n },\n stepsMasterContainer: {\n position: \"sticky\",\n top: 0,\n backgroundColor: \"#FFFFFF\",\n width: \"100%\",\n maxHeight: 90,\n },\n verticalSteps: {\n borderRight: \"1px solid #E5E5E5\",\n background: \"#F8F8F8\",\n },\n stepsContainer: {\n paddingTop: 0,\n \"& .MuiButtonBase-root.Mui-selected\": {\n background: \"#E5E5E5\",\n },\n },\n stepItem: {\n minHeight: 60,\n borderBottom: \"1px solid #E5E5E5\",\n \"&:hover\": {\n background: \"rgba(247,247,247,0.7)\",\n },\n },\n });\n\nconst GenericWizard = ({\n classes,\n wizardSteps,\n loadingStep,\n forModal,\n}: IWizardMain) => {\n const [currentStep, setCurrentStep] = useState(0);\n\n const pageChange = (toElement: string | number) => {\n const lastPage = wizardSteps.length - 1;\n\n if (toElement === \"++\") {\n let nextPage = currentStep + 1;\n\n if (nextPage > lastPage) {\n nextPage = lastPage;\n }\n\n setCurrentStep(nextPage);\n }\n\n if (toElement === \"--\") {\n let prevPage = currentStep - 1;\n\n if (prevPage < 0) {\n prevPage = 0;\n }\n\n setCurrentStep(prevPage);\n }\n\n if (typeof toElement === \"number\") {\n let pg = toElement;\n if (toElement < 0) {\n pg = 0;\n }\n\n if (toElement > lastPage) {\n pg = lastPage;\n }\n\n setCurrentStep(pg);\n }\n };\n\n if (wizardSteps.length === 0) {\n return null;\n }\n\n const stepsList = () => {\n return (\n \n \n {wizardSteps.map((step, index) => {\n return (\n pageChange(index)}\n key={`wizard-${index.toString()}`}\n selected={currentStep === index}\n classes={{\n root: classes.stepItem,\n }}\n >\n \n \n );\n })}\n \n \n );\n };\n const stepsListModal = () => {\n return (\n
    \n {wizardSteps.map((step, index) => {\n return (\n
  • \n pageChange(index)}\n disabled={index > currentStep}\n className={classes.buttonList}\n >\n {step.label}\n \n
  • \n );\n })}\n
\n );\n };\n\n return (\n \n {forModal ? (\n \n
\n
Steps
\n
{stepsListModal()}
\n
\n
\n ) : (\n \n \n {stepsList()}\n \n \n )}\n\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(GenericWizard);\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Opts } from \"../../../ListTenants/utils\";\nimport TenantSizeMK from \"./TenantSizeMK\";\n\nexport enum IMkEnvs {\n \"aws\",\n \"azure\",\n \"gcp\",\n \"default\",\n undefined,\n}\n\nexport interface IDriveSizing {\n driveSize: string;\n sizeUnit: string;\n}\n\nexport interface IntegrationConfiguration {\n typeSelection: string;\n storageClass: string;\n CPU: number;\n memory: number;\n drivesPerServer: number;\n driveSize: IDriveSizing;\n}\n\nexport const AWSStorageTypes: Opts[] = [\n { label: \"NVME\", value: \"nvme\" },\n { label: \"HDD\", value: \"hdd\" },\n];\n\nexport const AzureStorageTypes: Opts[] = [\n { label: \"Standard_L32s_v2\", value: \"Standard_L32s_v2\" },\n { label: \"Standard_L48s_v2\", value: \"Standard_L48s_v2\" },\n { label: \"Standard_L64s_v2\", value: \"Standard_L64s_v2\" },\n];\n\nexport const resourcesConfigurations = {\n \"mp-mode-aws\": IMkEnvs.aws,\n \"mp-mode-azure\": IMkEnvs.azure,\n \"mp-mode-gcp\": IMkEnvs.gcp,\n};\n\nexport const AWSConfigurations: IntegrationConfiguration[] = [\n {\n typeSelection: \"nvme\",\n storageClass: \"nvme-i3en-12xlarge\",\n CPU: 48,\n memory: 384,\n driveSize: { driveSize: \"7500\", sizeUnit: \"Gi\" },\n drivesPerServer: 4,\n },\n {\n typeSelection: \"hdd\",\n storageClass: \"hdd-d3en-12xlarge\",\n CPU: 8,\n memory: 32,\n driveSize: { driveSize: \"12.7\", sizeUnit: \"Ti\" },\n drivesPerServer: 4,\n },\n];\n\nexport const AzureConfigurations: IntegrationConfiguration[] = [\n {\n typeSelection: \"Standard_L8s_v2\",\n storageClass: \"local-nvme\",\n CPU: 8,\n memory: 64,\n driveSize: { driveSize: \"1787\", sizeUnit: \"Gi\" },\n drivesPerServer: 1,\n },\n {\n typeSelection: \"Standard_L16s_v2\",\n storageClass: \"local-nvme\",\n CPU: 16,\n memory: 128,\n driveSize: { driveSize: \"1787\", sizeUnit: \"Gi\" },\n drivesPerServer: 2,\n },\n {\n typeSelection: \"Standard_L32s_v2\",\n storageClass: \"local-nvme\",\n CPU: 32,\n memory: 256,\n driveSize: { driveSize: \"1787\", sizeUnit: \"Gi\" },\n drivesPerServer: 4,\n },\n {\n typeSelection: \"Standard_L48s_v2\",\n storageClass: \"local-nvme\",\n CPU: 48,\n memory: 384,\n driveSize: { driveSize: \"1787\", sizeUnit: \"Gi\" },\n drivesPerServer: 6,\n },\n {\n typeSelection: \"Standard_L64s_v2\",\n storageClass: \"local-nvme\",\n CPU: 64,\n memory: 512,\n driveSize: { driveSize: \"1787\", sizeUnit: \"Gi\" },\n drivesPerServer: 8,\n },\n];\n\nexport const GCPStorageTypes: Opts[] = [{ label: \"SSD\", value: \"ssd\" }];\n\nexport const GCPConfigurations: IntegrationConfiguration[] = [\n {\n typeSelection: \"ssd\",\n storageClass: \"local-ssd\",\n CPU: 32,\n memory: 128,\n driveSize: { driveSize: \"368\", sizeUnit: \"Gi\" },\n drivesPerServer: 24,\n },\n];\n\nexport const mkPanelConfigurations = {\n [IMkEnvs.aws]: {\n variantSelectorLabel: \"Storage Type\",\n variantSelectorValues: AWSStorageTypes,\n configurations: AWSConfigurations,\n sizingComponent: ,\n },\n [IMkEnvs.azure]: {\n variantSelectorLabel: \"VM Size\",\n variantSelectorValues: AzureStorageTypes,\n configurations: AzureConfigurations,\n sizingComponent: ,\n },\n [IMkEnvs.gcp]: {\n variantSelectorLabel: \"Storage Type\",\n variantSelectorValues: GCPStorageTypes,\n configurations: GCPConfigurations,\n sizingComponent: ,\n },\n [IMkEnvs.default]: {},\n [IMkEnvs.undefined]: {},\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, { useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, Paper, SelectChangeEvent } from \"@mui/material\";\nimport {\n createTenantCommon,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { isPageValid, updateAddField } from \"../../actions\";\nimport { AppState } from \"../../../../../store\";\nimport { clearValidationError } from \"../../utils\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { ISecurityContext } from \"../../types\";\n\ninterface IConfigureProps {\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n storageClasses: any;\n classes: any;\n customImage: boolean;\n imageName: string;\n customDockerhub: boolean;\n imageRegistry: string;\n imageRegistryUsername: string;\n imageRegistryPassword: string;\n exposeMinIO: boolean;\n exposeConsole: boolean;\n prometheusCustom: boolean;\n tenantCustom: boolean;\n logSearchCustom: boolean;\n logSearchVolumeSize: string;\n logSearchSizeFactor: string;\n prometheusVolumeSize: string;\n prometheusSizeFactor: string;\n logSearchSelectedStorageClass: string;\n logSearchImage: string;\n kesImage: string;\n logSearchPostgresImage: string;\n logSearchPostgresInitImage: string;\n prometheusSelectedStorageClass: string;\n prometheusImage: string;\n prometheusSidecarImage: string;\n prometheusInitImage: string;\n selectedStorageClass: string;\n tenantSecurityContext: ISecurityContext;\n logSearchSecurityContext: ISecurityContext;\n logSearchPostgresSecurityContext: ISecurityContext;\n prometheusSecurityContext: ISecurityContext;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n configSectionItem: {\n marginRight: 15,\n\n \"& .multiContainer\": {\n border: \"1px solid red\",\n },\n },\n tenantCustomizationFields: {\n marginLeft: 30, // 2nd Level(15+15)\n width: \"88%\",\n margin: \"auto\",\n },\n containerItem: {\n marginRight: 15,\n },\n fieldGroup: {\n ...createTenantCommon.fieldGroup,\n paddingTop: 15,\n marginBottom: 25,\n },\n responsiveSectionItem: {\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n\n \"& div > div\": {\n marginBottom: 5,\n marginRight: 0,\n },\n },\n },\n\n logSearchCustomFields: {\n marginLeft: 20, // 2nd Level(15+15)\n padding: 10,\n width: \"90%\",\n margin: \"auto\",\n },\n fieldSpaceTop: {\n marginTop: 15,\n },\n prometheusCustomFields: {\n marginLeft: 20, // 2nd Level(15+15)\n padding: 10,\n width: \"90%\",\n margin: \"auto\",\n },\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst Configure = ({\n classes,\n storageClasses,\n customImage,\n imageName,\n customDockerhub,\n imageRegistry,\n imageRegistryUsername,\n imageRegistryPassword,\n exposeMinIO,\n exposeConsole,\n prometheusCustom,\n tenantCustom,\n logSearchCustom,\n logSearchVolumeSize,\n logSearchSizeFactor,\n logSearchImage,\n kesImage,\n logSearchPostgresImage,\n logSearchPostgresInitImage,\n prometheusVolumeSize,\n prometheusSizeFactor,\n logSearchSelectedStorageClass,\n prometheusSelectedStorageClass,\n prometheusImage,\n prometheusSidecarImage,\n prometheusInitImage,\n updateAddField,\n isPageValid,\n selectedStorageClass,\n tenantSecurityContext,\n logSearchSecurityContext,\n logSearchPostgresSecurityContext,\n prometheusSecurityContext,\n}: IConfigureProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n\n const configureSTClasses = [\n { label: \"Default\", value: \"default\" },\n ...storageClasses,\n ];\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"configure\", field, value);\n },\n [updateAddField]\n );\n\n // Validation\n useEffect(() => {\n let customAccountValidation: IValidation[] = [];\n if (tenantCustom) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"tenant_securityContext_runAsUser\",\n required: true,\n value: tenantSecurityContext.runAsUser,\n customValidation:\n tenantSecurityContext.runAsUser === \"\" ||\n parseInt(tenantSecurityContext.runAsUser) < 0,\n customValidationMessage: `runAsUser must be present and be 0 or more`,\n },\n {\n fieldKey: \"tenant_securityContext_runAsGroup\",\n required: true,\n value: tenantSecurityContext.runAsGroup,\n customValidation:\n tenantSecurityContext.runAsGroup === \"\" ||\n parseInt(tenantSecurityContext.runAsGroup) < 0,\n customValidationMessage: `runAsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"tenant_securityContext_fsGroup\",\n required: true,\n value: tenantSecurityContext.fsGroup,\n customValidation:\n tenantSecurityContext.fsGroup === \"\" ||\n parseInt(tenantSecurityContext.fsGroup) < 0,\n customValidationMessage: `fsGroup must be present and be 0 or more`,\n },\n ];\n }\n if (prometheusCustom) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"prometheus_storage_class\",\n required: true,\n value: prometheusSelectedStorageClass,\n customValidation: prometheusSelectedStorageClass === \"\",\n customValidationMessage: \"Field cannot be empty\",\n },\n {\n fieldKey: \"prometheus_volume_size\",\n required: true,\n value: prometheusVolumeSize,\n customValidation:\n prometheusVolumeSize === \"\" || parseInt(prometheusVolumeSize) <= 0,\n customValidationMessage: `Volume size must be present and be greater than 0`,\n },\n {\n fieldKey: \"prometheus_securityContext_runAsUser\",\n required: true,\n value: prometheusSecurityContext.runAsUser,\n customValidation:\n prometheusSecurityContext.runAsUser === \"\" ||\n parseInt(prometheusSecurityContext.runAsUser) < 0,\n customValidationMessage: `runAsUser must be present and be 0 or more`,\n },\n {\n fieldKey: \"prometheus_securityContext_runAsGroup\",\n required: true,\n value: prometheusSecurityContext.runAsGroup,\n customValidation:\n prometheusSecurityContext.runAsGroup === \"\" ||\n parseInt(prometheusSecurityContext.runAsGroup) < 0,\n customValidationMessage: `runAsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"prometheus_securityContext_fsGroup\",\n required: true,\n value: prometheusSecurityContext.fsGroup,\n customValidation:\n prometheusSecurityContext.fsGroup === \"\" ||\n parseInt(prometheusSecurityContext.fsGroup) < 0,\n customValidationMessage: `fsGroup must be present and be 0 or more`,\n },\n ];\n }\n if (logSearchCustom) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"log_search_storage_class\",\n required: true,\n value: logSearchSelectedStorageClass,\n customValidation: logSearchSelectedStorageClass === \"\",\n customValidationMessage: \"Field cannot be empty\",\n },\n {\n fieldKey: \"log_search_volume_size\",\n required: true,\n value: logSearchVolumeSize,\n customValidation:\n logSearchVolumeSize === \"\" || parseInt(logSearchVolumeSize) <= 0,\n customValidationMessage: `Volume size must be present and be greatter than 0`,\n },\n {\n fieldKey: \"logSearch_securityContext_runAsUser\",\n required: true,\n value: logSearchSecurityContext.runAsUser,\n customValidation:\n logSearchSecurityContext.runAsUser === \"\" ||\n parseInt(logSearchSecurityContext.runAsUser) < 0,\n customValidationMessage: `runAsUser must be present and be 0 or more`,\n },\n {\n fieldKey: \"logSearch_securityContext_runAsGroup\",\n required: true,\n value: logSearchSecurityContext.runAsGroup,\n customValidation:\n logSearchSecurityContext.runAsGroup === \"\" ||\n parseInt(logSearchSecurityContext.runAsGroup) < 0,\n customValidationMessage: `runAsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"logSearch_securityContext_fsGroup\",\n required: true,\n value: logSearchSecurityContext.fsGroup,\n customValidation:\n logSearchSecurityContext.fsGroup === \"\" ||\n parseInt(logSearchSecurityContext.fsGroup) < 0,\n customValidationMessage: `fsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"postgres_securityContext_runAsUser\",\n required: true,\n value: logSearchPostgresSecurityContext.runAsUser,\n customValidation:\n logSearchPostgresSecurityContext.runAsUser === \"\" ||\n parseInt(logSearchPostgresSecurityContext.runAsUser) < 0,\n customValidationMessage: `runAsUser must be present and be 0 or more`,\n },\n {\n fieldKey: \"postgres_securityContext_runAsGroup\",\n required: true,\n value: prometheusSecurityContext.runAsGroup,\n customValidation:\n logSearchPostgresSecurityContext.runAsGroup === \"\" ||\n parseInt(logSearchPostgresSecurityContext.runAsGroup) < 0,\n customValidationMessage: `runAsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"postgres_securityContext_fsGroup\",\n required: true,\n value: logSearchPostgresSecurityContext.fsGroup,\n customValidation:\n logSearchPostgresSecurityContext.fsGroup === \"\" ||\n parseInt(logSearchPostgresSecurityContext.fsGroup) < 0,\n customValidationMessage: `fsGroup must be present and be 0 or more`,\n },\n ];\n }\n\n if (customImage) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"image\",\n required: false,\n value: imageName,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage: \"Format must be of form: 'minio/minio:VERSION'\",\n },\n {\n fieldKey: \"logSearchImage\",\n required: false,\n value: logSearchImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'minio/logsearchapi:VERSION'\",\n },\n {\n fieldKey: \"kesImage\",\n required: false,\n value: kesImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage: \"Format must be of form: 'minio/kes:VERSION'\",\n },\n {\n fieldKey: \"logSearchPostgresImage\",\n required: false,\n value: logSearchPostgresImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'library/postgres:VERSION'\",\n },\n {\n fieldKey: \"logSearchPostgresInitImage\",\n required: false,\n value: logSearchPostgresInitImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'library/busybox:VERSION'\",\n },\n {\n fieldKey: \"prometheusImage\",\n required: false,\n value: prometheusImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'minio/prometheus:VERSION'\",\n },\n {\n fieldKey: \"prometheusSidecarImage\",\n required: false,\n value: prometheusSidecarImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'project/container:VERSION'\",\n },\n {\n fieldKey: \"prometheusInitImage\",\n required: false,\n value: prometheusInitImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'library/busybox:VERSION'\",\n },\n ];\n if (customDockerhub) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"registry\",\n required: true,\n value: imageRegistry,\n },\n {\n fieldKey: \"registryUsername\",\n required: true,\n value: imageRegistryUsername,\n },\n {\n fieldKey: \"registryPassword\",\n required: true,\n value: imageRegistryPassword,\n },\n ];\n }\n }\n\n const commonVal = commonFormValidation(customAccountValidation);\n\n isPageValid(\"configure\", Object.keys(commonVal).length === 0);\n\n setValidationErrors(commonVal);\n }, [\n customImage,\n imageName,\n logSearchImage,\n kesImage,\n logSearchPostgresImage,\n logSearchPostgresInitImage,\n prometheusImage,\n prometheusSidecarImage,\n prometheusInitImage,\n customDockerhub,\n imageRegistry,\n imageRegistryUsername,\n imageRegistryPassword,\n isPageValid,\n prometheusCustom,\n tenantCustom,\n logSearchCustom,\n prometheusSelectedStorageClass,\n prometheusVolumeSize,\n logSearchSelectedStorageClass,\n logSearchVolumeSize,\n tenantSecurityContext,\n logSearchSecurityContext,\n logSearchPostgresSecurityContext,\n prometheusSecurityContext,\n ]);\n\n useEffect(() => {\n // New default values in current selection is invalid\n if (storageClasses.length > 0) {\n const filterPrometheus = storageClasses.filter(\n (item: any) => item.value === prometheusSelectedStorageClass\n );\n if (filterPrometheus.length === 0) {\n updateField(\"prometheusSelectedStorageClass\", \"default\");\n }\n\n const filterLogSearch = storageClasses.filter(\n (item: any) => item.value === logSearchSelectedStorageClass\n );\n if (filterLogSearch.length === 0) {\n updateField(\"logSearchSelectedStorageClass\", \"default\");\n }\n }\n }, [\n logSearchSelectedStorageClass,\n prometheusSelectedStorageClass,\n selectedStorageClass,\n storageClasses,\n updateField,\n ]);\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n return (\n \n
\n

Configure

\n \n Basic configurations for tenant management\n \n
\n
\n

Expose Services

\n \n Whether the tenant's services should request an external IP.\n \n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"exposeMinIO\", checked);\n }}\n label={\"Expose MiniO Service\"}\n />\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"exposeConsole\", checked);\n }}\n label={\"Expose Console Service\"}\n />\n \n\n
\n

Additional Configurations

\n \n Configure SecurityContext, Storage Classes & Storage size for Log\n Search, Prometheus add-ons and your Tenant\n \n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"tenantCustom\", checked);\n }}\n label={\"Override Tenant defaults\"}\n />\n \n {tenantCustom && (\n \n
\n \n SecurityContext for MinIO\n \n \n \n
\n ) => {\n updateField(\"tenantSecurityContext\", {\n ...tenantSecurityContext,\n runAsUser: e.target.value,\n });\n cleanValidation(\"tenant_securityContext_runAsUser\");\n }}\n label=\"Run As User\"\n value={tenantSecurityContext.runAsUser}\n required\n error={\n validationErrors[\"tenant_securityContext_runAsUser\"] || \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"tenantSecurityContext\", {\n ...tenantSecurityContext,\n runAsGroup: e.target.value,\n });\n cleanValidation(\"tenant_securityContext_runAsGroup\");\n }}\n label=\"Run As Group\"\n value={tenantSecurityContext.runAsGroup}\n required\n error={\n validationErrors[\"tenant_securityContext_runAsGroup\"] ||\n \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"tenantSecurityContext\", {\n ...tenantSecurityContext,\n fsGroup: e.target.value,\n });\n cleanValidation(\"tenant_securityContext_fsGroup\");\n }}\n label=\"FsGroup\"\n value={tenantSecurityContext.fsGroup}\n required\n error={\n validationErrors[\"tenant_securityContext_fsGroup\"] || \"\"\n }\n min=\"0\"\n />\n
\n \n
\n
\n \n
\n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"tenantSecurityContext\", {\n ...tenantSecurityContext,\n runAsNonRoot: checked,\n });\n }}\n label={\"Do not run as Root\"}\n />\n
\n
\n
\n
\n )}\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"logSearchCustom\", checked);\n }}\n label={\"Override Log Search defaults\"}\n />\n \n {logSearchCustom && (\n \n \n ) => {\n updateField(\n \"logSearchSelectedStorageClass\",\n e.target.value as string\n );\n }}\n label=\"Log Search Storage Class\"\n value={logSearchSelectedStorageClass}\n options={configureSTClasses}\n disabled={configureSTClasses.length < 1}\n />\n \n \n
\n ) => {\n updateField(\"logSearchVolumeSize\", e.target.value);\n cleanValidation(\"log_search_volume_size\");\n }}\n label=\"Storage Size [Gi]\"\n value={logSearchVolumeSize}\n required\n error={validationErrors[\"log_search_volume_size\"] || \"\"}\n min=\"0\"\n />\n
\n
\n\n \n \n SecurityContext for LogSearch\n \n\n \n \n
\n ) => {\n updateField(\"logSearchSecurityContext\", {\n ...logSearchSecurityContext,\n runAsUser: e.target.value,\n });\n cleanValidation(\"logSearch_securityContext_runAsUser\");\n }}\n label=\"Run As User\"\n value={logSearchSecurityContext.runAsUser}\n required\n error={\n validationErrors[\"logSearch_securityContext_runAsUser\"] ||\n \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"logSearchSecurityContext\", {\n ...logSearchSecurityContext,\n runAsGroup: e.target.value,\n });\n cleanValidation(\"logSearch_securityContext_runAsGroup\");\n }}\n label=\"Run As Group\"\n value={logSearchSecurityContext.runAsGroup}\n required\n error={\n validationErrors[\n \"logSearch_securityContext_runAsGroup\"\n ] || \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"logSearchSecurityContext\", {\n ...logSearchSecurityContext,\n fsGroup: e.target.value,\n });\n cleanValidation(\"logSearch_securityContext_fsGroup\");\n }}\n label=\"FsGroup\"\n value={logSearchSecurityContext.fsGroup}\n required\n error={\n validationErrors[\"logSearch_securityContext_fsGroup\"] ||\n \"\"\n }\n min=\"0\"\n />\n
\n \n
\n
\n \n
\n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"logSearchSecurityContext\", {\n ...logSearchSecurityContext,\n runAsNonRoot: checked,\n });\n }}\n label={\"Do not run as Root\"}\n />\n
\n
\n \n
\n \n SecurityContext for PostgreSQL\n \n\n \n \n
\n ) => {\n updateField(\"logSearchPostgresSecurityContext\", {\n ...logSearchPostgresSecurityContext,\n runAsUser: e.target.value,\n });\n cleanValidation(\"postgres_securityContext_runAsUser\");\n }}\n label=\"Run As User\"\n value={logSearchPostgresSecurityContext.runAsUser}\n required\n error={\n validationErrors[\"postgres_securityContext_runAsUser\"] ||\n \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"logSearchPostgresSecurityContext\", {\n ...logSearchPostgresSecurityContext,\n runAsGroup: e.target.value,\n });\n cleanValidation(\"postgres_securityContext_runAsGroup\");\n }}\n label=\"Run As Group\"\n value={logSearchPostgresSecurityContext.runAsGroup}\n required\n error={\n validationErrors[\"postgres_securityContext_runAsGroup\"] ||\n \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"logSearchPostgresSecurityContext\", {\n ...logSearchPostgresSecurityContext,\n fsGroup: e.target.value,\n });\n cleanValidation(\"postgres_securityContext_fsGroup\");\n }}\n label=\"FsGroup\"\n value={logSearchPostgresSecurityContext.fsGroup}\n required\n error={\n validationErrors[\"postgres_securityContext_fsGroup\"] || \"\"\n }\n min=\"0\"\n />\n
\n \n
\n
\n \n
\n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"logSearchPostgresSecurityContext\", {\n ...logSearchPostgresSecurityContext,\n runAsNonRoot: checked,\n });\n }}\n label={\"Do not run as Root\"}\n />\n
\n
\n
\n
\n )}\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"prometheusCustom\", checked);\n }}\n label={\"Override Prometheus defaults\"}\n />\n \n {prometheusCustom && (\n \n \n ) => {\n updateField(\n \"prometheusSelectedStorageClass\",\n e.target.value as string\n );\n }}\n label=\"Prometheus Storage Class\"\n value={prometheusSelectedStorageClass}\n options={configureSTClasses}\n disabled={configureSTClasses.length < 1}\n />\n \n \n
\n ) => {\n updateField(\"prometheusVolumeSize\", e.target.value);\n cleanValidation(\"prometheus_volume_size\");\n }}\n label=\"Storage Size [Gi]\"\n value={prometheusVolumeSize}\n required\n error={validationErrors[\"prometheus_volume_size\"] || \"\"}\n min=\"0\"\n />\n
\n
\n \n \n SecurityContext for Prometheus\n \n \n \n
\n ) => {\n updateField(\"prometheusSecurityContext\", {\n ...prometheusSecurityContext,\n runAsUser: e.target.value,\n });\n cleanValidation(\"prometheus_securityContext_runAsUser\");\n }}\n label=\"Run As User\"\n value={prometheusSecurityContext.runAsUser}\n required\n error={\n validationErrors[\n \"prometheus_securityContext_runAsUser\"\n ] || \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"prometheusSecurityContext\", {\n ...prometheusSecurityContext,\n runAsGroup: e.target.value,\n });\n cleanValidation(\"prometheus_securityContext_runAsGroup\");\n }}\n label=\"Run As Group\"\n value={prometheusSecurityContext.runAsGroup}\n required\n error={\n validationErrors[\n \"prometheus_securityContext_runAsGroup\"\n ] || \"\"\n }\n min=\"0\"\n />\n
\n
\n ) => {\n updateField(\"prometheusSecurityContext\", {\n ...prometheusSecurityContext,\n fsGroup: e.target.value,\n });\n cleanValidation(\"prometheus_securityContext_fsGroup\");\n }}\n label=\"FsGroup\"\n value={prometheusSecurityContext.fsGroup}\n required\n error={\n validationErrors[\"prometheus_securityContext_fsGroup\"] ||\n \"\"\n }\n min=\"0\"\n />\n
\n \n
\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"prometheusSecurityContext\", {\n ...prometheusSecurityContext,\n runAsNonRoot: checked,\n });\n }}\n label={\"Do not run as Root\"}\n />\n \n \n \n
\n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n storageClasses: state.tenants.createTenant.storageClasses,\n customImage: state.tenants.createTenant.fields.configure.customImage,\n imageName: state.tenants.createTenant.fields.configure.imageName,\n customDockerhub: state.tenants.createTenant.fields.configure.customDockerhub,\n imageRegistry: state.tenants.createTenant.fields.configure.imageRegistry,\n imageRegistryUsername:\n state.tenants.createTenant.fields.configure.imageRegistryUsername,\n imageRegistryPassword:\n state.tenants.createTenant.fields.configure.imageRegistryPassword,\n exposeMinIO: state.tenants.createTenant.fields.configure.exposeMinIO,\n exposeConsole: state.tenants.createTenant.fields.configure.exposeConsole,\n prometheusCustom:\n state.tenants.createTenant.fields.configure.prometheusCustom,\n tenantCustom: state.tenants.createTenant.fields.configure.tenantCustom,\n logSearchCustom: state.tenants.createTenant.fields.configure.logSearchCustom,\n logSearchVolumeSize:\n state.tenants.createTenant.fields.configure.logSearchVolumeSize,\n logSearchSizeFactor:\n state.tenants.createTenant.fields.configure.logSearchSizeFactor,\n prometheusVolumeSize:\n state.tenants.createTenant.fields.configure.prometheusVolumeSize,\n prometheusSizeFactor:\n state.tenants.createTenant.fields.configure.prometheusSizeFactor,\n logSearchSelectedStorageClass:\n state.tenants.createTenant.fields.configure.logSearchSelectedStorageClass,\n logSearchImage: state.tenants.createTenant.fields.configure.logSearchImage,\n kesImage: state.tenants.createTenant.fields.configure.kesImage,\n logSearchPostgresImage:\n state.tenants.createTenant.fields.configure.logSearchPostgresImage,\n logSearchPostgresInitImage:\n state.tenants.createTenant.fields.configure.logSearchPostgresInitImage,\n prometheusSelectedStorageClass:\n state.tenants.createTenant.fields.configure.prometheusSelectedStorageClass,\n prometheusImage: state.tenants.createTenant.fields.configure.prometheusImage,\n prometheusSidecarImage:\n state.tenants.createTenant.fields.configure.prometheusSidecarImage,\n prometheusInitImage:\n state.tenants.createTenant.fields.configure.prometheusInitImage,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n tenantSecurityContext:\n state.tenants.createTenant.fields.configure.tenantSecurityContext,\n logSearchSecurityContext:\n state.tenants.createTenant.fields.configure.logSearchSecurityContext,\n logSearchPostgresSecurityContext:\n state.tenants.createTenant.fields.configure\n .logSearchPostgresSecurityContext,\n prometheusSecurityContext:\n state.tenants.createTenant.fields.configure.prometheusSecurityContext,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(Configure));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, IconButton, Paper, Tooltip, Typography } from \"@mui/material\";\nimport CasinoIcon from \"@mui/icons-material/Casino\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { isPageValid, updateAddField } from \"../../actions\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport { AppState } from \"../../../../../store\";\nimport { clearValidationError, getRandomString } from \"../../utils\";\nimport RadioGroupSelector from \"../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport RemoveIcon from \"../../../../../icons/RemoveIcon\";\n\ninterface IIdentityProviderProps {\n classes: any;\n idpSelection: string;\n accessKeys: string[];\n secretKeys: string[];\n openIDConfigurationURL: string;\n openIDClientID: string;\n openIDSecretID: string;\n openIDCallbackURL: string;\n openIDClaimName: string;\n openIDScopes: string;\n ADURL: string;\n ADSkipTLS: boolean;\n ADServerInsecure: boolean;\n ADUserNameSearchFilter: string;\n ADGroupSearchBaseDN: string;\n ADGroupSearchFilter: string;\n ADGroupNameAttribute: string;\n ADUserDNs: string[];\n ADUserNameFormat: string;\n ADLookupBindDN: string;\n ADLookupBindPassword: string;\n ADUserDNSearchBaseDN: string;\n ADUserDNSearchFilter: string;\n ADServerStartTLS: boolean;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n shortened: {\n gridTemplateColumns: \"auto auto 50px 50px\",\n display: \"grid\",\n gridGap: 15,\n marginBottom: 10,\n \"& input\": {\n fontWeight: 400,\n },\n },\n buttonTray: {\n marginLeft: 10,\n display: \"flex\",\n height: 38,\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n overlayAction: {\n marginLeft: 10,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n protocolRadioOptions: {\n display: \"flex\",\n flexFlow: \"column\",\n marginBottom: 10,\n\n \"& label\": {\n fontSize: 14,\n },\n \"& div\": {\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"baseline\",\n },\n },\n adUserDnRows: {\n display: \"flex\",\n },\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst IdentityProvider = ({\n classes,\n idpSelection,\n accessKeys,\n secretKeys,\n openIDConfigurationURL,\n openIDClientID,\n openIDSecretID,\n openIDCallbackURL,\n openIDClaimName,\n openIDScopes,\n ADURL,\n ADSkipTLS,\n ADServerInsecure,\n ADUserNameSearchFilter,\n ADGroupSearchBaseDN,\n ADGroupSearchFilter,\n ADGroupNameAttribute,\n ADUserDNs,\n ADUserNameFormat,\n ADLookupBindDN,\n ADLookupBindPassword,\n ADUserDNSearchBaseDN,\n ADUserDNSearchFilter,\n ADServerStartTLS,\n updateAddField,\n isPageValid,\n}: IIdentityProviderProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"identityProvider\", field, value);\n },\n [updateAddField]\n );\n const updateUserField = (index: number, value: string) => {\n const newUserField = [...accessKeys];\n newUserField[index] = value;\n updateField(\"accessKeys\", newUserField);\n };\n const updatePwordField = (index: number, value: string) => {\n const newUserField = [...secretKeys];\n newUserField[index] = value;\n updateField(\"secretKeys\", newUserField);\n };\n const updateADUserField = (index: number, value: string) => {\n const newADUserDNsField = [...ADUserDNs];\n newADUserDNsField[index] = value;\n updateField(\"ADUserDNs\", newADUserDNsField);\n };\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n // Validation\n\n useEffect(() => {\n let customIDPValidation: IValidation[] = [];\n\n if (idpSelection === \"Built-in\") {\n customIDPValidation = [...customIDPValidation];\n for (var i = 0; i < accessKeys.length; i++) {\n customIDPValidation.push({\n fieldKey: `accesskey-${i.toString()}`,\n required: true,\n value: accessKeys[i],\n pattern: /^[a-zA-Z0-9-]{8,63}$/,\n customPatternMessage: \"Keys must be at least length 8\",\n });\n customIDPValidation.push({\n fieldKey: `secretkey-${i.toString()}`,\n required: true,\n value: secretKeys[i],\n pattern: /^[a-zA-Z0-9-]{8,63}$/,\n customPatternMessage: \"Keys must be at least length 8\",\n });\n }\n }\n\n if (idpSelection === \"OpenID\") {\n customIDPValidation = [\n ...customIDPValidation,\n {\n fieldKey: \"openID_CONFIGURATION_URL\",\n required: true,\n value: openIDConfigurationURL,\n },\n {\n fieldKey: \"openID_clientID\",\n required: true,\n value: openIDClientID,\n },\n {\n fieldKey: \"openID_secretID\",\n required: true,\n value: openIDSecretID,\n },\n {\n fieldKey: \"openID_claimName\",\n required: true,\n value: openIDClaimName,\n },\n ];\n }\n\n if (idpSelection === \"AD\") {\n customIDPValidation = [\n ...customIDPValidation,\n {\n fieldKey: \"AD_URL\",\n required: true,\n value: ADURL,\n },\n ];\n // validate user DNs\n for (let i = 0; i < ADUserDNs.length; i++) {\n customIDPValidation.push({\n fieldKey: `ad-userdn-${i.toString()}`,\n required: true,\n value: ADUserDNs[i],\n });\n }\n }\n\n const commonVal = commonFormValidation(customIDPValidation);\n\n isPageValid(\"identityProvider\", Object.keys(commonVal).length === 0);\n\n setValidationErrors(commonVal);\n }, [\n idpSelection,\n accessKeys,\n secretKeys,\n openIDClientID,\n openIDSecretID,\n ADURL,\n ADUserNameSearchFilter,\n ADGroupSearchBaseDN,\n ADGroupSearchFilter,\n ADGroupNameAttribute,\n ADUserDNs,\n isPageValid,\n openIDConfigurationURL,\n openIDClaimName,\n ]);\n let inputs = null;\n if (idpSelection === \"Built-in\") {\n inputs = accessKeys.map((_, index) => {\n return (\n \n
\n ) => {\n updateUserField(index, e.target.value);\n cleanValidation(`accesskey-${index.toString()}`);\n }}\n index={index}\n key={`csv-accesskey-${index.toString()}`}\n error={validationErrors[`accesskey-${index.toString()}`] || \"\"}\n />\n ) => {\n updatePwordField(index, e.target.value);\n cleanValidation(`secretkey-${index.toString()}`);\n }}\n index={index}\n key={`csv-secretkey-${index.toString()}`}\n error={validationErrors[`secretkey-${index.toString()}`] || \"\"}\n />\n
\n \n
\n {\n accessKeys.push(\"\");\n secretKeys.push(\"\");\n updateUserField(accessKeys.length - 1, \"\");\n updatePwordField(secretKeys.length - 1, \"\");\n }}\n >\n \n \n
\n
\n \n
\n {\n if (accessKeys.length > 1) {\n accessKeys.splice(index, 1);\n secretKeys.splice(index, 1);\n updateUserField(\n accessKeys.length - 1,\n accessKeys[accessKeys.length - 1]\n );\n }\n }}\n >\n \n \n
\n
\n \n
\n {\n updateUserField(index, getRandomString(16));\n updatePwordField(index, getRandomString(32));\n }}\n size={\"small\"}\n >\n \n \n
\n
\n
\n
\n
\n );\n });\n }\n if (idpSelection === \"AD\") {\n inputs = ADUserDNs.map((_, index) => {\n return (\n \n
\n ) => {\n updateADUserField(index, e.target.value);\n cleanValidation(`ad-userdn-${index.toString()}`);\n }}\n index={index}\n key={`csv-ad-userdn-${index.toString()}`}\n error={validationErrors[`ad-userdn-${index.toString()}`] || \"\"}\n />\n
\n \n {\n ADUserDNs.push(\"\");\n updateADUserField(ADUserDNs.length - 1, \"\");\n }}\n >\n \n \n \n \n {\n if (ADUserDNs.length > 1) {\n ADUserDNs.splice(index, 1);\n updateUserField(\n ADUserDNs.length - 1,\n ADUserDNs[ADUserDNs.length - 1]\n );\n }\n }}\n >\n \n \n \n
\n
\n
\n );\n });\n }\n return (\n \n
\n

Identity Provider

\n \n Access to the tenant can be controlled via an external Identity\n Manager.\n \n
\n \n \n {\n updateField(\"idpSelection\", e.target.value);\n }}\n selectorOptions={[\n { label: \"Built-in\", value: \"Built-in\" },\n { label: \"OpenID\", value: \"OpenID\" },\n { label: \"Active Directory\", value: \"AD\" },\n ]}\n />\n \n {idpSelection === \"Built-in\" && (\n \n Add additional users\n {inputs}\n \n )}\n {idpSelection === \"OpenID\" && (\n \n \n ) => {\n updateField(\"openIDConfigurationURL\", e.target.value);\n cleanValidation(\"openID_CONFIGURATION_URL\");\n }}\n label=\"Configuration URL\"\n value={openIDConfigurationURL}\n placeholder=\"https://your-identity-provider.com/.well-known/openid-configuration\"\n error={validationErrors[\"openID_CONFIGURATION_URL\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"openIDClientID\", e.target.value);\n cleanValidation(\"openID_clientID\");\n }}\n label=\"Client ID\"\n value={openIDClientID}\n error={validationErrors[\"openID_clientID\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"openIDSecretID\", e.target.value);\n cleanValidation(\"openID_secretID\");\n }}\n label=\"Secret ID\"\n value={openIDSecretID}\n error={validationErrors[\"openID_secretID\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"openIDCallbackURL\", e.target.value);\n cleanValidation(\"openID_callbackURL\");\n }}\n label=\"Callback URL\"\n value={openIDCallbackURL}\n placeholder=\"https://your-console-endpoint:9443/oauth_callback\"\n error={validationErrors[\"openID_callbackURL\"] || \"\"}\n />\n \n \n ) => {\n updateField(\"openIDClaimName\", e.target.value);\n cleanValidation(\"openID_claimName\");\n }}\n label=\"Claim Name\"\n value={openIDClaimName}\n error={validationErrors[\"openID_claimName\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"openIDScopes\", e.target.value);\n cleanValidation(\"openID_scopes\");\n }}\n label=\"Scopes\"\n value={openIDScopes}\n />\n \n \n )}\n {idpSelection === \"AD\" && (\n \n \n ) => {\n updateField(\"ADURL\", e.target.value);\n cleanValidation(\"AD_URL\");\n }}\n label=\"LDAP Server Address\"\n value={ADURL}\n placeholder=\"ldap-server:636\"\n error={validationErrors[\"AD_URL\"] || \"\"}\n required\n />\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"ADSkipTLS\", checked);\n }}\n label={\"Skip TLS Verification\"}\n />\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"ADServerInsecure\", checked);\n }}\n label={\"Server Insecure\"}\n />\n \n {ADServerInsecure ? (\n \n \n Warning: All traffic with Active Directory will be unencrypted\n \n
\n
\n ) : null}\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"ADServerStartTLS\", checked);\n }}\n label={\"Start TLS connection to AD/LDAP server\"}\n />\n \n \n ) => {\n updateField(\"ADUserNameFormat\", e.target.value);\n }}\n label=\"Username Format\"\n value={ADUserNameFormat}\n placeholder=\"uid=%s,cn=accounts,dc=myldapserver,dc=com\"\n />\n \n \n ) => {\n updateField(\"ADUserNameSearchFilter\", e.target.value);\n }}\n label=\"Username Search Filter\"\n value={ADUserNameSearchFilter}\n placeholder=\"(|(objectclass=posixAccount)(uid=%s))\"\n />\n \n \n ) => {\n updateField(\"ADGroupSearchBaseDN\", e.target.value);\n }}\n label=\"Group Search Base DN\"\n value={ADGroupSearchBaseDN}\n placeholder=\"ou=hwengg,dc=min,dc=io;ou=swengg,dc=min,dc=io\"\n />\n \n \n ) => {\n updateField(\"ADGroupSearchFilter\", e.target.value);\n }}\n label=\"Group Search Filter\"\n value={ADGroupSearchFilter}\n placeholder=\"(&(objectclass=groupOfNames)(member=%s))\"\n />\n \n \n ) => {\n updateField(\"ADGroupNameAttribute\", e.target.value);\n }}\n label=\"Group Name Attribute\"\n value={ADGroupNameAttribute}\n placeholder=\"cn\"\n />\n \n \n ) => {\n updateField(\"ADLookupBindDN\", e.target.value);\n }}\n label=\"Lookup Bind DN\"\n value={ADLookupBindDN}\n placeholder=\"cn=admin,dc=min,dc=io\"\n />\n \n \n ) => {\n updateField(\"ADLookupBindPassword\", e.target.value);\n }}\n label=\"Lookup Bind Password\"\n value={ADLookupBindPassword}\n placeholder=\"admin\"\n />\n \n \n ) => {\n updateField(\"ADUserDNSearchBaseDN\", e.target.value);\n }}\n label=\"User DN Search Base DN\"\n value={ADUserDNSearchBaseDN}\n placeholder=\"dc=min,dc=io\"\n />\n \n \n ) => {\n updateField(\"ADUserDNSearchFilter\", e.target.value);\n }}\n label=\"User DN Search Filter\"\n value={ADUserDNSearchFilter}\n placeholder=\"(uid=%s)\"\n />\n \n
\n \n List of user DNs (Distinguished Names) to be Tenant Administrators\n \n \n {inputs}\n \n
\n
\n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n idpSelection: state.tenants.createTenant.fields.identityProvider.idpSelection,\n accessKeys: state.tenants.createTenant.fields.identityProvider.accessKeys,\n secretKeys: state.tenants.createTenant.fields.identityProvider.secretKeys,\n openIDConfigurationURL:\n state.tenants.createTenant.fields.identityProvider.openIDConfigurationURL,\n openIDClientID:\n state.tenants.createTenant.fields.identityProvider.openIDClientID,\n openIDSecretID:\n state.tenants.createTenant.fields.identityProvider.openIDSecretID,\n openIDCallbackURL:\n state.tenants.createTenant.fields.identityProvider.openIDCallbackURL,\n openIDClaimName:\n state.tenants.createTenant.fields.identityProvider.openIDClaimName,\n openIDScopes: state.tenants.createTenant.fields.identityProvider.openIDScopes,\n ADURL: state.tenants.createTenant.fields.identityProvider.ADURL,\n ADSkipTLS: state.tenants.createTenant.fields.identityProvider.ADSkipTLS,\n ADServerInsecure:\n state.tenants.createTenant.fields.identityProvider.ADServerInsecure,\n ADUserNameSearchFilter:\n state.tenants.createTenant.fields.identityProvider.ADUserNameSearchFilter,\n ADGroupSearchBaseDN:\n state.tenants.createTenant.fields.identityProvider.ADGroupSearchBaseDN,\n ADGroupSearchFilter:\n state.tenants.createTenant.fields.identityProvider.ADGroupSearchFilter,\n ADGroupNameAttribute:\n state.tenants.createTenant.fields.identityProvider.ADGroupNameAttribute,\n ADUserDNs: state.tenants.createTenant.fields.identityProvider.ADUserDNs,\n ADUserNameFormat:\n state.tenants.createTenant.fields.identityProvider.ADUserNameFormat,\n ADLookupBindDN:\n state.tenants.createTenant.fields.identityProvider.ADLookupBindDN,\n ADLookupBindPassword:\n state.tenants.createTenant.fields.identityProvider.ADLookupBindPassword,\n ADUserDNSearchBaseDN:\n state.tenants.createTenant.fields.identityProvider.ADUserDNSearchBaseDN,\n ADUserDNSearchFilter:\n state.tenants.createTenant.fields.identityProvider.ADUserDNSearchFilter,\n ADServerStartTLS:\n state.tenants.createTenant.fields.identityProvider.ADServerStartTLS,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(IdentityProvider));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect } 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, IconButton, Paper, Typography } from \"@mui/material\";\nimport {\n createTenantCommon,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport {\n addCaCertificate,\n addFileToCaCertificates,\n addFileToKeyPair,\n addKeyPair,\n deleteCaCertificate,\n deleteKeyPair,\n isPageValid,\n updateAddField,\n} from \"../../actions\";\nimport { AppState } from \"../../../../../store\";\nimport { KeyPair } from \"../../ListTenants/utils\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport FileSelector from \"../../../Common/FormComponents/FileSelector/FileSelector\";\nimport AddIcon from \"../../../../../icons/AddIcon\";\nimport RemoveIcon from \"../../../../../icons/RemoveIcon\";\n\ninterface ISecurityProps {\n classes: any;\n enableTLS: boolean;\n enableAutoCert: boolean;\n enableCustomCerts: boolean;\n minioCertificates: KeyPair[];\n caCertificates: KeyPair[];\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n addFileToCaCertificates: typeof addFileToCaCertificates;\n deleteCaCertificate: typeof deleteCaCertificate;\n addCaCertificate: typeof addCaCertificate;\n addKeyPair: typeof addKeyPair;\n addFileToKeyPair: typeof addFileToKeyPair;\n deleteKeyPair: typeof deleteKeyPair;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n minioCertificateRows: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n borderBottom: \"1px solid #EAEAEA\",\n \"&:last-child\": {\n borderBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n flex: 1,\n },\n },\n fileItem: {\n marginRight: 10,\n display: \"flex\",\n \"& div label\": {\n minWidth: 50,\n },\n\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n minioCertsContainer: {\n marginBottom: 15,\n },\n minioCACertsRow: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"&:last-child\": {\n borderBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n flex: 1,\n\n \"& div label\": {\n minWidth: 50,\n },\n },\n },\n rowActions: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n \"@media (max-width: 900px)\": {\n flex: 1,\n },\n },\n overlayAction: {\n marginLeft: 10,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n\n ...createTenantCommon,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst Security = ({\n classes,\n enableTLS,\n enableAutoCert,\n enableCustomCerts,\n minioCertificates,\n caCertificates,\n updateAddField,\n isPageValid,\n addFileToCaCertificates,\n deleteCaCertificate,\n addCaCertificate,\n addKeyPair,\n addFileToKeyPair,\n deleteKeyPair,\n}: ISecurityProps) => {\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"security\", field, value);\n },\n [updateAddField]\n );\n\n // Validation\n\n useEffect(() => {\n if (!enableTLS) {\n isPageValid(\"security\", true);\n return;\n }\n if (enableAutoCert) {\n isPageValid(\"security\", true);\n return;\n }\n if (enableCustomCerts) {\n isPageValid(\"security\", true);\n return;\n }\n isPageValid(\"security\", false);\n }, [enableTLS, enableAutoCert, enableCustomCerts, isPageValid]);\n\n return (\n \n
\n

Security

\n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"enableTLS\", checked);\n }}\n label={\"Enable TLS\"}\n />\n Enable TLS for the tenant, this is required for Encryption Configuration\n {enableTLS && (\n \n
\n
\n \n AutoCert: MinIO Operator will generate all TLS certificates\n automatically\n \n \n Custom certificates: Allow user to provide your own certificates\n \n
\n
\n )}\n
\n {enableTLS && (\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"enableAutoCert\", checked);\n }}\n label={\"Enable AutoCert\"}\n />\n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"enableCustomCerts\", checked);\n }}\n label={\"Custom Certificates\"}\n />\n \n {enableCustomCerts && (\n \n \n \n
\n \n MinIO Certificates\n \n {minioCertificates.map((keyPair: KeyPair) => (\n \n \n {\n addFileToKeyPair(\n keyPair.id,\n \"cert\",\n fileName,\n encodedValue\n );\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"tlsCert\"\n name=\"tlsCert\"\n label=\"Cert\"\n value={keyPair.cert}\n />\n {\n addFileToKeyPair(\n keyPair.id,\n \"key\",\n fileName,\n encodedValue\n );\n }}\n accept=\".key,.pem\"\n id=\"tlsKey\"\n name=\"tlsKey\"\n label=\"Key\"\n value={keyPair.key}\n />\n \n\n \n
\n \n \n \n
\n
\n {\n deleteKeyPair(keyPair.id);\n }}\n >\n \n \n
\n
\n \n ))}\n
\n
\n
\n\n \n \n
\n \n MinIO CA Certificates\n \n\n {caCertificates.map((keyPair: KeyPair) => (\n \n \n {\n addFileToCaCertificates(\n keyPair.id,\n \"cert\",\n fileName,\n encodedValue\n );\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"tlsCert\"\n name=\"tlsCert\"\n label=\"Cert\"\n value={keyPair.cert}\n />\n \n \n
\n
\n \n \n \n
\n
\n {\n deleteCaCertificate(keyPair.id);\n }}\n >\n \n \n
\n
\n
\n \n ))}\n
\n
\n
\n
\n )}\n
\n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n enableTLS: state.tenants.createTenant.fields.security.enableTLS,\n enableAutoCert: state.tenants.createTenant.fields.security.enableAutoCert,\n enableCustomCerts:\n state.tenants.createTenant.fields.security.enableCustomCerts,\n minioCertificates: state.tenants.createTenant.certificates.minioCertificates,\n caCertificates: state.tenants.createTenant.certificates.caCertificates,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n addFileToCaCertificates,\n deleteCaCertificate,\n addCaCertificate,\n addKeyPair,\n addFileToKeyPair,\n deleteKeyPair,\n});\n\nexport default withStyles(styles)(connector(Security));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Paper } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n addFileClientCert,\n addFileGemaltoCa,\n addFileServerCert,\n addFileVaultCa,\n addFileVaultCert,\n isPageValid,\n updateAddField,\n} from \"../../actions\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../../store\";\nimport { clearValidationError } from \"../../utils\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport FileSelector from \"../../../Common/FormComponents/FileSelector/FileSelector\";\nimport RadioGroupSelector from \"../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport { KeyPair } from \"../../ListTenants/utils\";\nimport { ISecurityContext } from \"../../types\";\n\ninterface IEncryptionProps {\n classes: any;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n addFileServerCert: typeof addFileServerCert;\n addFileClientCert: typeof addFileClientCert;\n addFileVaultCert: typeof addFileVaultCert;\n addFileVaultCa: typeof addFileVaultCa;\n addFileGemaltoCa: typeof addFileGemaltoCa;\n enableEncryption: boolean;\n encryptionType: string;\n gemaltoEndpoint: string;\n gemaltoToken: string;\n gemaltoDomain: string;\n gemaltoRetry: string;\n awsEndpoint: string;\n awsRegion: string;\n awsKMSKey: string;\n awsAccessKey: string;\n awsSecretKey: string;\n awsToken: string;\n vaultEndpoint: string;\n vaultEngine: string;\n vaultNamespace: string;\n vaultPrefix: string;\n vaultAppRoleEngine: string;\n vaultId: string;\n vaultSecret: string;\n vaultRetry: string;\n vaultPing: string;\n azureEndpoint: string;\n azureTenantID: string;\n azureClientID: string;\n azureClientSecret: string;\n gcpProjectID: string;\n gcpEndpoint: string;\n gcpClientEmail: string;\n gcpClientID: string;\n gcpPrivateKeyID: string;\n gcpPrivateKey: string;\n enableCustomCertsForKES: boolean;\n enableAutoCert: boolean;\n enableTLS: boolean;\n enableCustomCerts: boolean;\n minioCertificates: KeyPair[];\n serverCertificate: KeyPair;\n clientCertificate: KeyPair;\n vaultCertificate: KeyPair;\n vaultCA: KeyPair;\n gemaltoCA: KeyPair;\n kesSecurityContext: ISecurityContext;\n replicas: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n encryptionTypeOptions: {\n marginBottom: 15,\n },\n mutualTlsConfig: {\n marginTop: 15,\n \"& fieldset\": {\n flex: 1,\n },\n },\n rightSpacer: {\n marginRight: 15,\n },\n responsiveContainer: {\n \"@media (max-width: 900px)\": {\n display: \"flex\",\n flexFlow: \"column\",\n },\n },\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst Encryption = ({\n classes,\n updateAddField,\n isPageValid,\n addFileServerCert,\n addFileClientCert,\n addFileVaultCert,\n addFileVaultCa,\n addFileGemaltoCa,\n enableEncryption,\n enableCustomCerts,\n encryptionType,\n gemaltoEndpoint,\n gemaltoToken,\n gemaltoDomain,\n gemaltoRetry,\n awsEndpoint,\n awsRegion,\n awsKMSKey,\n awsAccessKey,\n awsSecretKey,\n awsToken,\n vaultEndpoint,\n vaultEngine,\n vaultNamespace,\n vaultPrefix,\n vaultAppRoleEngine,\n vaultId,\n vaultSecret,\n vaultRetry,\n vaultPing,\n azureEndpoint,\n azureTenantID,\n azureClientID,\n azureClientSecret,\n gcpProjectID,\n gcpEndpoint,\n gcpClientEmail,\n gcpClientID,\n gcpPrivateKeyID,\n gcpPrivateKey,\n enableCustomCertsForKES,\n enableAutoCert,\n enableTLS,\n minioCertificates,\n serverCertificate,\n clientCertificate,\n vaultCertificate,\n vaultCA,\n gemaltoCA,\n kesSecurityContext,\n replicas,\n}: IEncryptionProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n\n let encryptionAvailable = false;\n if (\n enableTLS &&\n (enableAutoCert ||\n (minioCertificates &&\n minioCertificates.filter(\n (item) => item.encoded_key && item.encoded_cert\n ).length > 0))\n ) {\n encryptionAvailable = true;\n }\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"encryption\", field, value);\n },\n [updateAddField]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n // Validation\n useEffect(() => {\n let encryptionValidation: IValidation[] = [];\n\n if (enableEncryption) {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"replicas\",\n required: true,\n value: replicas,\n customValidation: parseInt(replicas) < 1,\n customValidationMessage: \"Replicas needs to be 1 or greater\",\n },\n {\n fieldKey: \"kes_securityContext_runAsUser\",\n required: true,\n value: kesSecurityContext.runAsUser,\n customValidation:\n kesSecurityContext.runAsUser === \"\" ||\n parseInt(kesSecurityContext.runAsUser) < 0,\n customValidationMessage: `runAsUser must be present and be 0 or more`,\n },\n {\n fieldKey: \"kes_securityContext_runAsGroup\",\n required: true,\n value: kesSecurityContext.runAsGroup,\n customValidation:\n kesSecurityContext.runAsGroup === \"\" ||\n parseInt(kesSecurityContext.runAsGroup) < 0,\n customValidationMessage: `runAsGroup must be present and be 0 or more`,\n },\n {\n fieldKey: \"kes_securityContext_fsGroup\",\n required: true,\n value: kesSecurityContext.fsGroup,\n customValidation:\n kesSecurityContext.fsGroup === \"\" ||\n parseInt(kesSecurityContext.fsGroup) < 0,\n customValidationMessage: `fsGroup must be present and be 0 or more`,\n },\n ];\n\n if (enableCustomCerts) {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"serverKey\",\n required: !enableAutoCert,\n value: serverCertificate.encoded_key,\n },\n {\n fieldKey: \"serverCert\",\n required: !enableAutoCert,\n value: serverCertificate.encoded_cert,\n },\n {\n fieldKey: \"clientKey\",\n required: !enableAutoCert,\n value: clientCertificate.encoded_key,\n },\n {\n fieldKey: \"clientCert\",\n required: !enableAutoCert,\n value: clientCertificate.encoded_cert,\n },\n ];\n }\n\n if (encryptionType === \"vault\") {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"vault_endpoint\",\n required: true,\n value: vaultEndpoint,\n },\n {\n fieldKey: \"vault_id\",\n required: true,\n value: vaultId,\n },\n {\n fieldKey: \"vault_secret\",\n required: true,\n value: vaultSecret,\n },\n {\n fieldKey: \"vault_ping\",\n required: false,\n value: vaultPing,\n customValidation: parseInt(vaultPing) < 0,\n customValidationMessage: \"Value needs to be 0 or greater\",\n },\n {\n fieldKey: \"vault_retry\",\n required: false,\n value: vaultRetry,\n customValidation: parseInt(vaultRetry) < 0,\n customValidationMessage: \"Value needs to be 0 or greater\",\n },\n ];\n }\n\n if (encryptionType === \"aws\") {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"aws_endpoint\",\n required: true,\n value: awsEndpoint,\n },\n {\n fieldKey: \"aws_region\",\n required: true,\n value: awsRegion,\n },\n {\n fieldKey: \"aws_accessKey\",\n required: true,\n value: awsAccessKey,\n },\n {\n fieldKey: \"aws_secretKey\",\n required: true,\n value: awsSecretKey,\n },\n ];\n }\n\n if (encryptionType === \"gemalto\") {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"gemalto_endpoint\",\n required: true,\n value: gemaltoEndpoint,\n },\n {\n fieldKey: \"gemalto_token\",\n required: true,\n value: gemaltoToken,\n },\n {\n fieldKey: \"gemalto_domain\",\n required: true,\n value: gemaltoDomain,\n },\n {\n fieldKey: \"gemalto_retry\",\n required: false,\n value: gemaltoRetry,\n customValidation: parseInt(gemaltoRetry) < 0,\n customValidationMessage: \"Value needs to be 0 or greater\",\n },\n ];\n }\n\n if (encryptionType === \"azure\") {\n encryptionValidation = [\n ...encryptionValidation,\n {\n fieldKey: \"azure_endpoint\",\n required: true,\n value: azureEndpoint,\n },\n {\n fieldKey: \"azure_tenant_id\",\n required: true,\n value: azureTenantID,\n },\n {\n fieldKey: \"azure_client_id\",\n required: true,\n value: azureClientID,\n },\n {\n fieldKey: \"azure_client_secret\",\n required: true,\n value: azureClientSecret,\n },\n ];\n }\n }\n\n const commonVal = commonFormValidation(encryptionValidation);\n\n isPageValid(\"encryption\", Object.keys(commonVal).length === 0);\n\n setValidationErrors(commonVal);\n }, [\n enableEncryption,\n encryptionType,\n vaultEndpoint,\n vaultEngine,\n vaultId,\n vaultSecret,\n vaultPing,\n vaultRetry,\n awsEndpoint,\n awsRegion,\n awsSecretKey,\n awsAccessKey,\n gemaltoEndpoint,\n gemaltoToken,\n gemaltoDomain,\n gemaltoRetry,\n gcpProjectID,\n gcpEndpoint,\n gcpClientEmail,\n gcpClientID,\n gcpPrivateKeyID,\n gcpPrivateKey,\n azureEndpoint,\n azureTenantID,\n azureClientID,\n azureClientSecret,\n isPageValid,\n enableAutoCert,\n enableCustomCerts,\n serverCertificate.encoded_key,\n serverCertificate.encoded_cert,\n clientCertificate.encoded_key,\n clientCertificate.encoded_cert,\n kesSecurityContext,\n replicas,\n ]);\n\n return (\n \n
\n

Encryption

\n \n How would you like to encrypt the information at rest.\n \n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"enableEncryption\", checked);\n }}\n label={\"Enable Server Side Encryption\"}\n disabled={!encryptionAvailable}\n />\n \n {enableEncryption && (\n \n \n {\n updateField(\"encryptionType\", e.target.value);\n }}\n selectorOptions={[\n { label: \"Vault\", value: \"vault\" },\n { label: \"AWS\", value: \"aws\" },\n { label: \"Gemalto\", value: \"gemalto\" },\n { label: \"GCP\", value: \"gcp\" },\n { label: \"Azure\", value: \"azure\" },\n ]}\n />\n \n {encryptionType === \"vault\" && (\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"enableCustomCertsForKES\", checked);\n }}\n label={\"Custom Certificates\"}\n disabled={!enableAutoCert}\n />\n \n {(enableCustomCertsForKES || !enableAutoCert) && (\n \n \n \n
\n \n Encryption Service Certificates\n \n {\n addFileServerCert(\"key\", fileName, encodedValue);\n cleanValidation(\"serverKey\");\n }}\n accept=\".key,.pem\"\n id=\"serverKey\"\n name=\"serverKey\"\n label=\"Key\"\n error={validationErrors[\"serverKey\"] || \"\"}\n value={serverCertificate.key}\n required={!enableAutoCert}\n />\n {\n addFileServerCert(\"cert\", fileName, encodedValue);\n cleanValidation(\"serverCert\");\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"serverCert\"\n name=\"serverCert\"\n label=\"Cert\"\n error={validationErrors[\"serverCert\"] || \"\"}\n value={serverCertificate.cert}\n required={!enableAutoCert}\n />\n
\n
\n
\n\n \n \n
\n \n Mutual TLS authentication\n \n {\n addFileClientCert(\"key\", fileName, encodedValue);\n cleanValidation(\"clientKey\");\n }}\n accept=\".key,.pem\"\n id=\"clientKey\"\n name=\"clientKey\"\n label=\"Key\"\n error={validationErrors[\"clientKey\"] || \"\"}\n value={clientCertificate.key}\n required={!enableAutoCert}\n />\n {\n addFileClientCert(\"cert\", fileName, encodedValue);\n cleanValidation(\"clientCert\");\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"clientCert\"\n name=\"clientCert\"\n label=\"Cert\"\n error={validationErrors[\"clientCert\"] || \"\"}\n value={clientCertificate.cert}\n required={!enableAutoCert}\n />\n
\n
\n
\n
\n )}\n \n ) => {\n updateField(\"vaultEndpoint\", e.target.value);\n cleanValidation(\"vault_endpoint\");\n }}\n label=\"Endpoint\"\n value={vaultEndpoint}\n error={validationErrors[\"vault_endpoint\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"vaultEngine\", e.target.value);\n cleanValidation(\"vault_engine\");\n }}\n label=\"Engine\"\n value={vaultEngine}\n />\n \n \n ) => {\n updateField(\"vaultNamespace\", e.target.value);\n }}\n label=\"Namespace\"\n value={vaultNamespace}\n />\n \n \n ) => {\n updateField(\"vaultPrefix\", e.target.value);\n }}\n label=\"Prefix\"\n value={vaultPrefix}\n />\n \n\n \n
\n App Role\n \n ) => {\n updateField(\"vaultAppRoleEngine\", e.target.value);\n }}\n label=\"Engine\"\n value={vaultAppRoleEngine}\n />\n \n \n ) => {\n updateField(\"vaultId\", e.target.value);\n cleanValidation(\"vault_id\");\n }}\n label=\"AppRole ID\"\n value={vaultId}\n error={validationErrors[\"vault_id\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"vaultSecret\", e.target.value);\n cleanValidation(\"vault_secret\");\n }}\n label=\"AppRole Secret\"\n value={vaultSecret}\n error={validationErrors[\"vault_secret\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"vaultRetry\", e.target.value);\n cleanValidation(\"vault_retry\");\n }}\n label=\"Retry (Seconds)\"\n value={vaultRetry}\n error={validationErrors[\"vault_retry\"] || \"\"}\n />\n \n
\n
\n\n \n
\n \n Mutual TLS authentication (optional)\n \n {\n addFileVaultCert(\"key\", fileName, encodedValue);\n cleanValidation(\"vault_key\");\n }}\n accept=\".key,.pem\"\n id=\"vault_key\"\n name=\"vault_key\"\n label=\"Key\"\n value={vaultCertificate.key}\n />\n {\n addFileVaultCert(\"cert\", fileName, encodedValue);\n cleanValidation(\"vault_cert\");\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"vault_cert\"\n name=\"vault_cert\"\n label=\"Cert\"\n value={vaultCertificate.cert}\n />\n {\n addFileVaultCa(fileName, encodedValue);\n cleanValidation(\"vault_ca\");\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"vault_ca\"\n name=\"vault_ca\"\n label=\"CA\"\n value={vaultCA.cert}\n />\n
\n
\n \n
\n Status\n ) => {\n updateField(\"vaultPing\", e.target.value);\n cleanValidation(\"vault_ping\");\n }}\n label=\"Ping (Seconds)\"\n value={vaultPing}\n error={validationErrors[\"vault_ping\"] || \"\"}\n />\n
\n \n
\n )}\n {encryptionType === \"azure\" && (\n \n \n ) => {\n updateField(\"azureEndpoint\", e.target.value);\n cleanValidation(\"azure_endpoint\");\n }}\n label=\"Endpoint\"\n value={azureEndpoint}\n error={validationErrors[\"azure_endpoint\"] || \"\"}\n />\n \n \n
\n \n Credentials\n \n \n ) => {\n updateField(\"azureTenantID\", e.target.value);\n cleanValidation(\"azure_tenant_id\");\n }}\n label=\"Tenant ID\"\n value={azureTenantID}\n error={validationErrors[\"azure_tenant_id\"] || \"\"}\n />\n \n \n ) => {\n updateField(\"azureClientID\", e.target.value);\n cleanValidation(\"azure_client_id\");\n }}\n label=\"Client ID\"\n value={azureClientID}\n error={validationErrors[\"azure_client_id\"] || \"\"}\n />\n \n \n ) => {\n updateField(\"azureClientSecret\", e.target.value);\n cleanValidation(\"azure_client_secret\");\n }}\n label=\"Client Secret\"\n value={azureClientSecret}\n error={validationErrors[\"azure_client_secret\"] || \"\"}\n />\n \n
\n
\n
\n )}\n {encryptionType === \"gcp\" && (\n \n \n ) => {\n updateField(\"gcpProjectID\", e.target.value);\n }}\n label=\"Project ID\"\n value={gcpProjectID}\n />\n \n \n ) => {\n updateField(\"gcpEndpoint\", e.target.value);\n }}\n label=\"Endpoint\"\n value={gcpEndpoint}\n />\n \n \n
\n \n Credentials\n \n \n ) => {\n updateField(\"gcpClientEmail\", e.target.value);\n }}\n label=\"Client Email\"\n value={gcpClientEmail}\n />\n \n \n ) => {\n updateField(\"gcpClientID\", e.target.value);\n }}\n label=\"Client ID\"\n value={gcpClientID}\n />\n \n \n ) => {\n updateField(\"gcpPrivateKeyID\", e.target.value);\n }}\n label=\"Private Key ID\"\n value={gcpPrivateKeyID}\n />\n \n \n ) => {\n updateField(\"gcpPrivateKey\", e.target.value);\n }}\n label=\"Private Key\"\n value={gcpPrivateKey}\n />\n \n
\n
\n
\n )}\n {encryptionType === \"aws\" && (\n \n \n ) => {\n updateField(\"awsEndpoint\", e.target.value);\n cleanValidation(\"aws_endpoint\");\n }}\n label=\"Endpoint\"\n value={awsEndpoint}\n error={validationErrors[\"aws_endpoint\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"awsRegion\", e.target.value);\n cleanValidation(\"aws_region\");\n }}\n label=\"Region\"\n value={awsRegion}\n error={validationErrors[\"aws_region\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"awsKMSKey\", e.target.value);\n }}\n label=\"KMS Key\"\n value={awsKMSKey}\n />\n \n \n
\n \n Credentials\n \n \n ) => {\n updateField(\"awsAccessKey\", e.target.value);\n cleanValidation(\"aws_accessKey\");\n }}\n label=\"Access Key\"\n value={awsAccessKey}\n error={validationErrors[\"aws_accessKey\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"awsSecretKey\", e.target.value);\n cleanValidation(\"aws_secretKey\");\n }}\n label=\"Secret Key\"\n value={awsSecretKey}\n error={validationErrors[\"aws_secretKey\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"awsToken\", e.target.value);\n }}\n label=\"Token\"\n value={awsToken}\n />\n \n
\n
\n
\n )}\n {encryptionType === \"gemalto\" && (\n \n \n ) => {\n updateField(\"gemaltoEndpoint\", e.target.value);\n cleanValidation(\"gemalto_endpoint\");\n }}\n label=\"Endpoint\"\n value={gemaltoEndpoint}\n error={validationErrors[\"gemalto_endpoint\"] || \"\"}\n required\n />\n \n \n
\n \n Credentials\n \n \n ) => {\n updateField(\"gemaltoToken\", e.target.value);\n cleanValidation(\"gemalto_token\");\n }}\n label=\"Token\"\n value={gemaltoToken}\n error={validationErrors[\"gemalto_token\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"gemaltoDomain\", e.target.value);\n cleanValidation(\"gemalto_domain\");\n }}\n label=\"Domain\"\n value={gemaltoDomain}\n error={validationErrors[\"gemalto_domain\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"gemaltoRetry\", e.target.value);\n cleanValidation(\"gemalto_retry\");\n }}\n label=\"Retry (seconds)\"\n value={gemaltoRetry}\n error={validationErrors[\"gemalto_retry\"] || \"\"}\n />\n \n
\n \n \n
\n \n Custom CA Root certificate verification\n \n\n {\n addFileGemaltoCa(fileName, encodedValue);\n cleanValidation(\"gemalto_ca\");\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"gemalto_ca\"\n name=\"gemalto_ca\"\n label=\"CA\"\n value={gemaltoCA.cert}\n />\n
\n \n
\n )}\n
\n

Additional Configurations

\n
\n \n \n ) => {\n updateField(\"replicas\", e.target.value);\n cleanValidation(\"replicas\");\n }}\n label=\"Replicas\"\n value={replicas}\n required\n error={validationErrors[\"replicas\"] || \"\"}\n />\n \n\n
\n \n SecurityContext for KES pods\n \n \n \n \n ) => {\n updateField(\"kesSecurityContext\", {\n ...kesSecurityContext,\n runAsUser: e.target.value,\n });\n cleanValidation(\"kes_securityContext_runAsUser\");\n }}\n label=\"Run As User\"\n value={kesSecurityContext.runAsUser}\n required\n error={\n validationErrors[\"kes_securityContext_runAsUser\"] || \"\"\n }\n min=\"0\"\n />\n \n \n ) => {\n updateField(\"kesSecurityContext\", {\n ...kesSecurityContext,\n runAsGroup: e.target.value,\n });\n cleanValidation(\"kes_securityContext_runAsGroup\");\n }}\n label=\"Run As Group\"\n value={kesSecurityContext.runAsGroup}\n required\n error={\n validationErrors[\"kes_securityContext_runAsGroup\"] || \"\"\n }\n min=\"0\"\n />\n \n \n ) => {\n updateField(\"kesSecurityContext\", {\n ...kesSecurityContext,\n fsGroup: e.target.value,\n });\n cleanValidation(\"kes_securityContext_fsGroup\");\n }}\n label=\"FsGroup\"\n value={kesSecurityContext.fsGroup}\n required\n error={\n validationErrors[\"kes_securityContext_fsGroup\"] || \"\"\n }\n min=\"0\"\n />\n \n \n \n
\n \n
\n {\n const targetD = e.target;\n const checked = targetD.checked;\n updateField(\"kesSecurityContext\", {\n ...kesSecurityContext,\n runAsNonRoot: checked,\n });\n }}\n label={\"Do not run as Root\"}\n />\n
\n
\n
\n
\n
\n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n replicas: state.tenants.createTenant.fields.encryption.replicas,\n enableEncryption:\n state.tenants.createTenant.fields.encryption.enableEncryption,\n encryptionType: state.tenants.createTenant.fields.encryption.encryptionType,\n gemaltoEndpoint: state.tenants.createTenant.fields.encryption.gemaltoEndpoint,\n gemaltoToken: state.tenants.createTenant.fields.encryption.gemaltoToken,\n gemaltoDomain: state.tenants.createTenant.fields.encryption.gemaltoDomain,\n gemaltoRetry: state.tenants.createTenant.fields.encryption.gemaltoRetry,\n awsEndpoint: state.tenants.createTenant.fields.encryption.awsEndpoint,\n awsRegion: state.tenants.createTenant.fields.encryption.awsRegion,\n awsKMSKey: state.tenants.createTenant.fields.encryption.awsKMSKey,\n awsAccessKey: state.tenants.createTenant.fields.encryption.awsAccessKey,\n awsSecretKey: state.tenants.createTenant.fields.encryption.awsSecretKey,\n awsToken: state.tenants.createTenant.fields.encryption.awsToken,\n vaultEndpoint: state.tenants.createTenant.fields.encryption.vaultEndpoint,\n vaultEngine: state.tenants.createTenant.fields.encryption.vaultEngine,\n vaultNamespace: state.tenants.createTenant.fields.encryption.vaultNamespace,\n vaultPrefix: state.tenants.createTenant.fields.encryption.vaultPrefix,\n vaultAppRoleEngine:\n state.tenants.createTenant.fields.encryption.vaultAppRoleEngine,\n vaultId: state.tenants.createTenant.fields.encryption.vaultId,\n vaultSecret: state.tenants.createTenant.fields.encryption.vaultSecret,\n vaultRetry: state.tenants.createTenant.fields.encryption.vaultRetry,\n vaultPing: state.tenants.createTenant.fields.encryption.vaultPing,\n azureEndpoint: state.tenants.createTenant.fields.encryption.azureEndpoint,\n azureTenantID: state.tenants.createTenant.fields.encryption.azureTenantID,\n azureClientID: state.tenants.createTenant.fields.encryption.azureClientID,\n azureClientSecret:\n state.tenants.createTenant.fields.encryption.azureClientSecret,\n gcpProjectID: state.tenants.createTenant.fields.encryption.gcpProjectID,\n gcpEndpoint: state.tenants.createTenant.fields.encryption.gcpEndpoint,\n gcpClientEmail: state.tenants.createTenant.fields.encryption.gcpClientEmail,\n gcpClientID: state.tenants.createTenant.fields.encryption.gcpClientID,\n gcpPrivateKeyID: state.tenants.createTenant.fields.encryption.gcpPrivateKeyID,\n gcpPrivateKey: state.tenants.createTenant.fields.encryption.gcpPrivateKey,\n enableCustomCertsForKES:\n state.tenants.createTenant.fields.encryption.enableCustomCertsForKES,\n enableAutoCert: state.tenants.createTenant.fields.security.enableAutoCert,\n enableTLS: state.tenants.createTenant.fields.security.enableTLS,\n minioCertificates: state.tenants.createTenant.certificates.minioCertificates,\n serverCertificate: state.tenants.createTenant.certificates.serverCertificate,\n clientCertificate: state.tenants.createTenant.certificates.clientCertificate,\n vaultCertificate: state.tenants.createTenant.certificates.vaultCertificate,\n vaultCA: state.tenants.createTenant.certificates.vaultCA,\n gemaltoCA: state.tenants.createTenant.certificates.gemaltoCA,\n enableCustomCerts:\n state.tenants.createTenant.fields.security.enableCustomCerts,\n kesSecurityContext:\n state.tenants.createTenant.fields.encryption.kesSecurityContext,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n addFileServerCert,\n addFileClientCert,\n addFileVaultCert,\n addFileVaultCa,\n addFileGemaltoCa,\n});\n\nexport default withStyles(styles)(connector(Encryption));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, IconButton, Paper, SelectChangeEvent } from \"@mui/material\";\nimport { AppState } from \"../../../../../store\";\nimport { isPageValid, setKeyValuePairs, updateAddField } from \"../../actions\";\nimport { setModalErrorSnackMessage } from \"../../../../../actions\";\nimport {\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport { ErrorResponseHandler } from \"../../../../../common/types\";\nimport { LabelKeyPair } from \"../../types\";\nimport RadioGroupSelector from \"../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport api from \"../../../../../common/api\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport AddIcon from \"../../../../../icons/AddIcon\";\nimport RemoveIcon from \"../../../../../icons/RemoveIcon\";\nimport SelectWrapper from \"../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\n\ninterface IAffinityProps {\n classes: any;\n podAffinity: string;\n nodeSelectorLabels: string;\n withPodAntiAffinity: boolean;\n keyValuePairs: LabelKeyPair[];\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n setKeyValuePairs: typeof setKeyValuePairs;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n overlayAction: {\n marginLeft: 10,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"& button\": {\n background: \"#EAEAEA\",\n },\n },\n affinityConfigField: {\n display: \"flex\",\n },\n affinityFieldLabel: {\n display: \"flex\",\n flexFlow: \"column\",\n flex: 1,\n },\n radioField: {\n display: \"flex\",\n alignItems: \"flex-start\",\n marginTop: 10,\n \"& div:first-child\": {\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"baseline\",\n textAlign: \"left !important\",\n },\n },\n affinityLabelKey: {\n \"& div:first-child\": {\n marginBottom: 0,\n },\n },\n affinityLabelValue: {\n marginLeft: 10,\n \"& div:first-child\": {\n marginBottom: 0,\n },\n },\n rowActions: {\n display: \"flex\",\n alignItems: \"center\",\n },\n fieldContainer: {\n marginBottom: 0,\n },\n affinityRow: {\n marginBottom: 10,\n display: \"flex\",\n },\n ...modalBasic,\n ...wizardCommon,\n });\n\ninterface OptionPair {\n label: string;\n value: string;\n}\n\nconst Affinity = ({\n classes,\n podAffinity,\n nodeSelectorLabels,\n withPodAntiAffinity,\n setModalErrorSnackMessage,\n updateAddField,\n keyValuePairs,\n setKeyValuePairs,\n isPageValid,\n}: IAffinityProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n const [loading, setLoading] = useState(true);\n const [keyValueMap, setKeyValueMap] = useState<{ [key: string]: string[] }>(\n {}\n );\n const [keyOptions, setKeyOptions] = useState([]);\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"affinity\", field, value);\n },\n [updateAddField]\n );\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", `/api/v1/nodes/labels`)\n .then((res: { [key: string]: string[] }) => {\n setLoading(false);\n setKeyValueMap(res);\n let keys: OptionPair[] = [];\n for (let k in res) {\n keys.push({\n label: k,\n value: k,\n });\n }\n setKeyOptions(keys);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n setKeyValueMap({});\n });\n }\n }, [setModalErrorSnackMessage, loading]);\n\n useEffect(() => {\n if (keyValuePairs) {\n const vlr = keyValuePairs\n .filter((kvp) => kvp.key !== \"\")\n .map((kvp) => `${kvp.key}=${kvp.value}`)\n .filter((kvs, i, a) => a.indexOf(kvs) === i);\n const vl = vlr.join(\"&\");\n updateField(\"nodeSelectorLabels\", vl);\n }\n }, [keyValuePairs, updateField]);\n\n // Validation\n useEffect(() => {\n let customAccountValidation: IValidation[] = [];\n\n if (podAffinity === \"nodeSelector\") {\n let valid = true;\n\n const splittedLabels = nodeSelectorLabels.split(\"&\");\n\n if (splittedLabels.length === 1 && splittedLabels[0] === \"\") {\n valid = false;\n }\n\n splittedLabels.forEach((item: string, index: number) => {\n const splitItem = item.split(\"=\");\n\n if (splitItem.length !== 2) {\n valid = false;\n }\n\n if (index + 1 !== splittedLabels.length) {\n if (splitItem[0] === \"\" || splitItem[1] === \"\") {\n valid = false;\n }\n }\n });\n\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"labels\",\n required: true,\n value: nodeSelectorLabels,\n customValidation: !valid,\n customValidationMessage:\n \"You need to add at least one label key-pair\",\n },\n ];\n }\n\n const commonVal = commonFormValidation(customAccountValidation);\n\n isPageValid(\"affinity\", Object.keys(commonVal).length === 0);\n\n setValidationErrors(commonVal);\n }, [isPageValid, podAffinity, nodeSelectorLabels]);\n\n return (\n \n
\n

Pod Placement

\n \n Configure how pods will be assigned to nodes\n \n
\n \n \n
Type
\n \n MinIO supports multiple configurations for Pod Affinity\n \n \n {\n updateField(\"podAffinity\", e.target.value);\n }}\n selectorOptions={[\n { label: \"None\", value: \"none\" },\n { label: \"Default (Pod Anti-Affinnity)\", value: \"default\" },\n { label: \"Node Selector\", value: \"nodeSelector\" },\n ]}\n />\n \n
\n
\n {podAffinity === \"nodeSelector\" && (\n \n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"withPodAntiAffinity\", checked);\n }}\n label={\"With Pod Anti-Affinity\"}\n />\n \n \n

Labels

\n {validationErrors[\"labels\"]}\n \n {keyValuePairs &&\n keyValuePairs.map((kvp, i) => {\n return (\n \n \n {keyOptions.length > 0 && (\n ) => {\n const newKey = e.target.value as string;\n const arrCp: LabelKeyPair[] = Object.assign(\n [],\n keyValuePairs\n );\n\n arrCp[i].key = e.target.value as string;\n arrCp[i].value = keyValueMap[newKey][0];\n setKeyValuePairs(arrCp);\n }}\n id=\"select-access-policy\"\n name=\"select-access-policy\"\n label={\"\"}\n value={kvp.key}\n options={keyOptions}\n />\n )}\n {keyOptions.length === 0 && (\n {\n const arrCp: LabelKeyPair[] = Object.assign(\n [],\n keyValuePairs\n );\n arrCp[i].key = e.target.value;\n setKeyValuePairs(arrCp);\n }}\n index={i}\n placeholder={\"Key\"}\n />\n )}\n \n \n {keyOptions.length > 0 && (\n ) => {\n const arrCp: LabelKeyPair[] = Object.assign(\n [],\n keyValuePairs\n );\n arrCp[i].value = e.target.value as string;\n setKeyValuePairs(arrCp);\n }}\n id=\"select-access-policy\"\n name=\"select-access-policy\"\n label={\"\"}\n value={kvp.value}\n options={\n keyValueMap[kvp.key]\n ? keyValueMap[kvp.key].map((v) => {\n return { label: v, value: v };\n })\n : []\n }\n />\n )}\n {keyOptions.length === 0 && (\n {\n const arrCp: LabelKeyPair[] = Object.assign(\n [],\n keyValuePairs\n );\n arrCp[i].value = e.target.value;\n setKeyValuePairs(arrCp);\n }}\n index={i}\n placeholder={\"value\"}\n />\n )}\n \n \n
\n {\n const arrCp = Object.assign([], keyValuePairs);\n if (keyOptions.length > 0) {\n arrCp.push({\n key: keyOptions[0].value,\n value: keyValueMap[keyOptions[0].value][0],\n });\n } else {\n arrCp.push({ key: \"\", value: \"\" });\n }\n\n setKeyValuePairs(arrCp);\n }}\n >\n \n \n
\n {keyValuePairs.length > 1 && (\n
\n {\n const arrCp = keyValuePairs.filter(\n (item, index) => index !== i\n );\n setKeyValuePairs(arrCp);\n }}\n >\n \n \n
\n )}\n
\n
\n );\n })}\n
\n \n
\n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => {\n const createTenant = state.tenants.createTenant;\n\n return {\n podAffinity: createTenant.fields.affinity.podAffinity,\n nodeSelectorLabels: createTenant.fields.affinity.nodeSelectorLabels,\n withPodAntiAffinity: createTenant.fields.affinity.withPodAntiAffinity,\n keyValuePairs: createTenant.nodeSelectorPairs,\n };\n};\n\nconst connector = connect(mapState, {\n setModalErrorSnackMessage,\n updateAddField,\n isPageValid,\n setKeyValuePairs,\n});\n\nexport default withStyles(styles)(connector(Affinity));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, Paper } from \"@mui/material\";\nimport {\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { isPageValid, updateAddField } from \"../../actions\";\nimport { AppState } from \"../../../../../store\";\nimport { clearValidationError } from \"../../utils\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\n\ninterface IImagesProps {\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n storageClasses: any;\n classes: any;\n customImage: boolean;\n imageName: string;\n customDockerhub: boolean;\n imageRegistry: string;\n imageRegistryUsername: string;\n imageRegistryPassword: string;\n exposeMinIO: boolean;\n exposeConsole: boolean;\n prometheusCustom: boolean;\n tenantCustom: boolean;\n logSearchCustom: boolean;\n logSearchVolumeSize: string;\n logSearchSizeFactor: string;\n prometheusVolumeSize: string;\n prometheusSizeFactor: string;\n logSearchSelectedStorageClass: string;\n logSearchImage: string;\n kesImage: string;\n logSearchPostgresImage: string;\n logSearchPostgresInitImage: string;\n prometheusSelectedStorageClass: string;\n prometheusImage: string;\n prometheusSidecarImage: string;\n prometheusInitImage: string;\n selectedStorageClass: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst Images = ({\n classes,\n storageClasses,\n customImage,\n imageName,\n customDockerhub,\n imageRegistry,\n imageRegistryUsername,\n imageRegistryPassword,\n exposeMinIO,\n exposeConsole,\n prometheusCustom,\n tenantCustom,\n logSearchCustom,\n logSearchVolumeSize,\n logSearchSizeFactor,\n logSearchImage,\n kesImage,\n logSearchPostgresImage,\n logSearchPostgresInitImage,\n prometheusVolumeSize,\n prometheusSizeFactor,\n logSearchSelectedStorageClass,\n prometheusSelectedStorageClass,\n prometheusImage,\n prometheusSidecarImage,\n prometheusInitImage,\n updateAddField,\n isPageValid,\n selectedStorageClass,\n}: IImagesProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"configure\", field, value);\n },\n [updateAddField]\n );\n\n // Validation\n useEffect(() => {\n let customAccountValidation: IValidation[] = [];\n\n if (prometheusCustom) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"prometheus_storage_class\",\n required: true,\n value: prometheusSelectedStorageClass,\n customValidation: prometheusSelectedStorageClass === \"\",\n customValidationMessage: \"Field cannot be empty\",\n },\n {\n fieldKey: \"prometheus_volume_size\",\n required: true,\n value: prometheusVolumeSize,\n customValidation:\n prometheusVolumeSize === \"\" || parseInt(prometheusVolumeSize) <= 0,\n customValidationMessage: `Volume size must be present and be greatter than 0`,\n },\n ];\n }\n if (logSearchCustom) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"log_search_storage_class\",\n required: true,\n value: logSearchSelectedStorageClass,\n customValidation: logSearchSelectedStorageClass === \"\",\n customValidationMessage: \"Field cannot be empty\",\n },\n {\n fieldKey: \"log_search_volume_size\",\n required: true,\n value: logSearchVolumeSize,\n customValidation:\n logSearchVolumeSize === \"\" || parseInt(logSearchVolumeSize) <= 0,\n customValidationMessage: `Volume size must be present and be greatter than 0`,\n },\n ];\n }\n\n if (customImage) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"image\",\n required: false,\n value: imageName,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage: \"Format must be of form: 'minio/minio:VERSION'\",\n },\n {\n fieldKey: \"logSearchImage\",\n required: false,\n value: logSearchImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'minio/logsearchapi:VERSION'\",\n },\n {\n fieldKey: \"kesImage\",\n required: false,\n value: kesImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage: \"Format must be of form: 'minio/kes:VERSION'\",\n },\n {\n fieldKey: \"logSearchPostgresImage\",\n required: false,\n value: logSearchPostgresImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'library/postgres:VERSION'\",\n },\n {\n fieldKey: \"logSearchPostgresInitImage\",\n required: false,\n value: logSearchPostgresInitImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'library/busybox:VERSION'\",\n },\n {\n fieldKey: \"prometheusImage\",\n required: false,\n value: prometheusImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'minio/prometheus:VERSION'\",\n },\n {\n fieldKey: \"prometheusSidecarImage\",\n required: false,\n value: prometheusSidecarImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'project/container:VERSION'\",\n },\n {\n fieldKey: \"prometheusInitImage\",\n required: false,\n value: prometheusInitImage,\n pattern: /^((.*?)\\/(.*?):(.+))$/,\n customPatternMessage:\n \"Format must be of form: 'library/busybox:VERSION'\",\n },\n ];\n if (customDockerhub) {\n customAccountValidation = [\n ...customAccountValidation,\n {\n fieldKey: \"registry\",\n required: true,\n value: imageRegistry,\n },\n {\n fieldKey: \"registryUsername\",\n required: true,\n value: imageRegistryUsername,\n },\n {\n fieldKey: \"registryPassword\",\n required: true,\n value: imageRegistryPassword,\n },\n ];\n }\n }\n\n const commonVal = commonFormValidation(customAccountValidation);\n\n isPageValid(\"configure\", Object.keys(commonVal).length === 0);\n\n setValidationErrors(commonVal);\n }, [\n customImage,\n imageName,\n logSearchImage,\n kesImage,\n logSearchPostgresImage,\n logSearchPostgresInitImage,\n prometheusImage,\n prometheusSidecarImage,\n prometheusInitImage,\n customDockerhub,\n imageRegistry,\n imageRegistryUsername,\n imageRegistryPassword,\n isPageValid,\n prometheusCustom,\n tenantCustom,\n logSearchCustom,\n prometheusSelectedStorageClass,\n prometheusVolumeSize,\n logSearchSelectedStorageClass,\n logSearchVolumeSize,\n ]);\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n return (\n \n
\n

Container Images

\n \n Images used by the Tenant Deployment\n \n
\n\n \n \n ) => {\n updateField(\"imageName\", e.target.value);\n cleanValidation(\"image\");\n }}\n label=\"MinIO's Image\"\n value={imageName}\n error={validationErrors[\"image\"] || \"\"}\n placeholder=\"E.g. minio/minio:RELEASE.2022-01-08T03-11-54Z\"\n />\n \n \n ) => {\n updateField(\"logSearchImage\", e.target.value);\n cleanValidation(\"logSearchImage\");\n }}\n label=\"Log Search API's Image\"\n value={logSearchImage}\n error={validationErrors[\"logSearchImage\"] || \"\"}\n placeholder=\"E.g. minio/logsearchapi:v4.1.1\"\n />\n \n \n ) => {\n updateField(\"kesImage\", e.target.value);\n cleanValidation(\"kesImage\");\n }}\n label=\"KES Image\"\n value={kesImage}\n error={validationErrors[\"kesImage\"] || \"\"}\n placeholder=\"E.g. minio/kes:v0.14.0\"\n />\n \n \n ) => {\n updateField(\"logSearchPostgresImage\", e.target.value);\n cleanValidation(\"logSearchPostgresImage\");\n }}\n label=\"Log Search Postgres's Image\"\n value={logSearchPostgresImage}\n error={validationErrors[\"logSearchPostgresImage\"] || \"\"}\n placeholder=\"E.g. library/postgres:13\"\n />\n \n \n ) => {\n updateField(\"logSearchPostgresInitImage\", e.target.value);\n cleanValidation(\"logSearchPostgresInitImage\");\n }}\n label=\"Log Search Postgres's Init Image\"\n value={logSearchPostgresInitImage}\n error={validationErrors[\"logSearchPostgresInitImage\"] || \"\"}\n placeholder=\"E.g. library/busybox:1.33.1\"\n />\n \n \n ) => {\n updateField(\"prometheusImage\", e.target.value);\n cleanValidation(\"prometheusImage\");\n }}\n label=\"Prometheus Image\"\n value={prometheusImage}\n error={validationErrors[\"prometheusImage\"] || \"\"}\n placeholder=\"E.g. quay.io/prometheus/prometheus:latest\"\n />\n \n \n ) => {\n updateField(\"prometheusSidecarImage\", e.target.value);\n cleanValidation(\"prometheusSidecarImage\");\n }}\n label=\"Prometheus Sidecar Image\"\n value={prometheusSidecarImage}\n error={validationErrors[\"prometheusSidecarImage\"] || \"\"}\n placeholder=\"E.g. quay.io/prometheus/prometheus:latest\"\n />\n \n \n ) => {\n updateField(\"prometheusInitImage\", e.target.value);\n cleanValidation(\"prometheusInitImage\");\n }}\n label=\"Prometheus Init Image\"\n value={prometheusInitImage}\n error={validationErrors[\"prometheusInitImage\"] || \"\"}\n placeholder=\"E.g. quay.io/prometheus/prometheus:latest\"\n />\n \n \n\n {customImage && (\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"customDockerhub\", checked);\n }}\n label={\"Set/Update Image Registry\"}\n />\n \n \n )}\n {customDockerhub && (\n \n \n ) => {\n updateField(\"imageRegistry\", e.target.value);\n }}\n label=\"Endpoint\"\n value={imageRegistry}\n error={validationErrors[\"registry\"] || \"\"}\n placeholder=\"E.g. https://index.docker.io/v1/\"\n required\n />\n \n \n ) => {\n updateField(\"imageRegistryUsername\", e.target.value);\n }}\n label=\"Username\"\n value={imageRegistryUsername}\n error={validationErrors[\"registryUsername\"] || \"\"}\n required\n />\n \n \n ) => {\n updateField(\"imageRegistryPassword\", e.target.value);\n }}\n label=\"Password\"\n value={imageRegistryPassword}\n error={validationErrors[\"registryPassword\"] || \"\"}\n required\n />\n \n \n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n storageClasses: state.tenants.createTenant.storageClasses,\n customImage: state.tenants.createTenant.fields.configure.customImage,\n imageName: state.tenants.createTenant.fields.configure.imageName,\n customDockerhub: state.tenants.createTenant.fields.configure.customDockerhub,\n imageRegistry: state.tenants.createTenant.fields.configure.imageRegistry,\n imageRegistryUsername:\n state.tenants.createTenant.fields.configure.imageRegistryUsername,\n imageRegistryPassword:\n state.tenants.createTenant.fields.configure.imageRegistryPassword,\n exposeMinIO: state.tenants.createTenant.fields.configure.exposeMinIO,\n exposeConsole: state.tenants.createTenant.fields.configure.exposeConsole,\n prometheusCustom:\n state.tenants.createTenant.fields.configure.prometheusCustom,\n tenantCustom: state.tenants.createTenant.fields.configure.tenantCustom,\n logSearchCustom: state.tenants.createTenant.fields.configure.logSearchCustom,\n logSearchVolumeSize:\n state.tenants.createTenant.fields.configure.logSearchVolumeSize,\n logSearchSizeFactor:\n state.tenants.createTenant.fields.configure.logSearchSizeFactor,\n prometheusVolumeSize:\n state.tenants.createTenant.fields.configure.prometheusVolumeSize,\n prometheusSizeFactor:\n state.tenants.createTenant.fields.configure.prometheusSizeFactor,\n logSearchSelectedStorageClass:\n state.tenants.createTenant.fields.configure.logSearchSelectedStorageClass,\n logSearchImage: state.tenants.createTenant.fields.configure.logSearchImage,\n kesImage: state.tenants.createTenant.fields.configure.kesImage,\n logSearchPostgresImage:\n state.tenants.createTenant.fields.configure.logSearchPostgresImage,\n logSearchPostgresInitImage:\n state.tenants.createTenant.fields.configure.logSearchPostgresInitImage,\n prometheusSelectedStorageClass:\n state.tenants.createTenant.fields.configure.prometheusSelectedStorageClass,\n prometheusImage: state.tenants.createTenant.fields.configure.prometheusImage,\n prometheusSidecarImage:\n state.tenants.createTenant.fields.configure.prometheusSidecarImage,\n prometheusInitImage:\n state.tenants.createTenant.fields.configure.prometheusInitImage,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(Images));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { DialogContentText, LinearProgress } 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 modalBasic,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { setErrorSnackMessage } from \"../../../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport api from \"../../../../../../common/api\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmModalIcon } from \"../../../../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wrapText: {\n maxWidth: \"200px\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n },\n ...modalBasic,\n ...deleteDialogStyles,\n });\n\ninterface IAddNamespace {\n classes: any;\n namespace: string;\n addNamespaceOpen: boolean;\n closeAddNamespaceModalAndRefresh: (reloadNamespaceData: boolean) => void;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst AddNamespaceModal = ({\n classes,\n namespace,\n addNamespaceOpen,\n closeAddNamespaceModalAndRefresh,\n setErrorSnackMessage,\n}: IAddNamespace) => {\n const [addNamespaceLoading, setAddNamespaceLoading] =\n useState(false);\n\n useEffect(() => {\n if (addNamespaceLoading) {\n api\n .invoke(\"POST\", \"/api/v1/namespace\", {\n name: namespace,\n })\n .then((res) => {\n setAddNamespaceLoading(false);\n closeAddNamespaceModalAndRefresh(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddNamespaceLoading(false);\n setErrorSnackMessage(err);\n });\n }\n }, [\n addNamespaceLoading,\n closeAddNamespaceModalAndRefresh,\n namespace,\n setErrorSnackMessage,\n ]);\n\n const addNamespace = () => {\n setAddNamespaceLoading(true);\n };\n\n return (\n }\n isLoading={addNamespaceLoading}\n onConfirm={addNamespace}\n onClose={() => {\n closeAddNamespaceModalAndRefresh(false);\n }}\n confirmationContent={\n \n {addNamespaceLoading && }\n \n Are you sure you want to add a namespace called\n
\n {namespace}?\n
\n
\n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddNamespaceModal));\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 { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport { isPageValid, updateAddField } from \"../../actions\";\nimport {\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport Table from \"@mui/material/Table\";\nimport TableBody from \"@mui/material/TableBody\";\nimport TableCell from \"@mui/material/TableCell\";\nimport TableRow from \"@mui/material/TableRow\";\nimport { niceBytes } from \"../../../../../common/utils\";\nimport { Opts } from \"../../ListTenants/utils\";\nimport { IResourcesSize } from \"../../ListTenants/types\";\nimport { IErasureCodeCalc } from \"../../../../../common/types\";\n\nimport { Divider } from \"@mui/material\";\nimport { IntegrationConfiguration } from \"./TenantResources/utils\";\n\ninterface ISizePreviewProps {\n classes: any;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n volumeSize: string;\n sizeFactor: string;\n drivesPerServer: string;\n nodes: string;\n memoryNode: string;\n ecParity: string;\n ecParityChoices: Opts[];\n cleanECChoices: string[];\n resourcesSize: IResourcesSize;\n distribution: any;\n ecParityCalc: IErasureCodeCalc;\n limitSize: any;\n selectedStorageClass: string;\n cpuToUse: string;\n integrationSelection: IntegrationConfiguration;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n margin: 4,\n },\n table: {\n \"& .MuiTableCell-root\": {\n fontSize: 13,\n },\n },\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst SizePreview = ({\n classes,\n updateAddField,\n isPageValid,\n volumeSize,\n sizeFactor,\n drivesPerServer,\n nodes,\n memoryNode,\n ecParity,\n ecParityChoices,\n cleanECChoices,\n resourcesSize,\n distribution,\n ecParityCalc,\n limitSize,\n selectedStorageClass,\n cpuToUse,\n integrationSelection,\n}: ISizePreviewProps) => {\n const usableInformation = ecParityCalc.storageFactors.find(\n (element) => element.erasureCode === ecParity\n );\n\n return (\n
\n

Resource Allocation

\n \n \n \n \n Number of Servers\n \n {parseInt(nodes) > 0 ? nodes : \"-\"}\n \n \n {integrationSelection.typeSelection === \"\" &&\n integrationSelection.storageClass === \"\" && (\n \n \n Drives per Server\n \n {distribution ? distribution.disks : \"-\"}\n \n \n \n Drive Capacity\n \n {distribution ? niceBytes(distribution.pvSize) : \"-\"}\n \n \n \n )}\n\n \n Total Volumes\n \n {distribution ? distribution.persistentVolumes : \"-\"}\n \n \n {integrationSelection.typeSelection === \"\" &&\n integrationSelection.storageClass === \"\" && (\n \n \n Memory per Node\n {memoryNode} Gi\n \n \n \n CPU Selection\n \n \n {cpuToUse}\n \n \n \n )}\n \n
\n {ecParityCalc.error === 0 && usableInformation && (\n \n

Erasure Code Configuration

\n \n \n \n \n EC Parity\n \n {ecParity !== \"\" ? ecParity : \"-\"}\n \n \n \n Raw Capacity\n \n {niceBytes(ecParityCalc.rawCapacity)}\n \n \n \n Usable Capacity\n \n {niceBytes(usableInformation.maxCapacity)}\n \n \n \n \n Server Failures Tolerated\n \n \n {distribution\n ? Math.floor(\n usableInformation.maxFailureTolerations /\n distribution.disks\n )\n : \"-\"}\n \n \n \n \n
\n )}\n {integrationSelection.typeSelection !== \"\" &&\n integrationSelection.storageClass !== \"\" && (\n \n

Single Instance Configuration

\n \n \n \n \n CPU\n \n {integrationSelection.CPU !== 0\n ? integrationSelection.CPU\n : \"-\"}\n \n \n \n Memory\n \n {integrationSelection.memory !== 0\n ? `${integrationSelection.memory} Gi`\n : \"-\"}\n \n \n \n Drives per Server\n \n {integrationSelection.drivesPerServer !== 0\n ? `${integrationSelection.drivesPerServer}`\n : \"-\"}\n \n \n \n \n Drive Size\n \n \n {integrationSelection.driveSize.driveSize}\n {integrationSelection.driveSize.sizeUnit}\n \n \n \n \n
\n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n volumeSize: state.tenants.createTenant.fields.tenantSize.volumeSize,\n sizeFactor: state.tenants.createTenant.fields.tenantSize.sizeFactor,\n drivesPerServer: state.tenants.createTenant.fields.tenantSize.drivesPerServer,\n nodes: state.tenants.createTenant.fields.tenantSize.nodes,\n memoryNode: state.tenants.createTenant.fields.tenantSize.memoryNode,\n ecParity: state.tenants.createTenant.fields.tenantSize.ecParity,\n ecParityChoices: state.tenants.createTenant.fields.tenantSize.ecParityChoices,\n cleanECChoices: state.tenants.createTenant.fields.tenantSize.cleanECChoices,\n resourcesSize: state.tenants.createTenant.fields.tenantSize.resourcesSize,\n distribution: state.tenants.createTenant.fields.tenantSize.distribution,\n ecParityCalc: state.tenants.createTenant.fields.tenantSize.ecParityCalc,\n limitSize: state.tenants.createTenant.fields.tenantSize.limitSize,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n cpuToUse: state.tenants.createTenant.fields.tenantSize.cpuToUse,\n integrationSelection:\n state.tenants.createTenant.fields.tenantSize.integrationSelection,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(SizePreview));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect } 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 { AppState } from \"../../../../../../store\";\nimport { isPageValid, updateAddField } from \"../../../actions\";\nimport {\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport Grid from \"@mui/material/Grid\";\nimport { IResourcesSize } from \"../../../ListTenants/types\";\nimport { AllocableResourcesResponse } from \"../../../types\";\nimport api from \"../../../../../../common/api\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport { floor } from \"lodash\";\n\ninterface ITenantSizeResourcesProps {\n classes: any;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n nodes: string;\n resourcesSize: IResourcesSize;\n selectedStorageClass: string;\n maxAllocatableResources: AllocableResourcesResponse;\n maxCPUsUse: string;\n maxMemorySize: string;\n\n resourcesSpecifyLimit: boolean;\n resourcesCPURequestError: string;\n resourcesCPURequest: string;\n resourcesCPULimitError: string;\n resourcesCPULimit: string;\n resourcesMemoryRequestError: string;\n resourcesMemoryRequest: string;\n resourcesMemoryLimitError: string;\n resourcesMemoryLimit: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n compositeFieldContainer: {\n display: \"flex\",\n alignItems: \"center\",\n },\n compositeAddOn: {\n marginLeft: 10,\n \"& div\": {\n marginBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n \"& div\": {\n marginTop: 5,\n },\n },\n },\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst TenantSizeResources = ({\n classes,\n updateAddField,\n isPageValid,\n nodes,\n\n resourcesSize,\n selectedStorageClass,\n maxAllocatableResources,\n maxCPUsUse,\n maxMemorySize,\n resourcesSpecifyLimit,\n resourcesCPURequestError,\n resourcesCPURequest,\n resourcesCPULimitError,\n resourcesCPULimit,\n resourcesMemoryRequestError,\n resourcesMemoryRequest,\n resourcesMemoryLimitError,\n resourcesMemoryLimit,\n}: ITenantSizeResourcesProps) => {\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"tenantSize\", field, value);\n },\n [updateAddField]\n );\n\n /*Debounce functions*/\n\n useEffect(() => {\n isPageValid(\n \"tenantSize\",\n resourcesMemoryRequestError === \"\" &&\n resourcesMemoryLimitError === \"\" &&\n resourcesCPURequestError === \"\" &&\n resourcesCPULimitError === \"\"\n );\n }, [\n isPageValid,\n resourcesMemoryRequestError,\n resourcesMemoryLimitError,\n resourcesCPURequestError,\n resourcesCPULimitError,\n ]);\n\n /*End debounce functions*/\n\n /*Calculate Allocation*/\n useEffect(() => {\n // Get allocatable Resources\n api\n .invoke(\"GET\", `api/v1/cluster/allocatable-resources?num_nodes=${nodes}`)\n .then((res: AllocableResourcesResponse) => {\n updateField(\"maxAllocatableResources\", res);\n\n const maxAllocatableResources = res;\n\n const memoryExists = get(\n maxAllocatableResources,\n \"min_allocatable_mem\",\n false\n );\n\n const cpuExists = get(\n maxAllocatableResources,\n \"min_allocatable_cpu\",\n false\n );\n\n if (memoryExists === false || cpuExists === false) {\n updateField(\"cpuToUse\", 0);\n\n updateField(\"maxMemorySize\", \"\");\n updateField(\"maxCPUsUse\", \"\");\n\n return;\n }\n\n const maxMemory = floor(\n res.mem_priority.max_allocatable_mem / 1024 / 1024 / 1024\n );\n // We default to Best CPU Configuration\n updateField(\"maxMemorySize\", maxMemory.toString());\n updateField(\n \"maxCPUsUse\",\n res.cpu_priority.max_allocatable_cpu.toString()\n );\n\n const maxAllocatableCPU = get(\n maxAllocatableResources,\n \"cpu_priority.max_allocatable_cpu\",\n 0\n );\n\n const baseCpuUse = Math.max(1, floor(maxAllocatableCPU / 2));\n updateField(\"resourcesCPURequest\", baseCpuUse);\n\n const baseMemoryUse = Math.max(2, floor(maxMemory / 2));\n updateField(\"resourcesMemoryRequest\", baseMemoryUse);\n })\n .catch((err: any) => {\n updateField(\"maxMemorySize\", 0);\n updateField(\"resourcesCPURequest\", \"\");\n\n console.error(err);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [nodes, updateField]);\n\n /*Calculate Allocation End*/\n\n return (\n \n \n
\n

Resources

\n \n You may specify the amount of CPU and Memory that MinIO servers\n should reserve on each node.\n \n
\n
\n {resourcesSize.error !== \"\" && (\n \n
{resourcesSize.error}
\n
\n )}\n\n \n {\n let value = parseInt(e.target.value);\n if (e.target.value === \"\") {\n updateField(\"resourcesCPURequestError\", \"\");\n } else if (isNaN(value)) {\n updateField(\"resourcesCPURequestError\", \"Invalid number\");\n } else if (value > parseInt(maxCPUsUse)) {\n updateField(\n \"resourcesCPURequestError\",\n `Request exceeds available cores (${maxCPUsUse})`\n );\n } else if (e.target.validity.valid) {\n updateField(\"resourcesCPURequestError\", \"\");\n } else {\n updateField(\"resourcesCPURequestError\", \"Invalid configuration\");\n }\n updateField(\"resourcesCPURequest\", e.target.value);\n }}\n value={resourcesCPURequest}\n disabled={selectedStorageClass === \"\"}\n max={maxCPUsUse}\n error={resourcesCPURequestError}\n pattern={\"[0-9]*\"}\n />\n \n\n \n ) => {\n let value = parseInt(e.target.value);\n if (e.target.value === \"\") {\n updateField(\"resourcesMemoryRequestError\", \"\");\n } else if (isNaN(value)) {\n updateField(\"resourcesMemoryRequestError\", \"Invalid number\");\n } else if (value > parseInt(maxMemorySize)) {\n updateField(\n \"resourcesMemoryRequestError\",\n `Request exceeds available memory across ${nodes} nodes (${maxMemorySize}Gi)`\n );\n } else if (value < 2) {\n updateField(\n \"resourcesMemoryRequestError\",\n \"At least 2Gi must be requested\"\n );\n } else if (e.target.validity.valid) {\n updateField(\"resourcesMemoryRequestError\", \"\");\n } else {\n updateField(\n \"resourcesMemoryRequestError\",\n \"Invalid configuration\"\n );\n }\n updateField(\"resourcesMemoryRequest\", e.target.value);\n }}\n label=\"Memory Request [Gi]\"\n value={resourcesMemoryRequest}\n disabled={selectedStorageClass === \"\"}\n error={resourcesMemoryRequestError}\n pattern={\"[0-9]*\"}\n />\n \n\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"resourcesSpecifyLimit\", checked);\n }}\n label={\"Specify Limit\"}\n />\n \n\n {resourcesSpecifyLimit && (\n \n \n {\n let value = parseInt(e.target.value);\n if (e.target.value === \"\") {\n updateField(\"resourcesCPULimitError\", \"\");\n } else if (isNaN(value)) {\n updateField(\"resourcesCPULimitError\", \"Invalid number\");\n } else if (e.target.validity.valid) {\n updateField(\"resourcesCPULimitError\", \"\");\n } else {\n updateField(\n \"resourcesCPULimitError\",\n \"Invalid configuration\"\n );\n }\n updateField(\"resourcesCPULimit\", e.target.value);\n }}\n value={resourcesCPULimit}\n disabled={selectedStorageClass === \"\"}\n max={maxCPUsUse}\n error={resourcesCPULimitError}\n pattern={\"[0-9]*\"}\n />\n \n\n \n ) => {\n let value = parseInt(e.target.value);\n console.log(\"value\", value);\n if (e.target.value === \"\") {\n updateField(\"resourcesMemoryLimitError\", \"\");\n } else if (isNaN(value)) {\n updateField(\"resourcesMemoryLimitError\", \"Invalid number\");\n } else if (e.target.validity.valid) {\n updateField(\"resourcesMemoryLimitError\", \"\");\n } else {\n updateField(\n \"resourcesMemoryLimitError\",\n \"Invalid configuration\"\n );\n }\n updateField(\"resourcesMemoryLimit\", e.target.value);\n }}\n label=\"Memory Limit [Gi]\"\n value={resourcesMemoryLimit}\n disabled={selectedStorageClass === \"\"}\n error={resourcesMemoryLimitError}\n pattern={\"[0-9]*\"}\n />\n \n \n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n nodes: state.tenants.createTenant.fields.tenantSize.nodes,\n\n resourcesSize: state.tenants.createTenant.fields.tenantSize.resourcesSize,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n maxAllocatableResources:\n state.tenants.createTenant.fields.tenantSize.maxAllocatableResources,\n maxCPUsUse: state.tenants.createTenant.fields.tenantSize.maxCPUsUse,\n maxMemorySize: state.tenants.createTenant.fields.tenantSize.maxMemorySize,\n\n resourcesSpecifyLimit:\n state.tenants.createTenant.fields.tenantSize.resourcesSpecifyLimit,\n\n resourcesCPURequestError:\n state.tenants.createTenant.fields.tenantSize.resourcesCPURequestError,\n resourcesCPURequest:\n state.tenants.createTenant.fields.tenantSize.resourcesCPURequest,\n resourcesCPULimitError:\n state.tenants.createTenant.fields.tenantSize.resourcesCPULimitError,\n resourcesCPULimit:\n state.tenants.createTenant.fields.tenantSize.resourcesCPULimit,\n\n resourcesMemoryRequestError:\n state.tenants.createTenant.fields.tenantSize.resourcesMemoryRequestError,\n resourcesMemoryRequest:\n state.tenants.createTenant.fields.tenantSize.resourcesMemoryRequest,\n resourcesMemoryLimitError:\n state.tenants.createTenant.fields.tenantSize.resourcesMemoryLimitError,\n resourcesMemoryLimit:\n state.tenants.createTenant.fields.tenantSize.resourcesMemoryLimit,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(TenantSizeResources));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport { SelectChangeEvent } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../../store\";\nimport { isPageValid, updateAddField } from \"../../../actions\";\nimport {\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n calculateDistribution,\n erasureCodeCalc,\n getBytes,\n k8sfactorForDropdown,\n niceBytes,\n} from \"../../../../../../common/utils\";\nimport { clearValidationError } from \"../../../utils\";\nimport { ecListTransform, Opts } from \"../../../ListTenants/utils\";\nimport { IResourcesSize } from \"../../../ListTenants/types\";\nimport { ICapacity, IErasureCodeCalc } from \"../../../../../../common/types\";\nimport { commonFormValidation } from \"../../../../../../utils/validationFunctions\";\nimport api from \"../../../../../../common/api\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport TenantSizeResources from \"./TenantSizeResources\";\n\ninterface ITenantSizeProps {\n classes: any;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n volumeSize: string;\n sizeFactor: string;\n drivesPerServer: string;\n nodes: string;\n memoryNode: string;\n ecParity: string;\n ecParityChoices: Opts[];\n cleanECChoices: string[];\n resourcesSize: IResourcesSize;\n distribution: any;\n ecParityCalc: IErasureCodeCalc;\n limitSize: any;\n selectedStorageClass: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n compositeFieldContainer: {\n display: \"flex\",\n alignItems: \"center\",\n },\n compositeAddOn: {\n marginLeft: 10,\n \"& div\": {\n marginBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n \"& div\": {\n marginTop: 5,\n },\n },\n },\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst TenantSize = ({\n classes,\n updateAddField,\n isPageValid,\n volumeSize,\n sizeFactor,\n drivesPerServer,\n nodes,\n memoryNode,\n ecParity,\n ecParityChoices,\n cleanECChoices,\n resourcesSize,\n distribution,\n ecParityCalc,\n limitSize,\n selectedStorageClass,\n}: ITenantSizeProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n const [errorFlag, setErrorFlag] = useState(false);\n const [nodeError, setNodeError] = useState(\"\");\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"tenantSize\", field, value);\n },\n [updateAddField]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n /*Debounce functions*/\n\n // Storage Quotas\n\n useEffect(() => {\n if (ecParityChoices.length > 0 && distribution.error === \"\") {\n const ecCodeValidated = erasureCodeCalc(\n cleanECChoices,\n distribution.persistentVolumes,\n distribution.pvSize,\n distribution.nodes\n );\n\n updateField(\"ecParityCalc\", ecCodeValidated);\n if (!cleanECChoices.includes(ecParity) || ecParity === \"\") {\n updateField(\"ecParity\", ecCodeValidated.defaultEC);\n }\n }\n }, [\n ecParity,\n ecParityChoices.length,\n distribution,\n cleanECChoices,\n updateField,\n ]);\n /*End debounce functions*/\n\n /*Calculate Allocation*/\n useEffect(() => {\n //Validate Cluster Size\n const size = volumeSize;\n const factor = sizeFactor;\n const limitSize = getBytes(\"12\", \"Ti\", true);\n\n const clusterCapacity: ICapacity = {\n unit: factor,\n value: size.toString(),\n };\n\n const distrCalculate = calculateDistribution(\n clusterCapacity,\n parseInt(nodes),\n parseInt(limitSize),\n parseInt(drivesPerServer)\n );\n\n updateField(\"distribution\", distrCalculate);\n setErrorFlag(false);\n setNodeError(\"\");\n }, [nodes, volumeSize, sizeFactor, updateField, drivesPerServer]);\n\n /*Calculate Allocation End*/\n\n /* Validations of pages */\n\n useEffect(() => {\n const parsedSize = getBytes(volumeSize, sizeFactor, true);\n\n const commonValidation = commonFormValidation([\n {\n fieldKey: \"nodes\",\n required: true,\n value: nodes,\n customValidation: errorFlag,\n customValidationMessage: nodeError,\n },\n {\n fieldKey: \"volume_size\",\n required: true,\n value: volumeSize,\n customValidation:\n parseInt(parsedSize) < 1073741824 ||\n parseInt(parsedSize) > limitSize[selectedStorageClass],\n customValidationMessage: `Volume size must be greater than 1Gi and less than ${niceBytes(\n limitSize[selectedStorageClass],\n true\n )}`,\n },\n {\n fieldKey: \"drivesps\",\n required: true,\n value: drivesPerServer,\n customValidation: parseInt(drivesPerServer) < 1,\n customValidationMessage: \"There must be at least one drive\",\n },\n ]);\n\n isPageValid(\n \"tenantSize\",\n !(\"nodes\" in commonValidation) &&\n !(\"volume_size\" in commonValidation) &&\n !(\"drivesps\" in commonValidation) &&\n distribution.error === \"\" &&\n ecParityCalc.error === 0 &&\n ecParity !== \"\"\n );\n\n setValidationErrors(commonValidation);\n }, [\n nodes,\n volumeSize,\n sizeFactor,\n memoryNode,\n distribution,\n ecParityCalc,\n resourcesSize,\n limitSize,\n selectedStorageClass,\n isPageValid,\n errorFlag,\n nodeError,\n drivesPerServer,\n ecParity,\n ]);\n\n useEffect(() => {\n if (distribution.error === \"\") {\n // Get EC Value\n if (nodes.trim() !== \"\" && distribution.disks !== 0) {\n api\n .invoke(\"GET\", `api/v1/get-parity/${nodes}/${distribution.disks}`)\n .then((ecList: string[]) => {\n updateField(\"ecParityChoices\", ecListTransform(ecList));\n updateField(\"cleanECChoices\", ecList);\n })\n .catch((err: any) => {\n updateField(\"ecparityChoices\", []);\n isPageValid(\"tenantSize\", false);\n updateField(\"ecParity\", \"\");\n });\n }\n }\n }, [distribution, isPageValid, updateField, nodes]);\n\n /* End Validation of pages */\n\n return (\n \n \n
\n

Capacity

\n \n Please select the desired capacity\n \n
\n
\n {distribution.error !== \"\" && (\n \n
{distribution.error}
\n
\n )}\n \n ) => {\n if (e.target.validity.valid) {\n updateField(\"nodes\", e.target.value);\n cleanValidation(\"nodes\");\n }\n }}\n label=\"Number of Servers\"\n disabled={selectedStorageClass === \"\"}\n value={nodes}\n min=\"4\"\n required\n error={validationErrors[\"nodes\"] || \"\"}\n pattern={\"[0-9]*\"}\n />\n \n \n ) => {\n if (e.target.validity.valid) {\n updateField(\"drivesPerServer\", e.target.value);\n cleanValidation(\"drivesps\");\n }\n }}\n label=\"Drives per Server\"\n value={drivesPerServer}\n disabled={selectedStorageClass === \"\"}\n min=\"1\"\n required\n error={validationErrors[\"drivesps\"] || \"\"}\n pattern={\"[0-9]*\"}\n />\n \n \n
\n
\n
\n ) => {\n updateField(\"volumeSize\", e.target.value);\n cleanValidation(\"volume_size\");\n }}\n label=\"Total Size\"\n value={volumeSize}\n disabled={selectedStorageClass === \"\"}\n required\n error={validationErrors[\"volume_size\"] || \"\"}\n min=\"0\"\n />\n
\n ) => {\n updateField(\"sizeFactor\", e.target.value as string);\n }}\n options={k8sfactorForDropdown()}\n />\n
\n
\n
\n
\n
\n\n \n ) => {\n updateField(\"ecParity\", e.target.value as string);\n }}\n label=\"Erasure Code Parity\"\n disabled={selectedStorageClass === \"\"}\n value={ecParity}\n options={ecParityChoices}\n />\n \n Please select the desired parity. This setting will change the max\n usable capacity in the cluster\n \n \n\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n volumeSize: state.tenants.createTenant.fields.tenantSize.volumeSize,\n sizeFactor: state.tenants.createTenant.fields.tenantSize.sizeFactor,\n drivesPerServer: state.tenants.createTenant.fields.tenantSize.drivesPerServer,\n nodes: state.tenants.createTenant.fields.tenantSize.nodes,\n memoryNode: state.tenants.createTenant.fields.tenantSize.memoryNode,\n ecParity: state.tenants.createTenant.fields.tenantSize.ecParity,\n ecParityChoices: state.tenants.createTenant.fields.tenantSize.ecParityChoices,\n cleanECChoices: state.tenants.createTenant.fields.tenantSize.cleanECChoices,\n\n resourcesSize: state.tenants.createTenant.fields.tenantSize.resourcesSize,\n distribution: state.tenants.createTenant.fields.tenantSize.distribution,\n ecParityCalc: state.tenants.createTenant.fields.tenantSize.ecParityCalc,\n limitSize: state.tenants.createTenant.limitSize,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(TenantSize));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport { SelectChangeEvent } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../../store\";\nimport { isPageValid, updateAddField } from \"../../../actions\";\nimport {\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport Grid from \"@mui/material/Grid\";\nimport { erasureCodeCalc, getBytes } from \"../../../../../../common/utils\";\nimport { clearValidationError } from \"../../../utils\";\nimport { ecListTransform, Opts } from \"../../../ListTenants/utils\";\nimport { IResourcesSize } from \"../../../ListTenants/types\";\nimport {\n IErasureCodeCalc,\n IStorageDistribution,\n} from \"../../../../../../common/types\";\nimport { commonFormValidation } from \"../../../../../../utils/validationFunctions\";\nimport api from \"../../../../../../common/api\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport {\n IMkEnvs,\n IntegrationConfiguration,\n mkPanelConfigurations,\n} from \"./utils\";\n\ninterface ITenantSizeAWSProps {\n classes: any;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n volumeSize: string;\n sizeFactor: string;\n drivesPerServer: string;\n nodes: string;\n memoryNode: string;\n ecParity: string;\n ecParityChoices: Opts[];\n cleanECChoices: string[];\n resourcesSize: IResourcesSize;\n distribution: any;\n ecParityCalc: IErasureCodeCalc;\n limitSize: any;\n selectedStorageType: string;\n cpuToUse: string;\n maxCPUsUse: string;\n formToRender?: IMkEnvs;\n integrationSelection: IntegrationConfiguration;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n compositeFieldContainer: {\n display: \"flex\",\n alignItems: \"center\",\n },\n compositeAddOn: {\n marginLeft: 10,\n \"& div\": {\n marginBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n \"& div\": {\n marginTop: 5,\n },\n },\n },\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst TenantSizeMK = ({\n classes,\n updateAddField,\n isPageValid,\n volumeSize,\n sizeFactor,\n drivesPerServer,\n nodes,\n memoryNode,\n ecParity,\n ecParityChoices,\n cleanECChoices,\n resourcesSize,\n distribution,\n ecParityCalc,\n limitSize,\n cpuToUse,\n selectedStorageType,\n maxCPUsUse,\n formToRender,\n integrationSelection,\n}: ITenantSizeAWSProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"tenantSize\", field, value);\n },\n [updateAddField]\n );\n\n const updateMainField = useCallback(\n (field: string, value: string) => {\n updateAddField(\"nameTenant\", field, value);\n },\n [updateAddField]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n /*Debounce functions*/\n\n // Storage Quotas\n useEffect(() => {\n if (ecParityChoices.length > 0 && distribution.error === \"\") {\n const ecCodeValidated = erasureCodeCalc(\n cleanECChoices,\n distribution.persistentVolumes,\n distribution.pvSize,\n distribution.nodes\n );\n\n updateField(\"ecParityCalc\", ecCodeValidated);\n\n if (!cleanECChoices.includes(ecParity) || ecParity === \"\") {\n updateField(\"ecParity\", ecCodeValidated.defaultEC);\n }\n }\n }, [ecParity, ecParityChoices, distribution, cleanECChoices, updateField]);\n /*End debounce functions*/\n\n /*Set location Storage Types*/\n useEffect(() => {\n if (formToRender !== undefined && parseInt(nodes) >= 4) {\n const setConfigs = mkPanelConfigurations[formToRender];\n const keyCount = Object.keys(setConfigs).length;\n\n //Configuration is filled\n if (keyCount > 0) {\n const configs: IntegrationConfiguration[] = get(\n setConfigs,\n \"configurations\",\n []\n );\n\n const mainSelection = configs.find(\n (item) => item.typeSelection === selectedStorageType\n );\n\n if (mainSelection) {\n updateField(\"integrationSelection\", mainSelection);\n updateMainField(\"selectedStorageClass\", mainSelection.storageClass);\n\n let pvSize = parseInt(\n getBytes(\n mainSelection.driveSize.driveSize,\n mainSelection.driveSize.sizeUnit,\n true\n ),\n 10\n );\n\n const distrCalculate: IStorageDistribution = {\n pvSize,\n nodes: parseInt(nodes),\n disks: mainSelection.drivesPerServer,\n persistentVolumes: mainSelection.drivesPerServer * parseInt(nodes),\n error: \"\",\n };\n\n updateField(\"distribution\", distrCalculate);\n // apply requests, half of the available resources\n updateField(\n \"resourcesCPURequest\",\n Math.max(1, mainSelection.CPU / 2)\n );\n updateField(\n \"resourcesMemoryRequest\",\n Math.max(2, mainSelection.memory / 2)\n );\n }\n }\n }\n }, [nodes, selectedStorageType, formToRender, updateField, updateMainField]);\n\n /*Calculate Allocation End*/\n\n /* Validations of pages */\n\n useEffect(() => {\n const commonValidation = commonFormValidation([\n {\n fieldKey: \"nodes\",\n required: true,\n value: nodes,\n customValidation: parseInt(nodes) < 4,\n customValidationMessage: \"Al least 4 servers must be selected\",\n },\n ]);\n\n isPageValid(\n \"tenantSize\",\n !(\"nodes\" in commonValidation) &&\n distribution.error === \"\" &&\n ecParityCalc.error === 0 &&\n resourcesSize.error === \"\" &&\n ecParity !== \"\" &&\n parseInt(nodes) >= 4\n );\n\n setValidationErrors(commonValidation);\n }, [\n nodes,\n volumeSize,\n sizeFactor,\n memoryNode,\n distribution,\n ecParityCalc,\n resourcesSize,\n limitSize,\n selectedStorageType,\n cpuToUse,\n maxCPUsUse,\n isPageValid,\n drivesPerServer,\n ecParity,\n ]);\n\n useEffect(() => {\n if (integrationSelection.drivesPerServer !== 0) {\n // Get EC Value\n if (nodes.trim() !== \"\") {\n api\n .invoke(\n \"GET\",\n `api/v1/get-parity/${nodes}/${integrationSelection.drivesPerServer}`\n )\n .then((ecList: string[]) => {\n updateField(\"ecParityChoices\", ecListTransform(ecList));\n updateField(\"cleanECChoices\", ecList);\n })\n .catch((err: any) => {\n updateField(\"ecparityChoices\", []);\n isPageValid(\"tenantSize\", false);\n updateField(\"ecParity\", \"\");\n });\n }\n }\n }, [integrationSelection, nodes, isPageValid, updateField]);\n\n /* End Validation of pages */\n\n return (\n \n \n
\n

Tenant Size

\n \n Please select the desired capacity\n \n
\n
\n {distribution.error !== \"\" && (\n \n
{distribution.error}
\n
\n )}\n {resourcesSize.error !== \"\" && (\n \n
{resourcesSize.error}
\n
\n )}\n \n ) => {\n if (e.target.validity.valid) {\n updateField(\"nodes\", e.target.value);\n cleanValidation(\"nodes\");\n }\n }}\n label=\"Number of Servers\"\n disabled={selectedStorageType === \"\"}\n value={nodes}\n min=\"4\"\n required\n error={validationErrors[\"nodes\"] || \"\"}\n pattern={\"[0-9]*\"}\n />\n \n \n ) => {\n updateField(\"ecParity\", e.target.value as string);\n }}\n label=\"Erasure Code Parity\"\n disabled={selectedStorageType === \"\"}\n value={ecParity}\n options={ecParityChoices}\n />\n \n Please select the desired parity. This setting will change the max\n usable capacity in the cluster\n \n \n
\n );\n};\n\nconst mapState = (state: AppState) => () => {\n const createTenant = state.tenants.createTenant;\n\n const {\n memoryNode,\n ecParityChoices,\n distribution,\n cleanECChoices,\n sizeFactor,\n ecParity,\n cpuToUse,\n integrationSelection,\n resourcesSize,\n drivesPerServer,\n maxCPUsUse,\n ecParityCalc,\n volumeSize,\n nodes,\n } = createTenant.fields.tenantSize;\n\n return {\n volumeSize,\n sizeFactor,\n drivesPerServer,\n nodes,\n memoryNode,\n ecParity,\n ecParityChoices,\n cleanECChoices,\n resourcesSize,\n distribution,\n ecParityCalc,\n cpuToUse,\n maxCPUsUse,\n integrationSelection,\n limitSize: createTenant.limitSize,\n selectedStorageType: createTenant.fields.nameTenant.selectedStorageType,\n };\n};\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(TenantSizeMK));\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 Fragment,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} 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 debounce from \"lodash/debounce\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../../../actions\";\nimport {\n isPageValid,\n setLimitSize,\n setStorageClassesList,\n updateAddField,\n} from \"../../../actions\";\nimport {\n getLimitSizes,\n IQuotaElement,\n IQuotas,\n Opts,\n} from \"../../../ListTenants/utils\";\nimport { AppState } from \"../../../../../../store\";\nimport { commonFormValidation } from \"../../../../../../utils/validationFunctions\";\nimport { clearValidationError } from \"../../../utils\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport api from \"../../../../../../common/api\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport AddIcon from \"../../../../../../icons/AddIcon\";\nimport AddNamespaceModal from \"../helpers/AddNamespaceModal\";\nimport SizePreview from \"../SizePreview\";\nimport TenantSize from \"./TenantSize\";\nimport { Paper, SelectChangeEvent } from \"@mui/material\";\nimport { IMkEnvs, mkPanelConfigurations } from \"./utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n sizePreview: {\n position: \"fixed\",\n marginLeft: 10,\n background: \"#FFFFFF\",\n border: \"1px solid #EAEAEA\",\n padding: 2,\n },\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\ninterface INameTenantMainScreen {\n classes: any;\n storageClasses: Opts[];\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n setStorageClassesList: typeof setStorageClassesList;\n setLimitSize: typeof setLimitSize;\n tenantName: string;\n namespace: string;\n selectedStorageClass: string;\n selectedStorageType: string;\n formToRender?: IMkEnvs;\n}\n\nconst NameTenantMain = ({\n classes,\n storageClasses,\n tenantName,\n namespace,\n selectedStorageClass,\n selectedStorageType,\n formToRender = IMkEnvs.default,\n updateAddField,\n setStorageClassesList,\n setLimitSize,\n isPageValid,\n setModalErrorSnackMessage,\n}: INameTenantMainScreen) => {\n const [validationErrors, setValidationErrors] = useState({});\n const [emptyNamespace, setEmptyNamespace] = useState(true);\n const [loadingNamespaceInfo, setLoadingNamespaceInfo] =\n useState(false);\n const [showCreateButton, setShowCreateButton] = useState(false);\n const [openAddNSConfirm, setOpenAddNSConfirm] = useState(false);\n\n // Common\n const updateField = useCallback(\n (field: string, value: string) => {\n updateAddField(\"nameTenant\", field, value);\n },\n [updateAddField]\n );\n\n // Storage classes retrieval\n const getNamespaceInformation = useCallback(() => {\n setShowCreateButton(false);\n // Empty tenantValidation\n api\n .invoke(\"GET\", `/api/v1/namespaces/${namespace}/tenants`)\n .then((res: any[]) => {\n const tenantsList = get(res, \"tenants\", []);\n\n if (tenantsList && tenantsList.length > 0) {\n setEmptyNamespace(false);\n setLoadingNamespaceInfo(false);\n return;\n }\n setEmptyNamespace(true);\n\n // Storagequotas retrieval\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${namespace}/resourcequotas/${namespace}-storagequota`\n )\n .then((res: IQuotas) => {\n const elements: IQuotaElement[] = get(res, \"elements\", []);\n setLimitSize(getLimitSizes(res));\n\n const newStorage = elements.map((storageClass: any) => {\n const name = get(storageClass, \"name\", \"\").split(\n \".storageclass.storage.k8s.io/requests.storage\"\n )[0];\n\n return { label: name, value: name };\n });\n\n setStorageClassesList(newStorage);\n\n const stExists = newStorage.findIndex(\n (storageClass) => storageClass.value === selectedStorageClass\n );\n\n if (newStorage.length > 0 && stExists === -1) {\n updateField(\"selectedStorageClass\", newStorage[0].value);\n } else if (newStorage.length === 0) {\n updateField(\"selectedStorageClass\", \"\");\n setStorageClassesList([]);\n }\n setLoadingNamespaceInfo(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingNamespaceInfo(false);\n setShowCreateButton(true);\n updateField(\"selectedStorageClass\", \"\");\n setStorageClassesList([]);\n console.error(\"Namespace error: \", err);\n });\n })\n .catch((err: ErrorResponseHandler) => {\n setModalErrorSnackMessage({\n errorMessage: \"Error validating if namespace already has tenants\",\n detailedError: err.detailedError,\n });\n });\n }, [\n namespace,\n setLimitSize,\n setModalErrorSnackMessage,\n setStorageClassesList,\n updateField,\n selectedStorageClass,\n ]);\n\n const debounceNamespace = useMemo(\n () => debounce(getNamespaceInformation, 500),\n [getNamespaceInformation]\n );\n\n useEffect(() => {\n if (namespace !== \"\") {\n debounceNamespace();\n setLoadingNamespaceInfo(true);\n\n // Cancel previous debounce calls during useEffect cleanup.\n return debounceNamespace.cancel;\n }\n }, [debounceNamespace, namespace]);\n\n // Validation\n useEffect(() => {\n let customNamespaceError = false;\n let errorMessage = \"\";\n\n if (!emptyNamespace && !loadingNamespaceInfo) {\n customNamespaceError = true;\n errorMessage = \"You can only create one tenant per namespace\";\n } else if (\n storageClasses.length < 1 &&\n emptyNamespace &&\n !loadingNamespaceInfo\n ) {\n customNamespaceError = true;\n errorMessage = \"Please enter a valid namespace\";\n }\n\n const commonValidation = commonFormValidation([\n {\n fieldKey: \"tenant-name\",\n required: true,\n pattern: /^[a-z0-9-]{3,63}$/,\n customPatternMessage:\n \"Name only can contain lowercase letters, numbers and '-'. Min. Length: 3\",\n value: tenantName,\n },\n {\n fieldKey: \"namespace\",\n required: true,\n value: namespace,\n customValidation: customNamespaceError,\n customValidationMessage: errorMessage,\n },\n ]);\n\n const isValid =\n !(\"tenant-name\" in commonValidation) &&\n !(\"namespace\" in commonValidation) &&\n ((formToRender === IMkEnvs.default && storageClasses.length > 0) ||\n (formToRender !== IMkEnvs.default && selectedStorageType !== \"\"));\n\n isPageValid(\"nameTenant\", isValid);\n\n setValidationErrors(commonValidation);\n }, [\n storageClasses,\n namespace,\n tenantName,\n isPageValid,\n emptyNamespace,\n loadingNamespaceInfo,\n selectedStorageType,\n formToRender,\n ]);\n\n const frmValidationCleanup = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n const addNamespace = () => {\n setOpenAddNSConfirm(true);\n };\n\n const closeAddNamespace = (refresh: boolean) => {\n setOpenAddNSConfirm(false);\n\n if (refresh) {\n debounceNamespace();\n }\n };\n\n return (\n \n {openAddNSConfirm && (\n \n )}\n \n \n \n \n \n
\n

Name

\n \n How would you like to name this new tenant?\n \n
\n
\n ) => {\n updateField(\"tenantName\", e.target.value);\n frmValidationCleanup(\"tenant-name\");\n }}\n label=\"Name\"\n value={tenantName}\n required\n error={validationErrors[\"tenant-name\"] || \"\"}\n />\n
\n
\n \n ) => {\n updateField(\"namespace\", e.target.value);\n frmValidationCleanup(\"namespace\");\n }}\n label=\"Namespace\"\n value={namespace}\n error={validationErrors[\"namespace\"] || \"\"}\n overlayIcon={showCreateButton ? : null}\n overlayAction={addNamespace}\n required\n />\n \n {formToRender === IMkEnvs.default ? (\n \n ) => {\n updateField(\n \"selectedStorageClass\",\n e.target.value as string\n );\n }}\n label=\"Storage Class\"\n value={selectedStorageClass}\n options={storageClasses}\n disabled={storageClasses.length < 1}\n />\n \n ) : (\n \n ) => {\n updateField(\n \"selectedStorageType\",\n e.target.value as string\n );\n }}\n label={get(\n mkPanelConfigurations,\n `${formToRender}.variantSelectorLabel`,\n \"Storage Type\"\n )}\n value={selectedStorageType}\n options={get(\n mkPanelConfigurations,\n `${formToRender}.variantSelectorValues`,\n []\n )}\n />\n \n )}\n {formToRender === IMkEnvs.default ? (\n \n ) : (\n get(\n mkPanelConfigurations,\n `${formToRender}.sizingComponent`,\n null\n )\n )}\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n tenantName: state.tenants.createTenant.fields.nameTenant.tenantName,\n namespace: state.tenants.createTenant.fields.nameTenant.namespace,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n selectedStorageType:\n state.tenants.createTenant.fields.nameTenant.selectedStorageType,\n storageClasses: state.tenants.createTenant.storageClasses,\n});\n\nconst connector = connect(mapState, {\n setModalErrorSnackMessage,\n updateAddField,\n setStorageClassesList,\n setLimitSize,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(NameTenantMain));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport NameTenantMain from \"./NameTenantMain\";\nimport { IMkEnvs, resourcesConfigurations } from \"./utils\";\nimport { AppState } from \"../../../../../../store\";\n\ninterface ITenantResources {\n features?: string[];\n}\n\nconst TenantResources = ({ features }: ITenantResources) => {\n const [formRender, setFormRender] = useState(null);\n\n useEffect(() => {\n let setConfiguration = IMkEnvs.default;\n\n if (features && features.length !== 0) {\n const possibleVariables = Object.keys(resourcesConfigurations);\n\n possibleVariables.forEach((element) => {\n if (features.includes(element)) {\n setConfiguration = get(\n resourcesConfigurations,\n element,\n IMkEnvs.default\n );\n }\n });\n }\n\n setFormRender(setConfiguration);\n }, [features]);\n\n if (formRender === null) {\n return null;\n }\n\n return ;\n};\n\nconst mapState = (state: AppState) => ({\n features: state.console.session.features,\n});\n\nconst connector = connect(mapState, null);\n\nexport default connector(TenantResources);\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 Grid from \"@mui/material/Grid\";\nimport { LinearProgress } from \"@mui/material\";\n\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n modalBasic,\n settingsCommon,\n wizardCommon,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport api from \"../../../../common/api\";\nimport { generatePoolName } from \"../../../../common/utils\";\nimport GenericWizard from \"../../Common/GenericWizard/GenericWizard\";\nimport { IWizardElement } from \"../../Common/GenericWizard/types\";\nimport { NewServiceAccount } from \"../../Common/CredentialsPrompt/types\";\nimport { ErrorResponseHandler, ITenantCreator } from \"../../../../common/types\";\nimport { KeyPair } from \"../ListTenants/utils\";\n\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { getDefaultAffinity, getNodeSelector } from \"../TenantDetails/utils\";\nimport CredentialsPrompt from \"../../Common/CredentialsPrompt/CredentialsPrompt\";\nimport { AppState } from \"../../../../store\";\nimport { ICertificatesItems, IFieldStore } from \"../types\";\nimport { resetAddTenantForm, updateAddField } from \"../actions\";\nimport Configure from \"./Steps/Configure\";\nimport IdentityProvider from \"./Steps/IdentityProvider\";\nimport Security from \"./Steps/Security\";\nimport Encryption from \"./Steps/Encryption\";\nimport Affinity from \"./Steps/Affinity\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport history from \"../../../../history\";\nimport Images from \"./Steps/Images\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport BackLink from \"../../../../common/BackLink\";\nimport TenantResources from \"./Steps/TenantResources/TenantResources\";\n\ninterface IAddTenantProps {\n setErrorSnackMessage: typeof setErrorSnackMessage;\n resetAddTenantForm: typeof resetAddTenantForm;\n updateAddField: typeof updateAddField;\n fields: IFieldStore;\n certificates: ICertificatesItems;\n selectedStorageClass: string;\n namespace: string;\n validPages: string[];\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n pageBox: {\n border: \"1px solid #EAEAEA\",\n },\n ...modalBasic,\n ...wizardCommon,\n ...settingsCommon,\n });\n\nconst AddTenant = ({\n classes,\n fields,\n certificates,\n selectedStorageClass,\n namespace,\n validPages,\n setErrorSnackMessage,\n resetAddTenantForm,\n}: IAddTenantProps) => {\n // Modals\n const [showNewCredentials, setShowNewCredentials] = useState(false);\n const [createdAccount, setCreatedAccount] =\n useState(null);\n\n // Fields\n const [addSending, setAddSending] = useState(false);\n\n /* Send Information to backend */\n useEffect(() => {\n const tenantName = fields.nameTenant.tenantName;\n const selectedStorageClass = fields.nameTenant.selectedStorageClass;\n const imageName = fields.configure.imageName;\n const customDockerhub = fields.configure.customDockerhub;\n const imageRegistry = fields.configure.imageRegistry;\n const imageRegistryUsername = fields.configure.imageRegistryUsername;\n const imageRegistryPassword = fields.configure.imageRegistryPassword;\n const exposeMinIO = fields.configure.exposeMinIO;\n const exposeConsole = fields.configure.exposeConsole;\n const idpSelection = fields.identityProvider.idpSelection;\n const openIDConfigurationURL =\n fields.identityProvider.openIDConfigurationURL;\n const openIDClientID = fields.identityProvider.openIDClientID;\n const openIDClaimName = fields.identityProvider.openIDClaimName;\n const openIDCallbackURL = fields.identityProvider.openIDCallbackURL;\n const openIDScopes = fields.identityProvider.openIDScopes;\n const openIDSecretID = fields.identityProvider.openIDSecretID;\n const ADURL = fields.identityProvider.ADURL;\n const ADSkipTLS = fields.identityProvider.ADSkipTLS;\n const ADServerInsecure = fields.identityProvider.ADServerInsecure;\n const ADUserNameSearchFilter =\n fields.identityProvider.ADUserNameSearchFilter;\n const ADGroupSearchBaseDN = fields.identityProvider.ADGroupSearchBaseDN;\n const ADGroupSearchFilter = fields.identityProvider.ADGroupSearchFilter;\n const ADGroupNameAttribute = fields.identityProvider.ADGroupNameAttribute;\n const ADUserDNs = fields.identityProvider.ADUserDNs;\n const ADUserNameFormat = fields.identityProvider.ADUserNameFormat;\n const ADLookupBindDN = fields.identityProvider.ADLookupBindDN;\n const ADLookupBindPassword = fields.identityProvider.ADLookupBindPassword;\n const ADUserDNSearchBaseDN = fields.identityProvider.ADUserDNSearchBaseDN;\n const ADUserDNSearchFilter = fields.identityProvider.ADUserDNSearchFilter;\n const ADServerStartTLS = fields.identityProvider.ADServerStartTLS;\n const accessKeys = fields.identityProvider.accessKeys;\n const secretKeys = fields.identityProvider.secretKeys;\n const minioCertificates = certificates.minioCertificates;\n const caCertificates = certificates.caCertificates;\n const consoleCaCertificates = certificates.consoleCaCertificates;\n const consoleCertificate = certificates.consoleCertificate;\n const serverCertificate = certificates.serverCertificate;\n const clientCertificate = certificates.clientCertificate;\n const vaultCertificate = certificates.vaultCertificate;\n const vaultCA = certificates.vaultCA;\n const gemaltoCA = certificates.gemaltoCA;\n const enableEncryption = fields.encryption.enableEncryption;\n const encryptionType = fields.encryption.encryptionType;\n const gemaltoEndpoint = fields.encryption.gemaltoEndpoint;\n const gemaltoToken = fields.encryption.gemaltoToken;\n const gemaltoDomain = fields.encryption.gemaltoDomain;\n const gemaltoRetry = fields.encryption.gemaltoRetry;\n const awsEndpoint = fields.encryption.awsEndpoint;\n const awsRegion = fields.encryption.awsRegion;\n const awsKMSKey = fields.encryption.awsKMSKey;\n const awsAccessKey = fields.encryption.awsAccessKey;\n const awsSecretKey = fields.encryption.awsSecretKey;\n const awsToken = fields.encryption.awsToken;\n const vaultEndpoint = fields.encryption.vaultEndpoint;\n const vaultEngine = fields.encryption.vaultEngine;\n const vaultNamespace = fields.encryption.vaultNamespace;\n const vaultPrefix = fields.encryption.vaultPrefix;\n const vaultAppRoleEngine = fields.encryption.vaultAppRoleEngine;\n const vaultId = fields.encryption.vaultId;\n const vaultSecret = fields.encryption.vaultSecret;\n const vaultRetry = fields.encryption.vaultRetry;\n const vaultPing = fields.encryption.vaultPing;\n const azureEndpoint = fields.encryption.azureEndpoint;\n const azureTenantID = fields.encryption.azureTenantID;\n const azureClientID = fields.encryption.azureClientID;\n const azureClientSecret = fields.encryption.azureClientSecret;\n const gcpProjectID = fields.encryption.gcpProjectID;\n const gcpEndpoint = fields.encryption.gcpEndpoint;\n const gcpClientEmail = fields.encryption.gcpClientEmail;\n const gcpClientID = fields.encryption.gcpClientID;\n const gcpPrivateKeyID = fields.encryption.gcpPrivateKeyID;\n const gcpPrivateKey = fields.encryption.gcpPrivateKey;\n const enableAutoCert = fields.security.enableAutoCert;\n const enableTLS = fields.security.enableTLS;\n const ecParity = fields.tenantSize.ecParity;\n const distribution = fields.tenantSize.distribution;\n const tenantCustom = fields.configure.tenantCustom;\n const logSearchCustom = fields.configure.logSearchCustom;\n const prometheusCustom = fields.configure.prometheusCustom;\n const logSearchVolumeSize = fields.configure.logSearchVolumeSize;\n const logSearchSelectedStorageClass =\n fields.configure.logSearchSelectedStorageClass;\n const logSearchImage = fields.configure.logSearchImage;\n const kesImage = fields.configure.kesImage;\n const logSearchPostgresImage = fields.configure.logSearchPostgresImage;\n const logSearchPostgresInitImage =\n fields.configure.logSearchPostgresInitImage;\n const prometheusImage = fields.configure.prometheusImage;\n const prometheusSidecarImage = fields.configure.prometheusSidecarImage;\n const prometheusInitImage = fields.configure.prometheusInitImage;\n const prometheusSelectedStorageClass =\n fields.configure.prometheusSelectedStorageClass;\n const prometheusVolumeSize = fields.configure.prometheusVolumeSize;\n const affinityType = fields.affinity.podAffinity;\n const nodeSelectorLabels = fields.affinity.nodeSelectorLabels;\n const withPodAntiAffinity = fields.affinity.withPodAntiAffinity;\n\n const tenantSecurityContext = fields.configure.tenantSecurityContext;\n const logSearchSecurityContext = fields.configure.logSearchSecurityContext;\n const logSearchPostgresSecurityContext =\n fields.configure.logSearchPostgresSecurityContext;\n const prometheusSecurityContext =\n fields.configure.prometheusSecurityContext;\n const kesSecurityContext = fields.encryption.kesSecurityContext;\n const kesReplicas = fields.encryption.replicas;\n\n if (addSending) {\n const poolName = generatePoolName([]);\n\n let affinityObject = {};\n\n switch (affinityType) {\n case \"default\":\n affinityObject = {\n affinity: getDefaultAffinity(tenantName, poolName),\n };\n break;\n case \"nodeSelector\":\n affinityObject = {\n affinity: getNodeSelector(\n nodeSelectorLabels,\n withPodAntiAffinity,\n tenantName,\n poolName\n ),\n };\n break;\n }\n\n const erasureCode = ecParity.split(\":\")[1];\n\n let dataSend: ITenantCreator = {\n name: tenantName,\n namespace: namespace,\n access_key: \"\",\n secret_key: \"\",\n access_keys: [],\n secret_keys: [],\n enable_tls: enableTLS && enableAutoCert,\n enable_console: true,\n enable_prometheus: true,\n service_name: \"\",\n image: imageName,\n expose_minio: exposeMinIO,\n expose_console: exposeConsole,\n pools: [\n {\n name: poolName,\n servers: distribution.nodes,\n volumes_per_server: distribution.disks,\n volume_configuration: {\n size: distribution.pvSize,\n storage_class_name: selectedStorageClass,\n },\n securityContext: tenantCustom ? tenantSecurityContext : null,\n ...affinityObject,\n },\n ],\n erasureCodingParity: parseInt(erasureCode, 10),\n };\n\n // Set Resources\n if (\n fields.tenantSize.resourcesCPURequest !== \"\" ||\n fields.tenantSize.resourcesCPULimit !== \"\" ||\n fields.tenantSize.resourcesMemoryRequest !== \"\" ||\n fields.tenantSize.resourcesMemoryLimit !== \"\"\n ) {\n dataSend.pools[0].resources = {};\n // requests\n if (\n fields.tenantSize.resourcesCPURequest !== \"\" ||\n fields.tenantSize.resourcesMemoryRequest !== \"\"\n ) {\n dataSend.pools[0].resources.requests = {};\n if (fields.tenantSize.resourcesCPURequest !== \"\") {\n dataSend.pools[0].resources.requests.cpu = parseInt(\n fields.tenantSize.resourcesCPURequest\n );\n }\n if (fields.tenantSize.resourcesMemoryRequest !== \"\") {\n dataSend.pools[0].resources.requests.memory = parseInt(\n fields.tenantSize.resourcesMemoryRequest\n );\n }\n }\n // limits\n if (\n fields.tenantSize.resourcesCPULimit !== \"\" ||\n fields.tenantSize.resourcesMemoryLimit !== \"\"\n ) {\n dataSend.pools[0].resources.limits = {};\n if (fields.tenantSize.resourcesCPULimit !== \"\") {\n dataSend.pools[0].resources.limits.cpu = parseInt(\n fields.tenantSize.resourcesCPULimit\n );\n }\n if (fields.tenantSize.resourcesMemoryLimit !== \"\") {\n dataSend.pools[0].resources.limits.memory = parseInt(\n fields.tenantSize.resourcesMemoryLimit\n );\n }\n }\n }\n if (customDockerhub) {\n dataSend = {\n ...dataSend,\n image_registry: {\n registry: imageRegistry,\n username: imageRegistryUsername,\n password: imageRegistryPassword,\n },\n };\n }\n\n if (logSearchCustom) {\n dataSend = {\n ...dataSend,\n logSearchConfiguration: {\n storageClass:\n logSearchSelectedStorageClass === \"default\"\n ? \"\"\n : logSearchSelectedStorageClass,\n storageSize: parseInt(logSearchVolumeSize),\n image: logSearchImage,\n postgres_image: logSearchPostgresImage,\n postgres_init_image: logSearchPostgresInitImage,\n securityContext: logSearchSecurityContext,\n postgres_securityContext: logSearchPostgresSecurityContext,\n },\n };\n } else {\n dataSend = {\n ...dataSend,\n logSearchConfiguration: {\n image: logSearchImage,\n postgres_image: logSearchPostgresImage,\n postgres_init_image: logSearchPostgresInitImage,\n },\n };\n }\n\n if (prometheusCustom) {\n dataSend = {\n ...dataSend,\n prometheusConfiguration: {\n storageClass:\n prometheusSelectedStorageClass === \"default\"\n ? \"\"\n : prometheusSelectedStorageClass,\n storageSize: parseInt(prometheusVolumeSize),\n image: prometheusImage,\n sidecar_image: prometheusSidecarImage,\n init_image: prometheusInitImage,\n securityContext: prometheusSecurityContext,\n },\n };\n } else {\n dataSend = {\n ...dataSend,\n prometheusConfiguration: {\n image: prometheusImage,\n sidecar_image: prometheusSidecarImage,\n init_image: prometheusInitImage,\n },\n };\n }\n\n let tenantCerts: any = null;\n let consoleCerts: any = null;\n let caCerts: any = null;\n let consoleCaCerts: any = null;\n\n if (caCertificates.length > 0) {\n caCerts = {\n ca_certificates: caCertificates\n .map((keyPair: KeyPair) => keyPair.encoded_cert)\n .filter((keyPair) => keyPair),\n };\n }\n\n if (consoleCaCertificates.length > 0) {\n consoleCaCerts = {\n console_ca_certificates: consoleCaCertificates\n .map((keyPair: KeyPair) => keyPair.encoded_cert)\n .filter((keyPair) => keyPair),\n };\n }\n\n if (enableTLS && minioCertificates.length > 0) {\n tenantCerts = {\n minio: minioCertificates\n .map((keyPair: KeyPair) => ({\n crt: keyPair.encoded_cert,\n key: keyPair.encoded_key,\n }))\n .filter((keyPair) => keyPair.crt && keyPair.key),\n };\n }\n\n if (\n enableTLS &&\n consoleCertificate.encoded_cert !== \"\" &&\n consoleCertificate.encoded_key !== \"\"\n ) {\n consoleCerts = {\n console: {\n crt: consoleCertificate.encoded_cert,\n key: consoleCertificate.encoded_key,\n },\n };\n }\n\n if (tenantCerts || consoleCerts || caCerts || consoleCaCerts) {\n dataSend = {\n ...dataSend,\n tls: {\n ...tenantCerts,\n ...consoleCerts,\n ...caCerts,\n ...consoleCaCerts,\n },\n };\n }\n\n if (enableEncryption) {\n let insertEncrypt = {};\n\n switch (encryptionType) {\n case \"gemalto\":\n let gemaltoCAIntroduce = {};\n\n if (gemaltoCA.encoded_cert !== \"\") {\n gemaltoCAIntroduce = {\n ca: gemaltoCA.encoded_cert,\n };\n }\n insertEncrypt = {\n gemalto: {\n keysecure: {\n endpoint: gemaltoEndpoint,\n credentials: {\n token: gemaltoToken,\n domain: gemaltoDomain,\n retry: parseInt(gemaltoRetry),\n },\n tls: {\n ...gemaltoCAIntroduce,\n },\n },\n },\n };\n break;\n case \"aws\":\n insertEncrypt = {\n aws: {\n secretsmanager: {\n endpoint: awsEndpoint,\n region: awsRegion,\n kmskey: awsKMSKey,\n credentials: {\n accesskey: awsAccessKey,\n secretkey: awsSecretKey,\n token: awsToken,\n },\n },\n },\n };\n break;\n case \"azure\":\n insertEncrypt = {\n azure: {\n keyvault: {\n endpoint: azureEndpoint,\n credentials: {\n tenant_id: azureTenantID,\n client_id: azureClientID,\n client_secret: azureClientSecret,\n },\n },\n },\n };\n break;\n case \"gcp\":\n insertEncrypt = {\n gcp: {\n secretmanager: {\n project_id: gcpProjectID,\n endpoint: gcpEndpoint,\n credentials: {\n client_email: gcpClientEmail,\n client_id: gcpClientID,\n private_key_id: gcpPrivateKeyID,\n private_key: gcpPrivateKey,\n },\n },\n },\n };\n break;\n case \"vault\":\n let vaultKeyPair = null;\n let vaultCAInsert = null;\n if (\n vaultCertificate.encoded_key !== \"\" &&\n vaultCertificate.encoded_cert !== \"\"\n ) {\n vaultKeyPair = {\n key: vaultCertificate.encoded_key,\n crt: vaultCertificate.encoded_cert,\n };\n }\n if (vaultCA.encoded_cert !== \"\") {\n vaultCAInsert = {\n ca: vaultCA.encoded_cert,\n };\n }\n let vaultTLS = null;\n if (vaultKeyPair || vaultCA) {\n vaultTLS = {\n tls: {\n ...vaultKeyPair,\n ...vaultCAInsert,\n },\n };\n }\n insertEncrypt = {\n vault: {\n endpoint: vaultEndpoint,\n engine: vaultEngine,\n namespace: vaultNamespace,\n prefix: vaultPrefix,\n approle: {\n engine: vaultAppRoleEngine,\n id: vaultId,\n secret: vaultSecret,\n retry: parseInt(vaultRetry),\n },\n ...vaultTLS,\n status: {\n ping: parseInt(vaultPing),\n },\n },\n };\n break;\n }\n\n let encryptionServerKeyPair: any = {};\n let encryptionClientKeyPair: any = {};\n\n if (\n clientCertificate.encoded_key !== \"\" &&\n clientCertificate.encoded_cert !== \"\"\n ) {\n encryptionClientKeyPair = {\n client: {\n key: clientCertificate.encoded_key,\n crt: clientCertificate.encoded_cert,\n },\n };\n }\n\n if (\n serverCertificate.encoded_key !== \"\" &&\n serverCertificate.encoded_cert !== \"\"\n ) {\n encryptionServerKeyPair = {\n server: {\n key: serverCertificate.encoded_key,\n crt: serverCertificate.encoded_cert,\n },\n };\n }\n\n dataSend = {\n ...dataSend,\n encryption: {\n replicas: kesReplicas,\n securityContext: kesSecurityContext,\n image: kesImage,\n ...encryptionClientKeyPair,\n ...encryptionServerKeyPair,\n ...insertEncrypt,\n },\n };\n }\n\n let dataIDP: any = {};\n switch (idpSelection) {\n case \"Built-in\":\n let keyarray = [];\n for (let i = 0; i < accessKeys.length; i++) {\n keyarray.push({\n access_key: accessKeys[i],\n secret_key: secretKeys[i],\n });\n }\n dataIDP = {\n keys: keyarray,\n };\n break;\n case \"OpenID\":\n dataIDP = {\n oidc: {\n configuration_url: openIDConfigurationURL,\n client_id: openIDClientID,\n secret_id: openIDSecretID,\n claim_name: openIDClaimName,\n callback_url: openIDCallbackURL,\n scopes: openIDScopes,\n },\n };\n break;\n case \"AD\":\n dataIDP = {\n active_directory: {\n url: ADURL,\n skip_tls_verification: ADSkipTLS,\n server_insecure: ADServerInsecure,\n username_format: ADUserNameFormat,\n username_search_filter: ADUserNameSearchFilter,\n group_search_base_dn: ADGroupSearchBaseDN,\n group_search_filter: ADGroupSearchFilter,\n group_name_attribute: ADGroupNameAttribute,\n user_dns: ADUserDNs,\n lookup_bind_dn: ADLookupBindDN,\n lookup_bind_password: ADLookupBindPassword,\n user_dn_search_base_dn: ADUserDNSearchBaseDN,\n user_dn_search_filter: ADUserDNSearchFilter,\n server_start_tls: ADServerStartTLS,\n },\n };\n break;\n }\n\n dataSend = {\n ...dataSend,\n idp: { ...dataIDP },\n };\n api\n .invoke(\"POST\", `/api/v1/tenants`, dataSend)\n .then((res) => {\n const consoleSAList = get(res, \"console\", []);\n\n let newSrvAcc: NewServiceAccount = {\n idp: get(res, \"externalIDP\", false),\n console: [],\n };\n\n if (consoleSAList) {\n if (Array.isArray(consoleSAList)) {\n const consoleItem = consoleSAList.map((consoleKey) => {\n return {\n accessKey: consoleKey.access_key,\n secretKey: consoleKey.secret_key,\n };\n });\n\n newSrvAcc.console = consoleItem;\n } else {\n newSrvAcc = {\n console: {\n accessKey: res.console.access_key,\n secretKey: res.console.secret_key,\n },\n };\n }\n }\n setAddSending(false);\n setShowNewCredentials(true);\n setCreatedAccount(newSrvAcc);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddSending(false);\n setErrorSnackMessage(err);\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [addSending]);\n\n const cancelButton = {\n label: \"Cancel\",\n type: \"other\",\n enabled: true,\n action: () => {\n resetAddTenantForm();\n history.push(\"/tenants\");\n },\n };\n const requiredPages = [\n \"nameTenant\",\n \"tenantSize\",\n \"configure\",\n \"affinity\",\n \"identityProvider\",\n \"security\",\n \"encryption\",\n ];\n const createButton = {\n label: \"Create\",\n type: \"submit\",\n enabled:\n !addSending &&\n selectedStorageClass !== \"\" &&\n requiredPages.every((v) => validPages.includes(v)),\n action: () => {\n setAddSending(true);\n },\n };\n\n const wizardSteps: IWizardElement[] = [\n {\n label: \"Setup\",\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Configure\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Images\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Pod Placement\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Identity Provider\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Security\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n {\n label: \"Encryption\",\n advancedOnly: true,\n componentRender: ,\n buttons: [cancelButton, createButton],\n },\n ];\n\n let filteredWizardSteps = wizardSteps;\n\n const closeCredentialsModal = () => {\n resetAddTenantForm();\n history.push(\"/tenants\");\n };\n\n return (\n \n {showNewCredentials && (\n {\n closeCredentialsModal();\n }}\n entity=\"Tenant\"\n />\n )}\n \n \n \n {addSending && (\n \n \n \n )}\n \n \n \n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n namespace: state.tenants.createTenant.fields.nameTenant.namespace,\n validPages: state.tenants.createTenant.validPages,\n fields: state.tenants.createTenant.fields,\n certificates: state.tenants.createTenant.certificates,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n updateAddField,\n resetAddTenantForm,\n});\n\nexport default withStyles(styles)(connector(AddTenant));\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 get from \"lodash/get\";\nimport { ITenant } from \"./types\";\n\nexport interface Opts {\n label: string;\n value: string;\n}\n\nexport interface IQuotaElement {\n hard: number;\n name: string;\n}\n\nexport interface IQuotas {\n elements?: IQuotaElement[];\n name: string;\n}\n\nexport const minMemReq = 2147483648;\n\nexport interface KeyPair {\n id: string;\n encoded_cert: string;\n encoded_key: string;\n cert: string;\n key: string;\n}\n\nexport const ecListTransform = (ecList: string[]): Opts[] => {\n return ecList.map((value) => {\n return { label: value, value };\n });\n};\n\nexport const getLimitSizes = (resourceQuotas: IQuotas) => {\n const quotas: IQuotaElement[] = get(resourceQuotas, \"elements\", []);\n\n const returnQuotas: any = {};\n\n quotas.forEach((rsQuota) => {\n const stCName = rsQuota.name.split(\n \".storageclass.storage.k8s.io/requests.storage\"\n )[0];\n const hard = get(rsQuota, \"hard\", 0);\n const used = get(rsQuota, \"used\", 0);\n\n returnQuotas[stCName] = hard - used;\n });\n\n return returnQuotas;\n};\n\nexport const tenantIsOnline = (tenant: ITenant): boolean => {\n if (tenant.currentState === \"\") {\n return false;\n }\n if (\n !tenant.status &&\n tenant.health_status !== \"green\" &&\n tenant.health_status !== \"yellow\"\n ) {\n return false;\n }\n if (\n tenant.status &&\n tenant.status.health_status !== \"green\" &&\n tenant.status.health_status !== \"yellow\"\n ) {\n return false;\n }\n return true;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport { IAffinityModel } from \"../../../../common/types\";\n\nexport const getDefaultAffinity = (tenantName: string, poolName: string) => {\n const defaultAffinity: IAffinityModel = {\n podAntiAffinity: {\n requiredDuringSchedulingIgnoredDuringExecution: [\n {\n labelSelector: {\n matchExpressions: [\n {\n key: \"v1.min.io/tenant\",\n operator: \"In\",\n values: [tenantName],\n },\n {\n key: \"v1.min.io/pool\",\n operator: \"In\",\n values: [poolName],\n },\n ],\n },\n topologyKey: \"kubernetes.io/hostname\",\n },\n ],\n },\n };\n return defaultAffinity;\n};\n\nexport const getNodeSelector = (\n labels: string,\n withPodAntiAffinity: boolean,\n tenantName: string,\n poolName: string\n) => {\n // Labels in the form of key1=value1&key2=value2&key3=value3...\n const splittedLabels = labels.split(\"&\");\n let matchExpressions: any = [];\n\n splittedLabels.forEach((label: string) => {\n const splitKeyValue = label.split(\"=\");\n if (splitKeyValue.length === 2) {\n matchExpressions.push({\n key: splitKeyValue[0],\n operator: \"In\",\n values: [splitKeyValue[1]],\n });\n }\n });\n\n const nodeSelector: IAffinityModel = {\n nodeAffinity: {\n requiredDuringSchedulingIgnoredDuringExecution: {\n nodeSelectorTerms: [\n {\n matchExpressions: matchExpressions,\n },\n ],\n },\n },\n };\n if (withPodAntiAffinity) {\n const def = getDefaultAffinity(tenantName, poolName);\n nodeSelector.podAntiAffinity = def.podAntiAffinity;\n }\n console.log(nodeSelector);\n return nodeSelector;\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 { ITenant } from \"./ListTenants/types\";\nimport { Opts } from \"./ListTenants/utils\";\nimport {\n ADD_TENANT_ADD_CA_KEYPAIR,\n ADD_TENANT_ADD_CONSOLE_CA_KEYPAIR,\n ADD_TENANT_ADD_CONSOLE_CERT,\n ADD_TENANT_ADD_FILE_TO_CA_KEYPAIR,\n ADD_TENANT_ADD_FILE_TO_CONSOLE_CA_KEYPAIR,\n ADD_TENANT_ADD_FILE_TO_MINIO_KEYPAIR,\n ADD_TENANT_ADD_MINIO_KEYPAIR,\n ADD_TENANT_DELETE_CA_KEYPAIR,\n ADD_TENANT_DELETE_CONSOLE_CA_KEYPAIR,\n ADD_TENANT_DELETE_MINIO_KEYPAIR,\n ADD_TENANT_ENCRYPTION_CLIENT_CERT,\n ADD_TENANT_ENCRYPTION_GEMALTO_CA,\n ADD_TENANT_ENCRYPTION_SERVER_CERT,\n ADD_TENANT_ENCRYPTION_VAULT_CA,\n ADD_TENANT_ENCRYPTION_VAULT_CERT,\n ADD_TENANT_RESET_FORM,\n ADD_TENANT_SET_CURRENT_PAGE,\n ADD_TENANT_SET_LIMIT_SIZE,\n ADD_TENANT_SET_PAGE_VALID,\n ADD_TENANT_SET_STORAGE_CLASSES_LIST,\n ADD_TENANT_UPDATE_FIELD,\n TENANT_DETAILS_SET_CURRENT_TENANT,\n TENANT_DETAILS_SET_LOADING,\n TENANT_DETAILS_SET_TAB,\n TENANT_DETAILS_SET_TENANT,\n ADD_TENANT_SET_KEY_PAIR_VALUE,\n LabelKeyPair,\n} from \"./types\";\n\n// Basic actions\nexport const setWizardPage = (page: number) => {\n return {\n type: ADD_TENANT_SET_CURRENT_PAGE,\n page,\n };\n};\n\nexport const updateAddField = (\n pageName: string,\n fieldName: string,\n value: any\n) => {\n return {\n type: ADD_TENANT_UPDATE_FIELD,\n pageName,\n field: fieldName,\n value,\n };\n};\n\nexport const isPageValid = (pageName: string, valid: boolean) => {\n return {\n type: ADD_TENANT_SET_PAGE_VALID,\n pageName,\n valid,\n };\n};\n\n// Name Tenant actions\n\nexport const setStorageClassesList = (storageClasses: Opts[]) => {\n return {\n type: ADD_TENANT_SET_STORAGE_CLASSES_LIST,\n storageClasses,\n };\n};\n\nexport const setLimitSize = (limitSize: any) => {\n return {\n type: ADD_TENANT_SET_LIMIT_SIZE,\n limitSize,\n };\n};\n\n// Security actions\n\nexport const addCaCertificate = () => {\n return {\n type: ADD_TENANT_ADD_CA_KEYPAIR,\n };\n};\n\nexport const deleteCaCertificate = (id: string) => {\n return {\n type: ADD_TENANT_DELETE_CA_KEYPAIR,\n id,\n };\n};\n\nexport const addFileToCaCertificates = (\n id: string,\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ADD_FILE_TO_CA_KEYPAIR,\n id,\n key,\n fileName,\n value,\n };\n};\n\nexport const addConsoleCaCertificate = () => {\n return {\n type: ADD_TENANT_ADD_CONSOLE_CA_KEYPAIR,\n };\n};\n\nexport const deleteConsoleCaCertificate = (id: string) => {\n return {\n type: ADD_TENANT_DELETE_CONSOLE_CA_KEYPAIR,\n id,\n };\n};\n\nexport const addFileToConsoleCaCertificates = (\n id: string,\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ADD_FILE_TO_CONSOLE_CA_KEYPAIR,\n id,\n key,\n fileName,\n value,\n };\n};\n\nexport const addKeyPair = () => {\n return {\n type: ADD_TENANT_ADD_MINIO_KEYPAIR,\n };\n};\n\nexport const deleteKeyPair = (id: string) => {\n return {\n type: ADD_TENANT_DELETE_MINIO_KEYPAIR,\n id,\n };\n};\n\nexport const addFileToKeyPair = (\n id: string,\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ADD_FILE_TO_MINIO_KEYPAIR,\n id,\n key,\n fileName,\n value,\n };\n};\n\nexport const addConsoleCertificate = (\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ADD_CONSOLE_CERT,\n key,\n fileName,\n value,\n };\n};\n\nexport const addFileServerCert = (\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ENCRYPTION_SERVER_CERT,\n key,\n fileName,\n value,\n };\n};\n\nexport const addFileClientCert = (\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ENCRYPTION_CLIENT_CERT,\n key,\n fileName,\n value,\n };\n};\n\nexport const addFileVaultCert = (\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ENCRYPTION_VAULT_CERT,\n key,\n fileName,\n value,\n };\n};\n\nexport const addFileVaultCa = (fileName: string, value: string) => {\n return {\n type: ADD_TENANT_ENCRYPTION_VAULT_CA,\n fileName,\n value,\n };\n};\n\nexport const addFileGemaltoCa = (fileName: string, value: string) => {\n return {\n type: ADD_TENANT_ENCRYPTION_GEMALTO_CA,\n fileName,\n value,\n };\n};\n\nexport const resetAddTenantForm = () => {\n return {\n type: ADD_TENANT_RESET_FORM,\n };\n};\n\nexport const setTenantDetailsLoad = (loading: boolean) => {\n return {\n type: TENANT_DETAILS_SET_LOADING,\n state: loading,\n };\n};\n\nexport const setTenantName = (tenantName: string, tenantNamespace: string) => {\n return {\n type: TENANT_DETAILS_SET_CURRENT_TENANT,\n name: tenantName,\n namespace: tenantNamespace,\n };\n};\n\nexport const setTenantInfo = (tenant: ITenant | null) => {\n return {\n type: TENANT_DETAILS_SET_TENANT,\n tenant,\n };\n};\n\nexport const setTenantTab = (tab: string) => {\n return {\n type: TENANT_DETAILS_SET_TAB,\n tab,\n };\n};\n\nexport const setKeyValuePairs = (newArray: LabelKeyPair[]) => {\n return {\n type: ADD_TENANT_SET_KEY_PAIR_VALUE,\n newArray,\n };\n};\n","import React from \"react\";\nimport Typography from \"@mui/material/Typography\";\nimport { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n errorBlock: {\n color: theme.palette?.error.main || \"#C83B51\",\n },\n });\n\ninterface IErrorBlockProps {\n classes: any;\n errorMessage: string;\n withBreak?: boolean;\n}\n\nconst ErrorBlock = ({\n classes,\n errorMessage,\n withBreak = true,\n}: IErrorBlockProps) => {\n return (\n \n {withBreak &&
}\n \n {errorMessage}\n \n
\n );\n};\n\nexport default withStyles(styles)(ErrorBlock);\n"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","root","marginLeft","borderWidth","borderColor","borderStyle","borderRadius","backgroundColor","main","opacity","contained","background","dark","children","variant","tooltip","rest","button","clsx","title","container","flexFlow","inputWithCopy","height","inputLabel","fieldBasic","value","OutlinedInput","readOnly","endAdornment","InputAdornment","position","text","BoxIconButton","onMouseDown","edge","warningBlock","margin","credentialTitle","fontWeight","buttonContainer","textAlign","marginTop","credentialsPanel","overflowY","maxHeight","promptTitle","buttonSpacer","promptIcon","newServiceAccount","open","closeModal","entity","consoleCreds","get","idp","ModalWrapper","modalOpen","onClose","titleIcon","Grid","item","xs","formScrollable","Array","isArray","map","credentialsPair","index","accessKey","secretKey","WarnIcon","Button","consoleExtras","cCreds","itemMap","access_key","secret_key","console","filename","element","document","createElement","setAttribute","encodeURIComponent","style","body","appendChild","click","removeChild","download","JSON","stringify","endIcon","tooltipHelper","valueString","whiteSpace","overflow","textOverflow","fileInputField","fileInputStyles","textBoxContainer","border","paddingLeft","onChange","id","name","disabled","required","error","accept","useState","showFileSelector","setShowSelector","fieldBottom","fieldContainer","errorInField","InputLabel","htmlFor","fieldLabelError","tooltipContainer","Tooltip","placement","HelpIcon","type","e","fileName","evt","callback","file","target","files","reader","FileReader","readAsDataURL","onload","fileBase64","result","fileArray","toString","split","length","fileProcess","data","IconButton","component","disableRipple","disableFocusRipple","size","Cancel","ErrorBlock","errorMessage","fileReselect","AttachFile","radioStyles","makeStyles","radioIcons","RadioButton","props","checkedIcon","radioSelectedIcon","radioUnselectedIcon","optionLabel","checkedOption","selectorOptions","currentSelection","disableOptions","displayInColumn","radioOptionsLayout","row","selectorOption","control","SelectStyled","lineHeight","spacing","input","InputBase","options","fullWidth","option","wizardStepContainer","flexDirection","flex","wizardComponent","marginBottom","minHeight","wizardModal","buttonsContainer","borderTop","paddingBottom","buttonInnerContainer","page","pageChange","loadingStep","forModal","componentRender","LinearProgress","buttons","btn","toPage","action","buttonAction","enabled","wizFromContainer","wizFromModal","modalWizardSteps","borderBottom","listStyle","buttonList","cursor","outline","boxShadow","paddedContentGrid","stepsLabel","stepsMasterContainer","top","verticalSteps","borderRight","stepsContainer","paddingTop","stepItem","wizardSteps","currentStep","setCurrentStep","toElement","lastPage","nextPage","prevPage","pg","Fragment","step","sm","md","lg","xl","List","dense","ListItem","selected","ListItemText","pageContentStyles","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","left","labelStyle","rightMenu","logo","fill","middleComponent","actions","direction","sx","IMkEnvs","storageClasses","tenants","createTenant","customImage","fields","configure","imageName","customDockerhub","imageRegistry","imageRegistryUsername","imageRegistryPassword","exposeMinIO","exposeConsole","prometheusCustom","tenantCustom","logSearchCustom","logSearchVolumeSize","logSearchSizeFactor","prometheusVolumeSize","prometheusSizeFactor","logSearchSelectedStorageClass","logSearchImage","kesImage","logSearchPostgresImage","logSearchPostgresInitImage","prometheusSelectedStorageClass","prometheusImage","prometheusSidecarImage","prometheusInitImage","selectedStorageClass","nameTenant","tenantSecurityContext","logSearchSecurityContext","logSearchPostgresSecurityContext","prometheusSecurityContext","updateAddField","isPageValid","configSectionItem","tenantCustomizationFields","containerItem","fieldGroup","createTenantCommon","responsiveSectionItem","logSearchCustomFields","fieldSpaceTop","prometheusCustomFields","modalBasic","wizardCommon","validationErrors","setValidationErrors","configureSTClasses","updateField","useCallback","field","useEffect","customAccountValidation","fieldKey","runAsUser","customValidation","parseInt","customValidationMessage","runAsGroup","fsGroup","pattern","customPatternMessage","commonVal","commonFormValidation","Object","keys","filter","cleanValidation","fieldName","clearValidationError","Paper","paperWrapper","headerElement","h3Section","descriptionText","FormSwitchWrapper","checked","multiContainer","InputBoxWrapper","min","runAsNonRoot","SelectWrapper","idpSelection","identityProvider","accessKeys","secretKeys","openIDConfigurationURL","openIDClientID","openIDSecretID","openIDCallbackURL","openIDClaimName","openIDScopes","ADURL","ADSkipTLS","ADServerInsecure","ADUserNameSearchFilter","ADGroupSearchBaseDN","ADGroupSearchFilter","ADGroupNameAttribute","ADUserDNs","ADUserNameFormat","ADLookupBindDN","ADLookupBindPassword","ADUserDNSearchBaseDN","ADUserDNSearchFilter","ADServerStartTLS","shortened","gridTemplateColumns","gridGap","buttonTray","overlayAction","protocolRadioOptions","adUserDnRows","formFieldStyles","updateUserField","newUserField","updatePwordField","updateADUserField","newADUserDNsField","customIDPValidation","i","push","inputs","_","placeholder","Add","splice","RemoveIcon","getRandomString","Casino","Delete","RadioGroupSelector","formFieldRow","Typography","gutterBottom","enableTLS","security","enableAutoCert","enableCustomCerts","minioCertificates","certificates","caCertificates","addFileToCaCertificates","deleteCaCertificate","addCaCertificate","addKeyPair","addFileToKeyPair","deleteKeyPair","minioCertificateRows","fileItem","minWidth","minioCertsContainer","minioCACertsRow","rowActions","keyPair","FileSelector","encodedValue","cert","key","AddIcon","replicas","encryption","enableEncryption","encryptionType","gemaltoEndpoint","gemaltoToken","gemaltoDomain","gemaltoRetry","awsEndpoint","awsRegion","awsKMSKey","awsAccessKey","awsSecretKey","awsToken","vaultEndpoint","vaultEngine","vaultNamespace","vaultPrefix","vaultAppRoleEngine","vaultId","vaultSecret","vaultRetry","vaultPing","azureEndpoint","azureTenantID","azureClientID","azureClientSecret","gcpProjectID","gcpEndpoint","gcpClientEmail","gcpClientID","gcpPrivateKeyID","gcpPrivateKey","enableCustomCertsForKES","serverCertificate","clientCertificate","vaultCertificate","vaultCA","gemaltoCA","kesSecurityContext","addFileServerCert","addFileClientCert","addFileVaultCert","addFileVaultCa","addFileGemaltoCa","encryptionTypeOptions","mutualTlsConfig","rightSpacer","responsiveContainer","encryptionAvailable","encoded_key","encoded_cert","encryptionValidation","podAffinity","affinity","nodeSelectorLabels","withPodAntiAffinity","keyValuePairs","nodeSelectorPairs","setModalErrorSnackMessage","setKeyValuePairs","affinityConfigField","affinityFieldLabel","radioField","affinityLabelKey","affinityLabelValue","affinityRow","loading","setLoading","keyValueMap","setKeyValueMap","keyOptions","setKeyOptions","api","then","res","k","catch","err","vl","kvp","kvs","a","indexOf","join","valid","splittedLabels","forEach","splitItem","affinityHelpText","newKey","arrCp","assign","v","setErrorSnackMessage","wrapText","wordWrap","deleteDialogStyles","namespace","addNamespaceOpen","closeAddNamespaceModalAndRefresh","addNamespaceLoading","setAddNamespaceLoading","ConfirmDialog","confirmText","confirmButtonProps","isOpen","isLoading","onConfirm","confirmationContent","DialogContentText","volumeSize","tenantSize","sizeFactor","drivesPerServer","nodes","memoryNode","ecParity","ecParityChoices","cleanECChoices","resourcesSize","distribution","ecParityCalc","limitSize","cpuToUse","integrationSelection","table","usableInformation","storageFactors","find","erasureCode","Divider","Table","TableBody","TableRow","TableCell","scope","align","typeSelection","storageClass","disks","niceBytes","pvSize","persistentVolumes","rawCapacity","maxCapacity","Math","floor","maxFailureTolerations","CPU","memory","driveSize","sizeUnit","maxAllocatableResources","maxCPUsUse","maxMemorySize","resourcesSpecifyLimit","resourcesCPURequestError","resourcesCPURequest","resourcesCPULimitError","resourcesCPULimit","resourcesMemoryRequestError","resourcesMemoryRequest","resourcesMemoryLimitError","resourcesMemoryLimit","compositeFieldContainer","compositeAddOn","memoryExists","cpuExists","maxMemory","mem_priority","max_allocatable_mem","cpu_priority","max_allocatable_cpu","maxAllocatableCPU","baseCpuUse","max","baseMemoryUse","isNaN","validity","log","errorFlag","setErrorFlag","nodeError","setNodeError","ecCodeValidated","erasureCodeCalc","includes","defaultEC","factor","getBytes","clusterCapacity","unit","distrCalculate","calculateDistribution","parsedSize","commonValidation","trim","ecList","ecListTransform","k8sfactorForDropdown","selectedStorageType","formToRender","updateMainField","undefined","setConfigs","mkPanelConfigurations","mainSelection","resourcesConfigurations","aws","azure","gcp","variantSelectorLabel","variantSelectorValues","configurations","sizingComponent","default","tenantName","setStorageClassesList","setLimitSize","sizePreview","emptyNamespace","setEmptyNamespace","loadingNamespaceInfo","setLoadingNamespaceInfo","showCreateButton","setShowCreateButton","openAddNSConfirm","setOpenAddNSConfirm","getNamespaceInformation","tenantsList","elements","getLimitSizes","newStorage","stExists","findIndex","detailedError","debounceNamespace","useMemo","debounce","cancel","customNamespaceError","isValid","frmValidationCleanup","refresh","overlayIcon","features","session","formRender","setFormRender","setConfiguration","validPages","resetAddTenantForm","pageBox","settingsCommon","showNewCredentials","setShowNewCredentials","createdAccount","setCreatedAccount","addSending","setAddSending","consoleCaCertificates","consoleCertificate","affinityType","kesReplicas","poolName","generatePoolName","affinityObject","getDefaultAffinity","getNodeSelector","dataSend","access_keys","secret_keys","enable_tls","enable_console","enable_prometheus","service_name","image","expose_minio","expose_console","pools","servers","volumes_per_server","volume_configuration","storage_class_name","securityContext","erasureCodingParity","resources","requests","cpu","limits","image_registry","registry","username","password","logSearchConfiguration","storageSize","postgres_image","postgres_init_image","postgres_securityContext","prometheusConfiguration","sidecar_image","init_image","tenantCerts","consoleCerts","caCerts","consoleCaCerts","ca_certificates","console_ca_certificates","minio","crt","tls","insertEncrypt","gemaltoCAIntroduce","ca","gemalto","keysecure","endpoint","credentials","token","domain","retry","secretsmanager","region","kmskey","accesskey","secretkey","keyvault","tenant_id","client_id","client_secret","secretmanager","project_id","client_email","private_key_id","private_key","vaultKeyPair","vaultCAInsert","vaultTLS","vault","engine","prefix","approle","secret","status","ping","encryptionServerKeyPair","encryptionClientKeyPair","client","server","dataIDP","keyarray","oidc","configuration_url","secret_id","claim_name","callback_url","scopes","active_directory","url","skip_tls_verification","server_insecure","username_format","username_search_filter","group_search_base_dn","group_search_filter","group_name_attribute","user_dns","lookup_bind_dn","lookup_bind_password","user_dn_search_base_dn","user_dn_search_filter","server_start_tls","consoleSAList","newSrvAcc","consoleItem","consoleKey","cancelButton","history","createButton","every","filteredWizardSteps","advancedOnly","CredentialsPrompt","PageHeader","BackLink","PageLayout","GenericWizard","resourceQuotas","quotas","returnQuotas","rsQuota","stCName","hard","used","tenantIsOnline","tenant","currentState","health_status","podAntiAffinity","requiredDuringSchedulingIgnoredDuringExecution","labelSelector","matchExpressions","operator","values","topologyKey","labels","splitKeyValue","nodeSelector","nodeAffinity","nodeSelectorTerms","def","pageName","ADD_TENANT_UPDATE_FIELD","ADD_TENANT_SET_PAGE_VALID","ADD_TENANT_SET_STORAGE_CLASSES_LIST","ADD_TENANT_SET_LIMIT_SIZE","ADD_TENANT_ADD_CA_KEYPAIR","ADD_TENANT_DELETE_CA_KEYPAIR","ADD_TENANT_ADD_FILE_TO_CA_KEYPAIR","ADD_TENANT_ADD_MINIO_KEYPAIR","ADD_TENANT_DELETE_MINIO_KEYPAIR","ADD_TENANT_ADD_FILE_TO_MINIO_KEYPAIR","ADD_TENANT_ENCRYPTION_SERVER_CERT","ADD_TENANT_ENCRYPTION_CLIENT_CERT","ADD_TENANT_ENCRYPTION_VAULT_CERT","ADD_TENANT_ENCRYPTION_VAULT_CA","ADD_TENANT_ENCRYPTION_GEMALTO_CA","ADD_TENANT_RESET_FORM","setTenantDetailsLoad","TENANT_DETAILS_SET_LOADING","setTenantName","tenantNamespace","TENANT_DETAILS_SET_CURRENT_TENANT","setTenantInfo","TENANT_DETAILS_SET_TENANT","setTenantTab","tab","TENANT_DETAILS_SET_TAB","newArray","ADD_TENANT_SET_KEY_PAIR_VALUE","errorBlock","withBreak"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1711.669b8be7.chunk.js.map b/portal-ui/build/static/js/1711.669b8be7.chunk.js.map index e6d89ad05..e97d42f41 100644 --- a/portal-ui/build/static/js/1711.669b8be7.chunk.js.map +++ b/portal-ui/build/static/js/1711.669b8be7.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/1711.669b8be7.chunk.js","mappings":"mVAsOMA,GAAYC,EAAAA,EAAAA,IAAQ,KAAM,CAC9BC,0BAAAA,EAAAA,KAGF,WAAeC,EAAAA,EAAAA,IAnMA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,kBACRC,EAAAA,IACAC,EAAAA,OAgMP,CAAkCP,GAnLd,SAAC,GAQK,IAPxBQ,EAOuB,EAPvBA,QACAC,EAMuB,EANvBA,KACAC,EAKuB,EALvBA,QACAC,EAIuB,EAJvBA,IACAC,EAGuB,EAHvBA,eACAC,EAEuB,EAFvBA,qBACAX,EACuB,EADvBA,0BAEA,GAA8BY,EAAAA,EAAAA,WAAkB,GAAhD,eAAOC,EAAP,KAAgBC,EAAhB,KACA,GAAwCF,EAAAA,EAAAA,WAAkB,GAA1D,eAAOG,EAAP,KAAqBC,EAArB,KACA,GAAkCJ,EAAAA,EAAAA,UAAiB,QAAnD,eAAOK,EAAP,KAAkBC,EAAlB,KACA,GAAkCN,EAAAA,EAAAA,UAAiB,KAAnD,eAAOO,EAAP,KAAkBC,EAAlB,KACA,GAAkCR,EAAAA,EAAAA,UAAiB,OAAnD,eAAOS,EAAP,KAAkBC,EAAlB,MAEAC,EAAAA,EAAAA,YAAU,WACR,GAAIf,IACFQ,GAAgB,GACZP,GAAK,CACPS,EAAaT,EAAIe,MACjBJ,EAAa,GAAD,OAAIX,EAAIgB,QACpBH,EAAa,KAKb,IAHA,IAAII,EAAU,IACVC,EAAWlB,EAAIgB,MAEVG,EAAI,EAAGA,EAAIC,EAAAA,GAAAA,QACdpB,EAAIgB,MAAQK,KAAKC,IAAI,KAAMH,KAAO,EADNA,IAE9BD,EAAWlB,EAAIgB,MAAQK,KAAKC,IAAI,KAAMH,GACtCF,EAAUG,EAAAA,GAAMD,GAKpBR,EAAa,GAAD,OAAIO,IAChBL,EAAaI,MAGhB,CAAClB,EAASC,IAyBb,OACE,SAAC,IAAD,CACEuB,UAAWzB,EACX0B,QAAS,WACPtB,KAEFuB,MAAM,sBACNC,WAAW,SAAC,KAAD,IANb,UAQE,iBACEC,YAAU,EACVC,aAAa,MACbC,SAAU,SAACC,IAnCc,SAACC,GAE9B,GADAA,EAAMC,kBACF5B,EAAJ,CAGA,IAAI6B,EAAM,CACRlC,QAASO,EACT4B,OAAQC,UAASC,EAAAA,EAAAA,IAAS1B,EAAWE,GAAW,IAChDyB,WAAY7B,GAGd8B,EAAAA,EAAAA,OACU,MADV,0BACoCrC,EADpC,UAC4DgC,GACzDM,MAAK,WACJlC,GAAW,GACXH,OAEDsC,OAAM,SAACC,GACNpC,GAAW,GACXd,EAA0BkD,OAiBxBC,CAAuBZ,IAJ3B,UAOE,UAAC,KAAD,CAAMa,WAAS,EAAf,WACE,UAAC,KAAD,CAAMC,MAAI,EAACC,GAAI,GAAIC,UAAWjD,EAAQkD,eAAtC,WACE,SAAC,KAAD,CAAMH,MAAI,EAACC,GAAI,GAAIC,UAAWjD,EAAQmD,aAAtC,UACE,SAAC,IAAD,CACEC,MAAM,eACNC,GAAG,eACHC,KAAK,eACLC,QAAS9C,EACT+C,SAAU,SAACtB,GACTxB,EAAgBwB,EAAMuB,OAAOF,UAE/BG,MAAO,YAGVjD,IACC,UAAC,WAAD,YACE,SAAC,KAAD,CAAMsC,MAAI,EAACC,GAAI,GAAIC,UAAWjD,EAAQmD,aAAtC,UACE,SAAC,IAAD,CACEQ,iBAAkBhD,EAClB0C,GAAG,aACHC,KAAK,aACLI,MAAM,aACNF,SAAU,SAACvB,GACTrB,EAAaqB,EAAEwB,OAAOL,QAExBQ,gBAAiB,CAAC,CAAER,MAAO,OAAQM,MAAO,cAG9C,SAAC,KAAD,CAAMX,MAAI,EAACC,GAAI,GAAIC,UAAWjD,EAAQmD,aAAtC,UACE,UAAC,KAAD,CAAML,WAAS,EAAf,WACE,SAAC,KAAD,CAAMC,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,IAAD,CACE9B,KAAK,SACLmC,GAAG,aACHC,KAAK,aACLE,SAAU,SAACvB,GACTnB,EAAamB,EAAEwB,OAAOL,QAExBM,MAAM,QACNN,MAAOvC,EACPgD,UAAQ,EACRC,IAAI,SAGR,SAAC,KAAD,CAAMf,MAAI,EAACC,GAAI,EAAf,UACE,gBAAKe,MAAO,CAAEC,MAAO,KAArB,UACE,SAAC,IAAD,CACEN,MAAM,GACNL,GAAG,aACHC,KAAK,aACLF,MAAOrC,EACPyC,SAAU,SAACvB,GACTjB,EAAaiB,EAAEwB,OAAOL,QAExBa,SAASC,EAAAA,EAAAA,wBASzB,UAAC,KAAD,CAAMnB,MAAI,EAACC,GAAI,GAAIC,UAAWjD,EAAQmE,eAAtC,WACE,SAAC,IAAD,CACEjD,KAAK,SACLkD,QAAQ,WACRC,MAAM,UACNC,SAAU/D,EACVgE,QAAS,WACPlE,KANJ,qBAYA,SAAC,IAAD,CACEa,KAAK,SACLkD,QAAQ,YACRC,MAAM,UACNC,SAAU/D,EAJZ,qBASDA,IACC,SAAC,KAAD,CAAMwC,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,IAAD,kB,mLC1JRwB,GAAe7E,EAAAA,EAAAA,IAAW,SAACC,GAAD,MAAY,CAC1C6E,KAAM,CACJT,MAAO,GACPU,OAAQ,GACRC,QAAS,EACTC,OAAQ,GAEVC,WAAY,CACVF,QAAS,EACT,YAAa,CACXG,UAAW,mBACXT,MAAOzE,EAAMmF,QAAQC,OAAOC,MAC5B,aAAc,CACZC,gBAAiB,UACjBC,UAAW,oCACXC,QAAS,EACTC,OAAQ,SAGZ,wBAAyB,CACvBhB,MAAO,UACPgB,OAAQ,mBAGZC,MAAO,CACLtB,MAAO,GACPU,OAAQ,GACRQ,gBAAiB,UACjBG,OAAQ,oBACRE,WAAY,GAEdC,MAAO,CACLC,aAAc,GACdP,gBAAiB,UACjBC,UAAW,oCACXC,QAAS,EACTM,WAAY9F,EAAM+F,YAAYC,OAAO,CAAC,mBAAoB,YAE5DrC,QAAS,GACTsC,aAAc,GACdC,gBAAiB,CACfC,QAAS,OACTC,WAAY,SACZC,eAAgB,eA3CCtG,CA6CjBuG,EAAAA,GAsGJ,KAAevG,EAAAA,EAAAA,IA5KA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,gBACXsG,aAAc,CACZC,aAAc,IAEhBC,iBAAkB,CAChBC,WAAY,OACZjC,MAAO,sBAETkC,eAAgB,CACdC,SAAU,GACVnC,MAAO,UACPO,OAAQ,gBAEV6B,iBAAkB,CAChBC,UAAW,EACXrC,MAAO,WAETsC,QAAS,CACPH,SAAU,KAETI,EAAAA,IACAC,EAAAA,OAsJP,EApG0B,SAAC,GAaP,IAAD,IAZjBnD,MAAAA,OAYiB,MAZT,GAYS,EAXjBF,EAWiB,EAXjBA,SACAJ,EAUiB,EAVjBA,MACAC,EASiB,EATjBA,GACAC,EAQiB,EARjBA,KAQiB,IAPjBC,QAAAA,OAOiB,aANjBe,SAAAA,OAMiB,aALjBwC,WAAAA,OAKiB,aAJjBH,QAAAA,OAIiB,MAJP,GAIO,MAHjBI,YAAAA,OAGiB,MAHH,GAGG,EAFjB/G,EAEiB,EAFjBA,QACAgH,EACiB,EADjBA,gBAEMC,GACJ,UAAC,WAAD,YACIH,IACA,iBACE7D,WAAWiE,EAAAA,EAAAA,GAAKlH,EAAQuG,gBAAT,UACZvG,EAAQqG,kBAAoB9C,IAFjC,SAKGyD,GAAmBA,EAAgBG,OAAS,EACzCH,EAAgB,GAChB,SAGR,SAACxC,EAAD,CACEjB,QAASA,EACTC,SAAUA,EACVa,MAAM,UACNf,KAAMA,EACN8D,WAAY,CAAE,aAAc,oBAC5B9C,SAAUA,EACV+C,eAAa,EACbC,oBAAkB,EAClBC,oBAAkB,EAClBnE,MAAOA,KAEP0D,IACA,iBACE7D,WAAWiE,EAAAA,EAAAA,GAAKlH,EAAQuG,gBAAT,UACZvG,EAAQqG,iBAAmB9C,IAFhC,SAKGyD,EAAkBA,EAAgB,GAAK,UAMhD,OAAIF,EACKG,GAIP,gBAAKhE,UAAWjD,EAAQmG,aAAxB,UACE,UAAC,KAAD,CAAMrD,WAAS,EAACkD,WAAY,SAA5B,WACE,SAAC,KAAD,CAAMjD,MAAI,EAACC,IAAE,EAAb,UACE,UAAC,KAAD,CAAMF,WAAS,EAAf,WACE,SAAC,KAAD,CAAMC,MAAI,EAACC,GAAI,GAAIwE,GAAI,EAAGC,GAAI,EAA9B,SACa,KAAV/D,IACC,UAAC,IAAD,CAAYgE,QAASrE,EAAIJ,UAAWjD,EAAQ2H,WAA5C,WACE,0BAAOjE,IACM,KAAZiD,IACC,gBAAK1D,UAAWjD,EAAQ4H,iBAAxB,UACE,SAAC,IAAD,CAAShG,MAAO+E,EAASkB,UAAU,YAAnC,UACE,gBAAK5E,UAAWjD,EAAQ2G,QAAxB,UACE,SAAC,IAAD,gBAQd,SAAC,KAAD,CAAM5D,MAAI,EAACC,GAAI,GAAIwE,IAAE,EAACM,UAAW,OAAjC,SACmB,KAAhBf,IACC,SAAC,IAAD,CAAYgB,UAAU,IAAI9E,UAAWjD,EAAQyG,iBAA7C,SACGM,YAOX,SAAC,KAAD,CACEhE,MAAI,EACJC,GAAI,GACJwE,GAAI,EACJM,UAAW,QACX7E,UAAWjD,EAAQ8F,gBALrB,SAOGmB,a,mLCnHLe,GAAcC,EAAAA,EAAAA,IAAW,SAACrI,GAAD,OAC7BC,EAAAA,EAAAA,IAAa,UACRqI,EAAAA,QAIP,SAASC,EAAWC,GAClB,IAAMpI,EAAUgI,IAEhB,OACE,SAAC,KAAD,QACEK,WAAY,CAAErI,QAAAA,IACVoI,IAsIV,KAAezI,EAAAA,EAAAA,IA5KA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,0BACRgH,EAAAA,IACAyB,EAAAA,IAFO,IAGVC,iBAAkB,CAChBC,SAAU,EACVC,SAAU,YAEZC,cAAe,CACbD,SAAU,WACVE,MAAO,EACPC,IAAK,EACL,QAAS,CACPC,SAAU,GACVC,UAAW,IAEb,cAAe,CACbF,IAAK,IAGTjB,YAAW,kBACNd,EAAAA,GAAAA,YADK,IAERP,WAAY,gBAsJlB,EAjIwB,SAAC,GA0BH,IAzBpB5C,EAyBmB,EAzBnBA,MACAF,EAwBmB,EAxBnBA,SACAJ,EAuBmB,EAvBnBA,MACAC,EAsBmB,EAtBnBA,GACAC,EAqBmB,EArBnBA,KAqBmB,IApBnBpC,KAAAA,OAoBmB,MApBZ,OAoBY,MAnBnBa,aAAAA,OAmBmB,MAnBJ,MAmBI,MAlBnBuC,SAAAA,OAkBmB,aAjBnByE,UAAAA,OAiBmB,aAhBnBpC,QAAAA,OAgBmB,MAhBT,GAgBS,MAfnBqC,MAAAA,OAemB,MAfX,EAeW,MAdnBC,MAAAA,OAcmB,MAdX,GAcW,MAbnBpF,SAAAA,OAamB,aAZnBqF,YAAAA,OAYmB,MAZL,GAYK,EAXnBpF,EAWmB,EAXnBA,IACAqF,EAUmB,EAVnBA,IAUmB,IATnBC,YAAAA,OASmB,MATL,KASK,MARnBC,cAAAA,OAQmB,MARH,KAQG,MAPnBC,gBAAAA,OAOmB,MAPD,GAOC,EANnBZ,EAMmB,EANnBA,cAMmB,IALnBa,gBAAAA,OAKmB,aAJnBC,QAAAA,OAImB,MAJT,GAIS,MAHnBC,UAAAA,OAGmB,SAFnBzJ,EAEmB,EAFnBA,QAEmB,IADnBiD,UAAAA,OACmB,MADP,GACO,EACfmE,GAAe,QAAK,aAAc4B,GAAUM,GAchD,MAZa,WAATpI,GAAqB4C,IACvBsD,EAAU,IAAUtD,GAGT,WAAT5C,GAAqBiI,IACvB/B,EAAU,IAAU+B,GAGN,KAAZK,IACFpC,EAAU,QAAcoC,IAIxB,SAAC,WAAD,WACE,UAAC,KAAD,CACE1G,WAAS,EACTG,WAAWiE,EAAAA,EAAAA,GACK,KAAdjE,EAAmBA,EAAY,GACrB,KAAVgG,EAAejJ,EAAQ0J,aAAe1J,EAAQ2J,mBAJlD,UAOa,KAAVjG,IACC,UAAC,IAAD,CACEgE,QAASrE,EACTJ,UACEsG,EAAkBvJ,EAAQ4J,gBAAkB5J,EAAQ2H,WAHxD,WAME,4BACGjE,EACAG,EAAW,IAAM,MAEP,KAAZ8C,IACC,gBAAK1D,UAAWjD,EAAQ4H,iBAAxB,UACE,SAAC,IAAD,CAAShG,MAAO+E,EAASkB,UAAU,YAAnC,UACE,gBAAK5E,UAAWjD,EAAQ2G,QAAxB,UACE,SAAC,IAAD,cAQZ,iBAAK1D,UAAWjD,EAAQuI,iBAAxB,WACE,SAACJ,EAAD,CACE9E,GAAIA,EACJC,KAAMA,EACNuG,WAAS,EACTzG,MAAOA,EACPqG,UAAWA,EACXnF,SAAUA,EACVd,SAAUA,EACVtC,KAAMA,EACN6H,UAAWA,EACXhH,aAAcA,EACdqF,WAAYA,EACZ6B,MAAiB,KAAVA,EACPa,WAAYb,EACZC,YAAaA,EACbjG,UAAWjD,EAAQ+J,cAEpBX,IACC,gBACEnG,UAAS,UAAKjD,EAAQ0I,cAAb,YACG,KAAVhF,EAAe,YAAc,IAFjC,UAKE,SAAC,IAAD,CACEa,QACEmE,EACI,WACEA,KAEF,kBAAM,MAEZsB,KAAM,QACN1C,oBAAoB,EACpBD,eAAe,EACfE,oBAAoB,EAXtB,SAaG6B,MAINC,IACC,gBACEpG,UAAS,UAAKjD,EAAQ0I,cAAb,YACG,KAAVhF,EAAe,YAAc,IAFjC,SAKG2F,gB,yMC3JTY,GAAchC,EAAAA,EAAAA,IAAW,QAC7BxD,KAAM,CACJ,UAAW,CACTS,gBAAiB,iBAGlBgF,EAAAA,KAGCC,EAAc,SAAC/B,GACnB,IAAMpI,EAAUiK,IAEhB,OACE,SAAC,KAAD,QACEhH,UAAWjD,EAAQyE,KACnB4C,eAAa,EACbhD,MAAM,UACN+F,aAAa,iBAAMnH,UAAWjD,EAAQqK,oBACtCC,MAAM,iBAAMrH,UAAWjD,EAAQuK,uBAC3BnC,KAiEV,KAAezI,EAAAA,EAAAA,IA/GA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,0BACRgH,EAAAA,IACAyB,EAAAA,IAFO,IAGVkC,YAAa,CACX,iBAAkB,CAChB,+BAAgC,CAC9BnG,MAAO,YAGX,eAAgB,CACdoG,YAAa,GAEf,+BAAgC,CAC9BjE,SAAU,GACVnC,MAAO,YAGXqG,cAAe,CACb,+BAAgC,CAC9BlE,SAAU,GACVnC,MAAO,UACPiC,WAAY,WAyFpB,EA5DkC,SAAC,GAWX,IAAD,IAVrB1C,gBAAAA,OAUqB,MAVH,GAUG,EATrBD,EASqB,EATrBA,iBACAD,EAQqB,EARrBA,MACAL,EAOqB,EAPrBA,GACAC,EAMqB,EANrBA,KACAE,EAKqB,EALrBA,SAKqB,IAJrBmD,QAAAA,OAIqB,MAJX,GAIW,MAHrBgE,eAAAA,OAGqB,SAFrB3K,EAEqB,EAFrBA,QAEqB,IADrB4K,gBAAAA,OACqB,SACrB,OACE,UAAC,KAAD,CAAM9H,WAAS,EAACkD,WAAY,SAA5B,WACE,SAAC,KAAD,CAAMjD,MAAI,EAACC,IAAE,EAAb,UACE,UAAC,IAAD,CAAY0E,QAASrE,EAAIJ,UAAWjD,EAAQ2H,WAA5C,WACE,0BAAOjE,IACM,KAAZiD,IACC,gBAAK1D,UAAWjD,EAAQ4H,iBAAxB,UACE,SAAC,IAAD,CAAShG,MAAO+E,EAASkB,UAAU,YAAnC,UACE,0BACE,SAAC,IAAD,gBAOZ,SAAC,KAAD,CAAM9E,MAAI,EAACC,IAAE,EAACC,UAAWjD,EAAQ6K,mBAAjC,UACE,SAAC,IAAD,CACE,aAAYxH,EACZA,GAAIA,EACJC,KAAMA,EACNF,MAAOO,EACPH,SAAUA,EACVsH,KAAMF,EACN7G,MAAO,CAAEgC,QAAS,QAAS+B,UAAW,SAPxC,SASGlE,EAAgBmH,KAAI,SAACC,GACpB,OACE,SAAC,IAAD,CAEE5H,MAAO4H,EAAe5H,MACtB6H,SAAS,SAACd,EAAD,IACTzG,MAAOsH,EAAetH,MACtBY,SAAUqG,EACV1H,WAAWiE,EAAAA,EAAAA,GAAKlH,EAAQwK,aAAT,UACZxK,EAAQ0K,cACPM,EAAe5H,QAAUO,KAR/B,aACaL,EADb,YACqB0H,EAAe5H,sB,mLCxE5C8H,GAAevL,EAAAA,EAAAA,IAAW,SAACC,GAAD,OAC9BC,EAAAA,EAAAA,GAAa,CACX4E,KAAM,CACJC,OAAQ,GACRyG,WAAY,EACZ,YAAa,CACXzE,UAAW9G,EAAMwL,QAAQ,KAG7BC,MAAO,CACL3G,OAAQ,GACR+D,SAAU,WACVpE,MAAO,UACPmC,SAAU,GACVF,WAAY,IACZ3B,QAAS,qBACTU,OAAQ,oBACRI,aAAc,EACdM,QAAS,OACTC,WAAY,SACZ,UAAW,CACTsF,YAAa,WAEf,UAAW,CACTpG,gBAAiB,aAxBJvF,CA4BnB4L,EAAAA,IAsDF,KAAe5L,EAAAA,EAAAA,IApGA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,0BACRgH,EAAAA,IACAyB,EAAAA,IAFO,IAGVX,YAAW,kBACNd,EAAAA,GAAAA,YADK,IAER,SAAU,CACRP,WAAY,YAGhBkF,eAAgB,CACdzF,QAAS,OACT,4BAA6B,CAC3B0F,SAAU,gBAuFlB,EApDsB,SAAC,GAUH,IATlBzL,EASiB,EATjBA,QACAqD,EAQiB,EARjBA,GACAC,EAOiB,EAPjBA,KACAE,EAMiB,EANjBA,SACAS,EAKiB,EALjBA,QACAP,EAIiB,EAJjBA,MAIiB,IAHjBiD,QAAAA,OAGiB,MAHP,GAGO,EAFjBvD,EAEiB,EAFjBA,MAEiB,IADjBkB,SAAAA,OACiB,SACjB,OACE,SAAC,WAAD,WACE,UAAC,KAAD,CAAMvB,MAAI,EAACC,GAAI,GAAIC,UAAWjD,EAAQwL,eAAtC,UACa,KAAV9H,IACC,UAAC,IAAD,CAAYgE,QAASrE,EAAIJ,UAAWjD,EAAQ2H,WAA5C,WACE,0BAAOjE,IACM,KAAZiD,IACC,gBAAK1D,UAAWjD,EAAQ4H,iBAAxB,UACE,SAAC,IAAD,CAAShG,MAAO+E,EAASkB,UAAU,YAAnC,UACE,gBAAK5E,UAAWjD,EAAQ2G,QAAxB,UACE,SAAC,IAAD,cAOZ,SAAC,IAAD,CAAakD,WAAS,EAAtB,UACE,SAAC,IAAD,CACExG,GAAIA,EACJC,KAAMA,EACNF,MAAOA,EACPI,SAAUA,EACV6H,OAAO,SAACH,EAAD,IACP5G,SAAUA,EANZ,SAQGL,EAAQ8G,KAAI,SAACW,GAAD,OACX,SAAC,IAAD,CACEtI,MAAOsI,EAAOtI,MADhB,SAIGsI,EAAOhI,OAJV,iBAEiBJ,EAFjB,YAEyBoI,EAAOhI,wB,0DCH1CiI,E,8MAMEC,EAAgB,WACpBC,cAAcF,IA+FVG,EAAqB,CACzBC,oBAAqBrM,EAAAA,IAKvB,GAFkBD,EAAAA,EAAAA,KARD,SAACuM,GAAD,MAAsB,CACrCC,kBAAmBD,EAAME,OAAOC,iBAOEL,EAEpC,EAAyBnM,EAAAA,EAAAA,IA3LV,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXuM,oBAAqB,CACnB3D,SAAU,WACV/B,UAAW,GACX1C,MAAO,MACPkB,gBAAiB,OACjBG,OAAQ,oBACRgH,gBAAiB,GACjB5G,aAAc,EACd6G,OAAQ,IACR3H,QAAS,YACT4H,KAAM,MACNzH,UAAW,mBACXM,QAAS,EACToH,mBAAoB,QAEtBC,eAAgB,CACdrH,QAAS,GAEXsH,YAAa,CACXjE,SAAU,WACVE,MAAO,EACPnC,SAAU,QACVnB,OAAQ,EACRH,gBAAiB,OACjByH,OAAQ,WAEVC,WAAY,CACV7G,QAAS,OACTC,WAAY,UAEd6G,WAAY,CACVxI,MAAO,OACPmC,SAAU,GACVF,WAAY,IACZf,WAAY,EACZkF,YAAa,IAEfqC,YAAa,CACXzI,MAAO,UACP0B,QAAS,OACT,QAAS,CACP/B,MAAO,GACPU,OAAQ,KAGZqI,cAAe,CACb1I,MAAO,UACP0B,QAAS,OACTC,WAAY,SACZX,OAAQ,EACRH,gBAAiB,cACjB8H,YAAa,EACbxG,SAAU,GACVyG,kBAAmB,OACnBN,OAAQ,WAEVO,sBAAuB,CACrBC,UAAW,SACX9I,MAAO,UACP8G,WAAY,EACZxG,QAAS,SACTe,WAAY,sBACZ0H,SAAU,UAEZC,iBAAkB,CAChBlC,WAAY,EACZxG,QAAS,YAEX2I,aAAc,CACZ/H,YAAa,GAEfgI,UAAW,CACTzI,UAAW,iBACXmI,kBAAmB,YAgHAtN,EAlGN,SAAC,GAKK,IAJvBK,EAIsB,EAJtBA,QACAiM,EAGsB,EAHtBA,kBACAF,EAEsB,EAFtBA,oBACAyB,EACsB,EADtBA,YAEA,GAAsClN,EAAAA,EAAAA,WAAkB,GAAxD,eAAOmN,EAAP,KAAoBC,EAApB,KACA,GAA8CpN,EAAAA,EAAAA,WAAkB,GAAhE,eAAOqN,EAAP,KAAwBC,EAAxB,KAEMC,GAAoBC,EAAAA,EAAAA,cAAY,WACpCF,GAAmB,KAClB,KAEH3M,EAAAA,EAAAA,YAAU,WACH0M,IACH5B,EAAoB,CAAEgC,cAAe,GAAIC,aAAc,KACvDN,GAAe,MAGhB,CAAC3B,EAAqB4B,KAEzB1M,EAAAA,EAAAA,YAAU,WAEwB,KAA9BgL,EAAkBgC,SACS,UAA3BhC,EAAkB/K,MAGlB0M,GAAmB,KAGpB,CAACC,EAAmB5B,EAAkBgC,QAAShC,EAAkB/K,OAEpE,IAIM+M,EAAUC,GAAAA,CAAIjC,EAAmB,UAAW,IAC5CkC,EAAiBD,GAAAA,CAAIjC,EAAmB,mBAAoB,IAElE,MAA+B,UAA3BA,EAAkB/K,MAAgC,KAAZ+M,EACjC,MAIP,SAAC,EAAAG,SAAD,WACE,iBACEnL,UAAS,UAAKjD,EAAQoM,oBAAb,YACPuB,EAAkB3N,EAAQyM,eAAiB,IAE7C1I,MAAOyJ,EACPa,YAAazC,EACb0C,aAAc,WA1DpB3C,EAAS4C,YA0DgCV,EA1DF,MAoDnC,WAQE,mBAAQ5K,UAAWjD,EAAQ0M,YAAanI,QAASsJ,EAAjD,UACE,SAACW,EAAA,EAAD,OAEF,iBAAKvL,UAAWjD,EAAQ4M,WAAxB,WACE,iBAAM3J,UAAWjD,EAAQ8M,YAAzB,UACE,SAAC2B,EAAA,EAAD,OAEF,iBAAMxL,UAAWjD,EAAQ6M,WAAzB,SAAsCoB,OAEpB,KAAnBE,IACC,UAAC,EAAAC,SAAD,YACE,gBAAKnL,UAAWjD,EAAQ0O,qBAAxB,UACE,oBAAQzL,UAAWjD,EAAQ+M,cAAexI,QAjChC,WACpBmJ,GAAgBD,IAgCN,qBAEE,SAACkB,EAAA,EAAD,CACE1L,UAAS,UAAKjD,EAAQsN,aAAb,YACPG,EAAczN,EAAQuN,UAAY,YAK1C,gBACEtK,UAAS,UAAKjD,EAAQkN,sBAAb,YACPO,EAAczN,EAAQqN,iBAAmB,IAF7C,SAKGc,gBC1CT3O,GAAYC,EAAAA,EAAAA,KAJD,SAACuM,GAAD,MAAsB,CACrCC,kBAAmBD,EAAME,OAAOC,iBAGE,CAClCyC,qBAAAA,EAAAA,KAGF,GAAejP,EAAAA,EAAAA,IA3IA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,kBACRgP,EAAAA,IADO,IAEVpK,KAAM,CACJ,mBAAoB,CAClBE,QAAS,wBAGbmK,QAAS,CACPnK,QAAS,GACToK,cAAe,GAEjBC,iBAAkB,CAChBhL,MAAO,OACP6E,SAAU,MAEToG,EAAAA,OA2HP,CAAkCzP,GAxHb,SAAC,GAWF,IAVlBmC,EAUiB,EAVjBA,QACAD,EASiB,EATjBA,UACAE,EAQiB,EARjBA,MACAsN,EAOiB,EAPjBA,SACAlP,EAMiB,EANjBA,QAMiB,IALjBmP,UAAAA,OAKiB,SAJjBlD,EAIiB,EAJjBA,kBACAmD,EAGiB,EAHjBA,iBACAR,EAEiB,EAFjBA,qBAEiB,IADjB/M,UAAAA,OACiB,MADL,KACK,EACjB,GAAwCvB,EAAAA,EAAAA,WAAkB,GAA1D,eAAO+O,EAAP,KAAqBC,EAArB,MAEArO,EAAAA,EAAAA,YAAU,WACR2N,EAAqB,MACpB,CAACA,KAEJ3N,EAAAA,EAAAA,YAAU,WACR,GAAIgL,EAAmB,CACrB,GAAkC,KAA9BA,EAAkBgC,QAEpB,YADAqB,GAAgB,GAIa,UAA3BrD,EAAkB/K,MACpBoO,GAAgB,MAGnB,CAACrD,IAEJ,IAKMsD,EAAaJ,EACf,CACEnP,QAAS,CACPwP,MAAOxP,EAAQgP,mBAGnB,CAAEnG,SAAU,KAAegB,WAAW,GAEtCoE,EAAU,GAYd,OAVIhC,IACFgC,EAAUhC,EAAkBwD,kBAEa,KAAvCxD,EAAkBwD,kBAClBxD,EAAkBwD,iBAAiBtI,OAAS,KAE5C8G,EAAUhC,EAAkBgC,WAK9B,UAACyB,EAAA,GAAD,gBACEzP,KAAMyB,EACN1B,QAASA,GACLuP,GAHN,IAIEI,OAAQ,QACRhO,QAAS,SAACO,EAAO0N,GACA,kBAAXA,GACFjO,KAGJsB,UAAWjD,EAAQyE,KAVrB,WAYE,UAACoL,EAAA,EAAD,CAAa5M,UAAWjD,EAAQ4B,MAAhC,WACE,iBAAKqB,UAAWjD,EAAQ8P,UAAxB,UACGjO,EADH,IACeD,MAEf,gBAAKqB,UAAWjD,EAAQ+P,eAAxB,UACE,SAACC,EAAA,EAAD,CACE,aAAW,QACX/M,UAAWjD,EAAQ0M,YACnBnI,QAAS5C,EACT0F,eAAa,EACb2C,KAAK,QALP,UAOE,SAACwE,EAAA,EAAD,YAKN,SAAC,EAAD,KACA,SAACyB,EAAA,EAAD,CACEhQ,KAAMoP,EACNpM,UAAWjD,EAAQkQ,cACnBvO,QAAS,WA1Db2N,GAAgB,GAChBV,EAAqB,KA4DjBX,QAASA,EACTkC,aAAc,CACZlN,UAAU,GAAD,OAAKjD,EAAQoQ,SAAb,YACPnE,GAAgD,UAA3BA,EAAkB/K,KACnClB,EAAQqQ,cACR,KAGRC,iBACErE,GAAgD,UAA3BA,EAAkB/K,KAAmB,IAAQ,OAGtE,SAACqP,EAAA,EAAD,CAAetN,UAAWmM,EAAmB,GAAKpP,EAAQ8O,QAA1D,SACGI","sources":["screens/Console/Buckets/BucketDetails/EnableQuota.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Button, LinearProgress, SelectChangeEvent } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport { factorForDropdown, getBytes, units } from \"../../../../common/utils\";\nimport { BucketQuota } from \"../types\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport api from \"../../../../common/api\";\nimport { BucketQuotaIcon } from \"../../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\ninterface IEnableQuotaProps {\n classes: any;\n open: boolean;\n enabled: boolean;\n cfg: BucketQuota | null;\n selectedBucket: string;\n closeModalAndRefresh: () => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst EnableQuota = ({\n classes,\n open,\n enabled,\n cfg,\n selectedBucket,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: IEnableQuotaProps) => {\n const [loading, setLoading] = useState(false);\n const [quotaEnabled, setQuotaEnabled] = useState(false);\n const [quotaType, setQuotaType] = useState(\"hard\");\n const [quotaSize, setQuotaSize] = useState(\"1\");\n const [quotaUnit, setQuotaUnit] = useState(\"TiB\");\n\n useEffect(() => {\n if (enabled) {\n setQuotaEnabled(true);\n if (cfg) {\n setQuotaType(cfg.type);\n setQuotaSize(`${cfg.quota}`);\n setQuotaUnit(`B`);\n\n let maxUnit = \"B\";\n let maxQuota = cfg.quota;\n\n for (let i = 0; i < units.length; i++) {\n if (cfg.quota % Math.pow(1024, i) === 0) {\n maxQuota = cfg.quota / Math.pow(1024, i);\n maxUnit = units[i];\n } else {\n break;\n }\n }\n setQuotaSize(`${maxQuota}`);\n setQuotaUnit(maxUnit);\n }\n }\n }, [enabled, cfg]);\n\n const enableBucketEncryption = (event: React.FormEvent) => {\n event.preventDefault();\n if (loading) {\n return;\n }\n let req = {\n enabled: quotaEnabled,\n amount: parseInt(getBytes(quotaSize, quotaUnit, false)),\n quota_type: quotaType,\n };\n\n api\n .invoke(\"PUT\", `/api/v1/buckets/${selectedBucket}/quota`, req)\n .then(() => {\n setLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n return (\n {\n closeModalAndRefresh();\n }}\n title=\"Enable Bucket Quota\"\n titleIcon={}\n >\n ) => {\n enableBucketEncryption(e);\n }}\n >\n \n \n \n ) => {\n setQuotaEnabled(event.target.checked);\n }}\n label={\"Quota\"}\n />\n \n {quotaEnabled && (\n \n \n ) => {\n setQuotaType(e.target.value as string);\n }}\n selectorOptions={[{ value: \"hard\", label: \"Hard\" }]}\n />\n \n \n \n \n ) => {\n setQuotaSize(e.target.value);\n }}\n label=\"Quota\"\n value={quotaSize}\n required\n min=\"1\"\n />\n \n \n
\n ) => {\n setQuotaUnit(e.target.value as string);\n }}\n options={factorForDropdown()}\n />\n
\n
\n
\n
\n
\n )}\n
\n \n {\n closeModalAndRefresh();\n }}\n >\n Cancel\n \n\n \n Save\n \n \n {loading && (\n \n \n \n )}\n
\n \n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(EnableQuota));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n
\n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n
\n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\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\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\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 ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n"],"names":["connector","connect","setModalErrorSnackMessage","withStyles","theme","createStyles","formFieldStyles","modalStyleUtils","classes","open","enabled","cfg","selectedBucket","closeModalAndRefresh","useState","loading","setLoading","quotaEnabled","setQuotaEnabled","quotaType","setQuotaType","quotaSize","setQuotaSize","quotaUnit","setQuotaUnit","useEffect","type","quota","maxUnit","maxQuota","i","units","Math","pow","modalOpen","onClose","title","titleIcon","noValidate","autoComplete","onSubmit","e","event","preventDefault","req","amount","parseInt","getBytes","quota_type","api","then","catch","err","enableBucketEncryption","container","item","xs","className","formScrollable","formFieldRow","value","id","name","checked","onChange","target","label","currentSelection","selectorOptions","required","min","style","width","options","factorForDropdown","modalButtonBar","variant","color","disabled","onClick","StyledSwitch","root","height","padding","margin","switchBase","transform","palette","common","white","backgroundColor","boxShadow","opacity","border","thumb","marginLeft","track","borderRadius","transition","transitions","create","focusVisible","switchContainer","display","alignItems","justifyContent","Switch","divContainer","marginBottom","indicatorLabelOn","fontWeight","indicatorLabel","fontSize","fieldDescription","marginTop","tooltip","actionsTray","fieldBasic","switchOnly","description","indicatorLabels","switchComponent","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","sm","md","htmlFor","inputLabel","tooltipContainer","placement","textAlign","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","multiline","index","error","placeholder","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","size","radioStyles","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","icon","radioUnselectedIcon","optionLabel","marginRight","checkedOption","disableOptions","displayInColumn","radioOptionsLayout","row","map","selectorOption","control","SelectStyled","lineHeight","spacing","input","borderColor","InputBase","fieldContainer","flexFlow","option","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","borderLeftWidth","zIndex","left","transitionDuration","modalErrorShow","closeButton","cursor","errorTitle","errorLabel","messageIcon","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","detailedError","errorMessage","message","get","messageDetails","Fragment","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","Dialog","scroll","reason","DialogTitle","titleText","closeContainer","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/1711.669b8be7.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/EnableQuota.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Button, LinearProgress, SelectChangeEvent } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport { factorForDropdown, getBytes, units } from \"../../../../common/utils\";\nimport { BucketQuota } from \"../types\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport api from \"../../../../common/api\";\nimport { BucketQuotaIcon } from \"../../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\ninterface IEnableQuotaProps {\n classes: any;\n open: boolean;\n enabled: boolean;\n cfg: BucketQuota | null;\n selectedBucket: string;\n closeModalAndRefresh: () => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst EnableQuota = ({\n classes,\n open,\n enabled,\n cfg,\n selectedBucket,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: IEnableQuotaProps) => {\n const [loading, setLoading] = useState(false);\n const [quotaEnabled, setQuotaEnabled] = useState(false);\n const [quotaType, setQuotaType] = useState(\"hard\");\n const [quotaSize, setQuotaSize] = useState(\"1\");\n const [quotaUnit, setQuotaUnit] = useState(\"TiB\");\n\n useEffect(() => {\n if (enabled) {\n setQuotaEnabled(true);\n if (cfg) {\n setQuotaType(cfg.type);\n setQuotaSize(`${cfg.quota}`);\n setQuotaUnit(`B`);\n\n let maxUnit = \"B\";\n let maxQuota = cfg.quota;\n\n for (let i = 0; i < units.length; i++) {\n if (cfg.quota % Math.pow(1024, i) === 0) {\n maxQuota = cfg.quota / Math.pow(1024, i);\n maxUnit = units[i];\n } else {\n break;\n }\n }\n setQuotaSize(`${maxQuota}`);\n setQuotaUnit(maxUnit);\n }\n }\n }, [enabled, cfg]);\n\n const enableBucketEncryption = (event: React.FormEvent) => {\n event.preventDefault();\n if (loading) {\n return;\n }\n let req = {\n enabled: quotaEnabled,\n amount: parseInt(getBytes(quotaSize, quotaUnit, false)),\n quota_type: quotaType,\n };\n\n api\n .invoke(\"PUT\", `/api/v1/buckets/${selectedBucket}/quota`, req)\n .then(() => {\n setLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n return (\n {\n closeModalAndRefresh();\n }}\n title=\"Enable Bucket Quota\"\n titleIcon={}\n >\n ) => {\n enableBucketEncryption(e);\n }}\n >\n \n \n \n ) => {\n setQuotaEnabled(event.target.checked);\n }}\n label={\"Quota\"}\n />\n \n {quotaEnabled && (\n \n \n ) => {\n setQuotaType(e.target.value as string);\n }}\n selectorOptions={[{ value: \"hard\", label: \"Hard\" }]}\n />\n \n \n \n \n ) => {\n setQuotaSize(e.target.value);\n }}\n label=\"Quota\"\n value={quotaSize}\n required\n min=\"1\"\n />\n \n \n
\n ) => {\n setQuotaUnit(e.target.value as string);\n }}\n options={factorForDropdown()}\n />\n
\n
\n
\n
\n
\n )}\n
\n \n {\n closeModalAndRefresh();\n }}\n >\n Cancel\n \n\n \n Save\n \n \n {loading && (\n \n \n \n )}\n
\n \n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(EnableQuota));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n
\n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\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\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\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 ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n"],"names":["connector","connect","setModalErrorSnackMessage","withStyles","theme","createStyles","formFieldStyles","modalStyleUtils","classes","open","enabled","cfg","selectedBucket","closeModalAndRefresh","useState","loading","setLoading","quotaEnabled","setQuotaEnabled","quotaType","setQuotaType","quotaSize","setQuotaSize","quotaUnit","setQuotaUnit","useEffect","type","quota","maxUnit","maxQuota","i","units","Math","pow","modalOpen","onClose","title","titleIcon","noValidate","autoComplete","onSubmit","e","event","preventDefault","req","amount","parseInt","getBytes","quota_type","api","then","catch","err","enableBucketEncryption","container","item","xs","className","formScrollable","formFieldRow","value","id","name","checked","onChange","target","label","currentSelection","selectorOptions","required","min","style","width","options","factorForDropdown","modalButtonBar","variant","color","disabled","onClick","StyledSwitch","root","height","padding","margin","switchBase","transform","palette","common","white","backgroundColor","boxShadow","opacity","border","thumb","marginLeft","track","borderRadius","transition","transitions","create","focusVisible","switchContainer","display","alignItems","justifyContent","Switch","divContainer","marginBottom","indicatorLabelOn","fontWeight","indicatorLabel","fontSize","fieldDescription","marginTop","tooltip","actionsTray","fieldBasic","switchOnly","description","indicatorLabels","switchComponent","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","sm","md","htmlFor","inputLabel","tooltipContainer","placement","textAlign","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","multiline","index","error","placeholder","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","size","radioStyles","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","icon","radioUnselectedIcon","optionLabel","marginRight","checkedOption","disableOptions","displayInColumn","radioOptionsLayout","row","map","selectorOption","control","SelectStyled","lineHeight","spacing","input","borderColor","InputBase","fieldContainer","flexFlow","option","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","borderLeftWidth","zIndex","left","transitionDuration","modalErrorShow","closeButton","cursor","errorTitle","errorLabel","messageIcon","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","detailedError","errorMessage","message","get","messageDetails","Fragment","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","Dialog","scroll","reason","DialogTitle","titleText","closeContainer","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2094.8b6cdedb.chunk.js b/portal-ui/build/static/js/2094.8b6cdedb.chunk.js new file mode 100644 index 000000000..96dd8f843 --- /dev/null +++ b/portal-ui/build/static/js/2094.8b6cdedb.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2094],{8235:function(e,n,t){t(50390);var i=t(86509),a=t(4285),o=t(25594),r=t(62559);n.Z=(0,a.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 n=e.classes,t=e.iconComponent,i=e.title,a=e.help;return(0,r.jsx)("div",{className:n.root,children:(0,r.jsxs)(o.ZP,{container:!0,children:[(0,r.jsxs)(o.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,i]}),(0,r.jsx)(o.ZP,{item:!0,xs:12,className:n.helpText,children:a})]})})}))},53224:function(e,n,t){var i=t(18489),a=t(83738),o=(t(50390),t(70758)),r=t(62449),s=t(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,r.Z)((function(e){return{root:{padding:"7px",color:function(n){return function(n){var t=n.variant,i=n.color,a=e.palette.primary.main;return"primary"===i&&"contained"===t?a=e.palette.primary.contrastText:"primary"===i&&"outlined"===t?a=e.palette.primary.main:"secondary"===i&&(a=e.palette.secondary.main),a}(n)},borderColor:function(n){return"secondary"===n.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));n.Z=function(e){var n=c(e),t=e.onClick,r=e.text,d=void 0===r?"":r,u=e.disabled,m=void 0!==u&&u,p=e.tooltip,h=e.icon,x=void 0===h?null:h,f=(0,a.Z)(e,l);return(0,s.jsxs)(o.Z,(0,i.Z)((0,i.Z)({classes:n,tooltip:p||d,variant:"outlined",onClick:t,disabled:m,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},f),{},{children:[(0,s.jsx)("span",{children:d})," ",x]}))}},47346:function(e,n,t){t.r(n);var i=t(23430),a=(t(50390),t(34424)),o=t(23473),r=t(44149),s=t(21639),l=t(60656),c=t(98280),d=t(62559),u={setErrorSnackMessage:r.Ih},m=(0,a.$j)(null,u);n.default=m((function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,a=e.selectedBucket,r=e.setErrorSnackMessage,u=(0,s.Z)((function(){return n(!0)}),(function(e){return r(e)})),m=(0,i.Z)(u,2),p=m[0],h=m[1];if(!a)return null;return(0,d.jsx)(l.Z,{title:"Delete Bucket",confirmText:"Delete",isOpen:t,titleIcon:(0,d.jsx)(c.Nv,{}),isLoading:p,onConfirm:function(){h("DELETE","/api/v1/buckets/".concat(a),{name:a})},onClose:function(){return n(!1)},confirmationContent:(0,d.jsxs)(o.Z,{children:["Are you sure you want to delete bucket ",(0,d.jsx)("b",{children:a}),"? ",(0,d.jsx)("br",{}),"A bucket can only be deleted if it's empty."]})})}))},62094:function(e,n,t){t.r(n),t.d(n,{default:function(){return Q}});var i=t(35531),a=t(23430),o=t(18489),r=t(50390),s=t(34424),l=t(86509),c=t(4285),d=t(81378),u=t(25594),m=t(98280),p=t(44149),h=t(72462),x=t(30324),f=t(47346),g=t(35721),b=t(35477),Z=t(56805),j=t(28948),v=t(54950),C=t(6369),k=t(49495),y=t(15607),S=t(53224),N=t(44977),w=t(62559),B=(0,c.Z)((function(e){return(0,l.Z)({root:{marginBottom:30,padding:20,color:e.palette.primary.main,border:"#E5E5E5 1px solid",borderRadius:2,"& .min-icon":{height:14,width:14,marginRight:4},"& .MuiTypography-body2":{fontSize:14},"& .MuiCardHeader-content":{wordWrap:"break-word",overflowWrap:"break-word",wordBreak:"break-all",font:"normal normal bold 24px/27px Lato",color:e.palette.primary.main,"& .MuiTypography-root":{fontSize:19,fontWeight:"bold","& .min-icon":{position:"relative",top:4,marginRight:4,height:"24px !important"}}},"& .MuiCardHeader-root":{background:"transparent linear-gradient(0deg, #EEF1F44E 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box"}},checkBoxElement:{width:32,height:32,float:"left",overflow:"hidden","& div":{position:"absolute"}},viewButton:{width:111,color:"white",marginLeft:8,fontSize:12,fontWeight:"normal",boxShadow:"unset",borderRadius:4},manageButton:{borderRadius:4,width:111,color:e.palette.grey[700],textTransform:"unset",fontSize:12,fontWeight:"normal","& .MuiButton-endIcon":{"& .min-icon":{fontSize:18}}},metric:{"& .min-icon":{color:"#000000",width:13,marginRight:5}},metricLabel:{fontSize:14,fontWeight:"bold",color:"#000000"},metricText:{fontSize:24,fontWeight:"bold"},unit:{fontSize:12,fontWeight:"normal"},bucketName:{padding:0,margin:0,fontSize:22},bucketIcon:{"& .min-icon":{height:48,width:48}},bucketInfo:{display:"flex","@media (max-width: 900px)":{flexFlow:"column-reverse"}},bucketStats:{marginTop:15,borderTop:"1px solid rgb(234,234,234, .7)",paddingTop:14},bucketActionButtons:{display:"flex",alignItems:"center",justifyContent:"flex-end","@media (max-width: 900px)":{marginTop:"-33px"}}})}))((function(e){var n=e.classes,t=e.bucket,i=(e.onDelete,e.onSelect),a=e.selected,o=e.bulkSelect,r=(0,j.ae)("".concat(t.size)||"0"),s=r.split(" ")[0],l=r.split(" ")[1];return(0,w.jsxs)(u.ZP,{container:!0,className:(0,N.Z)(n.root,"bucket-item"),children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsxs)(u.ZP,{container:!0,justifyContent:"space-between",children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,sm:7,children:(0,w.jsxs)(u.ZP,{container:!0,children:[(0,w.jsxs)(u.ZP,{item:!0,xs:12,children:[o&&(0,w.jsx)("div",{className:n.checkBoxElement,onClick:function(e){e.stopPropagation()},children:(0,w.jsx)(v.Z,{checked:a,id:"select-".concat(t.name),label:"",name:"select-".concat(t.name),onChange:function(e){i(e)},value:t.name})}),(0,w.jsx)("h1",{className:n.bucketName,children:t.name})]}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsxs)(u.ZP,{container:!0,className:n.bucketInfo,children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,sm:!0,children:(0,w.jsxs)(b.Z,{variant:"body2",children:["Created: ",t.creation_date]})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,sm:!0,children:(0,w.jsxs)(b.Z,{variant:"body2",children:["Access: ",function(e){var n,t,i,a,o,r;return null===(n=e.rw_access)||void 0===n||!n.read||null!==(t=e.rw_access)&&void 0!==t&&t.write?null!==(i=e.rw_access)&&void 0!==i&&i.read||null===(a=e.rw_access)||void 0===a||!a.write?null!==(o=e.rw_access)&&void 0!==o&&o.read&&null!==(r=e.rw_access)&&void 0!==r&&r.write?"R/W":"":"W":"R"}(t)]})})]})})]})}),(0,w.jsxs)(u.ZP,{item:!0,xs:12,sm:5,className:n.bucketActionButtons,children:[(0,w.jsx)(y.Z,{scopes:k.D[k.EI.BUCKET_ADMIN],resource:t.name,children:(0,w.jsx)(C.rU,{to:"/buckets/".concat(t.name,"/admin"),style:{textDecoration:"none"},children:(0,w.jsx)(S.Z,{tooltip:"Manage",onClick:function(){},text:"Manage",icon:(0,w.jsx)(m.ew,{}),color:"primary",variant:"outlined"})})}),(0,w.jsx)(C.rU,{to:"/buckets/".concat(t.name,"/browse"),style:{textDecoration:"none"},children:(0,w.jsx)(S.Z,{tooltip:"Browse",onClick:function(){},text:"Browse",icon:(0,w.jsx)(m.LZ,{}),color:"primary",variant:"contained"})}),(0,w.jsx)(Z.Z,{display:{xs:"none",sm:"block"},children:(0,w.jsx)("div",{style:{marginBottom:10}})})]})]})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,className:n.bucketStats,children:(0,w.jsxs)(u.ZP,{container:!0,justifyContent:"flex-start",spacing:4,children:[(0,w.jsx)(u.ZP,{item:!0,className:n.bucketIcon,children:(0,w.jsx)(m.wN,{})}),(0,w.jsxs)(u.ZP,{item:!0,textAlign:"left",className:n.metric,children:[(0,w.jsx)(m.rH,{}),(0,w.jsx)("span",{className:n.metricLabel,children:"Usage"}),(0,w.jsxs)("div",{className:n.metricText,children:[s,(0,w.jsx)("span",{className:n.unit,children:l})]})]}),(0,w.jsxs)(u.ZP,{item:!0,textAlign:"left",className:n.metric,children:[(0,w.jsx)(m.xp,{}),(0,w.jsx)("span",{className:n.metricLabel,children:"Objects"}),(0,w.jsx)("div",{className:n.metricText,children:t.objects?(0,j.CE)(t.objects):0})]})]})})]})})),F=t(94187),P=t(38342),M=t.n(P),E=t(19538),L=t(99528),I=t(66964),R=t(76352),T=t(50280),z=t(76295),A=t(92440),W=t(67754),O=(0,s.$j)(null,{setModalErrorSnackMessage:p.zb}),D=(0,c.Z)((function(e){return(0,l.Z)((0,o.Z)((0,o.Z)({remoteBucketList:{display:"grid",gridTemplateColumns:"auto auto 45px",alignItems:"center",justifyContent:"stretch"},errorIcon:{color:"#C72C48"},successIcon:{color:"#42C91A"},hide:{opacity:0,transitionDuration:"0.3s"}},h.oO),h.AK))}))(O((function(e){var n=e.open,t=e.closeModalAndRefresh,o=e.classes,s=e.buckets,l=e.setModalErrorSnackMessage,c=(0,r.useState)([]),d=(0,a.Z)(c,2),m=d[0],p=d[1],h=(0,r.useState)(!1),f=(0,a.Z)(h,2),g=f[0],b=f[1],Z=(0,r.useState)(!1),v=(0,a.Z)(Z,2),C=v[0],k=v[1],y=(0,r.useState)(""),S=(0,a.Z)(y,2),N=S[0],B=S[1],P=(0,r.useState)(""),O=(0,a.Z)(P,2),D=O[0],_=O[1],H=(0,r.useState)(""),U=(0,a.Z)(H,2),K=U[0],$=U[1],Y=(0,r.useState)(""),G=(0,a.Z)(Y,2),q=G[0],Q=G[1],V=(0,r.useState)(!0),X=(0,a.Z)(V,2),J=X[0],ee=X[1],ne=(0,r.useState)("async"),te=(0,a.Z)(ne,2),ie=te[0],ae=te[1],oe=(0,r.useState)("100"),re=(0,a.Z)(oe,2),se=re[0],le=re[1],ce=(0,r.useState)("Gi"),de=(0,a.Z)(ce,2),ue=de[0],me=de[1],pe=(0,r.useState)("60"),he=(0,a.Z)(pe,2),xe=he[0],fe=he[1],ge=(0,r.useState)([]),be=(0,a.Z)(ge,2),Ze=be[0],je=be[1],ve=(0,r.useState)([]),Ce=(0,a.Z)(ve,2),ke=Ce[0],ye=Ce[1],Se=(0,r.useState)([]),Ne=(0,a.Z)(Se,2),we=Ne[0],Be=Ne[1],Fe=ke.map((function(e){return{label:e,value:e}}));(0,r.useEffect)((function(){if(0===Ze.length){var e=[],n=[];s.forEach((function(t){e.push(t),n.push("")})),je(n),p(e)}}),[s,Ze.length]);var Pe=function(e){var n=e.errString;switch(n){case"":return(0,w.jsx)("div",{className:o.successIcon,children:(0,w.jsx)(L.Z,{})});case"n/a":return null;default:if(n)return(0,w.jsx)("div",{className:o.errorIcon,children:(0,w.jsx)(F.Z,{title:n,placement:"top-start",children:(0,w.jsx)(E.Z,{})})})}return null},Me=function(e,n){var t=(0,i.Z)(Ze);t[e]=n,je(t)},Ee=function(e){var n=(0,i.Z)(m),t=(0,i.Z)(Ze);e.forEach((function(e){var i=M()(e,"errorString","");if(!i||""===i){var a=n.indexOf(e.originBucket);n.splice(a,1),t.splice(a,1)}})),p(n),je(t)};return(0,w.jsx)(R.Z,{modalOpen:n,onClose:function(){t(!1)},title:"Set Multiple Bucket Replication",children:(0,w.jsx)(z.Z,{loadingStep:g||C,wizardSteps:[{label:"Remote Configuration",componentRender:(0,w.jsxs)(r.Fragment,{children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(T.Z,{label:"Local Buckets to replicate",content:m.join(", ")})}),(0,w.jsx)("h4",{children:"Remote Endpoint Configuration"}),(0,w.jsx)("span",{className:o.descriptionText,children:"Please avoid the use of root credentials for this feature"}),(0,w.jsx)("br",{}),(0,w.jsx)("br",{}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(I.Z,{id:"accessKey",name:"accessKey",onChange:function(e){B(e.target.value)},label:"Access Key",value:N})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(I.Z,{id:"secretKey",name:"secretKey",onChange:function(e){_(e.target.value)},label:"Secret Key",value:D})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(I.Z,{id:"targetURL",name:"targetURL",onChange:function(e){$(e.target.value)},placeholder:"play.min.io:9000",label:"Target URL",value:K})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(A.Z,{checked:J,id:"useTLS",name:"useTLS",label:"Use TLS",onChange:function(e){ee(e.target.checked)},value:"yes"})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(I.Z,{id:"region",name:"region",onChange:function(e){Q(e.target.value)},label:"Region",value:q})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(W.Z,{id:"replication_mode",name:"replication_mode",onChange:function(e){ae(e.target.value)},label:"Replication Mode",value:ie,options:[{label:"Asynchronous",value:"async"},{label:"Synchronous",value:"sync"}]})}),"async"===ie&&(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsxs)("div",{className:o.multiContainer,children:[(0,w.jsx)("div",{children:(0,w.jsx)(I.Z,{type:"number",id:"bandwidth_scalar",name:"bandwidth_scalar",onChange:function(e){le(e.target.value)},label:"Bandwidth",value:se,min:"0"})}),(0,w.jsx)("div",{className:o.sizeFactorContainer,children:(0,w.jsx)(W.Z,{label:"Unit",id:"bandwidth_unit",name:"bandwidth_unit",value:ue,onChange:function(e){me(e.target.value)},options:(0,j.QU)()})})]})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(I.Z,{id:"healthCheck",name:"healthCheck",onChange:function(e){fe(e.target.value)},label:"Health Check Duration",value:xe})})]}),buttons:[{type:"custom",label:"Next",enabled:!C,action:function(e){var n={accessKey:N,secretKey:D,targetURL:K,useTLS:J};k(!0),x.Z.invoke("POST","/api/v1/list-external-buckets",n).then((function(n){var t=M()(n,"buckets",[]);if(t&&t.length>0){var i=t.map((function(e){return e.name}));ye(i)}e("++"),k(!1)})).catch((function(e){k(!1),l(e)}))}}]},{label:"Bucket Assignments",componentRender:(0,w.jsxs)(r.Fragment,{children:[(0,w.jsx)("h3",{children:"Remote Bucket Assignments"}),(0,w.jsx)("span",{className:o.descriptionText,children:"Please select / type the desired remote bucket were you want the local data to be replicated."}),(0,w.jsx)("div",{className:o.remoteBucketList,children:m.map((function(e,n){var t,i=function(e){if(we.length>0){var n=we.find((function(n){return n.originBucket===e}));if(n)return M()(n,"errorString","")||""}return"n/a"}(e);return(0,w.jsxs)(r.Fragment,{children:[(0,w.jsx)("div",{className:""===i?o.hide:"",children:e}),(0,w.jsx)("div",{className:""===i?o.hide:"",children:(t=n,ke.length>0?(0,w.jsx)(r.Fragment,{children:(0,w.jsx)(W.Z,{label:"",id:"assign-bucket-".concat(t),name:"assign-bucket-".concat(t),value:Ze[t],onChange:function(e){Me(t,e.target.value)},options:Fe,disabled:g})}):(0,w.jsx)(r.Fragment,{children:(0,w.jsx)(I.Z,{id:"assign-bucket-".concat(t),name:"assign-bucket-".concat(t),label:"",onChange:function(e){Me(t,e.target.value)},value:Ze[t],disabled:g})}))}),(0,w.jsx)("div",{className:""===i?o.hide:"",children:we.length>0&&(0,w.jsx)(Pe,{errString:i})})]},"buckets-assignation-".concat(n.toString(),"-").concat(e))}))})]}),buttons:[{type:"back",label:"Back",enabled:!0},{type:"next",label:"Create",enabled:!g,action:function(){b(!0);var e=m.map((function(e,n){return{originBucket:e,destinationBucket:Ze[n]}})),n="".concat(J?"https://":"http://").concat(K),i=parseInt(xe),a={accessKey:N,secretKey:D,targetURL:n,region:q,bucketsRelation:e,syncMode:ie,bandwidth:"async"===ie?parseInt((0,j.Pw)(se,ue,!0)):0,healthCheckPeriod:i};x.Z.invoke("POST","/api/v1/buckets-replication",a).then((function(e){b(!1);var n=e.replicationState;Be(n),0===n.filter((function(e){return e.errorString&&""!==e.errorString})).length?t(!0):setTimeout((function(){Ee(n)}),500)})).catch((function(e){b(!1),l(e)}))}}]}],forModal:!0})})}))),_=t(8235),H=t(18221),U=t(11835),K=t(71208),$=t(74524),Y=t(25534),G=t(23165),q=t(18572),Q=(0,s.$j)((function(e){return{session:e.console.session}}),{setErrorSnackMessage:p.Ih})((0,c.Z)((function(e){return(0,l.Z)((0,o.Z)({bulkSelect:{marginLeft:8,"&:hover":{backgroundColor:e.palette.primary.main},"&.MuiButton-contained":{backgroundColor:e.palette.primary.main}},addBucket:{marginLeft:8},bucketList:{marginTop:25,height:"calc(100vh - 210px)"},searchField:(0,o.Z)((0,o.Z)({},h.qg.searchField),{},{minWidth:380,"@media (max-width: 900px)":{minWidth:220}})},(0,h.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=e.history,o=e.setErrorSnackMessage,s=e.session,l=(0,r.useState)([]),c=(0,a.Z)(l,2),p=c[0],h=c[1],b=(0,r.useState)(!0),Z=(0,a.Z)(b,2),j=Z[0],v=Z[1],C=(0,r.useState)(!1),N=(0,a.Z)(C,2),F=N[0],P=N[1],M=(0,r.useState)(""),E=(0,a.Z)(M,2),L=E[0],I=E[1],R=(0,r.useState)(""),T=(0,a.Z)(R,2),z=T[0],A=T[1],W=(0,r.useState)([]),O=(0,a.Z)(W,2),Q=O[0],V=O[1],X=(0,r.useState)(!1),J=(0,a.Z)(X,2),ee=J[0],ne=J[1],te=(0,r.useState)(!1),ie=(0,a.Z)(te,2),ae=ie[0],oe=ie[1];(0,r.useEffect)((function(){if(j){v(!0),x.Z.invoke("GET","/api/v1/buckets").then((function(e){v(!1),h(e.buckets||[])})).catch((function(e){v(!1),o(e)}))}}),[j,o]);var re=function(e){P(!0),I(e)},se=p.filter((function(e){return""===z||e.name.indexOf(z)>=0})),le=function(e){var n=e.target,t=n.value,a=n.checked,o=(0,i.Z)(Q);return a?o.push(t):o=o.filter((function(e){return e!==t})),V(o),o},ce=s&&s.permissions&&Array.from(Object.keys(s.permissions))||[];return(0,w.jsxs)(r.Fragment,{children:[F&&(0,w.jsx)(f.default,{deleteOpen:F,selectedBucket:L,closeDeleteModalAndRefresh:function(e){!function(e){P(!1),e&&(v(!0),V([]))}(e)}}),ee&&(0,w.jsx)(D,{open:ee,buckets:Q,closeModalAndRefresh:function(e){ne(!1),e&&V([])}}),(0,w.jsx)(g.Z,{label:"Buckets"}),(0,w.jsxs)(Y.Z,{children:[(0,w.jsxs)(u.ZP,{item:!0,xs:12,className:n.actionsTray,display:"flex",children:[(0,w.jsx)(G.Z,{onChange:A,placeholder:"Search Buckets",overrideClass:n.searchField,value:z}),(0,w.jsxs)(u.ZP,{item:!0,xs:12,display:"flex",alignItems:"center",justifyContent:"flex-end",children:[(0,w.jsx)(S.Z,{tooltip:ae?"Un Select All":"Select Multiple",onClick:function(){oe(!ae)},text:"",icon:(0,w.jsx)($.Z,{}),color:"primary",variant:ae?"contained":"outlined"}),(0,w.jsx)(S.Z,{tooltip:"Set Replication",onClick:function(){ne(!0)},text:"",icon:(0,w.jsx)(K.Z,{}),disabled:0===Q.length,color:"primary",variant:"outlined"}),(0,w.jsx)(S.Z,{tooltip:"Refresh",onClick:function(){v(!0)},text:"",icon:(0,w.jsx)(H.default,{}),color:"primary",variant:"outlined"}),(0,w.jsx)(y.Z,{scopes:[k.Ft.S3_CREATE_BUCKET],resource:ce,errorProps:{disabled:!0},children:(0,w.jsx)(S.Z,{tooltip:"Create Bucket",onClick:function(){t.push("/add-bucket")},text:"Create Bucket",icon:(0,w.jsx)(m.dt,{}),color:"primary",variant:"contained"})})]})]}),j&&(0,w.jsx)(d.Z,{}),!j&&(0,w.jsxs)(u.ZP,{item:!0,xs:12,className:n.bucketList,children:[0!==se.length&&(0,w.jsx)(q.Z,{rowRenderFunction:function(e){var n=se[e]||null;return n?(0,w.jsx)(B,{bucket:n,onDelete:re,onSelect:le,selected:Q.includes(n.name),bulkSelect:ae}):null},totalItems:se.length}),0===se.length&&""!==z&&(0,w.jsx)(u.ZP,{container:!0,justifyContent:"center",alignContent:"center",alignItems:"center",children:(0,w.jsx)(u.ZP,{item:!0,xs:8,children:(0,w.jsx)(_.Z,{iconComponent:(0,w.jsx)(m.wN,{}),title:"No Results",help:(0,w.jsx)(r.Fragment,{children:"No buckets match the filtering condition"})})})}),0===se.length&&""===z&&(0,w.jsx)(u.ZP,{container:!0,justifyContent:"center",alignContent:"center",alignItems:"center",children:(0,w.jsx)(u.ZP,{item:!0,xs:8,children:(0,w.jsx)(_.Z,{iconComponent:(0,w.jsx)(m.wN,{}),title:"Buckets",help:(0,w.jsxs)(r.Fragment,{children:["MinIO uses buckets to organize objects. A bucket is similar to a folder or directory in a filesystem, where each bucket can hold an arbitrary number of objects.",(0,w.jsxs)(y.Z,{scopes:[k.Ft.S3_CREATE_BUCKET],resource:k.C3,children:[(0,w.jsx)("br",{}),(0,w.jsx)("br",{}),"To get started,\xa0",(0,w.jsx)(U.Z,{onClick:function(){t.push("/add-bucket")},children:"Create a Bucket."})]})]})})})})]})]})]})})))},11835:function(e,n,t){var i=t(18489),a=t(83738),o=(t(50390),t(86509)),r=t(4285),s=t(62559),l=["classes","children"];n.Z=(0,r.Z)((function(e){return(0,o.Z)({root:{padding:0,margin:0,border:0,backgroundColor:"transparent",textDecoration:"underline",cursor:"pointer",fontSize:"inherit",color:e.palette.info.main,fontFamily:"Lato, sans-serif"}})}))((function(e){var n=e.classes,t=e.children,o=(0,a.Z)(e,l);return(0,s.jsx)("button",(0,i.Z)((0,i.Z)({},o),{},{className:n.root,children:t}))}))},70758:function(e,n,t){var i=t(18489),a=t(36222),o=t(83738),r=(t(50390),t(86509)),s=t(4285),l=t(95467),c=t(94187),d=t(44977),u=t(62559),m=["classes","children","variant","tooltip"];n.Z=(0,s.Z)((function(e){return(0,r.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var n=e.classes,t=e.children,r=e.variant,s=void 0===r?"outlined":r,p=e.tooltip,h=(0,o.Z)(e,m),x=(0,u.jsx)(l.Z,(0,i.Z)((0,i.Z)({},h),{},{className:(0,d.Z)(n.root,(0,a.Z)({},n.contained,"contained"===s)),children:t}));return p&&""!==p?(0,u.jsx)(c.Z,{title:p,children:(0,u.jsx)("span",{children:x})}):x}))},54950:function(e,n,t){var i=t(18489),a=t(50390),o=t(25594),r=t(74268),s=t(36554),l=t(94187),c=t(86509),d=t(4285),u=t(72462),m=t(97538),p=t(62559);n.Z=(0,d.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},u.YI),u.Hr),u.lM),{},{fieldContainer:(0,i.Z)((0,i.Z)({},u.YI.fieldContainer),{},{display:"flex",justifyContent:"flex-start",alignItems:"center",margin:"15px 0",marginBottom:0,flexBasis:"initial"})}))}))((function(e){var n=e.label,t=e.onChange,i=e.value,c=e.id,d=e.name,u=e.checked,h=void 0!==u&&u,x=e.disabled,f=void 0!==x&&x,g=e.tooltip,b=void 0===g?"":g,Z=e.classes;return(0,p.jsx)(a.Fragment,{children:(0,p.jsxs)(o.ZP,{item:!0,xs:12,className:Z.fieldContainer,children:[(0,p.jsx)("div",{children:(0,p.jsx)(r.Z,{name:d,id:c,value:i,color:"primary",inputProps:{"aria-label":"secondary checkbox"},checked:h,onChange:t,checkedIcon:(0,p.jsx)("span",{className:Z.checkedIcon}),icon:(0,p.jsx)("span",{className:Z.unCheckedIcon}),disabled:f})}),""!==n&&(0,p.jsxs)(s.Z,{htmlFor:c,className:Z.noMinWidthLabel,children:[(0,p.jsx)("span",{children:n}),""!==b&&(0,p.jsx)("div",{className:Z.tooltipContainer,children:(0,p.jsx)(l.Z,{title:b,placement:"top-start",children:(0,p.jsx)("div",{className:Z.tooltip,children:(0,p.jsx)(m.Z,{})})})})]})]})})}))},92440:function(e,n,t){var i=t(36222),a=t(18489),o=t(50390),r=t(86509),s=t(4285),l=t(49056),c=t(36554),d=t(94187),u=t(35477),m=t(25594),p=t(72462),h=t(97538),x=t(44977),f=t(62559),g=(0,s.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(l.Z);n.Z=(0,s.Z)((function(e){return(0,r.Z)((0,a.Z)((0,a.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},p.OR),p.YI))}))((function(e){var n=e.label,t=void 0===n?"":n,a=e.onChange,r=e.value,s=e.id,l=e.name,p=e.checked,b=void 0!==p&&p,Z=e.disabled,j=void 0!==Z&&Z,v=e.switchOnly,C=void 0!==v&&v,k=e.tooltip,y=void 0===k?"":k,S=e.description,N=void 0===S?"":S,w=e.classes,B=e.indicatorLabels,F=(0,f.jsxs)(o.Fragment,{children:[!C&&(0,f.jsx)("span",{className:(0,x.Z)(w.indicatorLabel,(0,i.Z)({},w.indicatorLabelOn,!b)),children:B&&B.length>1?B[1]:"OFF"}),(0,f.jsx)(g,{checked:b,onChange:a,color:"primary",name:l,inputProps:{"aria-label":"primary checkbox"},disabled:j,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:r}),!C&&(0,f.jsx)("span",{className:(0,x.Z)(w.indicatorLabel,(0,i.Z)({},w.indicatorLabelOn,b)),children:B?B[0]:"ON"})]});return C?F:(0,f.jsx)("div",{className:w.divContainer,children:(0,f.jsxs)(m.ZP,{container:!0,alignItems:"center",children:[(0,f.jsx)(m.ZP,{item:!0,xs:!0,children:(0,f.jsxs)(m.ZP,{container:!0,children:[(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:4,md:3,children:""!==t&&(0,f.jsxs)(c.Z,{htmlFor:s,className:w.inputLabel,children:[(0,f.jsx)("span",{children:t}),""!==y&&(0,f.jsx)("div",{className:w.tooltipContainer,children:(0,f.jsx)(d.Z,{title:y,placement:"top-start",children:(0,f.jsx)("div",{className:w.tooltip,children:(0,f.jsx)(h.Z,{})})})})]})}),(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==N&&(0,f.jsx)(u.Z,{component:"p",className:w.fieldDescription,children:N})})]})}),(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:w.switchContainer,children:F})]})})}))},66964:function(e,n,t){var i=t(18489),a=t(50390),o=t(12066),r=t(25594),s=t(36554),l=t(94187),c=t(95467),d=t(86509),u=t(62449),m=t(4285),p=t(72462),h=t(97538),x=t(44977),f=t(62559),g=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)({},p.gM))}));function b(e){var n=g();return(0,f.jsx)(o.Z,(0,i.Z)({InputProps:{classes:n}},e))}n.Z=(0,m.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,t=e.onChange,o=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,g=e.autoComplete,Z=void 0===g?"off":g,j=e.disabled,v=void 0!==j&&j,C=e.multiline,k=void 0!==C&&C,y=e.tooltip,S=void 0===y?"":y,N=e.index,w=void 0===N?0:N,B=e.error,F=void 0===B?"":B,P=e.required,M=void 0!==P&&P,E=e.placeholder,L=void 0===E?"":E,I=e.min,R=e.max,T=e.overlayIcon,z=void 0===T?null:T,A=e.overlayObject,W=void 0===A?null:A,O=e.extraInputProps,D=void 0===O?{}:O,_=e.overlayAction,H=e.noLabelMinWidth,U=void 0!==H&&H,K=e.pattern,$=void 0===K?"":K,Y=e.autoFocus,G=void 0!==Y&&Y,q=e.classes,Q=e.className,V=void 0===Q?"":Q,X=(0,i.Z)({"data-index":w},D);return"number"===p&&I&&(X.min=I),"number"===p&&R&&(X.max=R),""!==$&&(X.pattern=$),(0,f.jsx)(a.Fragment,{children:(0,f.jsxs)(r.ZP,{container:!0,className:(0,x.Z)(""!==V?V:"",""!==F?q.errorInField:q.inputBoxContainer),children:[""!==n&&(0,f.jsxs)(s.Z,{htmlFor:d,className:U?q.noMinWidthLabel:q.inputLabel,children:[(0,f.jsxs)("span",{children:[n,M?"*":""]}),""!==S&&(0,f.jsx)("div",{className:q.tooltipContainer,children:(0,f.jsx)(l.Z,{title:S,placement:"top-start",children:(0,f.jsx)("div",{className:q.tooltip,children:(0,f.jsx)(h.Z,{})})})})]}),(0,f.jsxs)("div",{className:q.textBoxContainer,children:[(0,f.jsx)(b,{id:d,name:u,fullWidth:!0,value:o,autoFocus:G,disabled:v,onChange:t,type:p,multiline:k,autoComplete:Z,inputProps:X,error:""!==F,helperText:F,placeholder:L,className:q.inputRebase}),z&&(0,f.jsx)("div",{className:"".concat(q.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,f.jsx)(c.Z,{onClick:_?function(){_()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:z})}),W&&(0,f.jsx)("div",{className:"".concat(q.overlayAction," ").concat(""!==n?"withLabel":""),children:W})]})]})})}))},50280:function(e,n,t){var i=t(18489),a=t(50390),o=t(25594),r=t(86509),s=t(4285),l=t(72462),c=t(62559);n.Z=(0,s.Z)((function(e){return(0,r.Z)((0,i.Z)({},l.xx))}))((function(e){var n=e.classes,t=e.label,i=void 0===t?"":t,r=e.content,s=e.multiLine,l=void 0!==s&&s;return(0,c.jsx)(a.Fragment,{children:(0,c.jsxs)(o.ZP,{className:n.prefinedContainer,children:[""!==i&&(0,c.jsx)(o.ZP,{item:!0,xs:12,className:n.predefinedTitle,children:i}),(0,c.jsx)(o.ZP,{item:!0,xs:12,className:n.predefinedList,children:(0,c.jsx)(o.ZP,{item:!0,xs:12,className:l?n.innerContentMultiline:n.innerContent,children:r})})]})})}))},67754:function(e,n,t){var i=t(18489),a=t(50390),o=t(25594),r=t(46413),s=t(36554),l=t(94187),c=t(47554),d=t(43965),u=t(31680),m=t(86509),p=t(4285),h=t(72462),x=t(97538),f=t(62559),g=(0,p.Z)((function(e){return(0,m.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(r.ZP);n.Z=(0,p.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},h.YI),h.Hr),{},{inputLabel:(0,i.Z)((0,i.Z)({},h.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var n=e.classes,t=e.id,i=e.name,r=e.onChange,m=e.options,p=e.label,h=e.tooltip,b=void 0===h?"":h,Z=e.value,j=e.disabled,v=void 0!==j&&j;return(0,f.jsx)(a.Fragment,{children:(0,f.jsxs)(o.ZP,{item:!0,xs:12,className:n.fieldContainer,children:[""!==p&&(0,f.jsxs)(s.Z,{htmlFor:t,className:n.inputLabel,children:[(0,f.jsx)("span",{children:p}),""!==b&&(0,f.jsx)("div",{className:n.tooltipContainer,children:(0,f.jsx)(l.Z,{title:b,placement:"top-start",children:(0,f.jsx)("div",{className:n.tooltip,children:(0,f.jsx)(x.Z,{})})})})]}),(0,f.jsx)(c.Z,{fullWidth:!0,children:(0,f.jsx)(d.Z,{id:t,name:i,value:Z,onChange:r,input:(0,f.jsx)(g,{}),disabled:v,children:m.map((function(e){return(0,f.jsx)(u.Z,{value:e.value,children:e.label},"select-".concat(i,"-").concat(e.label))}))})})]})})}))},76295:function(e,n,t){t.d(n,{Z:function(){return x}});var i=t(23430),a=t(50390),o=t(86509),r=t(4285),s=t(81378),l=t(66946),c=t(62559),d=(0,r.Z)((function(e){return(0,o.Z)({wizardStepContainer:{display:"flex",flexDirection:"column",flex:1},wizardComponent:{overflowY:"auto",marginBottom:10,height:"calc(100vh - 100px - 80px)",minHeight:400,flex:1,width:"100%"},wizardModal:{overflowY:"auto",marginBottom:10,height:"calc(100vh - 515px)"},buttonsContainer:{display:"flex",flexDirection:"row",justifyContent:"flex-start",padding:"10px 0",borderTop:"#EAEAEA 1px solid","& button":{marginLeft:10},"&.forModal":{paddingBottom:0}},buttonInnerContainer:{width:"100%",textAlign:"right",marginRight:15}})}))((function(e){var n=e.classes,t=e.page,i=e.pageChange,a=e.loadingStep,o=e.forModal;return(0,c.jsxs)("div",{className:n.wizardStepContainer,children:[(0,c.jsx)("div",{className:o?n.wizardModal:n.wizardComponent,children:t.componentRender}),a&&(0,c.jsx)("div",{children:(0,c.jsx)(s.Z,{})}),(0,c.jsx)("div",{className:"".concat(n.buttonsContainer," ").concat(o?"forModal":""),children:(0,c.jsx)("div",{className:n.buttonInnerContainer,children:t.buttons.map((function(e){return(0,c.jsx)(l.Z,{variant:"contained",color:"primary",size:"small",onClick:function(){!function(e){switch(e.type){case"next":i("++");break;case"back":i("--");break;case"to":i(e.toPage||0)}e.action&&e.action(i)}(e)},disabled:!e.enabled,children:e.label},"button-".concat(t.label,"-").concat(e.label))}))})})]})})),u=t(5211),m=t(25594),p=t(14291),h=t(70902),x=(0,r.Z)((function(e){return(0,o.Z)({wizFromContainer:{},wizFromModal:{position:"relative"},modalWizardSteps:{padding:5,borderBottom:"#eaeaea 1px solid","& ul":{padding:0,marginTop:0,display:"flex",justifyContent:"space-evenly","& li":{listStyle:"lower-roman","&::marker":{paddingLeft:15}}}},buttonList:{backgroundColor:"transparent",border:"none",cursor:"pointer","&:not(:disabled):hover":{textDecoration:"underline"},"&:selected, &:active, &:focus, &:focus:active":{border:"none",outline:0,boxShadow:"none"}},paddedContentGrid:{marginTop:8,padding:"0 10px",minHeight:400},stepsLabel:{fontSize:20,color:"#393939",fontWeight:600,margin:"15px 12px","&.stepsModalTitle":{textAlign:"center",width:"100%",marginTop:0,marginBottom:10}},stepsMasterContainer:{position:"sticky",top:0,backgroundColor:"#FFFFFF",width:"100%",maxHeight:90},verticalSteps:{borderRight:"1px solid #E5E5E5",background:"#F8F8F8"},stepsContainer:{paddingTop:0,"& .MuiButtonBase-root.Mui-selected":{background:"#E5E5E5"}},stepItem:{minHeight:60,borderBottom:"1px solid #E5E5E5","&:hover":{background:"rgba(247,247,247,0.7)"}}})}))((function(e){var n=e.classes,t=e.wizardSteps,o=e.loadingStep,r=e.forModal,s=(0,a.useState)(0),l=(0,i.Z)(s,2),x=l[0],f=l[1],g=function(e){var n=t.length-1;if("++"===e){var i=x+1;i>n&&(i=n),f(i)}if("--"===e){var a=x-1;a<0&&(a=0),f(a)}if("number"===typeof e){var o=e;e<0&&(o=0),e>n&&(o=n),f(o)}};if(0===t.length)return null;return(0,c.jsxs)(m.ZP,{container:!0,className:r?n.wizFromModal:n.wizFromContainer,children:[r?(0,c.jsx)(a.Fragment,{children:(0,c.jsxs)("div",{className:n.stepsMasterContainer,children:[(0,c.jsx)("div",{className:"".concat(n.stepsLabel," stepsModalTitle"),children:"Steps"}),(0,c.jsx)("div",{className:n.modalWizardSteps,children:(0,c.jsx)("ul",{children:t.map((function(e,t){return(0,c.jsx)("li",{children:(0,c.jsx)("button",{onClick:function(){return g(t)},disabled:t>x,className:n.buttonList,children:e.label})},"wizard-".concat(t.toString()))}))})})]})}):(0,c.jsx)(a.Fragment,{children:(0,c.jsx)(m.ZP,{item:!0,xs:12,sm:2,md:2,lg:2,xl:2,className:n.verticalSteps,children:(0,c.jsx)(a.Fragment,{children:(0,c.jsx)(u.Z,{component:"nav",dense:!0,classes:{root:n.stepsContainer},children:t.map((function(e,t){return(0,c.jsx)(p.ZP,{button:!0,disableRipple:!0,onClick:function(){return g(t)},selected:x===t,classes:{root:n.stepItem},children:(0,c.jsx)(h.Z,{primary:e.label})},"wizard-".concat(t.toString()))}))})})})}),(0,c.jsx)(m.ZP,{item:!0,xs:12,sm:r?12:10,md:r?12:10,lg:r?12:10,xl:r?12:10,className:r?"":n.paddedContentGrid,children:(0,c.jsx)(d,{page:t[x],pageChange:g,loadingStep:o,forModal:r})})]})}))},21639:function(e,n,t){var i=t(23430),a=t(50390),o=t(30324);n.Z=function(e,n){var t=(0,a.useState)(!1),r=(0,i.Z)(t,2),s=r[0],l=r[1];return[s,function(t,i,a){l(!0),o.Z.invoke(t,i,a).then((function(n){l(!1),e(n)})).catch((function(e){l(!1),n(e)}))}]}},60656:function(e,n,t){var i=t(18489),a=t(50390),o=t(84402),r=t(78426),s=t(93085),l=t(7887),c=t(66946),d=t(14476),u=t(95467),m=t(21278),p=t(86509),h=t(4285),x=t(72462),f=t(62559);n.Z=(0,h.Z)((function(e){return(0,p.Z)((0,i.Z)({},x.Qw))}))((function(e){var n=e.isOpen,t=void 0!==n&&n,p=e.onClose,h=e.onCancel,x=e.onConfirm,g=e.classes,b=void 0===g?{}:g,Z=e.title,j=void 0===Z?"":Z,v=e.isLoading,C=e.confirmationContent,k=e.cancelText,y=void 0===k?"Cancel":k,S=e.confirmText,N=void 0===S?"Confirm":S,w=e.confirmButtonProps,B=void 0===w?{}:w,F=e.cancelButtonProps,P=void 0===F?{}:F,M=e.titleIcon,E=void 0===M?null:M;return(0,f.jsxs)(o.Z,{open:t,onClose:function(e,n){"backdropClick"!==n&&p()},className:b.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,f.jsxs)(r.Z,{className:b.title,children:[(0,f.jsxs)("div",{className:b.titleText,children:[E," ",j]}),(0,f.jsx)("div",{className:b.closeContainer,children:(0,f.jsx)(u.Z,{"aria-label":"close",className:b.closeButton,onClick:p,disableRipple:!0,size:"small",children:(0,f.jsx)(m.Z,{})})})]}),(0,f.jsx)(s.Z,{className:b.content,children:C}),(0,f.jsxs)(l.Z,{className:b.actions,children:[(0,f.jsx)(c.Z,(0,i.Z)((0,i.Z)({className:b.cancelButton,onClick:h||p,disabled:v,type:"button"},P),{},{variant:"outlined",color:"primary",children:y})),(0,f.jsx)(d.Z,(0,i.Z)((0,i.Z)({className:b.confirmButton,type:"button",onClick:x,loading:v,disabled:v,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,f.jsx)(a.Fragment,{}),autoFocus:!0},B),{},{children:N}))]})]})}))},76352:function(e,n,t){t.d(n,{Z:function(){return w}});var i,a=t(23430),o=t(18489),r=t(50390),s=t(34424),l=t(95467),c=t(97771),d=t(84402),u=t(78426),m=t(93085),p=t(86509),h=t(4285),x=t(72462),f=t(44149),g=t(38342),b=t.n(g),Z=t(92125),j=t(19538),v=t(21278),C=t(62559),k=function(){clearInterval(i)},y={displayErrorMessage:f.zb},S=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),y)((0,h.Z)((function(e){return(0,p.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var n=e.classes,t=e.modalSnackMessage,o=e.displayErrorMessage,s=e.customStyle,l=(0,r.useState)(!1),c=(0,a.Z)(l,2),d=c[0],u=c[1],m=(0,r.useState)(!1),p=(0,a.Z)(m,2),h=p[0],x=p[1],f=(0,r.useCallback)((function(){x(!1)}),[]);(0,r.useEffect)((function(){h||(o({detailedError:"",errorMessage:""}),u(!1))}),[o,h]),(0,r.useEffect)((function(){""!==t.message&&"error"===t.type&&x(!0)}),[f,t.message,t.type]);var g=b()(t,"message",""),y=b()(t,"detailedErrorMsg","");return"error"!==t.type||""===g?null:(0,C.jsx)(r.Fragment,{children:(0,C.jsxs)("div",{className:"".concat(n.modalErrorContainer," ").concat(h?n.modalErrorShow:""),style:s,onMouseOver:k,onMouseLeave:function(){i=setInterval(f,1e4)},children:[(0,C.jsx)("button",{className:n.closeButton,onClick:f,children:(0,C.jsx)(v.Z,{})}),(0,C.jsxs)("div",{className:n.errorTitle,children:[(0,C.jsx)("span",{className:n.messageIcon,children:(0,C.jsx)(j.Z,{})}),(0,C.jsx)("span",{className:n.errorLabel,children:g})]}),""!==y&&(0,C.jsxs)(r.Fragment,{children:[(0,C.jsx)("div",{className:n.detailsContainerLink,children:(0,C.jsxs)("button",{className:n.detailsButton,onClick:function(){u(!d)},children:["Details",(0,C.jsx)(Z.Z,{className:"".concat(n.arrowElement," ").concat(d?n.arrowOpen:"")})]})}),(0,C.jsx)("div",{className:"".concat(n.extraDetailsContainer," ").concat(d?n.extraDetailsOpen:""),children:y})]})]})})}))),N=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:f.MK}),w=(0,h.Z)((function(e){return(0,p.Z)((0,o.Z)((0,o.Z)({},x.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},x.sN))}))(N((function(e){var n=e.onClose,t=e.modalOpen,i=e.title,s=e.children,p=e.classes,h=e.wideLimit,x=void 0===h||h,f=e.modalSnackMessage,g=e.noContentPadding,b=e.setModalSnackMessage,Z=e.titleIcon,j=void 0===Z?null:Z,k=(0,r.useState)(!1),y=(0,a.Z)(k,2),N=y[0],w=y[1];(0,r.useEffect)((function(){b("")}),[b]),(0,r.useEffect)((function(){if(f){if(""===f.message)return void w(!1);"error"!==f.type&&w(!0)}}),[f]);var B=x?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},F="";return f&&(F=f.detailedErrorMsg,(""===f.detailedErrorMsg||f.detailedErrorMsg.length<5)&&(F=f.message)),(0,C.jsxs)(d.Z,(0,o.Z)((0,o.Z)({open:t,classes:p},B),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&n()},className:p.root,children:[(0,C.jsxs)(u.Z,{className:p.title,children:[(0,C.jsxs)("div",{className:p.titleText,children:[j," ",i]}),(0,C.jsx)("div",{className:p.closeContainer,children:(0,C.jsx)(l.Z,{"aria-label":"close",className:p.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,C.jsx)(v.Z,{})})})]}),(0,C.jsx)(S,{}),(0,C.jsx)(c.Z,{open:N,className:p.snackBarModal,onClose:function(){w(!1),b("")},message:F,ContentProps:{className:"".concat(p.snackBar," ").concat(f&&"error"===f.type?p.errorSnackBar:"")},autoHideDuration:f&&"error"===f.type?1e4:5e3}),(0,C.jsx)(m.Z,{className:g?"":p.content,children:s})]}))})))},35721:function(e,n,t){t(50390);var i=t(34424),a=t(25594),o=t(86509),r=t(4285),s=t(35477),l=t(95467),c=t(26805),d=t(44078),u=t(5265),m=t(98280),p=t(62559),h={toggleList:u.kQ},x=(0,i.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),h);n.Z=x((0,r.Z)((function(e){return(0,o.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,i=e.actions,o=e.sidebarOpen,r=e.operatorMode,u=e.managerObjects,h=e.toggleList,x=e.middleComponent;return(0,p.jsxs)(a.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,p.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!o&&(0,p.jsx)("div",{className:n.logo,children:r?(0,p.jsx)(c.Z,{}):(0,p.jsx)(d.Z,{})}),(0,p.jsx)(s.Z,{variant:"h4",className:n.labelStyle,children:t})]}),x&&(0,p.jsx)(a.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:x}),(0,p.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:n.rightMenu,children:[i&&i,u&&u.length>0&&(0,p.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){h()},size:"large",children:(0,p.jsx)(m.gx,{})})]})]})})))},23165:function(e,n,t){var i=t(36222),a=t(18489),o=(t(50390),t(65771)),r=t(13336),s=t(12066),l=t(4285),c=t(86509),d=t(72462),u=t(62559);n.Z=(0,l.Z)((function(e){return(0,c.Z)({searchField:(0,a.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,a=e.classes,l=e.onChange,c=e.adornmentPosition,d=void 0===c?"end":c,m=e.overrideClass,p=e.value,h=(0,i.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(o.Z,{position:d,className:a.adornment,children:(0,u.jsx)(r.Z,{})}));return(0,u.jsx)(s.Z,{placeholder:t,className:m||a.searchField,id:"search-resource",label:"",InputProps:h,onChange:function(e){l(e.target.value)},variant:"standard",value:p})}))},18572:function(e,n,t){var i=t(50390),a=t(65742),o=t(10106),r=t(33690),s=t(62559),l={};n.Z=function(e){var n=e.rowRenderFunction,t=e.totalItems,c=e.defaultHeight,d=function(e){var t=e.index,i=e.style;return(0,s.jsx)("div",{style:i,children:n(t)})};return(0,s.jsx)(i.Fragment,{children:(0,s.jsx)(o.Z,{isItemLoaded:function(e){return!!l[e]},loadMoreItems:function(e,n){for(var t=e;t<=n;t++)l[t]=1;for(var i=e;i<=n;i++)l[i]=2},itemCount:t,children:function(e){var n=e.onItemsRendered,i=e.ref;return(0,s.jsx)(r.qj,{children:function(e){var o=e.width,r=e.height;return(0,s.jsx)(a.t7,{itemSize:c||220,height:r,itemCount:t,width:o,ref:i,onItemsRendered:n,children:d})}})}})})}}}]); +//# sourceMappingURL=2094.8b6cdedb.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2094.8b6cdedb.chunk.js.map b/portal-ui/build/static/js/2094.8b6cdedb.chunk.js.map new file mode 100644 index 000000000..0a260b55c --- /dev/null +++ b/portal-ui/build/static/js/2094.8b6cdedb.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2094.8b6cdedb.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Buckets/ListBuckets/DeleteBucket.tsx","screens/Console/Buckets/ListBuckets/BucketListItem.tsx","screens/Console/Buckets/ListBuckets/BulkReplicationModal.tsx","screens/Console/Buckets/ListBuckets/ListBuckets.tsx","screens/Console/Common/AButton/AButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/FormComponents/CheckboxWrapper/CheckboxWrapper.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/GenericWizard/WizardPage.tsx","screens/Console/Common/GenericWizard/GenericWizard.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Common/VirtualizedList/VirtualizedList.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 {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\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 { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\n\ninterface IDeleteBucketProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedBucket: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeleteBucket = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n setErrorSnackMessage,\n}: IDeleteBucketProps) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedBucket) {\n return null;\n }\n\n const onConfirmDelete = () => {\n invokeDeleteApi(\"DELETE\", `/api/v1/buckets/${selectedBucket}`, {\n name: selectedBucket,\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 bucket {selectedBucket}?
\n A bucket can only be deleted if it's empty.\n
\n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(DeleteBucket);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n ArrowRightIcon,\n BucketsIcon,\n ReportedUsageIcon,\n SettingsIcon,\n TotalObjectsIcon,\n} from \"../../../../icons\";\nimport { Bucket } from \"../types\";\nimport { Box, Grid, Typography } from \"@mui/material\";\nimport { niceBytes, prettyNumber } from \"../../../../common/utils\";\nimport CheckboxWrapper from \"../../Common/FormComponents/CheckboxWrapper/CheckboxWrapper\";\nimport { Link } from \"react-router-dom\";\nimport {\n IAM_PERMISSIONS,\n IAM_ROLES,\n} from \"../../../../common/SecureComponent/permissions\";\nimport SecureComponent from \"../../../../common/SecureComponent/SecureComponent\";\nimport RBIconButton from \"../BucketDetails/SummaryItems/RBIconButton\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n marginBottom: 30,\n padding: 20,\n color: theme.palette.primary.main,\n border: \"#E5E5E5 1px solid\",\n borderRadius: 2,\n \"& .min-icon\": {\n height: 14,\n width: 14,\n marginRight: 4,\n },\n \"& .MuiTypography-body2\": {\n fontSize: 14,\n },\n \"& .MuiCardHeader-content\": {\n wordWrap: \"break-word\",\n overflowWrap: \"break-word\",\n wordBreak: \"break-all\",\n font: \"normal normal bold 24px/27px Lato\",\n color: theme.palette.primary.main,\n\n \"& .MuiTypography-root\": {\n fontSize: 19,\n fontWeight: \"bold\",\n \"& .min-icon\": {\n position: \"relative\",\n top: 4,\n marginRight: 4,\n height: \"24px !important\",\n },\n },\n },\n \"& .MuiCardHeader-root\": {\n background:\n \"transparent linear-gradient(0deg, #EEF1F44E 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n },\n },\n checkBoxElement: {\n width: 32,\n height: 32,\n float: \"left\",\n overflow: \"hidden\",\n \"& div\": {\n position: \"absolute\",\n },\n },\n viewButton: {\n width: 111,\n color: \"white\",\n marginLeft: 8,\n fontSize: 12,\n fontWeight: \"normal\",\n boxShadow: \"unset\",\n borderRadius: 4,\n },\n manageButton: {\n borderRadius: 4,\n width: 111,\n color: theme.palette.grey[\"700\"],\n textTransform: \"unset\",\n fontSize: 12,\n fontWeight: \"normal\",\n \"& .MuiButton-endIcon\": {\n \"& .min-icon\": {\n fontSize: 18,\n },\n },\n },\n metric: {\n \"& .min-icon\": {\n color: \"#000000\",\n width: 13,\n marginRight: 5,\n },\n },\n metricLabel: {\n fontSize: 14,\n fontWeight: \"bold\",\n color: \"#000000\",\n },\n metricText: {\n fontSize: 24,\n fontWeight: \"bold\",\n },\n unit: {\n fontSize: 12,\n fontWeight: \"normal\",\n },\n bucketName: {\n padding: 0,\n margin: 0,\n fontSize: 22,\n },\n bucketIcon: {\n \"& .min-icon\": {\n height: 48,\n width: 48,\n },\n },\n bucketInfo: {\n display: \"flex\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column-reverse\",\n },\n },\n bucketStats: {\n marginTop: 15,\n borderTop: \"1px solid rgb(234,234,234, .7)\",\n paddingTop: 14,\n },\n bucketActionButtons: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n\n \"@media (max-width: 900px)\": {\n marginTop: \"-33px\",\n },\n },\n });\n\ninterface IBucketListItem {\n bucket: Bucket;\n classes: any;\n onDelete: (bucketName: string) => void;\n onSelect: (e: React.ChangeEvent) => void;\n selected: boolean;\n bulkSelect: boolean;\n}\n\nconst BucketListItem = ({\n classes,\n bucket,\n onDelete,\n onSelect,\n selected,\n bulkSelect,\n}: IBucketListItem) => {\n const usage = niceBytes(`${bucket.size}` || \"0\");\n const usageScalar = usage.split(\" \")[0];\n const usageUnit = usage.split(\" \")[1];\n\n const accessToStr = (bucket: Bucket): string => {\n if (bucket.rw_access?.read && !bucket.rw_access?.write) {\n return \"R\";\n } else if (!bucket.rw_access?.read && bucket.rw_access?.write) {\n return \"W\";\n } else if (bucket.rw_access?.read && bucket.rw_access?.write) {\n return \"R/W\";\n }\n return \"\";\n };\n const onCheckboxClick = (e: React.ChangeEvent) => {\n onSelect(e);\n };\n\n return (\n \n \n \n \n \n \n {bulkSelect && (\n {\n e.stopPropagation();\n }}\n >\n \n \n )}\n

{bucket.name}

\n
\n \n \n \n \n Created: {bucket.creation_date}\n \n \n \n \n Access: {accessToStr(bucket)}\n \n \n \n \n
\n
\n \n \n \n {}}\n text={\"Manage\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n \n \n {}}\n text={\"Browse\"}\n icon={}\n color={\"primary\"}\n variant={\"contained\"}\n />\n \n \n
\n \n \n \n \n\n \n \n \n \n \n \n \n Usage\n
\n {usageScalar}\n {usageUnit}\n
\n
\n \n \n Objects\n
\n {bucket.objects ? prettyNumber(bucket.objects) : 0}\n
\n
\n
\n
\n \n );\n};\n\nexport default withStyles(styles)(BucketListItem);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { SelectChangeEvent, Tooltip } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CheckCircleOutlineIcon from \"@mui/icons-material/CheckCircleOutline\";\nimport {\n modalBasic,\n wizardCommon,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { BulkReplicationItem, BulkReplicationResponse } from \"../types\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport PredefinedList from \"../../Common/FormComponents/PredefinedList/PredefinedList\";\nimport api from \"../../../../common/api\";\nimport GenericWizard from \"../../Common/GenericWizard/GenericWizard\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { SelectorTypes } from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport { getBytes, k8sfactorForDropdown } from \"../../../../common/utils\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ninterface IBulkReplicationModal {\n open: boolean;\n closeModalAndRefresh: (clearSelection: boolean) => any;\n classes: any;\n buckets: string[];\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n remoteBucketList: {\n display: \"grid\",\n gridTemplateColumns: \"auto auto 45px\",\n alignItems: \"center\",\n justifyContent: \"stretch\",\n },\n errorIcon: {\n color: \"#C72C48\",\n },\n successIcon: {\n color: \"#42C91A\",\n },\n hide: {\n opacity: 0,\n transitionDuration: \"0.3s\",\n },\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst AddBulkReplicationModal = ({\n open,\n closeModalAndRefresh,\n classes,\n buckets,\n setModalErrorSnackMessage,\n}: IBulkReplicationModal) => {\n const [bucketsToAlter, setBucketsToAlter] = useState([]);\n const [addLoading, setAddLoading] = useState(false);\n const [externalLoading, setExternalLoading] = useState(false);\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n const [targetURL, setTargetURL] = useState(\"\");\n const [region, setRegion] = useState(\"\");\n const [useTLS, setUseTLS] = useState(true);\n const [replicationMode, setReplicationMode] = useState(\"async\");\n const [bandwidthScalar, setBandwidthScalar] = useState(\"100\");\n const [bandwidthUnit, setBandwidthUnit] = useState(\"Gi\");\n const [healthCheck, setHealthCheck] = useState(\"60\");\n const [relationBuckets, setRelationBuckets] = useState([]);\n const [remoteBucketsOpts, setRemoteBucketOpts] = useState([]);\n const [responseItem, setResponseItem] = useState([]);\n\n const optionsForBucketsDrop: SelectorTypes[] = remoteBucketsOpts.map(\n (remoteBucketName: string) => {\n return {\n label: remoteBucketName,\n value: remoteBucketName,\n };\n }\n );\n\n useEffect(() => {\n if (relationBuckets.length === 0) {\n const bucketsAlter: string[] = [];\n const relationBucketsAlter: string[] = [];\n\n buckets.forEach((item: string) => {\n bucketsAlter.push(item);\n relationBucketsAlter.push(\"\");\n });\n\n setRelationBuckets(relationBucketsAlter);\n setBucketsToAlter(bucketsAlter);\n }\n }, [buckets, relationBuckets.length]);\n\n const addRecord = () => {\n setAddLoading(true);\n const replicate = bucketsToAlter.map((bucketName, index) => {\n return {\n originBucket: bucketName,\n destinationBucket: relationBuckets[index],\n };\n });\n\n const endURL = `${useTLS ? \"https://\" : \"http://\"}${targetURL}`;\n const hc = parseInt(healthCheck);\n\n const remoteBucketsInfo = {\n accessKey: accessKey,\n secretKey: secretKey,\n targetURL: endURL,\n region: region,\n bucketsRelation: replicate,\n syncMode: replicationMode,\n bandwidth:\n replicationMode === \"async\"\n ? parseInt(getBytes(bandwidthScalar, bandwidthUnit, true))\n : 0,\n healthCheckPeriod: hc,\n };\n\n api\n .invoke(\"POST\", \"/api/v1/buckets-replication\", remoteBucketsInfo)\n .then((response: BulkReplicationResponse) => {\n setAddLoading(false);\n\n const states = response.replicationState;\n setResponseItem(states);\n\n const filterErrors = states.filter(\n (itm) => itm.errorString && itm.errorString !== \"\"\n );\n\n if (filterErrors.length === 0) {\n closeModalAndRefresh(true);\n } else {\n setTimeout(() => {\n removeSuccessItems(states);\n }, 500);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n const retrieveRemoteBuckets = (\n wizardPageJump: (page: number | string) => void\n ) => {\n const remoteConnectInfo = {\n accessKey: accessKey,\n secretKey: secretKey,\n targetURL: targetURL,\n useTLS,\n };\n setExternalLoading(true);\n\n api\n .invoke(\"POST\", \"/api/v1/list-external-buckets\", remoteConnectInfo)\n .then((dataReturn) => {\n const buckets = get(dataReturn, \"buckets\", []);\n\n if (buckets && buckets.length > 0) {\n const arrayReplaceBuckets = buckets.map((element: any) => {\n return element.name;\n });\n\n setRemoteBucketOpts(arrayReplaceBuckets);\n }\n\n wizardPageJump(\"++\");\n setExternalLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setExternalLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n const stateOfItem = (initialBucket: string) => {\n if (responseItem.length > 0) {\n const bucketResponse = responseItem.find(\n (item) => item.originBucket === initialBucket\n );\n\n if (bucketResponse) {\n const errString = get(bucketResponse, \"errorString\", \"\");\n\n if (errString) {\n return errString;\n }\n\n return \"\";\n }\n }\n return \"n/a\";\n };\n\n const LogoToShow = ({ errString }: { errString: string }) => {\n switch (errString) {\n case \"\":\n return (\n
\n \n
\n );\n case \"n/a\":\n return null;\n default:\n if (errString) {\n return (\n
\n \n \n \n
\n );\n }\n }\n return null;\n };\n\n const updateItem = (indexItem: number, value: string) => {\n const updatedList = [...relationBuckets];\n updatedList[indexItem] = value;\n setRelationBuckets(updatedList);\n };\n\n const itemDisplayBulk = (indexItem: number) => {\n if (remoteBucketsOpts.length > 0) {\n return (\n \n ) => {\n updateItem(indexItem, e.target.value as string);\n }}\n options={optionsForBucketsDrop}\n disabled={addLoading}\n />\n \n );\n }\n return (\n \n ) => {\n updateItem(indexItem, event.target.value);\n }}\n value={relationBuckets[indexItem]}\n disabled={addLoading}\n />\n \n );\n };\n\n const removeSuccessItems = (responseItem: BulkReplicationItem[]) => {\n let newBucketsToAlter = [...bucketsToAlter];\n let newRelationBuckets = [...relationBuckets];\n\n responseItem.forEach((successElement) => {\n const errorString = get(successElement, \"errorString\", \"\");\n\n if (!errorString || errorString === \"\") {\n const indexToRemove = newBucketsToAlter.indexOf(\n successElement.originBucket\n );\n\n newBucketsToAlter.splice(indexToRemove, 1);\n newRelationBuckets.splice(indexToRemove, 1);\n }\n });\n\n setBucketsToAlter(newBucketsToAlter);\n setRelationBuckets(newRelationBuckets);\n };\n\n return (\n {\n closeModalAndRefresh(false);\n }}\n title=\"Set Multiple Bucket Replication\"\n >\n \n \n \n \n

Remote Endpoint Configuration

\n \n Please avoid the use of root credentials for this feature\n \n
\n
\n \n ) => {\n setAccessKey(e.target.value);\n }}\n label=\"Access Key\"\n value={accessKey}\n />\n \n \n ) => {\n setSecretKey(e.target.value);\n }}\n label=\"Secret Key\"\n value={secretKey}\n />\n \n \n ) => {\n setTargetURL(e.target.value);\n }}\n placeholder=\"play.min.io:9000\"\n label=\"Target URL\"\n value={targetURL}\n />\n \n \n {\n setUseTLS(e.target.checked);\n }}\n value=\"yes\"\n />\n \n \n ) => {\n setRegion(e.target.value);\n }}\n label=\"Region\"\n value={region}\n />\n \n \n ) => {\n setReplicationMode(e.target.value as string);\n }}\n label=\"Replication Mode\"\n value={replicationMode}\n options={[\n { label: \"Asynchronous\", value: \"async\" },\n { label: \"Synchronous\", value: \"sync\" },\n ]}\n />\n \n {replicationMode === \"async\" && (\n \n
\n
\n \n ) => {\n setBandwidthScalar(e.target.value as string);\n }}\n label=\"Bandwidth\"\n value={bandwidthScalar}\n min=\"0\"\n />\n
\n
\n ) => {\n setBandwidthUnit(e.target.value as string);\n }}\n options={k8sfactorForDropdown()}\n />\n
\n
\n
\n )}\n \n ) => {\n setHealthCheck(e.target.value as string);\n }}\n label=\"Health Check Duration\"\n value={healthCheck}\n />\n \n \n ),\n buttons: [\n {\n type: \"custom\",\n label: \"Next\",\n enabled: !externalLoading,\n action: retrieveRemoteBuckets,\n },\n ],\n },\n {\n label: \"Bucket Assignments\",\n componentRender: (\n \n

Remote Bucket Assignments

\n \n Please select / type the desired remote bucket were you want\n the local data to be replicated.\n \n
\n {bucketsToAlter.map((bucketName: string, index: number) => {\n const errorItem = stateOfItem(bucketName);\n return (\n \n
\n {bucketName}\n
\n
\n {itemDisplayBulk(index)}\n
\n
\n {responseItem.length > 0 && (\n \n )}\n
\n \n );\n })}\n
\n
\n ),\n buttons: [\n {\n type: \"back\",\n label: \"Back\",\n enabled: true,\n },\n {\n type: \"next\",\n label: \"Create\",\n enabled: !addLoading,\n action: addRecord,\n },\n ],\n },\n ]}\n forModal\n />\n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(AddBulkReplicationModal));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { Bucket, BucketList } from \"../types\";\nimport { AddIcon, BucketsIcon } from \"../../../../icons\";\nimport { AppState } from \"../../../../store\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport {\n containerForHeader,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport DeleteBucket from \"./DeleteBucket\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport BucketListItem from \"./BucketListItem\";\nimport BulkReplicationModal from \"./BulkReplicationModal\";\nimport HelpBox from \"../../../../common/HelpBox\";\nimport { ISessionResponse } from \"../../types\";\nimport RefreshIcon from \"../../../../icons/RefreshIcon\";\nimport AButton from \"../../Common/AButton/AButton\";\nimport MultipleBucketsIcon from \"../../../../icons/MultipleBucketsIcon\";\nimport SelectMultipleIcon from \"../../../../icons/SelectMultipleIcon\";\nimport SecureComponent from \"../../../../common/SecureComponent/SecureComponent\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_SCOPES,\n} from \"../../../../common/SecureComponent/permissions\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport SearchBox from \"../../Common/SearchBox\";\nimport VirtualizedList from \"../../Common/VirtualizedList/VirtualizedList\";\nimport RBIconButton from \"../BucketDetails/SummaryItems/RBIconButton\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n bulkSelect: {\n marginLeft: 8,\n \"&:hover\": {\n backgroundColor: theme.palette.primary.main,\n },\n \"&.MuiButton-contained\": {\n backgroundColor: theme.palette.primary.main,\n },\n },\n addBucket: {\n marginLeft: 8,\n },\n bucketList: {\n marginTop: 25,\n height: \"calc(100vh - 210px)\",\n },\n searchField: {\n ...searchField.searchField,\n minWidth: 380,\n \"@media (max-width: 900px)\": {\n minWidth: 220,\n },\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IListBucketsProps {\n classes: any;\n history: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n session: ISessionResponse;\n}\n\nconst ListBuckets = ({\n classes,\n history,\n setErrorSnackMessage,\n session,\n}: IListBucketsProps) => {\n const [records, setRecords] = useState([]);\n const [loading, setLoading] = useState(true);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedBucket, setSelectedBucket] = useState(\"\");\n const [filterBuckets, setFilterBuckets] = useState(\"\");\n const [selectedBuckets, setSelectedBuckets] = useState([]);\n const [replicationModalOpen, setReplicationModalOpen] =\n useState(false);\n\n const [bulkSelect, setBulkSelect] = useState(false);\n\n useEffect(() => {\n if (loading) {\n const fetchRecords = () => {\n setLoading(true);\n api\n .invoke(\"GET\", `/api/v1/buckets`)\n .then((res: BucketList) => {\n setLoading(false);\n setRecords(res.buckets || []);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setErrorSnackMessage(err);\n });\n };\n fetchRecords();\n }\n }, [loading, setErrorSnackMessage]);\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n if (refresh) {\n setLoading(true);\n setSelectedBuckets([]);\n }\n };\n\n const confirmDeleteBucket = (bucket: string) => {\n setDeleteOpen(true);\n setSelectedBucket(bucket);\n };\n\n const filteredRecords = records.filter((b: Bucket) => {\n if (filterBuckets === \"\") {\n return true;\n } else {\n if (b.name.indexOf(filterBuckets) >= 0) {\n return true;\n } else {\n return false;\n }\n }\n });\n\n const selectListBuckets = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selectedBuckets]; // We clone the selectedBuckets array\n\n if (checked) {\n // If the user has checked this field we need to push this to selectedBucketsList\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n setSelectedBuckets(elements);\n\n return elements;\n };\n\n const closeBulkReplicationModal = (unselectAll: boolean) => {\n setReplicationModalOpen(false);\n\n if (unselectAll) {\n setSelectedBuckets([]);\n }\n };\n\n const renderItemLine = (index: number) => {\n const bucket = filteredRecords[index] || null;\n if (bucket) {\n return (\n \n );\n }\n return null;\n };\n\n const createBucketButtonResources: string[] =\n session && session.permissions\n ? Array.from(Object.keys(session.permissions)) || []\n : [];\n\n return (\n \n {deleteOpen && (\n {\n closeDeleteModalAndRefresh(refresh);\n }}\n />\n )}\n {replicationModalOpen && (\n \n )}\n \n \n \n \n\n \n {\n setBulkSelect(!bulkSelect);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={bulkSelect ? \"contained\" : \"outlined\"}\n />\n\n {\n setReplicationModalOpen(true);\n }}\n text={\"\"}\n icon={}\n disabled={selectedBuckets.length === 0}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n\n {\n setLoading(true);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n\n \n {\n history.push(\"/add-bucket\");\n }}\n text={\"Create Bucket\"}\n icon={}\n color={\"primary\"}\n variant={\"contained\"}\n />\n \n \n \n\n {loading && }\n {!loading && (\n \n {filteredRecords.length !== 0 && (\n \n )}\n {filteredRecords.length === 0 && filterBuckets !== \"\" && (\n \n \n }\n title={\"No Results\"}\n help={\n \n No buckets match the filtering condition\n \n }\n />\n \n \n )}\n {filteredRecords.length === 0 && filterBuckets === \"\" && (\n \n \n }\n title={\"Buckets\"}\n help={\n \n MinIO uses buckets to organize objects. A bucket is\n similar to a folder or directory in a filesystem, where\n each bucket can hold an arbitrary number of objects.\n \n
\n
\n To get started, \n {\n history.push(\"/add-bucket\");\n }}\n >\n Create a Bucket.\n \n \n
\n }\n />\n
\n \n )}\n \n )}\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n session: state.console.session,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n});\n\nexport default connector(withStyles(styles)(ListBuckets));\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 from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { Checkbox, Grid, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n checkboxIcons,\n fieldBasic,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\ninterface CheckBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n index?: number;\n checked: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n ...checkboxIcons,\n fieldContainer: {\n ...fieldBasic.fieldContainer,\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n margin: \"15px 0\",\n marginBottom: 0,\n flexBasis: \"initial\",\n },\n });\n\nconst CheckboxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n tooltip = \"\",\n classes,\n}: CheckBoxProps) => {\n return (\n \n \n
\n }\n icon={}\n disabled={disabled}\n />\n
\n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n
\n );\n};\n\nexport default withStyles(styles)(CheckboxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n
\n )}\n \n
\n \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\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","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\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 { IWizardButton, IWizardPage } from \"./types\";\nimport { Button, LinearProgress } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wizardStepContainer: {\n display: \"flex\",\n flexDirection: \"column\",\n flex: 1,\n },\n wizardComponent: {\n overflowY: \"auto\",\n marginBottom: 10,\n height: \"calc(100vh - 100px - 80px)\",\n minHeight: 400,\n flex: 1,\n width: \"100%\",\n },\n wizardModal: {\n overflowY: \"auto\",\n marginBottom: 10,\n height: \"calc(100vh - 515px)\",\n },\n buttonsContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"flex-start\" as const,\n padding: \"10px 0\",\n borderTop: \"#EAEAEA 1px solid\",\n \"& button\": {\n marginLeft: 10,\n },\n \"&.forModal\": {\n paddingBottom: 0,\n },\n },\n buttonInnerContainer: {\n width: \"100%\",\n textAlign: \"right\" as const,\n marginRight: 15,\n },\n });\n\nconst WizardPage = ({\n classes,\n page,\n pageChange,\n loadingStep,\n forModal,\n}: IWizardPage) => {\n const buttonAction = (btn: IWizardButton) => {\n switch (btn.type) {\n case \"next\":\n pageChange(\"++\");\n break;\n case \"back\":\n pageChange(\"--\");\n break;\n case \"to\":\n pageChange(btn.toPage || 0);\n break;\n case \"custom\":\n default:\n }\n\n if (btn.action) {\n btn.action(pageChange);\n }\n };\n\n return (\n
\n
\n {page.componentRender}\n
\n {loadingStep && (\n
\n \n
\n )}\n \n
\n {page.buttons.map((btn) => {\n return (\n {\n buttonAction(btn);\n }}\n disabled={!btn.enabled}\n key={`button-${page.label}-${btn.label}`}\n >\n {btn.label}\n \n );\n })}\n
\n
\n \n );\n};\n\nexport default withStyles(styles)(WizardPage);\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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IWizardMain } from \"./types\";\nimport WizardPage from \"./WizardPage\";\nimport { Grid, List } from \"@mui/material\";\nimport ListItem from \"@mui/material/ListItem\";\nimport ListItemText from \"@mui/material/ListItemText\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wizFromContainer: {},\n wizFromModal: {\n position: \"relative\",\n },\n modalWizardSteps: {\n padding: 5,\n borderBottom: \"#eaeaea 1px solid\",\n \"& ul\": {\n padding: 0,\n marginTop: 0,\n display: \"flex\",\n justifyContent: \"space-evenly\",\n\n \"& li\": {\n listStyle: \"lower-roman\",\n \"&::marker\": {\n paddingLeft: 15,\n },\n },\n },\n },\n buttonList: {\n backgroundColor: \"transparent\",\n border: \"none\",\n cursor: \"pointer\",\n \"&:not(:disabled):hover\": {\n textDecoration: \"underline\",\n },\n \"&:selected, &:active, &:focus, &:focus:active\": {\n border: \"none\",\n outline: 0,\n boxShadow: \"none\",\n },\n },\n paddedContentGrid: {\n marginTop: 8,\n padding: \"0 10px\",\n minHeight: 400,\n },\n stepsLabel: {\n fontSize: 20,\n color: \"#393939\",\n fontWeight: 600,\n margin: \"15px 12px\",\n \"&.stepsModalTitle\": {\n textAlign: \"center\",\n width: \"100%\",\n marginTop: 0,\n marginBottom: 10,\n },\n },\n stepsMasterContainer: {\n position: \"sticky\",\n top: 0,\n backgroundColor: \"#FFFFFF\",\n width: \"100%\",\n maxHeight: 90,\n },\n verticalSteps: {\n borderRight: \"1px solid #E5E5E5\",\n background: \"#F8F8F8\",\n },\n stepsContainer: {\n paddingTop: 0,\n \"& .MuiButtonBase-root.Mui-selected\": {\n background: \"#E5E5E5\",\n },\n },\n stepItem: {\n minHeight: 60,\n borderBottom: \"1px solid #E5E5E5\",\n \"&:hover\": {\n background: \"rgba(247,247,247,0.7)\",\n },\n },\n });\n\nconst GenericWizard = ({\n classes,\n wizardSteps,\n loadingStep,\n forModal,\n}: IWizardMain) => {\n const [currentStep, setCurrentStep] = useState(0);\n\n const pageChange = (toElement: string | number) => {\n const lastPage = wizardSteps.length - 1;\n\n if (toElement === \"++\") {\n let nextPage = currentStep + 1;\n\n if (nextPage > lastPage) {\n nextPage = lastPage;\n }\n\n setCurrentStep(nextPage);\n }\n\n if (toElement === \"--\") {\n let prevPage = currentStep - 1;\n\n if (prevPage < 0) {\n prevPage = 0;\n }\n\n setCurrentStep(prevPage);\n }\n\n if (typeof toElement === \"number\") {\n let pg = toElement;\n if (toElement < 0) {\n pg = 0;\n }\n\n if (toElement > lastPage) {\n pg = lastPage;\n }\n\n setCurrentStep(pg);\n }\n };\n\n if (wizardSteps.length === 0) {\n return null;\n }\n\n const stepsList = () => {\n return (\n \n \n {wizardSteps.map((step, index) => {\n return (\n pageChange(index)}\n key={`wizard-${index.toString()}`}\n selected={currentStep === index}\n classes={{\n root: classes.stepItem,\n }}\n >\n \n \n );\n })}\n \n \n );\n };\n const stepsListModal = () => {\n return (\n
    \n {wizardSteps.map((step, index) => {\n return (\n
  • \n pageChange(index)}\n disabled={index > currentStep}\n className={classes.buttonList}\n >\n {step.label}\n \n
  • \n );\n })}\n
\n );\n };\n\n return (\n \n {forModal ? (\n \n
\n
Steps
\n
{stepsListModal()}
\n
\n
\n ) : (\n \n \n {stepsList()}\n
\n \n )}\n\n \n \n
\n \n );\n};\n\nexport default withStyles(styles)(GenericWizard);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\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 ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \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 { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport 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"],"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","useStyles","makeStyles","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","onClick","disabled","tooltip","icon","restProps","size","sx","mapDispatchToProps","setErrorSnackMessage","connector","connect","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","useApi","err","deleteLoading","invokeDeleteApi","confirmText","isOpen","titleIcon","isLoading","onConfirm","name","onClose","confirmationContent","wordWrap","overflowWrap","wordBreak","font","position","top","background","checkBoxElement","float","overflow","viewButton","boxShadow","manageButton","grey","textTransform","metric","metricLabel","metricText","unit","bucketName","margin","bucketIcon","bucketInfo","flexFlow","bucketStats","marginTop","borderTop","bucketActionButtons","justifyContent","bucket","onSelect","onDelete","selected","bulkSelect","usage","niceBytes","usageScalar","split","usageUnit","Grid","clsx","sm","e","stopPropagation","CheckboxWrapper","checked","id","label","onChange","value","Typography","creation_date","rw_access","read","write","accessToStr","SecureComponent","scopes","IAM_PERMISSIONS","IAM_ROLES","resource","to","style","textDecoration","RBIconButton","Box","spacing","textAlign","objects","prettyNumber","setModalErrorSnackMessage","remoteBucketList","gridTemplateColumns","errorIcon","successIcon","hide","opacity","transitionDuration","modalBasic","wizardCommon","open","closeModalAndRefresh","buckets","useState","bucketsToAlter","setBucketsToAlter","addLoading","setAddLoading","externalLoading","setExternalLoading","accessKey","setAccessKey","secretKey","setSecretKey","targetURL","setTargetURL","region","setRegion","useTLS","setUseTLS","replicationMode","setReplicationMode","bandwidthScalar","setBandwidthScalar","bandwidthUnit","setBandwidthUnit","healthCheck","setHealthCheck","relationBuckets","setRelationBuckets","remoteBucketsOpts","setRemoteBucketOpts","responseItem","setResponseItem","optionsForBucketsDrop","map","remoteBucketName","useEffect","length","bucketsAlter","relationBucketsAlter","forEach","push","LogoToShow","errString","CheckCircleOutline","Tooltip","placement","ErrorOutline","updateItem","indexItem","updatedList","removeSuccessItems","newBucketsToAlter","newRelationBuckets","successElement","errorString","get","indexToRemove","indexOf","originBucket","splice","ModalWrapper","modalOpen","GenericWizard","loadingStep","wizardSteps","componentRender","Fragment","PredefinedList","content","join","descriptionText","InputBoxWrapper","target","placeholder","FormSwitchWrapper","SelectWrapper","options","multiContainer","type","min","sizeFactorContainer","k8sfactorForDropdown","buttons","enabled","action","wizardPageJump","remoteConnectInfo","api","then","dataReturn","arrayReplaceBuckets","element","catch","index","errorItem","initialBucket","bucketResponse","find","stateOfItem","event","toString","replicate","destinationBucket","endURL","hc","parseInt","remoteBucketsInfo","bucketsRelation","syncMode","bandwidth","getBytes","healthCheckPeriod","response","states","replicationState","filter","itm","setTimeout","forModal","state","session","console","addBucket","bucketList","searchField","minWidth","containerForHeader","history","records","setRecords","loading","setLoading","setDeleteOpen","setSelectedBucket","filterBuckets","setFilterBuckets","selectedBuckets","setSelectedBuckets","replicationModalOpen","setReplicationModalOpen","setBulkSelect","res","confirmDeleteBucket","filteredRecords","b","selectListBuckets","targetD","elements","createBucketButtonResources","permissions","Array","from","Object","keys","DeleteBucket","refresh","BulkReplicationModal","unselectAll","PageHeader","PageLayout","actionsTray","SearchBox","overrideClass","SelectMultipleIcon","MultipleBucketsIcon","RefreshIcon","IAM_SCOPES","errorProps","LinearProgress","VirtualizedList","rowRenderFunction","includes","totalItems","alignContent","HelpBox","CONSOLE_UI_RESOURCE","AButton","cursor","info","fontFamily","children","rest","borderWidth","borderStyle","contained","dark","light","button","fieldBasic","tooltipHelper","checkboxIcons","fieldContainer","flexBasis","inputProps","checkedIcon","unCheckedIcon","htmlFor","noMinWidthLabel","tooltipContainer","StyledSwitch","switchBase","transform","common","white","thumb","track","transition","transitions","create","focusVisible","switchContainer","Switch","divContainer","indicatorLabelOn","indicatorLabel","fieldDescription","switchOnly","description","indicatorLabels","switchComponent","disableRipple","disableFocusRipple","disableTouchRipple","md","inputLabel","component","inputStyles","inputFieldStyles","InputField","InputProps","textBoxContainer","flexGrow","overlayAction","right","maxWidth","maxHeight","autoComplete","multiline","error","required","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","errorInField","inputBoxContainer","fullWidth","helperText","inputRebase","predefinedList","multiLine","prefinedContainer","predefinedTitle","innerContentMultiline","innerContent","SelectStyled","lineHeight","input","InputBase","option","wizardStepContainer","flexDirection","flex","wizardComponent","overflowY","minHeight","wizardModal","buttonsContainer","buttonInnerContainer","page","pageChange","btn","Button","toPage","buttonAction","wizFromContainer","wizFromModal","modalWizardSteps","borderBottom","listStyle","buttonList","outline","paddedContentGrid","stepsLabel","stepsMasterContainer","verticalSteps","borderRight","stepsContainer","stepItem","currentStep","setCurrentStep","toElement","lastPage","nextPage","prevPage","pg","step","lg","xl","List","dense","ListItem","ListItemText","onSuccess","onError","setIsLoading","method","url","data","deleteDialogStyles","onCancel","cancelText","confirmButtonProps","cancelButtonProps","reason","titleText","closeContainer","closeButton","actions","cancelButton","confirmButton","loadingPosition","startIcon","timerI","stopHideTimer","clearInterval","displayErrorMessage","modalSnackMessage","system","modalSnackBar","modalErrorContainer","borderLeftWidth","zIndex","left","modalErrorShow","errorTitle","errorLabel","messageIcon","detailsButton","transformDuration","extraDetailsContainer","fontStyle","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","detailedError","errorMessage","message","messageDetails","onMouseOver","onMouseLeave","setInterval","Close","detailsContainerLink","ArrowRight","setModalSnackMessage","customDialogSize","snackBarCommon","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","Dialog","scroll","DialogTitle","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","toggleList","sidebarOpen","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","labelStyle","rightMenu","logo","fill","middleComponent","direction","adornment","adornmentPosition","disableUnderline","itemStatusMap","defaultHeight","RenderItemLine","isItemLoaded","loadMoreItems","startIndex","stopIndex","itemCount","onItemsRendered","ref","itemSize"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2094.ef1fbd5b.chunk.js b/portal-ui/build/static/js/2094.ef1fbd5b.chunk.js deleted file mode 100644 index b2a17f271..000000000 --- a/portal-ui/build/static/js/2094.ef1fbd5b.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2094],{8235:function(e,n,t){t(50390);var i=t(86509),a=t(4285),o=t(25594),r=t(62559);n.Z=(0,a.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 n=e.classes,t=e.iconComponent,i=e.title,a=e.help;return(0,r.jsx)("div",{className:n.root,children:(0,r.jsxs)(o.ZP,{container:!0,children:[(0,r.jsxs)(o.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,i]}),(0,r.jsx)(o.ZP,{item:!0,xs:12,className:n.helpText,children:a})]})})}))},53224:function(e,n,t){var i=t(18489),a=t(83738),o=(t(50390),t(70758)),r=t(62449),s=t(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,r.Z)((function(e){return{root:{padding:"7px",color:function(n){return function(n){var t=n.variant,i=n.color,a=e.palette.primary.main;return"primary"===i&&"contained"===t?a=e.palette.primary.contrastText:"primary"===i&&"outlined"===t?a=e.palette.primary.main:"secondary"===i&&(a=e.palette.secondary.main),a}(n)},borderColor:function(n){return"secondary"===n.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));n.Z=function(e){var n=c(e),t=e.onClick,r=e.text,d=void 0===r?"":r,u=e.disabled,m=void 0!==u&&u,h=e.tooltip,p=e.icon,x=void 0===p?null:p,f=(0,a.Z)(e,l);return(0,s.jsxs)(o.Z,(0,i.Z)((0,i.Z)({classes:n,tooltip:h||d,variant:"outlined",onClick:t,disabled:m,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},f),{},{children:[(0,s.jsx)("span",{children:d})," ",x]}))}},47346:function(e,n,t){t.r(n);var i=t(23430),a=(t(50390),t(34424)),o=t(23473),r=t(44149),s=t(21639),l=t(60656),c=t(98280),d=t(62559),u={setErrorSnackMessage:r.Ih},m=(0,a.$j)(null,u);n.default=m((function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,a=e.selectedBucket,r=e.setErrorSnackMessage,u=(0,s.Z)((function(){return n(!0)}),(function(e){return r(e)})),m=(0,i.Z)(u,2),h=m[0],p=m[1];if(!a)return null;return(0,d.jsx)(l.Z,{title:"Delete Bucket",confirmText:"Delete",isOpen:t,titleIcon:(0,d.jsx)(c.Nv,{}),isLoading:h,onConfirm:function(){p("DELETE","/api/v1/buckets/".concat(a),{name:a})},onClose:function(){return n(!1)},confirmationContent:(0,d.jsxs)(o.Z,{children:["Are you sure you want to delete bucket ",(0,d.jsx)("b",{children:a}),"? ",(0,d.jsx)("br",{}),"A bucket can only be deleted if it's empty."]})})}))},62094:function(e,n,t){t.r(n),t.d(n,{default:function(){return Q}});var i=t(35531),a=t(23430),o=t(18489),r=t(50390),s=t(34424),l=t(86509),c=t(4285),d=t(81378),u=t(25594),m=t(98280),h=t(44149),p=t(72462),x=t(30324),f=t(47346),g=t(35721),b=t(35477),Z=t(56805),j=t(28948),v=t(54950),C=t(6369),k=t(49495),y=t(15607),S=t(53224),N=t(44977),w=t(62559),B=(0,c.Z)((function(e){return(0,l.Z)({root:{marginBottom:30,padding:20,color:e.palette.primary.main,border:"#E5E5E5 1px solid",borderRadius:2,"& .min-icon":{height:14,width:14,marginRight:4},"& .MuiTypography-body2":{fontSize:14},"& .MuiCardHeader-content":{wordWrap:"break-word",overflowWrap:"break-word",wordBreak:"break-all",font:"normal normal bold 24px/27px Lato",color:e.palette.primary.main,"& .MuiTypography-root":{fontSize:19,fontWeight:"bold","& .min-icon":{position:"relative",top:4,marginRight:4,height:"24px !important"}}},"& .MuiCardHeader-root":{background:"transparent linear-gradient(0deg, #EEF1F44E 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box"}},checkBoxElement:{width:32,height:32,float:"left",overflow:"hidden","& div":{position:"absolute"}},viewButton:{width:111,color:"white",marginLeft:8,fontSize:12,fontWeight:"normal",boxShadow:"unset",borderRadius:4},manageButton:{borderRadius:4,width:111,color:e.palette.grey[700],textTransform:"unset",fontSize:12,fontWeight:"normal","& .MuiButton-endIcon":{"& .min-icon":{fontSize:18}}},metric:{"& .min-icon":{color:"#000000",width:13,marginRight:5}},metricLabel:{fontSize:14,fontWeight:"bold",color:"#000000"},metricText:{fontSize:24,fontWeight:"bold"},unit:{fontSize:12,fontWeight:"normal"},bucketName:{padding:0,margin:0,fontSize:22},bucketIcon:{"& .min-icon":{height:48,width:48}},bucketInfo:{display:"flex","@media (max-width: 900px)":{flexFlow:"column-reverse"}},bucketStats:{marginTop:15,borderTop:"1px solid rgb(234,234,234, .7)",paddingTop:14},bucketActionButtons:{display:"flex",alignItems:"center",justifyContent:"flex-end","@media (max-width: 900px)":{marginTop:"-33px"}}})}))((function(e){var n=e.classes,t=e.bucket,i=(e.onDelete,e.onSelect),a=e.selected,o=e.bulkSelect,r=(0,j.ae)("".concat(t.size)||"0"),s=r.split(" ")[0],l=r.split(" ")[1];return(0,w.jsxs)(u.ZP,{container:!0,className:(0,N.Z)(n.root,"bucket-item"),children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsxs)(u.ZP,{container:!0,justifyContent:"space-between",children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,sm:7,children:(0,w.jsxs)(u.ZP,{container:!0,children:[(0,w.jsxs)(u.ZP,{item:!0,xs:12,children:[o&&(0,w.jsx)("div",{className:n.checkBoxElement,onClick:function(e){e.stopPropagation()},children:(0,w.jsx)(v.Z,{checked:a,id:"select-".concat(t.name),label:"",name:"select-".concat(t.name),onChange:function(e){i(e)},value:t.name})}),(0,w.jsx)("h1",{className:n.bucketName,children:t.name})]}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsxs)(u.ZP,{container:!0,className:n.bucketInfo,children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,sm:!0,children:(0,w.jsxs)(b.Z,{variant:"body2",children:["Created: ",t.creation_date]})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,sm:!0,children:(0,w.jsxs)(b.Z,{variant:"body2",children:["Access: ",function(e){var n,t,i,a,o,r;return null===(n=e.rw_access)||void 0===n||!n.read||null!==(t=e.rw_access)&&void 0!==t&&t.write?null!==(i=e.rw_access)&&void 0!==i&&i.read||null===(a=e.rw_access)||void 0===a||!a.write?null!==(o=e.rw_access)&&void 0!==o&&o.read&&null!==(r=e.rw_access)&&void 0!==r&&r.write?"R/W":"":"W":"R"}(t)]})})]})})]})}),(0,w.jsxs)(u.ZP,{item:!0,xs:12,sm:5,className:n.bucketActionButtons,children:[(0,w.jsx)(y.Z,{scopes:k.D[k.EI.BUCKET_ADMIN],resource:t.name,children:(0,w.jsx)(C.rU,{to:"/buckets/".concat(t.name,"/admin"),style:{textDecoration:"none"},children:(0,w.jsx)(S.Z,{tooltip:"Manage",onClick:function(){},text:"Manage",icon:(0,w.jsx)(m.ew,{}),color:"primary",variant:"outlined"})})}),(0,w.jsx)(C.rU,{to:"/buckets/".concat(t.name,"/browse"),style:{textDecoration:"none"},children:(0,w.jsx)(S.Z,{tooltip:"Browse",onClick:function(){},text:"Browse",icon:(0,w.jsx)(m.LZ,{}),color:"primary",variant:"contained"})}),(0,w.jsx)(Z.Z,{display:{xs:"none",sm:"block"},children:(0,w.jsx)("div",{style:{marginBottom:10}})})]})]})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,className:n.bucketStats,children:(0,w.jsxs)(u.ZP,{container:!0,justifyContent:"flex-start",spacing:4,children:[(0,w.jsx)(u.ZP,{item:!0,className:n.bucketIcon,children:(0,w.jsx)(m.wN,{})}),(0,w.jsxs)(u.ZP,{item:!0,textAlign:"left",className:n.metric,children:[(0,w.jsx)(m.rH,{}),(0,w.jsx)("span",{className:n.metricLabel,children:"Usage"}),(0,w.jsxs)("div",{className:n.metricText,children:[s,(0,w.jsx)("span",{className:n.unit,children:l})]})]}),(0,w.jsxs)(u.ZP,{item:!0,textAlign:"left",className:n.metric,children:[(0,w.jsx)(m.xp,{}),(0,w.jsx)("span",{className:n.metricLabel,children:"Objects"}),(0,w.jsx)("div",{className:n.metricText,children:t.objects?(0,j.CE)(t.objects):0})]})]})})]})})),F=t(94187),P=t(38342),M=t.n(P),E=t(19538),L=t(99528),I=t(66964),R=t(76352),T=t(50280),z=t(76295),A=t(92440),W=t(67754),O=(0,s.$j)(null,{setModalErrorSnackMessage:h.zb}),D=(0,c.Z)((function(e){return(0,l.Z)((0,o.Z)((0,o.Z)({remoteBucketList:{display:"grid",gridTemplateColumns:"auto auto 45px",alignItems:"center",justifyContent:"stretch"},errorIcon:{color:"#C72C48"},successIcon:{color:"#42C91A"},hide:{opacity:0,transitionDuration:"0.3s"}},p.oO),p.AK))}))(O((function(e){var n=e.open,t=e.closeModalAndRefresh,o=e.classes,s=e.buckets,l=e.setModalErrorSnackMessage,c=(0,r.useState)([]),d=(0,a.Z)(c,2),m=d[0],h=d[1],p=(0,r.useState)(!1),f=(0,a.Z)(p,2),g=f[0],b=f[1],Z=(0,r.useState)(!1),v=(0,a.Z)(Z,2),C=v[0],k=v[1],y=(0,r.useState)(""),S=(0,a.Z)(y,2),N=S[0],B=S[1],P=(0,r.useState)(""),O=(0,a.Z)(P,2),D=O[0],_=O[1],H=(0,r.useState)(""),U=(0,a.Z)(H,2),K=U[0],$=U[1],Y=(0,r.useState)(""),G=(0,a.Z)(Y,2),q=G[0],Q=G[1],V=(0,r.useState)(!0),X=(0,a.Z)(V,2),J=X[0],ee=X[1],ne=(0,r.useState)("async"),te=(0,a.Z)(ne,2),ie=te[0],ae=te[1],oe=(0,r.useState)("100"),re=(0,a.Z)(oe,2),se=re[0],le=re[1],ce=(0,r.useState)("Gi"),de=(0,a.Z)(ce,2),ue=de[0],me=de[1],he=(0,r.useState)("60"),pe=(0,a.Z)(he,2),xe=pe[0],fe=pe[1],ge=(0,r.useState)([]),be=(0,a.Z)(ge,2),Ze=be[0],je=be[1],ve=(0,r.useState)([]),Ce=(0,a.Z)(ve,2),ke=Ce[0],ye=Ce[1],Se=(0,r.useState)([]),Ne=(0,a.Z)(Se,2),we=Ne[0],Be=Ne[1],Fe=ke.map((function(e){return{label:e,value:e}}));(0,r.useEffect)((function(){if(0===Ze.length){var e=[],n=[];s.forEach((function(t){e.push(t),n.push("")})),je(n),h(e)}}),[s,Ze.length]);var Pe=function(e){var n=e.errString;switch(n){case"":return(0,w.jsx)("div",{className:o.successIcon,children:(0,w.jsx)(L.Z,{})});case"n/a":return null;default:if(n)return(0,w.jsx)("div",{className:o.errorIcon,children:(0,w.jsx)(F.Z,{title:n,placement:"top-start",children:(0,w.jsx)(E.Z,{})})})}return null},Me=function(e,n){var t=(0,i.Z)(Ze);t[e]=n,je(t)},Ee=function(e){var n=(0,i.Z)(m),t=(0,i.Z)(Ze);e.forEach((function(e){var i=M()(e,"errorString","");if(!i||""===i){var a=n.indexOf(e.originBucket);n.splice(a,1),t.splice(a,1)}})),h(n),je(t)};return(0,w.jsx)(R.Z,{modalOpen:n,onClose:function(){t(!1)},title:"Set Multiple Bucket Replication",children:(0,w.jsx)(z.Z,{loadingStep:g||C,wizardSteps:[{label:"Remote Configuration",componentRender:(0,w.jsxs)(r.Fragment,{children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(T.Z,{label:"Local Buckets to replicate",content:m.join(", ")})}),(0,w.jsx)("h4",{children:"Remote Endpoint Configuration"}),(0,w.jsx)("span",{className:o.descriptionText,children:"Please avoid the use of root credentials for this feature"}),(0,w.jsx)("br",{}),(0,w.jsx)("br",{}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(I.Z,{id:"accessKey",name:"accessKey",onChange:function(e){B(e.target.value)},label:"Access Key",value:N})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(I.Z,{id:"secretKey",name:"secretKey",onChange:function(e){_(e.target.value)},label:"Secret Key",value:D})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(I.Z,{id:"targetURL",name:"targetURL",onChange:function(e){$(e.target.value)},placeholder:"play.min.io:9000",label:"Target URL",value:K})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(A.Z,{checked:J,id:"useTLS",name:"useTLS",label:"Use TLS",onChange:function(e){ee(e.target.checked)},value:"yes"})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(I.Z,{id:"region",name:"region",onChange:function(e){Q(e.target.value)},label:"Region",value:q})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(W.Z,{id:"replication_mode",name:"replication_mode",onChange:function(e){ae(e.target.value)},label:"Replication Mode",value:ie,options:[{label:"Asynchronous",value:"async"},{label:"Synchronous",value:"sync"}]})}),"async"===ie&&(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsxs)("div",{className:o.multiContainer,children:[(0,w.jsx)("div",{children:(0,w.jsx)(I.Z,{type:"number",id:"bandwidth_scalar",name:"bandwidth_scalar",onChange:function(e){le(e.target.value)},label:"Bandwidth",value:se,min:"0"})}),(0,w.jsx)("div",{className:o.sizeFactorContainer,children:(0,w.jsx)(W.Z,{label:"Unit",id:"bandwidth_unit",name:"bandwidth_unit",value:ue,onChange:function(e){me(e.target.value)},options:(0,j.QU)()})})]})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(I.Z,{id:"healthCheck",name:"healthCheck",onChange:function(e){fe(e.target.value)},label:"Health Check Duration",value:xe})})]}),buttons:[{type:"custom",label:"Next",enabled:!C,action:function(e){var n={accessKey:N,secretKey:D,targetURL:K,useTLS:J};k(!0),x.Z.invoke("POST","/api/v1/list-external-buckets",n).then((function(n){var t=M()(n,"buckets",[]);if(t&&t.length>0){var i=t.map((function(e){return e.name}));ye(i)}e("++"),k(!1)})).catch((function(e){k(!1),l(e)}))}}]},{label:"Bucket Assignments",componentRender:(0,w.jsxs)(r.Fragment,{children:[(0,w.jsx)("h3",{children:"Remote Bucket Assignments"}),(0,w.jsx)("span",{className:o.descriptionText,children:"Please select / type the desired remote bucket were you want the local data to be replicated."}),(0,w.jsx)("div",{className:o.remoteBucketList,children:m.map((function(e,n){var t,i=function(e){if(we.length>0){var n=we.find((function(n){return n.originBucket===e}));if(n)return M()(n,"errorString","")||""}return"n/a"}(e);return(0,w.jsxs)(r.Fragment,{children:[(0,w.jsx)("div",{className:""===i?o.hide:"",children:e}),(0,w.jsx)("div",{className:""===i?o.hide:"",children:(t=n,ke.length>0?(0,w.jsx)(r.Fragment,{children:(0,w.jsx)(W.Z,{label:"",id:"assign-bucket-".concat(t),name:"assign-bucket-".concat(t),value:Ze[t],onChange:function(e){Me(t,e.target.value)},options:Fe,disabled:g})}):(0,w.jsx)(r.Fragment,{children:(0,w.jsx)(I.Z,{id:"assign-bucket-".concat(t),name:"assign-bucket-".concat(t),label:"",onChange:function(e){Me(t,e.target.value)},value:Ze[t],disabled:g})}))}),(0,w.jsx)("div",{className:""===i?o.hide:"",children:we.length>0&&(0,w.jsx)(Pe,{errString:i})})]},"buckets-assignation-".concat(n.toString(),"-").concat(e))}))})]}),buttons:[{type:"back",label:"Back",enabled:!0},{type:"next",label:"Create",enabled:!g,action:function(){b(!0);var e=m.map((function(e,n){return{originBucket:e,destinationBucket:Ze[n]}})),n="".concat(J?"https://":"http://").concat(K),i=parseInt(xe),a={accessKey:N,secretKey:D,targetURL:n,region:q,bucketsRelation:e,syncMode:ie,bandwidth:"async"===ie?parseInt((0,j.Pw)(se,ue,!0)):0,healthCheckPeriod:i};x.Z.invoke("POST","/api/v1/buckets-replication",a).then((function(e){b(!1);var n=e.replicationState;Be(n),0===n.filter((function(e){return e.errorString&&""!==e.errorString})).length?t(!0):setTimeout((function(){Ee(n)}),500)})).catch((function(e){b(!1),l(e)}))}}]}],forModal:!0})})}))),_=t(8235),H=t(18221),U=t(11835),K=t(71208),$=t(74524),Y=t(25534),G=t(23165),q=t(18572),Q=(0,s.$j)((function(e){return{session:e.console.session}}),{setErrorSnackMessage:h.Ih})((0,c.Z)((function(e){return(0,l.Z)((0,o.Z)({bulkSelect:{marginLeft:8,"&:hover":{backgroundColor:e.palette.primary.main},"&.MuiButton-contained":{backgroundColor:e.palette.primary.main}},addBucket:{marginLeft:8},bucketList:{marginTop:25,height:"calc(100vh - 210px)"},searchField:(0,o.Z)((0,o.Z)({},p.qg.searchField),{},{minWidth:380,"@media (max-width: 900px)":{minWidth:220}})},(0,p.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=e.history,o=e.setErrorSnackMessage,s=e.session,l=(0,r.useState)([]),c=(0,a.Z)(l,2),h=c[0],p=c[1],b=(0,r.useState)(!0),Z=(0,a.Z)(b,2),j=Z[0],v=Z[1],C=(0,r.useState)(!1),N=(0,a.Z)(C,2),F=N[0],P=N[1],M=(0,r.useState)(""),E=(0,a.Z)(M,2),L=E[0],I=E[1],R=(0,r.useState)(""),T=(0,a.Z)(R,2),z=T[0],A=T[1],W=(0,r.useState)([]),O=(0,a.Z)(W,2),Q=O[0],V=O[1],X=(0,r.useState)(!1),J=(0,a.Z)(X,2),ee=J[0],ne=J[1],te=(0,r.useState)(!1),ie=(0,a.Z)(te,2),ae=ie[0],oe=ie[1];(0,r.useEffect)((function(){if(j){v(!0),x.Z.invoke("GET","/api/v1/buckets").then((function(e){v(!1),p(e.buckets||[])})).catch((function(e){v(!1),o(e)}))}}),[j,o]);var re=function(e){P(!0),I(e)},se=h.filter((function(e){return""===z||e.name.indexOf(z)>=0})),le=function(e){var n=e.target,t=n.value,a=n.checked,o=(0,i.Z)(Q);return a?o.push(t):o=o.filter((function(e){return e!==t})),V(o),o},ce=Array.from(Object.keys(s.permissions))||[];return(0,w.jsxs)(r.Fragment,{children:[F&&(0,w.jsx)(f.default,{deleteOpen:F,selectedBucket:L,closeDeleteModalAndRefresh:function(e){!function(e){P(!1),e&&(v(!0),V([]))}(e)}}),ee&&(0,w.jsx)(D,{open:ee,buckets:Q,closeModalAndRefresh:function(e){ne(!1),e&&V([])}}),(0,w.jsx)(g.Z,{label:"Buckets"}),(0,w.jsxs)(Y.Z,{children:[(0,w.jsxs)(u.ZP,{item:!0,xs:12,className:n.actionsTray,display:"flex",children:[(0,w.jsx)(G.Z,{onChange:A,placeholder:"Search Buckets",overrideClass:n.searchField,value:z}),(0,w.jsxs)(u.ZP,{item:!0,xs:12,display:"flex",alignItems:"center",justifyContent:"flex-end",children:[(0,w.jsx)(S.Z,{tooltip:ae?"Un Select All":"Select Multiple",onClick:function(){oe(!ae)},text:"",icon:(0,w.jsx)($.Z,{}),color:"primary",variant:ae?"contained":"outlined"}),(0,w.jsx)(S.Z,{tooltip:"Set Replication",onClick:function(){ne(!0)},text:"",icon:(0,w.jsx)(K.Z,{}),disabled:0===Q.length,color:"primary",variant:"outlined"}),(0,w.jsx)(S.Z,{tooltip:"Refresh",onClick:function(){v(!0)},text:"",icon:(0,w.jsx)(H.default,{}),color:"primary",variant:"outlined"}),(0,w.jsx)(y.Z,{scopes:[k.Ft.S3_CREATE_BUCKET],resource:ce,errorProps:{disabled:!0},children:(0,w.jsx)(S.Z,{tooltip:"Create Bucket",onClick:function(){t.push("/add-bucket")},text:"Create Bucket",icon:(0,w.jsx)(m.dt,{}),color:"primary",variant:"contained"})})]})]}),j&&(0,w.jsx)(d.Z,{}),!j&&(0,w.jsxs)(u.ZP,{item:!0,xs:12,className:n.bucketList,children:[0!==se.length&&(0,w.jsx)(q.Z,{rowRenderFunction:function(e){var n=se[e]||null;return n?(0,w.jsx)(B,{bucket:n,onDelete:re,onSelect:le,selected:Q.includes(n.name),bulkSelect:ae}):null},totalItems:se.length}),0===se.length&&""!==z&&(0,w.jsx)(u.ZP,{container:!0,justifyContent:"center",alignContent:"center",alignItems:"center",children:(0,w.jsx)(u.ZP,{item:!0,xs:8,children:(0,w.jsx)(_.Z,{iconComponent:(0,w.jsx)(m.wN,{}),title:"No Results",help:(0,w.jsx)(r.Fragment,{children:"No buckets match the filtering condition"})})})}),0===se.length&&""===z&&(0,w.jsx)(u.ZP,{container:!0,justifyContent:"center",alignContent:"center",alignItems:"center",children:(0,w.jsx)(u.ZP,{item:!0,xs:8,children:(0,w.jsx)(_.Z,{iconComponent:(0,w.jsx)(m.wN,{}),title:"Buckets",help:(0,w.jsxs)(r.Fragment,{children:["MinIO uses buckets to organize objects. A bucket is similar to a folder or directory in a filesystem, where each bucket can hold an arbitrary number of objects.",(0,w.jsxs)(y.Z,{scopes:[k.Ft.S3_CREATE_BUCKET],resource:k.C3,children:[(0,w.jsx)("br",{}),(0,w.jsx)("br",{}),"To get started,\xa0",(0,w.jsx)(U.Z,{onClick:function(){t.push("/add-bucket")},children:"Create a Bucket."})]})]})})})})]})]})]})})))},11835:function(e,n,t){var i=t(18489),a=t(83738),o=(t(50390),t(86509)),r=t(4285),s=t(62559),l=["classes","children"];n.Z=(0,r.Z)((function(e){return(0,o.Z)({root:{padding:0,margin:0,border:0,backgroundColor:"transparent",textDecoration:"underline",cursor:"pointer",fontSize:"inherit",color:e.palette.info.main,fontFamily:"Lato, sans-serif"}})}))((function(e){var n=e.classes,t=e.children,o=(0,a.Z)(e,l);return(0,s.jsx)("button",(0,i.Z)((0,i.Z)({},o),{},{className:n.root,children:t}))}))},70758:function(e,n,t){var i=t(18489),a=t(36222),o=t(83738),r=(t(50390),t(86509)),s=t(4285),l=t(95467),c=t(94187),d=t(44977),u=t(62559),m=["classes","children","variant","tooltip"];n.Z=(0,s.Z)((function(e){return(0,r.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var n=e.classes,t=e.children,r=e.variant,s=void 0===r?"outlined":r,h=e.tooltip,p=(0,o.Z)(e,m),x=(0,u.jsx)(l.Z,(0,i.Z)((0,i.Z)({},p),{},{className:(0,d.Z)(n.root,(0,a.Z)({},n.contained,"contained"===s)),children:t}));return h&&""!==h?(0,u.jsx)(c.Z,{title:h,children:(0,u.jsx)("span",{children:x})}):x}))},54950:function(e,n,t){var i=t(18489),a=t(50390),o=t(25594),r=t(74268),s=t(36554),l=t(94187),c=t(86509),d=t(4285),u=t(72462),m=t(97538),h=t(62559);n.Z=(0,d.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},u.YI),u.Hr),u.lM),{},{fieldContainer:(0,i.Z)((0,i.Z)({},u.YI.fieldContainer),{},{display:"flex",justifyContent:"flex-start",alignItems:"center",margin:"15px 0",marginBottom:0,flexBasis:"initial"})}))}))((function(e){var n=e.label,t=e.onChange,i=e.value,c=e.id,d=e.name,u=e.checked,p=void 0!==u&&u,x=e.disabled,f=void 0!==x&&x,g=e.tooltip,b=void 0===g?"":g,Z=e.classes;return(0,h.jsx)(a.Fragment,{children:(0,h.jsxs)(o.ZP,{item:!0,xs:12,className:Z.fieldContainer,children:[(0,h.jsx)("div",{children:(0,h.jsx)(r.Z,{name:d,id:c,value:i,color:"primary",inputProps:{"aria-label":"secondary checkbox"},checked:p,onChange:t,checkedIcon:(0,h.jsx)("span",{className:Z.checkedIcon}),icon:(0,h.jsx)("span",{className:Z.unCheckedIcon}),disabled:f})}),""!==n&&(0,h.jsxs)(s.Z,{htmlFor:c,className:Z.noMinWidthLabel,children:[(0,h.jsx)("span",{children:n}),""!==b&&(0,h.jsx)("div",{className:Z.tooltipContainer,children:(0,h.jsx)(l.Z,{title:b,placement:"top-start",children:(0,h.jsx)("div",{className:Z.tooltip,children:(0,h.jsx)(m.Z,{})})})})]})]})})}))},92440:function(e,n,t){var i=t(36222),a=t(18489),o=t(50390),r=t(86509),s=t(4285),l=t(49056),c=t(36554),d=t(94187),u=t(35477),m=t(25594),h=t(72462),p=t(97538),x=t(44977),f=t(62559),g=(0,s.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(l.Z);n.Z=(0,s.Z)((function(e){return(0,r.Z)((0,a.Z)((0,a.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},h.OR),h.YI))}))((function(e){var n=e.label,t=void 0===n?"":n,a=e.onChange,r=e.value,s=e.id,l=e.name,h=e.checked,b=void 0!==h&&h,Z=e.disabled,j=void 0!==Z&&Z,v=e.switchOnly,C=void 0!==v&&v,k=e.tooltip,y=void 0===k?"":k,S=e.description,N=void 0===S?"":S,w=e.classes,B=e.indicatorLabels,F=(0,f.jsxs)(o.Fragment,{children:[!C&&(0,f.jsx)("span",{className:(0,x.Z)(w.indicatorLabel,(0,i.Z)({},w.indicatorLabelOn,!b)),children:B&&B.length>1?B[1]:"OFF"}),(0,f.jsx)(g,{checked:b,onChange:a,color:"primary",name:l,inputProps:{"aria-label":"primary checkbox"},disabled:j,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:r}),!C&&(0,f.jsx)("span",{className:(0,x.Z)(w.indicatorLabel,(0,i.Z)({},w.indicatorLabelOn,b)),children:B?B[0]:"ON"})]});return C?F:(0,f.jsx)("div",{className:w.divContainer,children:(0,f.jsxs)(m.ZP,{container:!0,alignItems:"center",children:[(0,f.jsx)(m.ZP,{item:!0,xs:!0,children:(0,f.jsxs)(m.ZP,{container:!0,children:[(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:4,md:3,children:""!==t&&(0,f.jsxs)(c.Z,{htmlFor:s,className:w.inputLabel,children:[(0,f.jsx)("span",{children:t}),""!==y&&(0,f.jsx)("div",{className:w.tooltipContainer,children:(0,f.jsx)(d.Z,{title:y,placement:"top-start",children:(0,f.jsx)("div",{className:w.tooltip,children:(0,f.jsx)(p.Z,{})})})})]})}),(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==N&&(0,f.jsx)(u.Z,{component:"p",className:w.fieldDescription,children:N})})]})}),(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:w.switchContainer,children:F})]})})}))},66964:function(e,n,t){var i=t(18489),a=t(50390),o=t(12066),r=t(25594),s=t(36554),l=t(94187),c=t(95467),d=t(86509),u=t(62449),m=t(4285),h=t(72462),p=t(97538),x=t(44977),f=t(62559),g=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)({},h.gM))}));function b(e){var n=g();return(0,f.jsx)(o.Z,(0,i.Z)({InputProps:{classes:n}},e))}n.Z=(0,m.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},h.YI),h.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},h.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,t=e.onChange,o=e.value,d=e.id,u=e.name,m=e.type,h=void 0===m?"text":m,g=e.autoComplete,Z=void 0===g?"off":g,j=e.disabled,v=void 0!==j&&j,C=e.multiline,k=void 0!==C&&C,y=e.tooltip,S=void 0===y?"":y,N=e.index,w=void 0===N?0:N,B=e.error,F=void 0===B?"":B,P=e.required,M=void 0!==P&&P,E=e.placeholder,L=void 0===E?"":E,I=e.min,R=e.max,T=e.overlayIcon,z=void 0===T?null:T,A=e.overlayObject,W=void 0===A?null:A,O=e.extraInputProps,D=void 0===O?{}:O,_=e.overlayAction,H=e.noLabelMinWidth,U=void 0!==H&&H,K=e.pattern,$=void 0===K?"":K,Y=e.autoFocus,G=void 0!==Y&&Y,q=e.classes,Q=e.className,V=void 0===Q?"":Q,X=(0,i.Z)({"data-index":w},D);return"number"===h&&I&&(X.min=I),"number"===h&&R&&(X.max=R),""!==$&&(X.pattern=$),(0,f.jsx)(a.Fragment,{children:(0,f.jsxs)(r.ZP,{container:!0,className:(0,x.Z)(""!==V?V:"",""!==F?q.errorInField:q.inputBoxContainer),children:[""!==n&&(0,f.jsxs)(s.Z,{htmlFor:d,className:U?q.noMinWidthLabel:q.inputLabel,children:[(0,f.jsxs)("span",{children:[n,M?"*":""]}),""!==S&&(0,f.jsx)("div",{className:q.tooltipContainer,children:(0,f.jsx)(l.Z,{title:S,placement:"top-start",children:(0,f.jsx)("div",{className:q.tooltip,children:(0,f.jsx)(p.Z,{})})})})]}),(0,f.jsxs)("div",{className:q.textBoxContainer,children:[(0,f.jsx)(b,{id:d,name:u,fullWidth:!0,value:o,autoFocus:G,disabled:v,onChange:t,type:h,multiline:k,autoComplete:Z,inputProps:X,error:""!==F,helperText:F,placeholder:L,className:q.inputRebase}),z&&(0,f.jsx)("div",{className:"".concat(q.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,f.jsx)(c.Z,{onClick:_?function(){_()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:z})}),W&&(0,f.jsx)("div",{className:"".concat(q.overlayAction," ").concat(""!==n?"withLabel":""),children:W})]})]})})}))},50280:function(e,n,t){var i=t(18489),a=t(50390),o=t(25594),r=t(86509),s=t(4285),l=t(72462),c=t(62559);n.Z=(0,s.Z)((function(e){return(0,r.Z)((0,i.Z)({},l.xx))}))((function(e){var n=e.classes,t=e.label,i=void 0===t?"":t,r=e.content,s=e.multiLine,l=void 0!==s&&s;return(0,c.jsx)(a.Fragment,{children:(0,c.jsxs)(o.ZP,{className:n.prefinedContainer,children:[""!==i&&(0,c.jsx)(o.ZP,{item:!0,xs:12,className:n.predefinedTitle,children:i}),(0,c.jsx)(o.ZP,{item:!0,xs:12,className:n.predefinedList,children:(0,c.jsx)(o.ZP,{item:!0,xs:12,className:l?n.innerContentMultiline:n.innerContent,children:r})})]})})}))},67754:function(e,n,t){var i=t(18489),a=t(50390),o=t(25594),r=t(46413),s=t(36554),l=t(94187),c=t(47554),d=t(43965),u=t(31680),m=t(86509),h=t(4285),p=t(72462),x=t(97538),f=t(62559),g=(0,h.Z)((function(e){return(0,m.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(r.ZP);n.Z=(0,h.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},p.YI),p.Hr),{},{inputLabel:(0,i.Z)((0,i.Z)({},p.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var n=e.classes,t=e.id,i=e.name,r=e.onChange,m=e.options,h=e.label,p=e.tooltip,b=void 0===p?"":p,Z=e.value,j=e.disabled,v=void 0!==j&&j;return(0,f.jsx)(a.Fragment,{children:(0,f.jsxs)(o.ZP,{item:!0,xs:12,className:n.fieldContainer,children:[""!==h&&(0,f.jsxs)(s.Z,{htmlFor:t,className:n.inputLabel,children:[(0,f.jsx)("span",{children:h}),""!==b&&(0,f.jsx)("div",{className:n.tooltipContainer,children:(0,f.jsx)(l.Z,{title:b,placement:"top-start",children:(0,f.jsx)("div",{className:n.tooltip,children:(0,f.jsx)(x.Z,{})})})})]}),(0,f.jsx)(c.Z,{fullWidth:!0,children:(0,f.jsx)(d.Z,{id:t,name:i,value:Z,onChange:r,input:(0,f.jsx)(g,{}),disabled:v,children:m.map((function(e){return(0,f.jsx)(u.Z,{value:e.value,children:e.label},"select-".concat(i,"-").concat(e.label))}))})})]})})}))},76295:function(e,n,t){t.d(n,{Z:function(){return x}});var i=t(23430),a=t(50390),o=t(86509),r=t(4285),s=t(81378),l=t(66946),c=t(62559),d=(0,r.Z)((function(e){return(0,o.Z)({wizardStepContainer:{display:"flex",flexDirection:"column",flex:1},wizardComponent:{overflowY:"auto",marginBottom:10,height:"calc(100vh - 100px - 80px)",minHeight:400,flex:1,width:"100%"},wizardModal:{overflowY:"auto",marginBottom:10,height:"calc(100vh - 515px)"},buttonsContainer:{display:"flex",flexDirection:"row",justifyContent:"flex-start",padding:"10px 0",borderTop:"#EAEAEA 1px solid","& button":{marginLeft:10},"&.forModal":{paddingBottom:0}},buttonInnerContainer:{width:"100%",textAlign:"right",marginRight:15}})}))((function(e){var n=e.classes,t=e.page,i=e.pageChange,a=e.loadingStep,o=e.forModal;return(0,c.jsxs)("div",{className:n.wizardStepContainer,children:[(0,c.jsx)("div",{className:o?n.wizardModal:n.wizardComponent,children:t.componentRender}),a&&(0,c.jsx)("div",{children:(0,c.jsx)(s.Z,{})}),(0,c.jsx)("div",{className:"".concat(n.buttonsContainer," ").concat(o?"forModal":""),children:(0,c.jsx)("div",{className:n.buttonInnerContainer,children:t.buttons.map((function(e){return(0,c.jsx)(l.Z,{variant:"contained",color:"primary",size:"small",onClick:function(){!function(e){switch(e.type){case"next":i("++");break;case"back":i("--");break;case"to":i(e.toPage||0)}e.action&&e.action(i)}(e)},disabled:!e.enabled,children:e.label},"button-".concat(t.label,"-").concat(e.label))}))})})]})})),u=t(5211),m=t(25594),h=t(14291),p=t(70902),x=(0,r.Z)((function(e){return(0,o.Z)({wizFromContainer:{},wizFromModal:{position:"relative"},modalWizardSteps:{padding:5,borderBottom:"#eaeaea 1px solid","& ul":{padding:0,marginTop:0,display:"flex",justifyContent:"space-evenly","& li":{listStyle:"lower-roman","&::marker":{paddingLeft:15}}}},buttonList:{backgroundColor:"transparent",border:"none",cursor:"pointer","&:not(:disabled):hover":{textDecoration:"underline"},"&:selected, &:active, &:focus, &:focus:active":{border:"none",outline:0,boxShadow:"none"}},paddedContentGrid:{marginTop:8,padding:"0 10px",minHeight:400},stepsLabel:{fontSize:20,color:"#393939",fontWeight:600,margin:"15px 12px","&.stepsModalTitle":{textAlign:"center",width:"100%",marginTop:0,marginBottom:10}},stepsMasterContainer:{position:"sticky",top:0,backgroundColor:"#FFFFFF",width:"100%",maxHeight:90},verticalSteps:{borderRight:"1px solid #E5E5E5",background:"#F8F8F8"},stepsContainer:{paddingTop:0,"& .MuiButtonBase-root.Mui-selected":{background:"#E5E5E5"}},stepItem:{minHeight:60,borderBottom:"1px solid #E5E5E5","&:hover":{background:"rgba(247,247,247,0.7)"}}})}))((function(e){var n=e.classes,t=e.wizardSteps,o=e.loadingStep,r=e.forModal,s=(0,a.useState)(0),l=(0,i.Z)(s,2),x=l[0],f=l[1],g=function(e){var n=t.length-1;if("++"===e){var i=x+1;i>n&&(i=n),f(i)}if("--"===e){var a=x-1;a<0&&(a=0),f(a)}if("number"===typeof e){var o=e;e<0&&(o=0),e>n&&(o=n),f(o)}};if(0===t.length)return null;return(0,c.jsxs)(m.ZP,{container:!0,className:r?n.wizFromModal:n.wizFromContainer,children:[r?(0,c.jsx)(a.Fragment,{children:(0,c.jsxs)("div",{className:n.stepsMasterContainer,children:[(0,c.jsx)("div",{className:"".concat(n.stepsLabel," stepsModalTitle"),children:"Steps"}),(0,c.jsx)("div",{className:n.modalWizardSteps,children:(0,c.jsx)("ul",{children:t.map((function(e,t){return(0,c.jsx)("li",{children:(0,c.jsx)("button",{onClick:function(){return g(t)},disabled:t>x,className:n.buttonList,children:e.label})},"wizard-".concat(t.toString()))}))})})]})}):(0,c.jsx)(a.Fragment,{children:(0,c.jsx)(m.ZP,{item:!0,xs:12,sm:2,md:2,lg:2,xl:2,className:n.verticalSteps,children:(0,c.jsx)(a.Fragment,{children:(0,c.jsx)(u.Z,{component:"nav",dense:!0,classes:{root:n.stepsContainer},children:t.map((function(e,t){return(0,c.jsx)(h.ZP,{button:!0,disableRipple:!0,onClick:function(){return g(t)},selected:x===t,classes:{root:n.stepItem},children:(0,c.jsx)(p.Z,{primary:e.label})},"wizard-".concat(t.toString()))}))})})})}),(0,c.jsx)(m.ZP,{item:!0,xs:12,sm:r?12:10,md:r?12:10,lg:r?12:10,xl:r?12:10,className:r?"":n.paddedContentGrid,children:(0,c.jsx)(d,{page:t[x],pageChange:g,loadingStep:o,forModal:r})})]})}))},21639:function(e,n,t){var i=t(23430),a=t(50390),o=t(30324);n.Z=function(e,n){var t=(0,a.useState)(!1),r=(0,i.Z)(t,2),s=r[0],l=r[1];return[s,function(t,i,a){l(!0),o.Z.invoke(t,i,a).then((function(n){l(!1),e(n)})).catch((function(e){l(!1),n(e)}))}]}},60656:function(e,n,t){var i=t(18489),a=t(50390),o=t(84402),r=t(78426),s=t(93085),l=t(7887),c=t(66946),d=t(14476),u=t(95467),m=t(21278),h=t(86509),p=t(4285),x=t(72462),f=t(62559);n.Z=(0,p.Z)((function(e){return(0,h.Z)((0,i.Z)({},x.Qw))}))((function(e){var n=e.isOpen,t=void 0!==n&&n,h=e.onClose,p=e.onCancel,x=e.onConfirm,g=e.classes,b=void 0===g?{}:g,Z=e.title,j=void 0===Z?"":Z,v=e.isLoading,C=e.confirmationContent,k=e.cancelText,y=void 0===k?"Cancel":k,S=e.confirmText,N=void 0===S?"Confirm":S,w=e.confirmButtonProps,B=void 0===w?{}:w,F=e.cancelButtonProps,P=void 0===F?{}:F,M=e.titleIcon,E=void 0===M?null:M;return(0,f.jsxs)(o.Z,{open:t,onClose:function(e,n){"backdropClick"!==n&&h()},className:b.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,f.jsxs)(r.Z,{className:b.title,children:[(0,f.jsxs)("div",{className:b.titleText,children:[E," ",j]}),(0,f.jsx)("div",{className:b.closeContainer,children:(0,f.jsx)(u.Z,{"aria-label":"close",className:b.closeButton,onClick:h,disableRipple:!0,size:"small",children:(0,f.jsx)(m.Z,{})})})]}),(0,f.jsx)(s.Z,{className:b.content,children:C}),(0,f.jsxs)(l.Z,{className:b.actions,children:[(0,f.jsx)(c.Z,(0,i.Z)((0,i.Z)({className:b.cancelButton,onClick:p||h,disabled:v,type:"button"},P),{},{variant:"outlined",color:"primary",children:y})),(0,f.jsx)(d.Z,(0,i.Z)((0,i.Z)({className:b.confirmButton,type:"button",onClick:x,loading:v,disabled:v,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,f.jsx)(a.Fragment,{}),autoFocus:!0},B),{},{children:N}))]})]})}))},76352:function(e,n,t){t.d(n,{Z:function(){return w}});var i,a=t(23430),o=t(18489),r=t(50390),s=t(34424),l=t(95467),c=t(97771),d=t(84402),u=t(78426),m=t(93085),h=t(86509),p=t(4285),x=t(72462),f=t(44149),g=t(38342),b=t.n(g),Z=t(92125),j=t(19538),v=t(21278),C=t(62559),k=function(){clearInterval(i)},y={displayErrorMessage:f.zb},S=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),y)((0,p.Z)((function(e){return(0,h.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var n=e.classes,t=e.modalSnackMessage,o=e.displayErrorMessage,s=e.customStyle,l=(0,r.useState)(!1),c=(0,a.Z)(l,2),d=c[0],u=c[1],m=(0,r.useState)(!1),h=(0,a.Z)(m,2),p=h[0],x=h[1],f=(0,r.useCallback)((function(){x(!1)}),[]);(0,r.useEffect)((function(){p||(o({detailedError:"",errorMessage:""}),u(!1))}),[o,p]),(0,r.useEffect)((function(){""!==t.message&&"error"===t.type&&x(!0)}),[f,t.message,t.type]);var g=b()(t,"message",""),y=b()(t,"detailedErrorMsg","");return"error"!==t.type||""===g?null:(0,C.jsx)(r.Fragment,{children:(0,C.jsxs)("div",{className:"".concat(n.modalErrorContainer," ").concat(p?n.modalErrorShow:""),style:s,onMouseOver:k,onMouseLeave:function(){i=setInterval(f,1e4)},children:[(0,C.jsx)("button",{className:n.closeButton,onClick:f,children:(0,C.jsx)(v.Z,{})}),(0,C.jsxs)("div",{className:n.errorTitle,children:[(0,C.jsx)("span",{className:n.messageIcon,children:(0,C.jsx)(j.Z,{})}),(0,C.jsx)("span",{className:n.errorLabel,children:g})]}),""!==y&&(0,C.jsxs)(r.Fragment,{children:[(0,C.jsx)("div",{className:n.detailsContainerLink,children:(0,C.jsxs)("button",{className:n.detailsButton,onClick:function(){u(!d)},children:["Details",(0,C.jsx)(Z.Z,{className:"".concat(n.arrowElement," ").concat(d?n.arrowOpen:"")})]})}),(0,C.jsx)("div",{className:"".concat(n.extraDetailsContainer," ").concat(d?n.extraDetailsOpen:""),children:y})]})]})})}))),N=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:f.MK}),w=(0,p.Z)((function(e){return(0,h.Z)((0,o.Z)((0,o.Z)({},x.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},x.sN))}))(N((function(e){var n=e.onClose,t=e.modalOpen,i=e.title,s=e.children,h=e.classes,p=e.wideLimit,x=void 0===p||p,f=e.modalSnackMessage,g=e.noContentPadding,b=e.setModalSnackMessage,Z=e.titleIcon,j=void 0===Z?null:Z,k=(0,r.useState)(!1),y=(0,a.Z)(k,2),N=y[0],w=y[1];(0,r.useEffect)((function(){b("")}),[b]),(0,r.useEffect)((function(){if(f){if(""===f.message)return void w(!1);"error"!==f.type&&w(!0)}}),[f]);var B=x?{classes:{paper:h.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},F="";return f&&(F=f.detailedErrorMsg,(""===f.detailedErrorMsg||f.detailedErrorMsg.length<5)&&(F=f.message)),(0,C.jsxs)(d.Z,(0,o.Z)((0,o.Z)({open:t,classes:h},B),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&n()},className:h.root,children:[(0,C.jsxs)(u.Z,{className:h.title,children:[(0,C.jsxs)("div",{className:h.titleText,children:[j," ",i]}),(0,C.jsx)("div",{className:h.closeContainer,children:(0,C.jsx)(l.Z,{"aria-label":"close",className:h.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,C.jsx)(v.Z,{})})})]}),(0,C.jsx)(S,{}),(0,C.jsx)(c.Z,{open:N,className:h.snackBarModal,onClose:function(){w(!1),b("")},message:F,ContentProps:{className:"".concat(h.snackBar," ").concat(f&&"error"===f.type?h.errorSnackBar:"")},autoHideDuration:f&&"error"===f.type?1e4:5e3}),(0,C.jsx)(m.Z,{className:g?"":h.content,children:s})]}))})))},35721:function(e,n,t){t(50390);var i=t(34424),a=t(25594),o=t(86509),r=t(4285),s=t(35477),l=t(95467),c=t(26805),d=t(44078),u=t(5265),m=t(98280),h=t(62559),p={toggleList:u.kQ},x=(0,i.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),p);n.Z=x((0,r.Z)((function(e){return(0,o.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,i=e.actions,o=e.sidebarOpen,r=e.operatorMode,u=e.managerObjects,p=e.toggleList,x=e.middleComponent;return(0,h.jsxs)(a.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,h.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!o&&(0,h.jsx)("div",{className:n.logo,children:r?(0,h.jsx)(c.Z,{}):(0,h.jsx)(d.Z,{})}),(0,h.jsx)(s.Z,{variant:"h4",className:n.labelStyle,children:t})]}),x&&(0,h.jsx)(a.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:x}),(0,h.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:n.rightMenu,children:[i&&i,u&&u.length>0&&(0,h.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){p()},size:"large",children:(0,h.jsx)(m.gx,{})})]})]})})))},23165:function(e,n,t){var i=t(36222),a=t(18489),o=(t(50390),t(65771)),r=t(13336),s=t(12066),l=t(4285),c=t(86509),d=t(72462),u=t(62559);n.Z=(0,l.Z)((function(e){return(0,c.Z)({searchField:(0,a.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,a=e.classes,l=e.onChange,c=e.adornmentPosition,d=void 0===c?"end":c,m=e.overrideClass,h=e.value,p=(0,i.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(o.Z,{position:d,className:a.adornment,children:(0,u.jsx)(r.Z,{})}));return(0,u.jsx)(s.Z,{placeholder:t,className:m||a.searchField,id:"search-resource",label:"",InputProps:p,onChange:function(e){l(e.target.value)},variant:"standard",value:h})}))},18572:function(e,n,t){var i=t(50390),a=t(65742),o=t(10106),r=t(33690),s=t(62559),l={};n.Z=function(e){var n=e.rowRenderFunction,t=e.totalItems,c=e.defaultHeight,d=function(e){var t=e.index,i=e.style;return(0,s.jsx)("div",{style:i,children:n(t)})};return(0,s.jsx)(i.Fragment,{children:(0,s.jsx)(o.Z,{isItemLoaded:function(e){return!!l[e]},loadMoreItems:function(e,n){for(var t=e;t<=n;t++)l[t]=1;for(var i=e;i<=n;i++)l[i]=2},itemCount:t,children:function(e){var n=e.onItemsRendered,i=e.ref;return(0,s.jsx)(r.qj,{children:function(e){var o=e.width,r=e.height;return(0,s.jsx)(a.t7,{itemSize:c||220,height:r,itemCount:t,width:o,ref:i,onItemsRendered:n,children:d})}})}})})}}}]); -//# sourceMappingURL=2094.ef1fbd5b.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2094.ef1fbd5b.chunk.js.map b/portal-ui/build/static/js/2094.ef1fbd5b.chunk.js.map deleted file mode 100644 index 64e482303..000000000 --- a/portal-ui/build/static/js/2094.ef1fbd5b.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/2094.ef1fbd5b.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Buckets/ListBuckets/DeleteBucket.tsx","screens/Console/Buckets/ListBuckets/BucketListItem.tsx","screens/Console/Buckets/ListBuckets/BulkReplicationModal.tsx","screens/Console/Buckets/ListBuckets/ListBuckets.tsx","screens/Console/Common/AButton/AButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/FormComponents/CheckboxWrapper/CheckboxWrapper.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/GenericWizard/WizardPage.tsx","screens/Console/Common/GenericWizard/GenericWizard.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Common/VirtualizedList/VirtualizedList.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 {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\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 { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\n\ninterface IDeleteBucketProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedBucket: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeleteBucket = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n setErrorSnackMessage,\n}: IDeleteBucketProps) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedBucket) {\n return null;\n }\n\n const onConfirmDelete = () => {\n invokeDeleteApi(\"DELETE\", `/api/v1/buckets/${selectedBucket}`, {\n name: selectedBucket,\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 bucket {selectedBucket}?
\n A bucket can only be deleted if it's empty.\n
\n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(DeleteBucket);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n ArrowRightIcon,\n BucketsIcon,\n ReportedUsageIcon,\n SettingsIcon,\n TotalObjectsIcon,\n} from \"../../../../icons\";\nimport { Bucket } from \"../types\";\nimport { Box, Grid, Typography } from \"@mui/material\";\nimport { niceBytes, prettyNumber } from \"../../../../common/utils\";\nimport CheckboxWrapper from \"../../Common/FormComponents/CheckboxWrapper/CheckboxWrapper\";\nimport { Link } from \"react-router-dom\";\nimport {\n IAM_PERMISSIONS,\n IAM_ROLES,\n} from \"../../../../common/SecureComponent/permissions\";\nimport SecureComponent from \"../../../../common/SecureComponent/SecureComponent\";\nimport RBIconButton from \"../BucketDetails/SummaryItems/RBIconButton\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n marginBottom: 30,\n padding: 20,\n color: theme.palette.primary.main,\n border: \"#E5E5E5 1px solid\",\n borderRadius: 2,\n \"& .min-icon\": {\n height: 14,\n width: 14,\n marginRight: 4,\n },\n \"& .MuiTypography-body2\": {\n fontSize: 14,\n },\n \"& .MuiCardHeader-content\": {\n wordWrap: \"break-word\",\n overflowWrap: \"break-word\",\n wordBreak: \"break-all\",\n font: \"normal normal bold 24px/27px Lato\",\n color: theme.palette.primary.main,\n\n \"& .MuiTypography-root\": {\n fontSize: 19,\n fontWeight: \"bold\",\n \"& .min-icon\": {\n position: \"relative\",\n top: 4,\n marginRight: 4,\n height: \"24px !important\",\n },\n },\n },\n \"& .MuiCardHeader-root\": {\n background:\n \"transparent linear-gradient(0deg, #EEF1F44E 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n },\n },\n checkBoxElement: {\n width: 32,\n height: 32,\n float: \"left\",\n overflow: \"hidden\",\n \"& div\": {\n position: \"absolute\",\n },\n },\n viewButton: {\n width: 111,\n color: \"white\",\n marginLeft: 8,\n fontSize: 12,\n fontWeight: \"normal\",\n boxShadow: \"unset\",\n borderRadius: 4,\n },\n manageButton: {\n borderRadius: 4,\n width: 111,\n color: theme.palette.grey[\"700\"],\n textTransform: \"unset\",\n fontSize: 12,\n fontWeight: \"normal\",\n \"& .MuiButton-endIcon\": {\n \"& .min-icon\": {\n fontSize: 18,\n },\n },\n },\n metric: {\n \"& .min-icon\": {\n color: \"#000000\",\n width: 13,\n marginRight: 5,\n },\n },\n metricLabel: {\n fontSize: 14,\n fontWeight: \"bold\",\n color: \"#000000\",\n },\n metricText: {\n fontSize: 24,\n fontWeight: \"bold\",\n },\n unit: {\n fontSize: 12,\n fontWeight: \"normal\",\n },\n bucketName: {\n padding: 0,\n margin: 0,\n fontSize: 22,\n },\n bucketIcon: {\n \"& .min-icon\": {\n height: 48,\n width: 48,\n },\n },\n bucketInfo: {\n display: \"flex\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column-reverse\",\n },\n },\n bucketStats: {\n marginTop: 15,\n borderTop: \"1px solid rgb(234,234,234, .7)\",\n paddingTop: 14,\n },\n bucketActionButtons: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n\n \"@media (max-width: 900px)\": {\n marginTop: \"-33px\",\n },\n },\n });\n\ninterface IBucketListItem {\n bucket: Bucket;\n classes: any;\n onDelete: (bucketName: string) => void;\n onSelect: (e: React.ChangeEvent) => void;\n selected: boolean;\n bulkSelect: boolean;\n}\n\nconst BucketListItem = ({\n classes,\n bucket,\n onDelete,\n onSelect,\n selected,\n bulkSelect,\n}: IBucketListItem) => {\n const usage = niceBytes(`${bucket.size}` || \"0\");\n const usageScalar = usage.split(\" \")[0];\n const usageUnit = usage.split(\" \")[1];\n\n const accessToStr = (bucket: Bucket): string => {\n if (bucket.rw_access?.read && !bucket.rw_access?.write) {\n return \"R\";\n } else if (!bucket.rw_access?.read && bucket.rw_access?.write) {\n return \"W\";\n } else if (bucket.rw_access?.read && bucket.rw_access?.write) {\n return \"R/W\";\n }\n return \"\";\n };\n const onCheckboxClick = (e: React.ChangeEvent) => {\n onSelect(e);\n };\n\n return (\n \n \n \n \n \n \n {bulkSelect && (\n {\n e.stopPropagation();\n }}\n >\n \n \n )}\n

{bucket.name}

\n
\n \n \n \n \n Created: {bucket.creation_date}\n \n \n \n \n Access: {accessToStr(bucket)}\n \n \n \n \n
\n
\n \n \n \n {}}\n text={\"Manage\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n \n \n {}}\n text={\"Browse\"}\n icon={}\n color={\"primary\"}\n variant={\"contained\"}\n />\n \n \n
\n \n \n \n \n\n \n \n \n \n \n \n \n Usage\n
\n {usageScalar}\n {usageUnit}\n
\n
\n \n \n Objects\n
\n {bucket.objects ? prettyNumber(bucket.objects) : 0}\n
\n
\n
\n
\n \n );\n};\n\nexport default withStyles(styles)(BucketListItem);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { SelectChangeEvent, Tooltip } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CheckCircleOutlineIcon from \"@mui/icons-material/CheckCircleOutline\";\nimport {\n modalBasic,\n wizardCommon,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { BulkReplicationItem, BulkReplicationResponse } from \"../types\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport PredefinedList from \"../../Common/FormComponents/PredefinedList/PredefinedList\";\nimport api from \"../../../../common/api\";\nimport GenericWizard from \"../../Common/GenericWizard/GenericWizard\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { SelectorTypes } from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport { getBytes, k8sfactorForDropdown } from \"../../../../common/utils\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ninterface IBulkReplicationModal {\n open: boolean;\n closeModalAndRefresh: (clearSelection: boolean) => any;\n classes: any;\n buckets: string[];\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n remoteBucketList: {\n display: \"grid\",\n gridTemplateColumns: \"auto auto 45px\",\n alignItems: \"center\",\n justifyContent: \"stretch\",\n },\n errorIcon: {\n color: \"#C72C48\",\n },\n successIcon: {\n color: \"#42C91A\",\n },\n hide: {\n opacity: 0,\n transitionDuration: \"0.3s\",\n },\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst AddBulkReplicationModal = ({\n open,\n closeModalAndRefresh,\n classes,\n buckets,\n setModalErrorSnackMessage,\n}: IBulkReplicationModal) => {\n const [bucketsToAlter, setBucketsToAlter] = useState([]);\n const [addLoading, setAddLoading] = useState(false);\n const [externalLoading, setExternalLoading] = useState(false);\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n const [targetURL, setTargetURL] = useState(\"\");\n const [region, setRegion] = useState(\"\");\n const [useTLS, setUseTLS] = useState(true);\n const [replicationMode, setReplicationMode] = useState(\"async\");\n const [bandwidthScalar, setBandwidthScalar] = useState(\"100\");\n const [bandwidthUnit, setBandwidthUnit] = useState(\"Gi\");\n const [healthCheck, setHealthCheck] = useState(\"60\");\n const [relationBuckets, setRelationBuckets] = useState([]);\n const [remoteBucketsOpts, setRemoteBucketOpts] = useState([]);\n const [responseItem, setResponseItem] = useState([]);\n\n const optionsForBucketsDrop: SelectorTypes[] = remoteBucketsOpts.map(\n (remoteBucketName: string) => {\n return {\n label: remoteBucketName,\n value: remoteBucketName,\n };\n }\n );\n\n useEffect(() => {\n if (relationBuckets.length === 0) {\n const bucketsAlter: string[] = [];\n const relationBucketsAlter: string[] = [];\n\n buckets.forEach((item: string) => {\n bucketsAlter.push(item);\n relationBucketsAlter.push(\"\");\n });\n\n setRelationBuckets(relationBucketsAlter);\n setBucketsToAlter(bucketsAlter);\n }\n }, [buckets, relationBuckets.length]);\n\n const addRecord = () => {\n setAddLoading(true);\n const replicate = bucketsToAlter.map((bucketName, index) => {\n return {\n originBucket: bucketName,\n destinationBucket: relationBuckets[index],\n };\n });\n\n const endURL = `${useTLS ? \"https://\" : \"http://\"}${targetURL}`;\n const hc = parseInt(healthCheck);\n\n const remoteBucketsInfo = {\n accessKey: accessKey,\n secretKey: secretKey,\n targetURL: endURL,\n region: region,\n bucketsRelation: replicate,\n syncMode: replicationMode,\n bandwidth:\n replicationMode === \"async\"\n ? parseInt(getBytes(bandwidthScalar, bandwidthUnit, true))\n : 0,\n healthCheckPeriod: hc,\n };\n\n api\n .invoke(\"POST\", \"/api/v1/buckets-replication\", remoteBucketsInfo)\n .then((response: BulkReplicationResponse) => {\n setAddLoading(false);\n\n const states = response.replicationState;\n setResponseItem(states);\n\n const filterErrors = states.filter(\n (itm) => itm.errorString && itm.errorString !== \"\"\n );\n\n if (filterErrors.length === 0) {\n closeModalAndRefresh(true);\n } else {\n setTimeout(() => {\n removeSuccessItems(states);\n }, 500);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n const retrieveRemoteBuckets = (\n wizardPageJump: (page: number | string) => void\n ) => {\n const remoteConnectInfo = {\n accessKey: accessKey,\n secretKey: secretKey,\n targetURL: targetURL,\n useTLS,\n };\n setExternalLoading(true);\n\n api\n .invoke(\"POST\", \"/api/v1/list-external-buckets\", remoteConnectInfo)\n .then((dataReturn) => {\n const buckets = get(dataReturn, \"buckets\", []);\n\n if (buckets && buckets.length > 0) {\n const arrayReplaceBuckets = buckets.map((element: any) => {\n return element.name;\n });\n\n setRemoteBucketOpts(arrayReplaceBuckets);\n }\n\n wizardPageJump(\"++\");\n setExternalLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setExternalLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n const stateOfItem = (initialBucket: string) => {\n if (responseItem.length > 0) {\n const bucketResponse = responseItem.find(\n (item) => item.originBucket === initialBucket\n );\n\n if (bucketResponse) {\n const errString = get(bucketResponse, \"errorString\", \"\");\n\n if (errString) {\n return errString;\n }\n\n return \"\";\n }\n }\n return \"n/a\";\n };\n\n const LogoToShow = ({ errString }: { errString: string }) => {\n switch (errString) {\n case \"\":\n return (\n
\n \n
\n );\n case \"n/a\":\n return null;\n default:\n if (errString) {\n return (\n
\n \n \n \n
\n );\n }\n }\n return null;\n };\n\n const updateItem = (indexItem: number, value: string) => {\n const updatedList = [...relationBuckets];\n updatedList[indexItem] = value;\n setRelationBuckets(updatedList);\n };\n\n const itemDisplayBulk = (indexItem: number) => {\n if (remoteBucketsOpts.length > 0) {\n return (\n \n ) => {\n updateItem(indexItem, e.target.value as string);\n }}\n options={optionsForBucketsDrop}\n disabled={addLoading}\n />\n \n );\n }\n return (\n \n ) => {\n updateItem(indexItem, event.target.value);\n }}\n value={relationBuckets[indexItem]}\n disabled={addLoading}\n />\n \n );\n };\n\n const removeSuccessItems = (responseItem: BulkReplicationItem[]) => {\n let newBucketsToAlter = [...bucketsToAlter];\n let newRelationBuckets = [...relationBuckets];\n\n responseItem.forEach((successElement) => {\n const errorString = get(successElement, \"errorString\", \"\");\n\n if (!errorString || errorString === \"\") {\n const indexToRemove = newBucketsToAlter.indexOf(\n successElement.originBucket\n );\n\n newBucketsToAlter.splice(indexToRemove, 1);\n newRelationBuckets.splice(indexToRemove, 1);\n }\n });\n\n setBucketsToAlter(newBucketsToAlter);\n setRelationBuckets(newRelationBuckets);\n };\n\n return (\n {\n closeModalAndRefresh(false);\n }}\n title=\"Set Multiple Bucket Replication\"\n >\n \n \n \n \n

Remote Endpoint Configuration

\n \n Please avoid the use of root credentials for this feature\n \n
\n
\n \n ) => {\n setAccessKey(e.target.value);\n }}\n label=\"Access Key\"\n value={accessKey}\n />\n \n \n ) => {\n setSecretKey(e.target.value);\n }}\n label=\"Secret Key\"\n value={secretKey}\n />\n \n \n ) => {\n setTargetURL(e.target.value);\n }}\n placeholder=\"play.min.io:9000\"\n label=\"Target URL\"\n value={targetURL}\n />\n \n \n {\n setUseTLS(e.target.checked);\n }}\n value=\"yes\"\n />\n \n \n ) => {\n setRegion(e.target.value);\n }}\n label=\"Region\"\n value={region}\n />\n \n \n ) => {\n setReplicationMode(e.target.value as string);\n }}\n label=\"Replication Mode\"\n value={replicationMode}\n options={[\n { label: \"Asynchronous\", value: \"async\" },\n { label: \"Synchronous\", value: \"sync\" },\n ]}\n />\n \n {replicationMode === \"async\" && (\n \n
\n
\n \n ) => {\n setBandwidthScalar(e.target.value as string);\n }}\n label=\"Bandwidth\"\n value={bandwidthScalar}\n min=\"0\"\n />\n
\n
\n ) => {\n setBandwidthUnit(e.target.value as string);\n }}\n options={k8sfactorForDropdown()}\n />\n
\n
\n
\n )}\n \n ) => {\n setHealthCheck(e.target.value as string);\n }}\n label=\"Health Check Duration\"\n value={healthCheck}\n />\n \n \n ),\n buttons: [\n {\n type: \"custom\",\n label: \"Next\",\n enabled: !externalLoading,\n action: retrieveRemoteBuckets,\n },\n ],\n },\n {\n label: \"Bucket Assignments\",\n componentRender: (\n \n

Remote Bucket Assignments

\n \n Please select / type the desired remote bucket were you want\n the local data to be replicated.\n \n
\n {bucketsToAlter.map((bucketName: string, index: number) => {\n const errorItem = stateOfItem(bucketName);\n return (\n \n
\n {bucketName}\n
\n
\n {itemDisplayBulk(index)}\n
\n
\n {responseItem.length > 0 && (\n \n )}\n
\n \n );\n })}\n
\n
\n ),\n buttons: [\n {\n type: \"back\",\n label: \"Back\",\n enabled: true,\n },\n {\n type: \"next\",\n label: \"Create\",\n enabled: !addLoading,\n action: addRecord,\n },\n ],\n },\n ]}\n forModal\n />\n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(AddBulkReplicationModal));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { Bucket, BucketList } from \"../types\";\nimport { AddIcon, BucketsIcon } from \"../../../../icons\";\nimport { AppState } from \"../../../../store\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport {\n containerForHeader,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport DeleteBucket from \"./DeleteBucket\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport BucketListItem from \"./BucketListItem\";\nimport BulkReplicationModal from \"./BulkReplicationModal\";\nimport HelpBox from \"../../../../common/HelpBox\";\nimport { ISessionResponse } from \"../../types\";\nimport RefreshIcon from \"../../../../icons/RefreshIcon\";\nimport AButton from \"../../Common/AButton/AButton\";\nimport MultipleBucketsIcon from \"../../../../icons/MultipleBucketsIcon\";\nimport SelectMultipleIcon from \"../../../../icons/SelectMultipleIcon\";\nimport SecureComponent from \"../../../../common/SecureComponent/SecureComponent\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_SCOPES,\n} from \"../../../../common/SecureComponent/permissions\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport SearchBox from \"../../Common/SearchBox\";\nimport VirtualizedList from \"../../Common/VirtualizedList/VirtualizedList\";\nimport RBIconButton from \"../BucketDetails/SummaryItems/RBIconButton\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n bulkSelect: {\n marginLeft: 8,\n \"&:hover\": {\n backgroundColor: theme.palette.primary.main,\n },\n \"&.MuiButton-contained\": {\n backgroundColor: theme.palette.primary.main,\n },\n },\n addBucket: {\n marginLeft: 8,\n },\n bucketList: {\n marginTop: 25,\n height: \"calc(100vh - 210px)\",\n },\n searchField: {\n ...searchField.searchField,\n minWidth: 380,\n \"@media (max-width: 900px)\": {\n minWidth: 220,\n },\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IListBucketsProps {\n classes: any;\n history: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n session: ISessionResponse;\n}\n\nconst ListBuckets = ({\n classes,\n history,\n setErrorSnackMessage,\n session,\n}: IListBucketsProps) => {\n const [records, setRecords] = useState([]);\n const [loading, setLoading] = useState(true);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedBucket, setSelectedBucket] = useState(\"\");\n const [filterBuckets, setFilterBuckets] = useState(\"\");\n const [selectedBuckets, setSelectedBuckets] = useState([]);\n const [replicationModalOpen, setReplicationModalOpen] =\n useState(false);\n\n const [bulkSelect, setBulkSelect] = useState(false);\n\n useEffect(() => {\n if (loading) {\n const fetchRecords = () => {\n setLoading(true);\n api\n .invoke(\"GET\", `/api/v1/buckets`)\n .then((res: BucketList) => {\n setLoading(false);\n setRecords(res.buckets || []);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setErrorSnackMessage(err);\n });\n };\n fetchRecords();\n }\n }, [loading, setErrorSnackMessage]);\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n if (refresh) {\n setLoading(true);\n setSelectedBuckets([]);\n }\n };\n\n const confirmDeleteBucket = (bucket: string) => {\n setDeleteOpen(true);\n setSelectedBucket(bucket);\n };\n\n const filteredRecords = records.filter((b: Bucket) => {\n if (filterBuckets === \"\") {\n return true;\n } else {\n if (b.name.indexOf(filterBuckets) >= 0) {\n return true;\n } else {\n return false;\n }\n }\n });\n\n const selectListBuckets = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selectedBuckets]; // We clone the selectedBuckets array\n\n if (checked) {\n // If the user has checked this field we need to push this to selectedBucketsList\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n setSelectedBuckets(elements);\n\n return elements;\n };\n\n const closeBulkReplicationModal = (unselectAll: boolean) => {\n setReplicationModalOpen(false);\n\n if (unselectAll) {\n setSelectedBuckets([]);\n }\n };\n\n const renderItemLine = (index: number) => {\n const bucket = filteredRecords[index] || null;\n if (bucket) {\n return (\n \n );\n }\n return null;\n };\n\n const createBucketButtonResources: string[] =\n Array.from(Object.keys(session.permissions)) || [];\n\n return (\n \n {deleteOpen && (\n {\n closeDeleteModalAndRefresh(refresh);\n }}\n />\n )}\n {replicationModalOpen && (\n \n )}\n \n \n \n \n\n \n {\n setBulkSelect(!bulkSelect);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={bulkSelect ? \"contained\" : \"outlined\"}\n />\n\n {\n setReplicationModalOpen(true);\n }}\n text={\"\"}\n icon={}\n disabled={selectedBuckets.length === 0}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n\n {\n setLoading(true);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n\n \n {\n history.push(\"/add-bucket\");\n }}\n text={\"Create Bucket\"}\n icon={}\n color={\"primary\"}\n variant={\"contained\"}\n />\n \n \n \n\n {loading && }\n {!loading && (\n \n {filteredRecords.length !== 0 && (\n \n )}\n {filteredRecords.length === 0 && filterBuckets !== \"\" && (\n \n \n }\n title={\"No Results\"}\n help={\n \n No buckets match the filtering condition\n \n }\n />\n \n \n )}\n {filteredRecords.length === 0 && filterBuckets === \"\" && (\n \n \n }\n title={\"Buckets\"}\n help={\n \n MinIO uses buckets to organize objects. A bucket is\n similar to a folder or directory in a filesystem, where\n each bucket can hold an arbitrary number of objects.\n \n
\n
\n To get started, \n {\n history.push(\"/add-bucket\");\n }}\n >\n Create a Bucket.\n \n \n
\n }\n />\n
\n \n )}\n \n )}\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n session: state.console.session,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n});\n\nexport default connector(withStyles(styles)(ListBuckets));\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 from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { Checkbox, Grid, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n checkboxIcons,\n fieldBasic,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\ninterface CheckBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n index?: number;\n checked: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n ...checkboxIcons,\n fieldContainer: {\n ...fieldBasic.fieldContainer,\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n margin: \"15px 0\",\n marginBottom: 0,\n flexBasis: \"initial\",\n },\n });\n\nconst CheckboxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n tooltip = \"\",\n classes,\n}: CheckBoxProps) => {\n return (\n \n \n
\n }\n icon={}\n disabled={disabled}\n />\n
\n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n
\n );\n};\n\nexport default withStyles(styles)(CheckboxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n
\n )}\n \n
\n \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\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","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\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 { IWizardButton, IWizardPage } from \"./types\";\nimport { Button, LinearProgress } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wizardStepContainer: {\n display: \"flex\",\n flexDirection: \"column\",\n flex: 1,\n },\n wizardComponent: {\n overflowY: \"auto\",\n marginBottom: 10,\n height: \"calc(100vh - 100px - 80px)\",\n minHeight: 400,\n flex: 1,\n width: \"100%\",\n },\n wizardModal: {\n overflowY: \"auto\",\n marginBottom: 10,\n height: \"calc(100vh - 515px)\",\n },\n buttonsContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"flex-start\" as const,\n padding: \"10px 0\",\n borderTop: \"#EAEAEA 1px solid\",\n \"& button\": {\n marginLeft: 10,\n },\n \"&.forModal\": {\n paddingBottom: 0,\n },\n },\n buttonInnerContainer: {\n width: \"100%\",\n textAlign: \"right\" as const,\n marginRight: 15,\n },\n });\n\nconst WizardPage = ({\n classes,\n page,\n pageChange,\n loadingStep,\n forModal,\n}: IWizardPage) => {\n const buttonAction = (btn: IWizardButton) => {\n switch (btn.type) {\n case \"next\":\n pageChange(\"++\");\n break;\n case \"back\":\n pageChange(\"--\");\n break;\n case \"to\":\n pageChange(btn.toPage || 0);\n break;\n case \"custom\":\n default:\n }\n\n if (btn.action) {\n btn.action(pageChange);\n }\n };\n\n return (\n
\n
\n {page.componentRender}\n
\n {loadingStep && (\n
\n \n
\n )}\n \n
\n {page.buttons.map((btn) => {\n return (\n {\n buttonAction(btn);\n }}\n disabled={!btn.enabled}\n key={`button-${page.label}-${btn.label}`}\n >\n {btn.label}\n \n );\n })}\n
\n
\n \n );\n};\n\nexport default withStyles(styles)(WizardPage);\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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IWizardMain } from \"./types\";\nimport WizardPage from \"./WizardPage\";\nimport { Grid, List } from \"@mui/material\";\nimport ListItem from \"@mui/material/ListItem\";\nimport ListItemText from \"@mui/material/ListItemText\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wizFromContainer: {},\n wizFromModal: {\n position: \"relative\",\n },\n modalWizardSteps: {\n padding: 5,\n borderBottom: \"#eaeaea 1px solid\",\n \"& ul\": {\n padding: 0,\n marginTop: 0,\n display: \"flex\",\n justifyContent: \"space-evenly\",\n\n \"& li\": {\n listStyle: \"lower-roman\",\n \"&::marker\": {\n paddingLeft: 15,\n },\n },\n },\n },\n buttonList: {\n backgroundColor: \"transparent\",\n border: \"none\",\n cursor: \"pointer\",\n \"&:not(:disabled):hover\": {\n textDecoration: \"underline\",\n },\n \"&:selected, &:active, &:focus, &:focus:active\": {\n border: \"none\",\n outline: 0,\n boxShadow: \"none\",\n },\n },\n paddedContentGrid: {\n marginTop: 8,\n padding: \"0 10px\",\n minHeight: 400,\n },\n stepsLabel: {\n fontSize: 20,\n color: \"#393939\",\n fontWeight: 600,\n margin: \"15px 12px\",\n \"&.stepsModalTitle\": {\n textAlign: \"center\",\n width: \"100%\",\n marginTop: 0,\n marginBottom: 10,\n },\n },\n stepsMasterContainer: {\n position: \"sticky\",\n top: 0,\n backgroundColor: \"#FFFFFF\",\n width: \"100%\",\n maxHeight: 90,\n },\n verticalSteps: {\n borderRight: \"1px solid #E5E5E5\",\n background: \"#F8F8F8\",\n },\n stepsContainer: {\n paddingTop: 0,\n \"& .MuiButtonBase-root.Mui-selected\": {\n background: \"#E5E5E5\",\n },\n },\n stepItem: {\n minHeight: 60,\n borderBottom: \"1px solid #E5E5E5\",\n \"&:hover\": {\n background: \"rgba(247,247,247,0.7)\",\n },\n },\n });\n\nconst GenericWizard = ({\n classes,\n wizardSteps,\n loadingStep,\n forModal,\n}: IWizardMain) => {\n const [currentStep, setCurrentStep] = useState(0);\n\n const pageChange = (toElement: string | number) => {\n const lastPage = wizardSteps.length - 1;\n\n if (toElement === \"++\") {\n let nextPage = currentStep + 1;\n\n if (nextPage > lastPage) {\n nextPage = lastPage;\n }\n\n setCurrentStep(nextPage);\n }\n\n if (toElement === \"--\") {\n let prevPage = currentStep - 1;\n\n if (prevPage < 0) {\n prevPage = 0;\n }\n\n setCurrentStep(prevPage);\n }\n\n if (typeof toElement === \"number\") {\n let pg = toElement;\n if (toElement < 0) {\n pg = 0;\n }\n\n if (toElement > lastPage) {\n pg = lastPage;\n }\n\n setCurrentStep(pg);\n }\n };\n\n if (wizardSteps.length === 0) {\n return null;\n }\n\n const stepsList = () => {\n return (\n \n \n {wizardSteps.map((step, index) => {\n return (\n pageChange(index)}\n key={`wizard-${index.toString()}`}\n selected={currentStep === index}\n classes={{\n root: classes.stepItem,\n }}\n >\n \n \n );\n })}\n \n \n );\n };\n const stepsListModal = () => {\n return (\n
    \n {wizardSteps.map((step, index) => {\n return (\n
  • \n pageChange(index)}\n disabled={index > currentStep}\n className={classes.buttonList}\n >\n {step.label}\n \n
  • \n );\n })}\n
\n );\n };\n\n return (\n \n {forModal ? (\n \n
\n
Steps
\n
{stepsListModal()}
\n
\n
\n ) : (\n \n \n {stepsList()}\n
\n \n )}\n\n \n \n
\n \n );\n};\n\nexport default withStyles(styles)(GenericWizard);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\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 ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \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 { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport 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"],"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","useStyles","makeStyles","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","onClick","disabled","tooltip","icon","restProps","size","sx","mapDispatchToProps","setErrorSnackMessage","connector","connect","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","useApi","err","deleteLoading","invokeDeleteApi","confirmText","isOpen","titleIcon","isLoading","onConfirm","name","onClose","confirmationContent","wordWrap","overflowWrap","wordBreak","font","position","top","background","checkBoxElement","float","overflow","viewButton","boxShadow","manageButton","grey","textTransform","metric","metricLabel","metricText","unit","bucketName","margin","bucketIcon","bucketInfo","flexFlow","bucketStats","marginTop","borderTop","bucketActionButtons","justifyContent","bucket","onSelect","onDelete","selected","bulkSelect","usage","niceBytes","usageScalar","split","usageUnit","Grid","clsx","sm","e","stopPropagation","CheckboxWrapper","checked","id","label","onChange","value","Typography","creation_date","rw_access","read","write","accessToStr","SecureComponent","scopes","IAM_PERMISSIONS","IAM_ROLES","resource","to","style","textDecoration","RBIconButton","Box","spacing","textAlign","objects","prettyNumber","setModalErrorSnackMessage","remoteBucketList","gridTemplateColumns","errorIcon","successIcon","hide","opacity","transitionDuration","modalBasic","wizardCommon","open","closeModalAndRefresh","buckets","useState","bucketsToAlter","setBucketsToAlter","addLoading","setAddLoading","externalLoading","setExternalLoading","accessKey","setAccessKey","secretKey","setSecretKey","targetURL","setTargetURL","region","setRegion","useTLS","setUseTLS","replicationMode","setReplicationMode","bandwidthScalar","setBandwidthScalar","bandwidthUnit","setBandwidthUnit","healthCheck","setHealthCheck","relationBuckets","setRelationBuckets","remoteBucketsOpts","setRemoteBucketOpts","responseItem","setResponseItem","optionsForBucketsDrop","map","remoteBucketName","useEffect","length","bucketsAlter","relationBucketsAlter","forEach","push","LogoToShow","errString","CheckCircleOutline","Tooltip","placement","ErrorOutline","updateItem","indexItem","updatedList","removeSuccessItems","newBucketsToAlter","newRelationBuckets","successElement","errorString","get","indexToRemove","indexOf","originBucket","splice","ModalWrapper","modalOpen","GenericWizard","loadingStep","wizardSteps","componentRender","Fragment","PredefinedList","content","join","descriptionText","InputBoxWrapper","target","placeholder","FormSwitchWrapper","SelectWrapper","options","multiContainer","type","min","sizeFactorContainer","k8sfactorForDropdown","buttons","enabled","action","wizardPageJump","remoteConnectInfo","api","then","dataReturn","arrayReplaceBuckets","element","catch","index","errorItem","initialBucket","bucketResponse","find","stateOfItem","event","toString","replicate","destinationBucket","endURL","hc","parseInt","remoteBucketsInfo","bucketsRelation","syncMode","bandwidth","getBytes","healthCheckPeriod","response","states","replicationState","filter","itm","setTimeout","forModal","state","session","console","addBucket","bucketList","searchField","minWidth","containerForHeader","history","records","setRecords","loading","setLoading","setDeleteOpen","setSelectedBucket","filterBuckets","setFilterBuckets","selectedBuckets","setSelectedBuckets","replicationModalOpen","setReplicationModalOpen","setBulkSelect","res","confirmDeleteBucket","filteredRecords","b","selectListBuckets","targetD","elements","createBucketButtonResources","Array","from","Object","keys","permissions","DeleteBucket","refresh","BulkReplicationModal","unselectAll","PageHeader","PageLayout","actionsTray","SearchBox","overrideClass","SelectMultipleIcon","MultipleBucketsIcon","RefreshIcon","IAM_SCOPES","errorProps","LinearProgress","VirtualizedList","rowRenderFunction","includes","totalItems","alignContent","HelpBox","CONSOLE_UI_RESOURCE","AButton","cursor","info","fontFamily","children","rest","borderWidth","borderStyle","contained","dark","light","button","fieldBasic","tooltipHelper","checkboxIcons","fieldContainer","flexBasis","inputProps","checkedIcon","unCheckedIcon","htmlFor","noMinWidthLabel","tooltipContainer","StyledSwitch","switchBase","transform","common","white","thumb","track","transition","transitions","create","focusVisible","switchContainer","Switch","divContainer","indicatorLabelOn","indicatorLabel","fieldDescription","switchOnly","description","indicatorLabels","switchComponent","disableRipple","disableFocusRipple","disableTouchRipple","md","inputLabel","component","inputStyles","inputFieldStyles","InputField","InputProps","textBoxContainer","flexGrow","overlayAction","right","maxWidth","maxHeight","autoComplete","multiline","error","required","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","errorInField","inputBoxContainer","fullWidth","helperText","inputRebase","predefinedList","multiLine","prefinedContainer","predefinedTitle","innerContentMultiline","innerContent","SelectStyled","lineHeight","input","InputBase","option","wizardStepContainer","flexDirection","flex","wizardComponent","overflowY","minHeight","wizardModal","buttonsContainer","buttonInnerContainer","page","pageChange","btn","Button","toPage","buttonAction","wizFromContainer","wizFromModal","modalWizardSteps","borderBottom","listStyle","buttonList","outline","paddedContentGrid","stepsLabel","stepsMasterContainer","verticalSteps","borderRight","stepsContainer","stepItem","currentStep","setCurrentStep","toElement","lastPage","nextPage","prevPage","pg","step","lg","xl","List","dense","ListItem","ListItemText","onSuccess","onError","setIsLoading","method","url","data","deleteDialogStyles","onCancel","cancelText","confirmButtonProps","cancelButtonProps","reason","titleText","closeContainer","closeButton","actions","cancelButton","confirmButton","loadingPosition","startIcon","timerI","stopHideTimer","clearInterval","displayErrorMessage","modalSnackMessage","system","modalSnackBar","modalErrorContainer","borderLeftWidth","zIndex","left","modalErrorShow","errorTitle","errorLabel","messageIcon","detailsButton","transformDuration","extraDetailsContainer","fontStyle","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","detailedError","errorMessage","message","messageDetails","onMouseOver","onMouseLeave","setInterval","Close","detailsContainerLink","ArrowRight","setModalSnackMessage","customDialogSize","snackBarCommon","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","Dialog","scroll","DialogTitle","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","toggleList","sidebarOpen","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","labelStyle","rightMenu","logo","fill","middleComponent","direction","adornment","adornmentPosition","disableUnderline","itemStatusMap","defaultHeight","RenderItemLine","isItemLoaded","loadMoreItems","startIndex","stopIndex","itemCount","onItemsRendered","ref","itemSize"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2805.fa3b80ee.chunk.js.map b/portal-ui/build/static/js/2805.fa3b80ee.chunk.js.map index fa7fc36d6..4a668eeda 100644 --- a/portal-ui/build/static/js/2805.fa3b80ee.chunk.js.map +++ b/portal-ui/build/static/js/2805.fa3b80ee.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/2805.fa3b80ee.chunk.js","mappings":"yOA6JA,KAAeA,EAAAA,EAAAA,IAtHA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,0BACRC,EAAAA,IACAC,EAAAA,IAFO,IAGVC,YAAW,kBACNF,EAAAA,GAAAA,YADK,IAERG,SAAU,GACVC,OAAQ,EACRC,WAAY,aACZC,WAAY,OACZC,SAAU,OACVC,QAAS,SAEXC,iBAAkB,CAChBC,SAAU,EACVC,SAAU,YAEZC,iBAAkB,CAChBC,YAAa,UACbC,QAAS,IAEXC,cAAe,CACb,sCAAqC,kBAChCf,EAAAA,GAAAA,YADL,IAEEG,SAAU,GACVa,UAAW,MAEb,iDAAkD,CAChDH,YAAa,UACbI,YAAa,GAEf,aAAc,CACZC,MAAO,UACPf,SAAU,GACVgB,WAAY,IACZ,gBAAiB,CACfD,MAAO,UACPE,QAAS,EACTD,WAAY,YAgFtB,EA1E0B,SAAC,GAaH,IAZtBE,EAYqB,EAZrBA,MACAC,EAWqB,EAXrBA,SACAC,EAUqB,EAVrBA,MACAC,EASqB,EATrBA,GACAC,EAQqB,EARrBA,KAQqB,IAPrBC,SAAAA,OAOqB,aANrBC,QAAAA,OAMqB,MANX,GAMW,MALrBC,MAAAA,OAKqB,MALb,EAKa,MAJrBC,MAAAA,OAIqB,MAJb,GAIa,MAHrBC,SAAAA,OAGqB,aAFrBC,YAAAA,OAEqB,MAFP,GAEO,EADrBC,EACqB,EADrBA,QAEIC,EAAkB,CAAE,aAAcL,GAEtC,OACE,SAAC,WAAD,WACE,UAAC,KAAD,CACEM,MAAI,EACJC,GAAI,GACJC,UAAS,UAAKJ,EAAQK,eAAb,YACG,KAAVR,EAAeG,EAAQM,aAAe,IAJ1C,UAOa,KAAVjB,IACC,UAAC,IAAD,CAAYkB,QAASf,EAAIY,UAAWJ,EAAQ9B,WAA5C,WACE,4BACGmB,EACAS,EAAW,IAAM,MAEP,KAAZH,IACC,gBAAKS,UAAWJ,EAAQQ,iBAAxB,UACE,SAAC,IAAD,CAASC,MAAOd,EAASe,UAAU,YAAnC,UACE,gBAAKN,UAAWJ,EAAQL,QAAxB,UACE,SAAC,IAAD,cAQZ,gBAAKS,UAAWJ,EAAQvB,iBAAxB,UACE,SAAC,IAAD,CACEe,GAAIA,EACJC,KAAMA,EACNkB,WAAS,EACTpB,MAAOA,EACPG,SAAUA,EACVJ,SAAUA,EACVsB,WAAS,EACTC,KAAM,EACNZ,WAAYA,EACZJ,MAAiB,KAAVA,EACPiB,WAAYjB,EACZE,YAAaA,EACbgB,gBAAiB,CACfC,QAAQ,GAEVC,WAAY,CACVjB,QAAS,CACPkB,eAAgBlB,EAAQpB,iBACxBuC,KAAMnB,EAAQjB,gBAGlBqC,QAAQ,wB,mLClFdC,GAAexD,EAAAA,EAAAA,IAAW,SAACC,GAAD,MAAY,CAC1CqD,KAAM,CACJG,MAAO,GACPC,OAAQ,GACRzC,QAAS,EACTV,OAAQ,GAEVoD,WAAY,CACV1C,QAAS,EACT,YAAa,CACX2C,UAAW,mBACXvC,MAAOpB,EAAM4D,QAAQC,OAAOC,MAC5B,aAAc,CACZC,gBAAiB,UACjBC,UAAW,oCACX1C,QAAS,EACT2C,OAAQ,SAGZ,wBAAyB,CACvB7C,MAAO,UACP6C,OAAQ,mBAGZC,MAAO,CACLV,MAAO,GACPC,OAAQ,GACRM,gBAAiB,UACjBE,OAAQ,oBACRE,WAAY,GAEdC,MAAO,CACLC,aAAc,GACdN,gBAAiB,UACjBC,UAAW,oCACX1C,QAAS,EACTgD,WAAYtE,EAAMuE,YAAYC,OAAO,CAAC,mBAAoB,YAE5DC,QAAS,GACTC,aAAc,GACdC,gBAAiB,CACfjE,QAAS,OACTH,WAAY,SACZqE,eAAgB,eA3CC7E,CA6CjB8E,EAAAA,GAsGJ,KAAe9E,EAAAA,EAAAA,IA5KA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,gBACX6E,aAAc,CACZC,aAAc,IAEhBC,iBAAkB,CAChB3D,WAAY,OACZD,MAAO,sBAET6D,eAAgB,CACd5E,SAAU,GACVe,MAAO,UACPd,OAAQ,gBAEV4E,iBAAkB,CAChBC,UAAW,EACX/D,MAAO,WAETS,QAAS,CACPxB,SAAU,KAET+E,EAAAA,IACAlF,EAAAA,OAsJP,EApG0B,SAAC,GAaP,IAAD,IAZjBqB,MAAAA,OAYiB,MAZT,GAYS,EAXjBC,EAWiB,EAXjBA,SACAC,EAUiB,EAVjBA,MACAC,EASiB,EATjBA,GACAC,EAQiB,EARjBA,KAQiB,IAPjB8C,QAAAA,OAOiB,aANjB7C,SAAAA,OAMiB,aALjByD,WAAAA,OAKiB,aAJjBxD,QAAAA,OAIiB,MAJP,GAIO,MAHjByD,YAAAA,OAGiB,MAHH,GAGG,EAFjBpD,EAEiB,EAFjBA,QACAqD,EACiB,EADjBA,gBAEMC,GACJ,UAAC,WAAD,YACIH,IACA,iBACE/C,WAAWmD,EAAAA,EAAAA,GAAKvD,EAAQ+C,gBAAT,UACZ/C,EAAQ8C,kBAAoBP,IAFjC,SAKGc,GAAmBA,EAAgBG,OAAS,EACzCH,EAAgB,GAChB,SAGR,SAAChC,EAAD,CACEkB,QAASA,EACTjD,SAAUA,EACVJ,MAAM,UACNO,KAAMA,EACNQ,WAAY,CAAE,aAAc,oBAC5BP,SAAUA,EACV+D,eAAa,EACbC,oBAAkB,EAClBC,oBAAkB,EAClBpE,MAAOA,KAEP4D,IACA,iBACE/C,WAAWmD,EAAAA,EAAAA,GAAKvD,EAAQ+C,gBAAT,UACZ/C,EAAQ8C,iBAAmBP,IAFhC,SAKGc,EAAkBA,EAAgB,GAAK,UAMhD,OAAIF,EACKG,GAIP,gBAAKlD,UAAWJ,EAAQ4C,aAAxB,UACE,UAAC,KAAD,CAAMgB,WAAS,EAACvF,WAAY,SAA5B,WACE,SAAC,KAAD,CAAM6B,MAAI,EAACC,IAAE,EAAb,UACE,UAAC,KAAD,CAAMyD,WAAS,EAAf,WACE,SAAC,KAAD,CAAM1D,MAAI,EAACC,GAAI,GAAI0D,GAAI,EAAGC,GAAI,EAA9B,SACa,KAAVzE,IACC,UAAC,IAAD,CAAYkB,QAASf,EAAIY,UAAWJ,EAAQ9B,WAA5C,WACE,0BAAOmB,IACM,KAAZM,IACC,gBAAKS,UAAWJ,EAAQQ,iBAAxB,UACE,SAAC,IAAD,CAASC,MAAOd,EAASe,UAAU,YAAnC,UACE,gBAAKN,UAAWJ,EAAQL,QAAxB,UACE,SAAC,IAAD,gBAQd,SAAC,KAAD,CAAMO,MAAI,EAACC,GAAI,GAAI0D,IAAE,EAACE,UAAW,OAAjC,SACmB,KAAhBX,IACC,SAAC,IAAD,CAAYY,UAAU,IAAI5D,UAAWJ,EAAQgD,iBAA7C,SACGI,YAOX,SAAC,KAAD,CACElD,MAAI,EACJC,GAAI,GACJ0D,GAAI,EACJE,UAAW,QACX3D,UAAWJ,EAAQyC,gBALrB,SAOGa,a,mLCnHLW,GAAcC,EAAAA,EAAAA,IAAW,SAACpG,GAAD,OAC7BC,EAAAA,EAAAA,IAAa,UACRoG,EAAAA,QAIP,SAASC,EAAWC,GAClB,IAAMrE,EAAUiE,IAEhB,OACE,SAAC,KAAD,QACEhD,WAAY,CAAEjB,QAAAA,IACVqE,IAsIV,KAAexG,EAAAA,EAAAA,IA5KA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,0BACRC,EAAAA,IACAC,EAAAA,IAFO,IAGVQ,iBAAkB,CAChBC,SAAU,EACVC,SAAU,YAEZ2F,cAAe,CACb3F,SAAU,WACV4F,MAAO,EACPC,IAAK,EACL,QAAS,CACPC,SAAU,GACVC,UAAW,IAEb,cAAe,CACbF,IAAK,IAGTtG,YAAW,kBACNF,EAAAA,GAAAA,YADK,IAERmB,WAAY,gBAsJlB,EAjIwB,SAAC,GA0BH,IAzBpBE,EAyBmB,EAzBnBA,MACAC,EAwBmB,EAxBnBA,SACAC,EAuBmB,EAvBnBA,MACAC,EAsBmB,EAtBnBA,GACAC,EAqBmB,EArBnBA,KAqBmB,IApBnBkF,KAAAA,OAoBmB,MApBZ,OAoBY,MAnBnBC,aAAAA,OAmBmB,MAnBJ,MAmBI,MAlBnBlF,SAAAA,OAkBmB,aAjBnBkB,UAAAA,OAiBmB,aAhBnBjB,QAAAA,OAgBmB,MAhBT,GAgBS,MAfnBC,MAAAA,OAemB,MAfX,EAeW,MAdnBC,MAAAA,OAcmB,MAdX,GAcW,MAbnBC,SAAAA,OAamB,aAZnBC,YAAAA,OAYmB,MAZL,GAYK,EAXnB8E,EAWmB,EAXnBA,IACAC,EAUmB,EAVnBA,IAUmB,IATnBC,YAAAA,OASmB,MATL,KASK,MARnBC,cAAAA,OAQmB,MARH,KAQG,MAPnBC,gBAAAA,OAOmB,MAPD,GAOC,EANnBX,EAMmB,EANnBA,cAMmB,IALnBY,gBAAAA,OAKmB,aAJnBC,QAAAA,OAImB,MAJT,GAIS,MAHnBC,UAAAA,OAGmB,SAFnBpF,EAEmB,EAFnBA,QAEmB,IADnBI,UAAAA,OACmB,MADP,GACO,EACfH,GAAe,QAAK,aAAcL,GAAUqF,GAchD,MAZa,WAATN,GAAqBE,IACvB5E,EAAU,IAAU4E,GAGT,WAATF,GAAqBG,IACvB7E,EAAU,IAAU6E,GAGN,KAAZK,IACFlF,EAAU,QAAckF,IAIxB,SAAC,WAAD,WACE,UAAC,KAAD,CACEvB,WAAS,EACTxD,WAAWmD,EAAAA,EAAAA,GACK,KAAdnD,EAAmBA,EAAY,GACrB,KAAVP,EAAeG,EAAQM,aAAeN,EAAQqF,mBAJlD,UAOa,KAAVhG,IACC,UAAC,IAAD,CACEkB,QAASf,EACTY,UACE8E,EAAkBlF,EAAQsF,gBAAkBtF,EAAQ9B,WAHxD,WAME,4BACGmB,EACAS,EAAW,IAAM,MAEP,KAAZH,IACC,gBAAKS,UAAWJ,EAAQQ,iBAAxB,UACE,SAAC,IAAD,CAASC,MAAOd,EAASe,UAAU,YAAnC,UACE,gBAAKN,UAAWJ,EAAQL,QAAxB,UACE,SAAC,IAAD,cAQZ,iBAAKS,UAAWJ,EAAQvB,iBAAxB,WACE,SAAC2F,EAAD,CACE5E,GAAIA,EACJC,KAAMA,EACNkB,WAAS,EACTpB,MAAOA,EACP6F,UAAWA,EACX1F,SAAUA,EACVJ,SAAUA,EACVqF,KAAMA,EACN/D,UAAWA,EACXgE,aAAcA,EACd3E,WAAYA,EACZJ,MAAiB,KAAVA,EACPiB,WAAYjB,EACZE,YAAaA,EACbK,UAAWJ,EAAQuF,cAEpBR,IACC,gBACE3E,UAAS,UAAKJ,EAAQsE,cAAb,YACG,KAAVjF,EAAe,YAAc,IAFjC,UAKE,SAAC,IAAD,CACEmG,QACElB,EACI,WACEA,KAEF,kBAAM,MAEZmB,KAAM,QACN/B,oBAAoB,EACpBD,eAAe,EACfE,oBAAoB,EAXtB,SAaGoB,MAINC,IACC,gBACE5E,UAAS,UAAKJ,EAAQsE,cAAb,YACG,KAAVjF,EAAe,YAAc,IAFjC,SAKG2F,gB,sGCpLf,KAAenH,EAAAA,EAAAA,IAnCA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,UACR2H,EAAAA,OAiCP,EA9BuB,SAAC,GAKA,IAJtB1F,EAIqB,EAJrBA,QAIqB,IAHrBX,MAAAA,OAGqB,MAHb,GAGa,EAFrBsG,EAEqB,EAFrBA,QAEqB,IADrBC,UAAAA,OACqB,SACrB,OACE,SAAC,EAAAC,SAAD,WACE,UAAC,KAAD,CAAMzF,UAAWJ,EAAQ8F,kBAAzB,UACa,KAAVzG,IACC,SAAC,KAAD,CAAMa,MAAI,EAACC,GAAI,GAAIC,UAAWJ,EAAQ+F,gBAAtC,SACG1G,KAGL,SAAC,KAAD,CAAMa,MAAI,EAACC,GAAI,GAAIC,UAAWJ,EAAQ0F,eAAtC,UACE,SAAC,KAAD,CACExF,MAAI,EACJC,GAAI,GACJC,UACEwF,EAAY5F,EAAQgG,sBAAwBhG,EAAQiG,aAJxD,SAOGN,e,yMCiCPO,GAAchC,EAAAA,EAAAA,IAAW,QAC7B/C,KAAM,CACJ,UAAW,CACTU,gBAAiB,iBAGlBsE,EAAAA,KAGCC,EAAc,SAAC/B,GACnB,IAAMrE,EAAUkG,IAEhB,OACE,SAAC,KAAD,QACE9F,UAAWJ,EAAQmB,KACnBsC,eAAa,EACbvE,MAAM,UACNmH,aAAa,iBAAMjG,UAAWJ,EAAQsG,oBACtCC,MAAM,iBAAMnG,UAAWJ,EAAQwG,uBAC3BnC,KAiEV,KAAexG,EAAAA,EAAAA,IA/GA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,0BACRC,EAAAA,IACAC,EAAAA,IAFO,IAGVwI,YAAa,CACX,iBAAkB,CAChB,+BAAgC,CAC9BvH,MAAO,YAGX,eAAgB,CACdwH,YAAa,GAEf,+BAAgC,CAC9BvI,SAAU,GACVe,MAAO,YAGXyH,cAAe,CACb,+BAAgC,CAC9BxI,SAAU,GACVe,MAAO,UACPC,WAAY,WAyFpB,EA5DkC,SAAC,GAWX,IAAD,IAVrByH,gBAAAA,OAUqB,MAVH,GAUG,EATrBC,EASqB,EATrBA,iBACAxH,EAQqB,EARrBA,MACAG,EAOqB,EAPrBA,GACAC,EAMqB,EANrBA,KACAH,EAKqB,EALrBA,SAKqB,IAJrBK,QAAAA,OAIqB,MAJX,GAIW,MAHrBmH,eAAAA,OAGqB,SAFrB9G,EAEqB,EAFrBA,QAEqB,IADrB+G,gBAAAA,OACqB,SACrB,OACE,UAAC,KAAD,CAAMnD,WAAS,EAACvF,WAAY,SAA5B,WACE,SAAC,KAAD,CAAM6B,MAAI,EAACC,IAAE,EAAb,UACE,UAAC,IAAD,CAAYI,QAASf,EAAIY,UAAWJ,EAAQ9B,WAA5C,WACE,0BAAOmB,IACM,KAAZM,IACC,gBAAKS,UAAWJ,EAAQQ,iBAAxB,UACE,SAAC,IAAD,CAASC,MAAOd,EAASe,UAAU,YAAnC,UACE,0BACE,SAAC,IAAD,gBAOZ,SAAC,KAAD,CAAMR,MAAI,EAACC,IAAE,EAACC,UAAWJ,EAAQgH,mBAAjC,UACE,SAAC,IAAD,CACE,aAAYxH,EACZA,GAAIA,EACJC,KAAMA,EACNF,MAAOsH,EACPvH,SAAUA,EACV2H,KAAMF,EACNG,MAAO,CAAE1I,QAAS,QAASuF,UAAW,SAPxC,SASG6C,EAAgBO,KAAI,SAACC,GACpB,OACE,SAAC,IAAD,CAEE7H,MAAO6H,EAAe7H,MACtB8H,SAAS,SAACjB,EAAD,IACT/G,MAAO+H,EAAe/H,MACtBK,SAAUoH,EACV1G,WAAWmD,EAAAA,EAAAA,GAAKvD,EAAQyG,aAAT,UACZzG,EAAQ2G,cACPS,EAAe7H,QAAUsH,KAR/B,aACapH,EADb,YACqB2H,EAAe7H,sB,+KC2KlD,WAAe1B,EAAAA,EAAAA,IAjRA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,kBACRuJ,EAAAA,IACAC,EAAAA,OA8QP,EA3QkB,SAAC,GAA4C,IAA1CjI,EAAyC,EAAzCA,SAAUU,EAA+B,EAA/BA,QAE7B,GAAwCwH,EAAAA,EAAAA,WAAkB,GAA1D,eAAOC,EAAP,KAAqBC,EAArB,KACA,GAAkCF,EAAAA,EAAAA,UAAiB,IAAnD,eAAOG,EAAP,KAAkBC,EAAlB,KACA,GAA4BJ,EAAAA,EAAAA,UAAiB,IAA7C,eAAOK,EAAP,KAAaC,EAAb,KACA,GAA4BN,EAAAA,EAAAA,UAAiB,IAA7C,eAAOO,EAAP,KAAeC,EAAf,KACA,GAAwBR,EAAAA,EAAAA,UAAiB,IAAzC,eAAOS,EAAP,KAAaC,EAAb,KACA,GAAwBV,EAAAA,EAAAA,UAAiB,IAAzC,eAAOW,EAAP,KAAaC,EAAb,KACA,GAAgCZ,EAAAA,EAAAA,UAAiB,IAAjD,eAAOa,EAAP,KAAiBC,EAAjB,KAEA,GAA0Bd,EAAAA,EAAAA,UAAiB,IAA3C,eAAOe,EAAP,KAAcC,EAAd,KACA,GAA4BhB,EAAAA,EAAAA,UAAiB,aAA7C,eAAOiB,EAAP,KAAeC,EAAf,KACA,GAAgClB,EAAAA,EAAAA,UAAiB,IAAjD,eAAOmB,EAAP,KAAiBC,EAAjB,KACA,GAAoCpB,EAAAA,EAAAA,UAAiB,IAArD,eAAOqB,GAAP,KAAmBC,GAAnB,KACA,IAA8BtB,EAAAA,EAAAA,UAAiB,IAA/C,iBAAOuB,GAAP,MAAgBC,GAAhB,MAiCMC,IAAoBC,EAAAA,EAAAA,cAAY,WACpC,MAAM,GAAN,OAAUf,EAAV,YAAkBE,EAAlB,gBAAkCR,EAAlC,YAA0CI,EAA1C,aAAmDF,KAClD,CAACI,EAAME,EAAUR,EAAMI,EAAMF,KAEhCoB,EAAAA,EAAAA,YAAU,WACU,KAAdxB,GAUFrI,EATmB,CACjB,CAAE8J,IAAK,aAAc7J,MAAOoI,GAC5B,CAAEyB,IAAK,QAAS7J,MAAOgJ,GACvB,CAAEa,IAAK,SAAU7J,MAAOkJ,GACxB,CAAEW,IAAK,YAAa7J,MAAOoJ,GAC3B,CAAES,IAAK,cAAe7J,MAAOsJ,IAC7B,CAAEO,IAAK,UAAW7J,MAAOwJ,QAK5B,CAACpB,EAAWY,EAAOE,EAAQE,EAAUE,GAAYE,GAASzJ,KAE7D6J,EAAAA,EAAAA,YAAU,WACR,IAAME,EAAKJ,KACXrB,EAAayB,KACZ,CAAClB,EAAMJ,EAAQM,EAAUJ,EAAMJ,EAAMD,EAAcqB,KA0BtD,OACE,UAAC,KAAD,CAAMrF,WAAS,EAAf,WACE,SAAC,KAAD,CAAM1D,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,IAAD,CACEd,MAAO,mBACPkD,QAASkF,EACTjI,GAAG,WACHC,KAAK,WACLH,SAhCkB,SAACgK,GACzB,GAAIA,EAAMC,OAAOhH,QAAS,CAExB,IAAM8G,EAAKJ,KACXrB,EAAayB,OACR,CAEL,IAAMG,EAvDa,SACrBC,EACAC,GAMA,IAJA,IAEIC,EAFAC,EAAgC,IAAIC,IAClCC,EAAQ,2CAGqB,QAA3BH,EAAIG,EAAMC,KAAKN,KAEjBE,EAAE/J,QAAUkK,EAAME,WACpBF,EAAME,YAGRJ,EAASK,IAAI,OAAQN,EAAE,IACvBC,EAASK,IAAI,WAAYN,EAAE,IAC3BC,EAASK,IAAI,OAAQN,EAAE,IACvBC,EAASK,IAAI,OAAQN,EAAE,IACvBC,EAASK,IAAI,SAAUN,EAAE,IAG3B,OAAOC,EAkCMM,CAAevC,GAO1BG,EAAY0B,EAAGW,IAAI,QAAUX,EAAGW,IAAI,QAAU,GAAK,IACnDjC,EAAQsB,EAAGW,IAAI,QAAUX,EAAGW,IAAI,QAAU,GAAK,IAC/CnC,EAAUwB,EAAGW,IAAI,UAAYX,EAAGW,IAAI,UAAY,GAAK,IACrD/B,EAAQoB,EAAGW,IAAI,QAAUX,EAAGW,IAAI,QAAU,GAAK,IAC/C7B,EAAYkB,EAAGW,IAAI,YAAcX,EAAGW,IAAI,YAAc,GAAK,IAG7DzC,EAAgB4B,EAAMC,OAAOhH,UAYvBhD,MAAO,gBAGVkI,GACC,SAAC,WAAD,WACE,SAAC,KAAD,CAAMvH,MAAI,EAACC,GAAI,GAAIC,UAAWJ,EAAQoK,aAAtC,UACE,SAAC,IAAD,CACE5K,GAAG,aACHC,KAAK,aACLJ,MAAM,aACNE,MAAOoI,EACPrI,SAAU,SAAC+K,GACTzC,EAAayC,EAAEd,OAAOhK,eAM9B,UAAC,WAAD,YACE,SAAC,KAAD,CAAMW,MAAI,EAACC,GAAI,GAAf,UACE,UAAC,KAAD,CAAMD,MAAI,EAACC,GAAI,GAAIC,UAAWJ,EAAQsK,gBAAtC,WACE,SAAC,KAAD,CAAMpK,MAAI,EAACC,GAAI,GAAIC,UAAWJ,EAAQoK,aAAtC,UACE,SAAC,IAAD,CACE5K,GAAG,OACHC,KAAK,OACLJ,MAAM,GACNU,YAAY,aACZR,MAAOsI,EACPvI,SAAU,SAAC+K,GACTvC,EAAYuC,EAAEd,OAAOhK,aAI3B,SAAC,KAAD,CAAMW,MAAI,EAACC,GAAI,GAAIC,UAAWJ,EAAQoK,aAAtC,UACE,SAAC,IAAD,CACE5K,GAAG,UACHC,KAAK,UACLJ,MAAM,GACNU,YAAY,gBACZR,MAAOwI,EACPzI,SAAU,SAAC+K,GACTrC,EAAUqC,EAAEd,OAAOhK,aAIzB,SAAC,KAAD,CAAMW,MAAI,EAACC,GAAI,GAAIC,UAAWJ,EAAQoK,aAAtC,UACE,SAAC,IAAD,CACE5K,GAAG,OACHC,KAAK,OACLJ,MAAM,GACNU,YAAY,aACZR,MAAO0I,EACP3I,SAAU,SAAC+K,GACTnC,EAAQmC,EAAEd,OAAOhK,aAKvB,SAAC,KAAD,CAAMW,MAAI,EAACC,GAAI,GAAIC,UAAWJ,EAAQoK,aAAtC,UACE,SAAC,IAAD,CACE5K,GAAG,OACHC,KAAK,OACLJ,MAAM,GACNU,YAAY,aACZR,MAAO4I,EACP7I,SAAU,SAAC+K,GACTjC,EAAQiC,EAAEd,OAAOhK,aAIvB,SAAC,KAAD,CAAMW,MAAI,EAACC,GAAI,GAAIC,UAAWJ,EAAQoK,aAAtC,UACE,SAAC,IAAD,CACE5K,GAAG,WACHC,KAAK,WACLJ,MAAM,GACNU,YAAY,iBACZ4E,KAAK,WACLpF,MAAO8I,EACP/I,SAAU,SAAC+K,GACT/B,EAAY+B,EAAEd,OAAOhK,kBAM/B,SAAC,IAAD,CAAgBF,MAAO,oBAAqBsG,QAASgC,KACrD,SAAC,KAAD,CAAMzH,MAAI,EAACC,GAAI,GAAf,UACE,wBAIN,SAAC,KAAD,CAAMD,MAAI,EAACC,GAAI,GAAIC,UAAWJ,EAAQoK,aAAtC,UACE,SAAC,IAAD,CACE5K,GAAG,QACHC,KAAK,QACLJ,MAAM,QACNU,YAAY,mBACZR,MAAOgJ,EACP5I,QAAQ,8DACRL,SAAU,SAAC+K,GACT7B,EAAS6B,EAAEd,OAAOhK,aAIxB,SAAC,KAAD,CAAMW,MAAI,EAACC,GAAI,GAAIC,UAAWJ,EAAQoK,aAAtC,UACE,SAAC,IAAD,CACEvD,iBAAkB4B,EAClBjJ,GAAG,SACHC,KAAK,SACLJ,MAAM,SACNC,SAAU,SAAC+K,GACT3B,EAAU2B,EAAEd,OAAOhK,QAErBI,QAAQ,gIACRiH,gBAAiB,CACf,CAAEvH,MAAO,YAAaE,MAAO,aAC7B,CAAEF,MAAO,SAAUE,MAAO,gBAIhC,SAAC,KAAD,CAAMW,MAAI,EAACC,GAAI,GAAIC,UAAWJ,EAAQoK,aAAtC,UACE,SAAC,IAAD,CACE5K,GAAG,YACHC,KAAK,YACLJ,MAAM,YACNU,YAAY,kBACZR,MAAOoJ,EACPhJ,QAAQ,2DACRL,SAAU,SAAC+K,GACTzB,EAAYyB,EAAEd,OAAOhK,aAI3B,SAAC,KAAD,CAAMW,MAAI,EAACC,GAAI,GAAIC,UAAWJ,EAAQoK,aAAtC,UACE,SAAC,IAAD,CACE5K,GAAG,cACHC,KAAK,cACLJ,MAAM,cACNU,YAAY,oBACZ4E,KAAK,SACLpF,MAAOsJ,GACPlJ,QAAQ,8DACRL,SAAU,SAAC+K,GACTvB,GAAcuB,EAAEd,OAAOhK,aAI7B,SAAC,KAAD,CAAMW,MAAI,EAACC,GAAI,GAAIC,UAAWJ,EAAQoK,aAAtC,UACE,SAAC,IAAD,CACE5K,GAAG,UACHC,KAAK,UACLJ,MAAM,UACNU,YAAY,gBACZR,MAAOwJ,GACPzJ,SAAU,SAAC+K,GACTrB,GAAWqB,EAAEd,OAAOhK","sources":["screens/Console/Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/NotificationEndpoints/CustomForms/ConfMySql.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 { Grid, InputLabel, TextField, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\ninterface CommentBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontSize: 14,\n margin: 0,\n alignItems: \"flex-start\",\n paddingTop: \"20px\",\n flexWrap: \"wrap\",\n display: \"flex\",\n },\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n cssOutlinedInput: {\n borderColor: \"#EAEAEA\",\n padding: 16,\n },\n rootContainer: {\n \"& .MuiOutlinedInput-inputMultiline\": {\n ...fieldBasic.inputLabel,\n fontSize: 13,\n minHeight: 150,\n },\n \"&.Mui-focused .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"#07193E\",\n borderWidth: 1,\n },\n \"& textarea\": {\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n \"&:placeholder\": {\n color: \"#858585\",\n opacity: 1,\n fontWeight: 400,\n },\n },\n },\n });\n\nconst CommentBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n disabled = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n classes,\n}: CommentBoxProps) => {\n let inputProps: any = { \"data-index\": index };\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n\n
\n \n
\n \n
\n );\n};\n\nexport default withStyles(styles)(CommentBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n
\n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\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","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\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, { useCallback, useEffect, useState } 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\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport { IElementValue } from \"../../Configurations/types\";\nimport {\n formFieldStyles,\n modalBasic,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport CommentBoxWrapper from \"../../Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport PredefinedList from \"../../Common/FormComponents/PredefinedList/PredefinedList\";\n\ninterface IConfMySqlProps {\n onChange: (newValue: IElementValue[]) => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n ...formFieldStyles,\n });\n\nconst ConfMySql = ({ onChange, classes }: IConfMySqlProps) => {\n //Local States\n const [useDsnString, setUseDsnString] = useState(false);\n const [dsnString, setDsnString] = useState(\"\");\n const [host, setHostname] = useState(\"\");\n const [dbName, setDbName] = useState(\"\");\n const [port, setPort] = useState(\"\");\n const [user, setUser] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n\n const [table, setTable] = useState(\"\");\n const [format, setFormat] = useState(\"namespace\");\n const [queueDir, setQueueDir] = useState(\"\");\n const [queueLimit, setQueueLimit] = useState(\"\");\n const [comment, setComment] = useState(\"\");\n\n // dsn_string* (string) MySQL data-source-name connection string e.g. \":@tcp(:)/\"\n // table* (string) DB table name to store/update events, table is auto-created\n // format* (namespace*|access) 'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'\n // queue_dir (path) staging dir for undelivered messages e.g. '/home/events'\n // queue_limit (number) maximum limit for undelivered messages, defaults to '100000'\n // comment (sentence) optionally add a comment to this setting\n\n const parseDsnString = (\n input: string,\n keys: string[]\n ): Map => {\n let kvFields: Map = new Map();\n const regex = /(.*?):(.*?)@tcp\\((.*?):(.*?)\\)\\/(.*?)$/gm;\n let m;\n\n while ((m = regex.exec(input)) !== null) {\n // This is necessary to avoid infinite loops with zero-width matches\n if (m.index === regex.lastIndex) {\n regex.lastIndex++;\n }\n\n kvFields.set(\"user\", m[1]);\n kvFields.set(\"password\", m[2]);\n kvFields.set(\"host\", m[3]);\n kvFields.set(\"port\", m[4]);\n kvFields.set(\"dbname\", m[5]);\n }\n\n return kvFields;\n };\n\n const configToDsnString = useCallback((): string => {\n return `${user}:${password}@tcp(${host}:${port})/${dbName}`;\n }, [user, password, host, port, dbName]);\n\n useEffect(() => {\n if (dsnString !== \"\") {\n const formValues = [\n { key: \"dsn_string\", value: dsnString },\n { key: \"table\", value: table },\n { key: \"format\", value: format },\n { key: \"queue_dir\", value: queueDir },\n { key: \"queue_limit\", value: queueLimit },\n { key: \"comment\", value: comment },\n ];\n\n onChange(formValues);\n }\n }, [dsnString, table, format, queueDir, queueLimit, comment, onChange]);\n\n useEffect(() => {\n const cs = configToDsnString();\n setDsnString(cs);\n }, [user, dbName, password, port, host, setDsnString, configToDsnString]);\n\n const switcherChangeEvt = (event: React.ChangeEvent) => {\n if (event.target.checked) {\n // build dsn_string\n const cs = configToDsnString();\n setDsnString(cs);\n } else {\n // parse dsn_string\n const kv = parseDsnString(dsnString, [\n \"host\",\n \"port\",\n \"dbname\",\n \"user\",\n \"password\",\n ]);\n setHostname(kv.get(\"host\") ? kv.get(\"host\") + \"\" : \"\");\n setPort(kv.get(\"port\") ? kv.get(\"port\") + \"\" : \"\");\n setDbName(kv.get(\"dbname\") ? kv.get(\"dbname\") + \"\" : \"\");\n setUser(kv.get(\"user\") ? kv.get(\"user\") + \"\" : \"\");\n setPassword(kv.get(\"password\") ? kv.get(\"password\") + \"\" : \"\");\n }\n\n setUseDsnString(event.target.checked);\n };\n\n return (\n \n \n \n \n {useDsnString ? (\n \n \n ) => {\n setDsnString(e.target.value);\n }}\n />\n \n \n ) : (\n \n \n \n \n ) => {\n setHostname(e.target.value);\n }}\n />\n \n \n ) => {\n setDbName(e.target.value);\n }}\n />\n \n \n ) => {\n setPort(e.target.value);\n }}\n />\n \n\n \n ) => {\n setUser(e.target.value);\n }}\n />\n \n \n ) => {\n setPassword(e.target.value);\n }}\n />\n \n \n \n \n \n
\n
\n
\n )}\n \n ) => {\n setTable(e.target.value);\n }}\n />\n \n \n {\n setFormat(e.target.value);\n }}\n tooltip=\"'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'\"\n selectorOptions={[\n { label: \"Namespace\", value: \"namespace\" },\n { label: \"Access\", value: \"access\" },\n ]}\n />\n \n \n ) => {\n setQueueDir(e.target.value);\n }}\n />\n \n \n ) => {\n setQueueLimit(e.target.value);\n }}\n />\n \n \n ) => {\n setComment(e.target.value);\n }}\n />\n \n
\n );\n};\n\nexport default withStyles(styles)(ConfMySql);\n"],"names":["withStyles","theme","createStyles","fieldBasic","tooltipHelper","inputLabel","fontSize","margin","alignItems","paddingTop","flexWrap","display","textBoxContainer","flexGrow","position","cssOutlinedInput","borderColor","padding","rootContainer","minHeight","borderWidth","color","fontWeight","opacity","label","onChange","value","id","name","disabled","tooltip","index","error","required","placeholder","classes","inputProps","item","xs","className","fieldContainer","errorInField","htmlFor","tooltipContainer","title","placement","fullWidth","multiline","rows","helperText","InputLabelProps","shrink","InputProps","notchedOutline","root","variant","StyledSwitch","width","height","switchBase","transform","palette","common","white","backgroundColor","boxShadow","border","thumb","marginLeft","track","borderRadius","transition","transitions","create","checked","focusVisible","switchContainer","justifyContent","Switch","divContainer","marginBottom","indicatorLabelOn","indicatorLabel","fieldDescription","marginTop","actionsTray","switchOnly","description","indicatorLabels","switchComponent","clsx","length","disableRipple","disableFocusRipple","disableTouchRipple","container","sm","md","textAlign","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","overlayAction","right","top","maxWidth","maxHeight","type","autoComplete","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputBoxContainer","noMinWidthLabel","inputRebase","onClick","size","predefinedList","content","multiLine","Fragment","prefinedContainer","predefinedTitle","innerContentMultiline","innerContent","radioStyles","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","icon","radioUnselectedIcon","optionLabel","marginRight","checkedOption","selectorOptions","currentSelection","disableOptions","displayInColumn","radioOptionsLayout","row","style","map","selectorOption","control","modalBasic","formFieldStyles","useState","useDsnString","setUseDsnString","dsnString","setDsnString","host","setHostname","dbName","setDbName","port","setPort","user","setUser","password","setPassword","table","setTable","format","setFormat","queueDir","setQueueDir","queueLimit","setQueueLimit","comment","setComment","configToDsnString","useCallback","useEffect","key","cs","event","target","kv","input","keys","m","kvFields","Map","regex","exec","lastIndex","set","parseDsnString","get","formFieldRow","e","configureString"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/2805.fa3b80ee.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/NotificationEndpoints/CustomForms/ConfMySql.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 { Grid, InputLabel, TextField, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\ninterface CommentBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontSize: 14,\n margin: 0,\n alignItems: \"flex-start\",\n paddingTop: \"20px\",\n flexWrap: \"wrap\",\n display: \"flex\",\n },\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n cssOutlinedInput: {\n borderColor: \"#EAEAEA\",\n padding: 16,\n },\n rootContainer: {\n \"& .MuiOutlinedInput-inputMultiline\": {\n ...fieldBasic.inputLabel,\n fontSize: 13,\n minHeight: 150,\n },\n \"&.Mui-focused .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"#07193E\",\n borderWidth: 1,\n },\n \"& textarea\": {\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n \"&:placeholder\": {\n color: \"#858585\",\n opacity: 1,\n fontWeight: 400,\n },\n },\n },\n });\n\nconst CommentBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n disabled = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n classes,\n}: CommentBoxProps) => {\n let inputProps: any = { \"data-index\": index };\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n\n
\n \n
\n \n
\n );\n};\n\nexport default withStyles(styles)(CommentBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n
\n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\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","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\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, { useCallback, useEffect, useState } 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\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport { IElementValue } from \"../../Configurations/types\";\nimport {\n formFieldStyles,\n modalBasic,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport CommentBoxWrapper from \"../../Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport PredefinedList from \"../../Common/FormComponents/PredefinedList/PredefinedList\";\n\ninterface IConfMySqlProps {\n onChange: (newValue: IElementValue[]) => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n ...formFieldStyles,\n });\n\nconst ConfMySql = ({ onChange, classes }: IConfMySqlProps) => {\n //Local States\n const [useDsnString, setUseDsnString] = useState(false);\n const [dsnString, setDsnString] = useState(\"\");\n const [host, setHostname] = useState(\"\");\n const [dbName, setDbName] = useState(\"\");\n const [port, setPort] = useState(\"\");\n const [user, setUser] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n\n const [table, setTable] = useState(\"\");\n const [format, setFormat] = useState(\"namespace\");\n const [queueDir, setQueueDir] = useState(\"\");\n const [queueLimit, setQueueLimit] = useState(\"\");\n const [comment, setComment] = useState(\"\");\n\n // dsn_string* (string) MySQL data-source-name connection string e.g. \":@tcp(:)/\"\n // table* (string) DB table name to store/update events, table is auto-created\n // format* (namespace*|access) 'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'\n // queue_dir (path) staging dir for undelivered messages e.g. '/home/events'\n // queue_limit (number) maximum limit for undelivered messages, defaults to '100000'\n // comment (sentence) optionally add a comment to this setting\n\n const parseDsnString = (\n input: string,\n keys: string[]\n ): Map => {\n let kvFields: Map = new Map();\n const regex = /(.*?):(.*?)@tcp\\((.*?):(.*?)\\)\\/(.*?)$/gm;\n let m;\n\n while ((m = regex.exec(input)) !== null) {\n // This is necessary to avoid infinite loops with zero-width matches\n if (m.index === regex.lastIndex) {\n regex.lastIndex++;\n }\n\n kvFields.set(\"user\", m[1]);\n kvFields.set(\"password\", m[2]);\n kvFields.set(\"host\", m[3]);\n kvFields.set(\"port\", m[4]);\n kvFields.set(\"dbname\", m[5]);\n }\n\n return kvFields;\n };\n\n const configToDsnString = useCallback((): string => {\n return `${user}:${password}@tcp(${host}:${port})/${dbName}`;\n }, [user, password, host, port, dbName]);\n\n useEffect(() => {\n if (dsnString !== \"\") {\n const formValues = [\n { key: \"dsn_string\", value: dsnString },\n { key: \"table\", value: table },\n { key: \"format\", value: format },\n { key: \"queue_dir\", value: queueDir },\n { key: \"queue_limit\", value: queueLimit },\n { key: \"comment\", value: comment },\n ];\n\n onChange(formValues);\n }\n }, [dsnString, table, format, queueDir, queueLimit, comment, onChange]);\n\n useEffect(() => {\n const cs = configToDsnString();\n setDsnString(cs);\n }, [user, dbName, password, port, host, setDsnString, configToDsnString]);\n\n const switcherChangeEvt = (event: React.ChangeEvent) => {\n if (event.target.checked) {\n // build dsn_string\n const cs = configToDsnString();\n setDsnString(cs);\n } else {\n // parse dsn_string\n const kv = parseDsnString(dsnString, [\n \"host\",\n \"port\",\n \"dbname\",\n \"user\",\n \"password\",\n ]);\n setHostname(kv.get(\"host\") ? kv.get(\"host\") + \"\" : \"\");\n setPort(kv.get(\"port\") ? kv.get(\"port\") + \"\" : \"\");\n setDbName(kv.get(\"dbname\") ? kv.get(\"dbname\") + \"\" : \"\");\n setUser(kv.get(\"user\") ? kv.get(\"user\") + \"\" : \"\");\n setPassword(kv.get(\"password\") ? kv.get(\"password\") + \"\" : \"\");\n }\n\n setUseDsnString(event.target.checked);\n };\n\n return (\n \n \n \n \n {useDsnString ? (\n \n \n ) => {\n setDsnString(e.target.value);\n }}\n />\n \n \n ) : (\n \n \n \n \n ) => {\n setHostname(e.target.value);\n }}\n />\n \n \n ) => {\n setDbName(e.target.value);\n }}\n />\n \n \n ) => {\n setPort(e.target.value);\n }}\n />\n \n\n \n ) => {\n setUser(e.target.value);\n }}\n />\n \n \n ) => {\n setPassword(e.target.value);\n }}\n />\n \n \n \n \n \n
\n
\n
\n )}\n \n ) => {\n setTable(e.target.value);\n }}\n />\n \n \n {\n setFormat(e.target.value);\n }}\n tooltip=\"'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'\"\n selectorOptions={[\n { label: \"Namespace\", value: \"namespace\" },\n { label: \"Access\", value: \"access\" },\n ]}\n />\n \n \n ) => {\n setQueueDir(e.target.value);\n }}\n />\n \n \n ) => {\n setQueueLimit(e.target.value);\n }}\n />\n \n \n ) => {\n setComment(e.target.value);\n }}\n />\n \n
\n );\n};\n\nexport default withStyles(styles)(ConfMySql);\n"],"names":["withStyles","theme","createStyles","fieldBasic","tooltipHelper","inputLabel","fontSize","margin","alignItems","paddingTop","flexWrap","display","textBoxContainer","flexGrow","position","cssOutlinedInput","borderColor","padding","rootContainer","minHeight","borderWidth","color","fontWeight","opacity","label","onChange","value","id","name","disabled","tooltip","index","error","required","placeholder","classes","inputProps","item","xs","className","fieldContainer","errorInField","htmlFor","tooltipContainer","title","placement","fullWidth","multiline","rows","helperText","InputLabelProps","shrink","InputProps","notchedOutline","root","variant","StyledSwitch","width","height","switchBase","transform","palette","common","white","backgroundColor","boxShadow","border","thumb","marginLeft","track","borderRadius","transition","transitions","create","checked","focusVisible","switchContainer","justifyContent","Switch","divContainer","marginBottom","indicatorLabelOn","indicatorLabel","fieldDescription","marginTop","actionsTray","switchOnly","description","indicatorLabels","switchComponent","clsx","length","disableRipple","disableFocusRipple","disableTouchRipple","container","sm","md","textAlign","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","overlayAction","right","top","maxWidth","maxHeight","type","autoComplete","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputBoxContainer","noMinWidthLabel","inputRebase","onClick","size","predefinedList","content","multiLine","Fragment","prefinedContainer","predefinedTitle","innerContentMultiline","innerContent","radioStyles","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","icon","radioUnselectedIcon","optionLabel","marginRight","checkedOption","selectorOptions","currentSelection","disableOptions","displayInColumn","radioOptionsLayout","row","style","map","selectorOption","control","modalBasic","formFieldStyles","useState","useDsnString","setUseDsnString","dsnString","setDsnString","host","setHostname","dbName","setDbName","port","setPort","user","setUser","password","setPassword","table","setTable","format","setFormat","queueDir","setQueueDir","queueLimit","setQueueLimit","comment","setComment","configToDsnString","useCallback","useEffect","key","cs","event","target","kv","input","keys","m","kvFields","Map","regex","exec","lastIndex","set","parseDsnString","get","formFieldRow","e","configureString"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2966.fed828cf.chunk.js.map b/portal-ui/build/static/js/2966.fed828cf.chunk.js.map index 56ee8305e..0dc6ca78e 100644 --- a/portal-ui/build/static/js/2966.fed828cf.chunk.js.map +++ b/portal-ui/build/static/js/2966.fed828cf.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/2966.fed828cf.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SetRetentionConfig.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","../node_modules/@mui/material/internal/switchBaseClasses.js","../node_modules/@mui/material/internal/SwitchBase.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, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Button, LinearProgress, CircularProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport {\n ErrorResponseHandler,\n IRetentionConfig,\n} from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...spacingUtils,\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\ninterface ISetRetentionConfigProps {\n classes: any;\n open: boolean;\n bucketName: string;\n closeModalAndRefresh: () => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst SetRetentionConfig = ({\n classes,\n open,\n bucketName,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: ISetRetentionConfigProps) => {\n const [addLoading, setAddLoading] = useState(false);\n const [loadingForm, setLoadingForm] = useState(true);\n const [retentionMode, setRetentionMode] = useState(\"compliance\");\n const [retentionUnit, setRetentionUnit] = useState(\"days\");\n const [retentionValidity, setRetentionValidity] = useState(1);\n const [valid, setValid] = useState(false);\n\n const setRetention = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n api\n .invoke(\"PUT\", `/api/v1/buckets/${bucketName}/retention`, {\n mode: retentionMode,\n unit: retentionUnit,\n validity: retentionValidity,\n })\n .then(() => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n useEffect(() => {\n if (Number.isNaN(retentionValidity) || retentionValidity < 1) {\n setValid(false);\n return;\n }\n setValid(true);\n }, [retentionValidity]);\n\n useEffect(() => {\n if (loadingForm) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/retention`)\n .then((res: IRetentionConfig) => {\n setLoadingForm(false);\n\n // We set default values\n setRetentionMode(res.mode);\n setRetentionValidity(res.validity);\n setRetentionUnit(res.unit);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingForm(false);\n });\n }\n }, [loadingForm, bucketName]);\n\n return (\n {\n closeModalAndRefresh();\n }}\n >\n {loadingForm ? (\n \n ) : (\n ) => {\n setRetention(e);\n }}\n >\n \n \n \n ) => {\n setRetentionMode(e.target.value as string);\n }}\n selectorOptions={[\n { value: \"compliance\", label: \"Compliance\" },\n { value: \"governance\", label: \"Governance\" },\n ]}\n />\n \n \n ) => {\n setRetentionUnit(e.target.value as string);\n }}\n selectorOptions={[\n { value: \"days\", label: \"Days\" },\n { value: \"years\", label: \"Years\" },\n ]}\n />\n \n \n ) => {\n setRetentionValidity(e.target.valueAsNumber);\n }}\n label=\"Retention Validity\"\n value={String(retentionValidity)}\n required\n min=\"1\"\n />\n \n \n \n {\n closeModalAndRefresh();\n }}\n >\n Cancel\n \n \n Set\n \n \n {addLoading && (\n \n \n \n )}\n \n \n )}\n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(SetRetentionConfig));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\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\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\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 ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \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 { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"checked\", \"checkedIcon\", \"className\", \"defaultChecked\", \"disabled\", \"disableFocusRipple\", \"edge\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport ButtonBase from '../ButtonBase';\nimport { getSwitchBaseUtilityClass } from './switchBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\n\nconst SwitchBaseRoot = styled(ButtonBase)(({\n ownerState\n}) => _extends({\n padding: 9,\n borderRadius: '50%'\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}));\nconst SwitchBaseInput = styled('input')({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n/**\n * @ignore - internal component.\n */\n\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n className,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required,\n tabIndex,\n type,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n\n let disabled = disabledProp;\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n\n const ownerState = _extends({}, props, {\n checked,\n disabled,\n disableFocusRipple,\n edge\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SwitchBaseRoot, _extends({\n component: \"span\",\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SwitchBaseInput, _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor && id,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n ownerState: ownerState,\n tabIndex: tabIndex,\n type: type\n }, type === 'checkbox' && value === undefined ? {} : {\n value\n }, inputProps)), checked ? checkedIcon : icon]\n }));\n}); // NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\n\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /*\n * @ignore\n */\n name: PropTypes.string,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;"],"names":["connector","connect","setModalErrorSnackMessage","withStyles","theme","createStyles","spacingUtils","createTenantCommon","formFieldStyles","modalStyleUtils","classes","open","bucketName","closeModalAndRefresh","useState","addLoading","setAddLoading","loadingForm","setLoadingForm","retentionMode","setRetentionMode","retentionUnit","setRetentionUnit","retentionValidity","setRetentionValidity","valid","setValid","useEffect","Number","isNaN","api","then","res","mode","validity","unit","catch","err","title","modalOpen","onClose","color","size","variant","noValidate","autoComplete","onSubmit","e","preventDefault","container","item","xs","className","modalFormScrollable","formFieldRow","currentSelection","id","name","label","onChange","target","value","selectorOptions","type","valueAsNumber","String","required","min","modalButtonBar","disabled","onClick","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","multiline","tooltip","index","error","placeholder","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputProps","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","placement","fullWidth","helperText","inputRebase","disableFocusRipple","disableRipple","disableTouchRipple","radioStyles","root","backgroundColor","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","icon","radioUnselectedIcon","optionLabel","marginRight","fontSize","checkedOption","disableOptions","displayInColumn","alignItems","radioOptionsLayout","row","style","display","textAlign","map","selectorOption","control","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","marginTop","width","border","borderLeftWidth","borderRadius","zIndex","padding","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","cursor","errorTitle","errorLabel","marginLeft","messageIcon","height","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","detailedError","errorMessage","message","get","messageDetails","Fragment","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","length","Dialog","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","getSwitchBaseUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","SwitchBaseRoot","styled","ButtonBase","ownerState","_extends","edge","SwitchBaseInput","margin","React","ref","checkedProp","checked","defaultChecked","disabledProp","inputRef","onBlur","onFocus","readOnly","tabIndex","other","_objectWithoutPropertiesLoose","useControlled","controlled","default","Boolean","setCheckedState","muiFormControl","useFormControl","hasLabelFor","slots","capitalize","input","composeClasses","useUtilityClasses","_jsxs","component","centerRipple","focusRipple","role","undefined","_jsx","nativeEvent","defaultPrevented","newChecked"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/2966.fed828cf.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SetRetentionConfig.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","../node_modules/@mui/material/internal/switchBaseClasses.js","../node_modules/@mui/material/internal/SwitchBase.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, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Button, LinearProgress, CircularProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport {\n ErrorResponseHandler,\n IRetentionConfig,\n} from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...spacingUtils,\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\ninterface ISetRetentionConfigProps {\n classes: any;\n open: boolean;\n bucketName: string;\n closeModalAndRefresh: () => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst SetRetentionConfig = ({\n classes,\n open,\n bucketName,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: ISetRetentionConfigProps) => {\n const [addLoading, setAddLoading] = useState(false);\n const [loadingForm, setLoadingForm] = useState(true);\n const [retentionMode, setRetentionMode] = useState(\"compliance\");\n const [retentionUnit, setRetentionUnit] = useState(\"days\");\n const [retentionValidity, setRetentionValidity] = useState(1);\n const [valid, setValid] = useState(false);\n\n const setRetention = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n api\n .invoke(\"PUT\", `/api/v1/buckets/${bucketName}/retention`, {\n mode: retentionMode,\n unit: retentionUnit,\n validity: retentionValidity,\n })\n .then(() => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n useEffect(() => {\n if (Number.isNaN(retentionValidity) || retentionValidity < 1) {\n setValid(false);\n return;\n }\n setValid(true);\n }, [retentionValidity]);\n\n useEffect(() => {\n if (loadingForm) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/retention`)\n .then((res: IRetentionConfig) => {\n setLoadingForm(false);\n\n // We set default values\n setRetentionMode(res.mode);\n setRetentionValidity(res.validity);\n setRetentionUnit(res.unit);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingForm(false);\n });\n }\n }, [loadingForm, bucketName]);\n\n return (\n {\n closeModalAndRefresh();\n }}\n >\n {loadingForm ? (\n \n ) : (\n ) => {\n setRetention(e);\n }}\n >\n \n \n \n ) => {\n setRetentionMode(e.target.value as string);\n }}\n selectorOptions={[\n { value: \"compliance\", label: \"Compliance\" },\n { value: \"governance\", label: \"Governance\" },\n ]}\n />\n \n \n ) => {\n setRetentionUnit(e.target.value as string);\n }}\n selectorOptions={[\n { value: \"days\", label: \"Days\" },\n { value: \"years\", label: \"Years\" },\n ]}\n />\n \n \n ) => {\n setRetentionValidity(e.target.valueAsNumber);\n }}\n label=\"Retention Validity\"\n value={String(retentionValidity)}\n required\n min=\"1\"\n />\n \n \n \n {\n closeModalAndRefresh();\n }}\n >\n Cancel\n \n \n Set\n \n \n {addLoading && (\n \n \n \n )}\n \n \n )}\n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(SetRetentionConfig));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\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\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\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 ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \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 { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"checked\", \"checkedIcon\", \"className\", \"defaultChecked\", \"disabled\", \"disableFocusRipple\", \"edge\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport ButtonBase from '../ButtonBase';\nimport { getSwitchBaseUtilityClass } from './switchBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\n\nconst SwitchBaseRoot = styled(ButtonBase)(({\n ownerState\n}) => _extends({\n padding: 9,\n borderRadius: '50%'\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}));\nconst SwitchBaseInput = styled('input')({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n/**\n * @ignore - internal component.\n */\n\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n className,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required,\n tabIndex,\n type,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n\n let disabled = disabledProp;\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n\n const ownerState = _extends({}, props, {\n checked,\n disabled,\n disableFocusRipple,\n edge\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SwitchBaseRoot, _extends({\n component: \"span\",\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SwitchBaseInput, _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor && id,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n ownerState: ownerState,\n tabIndex: tabIndex,\n type: type\n }, type === 'checkbox' && value === undefined ? {} : {\n value\n }, inputProps)), checked ? checkedIcon : icon]\n }));\n}); // NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\n\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /*\n * @ignore\n */\n name: PropTypes.string,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;"],"names":["connector","connect","setModalErrorSnackMessage","withStyles","theme","createStyles","spacingUtils","createTenantCommon","formFieldStyles","modalStyleUtils","classes","open","bucketName","closeModalAndRefresh","useState","addLoading","setAddLoading","loadingForm","setLoadingForm","retentionMode","setRetentionMode","retentionUnit","setRetentionUnit","retentionValidity","setRetentionValidity","valid","setValid","useEffect","Number","isNaN","api","then","res","mode","validity","unit","catch","err","title","modalOpen","onClose","color","size","variant","noValidate","autoComplete","onSubmit","e","preventDefault","container","item","xs","className","modalFormScrollable","formFieldRow","currentSelection","id","name","label","onChange","target","value","selectorOptions","type","valueAsNumber","String","required","min","modalButtonBar","disabled","onClick","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","multiline","tooltip","index","error","placeholder","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputProps","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","placement","fullWidth","helperText","inputRebase","disableFocusRipple","disableRipple","disableTouchRipple","radioStyles","root","backgroundColor","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","icon","radioUnselectedIcon","optionLabel","marginRight","fontSize","checkedOption","disableOptions","displayInColumn","alignItems","radioOptionsLayout","row","style","display","textAlign","map","selectorOption","control","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","marginTop","width","border","borderLeftWidth","borderRadius","zIndex","padding","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","cursor","errorTitle","errorLabel","marginLeft","messageIcon","height","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","detailedError","errorMessage","message","get","messageDetails","Fragment","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","length","Dialog","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","getSwitchBaseUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","SwitchBaseRoot","styled","ButtonBase","ownerState","_extends","edge","SwitchBaseInput","margin","React","ref","checkedProp","checked","defaultChecked","disabledProp","inputRef","onBlur","onFocus","readOnly","tabIndex","other","_objectWithoutPropertiesLoose","useControlled","controlled","default","Boolean","setCheckedState","muiFormControl","useFormControl","hasLabelFor","slots","capitalize","input","composeClasses","useUtilityClasses","_jsxs","component","centerRipple","focusRipple","role","undefined","_jsx","nativeEvent","defaultPrevented","newChecked"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3474.fe892013.chunk.js.map b/portal-ui/build/static/js/3474.fe892013.chunk.js.map index cbfd5a20d..113e318cc 100644 --- a/portal-ui/build/static/js/3474.fe892013.chunk.js.map +++ b/portal-ui/build/static/js/3474.fe892013.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/3474.fe892013.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/License/LicenseModal.tsx","screens/Console/License/ActivationModal.tsx","screens/Console/License/utils.ts","screens/Console/License/LicensePlans.tsx","screens/Console/License/License.tsx","screens/Console/Support/RegisterStatus.tsx","../node_modules/@mui/icons-material/CheckCircle.js","../node_modules/@mui/icons-material/LockOutlined.js","../node_modules/@mui/icons-material/PersonOutlineOutlined.js","../node_modules/@mui/material/Link/linkClasses.js","../node_modules/@mui/material/Link/Link.js","../node_modules/@mui/material/internal/switchBaseClasses.js","../node_modules/@mui/material/internal/SwitchBase.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\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\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\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 ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \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 { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { containerForHeader } from \"../Common/FormComponents/common/styleLibrary\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport Typography from \"@mui/material/Typography\";\nimport React from \"react\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n pageTitle: {\n fontSize: 18,\n marginBottom: 20,\n textAlign: \"center\",\n },\n pageSubTitle: {\n textAlign: \"center\",\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface ILicenseModalProps {\n classes: any;\n open: boolean;\n closeModal: () => void;\n}\n\nconst LicenseModal = ({ classes, open, closeModal }: ILicenseModalProps) => {\n return open ? (\n {\n closeModal();\n }}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n {\" \"}\n \n \n \n GNU AFFERO GENERAL PUBLIC LICENSE\n \n

Version 3, 19 November 2007

\n
\n \n

\n Copyright © 2007 Free Software Foundation, Inc. <\n \n https://fsf.org/\n \n >\n

\n

\n {\" \"}\n Everyone is permitted to copy and distribute verbatim copies of this\n license document, but changing it is not allowed.\n

\n

Preamble

\n

\n The GNU Affero General Public License is a free, copyleft license\n for software and other kinds of works, specifically designed to\n ensure cooperation with the community in the case of network server\n software.\n

\n\n

\n The licenses for most software and other practical works are\n designed to take away your freedom to share and change the works. By\n contrast, our General Public Licenses are intended to guarantee your\n freedom to share and change all versions of a program--to make sure\n it remains free software for all its users.\n

\n\n

\n When we speak of free software, we are referring to freedom, not\n price. Our General Public Licenses are designed to make sure that\n you have the freedom to distribute copies of free software (and\n charge for them if you wish), that you receive source code or can\n get it if you want it, that you can change the software or use\n pieces of it in new free programs, and that you know you can do\n these things.\n

\n\n

\n Developers that use our General Public Licenses protect your rights\n with two steps: (1) assert copyright on the software, and (2) offer\n you this License which gives you legal permission to copy,\n distribute and/or modify the software.\n

\n\n

\n A secondary benefit of defending all users' freedom is that\n improvements made in alternate versions of the program, if they\n receive widespread use, become available for other developers to\n incorporate. Many developers of free software are heartened and\n encouraged by the resulting cooperation. However, in the case of\n software used on network servers, this result may fail to come\n about. The GNU General Public License permits making a modified\n version and letting the public access it on a server without ever\n releasing its source code to the public.\n

\n\n

\n The GNU Affero General Public License is designed specifically to\n ensure that, in such cases, the modified source code becomes\n available to the community. It requires the operator of a network\n server to provide the source code of the modified version running\n there to the users of that server. Therefore, public use of a\n modified version, on a publicly accessible server, gives the public\n access to the source code of the modified version.\n

\n\n

\n An older license, called the Affero General Public License and\n published by Affero, was designed to accomplish similar goals. This\n is a different license, not a version of the Affero GPL, but Affero\n has released a new version of the Affero GPL which permits\n relicensing under this license.\n

\n\n

\n The precise terms and conditions for copying, distribution and\n modification follow.\n

\n\n

TERMS AND CONDITIONS

\n

0. Definitions.

\n

\n "This License" refers to version 3 of the GNU Affero\n General Public License.\n

\n\n

\n "Copyright" also means copyright-like laws that apply to\n other kinds of works, such as semiconductor masks.\n

\n\n

\n "The Program" refers to any copyrightable work licensed\n under this License. Each licensee is addressed as "you".\n "Licensees" and "recipients" may be individuals\n or organizations.\n

\n\n

\n To "modify" a work means to copy from or adapt all or part\n of the work in a fashion requiring copyright permission, other than\n the making of an exact copy. The resulting work is called a\n "modified version" of the earlier work or a work\n "based on" the earlier work.\n

\n\n

\n A "covered work" means either the unmodified Program or a\n work based on the Program.\n

\n\n

\n To "propagate" a work means to do anything with it that,\n without permission, would make you directly or secondarily liable\n for infringement under applicable copyright law, except executing it\n on a computer or modifying a private copy. Propagation includes\n copying, distribution (with or without modification), making\n available to the public, and in some countries other activities as\n well.\n

\n\n

\n To "convey" a work means any kind of propagation that\n enables other parties to make or receive copies. Mere interaction\n with a user through a computer network, with no transfer of a copy,\n is not conveying.\n

\n\n

\n An interactive user interface displays "Appropriate Legal\n Notices" to the extent that it includes a convenient and\n prominently visible feature that (1) displays an appropriate\n copyright notice, and (2) tells the user that there is no warranty\n for the work (except to the extent that warranties are provided),\n that licensees may convey the work under this License, and how to\n view a copy of this License. If the interface presents a list of\n user commands or options, such as a menu, a prominent item in the\n list meets this criterion.\n

\n\n

1. Source Code.

\n

\n The "source code" for a work means the preferred form of\n the work for making modifications to it. "Object code"\n means any non-source form of a work.\n

\n\n

\n A "Standard Interface" means an interface that either is\n an official standard defined by a recognized standards body, or, in\n the case of interfaces specified for a particular programming\n language, one that is widely used among developers working in that\n language.\n

\n\n

\n The "System Libraries" of an executable work include\n anything, other than the work as a whole, that (a) is included in\n the normal form of packaging a Major Component, but which is not\n part of that Major Component, and (b) serves only to enable use of\n the work with that Major Component, or to implement a Standard\n Interface for which an implementation is available to the public in\n source code form. A "Major Component", in this context,\n means a major essential component (kernel, window system, and so on)\n of the specific operating system (if any) on which the executable\n work runs, or a compiler used to produce the work, or an object code\n interpreter used to run it.\n

\n\n

\n The "Corresponding Source" for a work in object code form\n means all the source code needed to generate, install, and (for an\n executable work) run the object code and to modify the work,\n including scripts to control those activities. However, it does not\n include the work's System Libraries, or general-purpose tools or\n generally available free programs which are used unmodified in\n performing those activities but which are not part of the work. For\n example, Corresponding Source includes interface definition files\n associated with source files for the work, and the source code for\n shared libraries and dynamically linked subprograms that the work is\n specifically designed to require, such as by intimate data\n communication or control flow between those subprograms and other\n parts of the work.\n

\n\n

\n The Corresponding Source need not include anything that users can\n regenerate automatically from other parts of the Corresponding\n Source.\n

\n\n

\n The Corresponding Source for a work in source code form is that same\n work.\n

\n\n

2. Basic Permissions.

\n

\n All rights granted under this License are granted for the term of\n copyright on the Program, and are irrevocable provided the stated\n conditions are met. This License explicitly affirms your unlimited\n permission to run the unmodified Program. The output from running a\n covered work is covered by this License only if the output, given\n its content, constitutes a covered work. This License acknowledges\n your rights of fair use or other equivalent, as provided by\n copyright law.\n

\n

\n You may make, run and propagate covered works that you do not\n convey, without conditions so long as your license otherwise remains\n in force. You may convey covered works to others for the sole\n purpose of having them make modifications exclusively for you, or\n provide you with facilities for running those works, provided that\n you comply with the terms of this License in conveying all material\n for which you do not control copyright. Those thus making or running\n the covered works for you must do so exclusively on your behalf,\n under your direction and control, on terms that prohibit them from\n making any copies of your copyrighted material outside their\n relationship with you.\n

\n

\n Conveying under any other circumstances is permitted solely under\n the conditions stated below. Sublicensing is not allowed; section 10\n makes it unnecessary.\n

\n

\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n

\n

\n No covered work shall be deemed part of an effective technological\n measure under any applicable law fulfilling obligations under\n article 11 of the WIPO copyright treaty adopted on 20 December 1996,\n or similar laws prohibiting or restricting circumvention of such\n measures.\n

\n

\n When you convey a covered work, you waive any legal power to forbid\n circumvention of technological measures to the extent such\n circumvention is effected by exercising rights under this License\n with respect to the covered work, and you disclaim any intention to\n limit operation or modification of the work as a means of enforcing,\n against the work's users, your or third parties' legal rights to\n forbid circumvention of technological measures.\n

\n

4. Conveying Verbatim Copies.

\n

\n You may convey verbatim copies of the Program's source code as you\n receive it, in any medium, provided that you conspicuously and\n appropriately publish on each copy an appropriate copyright notice;\n keep intact all notices stating that this License and any\n non-permissive terms added in accord with section 7 apply to the\n code; keep intact all notices of the absence of any warranty; and\n give all recipients a copy of this License along with the Program.\n

\n

\n You may charge any price or no price for each copy that you convey,\n and you may offer support or warranty protection for a fee.\n

\n

5. Conveying Modified Source Versions.

\n

\n You may convey a work based on the Program, or the modifications to\n produce it from the Program, in the form of source code under the\n terms of section 4, provided that you also meet all of these\n conditions:\n

\n

\n

    \n
  • \n a) The work must carry prominent notices stating that you\n modified it, and giving a relevant date.\n
  • \n
  • \n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under\n section 7. This requirement modifies the requirement in section\n 4 to "keep intact all notices".\n
  • \n
  • \n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section\n 7 additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n
  • \n
  • \n d) If the work has interactive user interfaces, each must\n display Appropriate Legal Notices; however, if the Program has\n interactive interfaces that do not display Appropriate Legal\n Notices, your work need not make them do so.\n
  • \n
\n

\n

\n A compilation of a covered work with other separate and independent\n works, which are not by their nature extensions of the covered work,\n and which are not combined with it such as to form a larger program,\n in or on a volume of a storage or distribution medium, is called an\n "aggregate" if the compilation and its resulting copyright\n are not used to limit the access or legal rights of the\n compilation's users beyond what the individual works permit.\n Inclusion of a covered work in an aggregate does not cause this\n License to apply to the other parts of the aggregate.\n

\n

6. Conveying Non-Source Forms.

\n

\n You may convey a covered work in object code form under the terms of\n sections 4 and 5, provided that you also convey the machine-readable\n Corresponding Source under the terms of this License, in one of\n these ways:\n

\n

\n

    \n
  • \n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n
  • \n
  • \n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that\n product model, to give anyone who possesses the object code\n either (1) a copy of the Corresponding Source for all the\n software in the product that is covered by this License, on a\n durable physical medium customarily used for software\n interchange, for a price no more than your reasonable cost of\n physically performing this conveying of source, or (2) access to\n copy the Corresponding Source from a network server at no\n charge.\n
  • \n
  • \n c) Convey individual copies of the object code with a copy of\n the written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially,\n and only if you received the object code with such an offer, in\n accord with subsection 6b.\n
  • \n
  • \n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to\n the Corresponding Source in the same way through the same place\n at no further charge. You need not require recipients to copy\n the Corresponding Source along with the object code. If the\n place to copy the object code is a network server, the\n Corresponding Source may be on a different server (operated by\n you or a third party) that supports equivalent copying\n facilities, provided you maintain clear directions next to the\n object code saying where to find the Corresponding Source.\n Regardless of what server hosts the Corresponding Source, you\n remain obligated to ensure that it is available for as long as\n needed to satisfy these requirements.\n
  • \n
  • \n e) Convey the object code using peer-to-peer transmission,\n provided you inform other peers where the object code and\n Corresponding Source of the work are being offered to the\n general public at no charge under subsection 6d.\n
  • \n
\n

\n

\n A separable portion of the object code, whose source code is\n excluded from the Corresponding Source as a System Library, need not\n be included in conveying the object code work.\n

\n

\n A "User Product" is either (1) a "consumer\n product", which means any tangible personal property which is\n normally used for personal, family, or household purposes, or (2)\n anything designed or sold for incorporation into a dwelling. In\n determining whether a product is a consumer product, doubtful cases\n shall be resolved in favor of coverage. For a particular product\n received by a particular user, "normally used" refers to a\n typical or common use of that class of product, regardless of the\n status of the particular user or of the way in which the particular\n user actually uses, or expects or is expected to use, the product. A\n product is a consumer product regardless of whether the product has\n substantial commercial, industrial or non-consumer uses, unless such\n uses represent the only significant mode of use of the product.\n

\n

\n "Installation Information" for a User Product means any\n methods, procedures, authorization keys, or other information\n required to install and execute modified versions of a covered work\n in that User Product from a modified version of its Corresponding\n Source. The information must suffice to ensure that the continued\n functioning of the modified object code is in no case prevented or\n interfered with solely because modification has been made.\n

\n

\n If you convey an object code work under this section in, or with, or\n specifically for use in, a User Product, and the conveying occurs as\n part of a transaction in which the right of possession and use of\n the User Product is transferred to the recipient in perpetuity or\n for a fixed term (regardless of how the transaction is\n characterized), the Corresponding Source conveyed under this section\n must be accompanied by the Installation Information. But this\n requirement does not apply if neither you nor any third party\n retains the ability to install modified object code on the User\n Product (for example, the work has been installed in ROM).\n

\n

\n The requirement to provide Installation Information does not include\n a requirement to continue to provide support service, warranty, or\n updates for a work that has been modified or installed by the\n recipient, or for the User Product in which it has been modified or\n installed. Access to a network may be denied when the modification\n itself materially and adversely affects the operation of the network\n or violates the rules and protocols for communication across the\n network.\n

\n

\n Corresponding Source conveyed, and Installation Information\n provided, in accord with this section must be in a format that is\n publicly documented (and with an implementation available to the\n public in source code form), and must require no special password or\n key for unpacking, reading or copying.\n

\n

7. Additional Terms.

\n

\n "Additional permissions" are terms that supplement the\n terms of this License by making exceptions from one or more of its\n conditions. Additional permissions that are applicable to the entire\n Program shall be treated as though they were included in this\n License, to the extent that they are valid under applicable law. If\n additional permissions apply only to part of the Program, that part\n may be used separately under those permissions, but the entire\n Program remains governed by this License without regard to the\n additional permissions.\n

\n

\n When you convey a copy of a covered work, you may at your option\n remove any additional permissions from that copy, or from any part\n of it. (Additional permissions may be written to require their own\n removal in certain cases when you modify the work.) You may place\n additional permissions on material, added by you to a covered work,\n for which you have or can give appropriate copyright permission.\n

\n

\n Notwithstanding any other provision of this License, for material\n you add to a covered work, you may (if authorized by the copyright\n holders of that material) supplement the terms of this License with\n terms:\n

\n

\n

    \n
  • \n a) Disclaiming warranty or limiting liability differently from\n the terms of sections 15 and 16 of this License; or\n
  • \n
  • \n b) Requiring preservation of specified reasonable legal notices\n or author attributions in that material or in the Appropriate\n Legal Notices displayed by works containing it; or\n
  • \n
  • \n c) Prohibiting misrepresentation of the origin of that material,\n or requiring that modified versions of such material be marked\n in reasonable ways as different from the original version; or\n
  • \n
  • \n d) Limiting the use for publicity purposes of names of licensors\n or authors of the material; or\n
  • \n
  • \n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n
  • \n
  • \n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified\n versions of it) with contractual assumptions of liability to the\n recipient, for any liability that these contractual assumptions\n directly impose on those licensors and authors.\n
  • \n
\n

\n

\n All other non-permissive additional terms are considered\n "further restrictions" within the meaning of section 10.\n If the Program as you received it, or any part of it, contains a\n notice stating that it is governed by this License along with a term\n that is a further restriction, you may remove that term. If a\n license document contains a further restriction but permits\n relicensing or conveying under this License, you may add to a\n covered work material governed by the terms of that license\n document, provided that the further restriction does not survive\n such relicensing or conveying.\n

\n

\n If you add terms to a covered work in accord with this section, you\n must place, in the relevant source files, a statement of the\n additional terms that apply to those files, or a notice indicating\n where to find the applicable terms.\n

\n

\n Additional terms, permissive or non-permissive, may be stated in the\n form of a separately written license, or stated as exceptions; the\n above requirements apply either way.\n

\n

8. Termination.

\n

\n You may not propagate or modify a covered work except as expressly\n provided under this License. Any attempt otherwise to propagate or\n modify it is void, and will automatically terminate your rights\n under this License (including any patent licenses granted under the\n third paragraph of section 11).\n

\n

\n However, if you cease all violation of this License, then your\n license from a particular copyright holder is reinstated (a)\n provisionally, unless and until the copyright holder explicitly and\n finally terminates your license, and (b) permanently, if the\n copyright holder fails to notify you of the violation by some\n reasonable means prior to 60 days after the cessation.\n

\n

\n Moreover, your license from a particular copyright holder is\n reinstated permanently if the copyright holder notifies you of the\n violation by some reasonable means, this is the first time you have\n received notice of violation of this License (for any work) from\n that copyright holder, and you cure the violation prior to 30 days\n after your receipt of the notice.\n

\n\n

\n Termination of your rights under this section does not terminate the\n licenses of parties who have received copies or rights from you\n under this License. If your rights have been terminated and not\n permanently reinstated, you do not qualify to receive new licenses\n for the same material under section 10.\n

\n\n

9. Acceptance Not Required for Having Copies.

\n

\n You are not required to accept this License in order to receive or\n run a copy of the Program. Ancillary propagation of a covered work\n occurring solely as a consequence of using peer-to-peer transmission\n to receive a copy likewise does not require acceptance. However,\n nothing other than this License grants you permission to propagate\n or modify any covered work. These actions infringe copyright if you\n do not accept this License. Therefore, by modifying or propagating a\n covered work, you indicate your acceptance of this License to do so.\n

\n\n

10. Automatic Licensing of Downstream Recipients.

\n

\n Each time you convey a covered work, the recipient automatically\n receives a license from the original licensors, to run, modify and\n propagate that work, subject to this License. You are not\n responsible for enforcing compliance by third parties with this\n License.\n

\n\n

\n An "entity transaction" is a transaction transferring\n control of an organization, or substantially all assets of one, or\n subdividing an organization, or merging organizations. If\n propagation of a covered work results from an entity transaction,\n each party to that transaction who receives a copy of the work also\n receives whatever licenses to the work the party's predecessor in\n interest had or could give under the previous paragraph, plus a\n right to possession of the Corresponding Source of the work from the\n predecessor in interest, if the predecessor has it or can get it\n with reasonable efforts.\n

\n\n

\n You may not impose any further restrictions on the exercise of the\n rights granted or affirmed under this License. For example, you may\n not impose a license fee, royalty, or other charge for exercise of\n rights granted under this License, and you may not initiate\n litigation (including a cross-claim or counterclaim in a lawsuit)\n alleging that any patent claim is infringed by making, using,\n selling, offering for sale, or importing the Program or any portion\n of it.\n

\n\n

11. Patents.

\n

\n A "contributor" is a copyright holder who authorizes use\n under this License of the Program or a work on which the Program is\n based. The work thus licensed is called the contributor's\n "contributor version".\n

\n\n

\n A contributor's "essential patent claims" are all patent\n claims owned or controlled by the contributor, whether already\n acquired or hereafter acquired, that would be infringed by some\n manner, permitted by this License, of making, using, or selling its\n contributor version, but do not include claims that would be\n infringed only as a consequence of further modification of the\n contributor version. For purposes of this definition,\n "control" includes the right to grant patent sublicenses\n in a manner consistent with the requirements of this License.\n

\n\n

\n Each contributor grants you a non-exclusive, worldwide, royalty-free\n patent license under the contributor's essential patent claims, to\n make, use, sell, offer for sale, import and otherwise run, modify\n and propagate the contents of its contributor version.\n

\n\n

\n In the following three paragraphs, a "patent license" is\n any express agreement or commitment, however denominated, not to\n enforce a patent (such as an express permission to practice a patent\n or covenant not to sue for patent infringement). To\n "grant" such a patent license to a party means to make\n such an agreement or commitment not to enforce a patent against the\n party.\n

\n\n

\n If you convey a covered work, knowingly relying on a patent license,\n and the Corresponding Source of the work is not available for anyone\n to copy, free of charge and under the terms of this License, through\n a publicly available network server or other readily accessible\n means, then you must either (1) cause the Corresponding Source to be\n so available, or (2) arrange to deprive yourself of the benefit of\n the patent license for this particular work, or (3) arrange, in a\n manner consistent with the requirements of this License, to extend\n the patent license to downstream recipients. "Knowingly\n relying" means you have actual knowledge that, but for the\n patent license, your conveying the covered work in a country, or\n your recipient's use of the covered work in a country, would\n infringe one or more identifiable patents in that country that you\n have reason to believe are valid.\n

\n\n

\n If, pursuant to or in connection with a single transaction or\n arrangement, you convey, or propagate by procuring conveyance of, a\n covered work, and grant a patent license to some of the parties\n receiving the covered work authorizing them to use, propagate,\n modify or convey a specific copy of the covered work, then the\n patent license you grant is automatically extended to all recipients\n of the covered work and works based on it.\n

\n\n

\n A patent license is "discriminatory" if it does not\n include within the scope of its coverage, prohibits the exercise of,\n or is conditioned on the non-exercise of one or more of the rights\n that are specifically granted under this License. You may not convey\n a covered work if you are a party to an arrangement with a third\n party that is in the business of distributing software, under which\n you make payment to the third party based on the extent of your\n activity of conveying the work, and under which the third party\n grants, to any of the parties who would receive the covered work\n from you, a discriminatory patent license (a) in connection with\n copies of the covered work conveyed by you (or copies made from\n those copies), or (b) primarily for and in connection with specific\n products or compilations that contain the covered work, unless you\n entered into that arrangement, or that patent license was granted,\n prior to 28 March 2007.\n

\n\n

\n Nothing in this License shall be construed as excluding or limiting\n any implied license or other defenses to infringement that may\n otherwise be available to you under applicable patent law.\n

\n\n

12. No Surrender of Others' Freedom.

\n

\n If conditions are imposed on you (whether by court order, agreement\n or otherwise) that contradict the conditions of this License, they\n do not excuse you from the conditions of this License. If you cannot\n convey a covered work so as to satisfy simultaneously your\n obligations under this License and any other pertinent obligations,\n then as a consequence you may not convey it at all. For example, if\n you agree to terms that obligate you to collect a royalty for\n further conveying from those to whom you convey the Program, the\n only way you could satisfy both those terms and this License would\n be to refrain entirely from conveying the Program.\n

\n\n

\n 13. Remote Network Interaction; Use with the GNU General Public\n License.\n

\n

\n Notwithstanding any other provision of this License, if you modify\n the Program, your modified version must prominently offer all users\n interacting with it remotely through a computer network (if your\n version supports such interaction) an opportunity to receive the\n Corresponding Source of your version by providing access to the\n Corresponding Source from a network server at no charge, through\n some standard or customary means of facilitating copying of\n software. This Corresponding Source shall include the Corresponding\n Source for any work covered by version 3 of the GNU General Public\n License that is incorporated pursuant to the following paragraph.\n

\n\n

\n Notwithstanding any other provision of this License, you have\n permission to link or combine any covered work with a work licensed\n under version 3 of the GNU General Public License into a single\n combined work, and to convey the resulting work. The terms of this\n License will continue to apply to the part which is the covered\n work, but the work with which it is combined will remain governed by\n version 3 of the GNU General Public License.\n

\n\n

14. Revised Versions of this License.

\n

\n The Free Software Foundation may publish revised and/or new versions\n of the GNU Affero General Public License from time to time. Such new\n versions will be similar in spirit to the present version, but may\n differ in detail to address new problems or concerns.\n

\n\n

\n Each version is given a distinguishing version number. If the\n Program specifies that a certain numbered version of the GNU Affero\n General Public License "or any later version" applies to\n it, you have the option of following the terms and conditions either\n of that numbered version or of any later version published by the\n Free Software Foundation. If the Program does not specify a version\n number of the GNU Affero General Public License, you may choose any\n version ever published by the Free Software Foundation.\n

\n\n

\n Each version is given a distinguishing version number. If the\n Program specifies that a certain numbered version of the GNU Affero\n General Public License "or any later version" applies to\n it, you have the option of following the terms and conditions either\n of that numbered version or of any later version published by the\n Free Software Foundation. If the Program does not specify a version\n number of the GNU Affero General Public License, you may choose any\n version ever published by the Free Software Foundation.\n

\n\n

\n Later license versions may give you additional or different\n permissions. However, no additional obligations are imposed on any\n author or copyright holder as a result of your choosing to follow a\n later version.\n

\n\n

15. Disclaimer of Warranty.

\n

\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\n APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE\n COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS\n IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,\n INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE\n RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.\n SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL\n NECESSARY SERVICING, REPAIR OR CORRECTION.\n

\n\n

16. Limitation of Liability.

\n

\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN\n WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES\n AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR\n DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL\n DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM\n (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED\n INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE\n OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH\n HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH\n DAMAGES.\n

\n\n

17. Interpretation of Sections 15 and 16.

\n

\n If the disclaimer of warranty and limitation of liability provided\n above cannot be given local legal effect according to their terms,\n reviewing courts shall apply local law that most closely\n approximates an absolute waiver of all civil liability in connection\n with the Program, unless a warranty or assumption of liability\n accompanies a copy of the Program in return for a fee.\n

\n\n

END OF TERMS AND CONDITIONS

\n\n

How to Apply These Terms to Your New Programs

\n

\n If you develop a new program, and you want it to be of the greatest\n possible use to the public, the best way to achieve this is to make\n it free software which everyone can redistribute and change under\n these terms.\n

\n\n

\n To do so, attach the following notices to the program. It is safest\n to attach them to the start of each source file to most effectively\n state the exclusion of warranty; and each file should have at least\n the "copyright" line and a pointer to where the full\n notice is found.\n

\n\n

\n \n <one line to give the program's name and a brief idea of what\n it does.> Copyright (C) <year> <name of author>\n This program is free software: you can redistribute it and/or\n modify it under the terms of the GNU Affero General Public License\n as published by the Free Software Foundation, either version 3 of\n the License, or (at your option) any later version. This program\n is distributed in the hope that it will be useful, but WITHOUT ANY\n WARRANTY; without even the implied warranty of MERCHANTABILITY or\n FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General\n Public License for more details. You should have received a copy\n of the GNU Affero General Public License along with this program.\n If not, see <https://www.gnu.org/licenses/>.\n \n

\n\n

\n Also add information on how to contact you by electronic and paper\n mail.\n

\n\n

\n If your software can interact with users remotely through a computer\n network, you should also make sure that it provides a way for users\n to get its source. For example, if your program is a web\n application, its interface could display a "Source" link\n that leads users to an archive of the code. There are many ways you\n could offer source, and different solutions will be better for\n different programs; see section 13 for the specific requirements.\n

\n\n

\n You should also get your employer (if you work as a programmer) or\n school, if any, to sign a "copyright disclaimer" for the\n program, if necessary. For more information on this, and how to\n apply and follow the GNU AGPL, see <\n \n https://www.gnu.org/licenses/\n \n >.\n

\n
\n
\n \n ) : null;\n};\n\nexport default withStyles(styles)(LicenseModal);\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 { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\nimport { containerForHeader } from \"../Common/FormComponents/common/styleLibrary\";\nimport {\n SubnetLoginRequest,\n SubnetLoginResponse,\n SubnetLoginWithMFARequest,\n SubnetOrganization,\n SubnetRegisterRequest,\n SubnetRegTokenResponse,\n} from \"./types\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport api from \"../../../common/api\";\nimport PersonOutlineOutlinedIcon from \"@mui/icons-material/PersonOutlineOutlined\";\nimport LockOutlinedIcon from \"@mui/icons-material/LockOutlined\";\n\nimport { formFieldStyles } from \"../Common/FormComponents/common/styleLibrary\";\nimport RadioGroupSelector from \"../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport Link from \"@mui/material/Link\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n subnetLicenseKey: {},\n subnetLoginForm: {},\n licenseKeyField: {},\n pageTitle: {\n marginBottom: 20,\n },\n registrationMode: {\n cursor: \"pointer\",\n },\n button: {\n textTransform: \"none\",\n fontSize: 15,\n fontWeight: 700,\n background:\n \"transparent linear-gradient(90deg, #073052 0%, #081c42 100%) 0% 0% no-repeat padding-box\",\n color: \"#fff\",\n },\n buttonSignup: {\n textTransform: \"none\",\n fontSize: 15,\n fontWeight: 700,\n marginLeft: 15,\n },\n ...formFieldStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IActivationModal {\n classes: any;\n open: boolean;\n closeModal: () => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst ActivationModal = ({\n classes,\n open,\n closeModal,\n setModalErrorSnackMessage,\n}: IActivationModal) => {\n const [license, setLicense] = useState(\"\");\n const [subnetPassword, setSubnetPassword] = useState(\"\");\n const [subnetEmail, setSubnetEmail] = useState(\"\");\n const [subnetMFAToken, setSubnetMFAToken] = useState(\"\");\n const [subnetOTP, setSubnetOTP] = useState(\"\");\n const [subnetAccessToken, setSubnetAccessToken] = useState(\"\");\n const [selectedSubnetOrganisation, setSelectedSubnetOrganisation] =\n useState(\"\");\n const [subnetRegToken, setSubnetRegToken] = useState(\"\");\n const [subnetOrganizations, setSubnetOrganizations] = useState<\n SubnetOrganization[]\n >([]);\n const [onlineActivation, setOnlineActivation] = useState(true);\n\n const [loading, setLoading] = useState(false);\n\n const clearForm = () => {\n setLicense(\"\");\n setSubnetPassword(\"\");\n setSubnetEmail(\"\");\n setSubnetMFAToken(\"\");\n setSubnetOTP(\"\");\n };\n\n const fetchSubnetRegToken = () => {\n if (loading || subnetRegToken) {\n return;\n }\n setLoading(true);\n api\n .invoke(\"GET\", \"/api/v1/subnet/registration-token\")\n .then((resp: SubnetRegTokenResponse) => {\n setLoading(false);\n if (resp && resp.regToken) {\n setSubnetRegToken(resp.regToken);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n const subnetRegister = () => {\n if (loading) {\n return;\n }\n setLoading(true);\n if (subnetAccessToken && selectedSubnetOrganisation) {\n const request: SubnetRegisterRequest = {\n token: subnetAccessToken,\n account_id: selectedSubnetOrganisation,\n };\n api\n .invoke(\"POST\", \"/api/v1/subnet/register\", request)\n .then(() => {\n setLoading(false);\n clearForm();\n closeModal();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n }\n };\n\n const subnetLoginWithMFA = () => {\n if (loading) {\n return;\n }\n setLoading(true);\n const request: SubnetLoginWithMFARequest = {\n username: subnetEmail,\n otp: subnetOTP,\n mfa_token: subnetMFAToken,\n };\n api\n .invoke(\"POST\", \"/api/v1/subnet/login/mfa\", request)\n .then((resp: SubnetLoginResponse) => {\n setLoading(false);\n if (resp && resp.access_token && resp.organizations.length > 0) {\n setSubnetAccessToken(resp.access_token);\n setSubnetOrganizations(resp.organizations);\n setSelectedSubnetOrganisation(\n resp.organizations[0].accountId.toString()\n );\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setSubnetOTP(\"\");\n setModalErrorSnackMessage(err);\n });\n };\n\n const subnetLogin = () => {\n if (loading) {\n return;\n }\n setLoading(true);\n let request: SubnetLoginRequest = {\n username: subnetEmail,\n password: subnetPassword,\n apiKey: license,\n };\n api\n .invoke(\"POST\", \"/api/v1/subnet/login\", request)\n .then((resp: SubnetLoginResponse) => {\n setLoading(false);\n if (resp && resp.registered) {\n clearForm();\n closeModal();\n } else if (resp && resp.mfa_token) {\n setSubnetMFAToken(resp.mfa_token);\n } else if (resp && resp.access_token && resp.organizations.length > 0) {\n setSubnetAccessToken(resp.access_token);\n setSubnetOrganizations(resp.organizations);\n setSelectedSubnetOrganisation(\n resp.organizations[0].accountId.toString()\n );\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n clearForm();\n setModalErrorSnackMessage(err);\n });\n };\n\n let clusterRegistrationForm: JSX.Element;\n if (subnetAccessToken && subnetOrganizations.length > 0) {\n clusterRegistrationForm = (\n \n \n \n Register MinIO cluster\n \n \n \n ) => {\n setSelectedSubnetOrganisation(e.target.value as string);\n }}\n selectorOptions={subnetOrganizations.map((organisation) => ({\n value: organisation.accountId.toString(),\n label: organisation.company,\n }))}\n />\n \n \n subnetRegister()}\n disabled={loading || subnetAccessToken.trim().length === 0}\n variant=\"contained\"\n >\n Register\n \n \n \n );\n } else if (subnetMFAToken) {\n clusterRegistrationForm = (\n \n \n \n Two-Factor Authentication\n \n \n Please enter the 6-digit verification code that was sent to your\n email address. This code will be valid for 5 minutes.\n \n \n \n }\n id=\"subnet-otp\"\n name=\"subnet-otp\"\n onChange={(event: React.ChangeEvent) => {\n setSubnetOTP(event.target.value);\n }}\n placeholder=\"\"\n label=\"\"\n type=\"text\"\n value={subnetOTP}\n />\n \n \n subnetLoginWithMFA()}\n disabled={\n loading ||\n subnetOTP.trim().length === 0 ||\n subnetMFAToken.trim().length === 0\n }\n variant=\"contained\"\n >\n Verify\n \n \n \n );\n } else {\n clusterRegistrationForm = (\n \n \n }\n id=\"subnet-email\"\n name=\"subnet-email\"\n onChange={(event: React.ChangeEvent) => {\n setSubnetEmail(event.target.value);\n }}\n placeholder=\"email\"\n label=\"\"\n type=\"text\"\n value={subnetEmail}\n />\n \n \n }\n id=\"subnet-password\"\n name=\"subnet-password\"\n onChange={(event: React.ChangeEvent) => {\n setSubnetPassword(event.target.value);\n }}\n placeholder=\"password\"\n label=\"\"\n type=\"password\"\n value={subnetPassword}\n />\n \n \n subnetLogin()}\n disabled={\n loading ||\n subnetEmail.trim().length === 0 ||\n subnetPassword.trim().length === 0\n }\n variant=\"contained\"\n >\n Login\n \n {\n e.preventDefault();\n window.open(\"https://min.io/pricing\", \"_blank\");\n }}\n variant=\"outlined\"\n >\n Sign Up\n \n \n \n {\n fetchSubnetRegToken();\n setOnlineActivation(false);\n }}\n >\n Offline Activation\n \n \n \n );\n }\n\n return open ? (\n {\n setLicense(\"\");\n setSubnetPassword(\"\");\n setSubnetEmail(\"\");\n closeModal();\n }}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n \n \n \n Activate SUBNET License\n \n \n {onlineActivation ? (\n \n {clusterRegistrationForm}\n \n ) : (\n \n \n Step 1: Copy the following registration token\n \n \n {}}\n id=\"registration-token\"\n name=\"registration-token\"\n placeholder=\"\"\n label=\"\"\n type=\"text\"\n value={subnetRegToken}\n disabled\n />\n \n \n navigator.clipboard.writeText(subnetRegToken)}\n >\n Copy\n \n \n \n Step 2: Use the previous token to register your cluster at:{\" \"}\n \n https://subnet.min.io/cluster/register\n \n \n \n Step 3: Enter the API key generated by SUBNET\n \n \n ) =>\n setLicense(event.target.value)\n }\n id=\"api-key\"\n name=\"api-key\"\n placeholder=\"\"\n label=\"\"\n type=\"text\"\n />\n \n \n subnetLogin()}\n disabled={loading || license.trim().length === 0}\n >\n Activate\n \n \n \n setOnlineActivation(true)}\n >\n Online Activation\n \n \n \n )}\n \n {loading && (\n \n \n \n )}\n \n ) : null;\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(ActivationModal));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport interface IPlanDetails {\n id: number;\n title: string;\n price: string;\n capacityMax: string;\n capacityMin?: string;\n}\n\nexport const planDetails: IPlanDetails[] = [\n {\n id: 0,\n title: \"Community\",\n price: \"Open Source\",\n capacityMax: \"\",\n },\n {\n id: 1,\n title: \"Standard\",\n price: \"$10 per TB\",\n capacityMax: \"(Minimum of 100TB)\",\n capacityMin: \"\",\n },\n {\n id: 2,\n title: \"Enterprise\",\n price: \"$20 per TB\",\n capacityMax: \"(Minimum of 100TB)\",\n capacityMin: \"\",\n },\n];\n\nexport interface IPlanItemValue {\n label: string;\n detail?: string;\n link?: boolean;\n}\n\nexport interface IPlanItemValues {\n [index: string]: IPlanItemValue;\n}\nexport interface IPlanItem {\n id: number;\n field: string;\n plans: IPlanItemValues;\n}\n\nexport const planItems: IPlanItem[] = [\n {\n id: 0,\n field: \"License\",\n plans: {\n Community: {\n label: \"GNU AGPL v3\",\n detail: \"\",\n link: true,\n },\n Standard: {\n label: \"Commercial License\",\n },\n Enterprise: {\n label: \"Commercial License\",\n },\n },\n },\n {\n id: 1,\n field: \"Software Release\",\n plans: {\n Community: {\n label: \"Upstream\",\n },\n Standard: {\n label: \"1 Year Long Term Support\",\n },\n Enterprise: {\n label: \"5 Years Long Term Support\",\n },\n },\n },\n {\n id: 2,\n field: \"SLA\",\n plans: {\n Community: {\n label: \"No SLA\",\n },\n Standard: {\n label: \"<48 Hours (Local Business Hours)\",\n },\n Enterprise: {\n label: \"<1 hour\",\n },\n },\n },\n {\n id: 3,\n field: \"Support\",\n plans: {\n Community: {\n label: \"Community:\",\n detail: \"Public Slack Channel + Github Issues\",\n },\n Standard: {\n label: \"L4 Direct Engineering\",\n detail: \" support via SUBNET\",\n },\n Enterprise: {\n label: \"L4 Direct Engineering\",\n detail: \"support via SUBNET\",\n },\n },\n },\n {\n id: 4,\n field: \"Security Updates & Critical Bugs\",\n plans: {\n Community: {\n label: \"Self Update\",\n },\n Standard: {\n label: \"Continuous Scan and Alert\",\n },\n Enterprise: {\n label: \"Continuous Scan and Alert\",\n },\n },\n },\n {\n id: 5,\n field: \"Panic Button\",\n plans: {\n Community: {\n label: \"N/A\",\n },\n Standard: {\n label: \"1 per year\",\n },\n Enterprise: {\n label: \"Unlimited\",\n },\n },\n },\n {\n id: 6,\n field: \"Health Diagnostics\",\n plans: {\n Community: {\n label: \"N/A\",\n },\n Standard: {\n label: \"24/7/365\",\n },\n Enterprise: {\n label: \"24/7/365\",\n },\n },\n },\n {\n id: 6,\n field: \"Annual Architecture Review\",\n plans: {\n Community: {\n label: \"N/A\",\n },\n Standard: {\n label: \"N/A\",\n },\n Enterprise: {\n label: \"Yes\",\n },\n },\n },\n {\n id: 7,\n field: \"Annual Performance Review\",\n plans: {\n Community: {\n label: \"N/A\",\n },\n Standard: {\n label: \"N/A\",\n },\n Enterprise: {\n label: \"Yes\",\n },\n },\n },\n {\n id: 8,\n field: \"Indemnification\",\n plans: {\n Community: {\n label: \"N/A\",\n },\n Standard: {\n label: \"N/A\",\n },\n Enterprise: {\n label: \"Yes\",\n },\n },\n },\n {\n id: 9,\n field: \"Security + Policy Review\",\n plans: {\n Community: {\n label: \"N/A\",\n },\n Standard: {\n label: \"N/A\",\n },\n Enterprise: {\n label: \"Yes\",\n },\n },\n },\n];\n\nexport interface IPlanButton {\n id: number;\n text: string;\n text2: string;\n link: string;\n plan: string;\n}\nexport const planButtons: IPlanButton[] = [\n {\n id: 0,\n text: \"Join Slack\",\n text2: \"\",\n link: \"https://slack.min.io\",\n plan: \"Community\",\n },\n {\n id: 1,\n text: \"Subscribe\",\n text2: \"Sign up\",\n link: \"https://min.io/signup\",\n plan: \"Standard\",\n },\n {\n id: 2,\n text: \"Subscribe\",\n text2: \"Sign up\",\n link: \"https://min.io/signup\",\n plan: \"Enterprise\",\n },\n];\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 Grid from \"@mui/material/Grid\";\nimport clsx from \"clsx\";\nimport ActivationModal from \"./ActivationModal\";\nimport { planButtons, planDetails, planItems } from \"./utils\";\nimport CheckCircleIcon from \"@mui/icons-material/CheckCircle\";\nimport Button from \"@mui/material/Button\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { SubnetInfo } from \"./types\";\nimport withStyles from \"@mui/styles/withStyles\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n planItemsPadding: {\n border: \"1px solid #EAEDEE\",\n borderTop: 0,\n maxWidth: 1180,\n },\n planItemsBorder: {\n height: 7,\n backgroundColor: \"#07193E\",\n },\n\n link: {\n textDecoration: \"underline !important\",\n color: theme.palette.info.main,\n },\n linkButton: {\n fontFamily: '\"Lato\", sans-serif',\n fontWeight: \"normal\",\n textTransform: \"none\",\n fontSize: \"inherit\",\n height: 0,\n padding: 0,\n margin: 0,\n },\n tableContainer: {\n marginLeft: 28,\n },\n detailsContainerBorder: {\n borderLeft: \"1px solid #e2e2e2\",\n },\n detailsTitle: {\n fontSize: 19,\n fontWeight: 700,\n marginBottom: 26,\n paddingTop: 18,\n lineHeight: 1,\n },\n currPlan: {\n color: \"white\",\n backgroundColor: \"#2781B0\",\n },\n planHeader: {\n padding: 8,\n },\n detailsPrice: {\n fontSize: 13,\n fontWeight: 700,\n },\n detailsCapacityMax: {\n minHeight: 28,\n fontSize: 10,\n },\n itemContainer: {\n height: 36,\n \"& .item:last-child\": {\n borderRight: \"1px solid #e5e5e5\",\n },\n },\n itemContainerDetail: {\n height: 48,\n },\n item: {\n height: \"100%\",\n borderLeft: \"1px solid #e5e5e5\",\n textAlign: \"center\",\n fontSize: 10,\n fontWeight: 700,\n display: \"flex\",\n alignItems: \"center\",\n alignContent: \"center\",\n borderTop: \"1px solid #e5e5e5\",\n },\n\n itemFirst: {\n borderLeft: 0,\n borderRight: 0,\n },\n field: {\n textAlign: \"left\",\n fontWeight: 400,\n fontSize: 12,\n },\n checkIcon: {\n fontSize: 15,\n color: \"#385973\",\n },\n buttonContainer: {\n paddingTop: 8,\n paddingBottom: 24,\n height: \"100%\",\n display: \"flex\",\n justifyContent: \"center\",\n borderLeft: \"1px solid #e2e2e2\",\n },\n buttonContainerBlank: {\n border: 0,\n },\n buttonContainerHighlighted: {\n borderTop: 0,\n },\n button: {\n textTransform: \"none\",\n fontSize: 15,\n fontWeight: 700,\n },\n activateLink: {\n color: \"#1C5A8D\",\n fontWeight: \"bold\",\n clear: \"both\",\n background: \"none\",\n border: \"none\",\n textDecoration: \"underline\",\n cursor: \"pointer\",\n },\n currentPlanBG: {\n background: \"#022A4A 0% 0% no-repeat padding-box\",\n color: \"#FFFFFF\",\n borderTop: \"1px solid #52687d\",\n },\n });\n\ninterface IRegisterStatus {\n classes: any;\n activateProductModal: any;\n closeModalAndFetchLicenseInfo: any;\n licenseInfo: SubnetInfo | undefined;\n setLicenseModal: React.Dispatch>;\n operatorMode: boolean;\n currentPlanID: number;\n setActivateProductModal: any;\n}\n\nconst LicensePlans = ({\n classes,\n activateProductModal,\n closeModalAndFetchLicenseInfo,\n licenseInfo,\n setLicenseModal,\n operatorMode,\n currentPlanID,\n setActivateProductModal,\n}: IRegisterStatus) => {\n const planDetailsFiltered = planDetails.filter((item) => {\n if (licenseInfo) {\n if (item.title === \"Community\") {\n return false;\n }\n }\n return true;\n });\n\n const planButtonsFiltered = planButtons.filter((item) => {\n if (licenseInfo) {\n if (item.plan === \"Community\") {\n return false;\n }\n }\n return true;\n });\n\n const gridColWidth = licenseInfo ? 4 : 3;\n\n return (\n \n \n
\n \n \n \n closeModalAndFetchLicenseInfo()}\n />\n \n \n \n {planDetailsFiltered.map((details: any) => {\n let currentPlan =\n (!licenseInfo && details.title === \"Community\") ||\n (licenseInfo &&\n licenseInfo.plan.toLowerCase() ===\n details.title.toLowerCase());\n return (\n \n \n \n {details.title}\n {currentPlan && (\n \n
CURRENT PLAN
\n
\n )}\n
\n \n {details.price}\n \n \n {details.capacityMax || \"\"}\n \n
\n );\n })}\n
\n {planItems.map((item: any) => {\n return (\n \n \n {item.field}\n
\n {planDetailsFiltered.map((pd) => {\n return (\n \n \n \n {item.plans[pd.title].label === \"N/A\" ? (\n \"\"\n ) : item.plans[pd.title].label === \"Yes\" ? (\n \n ) : (\n \n {item.plans[pd.title].link ? (\n setLicenseModal(true)}\n >\n {item.plans[pd.title].label}\n \n ) : (\n item.plans[pd.title].label\n )}\n \n )}\n \n {item.plans[pd.title].detail !== undefined && (\n \n {item.plans[pd.title].detail}\n \n )}\n
\n \n );\n })}\n
\n );\n })}\n \n \n {planButtonsFiltered.map((button: any, index: any) => {\n return (\n \n \n {\n e.preventDefault();\n window.open(\n `${button.link}?ref=${operatorMode ? \"op\" : \"con\"}`,\n \"_blank\"\n );\n }}\n >\n {currentPlanID !== index && index > 0\n ? button.text2\n : button.text}\n \n \n \n );\n })}\n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(LicensePlans);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { CircularProgress, LinearProgress } from \"@mui/material\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport Moment from \"react-moment\";\nimport Typography from \"@mui/material/Typography\";\nimport { SubnetInfo } from \"./types\";\nimport { AppState } from \"../../../store\";\nimport { niceBytes } from \"../../../common/utils\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { containerForHeader } from \"../Common/FormComponents/common/styleLibrary\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport LicenseModal from \"./LicenseModal\";\nimport api from \"../../../common/api\";\nimport { LicenseIcon } from \"../../../icons\";\nimport { hasPermission } from \"../../../common/SecureComponent/SecureComponent\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_PAGES_PERMISSIONS,\n} from \"../../../common/SecureComponent/permissions\";\nimport RegisterStatus from \"../Support/RegisterStatus\";\nimport LicensePlans from \"./LicensePlans\";\nimport { Link } from \"react-router-dom\";\n\nconst mapState = (state: AppState) => ({\n operatorMode: state.system.operatorMode,\n});\n\nconst connector = connect(mapState, null);\n\nconst styles = (theme: Theme) =>\n createStyles({\n pageTitle: {\n backgroundColor: \"rgb(250,250,252)\",\n marginTop: 40,\n border: \"1px solid #EAEDEE\",\n padding: 25,\n fontSize: 16,\n fontWeight: \"bold\",\n \"& ul\": {\n listStyleType: \"square\",\n \"& li\": {\n float: \"left\",\n fontSize: 14,\n marginRight: 40,\n },\n \"& li::before\": {\n color: \"red\",\n content: \"•\",\n },\n },\n },\n licDet: {\n fontSize: 11,\n color: \"#5E5E5E\",\n },\n linkMore: {\n marginTop: 10,\n marginBottom: 20,\n },\n chooseFlavorText: {\n color: \"#000000\",\n fontSize: 14,\n },\n licenseContainer: {\n display: \"flex\",\n flexWrap: \"wrap\",\n flexDirection: \"row\",\n padding: \"30px 30px 0px 30px\",\n border: \"1px solid #EAEDEE\",\n \"& h2\": {\n // color: \"#FFF\",\n flexDirection: \"row\",\n },\n \"& a\": {\n textDecoration: \"none\",\n flexDirection: \"row\",\n },\n \"& h3\": {\n // color: \"#FFFFFF\",\n marginBottom: \"30px\",\n fontWeight: \"bold\",\n },\n \"& h6\": {\n // color: \"#FFFFFF !important\",\n },\n },\n link: {\n textDecoration: \"underline !important\",\n color: theme.palette.info.main,\n },\n linkButton: {\n fontFamily: '\"Lato\", sans-serif',\n fontWeight: \"normal\",\n textTransform: \"none\",\n fontSize: \"inherit\",\n height: 0,\n padding: 0,\n margin: 0,\n },\n\n button: {\n textTransform: \"none\",\n fontSize: 15,\n fontWeight: 700,\n },\n openSourcePolicy: {\n fontSize: 14,\n color: \"#1C5A8D\",\n fontWeight: \"bold\",\n },\n subnetRefreshLicenseLink: {\n color: \"#1C5A8D\",\n fontWeight: \"bold\",\n clear: \"both\",\n background: \"none\",\n border: \"none\",\n textDecoration: \"underline\",\n cursor: \"pointer\",\n fontSize: 13,\n },\n licenseInfo: {\n position: \"relative\",\n },\n licenseInfoTitle: {\n textTransform: \"none\",\n color: \"#999999\",\n fontSize: 11,\n },\n licenseInfoValue: {\n textTransform: \"none\",\n fontSize: 14,\n fontWeight: \"bold\",\n },\n subnetSubTitle: {\n fontSize: 14,\n },\n verifiedIcon: {\n width: 96,\n position: \"absolute\",\n right: 0,\n bottom: 29,\n },\n loadingLoginStrategy: {\n textAlign: \"center\",\n },\n ...containerForHeader(theme.spacing(4)),\n mainContainer: {\n border: \"1px solid #EAEDEE\",\n padding: 40,\n margin: 40,\n },\n icon: {\n color: theme.palette.primary.main,\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 20,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n marginRight: 15,\n },\n },\n });\n\ninterface ILicenseProps {\n classes: any;\n operatorMode: boolean;\n}\n\nconst License = ({ classes, operatorMode }: ILicenseProps) => {\n const [activateProductModal, setActivateProductModal] =\n useState(false);\n\n const [licenseModal, setLicenseModal] = useState(false);\n\n const [licenseInfo, setLicenseInfo] = useState();\n const [currentPlanID, setCurrentPlanID] = useState(0);\n const [loadingLicenseInfo, setLoadingLicenseInfo] = useState(false);\n const [initialLicenseLoading, setInitialLicenseLoading] =\n useState(true);\n const [loadingRefreshLicense, setLoadingRefreshLicense] =\n useState(false);\n const [clusterRegistered, setClusterRegistered] = useState(false);\n\n const getSubnetInfo = hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.LICENSE],\n true\n );\n\n const closeModalAndFetchLicenseInfo = () => {\n setActivateProductModal(false);\n fetchLicenseInfo();\n };\n\n const fetchLicenseInfo = useCallback(() => {\n if (loadingLicenseInfo) {\n return;\n }\n if (getSubnetInfo) {\n setLoadingLicenseInfo(true);\n api\n .invoke(\"GET\", `/api/v1/subnet/info`)\n .then((res: SubnetInfo) => {\n if (res) {\n if (res.plan === \"STANDARD\") {\n setCurrentPlanID(1);\n } else if (res.plan === \"ENTERPRISE\") {\n setCurrentPlanID(2);\n } else {\n setCurrentPlanID(1);\n }\n setLicenseInfo(res);\n }\n setClusterRegistered(true);\n setLoadingLicenseInfo(false);\n })\n .catch(() => {\n setClusterRegistered(false);\n setLoadingLicenseInfo(false);\n });\n } else {\n setLoadingLicenseInfo(false);\n }\n }, [loadingLicenseInfo, getSubnetInfo]);\n\n const refreshLicense = () => {\n setLoadingRefreshLicense(true);\n api\n .invoke(\"POST\", `/api/v1/subscription/refresh`, {})\n .then((res: SubnetInfo) => {\n if (res) {\n if (res.plan === \"STANDARD\") {\n setCurrentPlanID(1);\n } else if (res.plan === \"ENTERPRISE\") {\n setCurrentPlanID(2);\n } else {\n setCurrentPlanID(1);\n }\n setLicenseInfo(res);\n }\n setLoadingRefreshLicense(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingRefreshLicense(false);\n });\n };\n\n useEffect(() => {\n if (initialLicenseLoading) {\n fetchLicenseInfo();\n setInitialLicenseLoading(false);\n }\n }, [fetchLicenseInfo, initialLicenseLoading, setInitialLicenseLoading]);\n\n if (loadingLicenseInfo) {\n return (\n \n \n \n );\n }\n\n return (\n \n \n \n\n
\n \n {licenseInfo && }\n {!clusterRegistered && (\n \n \n \n GNU Affero General Public License\n \n \n \n \n {licenseInfo ? (\n \n \n \n \n License\n \n \n Commercial License\n \n \n Organization\n \n \n {licenseInfo.organization}\n \n \n Registered Capacity\n \n \n {niceBytes(\n (licenseInfo.storage_capacity * 1099511627776) // 1 Terabyte = 1099511627776 Bytes\n .toString(10),\n false\n )}\n \n \n \n \n Subscription Plan\n \n \n {licenseInfo.plan}\n \n \n Requestor\n \n \n {licenseInfo.email}\n \n \n Expiry Date\n \n \n \n {licenseInfo.expires_at\n .split(\" \")\n .slice(0, 1)\n .join(\" \")}\n \n \n \n \n \n \n ) : (\n \n setLicenseModal(false)}\n />\n \n \n {\" \"}\n \n \n Version 3. 19 November 2007{\" \"}\n \n \n\n \n \n The GNU Affero General Public License is a free,\n copyleft license for software and other kinds of\n works, specifically designed to ensure cooperation\n with the Community in the case of network server\n software.\n \n
\n \n The licenses for most software and other practical\n works are designed to take away your freedom to\n share and change the works. By contrast, our\n General Public Licenses are intended to guarantee\n your freedom to share and change all versions of a\n program--to make sure it remains free software for\n all its users.\n \n
\n setLicenseModal(true)}\n >\n Read more\n \n
\n
\n
\n )}\n
\n \n {licenseInfo ? (\n
\n \n Login to MinIO SUBNET !\n \n \n It combines a commercial license with a support\n experience unlike any other.\n \n
\n \n Login to SUBNET\n \n {operatorMode && (\n \n {\" \"}\n
\n
\n {\n e.preventDefault();\n refreshLicense();\n }}\n >\n Refresh License\n \n {loadingRefreshLicense && (\n \n )}\n
\n )}\n
\n ) : (\n
\n \n Choosing between GNU AGPL v3 and Commercial License\n \n
\n \n If you are building proprietary applications, you\n may want to choose the commercial license included\n as part of the Standard and Enterprise subscription\n plans. Applications must otherwise comply with all\n the GNU AGPLv3 License & Trademark obligations.\n Follow the links below to learn more about the\n compliance policy.\n \n
    \n
  • \n \n Learn more about GNU AGPL v3\n \n
  • \n
  • \n \n MinIO Trademark Compliance\n \n
  • \n
\n
\n
\n )}\n \n \n \n \n
\n
\n \n \n Are you already a customer? Register Here →\n \n \n \n
\n
\n \n )}\n\n \n \n
\n
\n \n );\n};\n\nexport default connector(withStyles(styles)(License));\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 { Grid } from \"@mui/material\";\nimport VerifiedIcon from \"../../../icons/VerifiedIcon\";\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n registeredStatus: {\n border: \"1px solid #E2E2E2\",\n padding: \"24px 24px 24px 24px\",\n borderRadius: 2,\n marginBottom: 25,\n backgroundColor: \"#FBFAFA\",\n \"& .min-icon\": {\n width: 20,\n height: 20,\n marginLeft: 48,\n marginRight: 13,\n verticalAlign: \"middle\",\n marginTop: -3,\n },\n \"& span\": {\n fontWeight: \"bold\",\n },\n },\n });\n\ninterface IRegisterStatus {\n classes: any;\n}\n\nfunction RegisterStatus({ classes }: IRegisterStatus) {\n return (\n \n \n Registration Status:\n \n Registered\n \n \n );\n}\n\nexport default withStyles(styles)(RegisterStatus);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckCircle');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM9 6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9V6zm9 14H6V10h12v10zm-6-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z\"\n}), 'LockOutlined');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 5.9c1.16 0 2.1.94 2.1 2.1s-.94 2.1-2.1 2.1S9.9 9.16 9.9 8s.94-2.1 2.1-2.1m0 9c2.97 0 6.1 1.46 6.1 2.1v1.1H5.9V17c0-.64 3.13-2.1 6.1-2.1M12 4C9.79 4 8 5.79 8 8s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 9c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4z\"\n}), 'PersonOutlineOutlined');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLinkUtilityClass(slot) {\n return generateUtilityClass('MuiLink', slot);\n}\nconst linkClasses = generateUtilityClasses('MuiLink', ['root', 'underlineNone', 'underlineHover', 'underlineAlways', 'button', 'focusVisible']);\nexport default linkClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"component\", \"onBlur\", \"onFocus\", \"TypographyClasses\", \"underline\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { elementTypeAcceptingRef } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha, getPath } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport useIsFocusVisible from '../utils/useIsFocusVisible';\nimport useForkRef from '../utils/useForkRef';\nimport Typography from '../Typography';\nimport linkClasses, { getLinkUtilityClass } from './linkClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst colorTransformations = {\n primary: 'primary.main',\n textPrimary: 'text.primary',\n secondary: 'secondary.main',\n textSecondary: 'text.secondary',\n error: 'error.main'\n};\n\nconst transformDeprecatedColors = color => {\n return colorTransformations[color] || color;\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n component,\n focusVisible,\n underline\n } = ownerState;\n const slots = {\n root: ['root', `underline${capitalize(underline)}`, component === 'button' && 'button', focusVisible && 'focusVisible']\n };\n return composeClasses(slots, getLinkUtilityClass, classes);\n};\n\nconst LinkRoot = styled(Typography, {\n name: 'MuiLink',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`underline${capitalize(ownerState.underline)}`], ownerState.component === 'button' && styles.button];\n }\n})(({\n theme,\n ownerState\n}) => {\n const color = getPath(theme, `palette.${transformDeprecatedColors(ownerState.color)}`) || ownerState.color;\n return _extends({}, ownerState.underline === 'none' && {\n textDecoration: 'none'\n }, ownerState.underline === 'hover' && {\n textDecoration: 'none',\n '&:hover': {\n textDecoration: 'underline'\n }\n }, ownerState.underline === 'always' && {\n textDecoration: 'underline',\n textDecorationColor: color !== 'inherit' ? alpha(color, 0.4) : undefined,\n '&:hover': {\n textDecorationColor: 'inherit'\n }\n }, ownerState.component === 'button' && {\n position: 'relative',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n MozAppearance: 'none',\n // Reset\n WebkitAppearance: 'none',\n // Reset\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n\n },\n [`&.${linkClasses.focusVisible}`]: {\n outline: 'auto'\n }\n });\n});\nconst Link = /*#__PURE__*/React.forwardRef(function Link(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLink'\n });\n\n const {\n className,\n color = 'primary',\n component = 'a',\n onBlur,\n onFocus,\n TypographyClasses,\n underline = 'always',\n variant = 'inherit'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const {\n isFocusVisibleRef,\n onBlur: handleBlurVisible,\n onFocus: handleFocusVisible,\n ref: focusVisibleRef\n } = useIsFocusVisible();\n const [focusVisible, setFocusVisible] = React.useState(false);\n const handlerRef = useForkRef(ref, focusVisibleRef);\n\n const handleBlur = event => {\n handleBlurVisible(event);\n\n if (isFocusVisibleRef.current === false) {\n setFocusVisible(false);\n }\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const handleFocus = event => {\n handleFocusVisible(event);\n\n if (isFocusVisibleRef.current === true) {\n setFocusVisible(true);\n }\n\n if (onFocus) {\n onFocus(event);\n }\n };\n\n const ownerState = _extends({}, props, {\n color,\n component,\n focusVisible,\n underline,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LinkRoot, _extends({\n className: clsx(classes.root, className),\n classes: TypographyClasses,\n color: color,\n component: component,\n onBlur: handleBlur,\n onFocus: handleFocus,\n ref: handlerRef,\n ownerState: ownerState,\n variant: variant\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Link.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 * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the link.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .any,\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: elementTypeAcceptingRef,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * `classes` prop applied to the [`Typography`](/api/typography/) element.\n */\n TypographyClasses: PropTypes.object,\n\n /**\n * Controls when the link should have an underline.\n * @default 'always'\n */\n underline: PropTypes.oneOf(['always', 'hover', 'none']),\n\n /**\n * Applies the theme typography styles.\n * @default 'inherit'\n */\n variant: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['body1', 'body2', 'button', 'caption', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'inherit', 'overline', 'subtitle1', 'subtitle2']), PropTypes.string])\n} : void 0;\nexport default Link;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"checked\", \"checkedIcon\", \"className\", \"defaultChecked\", \"disabled\", \"disableFocusRipple\", \"edge\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport ButtonBase from '../ButtonBase';\nimport { getSwitchBaseUtilityClass } from './switchBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\n\nconst SwitchBaseRoot = styled(ButtonBase)(({\n ownerState\n}) => _extends({\n padding: 9,\n borderRadius: '50%'\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}));\nconst SwitchBaseInput = styled('input')({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n/**\n * @ignore - internal component.\n */\n\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n className,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required,\n tabIndex,\n type,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n\n let disabled = disabledProp;\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n\n const ownerState = _extends({}, props, {\n checked,\n disabled,\n disableFocusRipple,\n edge\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SwitchBaseRoot, _extends({\n component: \"span\",\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SwitchBaseInput, _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor && id,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n ownerState: ownerState,\n tabIndex: tabIndex,\n type: type\n }, type === 'checkbox' && value === undefined ? {} : {\n value\n }, inputProps)), checked ? checkedIcon : icon]\n }));\n}); // NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\n\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /*\n * @ignore\n */\n name: PropTypes.string,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;"],"names":["inputStyles","makeStyles","theme","createStyles","inputFieldStyles","InputField","props","classes","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","label","onChange","value","id","name","type","autoComplete","disabled","multiline","tooltip","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","className","inputProps","container","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","fullWidth","helperText","inputRebase","onClick","size","disableFocusRipple","disableRipple","disableTouchRipple","radioStyles","root","backgroundColor","radioIcons","RadioButton","color","checkedIcon","radioSelectedIcon","icon","radioUnselectedIcon","optionLabel","marginRight","fontSize","checkedOption","selectorOptions","currentSelection","disableOptions","displayInColumn","alignItems","item","xs","radioOptionsLayout","row","style","display","textAlign","map","selectorOption","control","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","connect","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","marginTop","width","border","borderLeftWidth","borderRadius","zIndex","padding","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","cursor","errorTitle","errorLabel","marginLeft","messageIcon","height","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","useState","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","get","messageDetails","Fragment","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","connector","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","length","Dialog","open","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","toggleList","sidebarOpen","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","boxShadow","justifyContent","labelStyle","rightMenu","logo","fill","palette","primary","main","middleComponent","actions","direction","sm","md","sx","paddingTop","variant","component","pageTitle","marginBottom","pageSubTitle","containerForHeader","spacing","closeModal","ModalWrapper","Grid","Typography","subnetLicenseKey","target","href","rel","subnetLoginForm","licenseKeyField","registrationMode","button","textTransform","background","buttonSignup","formFieldStyles","clusterRegistrationForm","license","setLicense","subnetPassword","setSubnetPassword","subnetEmail","setSubnetEmail","subnetMFAToken","setSubnetMFAToken","subnetOTP","setSubnetOTP","subnetAccessToken","setSubnetAccessToken","selectedSubnetOrganisation","setSelectedSubnetOrganisation","subnetRegToken","setSubnetRegToken","subnetOrganizations","setSubnetOrganizations","onlineActivation","setOnlineActivation","loading","setLoading","clearForm","subnetLogin","request","username","password","apiKey","api","then","resp","registered","mfa_token","access_token","organizations","accountId","toString","catch","err","gutterBottom","formFieldRow","RadioGroupSelector","e","organisation","company","Button","token","account_id","subnetRegister","trim","InputBoxWrapper","LockOutlined","otp","subnetLoginWithMFA","PersonOutlineOutlined","preventDefault","window","Link","regToken","navigator","clipboard","writeText","LinearProgress","planDetails","price","capacityMax","capacityMin","planItems","field","plans","Community","detail","link","Standard","Enterprise","planButtons","text","text2","plan","planItemsPadding","borderTop","planItemsBorder","textDecoration","info","linkButton","fontFamily","margin","tableContainer","detailsContainerBorder","borderLeft","detailsTitle","currPlan","planHeader","detailsPrice","detailsCapacityMax","itemContainer","borderRight","itemContainerDetail","alignContent","itemFirst","checkIcon","buttonContainer","buttonContainerBlank","buttonContainerHighlighted","activateLink","clear","currentPlanBG","activateProductModal","closeModalAndFetchLicenseInfo","licenseInfo","setLicenseModal","currentPlanID","planDetailsFiltered","setActivateProductModal","filter","planButtonsFiltered","gridColWidth","details","currentPlan","toLowerCase","communityDetail","pd","CheckCircle","undefined","listStyleType","float","licDet","linkMore","chooseFlavorText","licenseContainer","flexWrap","flexDirection","openSourcePolicy","subnetRefreshLicenseLink","licenseInfoTitle","licenseInfoValue","subnetSubTitle","verifiedIcon","bottom","loadingLoginStrategy","mainContainer","licenseModal","setLicenseInfo","setCurrentPlanID","loadingLicenseInfo","setLoadingLicenseInfo","initialLicenseLoading","setInitialLicenseLoading","loadingRefreshLicense","setLoadingRefreshLicense","clusterRegistered","setClusterRegistered","getSubnetInfo","hasPermission","CONSOLE_UI_RESOURCE","IAM_PAGES_PERMISSIONS","IAM_PAGES","fetchLicenseInfo","res","PageHeader","RegisterStatus","lg","organization","niceBytes","storage_capacity","email","format","expires_at","split","slice","join","src","alt","CircularProgress","to","registeredStatus","verticalAlign","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getLinkUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","colorTransformations","textPrimary","secondary","textSecondary","LinkRoot","styled","overridesResolver","styles","ownerState","capitalize","underline","getPath","transformDeprecatedColors","_extends","textDecorationColor","alpha","WebkitTapHighlightColor","outline","userSelect","MozAppearance","WebkitAppearance","borderStyle","linkClasses","React","inProps","ref","useThemeProps","onBlur","onFocus","TypographyClasses","other","_objectWithoutPropertiesLoose","useIsFocusVisible","isFocusVisibleRef","handleBlurVisible","handleFocusVisible","focusVisibleRef","focusVisible","setFocusVisible","handlerRef","useForkRef","slots","composeClasses","useUtilityClasses","_jsx","current","getSwitchBaseUtilityClass","SwitchBaseRoot","ButtonBase","edge","SwitchBaseInput","checkedProp","checked","defaultChecked","disabledProp","inputRef","readOnly","tabIndex","useControlled","controlled","Boolean","setCheckedState","muiFormControl","useFormControl","hasLabelFor","input","_jsxs","centerRipple","focusRipple","role","nativeEvent","defaultPrevented","newChecked"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/3474.fe892013.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/License/LicenseModal.tsx","screens/Console/License/ActivationModal.tsx","screens/Console/License/utils.ts","screens/Console/License/LicensePlans.tsx","screens/Console/License/License.tsx","screens/Console/Support/RegisterStatus.tsx","../node_modules/@mui/icons-material/CheckCircle.js","../node_modules/@mui/icons-material/LockOutlined.js","../node_modules/@mui/icons-material/PersonOutlineOutlined.js","../node_modules/@mui/material/Link/linkClasses.js","../node_modules/@mui/material/Link/Link.js","../node_modules/@mui/material/internal/switchBaseClasses.js","../node_modules/@mui/material/internal/SwitchBase.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n
\n )}\n
\n
\n \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\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\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\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 ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \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 { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { containerForHeader } from \"../Common/FormComponents/common/styleLibrary\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport Typography from \"@mui/material/Typography\";\nimport React from \"react\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n pageTitle: {\n fontSize: 18,\n marginBottom: 20,\n textAlign: \"center\",\n },\n pageSubTitle: {\n textAlign: \"center\",\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface ILicenseModalProps {\n classes: any;\n open: boolean;\n closeModal: () => void;\n}\n\nconst LicenseModal = ({ classes, open, closeModal }: ILicenseModalProps) => {\n return open ? (\n {\n closeModal();\n }}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n {\" \"}\n \n \n \n GNU AFFERO GENERAL PUBLIC LICENSE\n \n

Version 3, 19 November 2007

\n
\n \n

\n Copyright © 2007 Free Software Foundation, Inc. <\n \n https://fsf.org/\n \n >\n

\n

\n {\" \"}\n Everyone is permitted to copy and distribute verbatim copies of this\n license document, but changing it is not allowed.\n

\n

Preamble

\n

\n The GNU Affero General Public License is a free, copyleft license\n for software and other kinds of works, specifically designed to\n ensure cooperation with the community in the case of network server\n software.\n

\n\n

\n The licenses for most software and other practical works are\n designed to take away your freedom to share and change the works. By\n contrast, our General Public Licenses are intended to guarantee your\n freedom to share and change all versions of a program--to make sure\n it remains free software for all its users.\n

\n\n

\n When we speak of free software, we are referring to freedom, not\n price. Our General Public Licenses are designed to make sure that\n you have the freedom to distribute copies of free software (and\n charge for them if you wish), that you receive source code or can\n get it if you want it, that you can change the software or use\n pieces of it in new free programs, and that you know you can do\n these things.\n

\n\n

\n Developers that use our General Public Licenses protect your rights\n with two steps: (1) assert copyright on the software, and (2) offer\n you this License which gives you legal permission to copy,\n distribute and/or modify the software.\n

\n\n

\n A secondary benefit of defending all users' freedom is that\n improvements made in alternate versions of the program, if they\n receive widespread use, become available for other developers to\n incorporate. Many developers of free software are heartened and\n encouraged by the resulting cooperation. However, in the case of\n software used on network servers, this result may fail to come\n about. The GNU General Public License permits making a modified\n version and letting the public access it on a server without ever\n releasing its source code to the public.\n

\n\n

\n The GNU Affero General Public License is designed specifically to\n ensure that, in such cases, the modified source code becomes\n available to the community. It requires the operator of a network\n server to provide the source code of the modified version running\n there to the users of that server. Therefore, public use of a\n modified version, on a publicly accessible server, gives the public\n access to the source code of the modified version.\n

\n\n

\n An older license, called the Affero General Public License and\n published by Affero, was designed to accomplish similar goals. This\n is a different license, not a version of the Affero GPL, but Affero\n has released a new version of the Affero GPL which permits\n relicensing under this license.\n

\n\n

\n The precise terms and conditions for copying, distribution and\n modification follow.\n

\n\n

TERMS AND CONDITIONS

\n

0. Definitions.

\n

\n "This License" refers to version 3 of the GNU Affero\n General Public License.\n

\n\n

\n "Copyright" also means copyright-like laws that apply to\n other kinds of works, such as semiconductor masks.\n

\n\n

\n "The Program" refers to any copyrightable work licensed\n under this License. Each licensee is addressed as "you".\n "Licensees" and "recipients" may be individuals\n or organizations.\n

\n\n

\n To "modify" a work means to copy from or adapt all or part\n of the work in a fashion requiring copyright permission, other than\n the making of an exact copy. The resulting work is called a\n "modified version" of the earlier work or a work\n "based on" the earlier work.\n

\n\n

\n A "covered work" means either the unmodified Program or a\n work based on the Program.\n

\n\n

\n To "propagate" a work means to do anything with it that,\n without permission, would make you directly or secondarily liable\n for infringement under applicable copyright law, except executing it\n on a computer or modifying a private copy. Propagation includes\n copying, distribution (with or without modification), making\n available to the public, and in some countries other activities as\n well.\n

\n\n

\n To "convey" a work means any kind of propagation that\n enables other parties to make or receive copies. Mere interaction\n with a user through a computer network, with no transfer of a copy,\n is not conveying.\n

\n\n

\n An interactive user interface displays "Appropriate Legal\n Notices" to the extent that it includes a convenient and\n prominently visible feature that (1) displays an appropriate\n copyright notice, and (2) tells the user that there is no warranty\n for the work (except to the extent that warranties are provided),\n that licensees may convey the work under this License, and how to\n view a copy of this License. If the interface presents a list of\n user commands or options, such as a menu, a prominent item in the\n list meets this criterion.\n

\n\n

1. Source Code.

\n

\n The "source code" for a work means the preferred form of\n the work for making modifications to it. "Object code"\n means any non-source form of a work.\n

\n\n

\n A "Standard Interface" means an interface that either is\n an official standard defined by a recognized standards body, or, in\n the case of interfaces specified for a particular programming\n language, one that is widely used among developers working in that\n language.\n

\n\n

\n The "System Libraries" of an executable work include\n anything, other than the work as a whole, that (a) is included in\n the normal form of packaging a Major Component, but which is not\n part of that Major Component, and (b) serves only to enable use of\n the work with that Major Component, or to implement a Standard\n Interface for which an implementation is available to the public in\n source code form. A "Major Component", in this context,\n means a major essential component (kernel, window system, and so on)\n of the specific operating system (if any) on which the executable\n work runs, or a compiler used to produce the work, or an object code\n interpreter used to run it.\n

\n\n

\n The "Corresponding Source" for a work in object code form\n means all the source code needed to generate, install, and (for an\n executable work) run the object code and to modify the work,\n including scripts to control those activities. However, it does not\n include the work's System Libraries, or general-purpose tools or\n generally available free programs which are used unmodified in\n performing those activities but which are not part of the work. For\n example, Corresponding Source includes interface definition files\n associated with source files for the work, and the source code for\n shared libraries and dynamically linked subprograms that the work is\n specifically designed to require, such as by intimate data\n communication or control flow between those subprograms and other\n parts of the work.\n

\n\n

\n The Corresponding Source need not include anything that users can\n regenerate automatically from other parts of the Corresponding\n Source.\n

\n\n

\n The Corresponding Source for a work in source code form is that same\n work.\n

\n\n

2. Basic Permissions.

\n

\n All rights granted under this License are granted for the term of\n copyright on the Program, and are irrevocable provided the stated\n conditions are met. This License explicitly affirms your unlimited\n permission to run the unmodified Program. The output from running a\n covered work is covered by this License only if the output, given\n its content, constitutes a covered work. This License acknowledges\n your rights of fair use or other equivalent, as provided by\n copyright law.\n

\n

\n You may make, run and propagate covered works that you do not\n convey, without conditions so long as your license otherwise remains\n in force. You may convey covered works to others for the sole\n purpose of having them make modifications exclusively for you, or\n provide you with facilities for running those works, provided that\n you comply with the terms of this License in conveying all material\n for which you do not control copyright. Those thus making or running\n the covered works for you must do so exclusively on your behalf,\n under your direction and control, on terms that prohibit them from\n making any copies of your copyrighted material outside their\n relationship with you.\n

\n

\n Conveying under any other circumstances is permitted solely under\n the conditions stated below. Sublicensing is not allowed; section 10\n makes it unnecessary.\n

\n

\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n

\n

\n No covered work shall be deemed part of an effective technological\n measure under any applicable law fulfilling obligations under\n article 11 of the WIPO copyright treaty adopted on 20 December 1996,\n or similar laws prohibiting or restricting circumvention of such\n measures.\n

\n

\n When you convey a covered work, you waive any legal power to forbid\n circumvention of technological measures to the extent such\n circumvention is effected by exercising rights under this License\n with respect to the covered work, and you disclaim any intention to\n limit operation or modification of the work as a means of enforcing,\n against the work's users, your or third parties' legal rights to\n forbid circumvention of technological measures.\n

\n

4. Conveying Verbatim Copies.

\n

\n You may convey verbatim copies of the Program's source code as you\n receive it, in any medium, provided that you conspicuously and\n appropriately publish on each copy an appropriate copyright notice;\n keep intact all notices stating that this License and any\n non-permissive terms added in accord with section 7 apply to the\n code; keep intact all notices of the absence of any warranty; and\n give all recipients a copy of this License along with the Program.\n

\n

\n You may charge any price or no price for each copy that you convey,\n and you may offer support or warranty protection for a fee.\n

\n

5. Conveying Modified Source Versions.

\n

\n You may convey a work based on the Program, or the modifications to\n produce it from the Program, in the form of source code under the\n terms of section 4, provided that you also meet all of these\n conditions:\n

\n

\n

    \n
  • \n a) The work must carry prominent notices stating that you\n modified it, and giving a relevant date.\n
  • \n
  • \n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under\n section 7. This requirement modifies the requirement in section\n 4 to "keep intact all notices".\n
  • \n
  • \n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section\n 7 additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n
  • \n
  • \n d) If the work has interactive user interfaces, each must\n display Appropriate Legal Notices; however, if the Program has\n interactive interfaces that do not display Appropriate Legal\n Notices, your work need not make them do so.\n
  • \n
\n

\n

\n A compilation of a covered work with other separate and independent\n works, which are not by their nature extensions of the covered work,\n and which are not combined with it such as to form a larger program,\n in or on a volume of a storage or distribution medium, is called an\n "aggregate" if the compilation and its resulting copyright\n are not used to limit the access or legal rights of the\n compilation's users beyond what the individual works permit.\n Inclusion of a covered work in an aggregate does not cause this\n License to apply to the other parts of the aggregate.\n

\n

6. Conveying Non-Source Forms.

\n

\n You may convey a covered work in object code form under the terms of\n sections 4 and 5, provided that you also convey the machine-readable\n Corresponding Source under the terms of this License, in one of\n these ways:\n

\n

\n

    \n
  • \n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n
  • \n
  • \n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that\n product model, to give anyone who possesses the object code\n either (1) a copy of the Corresponding Source for all the\n software in the product that is covered by this License, on a\n durable physical medium customarily used for software\n interchange, for a price no more than your reasonable cost of\n physically performing this conveying of source, or (2) access to\n copy the Corresponding Source from a network server at no\n charge.\n
  • \n
  • \n c) Convey individual copies of the object code with a copy of\n the written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially,\n and only if you received the object code with such an offer, in\n accord with subsection 6b.\n
  • \n
  • \n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to\n the Corresponding Source in the same way through the same place\n at no further charge. You need not require recipients to copy\n the Corresponding Source along with the object code. If the\n place to copy the object code is a network server, the\n Corresponding Source may be on a different server (operated by\n you or a third party) that supports equivalent copying\n facilities, provided you maintain clear directions next to the\n object code saying where to find the Corresponding Source.\n Regardless of what server hosts the Corresponding Source, you\n remain obligated to ensure that it is available for as long as\n needed to satisfy these requirements.\n
  • \n
  • \n e) Convey the object code using peer-to-peer transmission,\n provided you inform other peers where the object code and\n Corresponding Source of the work are being offered to the\n general public at no charge under subsection 6d.\n
  • \n
\n

\n

\n A separable portion of the object code, whose source code is\n excluded from the Corresponding Source as a System Library, need not\n be included in conveying the object code work.\n

\n

\n A "User Product" is either (1) a "consumer\n product", which means any tangible personal property which is\n normally used for personal, family, or household purposes, or (2)\n anything designed or sold for incorporation into a dwelling. In\n determining whether a product is a consumer product, doubtful cases\n shall be resolved in favor of coverage. For a particular product\n received by a particular user, "normally used" refers to a\n typical or common use of that class of product, regardless of the\n status of the particular user or of the way in which the particular\n user actually uses, or expects or is expected to use, the product. A\n product is a consumer product regardless of whether the product has\n substantial commercial, industrial or non-consumer uses, unless such\n uses represent the only significant mode of use of the product.\n

\n

\n "Installation Information" for a User Product means any\n methods, procedures, authorization keys, or other information\n required to install and execute modified versions of a covered work\n in that User Product from a modified version of its Corresponding\n Source. The information must suffice to ensure that the continued\n functioning of the modified object code is in no case prevented or\n interfered with solely because modification has been made.\n

\n

\n If you convey an object code work under this section in, or with, or\n specifically for use in, a User Product, and the conveying occurs as\n part of a transaction in which the right of possession and use of\n the User Product is transferred to the recipient in perpetuity or\n for a fixed term (regardless of how the transaction is\n characterized), the Corresponding Source conveyed under this section\n must be accompanied by the Installation Information. But this\n requirement does not apply if neither you nor any third party\n retains the ability to install modified object code on the User\n Product (for example, the work has been installed in ROM).\n

\n

\n The requirement to provide Installation Information does not include\n a requirement to continue to provide support service, warranty, or\n updates for a work that has been modified or installed by the\n recipient, or for the User Product in which it has been modified or\n installed. Access to a network may be denied when the modification\n itself materially and adversely affects the operation of the network\n or violates the rules and protocols for communication across the\n network.\n

\n

\n Corresponding Source conveyed, and Installation Information\n provided, in accord with this section must be in a format that is\n publicly documented (and with an implementation available to the\n public in source code form), and must require no special password or\n key for unpacking, reading or copying.\n

\n

7. Additional Terms.

\n

\n "Additional permissions" are terms that supplement the\n terms of this License by making exceptions from one or more of its\n conditions. Additional permissions that are applicable to the entire\n Program shall be treated as though they were included in this\n License, to the extent that they are valid under applicable law. If\n additional permissions apply only to part of the Program, that part\n may be used separately under those permissions, but the entire\n Program remains governed by this License without regard to the\n additional permissions.\n

\n

\n When you convey a copy of a covered work, you may at your option\n remove any additional permissions from that copy, or from any part\n of it. (Additional permissions may be written to require their own\n removal in certain cases when you modify the work.) You may place\n additional permissions on material, added by you to a covered work,\n for which you have or can give appropriate copyright permission.\n

\n

\n Notwithstanding any other provision of this License, for material\n you add to a covered work, you may (if authorized by the copyright\n holders of that material) supplement the terms of this License with\n terms:\n

\n

\n

    \n
  • \n a) Disclaiming warranty or limiting liability differently from\n the terms of sections 15 and 16 of this License; or\n
  • \n
  • \n b) Requiring preservation of specified reasonable legal notices\n or author attributions in that material or in the Appropriate\n Legal Notices displayed by works containing it; or\n
  • \n
  • \n c) Prohibiting misrepresentation of the origin of that material,\n or requiring that modified versions of such material be marked\n in reasonable ways as different from the original version; or\n
  • \n
  • \n d) Limiting the use for publicity purposes of names of licensors\n or authors of the material; or\n
  • \n
  • \n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n
  • \n
  • \n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified\n versions of it) with contractual assumptions of liability to the\n recipient, for any liability that these contractual assumptions\n directly impose on those licensors and authors.\n
  • \n
\n

\n

\n All other non-permissive additional terms are considered\n "further restrictions" within the meaning of section 10.\n If the Program as you received it, or any part of it, contains a\n notice stating that it is governed by this License along with a term\n that is a further restriction, you may remove that term. If a\n license document contains a further restriction but permits\n relicensing or conveying under this License, you may add to a\n covered work material governed by the terms of that license\n document, provided that the further restriction does not survive\n such relicensing or conveying.\n

\n

\n If you add terms to a covered work in accord with this section, you\n must place, in the relevant source files, a statement of the\n additional terms that apply to those files, or a notice indicating\n where to find the applicable terms.\n

\n

\n Additional terms, permissive or non-permissive, may be stated in the\n form of a separately written license, or stated as exceptions; the\n above requirements apply either way.\n

\n

8. Termination.

\n

\n You may not propagate or modify a covered work except as expressly\n provided under this License. Any attempt otherwise to propagate or\n modify it is void, and will automatically terminate your rights\n under this License (including any patent licenses granted under the\n third paragraph of section 11).\n

\n

\n However, if you cease all violation of this License, then your\n license from a particular copyright holder is reinstated (a)\n provisionally, unless and until the copyright holder explicitly and\n finally terminates your license, and (b) permanently, if the\n copyright holder fails to notify you of the violation by some\n reasonable means prior to 60 days after the cessation.\n

\n

\n Moreover, your license from a particular copyright holder is\n reinstated permanently if the copyright holder notifies you of the\n violation by some reasonable means, this is the first time you have\n received notice of violation of this License (for any work) from\n that copyright holder, and you cure the violation prior to 30 days\n after your receipt of the notice.\n

\n\n

\n Termination of your rights under this section does not terminate the\n licenses of parties who have received copies or rights from you\n under this License. If your rights have been terminated and not\n permanently reinstated, you do not qualify to receive new licenses\n for the same material under section 10.\n

\n\n

9. Acceptance Not Required for Having Copies.

\n

\n You are not required to accept this License in order to receive or\n run a copy of the Program. Ancillary propagation of a covered work\n occurring solely as a consequence of using peer-to-peer transmission\n to receive a copy likewise does not require acceptance. However,\n nothing other than this License grants you permission to propagate\n or modify any covered work. These actions infringe copyright if you\n do not accept this License. Therefore, by modifying or propagating a\n covered work, you indicate your acceptance of this License to do so.\n

\n\n

10. Automatic Licensing of Downstream Recipients.

\n

\n Each time you convey a covered work, the recipient automatically\n receives a license from the original licensors, to run, modify and\n propagate that work, subject to this License. You are not\n responsible for enforcing compliance by third parties with this\n License.\n

\n\n

\n An "entity transaction" is a transaction transferring\n control of an organization, or substantially all assets of one, or\n subdividing an organization, or merging organizations. If\n propagation of a covered work results from an entity transaction,\n each party to that transaction who receives a copy of the work also\n receives whatever licenses to the work the party's predecessor in\n interest had or could give under the previous paragraph, plus a\n right to possession of the Corresponding Source of the work from the\n predecessor in interest, if the predecessor has it or can get it\n with reasonable efforts.\n

\n\n

\n You may not impose any further restrictions on the exercise of the\n rights granted or affirmed under this License. For example, you may\n not impose a license fee, royalty, or other charge for exercise of\n rights granted under this License, and you may not initiate\n litigation (including a cross-claim or counterclaim in a lawsuit)\n alleging that any patent claim is infringed by making, using,\n selling, offering for sale, or importing the Program or any portion\n of it.\n

\n\n

11. Patents.

\n

\n A "contributor" is a copyright holder who authorizes use\n under this License of the Program or a work on which the Program is\n based. The work thus licensed is called the contributor's\n "contributor version".\n

\n\n

\n A contributor's "essential patent claims" are all patent\n claims owned or controlled by the contributor, whether already\n acquired or hereafter acquired, that would be infringed by some\n manner, permitted by this License, of making, using, or selling its\n contributor version, but do not include claims that would be\n infringed only as a consequence of further modification of the\n contributor version. For purposes of this definition,\n "control" includes the right to grant patent sublicenses\n in a manner consistent with the requirements of this License.\n

\n\n

\n Each contributor grants you a non-exclusive, worldwide, royalty-free\n patent license under the contributor's essential patent claims, to\n make, use, sell, offer for sale, import and otherwise run, modify\n and propagate the contents of its contributor version.\n

\n\n

\n In the following three paragraphs, a "patent license" is\n any express agreement or commitment, however denominated, not to\n enforce a patent (such as an express permission to practice a patent\n or covenant not to sue for patent infringement). To\n "grant" such a patent license to a party means to make\n such an agreement or commitment not to enforce a patent against the\n party.\n

\n\n

\n If you convey a covered work, knowingly relying on a patent license,\n and the Corresponding Source of the work is not available for anyone\n to copy, free of charge and under the terms of this License, through\n a publicly available network server or other readily accessible\n means, then you must either (1) cause the Corresponding Source to be\n so available, or (2) arrange to deprive yourself of the benefit of\n the patent license for this particular work, or (3) arrange, in a\n manner consistent with the requirements of this License, to extend\n the patent license to downstream recipients. "Knowingly\n relying" means you have actual knowledge that, but for the\n patent license, your conveying the covered work in a country, or\n your recipient's use of the covered work in a country, would\n infringe one or more identifiable patents in that country that you\n have reason to believe are valid.\n

\n\n

\n If, pursuant to or in connection with a single transaction or\n arrangement, you convey, or propagate by procuring conveyance of, a\n covered work, and grant a patent license to some of the parties\n receiving the covered work authorizing them to use, propagate,\n modify or convey a specific copy of the covered work, then the\n patent license you grant is automatically extended to all recipients\n of the covered work and works based on it.\n

\n\n

\n A patent license is "discriminatory" if it does not\n include within the scope of its coverage, prohibits the exercise of,\n or is conditioned on the non-exercise of one or more of the rights\n that are specifically granted under this License. You may not convey\n a covered work if you are a party to an arrangement with a third\n party that is in the business of distributing software, under which\n you make payment to the third party based on the extent of your\n activity of conveying the work, and under which the third party\n grants, to any of the parties who would receive the covered work\n from you, a discriminatory patent license (a) in connection with\n copies of the covered work conveyed by you (or copies made from\n those copies), or (b) primarily for and in connection with specific\n products or compilations that contain the covered work, unless you\n entered into that arrangement, or that patent license was granted,\n prior to 28 March 2007.\n

\n\n

\n Nothing in this License shall be construed as excluding or limiting\n any implied license or other defenses to infringement that may\n otherwise be available to you under applicable patent law.\n

\n\n

12. No Surrender of Others' Freedom.

\n

\n If conditions are imposed on you (whether by court order, agreement\n or otherwise) that contradict the conditions of this License, they\n do not excuse you from the conditions of this License. If you cannot\n convey a covered work so as to satisfy simultaneously your\n obligations under this License and any other pertinent obligations,\n then as a consequence you may not convey it at all. For example, if\n you agree to terms that obligate you to collect a royalty for\n further conveying from those to whom you convey the Program, the\n only way you could satisfy both those terms and this License would\n be to refrain entirely from conveying the Program.\n

\n\n

\n 13. Remote Network Interaction; Use with the GNU General Public\n License.\n

\n

\n Notwithstanding any other provision of this License, if you modify\n the Program, your modified version must prominently offer all users\n interacting with it remotely through a computer network (if your\n version supports such interaction) an opportunity to receive the\n Corresponding Source of your version by providing access to the\n Corresponding Source from a network server at no charge, through\n some standard or customary means of facilitating copying of\n software. This Corresponding Source shall include the Corresponding\n Source for any work covered by version 3 of the GNU General Public\n License that is incorporated pursuant to the following paragraph.\n

\n\n

\n Notwithstanding any other provision of this License, you have\n permission to link or combine any covered work with a work licensed\n under version 3 of the GNU General Public License into a single\n combined work, and to convey the resulting work. The terms of this\n License will continue to apply to the part which is the covered\n work, but the work with which it is combined will remain governed by\n version 3 of the GNU General Public License.\n

\n\n

14. Revised Versions of this License.

\n

\n The Free Software Foundation may publish revised and/or new versions\n of the GNU Affero General Public License from time to time. Such new\n versions will be similar in spirit to the present version, but may\n differ in detail to address new problems or concerns.\n

\n\n

\n Each version is given a distinguishing version number. If the\n Program specifies that a certain numbered version of the GNU Affero\n General Public License "or any later version" applies to\n it, you have the option of following the terms and conditions either\n of that numbered version or of any later version published by the\n Free Software Foundation. If the Program does not specify a version\n number of the GNU Affero General Public License, you may choose any\n version ever published by the Free Software Foundation.\n

\n\n

\n Each version is given a distinguishing version number. If the\n Program specifies that a certain numbered version of the GNU Affero\n General Public License "or any later version" applies to\n it, you have the option of following the terms and conditions either\n of that numbered version or of any later version published by the\n Free Software Foundation. If the Program does not specify a version\n number of the GNU Affero General Public License, you may choose any\n version ever published by the Free Software Foundation.\n

\n\n

\n Later license versions may give you additional or different\n permissions. However, no additional obligations are imposed on any\n author or copyright holder as a result of your choosing to follow a\n later version.\n

\n\n

15. Disclaimer of Warranty.

\n

\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\n APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE\n COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS\n IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,\n INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE\n RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.\n SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL\n NECESSARY SERVICING, REPAIR OR CORRECTION.\n

\n\n

16. Limitation of Liability.

\n

\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN\n WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES\n AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR\n DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL\n DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM\n (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED\n INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE\n OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH\n HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH\n DAMAGES.\n

\n\n

17. Interpretation of Sections 15 and 16.

\n

\n If the disclaimer of warranty and limitation of liability provided\n above cannot be given local legal effect according to their terms,\n reviewing courts shall apply local law that most closely\n approximates an absolute waiver of all civil liability in connection\n with the Program, unless a warranty or assumption of liability\n accompanies a copy of the Program in return for a fee.\n

\n\n

END OF TERMS AND CONDITIONS

\n\n

How to Apply These Terms to Your New Programs

\n

\n If you develop a new program, and you want it to be of the greatest\n possible use to the public, the best way to achieve this is to make\n it free software which everyone can redistribute and change under\n these terms.\n

\n\n

\n To do so, attach the following notices to the program. It is safest\n to attach them to the start of each source file to most effectively\n state the exclusion of warranty; and each file should have at least\n the "copyright" line and a pointer to where the full\n notice is found.\n

\n\n

\n \n <one line to give the program's name and a brief idea of what\n it does.> Copyright (C) <year> <name of author>\n This program is free software: you can redistribute it and/or\n modify it under the terms of the GNU Affero General Public License\n as published by the Free Software Foundation, either version 3 of\n the License, or (at your option) any later version. This program\n is distributed in the hope that it will be useful, but WITHOUT ANY\n WARRANTY; without even the implied warranty of MERCHANTABILITY or\n FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General\n Public License for more details. You should have received a copy\n of the GNU Affero General Public License along with this program.\n If not, see <https://www.gnu.org/licenses/>.\n \n

\n\n

\n Also add information on how to contact you by electronic and paper\n mail.\n

\n\n

\n If your software can interact with users remotely through a computer\n network, you should also make sure that it provides a way for users\n to get its source. For example, if your program is a web\n application, its interface could display a "Source" link\n that leads users to an archive of the code. There are many ways you\n could offer source, and different solutions will be better for\n different programs; see section 13 for the specific requirements.\n

\n\n

\n You should also get your employer (if you work as a programmer) or\n school, if any, to sign a "copyright disclaimer" for the\n program, if necessary. For more information on this, and how to\n apply and follow the GNU AGPL, see <\n \n https://www.gnu.org/licenses/\n \n >.\n

\n
\n
\n \n ) : null;\n};\n\nexport default withStyles(styles)(LicenseModal);\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 { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\nimport { containerForHeader } from \"../Common/FormComponents/common/styleLibrary\";\nimport {\n SubnetLoginRequest,\n SubnetLoginResponse,\n SubnetLoginWithMFARequest,\n SubnetOrganization,\n SubnetRegisterRequest,\n SubnetRegTokenResponse,\n} from \"./types\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport api from \"../../../common/api\";\nimport PersonOutlineOutlinedIcon from \"@mui/icons-material/PersonOutlineOutlined\";\nimport LockOutlinedIcon from \"@mui/icons-material/LockOutlined\";\n\nimport { formFieldStyles } from \"../Common/FormComponents/common/styleLibrary\";\nimport RadioGroupSelector from \"../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport Link from \"@mui/material/Link\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n subnetLicenseKey: {},\n subnetLoginForm: {},\n licenseKeyField: {},\n pageTitle: {\n marginBottom: 20,\n },\n registrationMode: {\n cursor: \"pointer\",\n },\n button: {\n textTransform: \"none\",\n fontSize: 15,\n fontWeight: 700,\n background:\n \"transparent linear-gradient(90deg, #073052 0%, #081c42 100%) 0% 0% no-repeat padding-box\",\n color: \"#fff\",\n },\n buttonSignup: {\n textTransform: \"none\",\n fontSize: 15,\n fontWeight: 700,\n marginLeft: 15,\n },\n ...formFieldStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IActivationModal {\n classes: any;\n open: boolean;\n closeModal: () => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst ActivationModal = ({\n classes,\n open,\n closeModal,\n setModalErrorSnackMessage,\n}: IActivationModal) => {\n const [license, setLicense] = useState(\"\");\n const [subnetPassword, setSubnetPassword] = useState(\"\");\n const [subnetEmail, setSubnetEmail] = useState(\"\");\n const [subnetMFAToken, setSubnetMFAToken] = useState(\"\");\n const [subnetOTP, setSubnetOTP] = useState(\"\");\n const [subnetAccessToken, setSubnetAccessToken] = useState(\"\");\n const [selectedSubnetOrganisation, setSelectedSubnetOrganisation] =\n useState(\"\");\n const [subnetRegToken, setSubnetRegToken] = useState(\"\");\n const [subnetOrganizations, setSubnetOrganizations] = useState<\n SubnetOrganization[]\n >([]);\n const [onlineActivation, setOnlineActivation] = useState(true);\n\n const [loading, setLoading] = useState(false);\n\n const clearForm = () => {\n setLicense(\"\");\n setSubnetPassword(\"\");\n setSubnetEmail(\"\");\n setSubnetMFAToken(\"\");\n setSubnetOTP(\"\");\n };\n\n const fetchSubnetRegToken = () => {\n if (loading || subnetRegToken) {\n return;\n }\n setLoading(true);\n api\n .invoke(\"GET\", \"/api/v1/subnet/registration-token\")\n .then((resp: SubnetRegTokenResponse) => {\n setLoading(false);\n if (resp && resp.regToken) {\n setSubnetRegToken(resp.regToken);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n const subnetRegister = () => {\n if (loading) {\n return;\n }\n setLoading(true);\n if (subnetAccessToken && selectedSubnetOrganisation) {\n const request: SubnetRegisterRequest = {\n token: subnetAccessToken,\n account_id: selectedSubnetOrganisation,\n };\n api\n .invoke(\"POST\", \"/api/v1/subnet/register\", request)\n .then(() => {\n setLoading(false);\n clearForm();\n closeModal();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n }\n };\n\n const subnetLoginWithMFA = () => {\n if (loading) {\n return;\n }\n setLoading(true);\n const request: SubnetLoginWithMFARequest = {\n username: subnetEmail,\n otp: subnetOTP,\n mfa_token: subnetMFAToken,\n };\n api\n .invoke(\"POST\", \"/api/v1/subnet/login/mfa\", request)\n .then((resp: SubnetLoginResponse) => {\n setLoading(false);\n if (resp && resp.access_token && resp.organizations.length > 0) {\n setSubnetAccessToken(resp.access_token);\n setSubnetOrganizations(resp.organizations);\n setSelectedSubnetOrganisation(\n resp.organizations[0].accountId.toString()\n );\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setSubnetOTP(\"\");\n setModalErrorSnackMessage(err);\n });\n };\n\n const subnetLogin = () => {\n if (loading) {\n return;\n }\n setLoading(true);\n let request: SubnetLoginRequest = {\n username: subnetEmail,\n password: subnetPassword,\n apiKey: license,\n };\n api\n .invoke(\"POST\", \"/api/v1/subnet/login\", request)\n .then((resp: SubnetLoginResponse) => {\n setLoading(false);\n if (resp && resp.registered) {\n clearForm();\n closeModal();\n } else if (resp && resp.mfa_token) {\n setSubnetMFAToken(resp.mfa_token);\n } else if (resp && resp.access_token && resp.organizations.length > 0) {\n setSubnetAccessToken(resp.access_token);\n setSubnetOrganizations(resp.organizations);\n setSelectedSubnetOrganisation(\n resp.organizations[0].accountId.toString()\n );\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n clearForm();\n setModalErrorSnackMessage(err);\n });\n };\n\n let clusterRegistrationForm: JSX.Element;\n if (subnetAccessToken && subnetOrganizations.length > 0) {\n clusterRegistrationForm = (\n \n \n \n Register MinIO cluster\n \n \n \n ) => {\n setSelectedSubnetOrganisation(e.target.value as string);\n }}\n selectorOptions={subnetOrganizations.map((organisation) => ({\n value: organisation.accountId.toString(),\n label: organisation.company,\n }))}\n />\n \n \n subnetRegister()}\n disabled={loading || subnetAccessToken.trim().length === 0}\n variant=\"contained\"\n >\n Register\n \n \n \n );\n } else if (subnetMFAToken) {\n clusterRegistrationForm = (\n \n \n \n Two-Factor Authentication\n \n \n Please enter the 6-digit verification code that was sent to your\n email address. This code will be valid for 5 minutes.\n \n \n \n }\n id=\"subnet-otp\"\n name=\"subnet-otp\"\n onChange={(event: React.ChangeEvent) => {\n setSubnetOTP(event.target.value);\n }}\n placeholder=\"\"\n label=\"\"\n type=\"text\"\n value={subnetOTP}\n />\n \n \n subnetLoginWithMFA()}\n disabled={\n loading ||\n subnetOTP.trim().length === 0 ||\n subnetMFAToken.trim().length === 0\n }\n variant=\"contained\"\n >\n Verify\n \n \n \n );\n } else {\n clusterRegistrationForm = (\n \n \n }\n id=\"subnet-email\"\n name=\"subnet-email\"\n onChange={(event: React.ChangeEvent) => {\n setSubnetEmail(event.target.value);\n }}\n placeholder=\"email\"\n label=\"\"\n type=\"text\"\n value={subnetEmail}\n />\n \n \n }\n id=\"subnet-password\"\n name=\"subnet-password\"\n onChange={(event: React.ChangeEvent) => {\n setSubnetPassword(event.target.value);\n }}\n placeholder=\"password\"\n label=\"\"\n type=\"password\"\n value={subnetPassword}\n />\n \n \n subnetLogin()}\n disabled={\n loading ||\n subnetEmail.trim().length === 0 ||\n subnetPassword.trim().length === 0\n }\n variant=\"contained\"\n >\n Login\n \n {\n e.preventDefault();\n window.open(\"https://min.io/pricing\", \"_blank\");\n }}\n variant=\"outlined\"\n >\n Sign Up\n \n \n \n {\n fetchSubnetRegToken();\n setOnlineActivation(false);\n }}\n >\n Offline Activation\n \n \n \n );\n }\n\n return open ? (\n {\n setLicense(\"\");\n setSubnetPassword(\"\");\n setSubnetEmail(\"\");\n closeModal();\n }}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n \n \n \n Activate SUBNET License\n \n \n {onlineActivation ? (\n \n {clusterRegistrationForm}\n \n ) : (\n \n \n Step 1: Copy the following registration token\n \n \n {}}\n id=\"registration-token\"\n name=\"registration-token\"\n placeholder=\"\"\n label=\"\"\n type=\"text\"\n value={subnetRegToken}\n disabled\n />\n \n \n navigator.clipboard.writeText(subnetRegToken)}\n >\n Copy\n \n \n \n Step 2: Use the previous token to register your cluster at:{\" \"}\n \n https://subnet.min.io/cluster/register\n \n \n \n Step 3: Enter the API key generated by SUBNET\n \n \n ) =>\n setLicense(event.target.value)\n }\n id=\"api-key\"\n name=\"api-key\"\n placeholder=\"\"\n label=\"\"\n type=\"text\"\n />\n \n \n subnetLogin()}\n disabled={loading || license.trim().length === 0}\n >\n Activate\n \n \n \n setOnlineActivation(true)}\n >\n Online Activation\n \n \n \n )}\n \n {loading && (\n \n \n \n )}\n \n ) : null;\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(ActivationModal));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport interface IPlanDetails {\n id: number;\n title: string;\n price: string;\n capacityMax: string;\n capacityMin?: string;\n}\n\nexport const planDetails: IPlanDetails[] = [\n {\n id: 0,\n title: \"Community\",\n price: \"Open Source\",\n capacityMax: \"\",\n },\n {\n id: 1,\n title: \"Standard\",\n price: \"$10 per TB\",\n capacityMax: \"(Minimum of 100TB)\",\n capacityMin: \"\",\n },\n {\n id: 2,\n title: \"Enterprise\",\n price: \"$20 per TB\",\n capacityMax: \"(Minimum of 100TB)\",\n capacityMin: \"\",\n },\n];\n\nexport interface IPlanItemValue {\n label: string;\n detail?: string;\n link?: boolean;\n}\n\nexport interface IPlanItemValues {\n [index: string]: IPlanItemValue;\n}\nexport interface IPlanItem {\n id: number;\n field: string;\n plans: IPlanItemValues;\n}\n\nexport const planItems: IPlanItem[] = [\n {\n id: 0,\n field: \"License\",\n plans: {\n Community: {\n label: \"GNU AGPL v3\",\n detail: \"\",\n link: true,\n },\n Standard: {\n label: \"Commercial License\",\n },\n Enterprise: {\n label: \"Commercial License\",\n },\n },\n },\n {\n id: 1,\n field: \"Software Release\",\n plans: {\n Community: {\n label: \"Upstream\",\n },\n Standard: {\n label: \"1 Year Long Term Support\",\n },\n Enterprise: {\n label: \"5 Years Long Term Support\",\n },\n },\n },\n {\n id: 2,\n field: \"SLA\",\n plans: {\n Community: {\n label: \"No SLA\",\n },\n Standard: {\n label: \"<48 Hours (Local Business Hours)\",\n },\n Enterprise: {\n label: \"<1 hour\",\n },\n },\n },\n {\n id: 3,\n field: \"Support\",\n plans: {\n Community: {\n label: \"Community:\",\n detail: \"Public Slack Channel + Github Issues\",\n },\n Standard: {\n label: \"L4 Direct Engineering\",\n detail: \" support via SUBNET\",\n },\n Enterprise: {\n label: \"L4 Direct Engineering\",\n detail: \"support via SUBNET\",\n },\n },\n },\n {\n id: 4,\n field: \"Security Updates & Critical Bugs\",\n plans: {\n Community: {\n label: \"Self Update\",\n },\n Standard: {\n label: \"Continuous Scan and Alert\",\n },\n Enterprise: {\n label: \"Continuous Scan and Alert\",\n },\n },\n },\n {\n id: 5,\n field: \"Panic Button\",\n plans: {\n Community: {\n label: \"N/A\",\n },\n Standard: {\n label: \"1 per year\",\n },\n Enterprise: {\n label: \"Unlimited\",\n },\n },\n },\n {\n id: 6,\n field: \"Health Diagnostics\",\n plans: {\n Community: {\n label: \"N/A\",\n },\n Standard: {\n label: \"24/7/365\",\n },\n Enterprise: {\n label: \"24/7/365\",\n },\n },\n },\n {\n id: 6,\n field: \"Annual Architecture Review\",\n plans: {\n Community: {\n label: \"N/A\",\n },\n Standard: {\n label: \"N/A\",\n },\n Enterprise: {\n label: \"Yes\",\n },\n },\n },\n {\n id: 7,\n field: \"Annual Performance Review\",\n plans: {\n Community: {\n label: \"N/A\",\n },\n Standard: {\n label: \"N/A\",\n },\n Enterprise: {\n label: \"Yes\",\n },\n },\n },\n {\n id: 8,\n field: \"Indemnification\",\n plans: {\n Community: {\n label: \"N/A\",\n },\n Standard: {\n label: \"N/A\",\n },\n Enterprise: {\n label: \"Yes\",\n },\n },\n },\n {\n id: 9,\n field: \"Security + Policy Review\",\n plans: {\n Community: {\n label: \"N/A\",\n },\n Standard: {\n label: \"N/A\",\n },\n Enterprise: {\n label: \"Yes\",\n },\n },\n },\n];\n\nexport interface IPlanButton {\n id: number;\n text: string;\n text2: string;\n link: string;\n plan: string;\n}\nexport const planButtons: IPlanButton[] = [\n {\n id: 0,\n text: \"Join Slack\",\n text2: \"\",\n link: \"https://slack.min.io\",\n plan: \"Community\",\n },\n {\n id: 1,\n text: \"Subscribe\",\n text2: \"Sign up\",\n link: \"https://min.io/signup\",\n plan: \"Standard\",\n },\n {\n id: 2,\n text: \"Subscribe\",\n text2: \"Sign up\",\n link: \"https://min.io/signup\",\n plan: \"Enterprise\",\n },\n];\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 Grid from \"@mui/material/Grid\";\nimport clsx from \"clsx\";\nimport ActivationModal from \"./ActivationModal\";\nimport { planButtons, planDetails, planItems } from \"./utils\";\nimport CheckCircleIcon from \"@mui/icons-material/CheckCircle\";\nimport Button from \"@mui/material/Button\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { SubnetInfo } from \"./types\";\nimport withStyles from \"@mui/styles/withStyles\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n planItemsPadding: {\n border: \"1px solid #EAEDEE\",\n borderTop: 0,\n maxWidth: 1180,\n },\n planItemsBorder: {\n height: 7,\n backgroundColor: \"#07193E\",\n },\n\n link: {\n textDecoration: \"underline !important\",\n color: theme.palette.info.main,\n },\n linkButton: {\n fontFamily: '\"Lato\", sans-serif',\n fontWeight: \"normal\",\n textTransform: \"none\",\n fontSize: \"inherit\",\n height: 0,\n padding: 0,\n margin: 0,\n },\n tableContainer: {\n marginLeft: 28,\n },\n detailsContainerBorder: {\n borderLeft: \"1px solid #e2e2e2\",\n },\n detailsTitle: {\n fontSize: 19,\n fontWeight: 700,\n marginBottom: 26,\n paddingTop: 18,\n lineHeight: 1,\n },\n currPlan: {\n color: \"white\",\n backgroundColor: \"#2781B0\",\n },\n planHeader: {\n padding: 8,\n },\n detailsPrice: {\n fontSize: 13,\n fontWeight: 700,\n },\n detailsCapacityMax: {\n minHeight: 28,\n fontSize: 10,\n },\n itemContainer: {\n height: 36,\n \"& .item:last-child\": {\n borderRight: \"1px solid #e5e5e5\",\n },\n },\n itemContainerDetail: {\n height: 48,\n },\n item: {\n height: \"100%\",\n borderLeft: \"1px solid #e5e5e5\",\n textAlign: \"center\",\n fontSize: 10,\n fontWeight: 700,\n display: \"flex\",\n alignItems: \"center\",\n alignContent: \"center\",\n borderTop: \"1px solid #e5e5e5\",\n },\n\n itemFirst: {\n borderLeft: 0,\n borderRight: 0,\n },\n field: {\n textAlign: \"left\",\n fontWeight: 400,\n fontSize: 12,\n },\n checkIcon: {\n fontSize: 15,\n color: \"#385973\",\n },\n buttonContainer: {\n paddingTop: 8,\n paddingBottom: 24,\n height: \"100%\",\n display: \"flex\",\n justifyContent: \"center\",\n borderLeft: \"1px solid #e2e2e2\",\n },\n buttonContainerBlank: {\n border: 0,\n },\n buttonContainerHighlighted: {\n borderTop: 0,\n },\n button: {\n textTransform: \"none\",\n fontSize: 15,\n fontWeight: 700,\n },\n activateLink: {\n color: \"#1C5A8D\",\n fontWeight: \"bold\",\n clear: \"both\",\n background: \"none\",\n border: \"none\",\n textDecoration: \"underline\",\n cursor: \"pointer\",\n },\n currentPlanBG: {\n background: \"#022A4A 0% 0% no-repeat padding-box\",\n color: \"#FFFFFF\",\n borderTop: \"1px solid #52687d\",\n },\n });\n\ninterface IRegisterStatus {\n classes: any;\n activateProductModal: any;\n closeModalAndFetchLicenseInfo: any;\n licenseInfo: SubnetInfo | undefined;\n setLicenseModal: React.Dispatch>;\n operatorMode: boolean;\n currentPlanID: number;\n setActivateProductModal: any;\n}\n\nconst LicensePlans = ({\n classes,\n activateProductModal,\n closeModalAndFetchLicenseInfo,\n licenseInfo,\n setLicenseModal,\n operatorMode,\n currentPlanID,\n setActivateProductModal,\n}: IRegisterStatus) => {\n const planDetailsFiltered = planDetails.filter((item) => {\n if (licenseInfo) {\n if (item.title === \"Community\") {\n return false;\n }\n }\n return true;\n });\n\n const planButtonsFiltered = planButtons.filter((item) => {\n if (licenseInfo) {\n if (item.plan === \"Community\") {\n return false;\n }\n }\n return true;\n });\n\n const gridColWidth = licenseInfo ? 4 : 3;\n\n return (\n \n \n
\n \n \n \n closeModalAndFetchLicenseInfo()}\n />\n \n \n \n {planDetailsFiltered.map((details: any) => {\n let currentPlan =\n (!licenseInfo && details.title === \"Community\") ||\n (licenseInfo &&\n licenseInfo.plan.toLowerCase() ===\n details.title.toLowerCase());\n return (\n \n \n \n {details.title}\n {currentPlan && (\n \n
CURRENT PLAN
\n
\n )}\n
\n \n {details.price}\n \n \n {details.capacityMax || \"\"}\n \n
\n );\n })}\n
\n {planItems.map((item: any) => {\n return (\n \n \n {item.field}\n
\n {planDetailsFiltered.map((pd) => {\n return (\n \n \n \n {item.plans[pd.title].label === \"N/A\" ? (\n \"\"\n ) : item.plans[pd.title].label === \"Yes\" ? (\n \n ) : (\n \n {item.plans[pd.title].link ? (\n setLicenseModal(true)}\n >\n {item.plans[pd.title].label}\n \n ) : (\n item.plans[pd.title].label\n )}\n \n )}\n \n {item.plans[pd.title].detail !== undefined && (\n \n {item.plans[pd.title].detail}\n \n )}\n
\n \n );\n })}\n
\n );\n })}\n \n \n {planButtonsFiltered.map((button: any, index: any) => {\n return (\n \n \n {\n e.preventDefault();\n window.open(\n `${button.link}?ref=${operatorMode ? \"op\" : \"con\"}`,\n \"_blank\"\n );\n }}\n >\n {currentPlanID !== index && index > 0\n ? button.text2\n : button.text}\n \n \n \n );\n })}\n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(LicensePlans);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { CircularProgress, LinearProgress } from \"@mui/material\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport Moment from \"react-moment\";\nimport Typography from \"@mui/material/Typography\";\nimport { SubnetInfo } from \"./types\";\nimport { AppState } from \"../../../store\";\nimport { niceBytes } from \"../../../common/utils\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { containerForHeader } from \"../Common/FormComponents/common/styleLibrary\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport LicenseModal from \"./LicenseModal\";\nimport api from \"../../../common/api\";\nimport { LicenseIcon } from \"../../../icons\";\nimport { hasPermission } from \"../../../common/SecureComponent/SecureComponent\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_PAGES_PERMISSIONS,\n} from \"../../../common/SecureComponent/permissions\";\nimport RegisterStatus from \"../Support/RegisterStatus\";\nimport LicensePlans from \"./LicensePlans\";\nimport { Link } from \"react-router-dom\";\n\nconst mapState = (state: AppState) => ({\n operatorMode: state.system.operatorMode,\n});\n\nconst connector = connect(mapState, null);\n\nconst styles = (theme: Theme) =>\n createStyles({\n pageTitle: {\n backgroundColor: \"rgb(250,250,252)\",\n marginTop: 40,\n border: \"1px solid #EAEDEE\",\n padding: 25,\n fontSize: 16,\n fontWeight: \"bold\",\n \"& ul\": {\n listStyleType: \"square\",\n \"& li\": {\n float: \"left\",\n fontSize: 14,\n marginRight: 40,\n },\n \"& li::before\": {\n color: \"red\",\n content: \"•\",\n },\n },\n },\n licDet: {\n fontSize: 11,\n color: \"#5E5E5E\",\n },\n linkMore: {\n marginTop: 10,\n marginBottom: 20,\n },\n chooseFlavorText: {\n color: \"#000000\",\n fontSize: 14,\n },\n licenseContainer: {\n display: \"flex\",\n flexWrap: \"wrap\",\n flexDirection: \"row\",\n padding: \"30px 30px 0px 30px\",\n border: \"1px solid #EAEDEE\",\n \"& h2\": {\n // color: \"#FFF\",\n flexDirection: \"row\",\n },\n \"& a\": {\n textDecoration: \"none\",\n flexDirection: \"row\",\n },\n \"& h3\": {\n // color: \"#FFFFFF\",\n marginBottom: \"30px\",\n fontWeight: \"bold\",\n },\n \"& h6\": {\n // color: \"#FFFFFF !important\",\n },\n },\n link: {\n textDecoration: \"underline !important\",\n color: theme.palette.info.main,\n },\n linkButton: {\n fontFamily: '\"Lato\", sans-serif',\n fontWeight: \"normal\",\n textTransform: \"none\",\n fontSize: \"inherit\",\n height: 0,\n padding: 0,\n margin: 0,\n },\n\n button: {\n textTransform: \"none\",\n fontSize: 15,\n fontWeight: 700,\n },\n openSourcePolicy: {\n fontSize: 14,\n color: \"#1C5A8D\",\n fontWeight: \"bold\",\n },\n subnetRefreshLicenseLink: {\n color: \"#1C5A8D\",\n fontWeight: \"bold\",\n clear: \"both\",\n background: \"none\",\n border: \"none\",\n textDecoration: \"underline\",\n cursor: \"pointer\",\n fontSize: 13,\n },\n licenseInfo: {\n position: \"relative\",\n },\n licenseInfoTitle: {\n textTransform: \"none\",\n color: \"#999999\",\n fontSize: 11,\n },\n licenseInfoValue: {\n textTransform: \"none\",\n fontSize: 14,\n fontWeight: \"bold\",\n },\n subnetSubTitle: {\n fontSize: 14,\n },\n verifiedIcon: {\n width: 96,\n position: \"absolute\",\n right: 0,\n bottom: 29,\n },\n loadingLoginStrategy: {\n textAlign: \"center\",\n },\n ...containerForHeader(theme.spacing(4)),\n mainContainer: {\n border: \"1px solid #EAEDEE\",\n padding: 40,\n margin: 40,\n },\n icon: {\n color: theme.palette.primary.main,\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 20,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n marginRight: 15,\n },\n },\n });\n\ninterface ILicenseProps {\n classes: any;\n operatorMode: boolean;\n}\n\nconst License = ({ classes, operatorMode }: ILicenseProps) => {\n const [activateProductModal, setActivateProductModal] =\n useState(false);\n\n const [licenseModal, setLicenseModal] = useState(false);\n\n const [licenseInfo, setLicenseInfo] = useState();\n const [currentPlanID, setCurrentPlanID] = useState(0);\n const [loadingLicenseInfo, setLoadingLicenseInfo] = useState(false);\n const [initialLicenseLoading, setInitialLicenseLoading] =\n useState(true);\n const [loadingRefreshLicense, setLoadingRefreshLicense] =\n useState(false);\n const [clusterRegistered, setClusterRegistered] = useState(false);\n\n const getSubnetInfo = hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.LICENSE],\n true\n );\n\n const closeModalAndFetchLicenseInfo = () => {\n setActivateProductModal(false);\n fetchLicenseInfo();\n };\n\n const fetchLicenseInfo = useCallback(() => {\n if (loadingLicenseInfo) {\n return;\n }\n if (getSubnetInfo) {\n setLoadingLicenseInfo(true);\n api\n .invoke(\"GET\", `/api/v1/subnet/info`)\n .then((res: SubnetInfo) => {\n if (res) {\n if (res.plan === \"STANDARD\") {\n setCurrentPlanID(1);\n } else if (res.plan === \"ENTERPRISE\") {\n setCurrentPlanID(2);\n } else {\n setCurrentPlanID(1);\n }\n setLicenseInfo(res);\n }\n setClusterRegistered(true);\n setLoadingLicenseInfo(false);\n })\n .catch(() => {\n setClusterRegistered(false);\n setLoadingLicenseInfo(false);\n });\n } else {\n setLoadingLicenseInfo(false);\n }\n }, [loadingLicenseInfo, getSubnetInfo]);\n\n const refreshLicense = () => {\n setLoadingRefreshLicense(true);\n api\n .invoke(\"POST\", `/api/v1/subscription/refresh`, {})\n .then((res: SubnetInfo) => {\n if (res) {\n if (res.plan === \"STANDARD\") {\n setCurrentPlanID(1);\n } else if (res.plan === \"ENTERPRISE\") {\n setCurrentPlanID(2);\n } else {\n setCurrentPlanID(1);\n }\n setLicenseInfo(res);\n }\n setLoadingRefreshLicense(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingRefreshLicense(false);\n });\n };\n\n useEffect(() => {\n if (initialLicenseLoading) {\n fetchLicenseInfo();\n setInitialLicenseLoading(false);\n }\n }, [fetchLicenseInfo, initialLicenseLoading, setInitialLicenseLoading]);\n\n if (loadingLicenseInfo) {\n return (\n \n \n \n );\n }\n\n return (\n \n \n \n\n
\n \n {licenseInfo && }\n {!clusterRegistered && (\n \n \n \n GNU Affero General Public License\n \n \n \n \n {licenseInfo ? (\n \n \n \n \n License\n \n \n Commercial License\n \n \n Organization\n \n \n {licenseInfo.organization}\n \n \n Registered Capacity\n \n \n {niceBytes(\n (licenseInfo.storage_capacity * 1099511627776) // 1 Terabyte = 1099511627776 Bytes\n .toString(10),\n false\n )}\n \n \n \n \n Subscription Plan\n \n \n {licenseInfo.plan}\n \n \n Requestor\n \n \n {licenseInfo.email}\n \n \n Expiry Date\n \n \n \n {licenseInfo.expires_at\n .split(\" \")\n .slice(0, 1)\n .join(\" \")}\n \n \n \n \n \n \n ) : (\n \n setLicenseModal(false)}\n />\n \n \n {\" \"}\n \n \n Version 3. 19 November 2007{\" \"}\n \n \n\n \n \n The GNU Affero General Public License is a free,\n copyleft license for software and other kinds of\n works, specifically designed to ensure cooperation\n with the Community in the case of network server\n software.\n \n
\n \n The licenses for most software and other practical\n works are designed to take away your freedom to\n share and change the works. By contrast, our\n General Public Licenses are intended to guarantee\n your freedom to share and change all versions of a\n program--to make sure it remains free software for\n all its users.\n \n
\n setLicenseModal(true)}\n >\n Read more\n \n
\n
\n
\n )}\n
\n \n {licenseInfo ? (\n
\n \n Login to MinIO SUBNET !\n \n \n It combines a commercial license with a support\n experience unlike any other.\n \n
\n \n Login to SUBNET\n \n {operatorMode && (\n \n {\" \"}\n
\n
\n {\n e.preventDefault();\n refreshLicense();\n }}\n >\n Refresh License\n \n {loadingRefreshLicense && (\n \n )}\n
\n )}\n
\n ) : (\n
\n \n Choosing between GNU AGPL v3 and Commercial License\n \n
\n \n If you are building proprietary applications, you\n may want to choose the commercial license included\n as part of the Standard and Enterprise subscription\n plans. Applications must otherwise comply with all\n the GNU AGPLv3 License & Trademark obligations.\n Follow the links below to learn more about the\n compliance policy.\n \n
    \n
  • \n \n Learn more about GNU AGPL v3\n \n
  • \n
  • \n \n MinIO Trademark Compliance\n \n
  • \n
\n
\n
\n )}\n \n \n \n \n
\n
\n \n \n Are you already a customer? Register Here →\n \n \n \n
\n
\n \n )}\n\n \n \n
\n
\n \n );\n};\n\nexport default connector(withStyles(styles)(License));\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 { Grid } from \"@mui/material\";\nimport VerifiedIcon from \"../../../icons/VerifiedIcon\";\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n registeredStatus: {\n border: \"1px solid #E2E2E2\",\n padding: \"24px 24px 24px 24px\",\n borderRadius: 2,\n marginBottom: 25,\n backgroundColor: \"#FBFAFA\",\n \"& .min-icon\": {\n width: 20,\n height: 20,\n marginLeft: 48,\n marginRight: 13,\n verticalAlign: \"middle\",\n marginTop: -3,\n },\n \"& span\": {\n fontWeight: \"bold\",\n },\n },\n });\n\ninterface IRegisterStatus {\n classes: any;\n}\n\nfunction RegisterStatus({ classes }: IRegisterStatus) {\n return (\n \n \n Registration Status:\n \n Registered\n \n \n );\n}\n\nexport default withStyles(styles)(RegisterStatus);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckCircle');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM9 6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9V6zm9 14H6V10h12v10zm-6-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z\"\n}), 'LockOutlined');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 5.9c1.16 0 2.1.94 2.1 2.1s-.94 2.1-2.1 2.1S9.9 9.16 9.9 8s.94-2.1 2.1-2.1m0 9c2.97 0 6.1 1.46 6.1 2.1v1.1H5.9V17c0-.64 3.13-2.1 6.1-2.1M12 4C9.79 4 8 5.79 8 8s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 9c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4z\"\n}), 'PersonOutlineOutlined');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLinkUtilityClass(slot) {\n return generateUtilityClass('MuiLink', slot);\n}\nconst linkClasses = generateUtilityClasses('MuiLink', ['root', 'underlineNone', 'underlineHover', 'underlineAlways', 'button', 'focusVisible']);\nexport default linkClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"component\", \"onBlur\", \"onFocus\", \"TypographyClasses\", \"underline\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { elementTypeAcceptingRef } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha, getPath } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport useIsFocusVisible from '../utils/useIsFocusVisible';\nimport useForkRef from '../utils/useForkRef';\nimport Typography from '../Typography';\nimport linkClasses, { getLinkUtilityClass } from './linkClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst colorTransformations = {\n primary: 'primary.main',\n textPrimary: 'text.primary',\n secondary: 'secondary.main',\n textSecondary: 'text.secondary',\n error: 'error.main'\n};\n\nconst transformDeprecatedColors = color => {\n return colorTransformations[color] || color;\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n component,\n focusVisible,\n underline\n } = ownerState;\n const slots = {\n root: ['root', `underline${capitalize(underline)}`, component === 'button' && 'button', focusVisible && 'focusVisible']\n };\n return composeClasses(slots, getLinkUtilityClass, classes);\n};\n\nconst LinkRoot = styled(Typography, {\n name: 'MuiLink',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`underline${capitalize(ownerState.underline)}`], ownerState.component === 'button' && styles.button];\n }\n})(({\n theme,\n ownerState\n}) => {\n const color = getPath(theme, `palette.${transformDeprecatedColors(ownerState.color)}`) || ownerState.color;\n return _extends({}, ownerState.underline === 'none' && {\n textDecoration: 'none'\n }, ownerState.underline === 'hover' && {\n textDecoration: 'none',\n '&:hover': {\n textDecoration: 'underline'\n }\n }, ownerState.underline === 'always' && {\n textDecoration: 'underline',\n textDecorationColor: color !== 'inherit' ? alpha(color, 0.4) : undefined,\n '&:hover': {\n textDecorationColor: 'inherit'\n }\n }, ownerState.component === 'button' && {\n position: 'relative',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n MozAppearance: 'none',\n // Reset\n WebkitAppearance: 'none',\n // Reset\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n\n },\n [`&.${linkClasses.focusVisible}`]: {\n outline: 'auto'\n }\n });\n});\nconst Link = /*#__PURE__*/React.forwardRef(function Link(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLink'\n });\n\n const {\n className,\n color = 'primary',\n component = 'a',\n onBlur,\n onFocus,\n TypographyClasses,\n underline = 'always',\n variant = 'inherit'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const {\n isFocusVisibleRef,\n onBlur: handleBlurVisible,\n onFocus: handleFocusVisible,\n ref: focusVisibleRef\n } = useIsFocusVisible();\n const [focusVisible, setFocusVisible] = React.useState(false);\n const handlerRef = useForkRef(ref, focusVisibleRef);\n\n const handleBlur = event => {\n handleBlurVisible(event);\n\n if (isFocusVisibleRef.current === false) {\n setFocusVisible(false);\n }\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const handleFocus = event => {\n handleFocusVisible(event);\n\n if (isFocusVisibleRef.current === true) {\n setFocusVisible(true);\n }\n\n if (onFocus) {\n onFocus(event);\n }\n };\n\n const ownerState = _extends({}, props, {\n color,\n component,\n focusVisible,\n underline,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LinkRoot, _extends({\n className: clsx(classes.root, className),\n classes: TypographyClasses,\n color: color,\n component: component,\n onBlur: handleBlur,\n onFocus: handleFocus,\n ref: handlerRef,\n ownerState: ownerState,\n variant: variant\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Link.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 * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the link.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .any,\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: elementTypeAcceptingRef,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * `classes` prop applied to the [`Typography`](/api/typography/) element.\n */\n TypographyClasses: PropTypes.object,\n\n /**\n * Controls when the link should have an underline.\n * @default 'always'\n */\n underline: PropTypes.oneOf(['always', 'hover', 'none']),\n\n /**\n * Applies the theme typography styles.\n * @default 'inherit'\n */\n variant: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['body1', 'body2', 'button', 'caption', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'inherit', 'overline', 'subtitle1', 'subtitle2']), PropTypes.string])\n} : void 0;\nexport default Link;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"checked\", \"checkedIcon\", \"className\", \"defaultChecked\", \"disabled\", \"disableFocusRipple\", \"edge\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport ButtonBase from '../ButtonBase';\nimport { getSwitchBaseUtilityClass } from './switchBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\n\nconst SwitchBaseRoot = styled(ButtonBase)(({\n ownerState\n}) => _extends({\n padding: 9,\n borderRadius: '50%'\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}));\nconst SwitchBaseInput = styled('input')({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n/**\n * @ignore - internal component.\n */\n\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n className,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required,\n tabIndex,\n type,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n\n let disabled = disabledProp;\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n\n const ownerState = _extends({}, props, {\n checked,\n disabled,\n disableFocusRipple,\n edge\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SwitchBaseRoot, _extends({\n component: \"span\",\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SwitchBaseInput, _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor && id,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n ownerState: ownerState,\n tabIndex: tabIndex,\n type: type\n }, type === 'checkbox' && value === undefined ? {} : {\n value\n }, inputProps)), checked ? checkedIcon : icon]\n }));\n}); // NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\n\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /*\n * @ignore\n */\n name: PropTypes.string,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;"],"names":["inputStyles","makeStyles","theme","createStyles","inputFieldStyles","InputField","props","classes","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","label","onChange","value","id","name","type","autoComplete","disabled","multiline","tooltip","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","className","inputProps","container","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","fullWidth","helperText","inputRebase","onClick","size","disableFocusRipple","disableRipple","disableTouchRipple","radioStyles","root","backgroundColor","radioIcons","RadioButton","color","checkedIcon","radioSelectedIcon","icon","radioUnselectedIcon","optionLabel","marginRight","fontSize","checkedOption","selectorOptions","currentSelection","disableOptions","displayInColumn","alignItems","item","xs","radioOptionsLayout","row","style","display","textAlign","map","selectorOption","control","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","connect","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","marginTop","width","border","borderLeftWidth","borderRadius","zIndex","padding","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","cursor","errorTitle","errorLabel","marginLeft","messageIcon","height","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","useState","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","get","messageDetails","Fragment","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","connector","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","length","Dialog","open","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","toggleList","sidebarOpen","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","boxShadow","justifyContent","labelStyle","rightMenu","logo","fill","palette","primary","main","middleComponent","actions","direction","sm","md","sx","paddingTop","variant","component","pageTitle","marginBottom","pageSubTitle","containerForHeader","spacing","closeModal","ModalWrapper","Grid","Typography","subnetLicenseKey","target","href","rel","subnetLoginForm","licenseKeyField","registrationMode","button","textTransform","background","buttonSignup","formFieldStyles","clusterRegistrationForm","license","setLicense","subnetPassword","setSubnetPassword","subnetEmail","setSubnetEmail","subnetMFAToken","setSubnetMFAToken","subnetOTP","setSubnetOTP","subnetAccessToken","setSubnetAccessToken","selectedSubnetOrganisation","setSelectedSubnetOrganisation","subnetRegToken","setSubnetRegToken","subnetOrganizations","setSubnetOrganizations","onlineActivation","setOnlineActivation","loading","setLoading","clearForm","subnetLogin","request","username","password","apiKey","api","then","resp","registered","mfa_token","access_token","organizations","accountId","toString","catch","err","gutterBottom","formFieldRow","RadioGroupSelector","e","organisation","company","Button","token","account_id","subnetRegister","trim","InputBoxWrapper","LockOutlined","otp","subnetLoginWithMFA","PersonOutlineOutlined","preventDefault","window","Link","regToken","navigator","clipboard","writeText","LinearProgress","planDetails","price","capacityMax","capacityMin","planItems","field","plans","Community","detail","link","Standard","Enterprise","planButtons","text","text2","plan","planItemsPadding","borderTop","planItemsBorder","textDecoration","info","linkButton","fontFamily","margin","tableContainer","detailsContainerBorder","borderLeft","detailsTitle","currPlan","planHeader","detailsPrice","detailsCapacityMax","itemContainer","borderRight","itemContainerDetail","alignContent","itemFirst","checkIcon","buttonContainer","buttonContainerBlank","buttonContainerHighlighted","activateLink","clear","currentPlanBG","activateProductModal","closeModalAndFetchLicenseInfo","licenseInfo","setLicenseModal","currentPlanID","planDetailsFiltered","setActivateProductModal","filter","planButtonsFiltered","gridColWidth","details","currentPlan","toLowerCase","communityDetail","pd","CheckCircle","undefined","listStyleType","float","licDet","linkMore","chooseFlavorText","licenseContainer","flexWrap","flexDirection","openSourcePolicy","subnetRefreshLicenseLink","licenseInfoTitle","licenseInfoValue","subnetSubTitle","verifiedIcon","bottom","loadingLoginStrategy","mainContainer","licenseModal","setLicenseInfo","setCurrentPlanID","loadingLicenseInfo","setLoadingLicenseInfo","initialLicenseLoading","setInitialLicenseLoading","loadingRefreshLicense","setLoadingRefreshLicense","clusterRegistered","setClusterRegistered","getSubnetInfo","hasPermission","CONSOLE_UI_RESOURCE","IAM_PAGES_PERMISSIONS","IAM_PAGES","fetchLicenseInfo","res","PageHeader","RegisterStatus","lg","organization","niceBytes","storage_capacity","email","format","expires_at","split","slice","join","src","alt","CircularProgress","to","registeredStatus","verticalAlign","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getLinkUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","colorTransformations","textPrimary","secondary","textSecondary","LinkRoot","styled","overridesResolver","styles","ownerState","capitalize","underline","getPath","transformDeprecatedColors","_extends","textDecorationColor","alpha","WebkitTapHighlightColor","outline","userSelect","MozAppearance","WebkitAppearance","borderStyle","linkClasses","React","inProps","ref","useThemeProps","onBlur","onFocus","TypographyClasses","other","_objectWithoutPropertiesLoose","useIsFocusVisible","isFocusVisibleRef","handleBlurVisible","handleFocusVisible","focusVisibleRef","focusVisible","setFocusVisible","handlerRef","useForkRef","slots","composeClasses","useUtilityClasses","_jsx","current","getSwitchBaseUtilityClass","SwitchBaseRoot","ButtonBase","edge","SwitchBaseInput","checkedProp","checked","defaultChecked","disabledProp","inputRef","readOnly","tabIndex","useControlled","controlled","Boolean","setCheckedState","muiFormControl","useFormControl","hasLabelFor","input","_jsxs","centerRipple","focusRipple","role","nativeEvent","defaultPrevented","newChecked"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/428.4625197b.chunk.js.map b/portal-ui/build/static/js/428.4625197b.chunk.js.map index abcdc5a01..3a355998d 100644 --- a/portal-ui/build/static/js/428.4625197b.chunk.js.map +++ b/portal-ui/build/static/js/428.4625197b.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/428.4625197b.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/NotificationEndpoints/CustomForms/ConfPostgres.tsx","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.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 { Grid, InputLabel, TextField, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\ninterface CommentBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontSize: 14,\n margin: 0,\n alignItems: \"flex-start\",\n paddingTop: \"20px\",\n flexWrap: \"wrap\",\n display: \"flex\",\n },\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n cssOutlinedInput: {\n borderColor: \"#EAEAEA\",\n padding: 16,\n },\n rootContainer: {\n \"& .MuiOutlinedInput-inputMultiline\": {\n ...fieldBasic.inputLabel,\n fontSize: 13,\n minHeight: 150,\n },\n \"&.Mui-focused .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"#07193E\",\n borderWidth: 1,\n },\n \"& textarea\": {\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n \"&:placeholder\": {\n color: \"#858585\",\n opacity: 1,\n fontWeight: 400,\n },\n },\n },\n });\n\nconst CommentBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n disabled = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n classes,\n}: CommentBoxProps) => {\n let inputProps: any = { \"data-index\": index };\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n\n
\n \n
\n
\n \n );\n};\n\nexport default withStyles(styles)(CommentBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n
\n )}\n
\n
\n \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\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","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\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, { useCallback, useEffect, useState } 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\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { IElementValue } from \"../../Configurations/types\";\nimport {\n formFieldStyles,\n modalBasic,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport CommentBoxWrapper from \"../../Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport PredefinedList from \"../../Common/FormComponents/PredefinedList/PredefinedList\";\n\ninterface IConfPostgresProps {\n onChange: (newValue: IElementValue[]) => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n ...formFieldStyles,\n });\n\nconst ConfPostgres = ({ onChange, classes }: IConfPostgresProps) => {\n //Local States\n const [useConnectionString, setUseConnectionString] =\n useState(false);\n const [connectionString, setConnectionString] = useState(\"\");\n const [host, setHostname] = useState(\"\");\n const [dbName, setDbName] = useState(\"\");\n const [port, setPort] = useState(\"\");\n const [user, setUser] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n const [sslMode, setSslMode] = useState(\" \");\n\n const [table, setTable] = useState(\"\");\n const [format, setFormat] = useState(\"namespace\");\n const [queueDir, setQueueDir] = useState(\"\");\n const [queueLimit, setQueueLimit] = useState(\"\");\n const [comment, setComment] = useState(\"\");\n\n // connection_string* (string) Postgres server connection-string e.g. \"host=localhost port=5432 dbname=minio_events user=postgres password=password sslmode=disable\"\n\n // \"host=localhost\n // port=5432\n //dbname=minio_events\n //user=postgres\n //password=password\n //sslmode=disable\"\n\n // table* (string) DB table name to store/update events, table is auto-created\n // format* (namespace*|access) 'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'\n // queue_dir (path) staging dir for undelivered messages e.g. '/home/events'\n // queue_limit (number) maximum limit for undelivered messages, defaults to '10000'\n // comment (sentence) optionally add a comment to this setting\n\n const KvSeparator = \"=\";\n const parseConnectionString = (\n input: string,\n keys: string[]\n ): Map => {\n let valueIndexes: number[] = [];\n\n for (const key of keys) {\n const i = input.indexOf(key + KvSeparator);\n if (i === -1) {\n continue;\n }\n valueIndexes.push(i);\n }\n valueIndexes.sort((n1, n2) => n1 - n2);\n\n let kvFields = new Map();\n let fields: string[] = new Array(valueIndexes.length);\n for (let i = 0; i < valueIndexes.length; i++) {\n const j = i + 1;\n if (j < valueIndexes.length) {\n fields[i] = input.substr(\n valueIndexes[i],\n valueIndexes[j] - valueIndexes[i]\n );\n } else {\n fields[i] = input.substr(valueIndexes[i]);\n }\n }\n\n for (let field of fields) {\n if (field === undefined) {\n continue;\n }\n const key = field.substr(0, field.indexOf(\"=\"));\n const value = field.substr(field.indexOf(\"=\") + 1).trim();\n kvFields.set(key, value);\n }\n return kvFields;\n };\n\n const configToString = useCallback((): string => {\n let strValue = \"\";\n if (host !== \"\") {\n strValue = `${strValue} host=${host}`;\n }\n if (dbName !== \"\") {\n strValue = `${strValue} dbname=${dbName}`;\n }\n if (user !== \"\") {\n strValue = `${strValue} user=${user}`;\n }\n if (password !== \"\") {\n strValue = `${strValue} password=${password}`;\n }\n if (port !== \"\") {\n strValue = `${strValue} port=${port}`;\n }\n if (sslMode !== \" \") {\n strValue = `${strValue} sslmode=${sslMode}`;\n }\n\n strValue = `${strValue} `;\n\n return strValue.trim();\n }, [host, dbName, user, password, port, sslMode]);\n\n useEffect(() => {\n if (connectionString !== \"\") {\n const formValues = [\n { key: \"connection_string\", value: connectionString },\n { key: \"table\", value: table },\n { key: \"format\", value: format },\n { key: \"queue_dir\", value: queueDir },\n { key: \"queue_limit\", value: queueLimit },\n { key: \"comment\", value: comment },\n ];\n\n onChange(formValues);\n }\n }, [\n connectionString,\n table,\n format,\n queueDir,\n queueLimit,\n comment,\n onChange,\n ]);\n\n useEffect(() => {\n const cs = configToString();\n setConnectionString(cs);\n }, [\n user,\n dbName,\n password,\n port,\n sslMode,\n host,\n setConnectionString,\n configToString,\n ]);\n\n useEffect(() => {\n if (useConnectionString) {\n // build connection_string\n const cs = configToString();\n setConnectionString(cs);\n\n return;\n }\n // parse connection_string\n const kv = parseConnectionString(connectionString, [\n \"host\",\n \"port\",\n \"dbname\",\n \"user\",\n \"password\",\n \"sslmode\",\n ]);\n setHostname(kv.get(\"host\") ? kv.get(\"host\") + \"\" : \"\");\n setPort(kv.get(\"port\") ? kv.get(\"port\") + \"\" : \"\");\n setDbName(kv.get(\"dbname\") ? kv.get(\"dbname\") + \"\" : \"\");\n setUser(kv.get(\"user\") ? kv.get(\"user\") + \"\" : \"\");\n setPassword(kv.get(\"password\") ? kv.get(\"password\") + \"\" : \"\");\n setSslMode(kv.get(\"sslmode\") ? kv.get(\"sslmode\") + \"\" : \" \");\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [useConnectionString]);\n\n return (\n \n \n {\n setUseConnectionString(e.target.checked);\n }}\n value={\"manualString\"}\n />\n \n {useConnectionString ? (\n \n \n ) => {\n setConnectionString(e.target.value);\n }}\n />\n \n \n ) : (\n \n \n \n \n ) => {\n setHostname(e.target.value);\n }}\n />\n \n \n ) => {\n setDbName(e.target.value);\n }}\n />\n \n \n ) => {\n setPort(e.target.value);\n }}\n />\n \n \n {\n if (e.target.value !== undefined) {\n setSslMode(e.target.value + \"\");\n }\n }}\n options={[\n { label: \"Enter SSL Mode\", value: \" \" },\n { label: \"Require\", value: \"require\" },\n { label: \"Disable\", value: \"disable\" },\n { label: \"Verify CA\", value: \"verify-ca\" },\n { label: \"Verify Full\", value: \"verify-full\" },\n ]}\n />\n \n \n ) => {\n setUser(e.target.value);\n }}\n />\n \n \n ) => {\n setPassword(e.target.value);\n }}\n />\n \n \n \n \n \n
\n
\n
\n )}\n \n ) => {\n setTable(e.target.value);\n }}\n />\n \n \n {\n setFormat(e.target.value);\n }}\n tooltip=\"'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'\"\n selectorOptions={[\n { label: \"Namespace\", value: \"namespace\" },\n { label: \"Access\", value: \"access\" },\n ]}\n />\n \n \n ) => {\n setQueueDir(e.target.value);\n }}\n />\n \n \n ) => {\n setQueueLimit(e.target.value);\n }}\n />\n \n \n ) => {\n setComment(e.target.value);\n }}\n />\n \n
\n );\n};\n\nexport default withStyles(styles)(ConfPostgres);\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\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 ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\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.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\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 [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.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 [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.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 * 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.\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 Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\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 menu 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 * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\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\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;"],"names":["withStyles","theme","createStyles","fieldBasic","tooltipHelper","inputLabel","fontSize","margin","alignItems","paddingTop","flexWrap","display","textBoxContainer","flexGrow","position","cssOutlinedInput","borderColor","padding","rootContainer","minHeight","borderWidth","color","fontWeight","opacity","label","onChange","value","id","name","disabled","tooltip","index","error","required","placeholder","classes","inputProps","item","xs","className","fieldContainer","errorInField","htmlFor","tooltipContainer","title","placement","fullWidth","multiline","rows","helperText","InputLabelProps","shrink","InputProps","notchedOutline","root","variant","StyledSwitch","width","height","switchBase","transform","palette","common","white","backgroundColor","boxShadow","border","thumb","marginLeft","track","borderRadius","transition","transitions","create","checked","focusVisible","switchContainer","justifyContent","Switch","divContainer","marginBottom","indicatorLabelOn","indicatorLabel","fieldDescription","marginTop","actionsTray","switchOnly","description","indicatorLabels","switchComponent","clsx","length","disableRipple","disableFocusRipple","disableTouchRipple","container","sm","md","textAlign","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","overlayAction","right","top","maxWidth","maxHeight","type","autoComplete","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputBoxContainer","noMinWidthLabel","inputRebase","onClick","size","predefinedList","content","multiLine","Fragment","prefinedContainer","predefinedTitle","innerContentMultiline","innerContent","radioStyles","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","icon","radioUnselectedIcon","optionLabel","marginRight","checkedOption","selectorOptions","currentSelection","disableOptions","displayInColumn","radioOptionsLayout","row","style","map","selectorOption","control","SelectStyled","lineHeight","spacing","input","InputBase","flexFlow","options","option","modalBasic","formFieldStyles","useState","useConnectionString","setUseConnectionString","connectionString","setConnectionString","host","setHostname","dbName","setDbName","port","setPort","user","setUser","password","setPassword","sslMode","setSslMode","table","setTable","format","setFormat","queueDir","setQueueDir","queueLimit","setQueueLimit","comment","setComment","configToString","useCallback","strValue","trim","useEffect","key","cs","kv","keys","valueIndexes","i","indexOf","push","sort","n1","n2","kvFields","Map","fields","Array","j","substr","field","undefined","set","parseConnectionString","get","e","target","formFieldRow","configureString","getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getMenuItemUtilityClass","_excluded","MenuItemRoot","styled","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","styles","ownerState","dense","divider","disableGutters","gutters","_extends","typography","body1","textDecoration","paddingBottom","boxSizing","whiteSpace","paddingLeft","paddingRight","borderBottom","backgroundClip","action","hover","menuItemClasses","alpha","primary","main","selectedOpacity","focusOpacity","hoverOpacity","focus","disabledOpacity","listItemTextClasses","listItemIconClasses","minWidth","breakpoints","up","body2","React","inProps","ref","useThemeProps","focusVisibleClassName","role","tabIndexProp","tabIndex","other","_objectWithoutPropertiesLoose","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","selected","slots","composedClasses","composeClasses","useUtilityClasses","handleRef","useForkRef","_jsx","children"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/428.4625197b.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/NotificationEndpoints/CustomForms/ConfPostgres.tsx","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.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 { Grid, InputLabel, TextField, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\ninterface CommentBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontSize: 14,\n margin: 0,\n alignItems: \"flex-start\",\n paddingTop: \"20px\",\n flexWrap: \"wrap\",\n display: \"flex\",\n },\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n cssOutlinedInput: {\n borderColor: \"#EAEAEA\",\n padding: 16,\n },\n rootContainer: {\n \"& .MuiOutlinedInput-inputMultiline\": {\n ...fieldBasic.inputLabel,\n fontSize: 13,\n minHeight: 150,\n },\n \"&.Mui-focused .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"#07193E\",\n borderWidth: 1,\n },\n \"& textarea\": {\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n \"&:placeholder\": {\n color: \"#858585\",\n opacity: 1,\n fontWeight: 400,\n },\n },\n },\n });\n\nconst CommentBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n disabled = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n classes,\n}: CommentBoxProps) => {\n let inputProps: any = { \"data-index\": index };\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n\n
\n \n
\n \n
\n );\n};\n\nexport default withStyles(styles)(CommentBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n
\n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n
\n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\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","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\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, { useCallback, useEffect, useState } 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\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { IElementValue } from \"../../Configurations/types\";\nimport {\n formFieldStyles,\n modalBasic,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport CommentBoxWrapper from \"../../Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport PredefinedList from \"../../Common/FormComponents/PredefinedList/PredefinedList\";\n\ninterface IConfPostgresProps {\n onChange: (newValue: IElementValue[]) => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n ...formFieldStyles,\n });\n\nconst ConfPostgres = ({ onChange, classes }: IConfPostgresProps) => {\n //Local States\n const [useConnectionString, setUseConnectionString] =\n useState(false);\n const [connectionString, setConnectionString] = useState(\"\");\n const [host, setHostname] = useState(\"\");\n const [dbName, setDbName] = useState(\"\");\n const [port, setPort] = useState(\"\");\n const [user, setUser] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n const [sslMode, setSslMode] = useState(\" \");\n\n const [table, setTable] = useState(\"\");\n const [format, setFormat] = useState(\"namespace\");\n const [queueDir, setQueueDir] = useState(\"\");\n const [queueLimit, setQueueLimit] = useState(\"\");\n const [comment, setComment] = useState(\"\");\n\n // connection_string* (string) Postgres server connection-string e.g. \"host=localhost port=5432 dbname=minio_events user=postgres password=password sslmode=disable\"\n\n // \"host=localhost\n // port=5432\n //dbname=minio_events\n //user=postgres\n //password=password\n //sslmode=disable\"\n\n // table* (string) DB table name to store/update events, table is auto-created\n // format* (namespace*|access) 'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'\n // queue_dir (path) staging dir for undelivered messages e.g. '/home/events'\n // queue_limit (number) maximum limit for undelivered messages, defaults to '10000'\n // comment (sentence) optionally add a comment to this setting\n\n const KvSeparator = \"=\";\n const parseConnectionString = (\n input: string,\n keys: string[]\n ): Map => {\n let valueIndexes: number[] = [];\n\n for (const key of keys) {\n const i = input.indexOf(key + KvSeparator);\n if (i === -1) {\n continue;\n }\n valueIndexes.push(i);\n }\n valueIndexes.sort((n1, n2) => n1 - n2);\n\n let kvFields = new Map();\n let fields: string[] = new Array(valueIndexes.length);\n for (let i = 0; i < valueIndexes.length; i++) {\n const j = i + 1;\n if (j < valueIndexes.length) {\n fields[i] = input.substr(\n valueIndexes[i],\n valueIndexes[j] - valueIndexes[i]\n );\n } else {\n fields[i] = input.substr(valueIndexes[i]);\n }\n }\n\n for (let field of fields) {\n if (field === undefined) {\n continue;\n }\n const key = field.substr(0, field.indexOf(\"=\"));\n const value = field.substr(field.indexOf(\"=\") + 1).trim();\n kvFields.set(key, value);\n }\n return kvFields;\n };\n\n const configToString = useCallback((): string => {\n let strValue = \"\";\n if (host !== \"\") {\n strValue = `${strValue} host=${host}`;\n }\n if (dbName !== \"\") {\n strValue = `${strValue} dbname=${dbName}`;\n }\n if (user !== \"\") {\n strValue = `${strValue} user=${user}`;\n }\n if (password !== \"\") {\n strValue = `${strValue} password=${password}`;\n }\n if (port !== \"\") {\n strValue = `${strValue} port=${port}`;\n }\n if (sslMode !== \" \") {\n strValue = `${strValue} sslmode=${sslMode}`;\n }\n\n strValue = `${strValue} `;\n\n return strValue.trim();\n }, [host, dbName, user, password, port, sslMode]);\n\n useEffect(() => {\n if (connectionString !== \"\") {\n const formValues = [\n { key: \"connection_string\", value: connectionString },\n { key: \"table\", value: table },\n { key: \"format\", value: format },\n { key: \"queue_dir\", value: queueDir },\n { key: \"queue_limit\", value: queueLimit },\n { key: \"comment\", value: comment },\n ];\n\n onChange(formValues);\n }\n }, [\n connectionString,\n table,\n format,\n queueDir,\n queueLimit,\n comment,\n onChange,\n ]);\n\n useEffect(() => {\n const cs = configToString();\n setConnectionString(cs);\n }, [\n user,\n dbName,\n password,\n port,\n sslMode,\n host,\n setConnectionString,\n configToString,\n ]);\n\n useEffect(() => {\n if (useConnectionString) {\n // build connection_string\n const cs = configToString();\n setConnectionString(cs);\n\n return;\n }\n // parse connection_string\n const kv = parseConnectionString(connectionString, [\n \"host\",\n \"port\",\n \"dbname\",\n \"user\",\n \"password\",\n \"sslmode\",\n ]);\n setHostname(kv.get(\"host\") ? kv.get(\"host\") + \"\" : \"\");\n setPort(kv.get(\"port\") ? kv.get(\"port\") + \"\" : \"\");\n setDbName(kv.get(\"dbname\") ? kv.get(\"dbname\") + \"\" : \"\");\n setUser(kv.get(\"user\") ? kv.get(\"user\") + \"\" : \"\");\n setPassword(kv.get(\"password\") ? kv.get(\"password\") + \"\" : \"\");\n setSslMode(kv.get(\"sslmode\") ? kv.get(\"sslmode\") + \"\" : \" \");\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [useConnectionString]);\n\n return (\n \n \n {\n setUseConnectionString(e.target.checked);\n }}\n value={\"manualString\"}\n />\n \n {useConnectionString ? (\n \n \n ) => {\n setConnectionString(e.target.value);\n }}\n />\n \n \n ) : (\n \n \n \n \n ) => {\n setHostname(e.target.value);\n }}\n />\n \n \n ) => {\n setDbName(e.target.value);\n }}\n />\n \n \n ) => {\n setPort(e.target.value);\n }}\n />\n \n \n {\n if (e.target.value !== undefined) {\n setSslMode(e.target.value + \"\");\n }\n }}\n options={[\n { label: \"Enter SSL Mode\", value: \" \" },\n { label: \"Require\", value: \"require\" },\n { label: \"Disable\", value: \"disable\" },\n { label: \"Verify CA\", value: \"verify-ca\" },\n { label: \"Verify Full\", value: \"verify-full\" },\n ]}\n />\n \n \n ) => {\n setUser(e.target.value);\n }}\n />\n \n \n ) => {\n setPassword(e.target.value);\n }}\n />\n \n \n \n \n \n
\n
\n
\n )}\n \n ) => {\n setTable(e.target.value);\n }}\n />\n \n \n {\n setFormat(e.target.value);\n }}\n tooltip=\"'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'\"\n selectorOptions={[\n { label: \"Namespace\", value: \"namespace\" },\n { label: \"Access\", value: \"access\" },\n ]}\n />\n \n \n ) => {\n setQueueDir(e.target.value);\n }}\n />\n \n \n ) => {\n setQueueLimit(e.target.value);\n }}\n />\n \n \n ) => {\n setComment(e.target.value);\n }}\n />\n \n
\n );\n};\n\nexport default withStyles(styles)(ConfPostgres);\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\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 ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\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.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\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 [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.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 [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.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 * 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.\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 Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\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 menu 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 * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\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\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;"],"names":["withStyles","theme","createStyles","fieldBasic","tooltipHelper","inputLabel","fontSize","margin","alignItems","paddingTop","flexWrap","display","textBoxContainer","flexGrow","position","cssOutlinedInput","borderColor","padding","rootContainer","minHeight","borderWidth","color","fontWeight","opacity","label","onChange","value","id","name","disabled","tooltip","index","error","required","placeholder","classes","inputProps","item","xs","className","fieldContainer","errorInField","htmlFor","tooltipContainer","title","placement","fullWidth","multiline","rows","helperText","InputLabelProps","shrink","InputProps","notchedOutline","root","variant","StyledSwitch","width","height","switchBase","transform","palette","common","white","backgroundColor","boxShadow","border","thumb","marginLeft","track","borderRadius","transition","transitions","create","checked","focusVisible","switchContainer","justifyContent","Switch","divContainer","marginBottom","indicatorLabelOn","indicatorLabel","fieldDescription","marginTop","actionsTray","switchOnly","description","indicatorLabels","switchComponent","clsx","length","disableRipple","disableFocusRipple","disableTouchRipple","container","sm","md","textAlign","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","overlayAction","right","top","maxWidth","maxHeight","type","autoComplete","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputBoxContainer","noMinWidthLabel","inputRebase","onClick","size","predefinedList","content","multiLine","Fragment","prefinedContainer","predefinedTitle","innerContentMultiline","innerContent","radioStyles","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","icon","radioUnselectedIcon","optionLabel","marginRight","checkedOption","selectorOptions","currentSelection","disableOptions","displayInColumn","radioOptionsLayout","row","style","map","selectorOption","control","SelectStyled","lineHeight","spacing","input","InputBase","flexFlow","options","option","modalBasic","formFieldStyles","useState","useConnectionString","setUseConnectionString","connectionString","setConnectionString","host","setHostname","dbName","setDbName","port","setPort","user","setUser","password","setPassword","sslMode","setSslMode","table","setTable","format","setFormat","queueDir","setQueueDir","queueLimit","setQueueLimit","comment","setComment","configToString","useCallback","strValue","trim","useEffect","key","cs","kv","keys","valueIndexes","i","indexOf","push","sort","n1","n2","kvFields","Map","fields","Array","j","substr","field","undefined","set","parseConnectionString","get","e","target","formFieldRow","configureString","getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getMenuItemUtilityClass","_excluded","MenuItemRoot","styled","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","styles","ownerState","dense","divider","disableGutters","gutters","_extends","typography","body1","textDecoration","paddingBottom","boxSizing","whiteSpace","paddingLeft","paddingRight","borderBottom","backgroundClip","action","hover","menuItemClasses","alpha","primary","main","selectedOpacity","focusOpacity","hoverOpacity","focus","disabledOpacity","listItemTextClasses","listItemIconClasses","minWidth","breakpoints","up","body2","React","inProps","ref","useThemeProps","focusVisibleClassName","role","tabIndexProp","tabIndex","other","_objectWithoutPropertiesLoose","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","selected","slots","composedClasses","composeClasses","useUtilityClasses","handleRef","useForkRef","_jsx","children"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/5482.c80a5ebb.chunk.js b/portal-ui/build/static/js/5482.c80a5ebb.chunk.js deleted file mode 100644 index a15591e4c..000000000 --- a/portal-ui/build/static/js/5482.c80a5ebb.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5482,7348,2594],{96152:function(e,t,n){"use strict";var r=n(64119);t.Z=void 0;var o=r(n(66830)),i=n(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add");t.Z=a},14476:function(e,t,n){"use strict";n.d(t,{Z:function(){return w}});var r=n(36222),o=n(46633),i=n(18207),a=n(50390),c=n(91442),l=n(4733),s=n(50076),u=n(8208),d=n(15573),f=n(66946),p=n(18201),v=n(10594);function g(e){return(0,v.Z)("MuiLoadingButton",e)}var m=(0,n(43349).Z)("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),h=n(62559),b=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],y=(0,u.ZP)(f.Z,{shouldForwardProp:function(e){return function(e){return"ownerState"!==e&&"theme"!==e&&"sx"!==e&&"as"!==e&&"classes"!==e}(e)||"classes"===e},name:"MuiLoadingButton",slot:"Root",overridesResolver:function(e,t){return[t.root,t.startIconLoadingStart&&(0,r.Z)({},"& .".concat(m.startIconLoadingStart),t.startIconLoadingStart),t.endIconLoadingEnd&&(0,r.Z)({},"& .".concat(m.endIconLoadingEnd),t.endIconLoadingEnd)]}})((function(e){var t=e.ownerState,n=e.theme;return(0,i.Z)((0,r.Z)({},"& .".concat(m.startIconLoadingStart,", & .").concat(m.endIconLoadingEnd),{transition:n.transitions.create(["opacity"],{duration:n.transitions.duration.short}),opacity:0}),"center"===t.loadingPosition&&(0,r.Z)({transition:n.transitions.create(["background-color","box-shadow","border-color"],{duration:n.transitions.duration.short})},"&.".concat(m.loading),{color:"transparent"}),"start"===t.loadingPosition&&t.fullWidth&&(0,r.Z)({},"& .".concat(m.startIconLoadingStart,", & .").concat(m.endIconLoadingEnd),{transition:n.transitions.create(["opacity"],{duration:n.transitions.duration.short}),opacity:0,marginRight:-8}),"end"===t.loadingPosition&&t.fullWidth&&(0,r.Z)({},"& .".concat(m.startIconLoadingStart,", & .").concat(m.endIconLoadingEnd),{transition:n.transitions.create(["opacity"],{duration:n.transitions.duration.short}),opacity:0,marginLeft:-8}))})),Z=(0,u.ZP)("div",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:function(e,t){var n=e.ownerState;return[t.loadingIndicator,t["loadingIndicator".concat((0,c.Z)(n.loadingPosition))]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,i.Z)({position:"absolute",visibility:"visible",display:"flex"},"start"===n.loadingPosition&&("outlined"===n.variant||"contained"===n.variant)&&{left:14},"start"===n.loadingPosition&&"text"===n.variant&&{left:6},"center"===n.loadingPosition&&{left:"50%",transform:"translate(-50%)",color:t.palette.action.disabled},"end"===n.loadingPosition&&("outlined"===n.variant||"contained"===n.variant)&&{right:14},"end"===n.loadingPosition&&"text"===n.variant&&{right:6},"start"===n.loadingPosition&&n.fullWidth&&{position:"relative",left:-10},"end"===n.loadingPosition&&n.fullWidth&&{position:"relative",right:-10})})),w=a.forwardRef((function(e,t){var n=(0,d.Z)({props:e,name:"MuiLoadingButton"}),r=n.children,u=n.disabled,f=void 0!==u&&u,v=n.id,m=n.loading,w=void 0!==m&&m,O=n.loadingIndicator,x=n.loadingPosition,S=void 0===x?"center":x,C=n.variant,P=void 0===C?"text":C,D=(0,o.Z)(n,b),k=(0,l.Z)(v),j=null!=O?O:(0,h.jsx)(p.Z,{"aria-labelledby":k,color:"inherit",size:16}),R=(0,i.Z)({},n,{disabled:f,loading:w,loadingIndicator:j,loadingPosition:S,variant:P}),E=function(e){var t=e.loading,n=e.loadingPosition,r=e.classes,o={root:["root",t&&"loading"],startIcon:[t&&"startIconLoading".concat((0,c.Z)(n))],endIcon:[t&&"endIconLoading".concat((0,c.Z)(n))],loadingIndicator:["loadingIndicator",t&&"loadingIndicator".concat((0,c.Z)(n))]},a=(0,s.Z)(o,g,r);return(0,i.Z)({},r,a)}(R);return(0,h.jsx)(y,(0,i.Z)({disabled:f||w,id:k,ref:t},D,{variant:P,classes:E,ownerState:R,children:"end"===R.loadingPosition?(0,h.jsxs)(a.Fragment,{children:[r,w&&(0,h.jsx)(Z,{className:E.loadingIndicator,ownerState:R,children:j})]}):(0,h.jsxs)(a.Fragment,{children:[w&&(0,h.jsx)(Z,{className:E.loadingIndicator,ownerState:R,children:j}),r]})}))}))},97227:function(e,t,n){"use strict";n.d(t,{ZP:function(){return c},_i:function(){return l},uU:function(){return s},pQ:function(){return u}});var r=n(23430),o=n(50390),i=n(62559),a=o.createContext(null);function c(e){var t=e.children,n=e.value,c=function(){var e=o.useState(null),t=(0,r.Z)(e,2),n=t[0],i=t[1];return o.useEffect((function(){i("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),n}(),l=o.useMemo((function(){return{idPrefix:c,value:n}}),[c,n]);return(0,i.jsx)(a.Provider,{value:l,children:t})}function l(){return o.useContext(a)}function s(e,t){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(t)}function u(e,t){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(t)}},74564:function(e,t,n){"use strict";var r=n(18207),o=n(46633),i=n(50390),a=n(98247),c=n(97227),l=n(62559),s=["children"],u=i.forwardRef((function(e,t){var n=e.children,u=(0,o.Z)(e,s),d=(0,c._i)();if(null===d)throw new TypeError("No TabContext provided");var f=i.Children.map(n,(function(e){return i.isValidElement(e)?i.cloneElement(e,{"aria-controls":(0,c.uU)(d,e.props.value),id:(0,c.pQ)(d,e.props.value)}):null}));return(0,l.jsx)(a.Z,(0,r.Z)({},u,{ref:t,value:d.value,children:f}))}));t.Z=u},669:function(e,t,n){"use strict";n.d(t,{Z:function(){return m}});var r=n(18207),o=n(46633),i=n(50390),a=n(44977),c=n(8208),l=n(15573),s=n(50076),u=n(10594);function d(e){return(0,u.Z)("MuiTabPanel",e)}(0,n(43349).Z)("MuiTabPanel",["root"]);var f=n(97227),p=n(62559),v=["children","className","value"],g=(0,c.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,t){return t.root}})((function(e){return{padding:e.theme.spacing(3)}})),m=i.forwardRef((function(e,t){var n=(0,l.Z)({props:e,name:"MuiTabPanel"}),i=n.children,c=n.className,u=n.value,m=(0,o.Z)(n,v),h=(0,r.Z)({},n),b=function(e){var t=e.classes;return(0,s.Z)({root:["root"]},d,t)}(h),y=(0,f._i)();if(null===y)throw new TypeError("No TabContext provided");var Z=(0,f.uU)(y,u),w=(0,f.pQ)(y,u);return(0,p.jsx)(g,(0,r.Z)({"aria-labelledby":w,className:(0,a.Z)(b.root,c),hidden:u!==y.value,id:Z,ref:t,role:"tabpanel",ownerState:h},m,{children:u===y.value&&i}))}))},2857:function(e,t,n){"use strict";n.d(t,{Z:function(){return E}});var r=n(36222),o=n(1048),i=n(32793),a=n(50390),c=n(44977),l=function(e){var t=a.useRef({});return a.useEffect((function(){t.current=e})),t.current},s=n(43349),u=n(10594);function d(e){return(0,u.Z)("MuiBadge",e)}var f=(0,s.Z)("MuiBadge",["root","badge","dot","standard","anchorOriginTopLeft","anchorOriginTopRight","anchorOriginBottomLeft","anchorOriginBottomRight","invisible"]),p=n(38331),v=n(23960),g=n(89705),m=n(50076),h=n(53135);var b=n(62559),y=["anchorOrigin","classes","badgeContent","component","children","className","components","componentsProps","invisible","max","showZero","variant"],Z=a.forwardRef((function(e,t){var n=e.anchorOrigin,r=void 0===n?{vertical:"top",horizontal:"right"}:n,o=e.classes,i=e.component,a=e.children,s=e.className,u=e.components,f=void 0===u?{}:u,Z=e.componentsProps,w=void 0===Z?{}:Z,O=e.max,x=void 0===O?99:O,S=e.showZero,C=void 0!==S&&S,P=e.variant,D=void 0===P?"standard":P,k=(0,v.Z)(e,y),j=function(e){var t=e.anchorOrigin,n=void 0===t?{vertical:"top",horizontal:"right"}:t,r=e.badgeContent,o=e.invisible,i=e.max,a=void 0===i?99:i,c=e.showZero,s=void 0!==c&&c,u=e.variant,d=void 0===u?"standard":u,f=l({anchorOrigin:n,badgeContent:r,max:a,variant:d}),p=o;null==o&&(0===r&&!s||null==r&&"dot"!==d)&&(p=!0);var v=p?f:e,g=v.anchorOrigin,m=void 0===g?n:g,h=v.badgeContent,b=v.max,y=void 0===b?a:b,Z=v.variant,w=void 0===Z?d:Z,O="";return"dot"!==w&&(O=h&&Number(h)>y?"".concat(y,"+"):h),{anchorOrigin:m,badgeContent:h,invisible:p,max:y,variant:w,displayValue:O}}((0,p.Z)({},e,{anchorOrigin:r,max:x,variant:D})),R=j.anchorOrigin,E=j.badgeContent,I=j.max,A=j.variant,F=j.displayValue,z=j.invisible,M=(0,p.Z)({},e,{anchorOrigin:R,badgeContent:E,classes:o,invisible:z,max:I,variant:A,showZero:C}),T=function(e){var t=e.variant,n=e.anchorOrigin,r=e.invisible,o=e.classes,i={root:["root"],badge:["badge",t,"anchorOrigin".concat((0,g.Z)(n.vertical)).concat((0,g.Z)(n.horizontal)),r&&"invisible"]};return(0,m.Z)(i,d,o)}(M),L=i||f.Root||"span",B=(0,h.Z)(L,(0,p.Z)({},k,w.root),M),N=f.Badge||"span",_=(0,h.Z)(N,w.badge,M);return(0,b.jsxs)(L,(0,p.Z)({},B,{ref:t},k,{className:(0,c.Z)(T.root,B.className,s),children:[a,(0,b.jsx)(N,(0,p.Z)({},_,{className:(0,c.Z)(T.badge,_.className),children:F}))]}))})),w=Z,O=n(8208),x=n(15573),S=n(45193),C=function(e){return!e||!(0,S.Z)(e)},P=n(91442),D=["anchorOrigin","component","components","componentsProps","overlap","color","invisible","badgeContent","showZero","variant"],k=(0,i.Z)({},f,(0,s.Z)("MuiBadge",["colorError","colorInfo","colorPrimary","colorSecondary","colorSuccess","colorWarning","overlapRectangular","overlapCircular","anchorOriginTopLeftCircular","anchorOriginTopLeftRectangular","anchorOriginTopRightCircular","anchorOriginTopRightRectangular","anchorOriginBottomLeftCircular","anchorOriginBottomLeftRectangular","anchorOriginBottomRightCircular","anchorOriginBottomRightRectangular"])),j=(0,O.ZP)("span",{name:"MuiBadge",slot:"Root",overridesResolver:function(e,t){return t.root}})({position:"relative",display:"inline-flex",verticalAlign:"middle",flexShrink:0}),R=(0,O.ZP)("span",{name:"MuiBadge",slot:"Badge",overridesResolver:function(e,t){var n=e.ownerState;return[t.badge,t[n.variant],t["anchorOrigin".concat((0,P.Z)(n.anchorOrigin.vertical)).concat((0,P.Z)(n.anchorOrigin.horizontal)).concat((0,P.Z)(n.overlap))],"default"!==n.color&&t["color".concat((0,P.Z)(n.color))],n.invisible&&t.invisible]}})((function(e){var t=e.theme,n=e.ownerState;return(0,i.Z)({display:"flex",flexDirection:"row",flexWrap:"wrap",justifyContent:"center",alignContent:"center",alignItems:"center",position:"absolute",boxSizing:"border-box",fontFamily:t.typography.fontFamily,fontWeight:t.typography.fontWeightMedium,fontSize:t.typography.pxToRem(12),minWidth:20,lineHeight:1,padding:"0 6px",height:20,borderRadius:10,zIndex:1,transition:t.transitions.create("transform",{easing:t.transitions.easing.easeInOut,duration:t.transitions.duration.enteringScreen})},"default"!==n.color&&{backgroundColor:t.palette[n.color].main,color:t.palette[n.color].contrastText},"dot"===n.variant&&{borderRadius:4,height:8,minWidth:8,padding:0},"top"===n.anchorOrigin.vertical&&"right"===n.anchorOrigin.horizontal&&"rectangular"===n.overlap&&(0,r.Z)({top:0,right:0,transform:"scale(1) translate(50%, -50%)",transformOrigin:"100% 0%"},"&.".concat(k.invisible),{transform:"scale(0) translate(50%, -50%)"}),"bottom"===n.anchorOrigin.vertical&&"right"===n.anchorOrigin.horizontal&&"rectangular"===n.overlap&&(0,r.Z)({bottom:0,right:0,transform:"scale(1) translate(50%, 50%)",transformOrigin:"100% 100%"},"&.".concat(k.invisible),{transform:"scale(0) translate(50%, 50%)"}),"top"===n.anchorOrigin.vertical&&"left"===n.anchorOrigin.horizontal&&"rectangular"===n.overlap&&(0,r.Z)({top:0,left:0,transform:"scale(1) translate(-50%, -50%)",transformOrigin:"0% 0%"},"&.".concat(k.invisible),{transform:"scale(0) translate(-50%, -50%)"}),"bottom"===n.anchorOrigin.vertical&&"left"===n.anchorOrigin.horizontal&&"rectangular"===n.overlap&&(0,r.Z)({bottom:0,left:0,transform:"scale(1) translate(-50%, 50%)",transformOrigin:"0% 100%"},"&.".concat(k.invisible),{transform:"scale(0) translate(-50%, 50%)"}),"top"===n.anchorOrigin.vertical&&"right"===n.anchorOrigin.horizontal&&"circular"===n.overlap&&(0,r.Z)({top:"14%",right:"14%",transform:"scale(1) translate(50%, -50%)",transformOrigin:"100% 0%"},"&.".concat(k.invisible),{transform:"scale(0) translate(50%, -50%)"}),"bottom"===n.anchorOrigin.vertical&&"right"===n.anchorOrigin.horizontal&&"circular"===n.overlap&&(0,r.Z)({bottom:"14%",right:"14%",transform:"scale(1) translate(50%, 50%)",transformOrigin:"100% 100%"},"&.".concat(k.invisible),{transform:"scale(0) translate(50%, 50%)"}),"top"===n.anchorOrigin.vertical&&"left"===n.anchorOrigin.horizontal&&"circular"===n.overlap&&(0,r.Z)({top:"14%",left:"14%",transform:"scale(1) translate(-50%, -50%)",transformOrigin:"0% 0%"},"&.".concat(k.invisible),{transform:"scale(0) translate(-50%, -50%)"}),"bottom"===n.anchorOrigin.vertical&&"left"===n.anchorOrigin.horizontal&&"circular"===n.overlap&&(0,r.Z)({bottom:"14%",left:"14%",transform:"scale(1) translate(-50%, 50%)",transformOrigin:"0% 100%"},"&.".concat(k.invisible),{transform:"scale(0) translate(-50%, 50%)"}),n.invisible&&{transition:t.transitions.create("transform",{easing:t.transitions.easing.easeInOut,duration:t.transitions.duration.leavingScreen})})})),E=a.forwardRef((function(e,t){var n,r,a=(0,x.Z)({props:e,name:"MuiBadge"}),s=a.anchorOrigin,u=void 0===s?{vertical:"top",horizontal:"right"}:s,f=a.component,p=void 0===f?"span":f,v=a.components,g=void 0===v?{}:v,m=a.componentsProps,h=void 0===m?{}:m,y=a.overlap,Z=void 0===y?"rectangular":y,O=a.color,S=void 0===O?"default":O,k=a.invisible,E=a.badgeContent,I=a.showZero,A=void 0!==I&&I,F=a.variant,z=void 0===F?"standard":F,M=(0,o.Z)(a,D),T=l({anchorOrigin:u,color:S,overlap:Z}),L=k;null==k&&(0===E&&!A||null==E&&"dot"!==z)&&(L=!0);var B=L?T:a,N=B.color,_=void 0===N?S:N,V=B.overlap,W=void 0===V?Z:V,U=B.anchorOrigin,G=void 0===U?u:U,K=function(e){var t=e.color,n=e.anchorOrigin,r=e.overlap,o=e.classes,a=void 0===o?{}:o;return(0,i.Z)({},a,{badge:(0,c.Z)(a.badge,d("anchorOrigin".concat((0,P.Z)(n.vertical)).concat((0,P.Z)(n.horizontal)).concat((0,P.Z)(r))),d("overlap".concat((0,P.Z)(r))),"default"!==t&&[d("color".concat((0,P.Z)(t))),a["color".concat((0,P.Z)(t))]])})}((0,i.Z)({},a,{anchorOrigin:G,invisible:L,color:_,overlap:W}));return(0,b.jsx)(w,(0,i.Z)({anchorOrigin:G,invisible:k,badgeContent:E,showZero:A,variant:z},M,{components:(0,i.Z)({Root:j,Badge:R},g),componentsProps:{root:(0,i.Z)({},h.root,C(g.Root)&&{as:p,ownerState:(0,i.Z)({},null==(n=h.root)?void 0:n.ownerState,{color:_,overlap:W})}),badge:(0,i.Z)({},h.badge,C(g.Badge)&&{ownerState:(0,i.Z)({},null==(r=h.badge)?void 0:r.ownerState,{color:_,overlap:W})})},classes:K,ref:t}))}))},7887:function(e,t,n){"use strict";n.d(t,{Z:function(){return g}});var r=n(1048),o=n(32793),i=n(50390),a=n(44977),c=n(50076),l=n(8208),s=n(15573),u=n(10594);function d(e){return(0,u.Z)("MuiDialogActions",e)}(0,n(43349).Z)("MuiDialogActions",["root","spacing"]);var f=n(62559),p=["className","disableSpacing"],v=(0,l.ZP)("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,!n.disableSpacing&&t.spacing]}})((function(e){var t=e.ownerState;return(0,o.Z)({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!t.disableSpacing&&{"& > :not(:first-of-type)":{marginLeft:8}})})),g=i.forwardRef((function(e,t){var n=(0,s.Z)({props:e,name:"MuiDialogActions"}),i=n.className,l=n.disableSpacing,u=void 0!==l&&l,g=(0,r.Z)(n,p),m=(0,o.Z)({},n,{disableSpacing:u}),h=function(e){var t=e.classes,n={root:["root",!e.disableSpacing&&"spacing"]};return(0,c.Z)(n,d,t)}(m);return(0,f.jsx)(v,(0,o.Z)({className:(0,a.Z)(h.root,i),ownerState:m,ref:t},g))}))},23473:function(e,t,n){"use strict";n.d(t,{Z:function(){return g}});var r=n(1048),o=n(32793),i=n(50390),a=n(50076),c=n(8208),l=n(15573),s=n(35477),u=n(10594);function d(e){return(0,u.Z)("MuiDialogContentText",e)}(0,n(43349).Z)("MuiDialogContentText",["root"]);var f=n(62559),p=["children"],v=(0,c.ZP)(s.Z,{shouldForwardProp:function(e){return(0,c.FO)(e)||"classes"===e},name:"MuiDialogContentText",slot:"Root",overridesResolver:function(e,t){return t.root}})({}),g=i.forwardRef((function(e,t){var n=(0,l.Z)({props:e,name:"MuiDialogContentText"}),i=(0,r.Z)(n,p),c=function(e){var t=e.classes,n=(0,a.Z)({root:["root"]},d,t);return(0,o.Z)({},t,n)}(i);return(0,f.jsx)(v,(0,o.Z)({component:"p",variant:"body1",color:"text.secondary",ref:t,ownerState:i},n,{classes:c}))}))},4247:function(e,t,n){"use strict";n.d(t,{V:function(){return o}});var r=n(10594);function o(e){return(0,r.Z)("MuiDivider",e)}var i=(0,n(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=i},65771:function(e,t,n){"use strict";n.d(t,{Z:function(){return O}});var r=n(36222),o=n(1048),i=n(32793),a=n(50390),c=n(44977),l=n(50076),s=n(91442),u=n(35477),d=n(14478),f=n(23060),p=n(8208),v=n(10594);function g(e){return(0,v.Z)("MuiInputAdornment",e)}var m,h=(0,n(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),b=n(15573),y=n(62559),Z=["children","className","component","disablePointerEvents","disableTypography","position","variant"],w=(0,p.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["position".concat((0,s.Z)(n.position))],!0===n.disablePointerEvents&&t.disablePointerEvents,t[n.variant]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,i.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:t.palette.action.active},"filled"===n.variant&&(0,r.Z)({},"&.".concat(h.positionStart,"&:not(.").concat(h.hiddenLabel,")"),{marginTop:16}),"start"===n.position&&{marginRight:8},"end"===n.position&&{marginLeft:8},!0===n.disablePointerEvents&&{pointerEvents:"none"})})),O=a.forwardRef((function(e,t){var n=(0,b.Z)({props:e,name:"MuiInputAdornment"}),r=n.children,p=n.className,v=n.component,h=void 0===v?"div":v,O=n.disablePointerEvents,x=void 0!==O&&O,S=n.disableTypography,C=void 0!==S&&S,P=n.position,D=n.variant,k=(0,o.Z)(n,Z),j=(0,f.Z)()||{},R=D;D&&j.variant,j&&!R&&(R=j.variant);var E=(0,i.Z)({},n,{hiddenLabel:j.hiddenLabel,size:j.size,disablePointerEvents:x,position:P,variant:R}),I=function(e){var t=e.classes,n=e.disablePointerEvents,r=e.hiddenLabel,o=e.position,i=e.size,a=e.variant,c={root:["root",n&&"disablePointerEvents",o&&"position".concat((0,s.Z)(o)),a,r&&"hiddenLabel",i&&"size".concat((0,s.Z)(i))]};return(0,l.Z)(c,g,t)}(E);return(0,y.jsx)(d.Z.Provider,{value:null,children:(0,y.jsx)(w,(0,i.Z)({as:h,ownerState:E,className:(0,c.Z)(I.root,p),ref:t},k,{children:"string"!==typeof r||C?(0,y.jsxs)(a.Fragment,{children:["start"===P?m||(m=(0,y.jsx)("span",{className:"notranslate",children:"\u200b"})):null,r]}):(0,y.jsx)(u.Z,{color:"text.secondary",children:r})}))})}))},31680:function(e,t,n){"use strict";n.d(t,{Z:function(){return C}});var r=n(36222),o=n(1048),i=n(32793),a=n(50390),c=n(44977),l=n(50076),s=n(36128),u=n(8208),d=n(15573),f=n(57308),p=n(86875),v=n(40839),g=n(3299),m=n(4247),h=n(2198),b=n(23586),y=n(10594);function Z(e){return(0,y.Z)("MuiMenuItem",e)}var w=(0,n(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),O=n(62559),x=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],S=(0,u.ZP)(p.Z,{shouldForwardProp:function(e){return(0,u.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,o=e.ownerState;return(0,i.Z)({},n.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!o.disableGutters&&{paddingLeft:16,paddingRight:16},o.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,r.Z)(t,"&.".concat(w.selected),(0,r.Z)({backgroundColor:(0,s.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(w.focusVisible),{backgroundColor:(0,s.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,r.Z)(t,"&.".concat(w.selected,":hover"),{backgroundColor:(0,s.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,s.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),(0,r.Z)(t,"&.".concat(w.focusVisible),{backgroundColor:n.palette.action.focus}),(0,r.Z)(t,"&.".concat(w.disabled),{opacity:n.palette.action.disabledOpacity}),(0,r.Z)(t,"& + .".concat(m.Z.root),{marginTop:n.spacing(1),marginBottom:n.spacing(1)}),(0,r.Z)(t,"& + .".concat(m.Z.inset),{marginLeft:52}),(0,r.Z)(t,"& .".concat(b.Z.root),{marginTop:0,marginBottom:0}),(0,r.Z)(t,"& .".concat(b.Z.inset),{paddingLeft:36}),(0,r.Z)(t,"& .".concat(h.Z.root),{minWidth:36}),t),!o.dense&&(0,r.Z)({},n.breakpoints.up("sm"),{minHeight:"auto"}),o.dense&&(0,i.Z)({minHeight:32,paddingTop:4,paddingBottom:4},n.typography.body2,(0,r.Z)({},"& .".concat(h.Z.root," svg"),{fontSize:"1.25rem"})))})),C=a.forwardRef((function(e,t){var n=(0,d.Z)({props:e,name:"MuiMenuItem"}),r=n.autoFocus,s=void 0!==r&&r,u=n.component,p=void 0===u?"li":u,m=n.dense,h=void 0!==m&&m,b=n.divider,y=void 0!==b&&b,w=n.disableGutters,C=void 0!==w&&w,P=n.focusVisibleClassName,D=n.role,k=void 0===D?"menuitem":D,j=n.tabIndex,R=(0,o.Z)(n,x),E=a.useContext(f.Z),I={dense:h||E.dense||!1,disableGutters:C},A=a.useRef(null);(0,v.Z)((function(){s&&A.current&&A.current.focus()}),[s]);var F,z=(0,i.Z)({},n,{dense:I.dense,divider:y,disableGutters:C}),M=function(e){var t=e.disabled,n=e.dense,r=e.divider,o=e.disableGutters,a=e.selected,c=e.classes,s={root:["root",n&&"dense",t&&"disabled",!o&&"gutters",r&&"divider",a&&"selected"]},u=(0,l.Z)(s,Z,c);return(0,i.Z)({},c,u)}(n),T=(0,g.Z)(A,t);return n.disabled||(F=void 0!==j?j:-1),(0,O.jsx)(f.Z.Provider,{value:I,children:(0,O.jsx)(S,(0,i.Z)({ref:T,role:k,tabIndex:F,component:p,focusVisibleClassName:(0,c.Z)(M.focusVisible,P)},R,{ownerState:z,classes:M}))})}))},19787:function(e,t,n){"use strict";var r=n(36222),o=n(1048),i=n(32793),a=n(50390),c=n(11188),l=n(88646),s=n(99301),u=n(64487),d=n(8208),f=n(15573),p=n(62559),v=["component","direction","spacing","divider","children"];function g(e,t){var n=a.Children.toArray(e).filter(Boolean);return n.reduce((function(e,r,o){return e.push(r),o :not(style) + :not(style)":(0,r.Z)({margin:0},"margin".concat((o=n?d[n]:t.direction,{row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"}[o])),(0,l.NA)(a,e))};var o})))}return o})),h=a.forwardRef((function(e,t){var n=(0,f.Z)({props:e,name:"MuiStack"}),r=(0,s.Z)(n),a=r.component,c=void 0===a?"div":a,l=r.direction,u=void 0===l?"column":l,d=r.spacing,h=void 0===d?0:d,b=r.divider,y=r.children,Z=(0,o.Z)(r,v),w={direction:u,spacing:h};return(0,p.jsx)(m,(0,i.Z)({as:c,ownerState:w,ref:t},Z,{children:b?g(y,b):y}))}));t.Z=h},49056:function(e,t,n){"use strict";n.d(t,{Z:function(){return x}});var r=n(36222),o=n(1048),i=n(32793),a=n(50390),c=n(44977),l=n(50076),s=n(36128),u=n(91442),d=n(16756),f=n(15573),p=n(8208),v=n(10594);function g(e){return(0,v.Z)("MuiSwitch",e)}var m=(0,n(43349).Z)("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),h=n(62559),b=["className","color","edge","size","sx"],y=(0,p.ZP)("span",{name:"MuiSwitch",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.edge&&t["edge".concat((0,u.Z)(n.edge))],t["size".concat((0,u.Z)(n.size))]]}})((function(e){var t,n=e.ownerState;return(0,i.Z)({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"}},"start"===n.edge&&{marginLeft:-8},"end"===n.edge&&{marginRight:-8},"small"===n.size&&(t={width:40,height:24,padding:7},(0,r.Z)(t,"& .".concat(m.thumb),{width:16,height:16}),(0,r.Z)(t,"& .".concat(m.switchBase),(0,r.Z)({padding:4},"&.".concat(m.checked),{transform:"translateX(16px)"})),t))})),Z=(0,p.ZP)(d.Z,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:function(e,t){var n=e.ownerState;return[t.switchBase,(0,r.Z)({},"& .".concat(m.input),t.input),"default"!==n.color&&t["color".concat((0,u.Z)(n.color))]]}})((function(e){var t,n=e.theme;return t={position:"absolute",top:0,left:0,zIndex:1,color:"light"===n.palette.mode?n.palette.common.white:n.palette.grey[300],transition:n.transitions.create(["left","transform"],{duration:n.transitions.duration.shortest})},(0,r.Z)(t,"&.".concat(m.checked),{transform:"translateX(20px)"}),(0,r.Z)(t,"&.".concat(m.disabled),{color:"light"===n.palette.mode?n.palette.grey[100]:n.palette.grey[600]}),(0,r.Z)(t,"&.".concat(m.checked," + .").concat(m.track),{opacity:.5}),(0,r.Z)(t,"&.".concat(m.disabled," + .").concat(m.track),{opacity:"light"===n.palette.mode?.12:.2}),(0,r.Z)(t,"& .".concat(m.input),{left:"-100%",width:"300%"}),t}),(function(e){var t,n=e.theme,o=e.ownerState;return(0,i.Z)({"&:hover":{backgroundColor:(0,s.Fq)(n.palette.action.active,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==o.color&&(t={},(0,r.Z)(t,"&.".concat(m.checked),(0,r.Z)({color:n.palette[o.color].main,"&:hover":{backgroundColor:(0,s.Fq)(n.palette[o.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(m.disabled),{color:"light"===n.palette.mode?(0,s.$n)(n.palette[o.color].main,.62):(0,s._j)(n.palette[o.color].main,.55)})),(0,r.Z)(t,"&.".concat(m.checked," + .").concat(m.track),{backgroundColor:n.palette[o.color].main}),t))})),w=(0,p.ZP)("span",{name:"MuiSwitch",slot:"Track",overridesResolver:function(e,t){return t.track}})((function(e){var t=e.theme;return{height:"100%",width:"100%",borderRadius:7,zIndex:-1,transition:t.transitions.create(["opacity","background-color"],{duration:t.transitions.duration.shortest}),backgroundColor:"light"===t.palette.mode?t.palette.common.black:t.palette.common.white,opacity:"light"===t.palette.mode?.38:.3}})),O=(0,p.ZP)("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:function(e,t){return t.thumb}})((function(e){return{boxShadow:e.theme.shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}})),x=a.forwardRef((function(e,t){var n=(0,f.Z)({props:e,name:"MuiSwitch"}),r=n.className,a=n.color,s=void 0===a?"primary":a,d=n.edge,p=void 0!==d&&d,v=n.size,m=void 0===v?"medium":v,x=n.sx,S=(0,o.Z)(n,b),C=(0,i.Z)({},n,{color:s,edge:p,size:m}),P=function(e){var t=e.classes,n=e.edge,r=e.size,o=e.color,a=e.checked,c=e.disabled,s={root:["root",n&&"edge".concat((0,u.Z)(n)),"size".concat((0,u.Z)(r))],switchBase:["switchBase","color".concat((0,u.Z)(o)),a&&"checked",c&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},d=(0,l.Z)(s,g,t);return(0,i.Z)({},t,d)}(C),D=(0,h.jsx)(O,{className:P.thumb,ownerState:C});return(0,h.jsxs)(y,{className:(0,c.Z)(P.root,r),sx:x,ownerState:C,children:[(0,h.jsx)(Z,(0,i.Z)({type:"checkbox",icon:D,checkedIcon:D,ref:t,ownerState:C},S,{classes:(0,i.Z)({},P,{root:P.switchBase})})),(0,h.jsx)(w,{className:P.track,ownerState:C})]})}))},31147:function(e,t){"use strict";t.Z=function(e,t){if(e&&t){var n=Array.isArray(t)?t:t.split(","),r=e.name||"",o=(e.type||"").toLowerCase(),i=o.replace(/\/.*$/,"");return n.some((function(e){var t=e.trim().toLowerCase();return"."===t.charAt(0)?r.toLowerCase().endsWith(t):t.endsWith("/*")?i===t.replace(/\/.*$/,""):o===t}))}return!0}},20409:function(e,t,n){"use strict";var r=n(61498),o={"text/plain":"Text","text/html":"Url",default:"Text"};e.exports=function(e,t){var n,i,a,c,l,s,u=!1;t||(t={}),n=t.debug||!1;try{if(a=r(),c=document.createRange(),l=document.getSelection(),(s=document.createElement("span")).textContent=e,s.style.all="unset",s.style.position="fixed",s.style.top=0,s.style.clip="rect(0, 0, 0, 0)",s.style.whiteSpace="pre",s.style.webkitUserSelect="text",s.style.MozUserSelect="text",s.style.msUserSelect="text",s.style.userSelect="text",s.addEventListener("copy",(function(r){if(r.stopPropagation(),t.format)if(r.preventDefault(),"undefined"===typeof r.clipboardData){n&&console.warn("unable to use e.clipboardData"),n&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var i=o[t.format]||o.default;window.clipboardData.setData(i,e)}else r.clipboardData.clearData(),r.clipboardData.setData(t.format,e);t.onCopy&&(r.preventDefault(),t.onCopy(r.clipboardData))})),document.body.appendChild(s),c.selectNodeContents(s),l.addRange(c),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");u=!0}catch(d){n&&console.error("unable to copy using execCommand: ",d),n&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),u=!0}catch(d){n&&console.error("unable to copy using clipboardData: ",d),n&&console.error("falling back to prompt"),i=function(e){var t=(/mac os x/i.test(navigator.userAgent)?"\u2318":"Ctrl")+"+C";return e.replace(/#{\s*key\s*}/g,t)}("message"in t?t.message:"Copy to clipboard: #{key}, Enter"),window.prompt(i,e)}}finally{l&&("function"==typeof l.removeRange?l.removeRange(c):l.removeAllRanges()),s&&document.body.removeChild(s),a()}return u}},12900:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CopyToClipboard=void 0;var r=i(n(50390)),o=i(n(20409));function i(e){return e&&e.__esModule?e:{default:e}}function a(e){return a="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){for(var n=0;n0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0)&&!(r=i.next()).done;)a.push(r.value)}catch(c){o={error:c}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}Object.create;var s=new Map([["avi","video/avi"],["gif","image/gif"],["ico","image/x-icon"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["mkv","video/x-matroska"],["mov","video/quicktime"],["mp4","video/mp4"],["pdf","application/pdf"],["png","image/png"],["zip","application/zip"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"]]);function u(e,t){var n=function(e){var t=e.name;if(t&&-1!==t.lastIndexOf(".")&&!e.type){var n=t.split(".").pop().toLowerCase(),r=s.get(n);r&&Object.defineProperty(e,"type",{value:r,writable:!1,configurable:!1,enumerable:!0})}return e}(e);if("string"!==typeof n.path){var r=e.webkitRelativePath;Object.defineProperty(n,"path",{value:"string"===typeof t?t:"string"===typeof r&&r.length>0?r:e.name,writable:!1,configurable:!1,enumerable:!0})}return n}var d=[".DS_Store","Thumbs.db"];function f(e){return(null!==e.target&&e.target.files?g(e.target.files):[]).map((function(e){return u(e)}))}function p(e,t){return a(this,void 0,void 0,(function(){var n;return c(this,(function(r){switch(r.label){case 0:return e.items?(n=g(e.items).filter((function(e){return"file"===e.kind})),"drop"!==t?[2,n]:[4,Promise.all(n.map(m))]):[3,2];case 1:return[2,v(h(r.sent()))];case 2:return[2,v(g(e.files).map((function(e){return u(e)})))]}}))}))}function v(e){return e.filter((function(e){return-1===d.indexOf(e.name)}))}function g(e){for(var t=[],n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nn)return[!1,R(n)];if(e.sizen)return[!1,R(n)]}return[!0,null]}function z(e){return void 0!==e&&null!==e}function M(e){var t=e.files,n=e.accept,r=e.minSize,o=e.maxSize,i=e.multiple,a=e.maxFiles;return!(!i&&t.length>1||i&&a>=1&&t.length>a)&&t.every((function(e){var t=x(A(e,n),1)[0],i=x(F(e,r,o),1)[0];return t&&i}))}function T(e){return"function"===typeof e.isPropagationStopped?e.isPropagationStopped():"undefined"!==typeof e.cancelBubble&&e.cancelBubble}function L(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,(function(e){return"Files"===e||"application/x-moz-file"===e})):!!e.target&&!!e.target.files}function B(e){e.preventDefault()}function N(e){return-1!==e.indexOf("MSIE")||-1!==e.indexOf("Trident/")}function _(e){return-1!==e.indexOf("Edge/")}function V(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.navigator.userAgent;return N(e)||_(e)}function W(){for(var e=arguments.length,t=new Array(e),n=0;n1?n-1:0),o=1;oe.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var ne=(0,r.forwardRef)((function(e,t){var n=e.children,o=ie(te(e,U)),i=o.open,a=te(o,G);return(0,r.useImperativeHandle)(t,(function(){return{open:i}}),[i]),r.createElement(r.Fragment,null,n(Y(Y({},a),{},{open:i})))}));ne.displayName="Dropzone";var re={disabled:!1,getFilesFromEvent:function(e){return a(this,void 0,void 0,(function(){return c(this,(function(t){return[2,(n=e,n.dataTransfer&&e.dataTransfer?p(e.dataTransfer,e.type):f(e))];var n}))}))},maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null};ne.defaultProps=re,ne.propTypes={children:i().func,accept:i().oneOfType([i().string,i().arrayOf(i().string)]),multiple:i().bool,preventDropOnDocument:i().bool,noClick:i().bool,noKeyboard:i().bool,noDrag:i().bool,noDragEventsBubbling:i().bool,minSize:i().number,maxSize:i().number,maxFiles:i().number,disabled:i().bool,getFilesFromEvent:i().func,onFileDialogCancel:i().func,onFileDialogOpen:i().func,onDragEnter:i().func,onDragLeave:i().func,onDragOver:i().func,onDrop:i().func,onDropAccepted:i().func,onDropRejected:i().func,validator:i().func};var oe={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,draggedFiles:[],acceptedFiles:[],fileRejections:[]};function ie(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Y(Y({},re),e),n=t.accept,o=t.disabled,i=t.getFilesFromEvent,a=t.maxSize,c=t.minSize,l=t.multiple,s=t.maxFiles,u=t.onDragEnter,d=t.onDragLeave,f=t.onDragOver,p=t.onDrop,v=t.onDropAccepted,g=t.onDropRejected,m=t.onFileDialogCancel,h=t.onFileDialogOpen,b=t.preventDropOnDocument,y=t.noClick,Z=t.noKeyboard,w=t.noDrag,O=t.noDragEventsBubbling,x=t.validator,S=(0,r.useRef)(null),C=(0,r.useRef)(null),P=(0,r.useReducer)(ae,oe),D=H(P,2),k=D[0],j=D[1],R=k.isFocused,E=k.isFileDialogActive,z=k.draggedFiles,N=(0,r.useCallback)((function(){C.current&&(j({type:"openDialog"}),"function"===typeof h&&h(),C.current.value=null,C.current.click())}),[j,h]),_=function(){E&&setTimeout((function(){C.current&&(C.current.files.length||(j({type:"closeDialog"}),"function"===typeof m&&m()))}),300)};(0,r.useEffect)((function(){return window.addEventListener("focus",_,!1),function(){window.removeEventListener("focus",_,!1)}}),[C,E,m]);var U=(0,r.useCallback)((function(e){S.current&&S.current.isEqualNode(e.target)&&(32!==e.keyCode&&13!==e.keyCode||(e.preventDefault(),N()))}),[S,C,N]),G=(0,r.useCallback)((function(){j({type:"focus"})}),[]),Q=(0,r.useCallback)((function(){j({type:"blur"})}),[]),X=(0,r.useCallback)((function(){y||(V()?setTimeout(N,0):N())}),[C,y,N]),J=(0,r.useRef)([]),ne=function(e){S.current&&S.current.contains(e.target)||(e.preventDefault(),J.current=[])};(0,r.useEffect)((function(){return b&&(document.addEventListener("dragover",B,!1),document.addEventListener("drop",ne,!1)),function(){b&&(document.removeEventListener("dragover",B),document.removeEventListener("drop",ne))}}),[S,b]);var ie=(0,r.useCallback)((function(e){e.preventDefault(),e.persist(),pe(e),J.current=[].concat($(J.current),[e.target]),L(e)&&Promise.resolve(i(e)).then((function(t){T(e)&&!O||(j({draggedFiles:t,isDragActive:!0,type:"setDraggedFiles"}),u&&u(e))}))}),[i,u,O]),ce=(0,r.useCallback)((function(e){e.preventDefault(),e.persist(),pe(e);var t=L(e);if(t&&e.dataTransfer)try{e.dataTransfer.dropEffect="copy"}catch(n){}return t&&f&&f(e),!1}),[f,O]),le=(0,r.useCallback)((function(e){e.preventDefault(),e.persist(),pe(e);var t=J.current.filter((function(e){return S.current&&S.current.contains(e)})),n=t.indexOf(e.target);-1!==n&&t.splice(n,1),J.current=t,t.length>0||(j({isDragActive:!1,type:"setDraggedFiles",draggedFiles:[]}),L(e)&&d&&d(e))}),[S,d,O]),se=(0,r.useCallback)((function(e){e.preventDefault(),e.persist(),pe(e),J.current=[],L(e)&&Promise.resolve(i(e)).then((function(t){if(!T(e)||O){var r=[],o=[];t.forEach((function(e){var t=H(A(e,n),2),i=t[0],l=t[1],s=H(F(e,c,a),2),u=s[0],d=s[1],f=x?x(e):null;if(i&&u&&!f)r.push(e);else{var p=[l,d];f&&(p=p.concat(f)),o.push({file:e,errors:p.filter((function(e){return e}))})}})),(!l&&r.length>1||l&&s>=1&&r.length>s)&&(r.forEach((function(e){o.push({file:e,errors:[I]})})),r.splice(0)),j({acceptedFiles:r,fileRejections:o,type:"setFiles"}),p&&p(r,o,e),o.length>0&&g&&g(o,e),r.length>0&&v&&v(r,e)}})),j({type:"reset"})}),[l,n,c,a,s,i,p,v,g,O,x]),ue=function(e){return o?null:e},de=function(e){return Z?null:ue(e)},fe=function(e){return w?null:ue(e)},pe=function(e){O&&e.stopPropagation()},ve=(0,r.useMemo)((function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.refKey,n=void 0===t?"ref":t,r=e.onKeyDown,i=e.onFocus,a=e.onBlur,c=e.onClick,l=e.onDragEnter,s=e.onDragOver,u=e.onDragLeave,d=e.onDrop,f=te(e,K);return Y(Y(ee({onKeyDown:de(W(r,U)),onFocus:de(W(i,G)),onBlur:de(W(a,Q)),onClick:ue(W(c,X)),onDragEnter:fe(W(l,ie)),onDragOver:fe(W(s,ce)),onDragLeave:fe(W(u,le)),onDrop:fe(W(d,se))},n,S),o||Z?{}:{tabIndex:0}),f)}}),[S,U,G,Q,X,ie,ce,le,se,Z,w,o]),ge=(0,r.useCallback)((function(e){e.stopPropagation()}),[]),me=(0,r.useMemo)((function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.refKey,r=void 0===t?"ref":t,o=e.onChange,i=e.onClick,a=te(e,q),c=ee({accept:n,multiple:l,type:"file",style:{display:"none"},onChange:ue(W(o,se)),onClick:ue(W(i,ge)),autoComplete:"off",tabIndex:-1},r,C);return Y(Y({},c),a)}}),[C,n,l,se,o]),he=z.length,be=he>0&&M({files:z,accept:n,minSize:c,maxSize:a,multiple:l,maxFiles:s}),ye=he>0&&!be;return Y(Y({},k),{},{isDragAccept:be,isDragReject:ye,isFocused:R&&!o,getRootProps:ve,getInputProps:me,rootRef:S,inputRef:C,open:ue(N)})}function ae(e,t){switch(t.type){case"focus":return Y(Y({},e),{},{isFocused:!0});case"blur":return Y(Y({},e),{},{isFocused:!1});case"openDialog":return Y(Y({},e),{},{isFileDialogActive:!0});case"closeDialog":return Y(Y({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":var n=t.isDragActive,r=t.draggedFiles;return Y(Y({},e),{},{draggedFiles:r,isDragActive:n});case"setFiles":return Y(Y({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return Y({},oe);default:return e}}},61498:function(e){e.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,n=[],r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}n.d(t,{Z:function(){return r}})}}]); -//# sourceMappingURL=5482.c80a5ebb.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/5482.dcaee6b1.chunk.js b/portal-ui/build/static/js/5482.dcaee6b1.chunk.js new file mode 100644 index 000000000..b1dee0936 --- /dev/null +++ b/portal-ui/build/static/js/5482.dcaee6b1.chunk.js @@ -0,0 +1,2 @@ +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5482,7348,2594,8750],{96152:function(e,t,n){"use strict";var r=n(64119);t.Z=void 0;var o=r(n(66830)),i=n(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add");t.Z=a},14476:function(e,t,n){"use strict";n.d(t,{Z:function(){return w}});var r=n(36222),o=n(46633),i=n(18207),a=n(50390),c=n(91442),l=n(4733),s=n(50076),u=n(8208),d=n(15573),f=n(66946),p=n(18201),v=n(10594);function g(e){return(0,v.Z)("MuiLoadingButton",e)}var m=(0,n(43349).Z)("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),h=n(62559),b=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],y=(0,u.ZP)(f.Z,{shouldForwardProp:function(e){return function(e){return"ownerState"!==e&&"theme"!==e&&"sx"!==e&&"as"!==e&&"classes"!==e}(e)||"classes"===e},name:"MuiLoadingButton",slot:"Root",overridesResolver:function(e,t){return[t.root,t.startIconLoadingStart&&(0,r.Z)({},"& .".concat(m.startIconLoadingStart),t.startIconLoadingStart),t.endIconLoadingEnd&&(0,r.Z)({},"& .".concat(m.endIconLoadingEnd),t.endIconLoadingEnd)]}})((function(e){var t=e.ownerState,n=e.theme;return(0,i.Z)((0,r.Z)({},"& .".concat(m.startIconLoadingStart,", & .").concat(m.endIconLoadingEnd),{transition:n.transitions.create(["opacity"],{duration:n.transitions.duration.short}),opacity:0}),"center"===t.loadingPosition&&(0,r.Z)({transition:n.transitions.create(["background-color","box-shadow","border-color"],{duration:n.transitions.duration.short})},"&.".concat(m.loading),{color:"transparent"}),"start"===t.loadingPosition&&t.fullWidth&&(0,r.Z)({},"& .".concat(m.startIconLoadingStart,", & .").concat(m.endIconLoadingEnd),{transition:n.transitions.create(["opacity"],{duration:n.transitions.duration.short}),opacity:0,marginRight:-8}),"end"===t.loadingPosition&&t.fullWidth&&(0,r.Z)({},"& .".concat(m.startIconLoadingStart,", & .").concat(m.endIconLoadingEnd),{transition:n.transitions.create(["opacity"],{duration:n.transitions.duration.short}),opacity:0,marginLeft:-8}))})),Z=(0,u.ZP)("div",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:function(e,t){var n=e.ownerState;return[t.loadingIndicator,t["loadingIndicator".concat((0,c.Z)(n.loadingPosition))]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,i.Z)({position:"absolute",visibility:"visible",display:"flex"},"start"===n.loadingPosition&&("outlined"===n.variant||"contained"===n.variant)&&{left:14},"start"===n.loadingPosition&&"text"===n.variant&&{left:6},"center"===n.loadingPosition&&{left:"50%",transform:"translate(-50%)",color:t.palette.action.disabled},"end"===n.loadingPosition&&("outlined"===n.variant||"contained"===n.variant)&&{right:14},"end"===n.loadingPosition&&"text"===n.variant&&{right:6},"start"===n.loadingPosition&&n.fullWidth&&{position:"relative",left:-10},"end"===n.loadingPosition&&n.fullWidth&&{position:"relative",right:-10})})),w=a.forwardRef((function(e,t){var n=(0,d.Z)({props:e,name:"MuiLoadingButton"}),r=n.children,u=n.disabled,f=void 0!==u&&u,v=n.id,m=n.loading,w=void 0!==m&&m,O=n.loadingIndicator,x=n.loadingPosition,S=void 0===x?"center":x,C=n.variant,P=void 0===C?"text":C,D=(0,o.Z)(n,b),k=(0,l.Z)(v),j=null!=O?O:(0,h.jsx)(p.Z,{"aria-labelledby":k,color:"inherit",size:16}),R=(0,i.Z)({},n,{disabled:f,loading:w,loadingIndicator:j,loadingPosition:S,variant:P}),E=function(e){var t=e.loading,n=e.loadingPosition,r=e.classes,o={root:["root",t&&"loading"],startIcon:[t&&"startIconLoading".concat((0,c.Z)(n))],endIcon:[t&&"endIconLoading".concat((0,c.Z)(n))],loadingIndicator:["loadingIndicator",t&&"loadingIndicator".concat((0,c.Z)(n))]},a=(0,s.Z)(o,g,r);return(0,i.Z)({},r,a)}(R);return(0,h.jsx)(y,(0,i.Z)({disabled:f||w,id:k,ref:t},D,{variant:P,classes:E,ownerState:R,children:"end"===R.loadingPosition?(0,h.jsxs)(a.Fragment,{children:[r,w&&(0,h.jsx)(Z,{className:E.loadingIndicator,ownerState:R,children:j})]}):(0,h.jsxs)(a.Fragment,{children:[w&&(0,h.jsx)(Z,{className:E.loadingIndicator,ownerState:R,children:j}),r]})}))}))},97227:function(e,t,n){"use strict";n.d(t,{ZP:function(){return c},_i:function(){return l},uU:function(){return s},pQ:function(){return u}});var r=n(23430),o=n(50390),i=n(62559),a=o.createContext(null);function c(e){var t=e.children,n=e.value,c=function(){var e=o.useState(null),t=(0,r.Z)(e,2),n=t[0],i=t[1];return o.useEffect((function(){i("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),n}(),l=o.useMemo((function(){return{idPrefix:c,value:n}}),[c,n]);return(0,i.jsx)(a.Provider,{value:l,children:t})}function l(){return o.useContext(a)}function s(e,t){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(t)}function u(e,t){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(t)}},74564:function(e,t,n){"use strict";var r=n(18207),o=n(46633),i=n(50390),a=n(98247),c=n(97227),l=n(62559),s=["children"],u=i.forwardRef((function(e,t){var n=e.children,u=(0,o.Z)(e,s),d=(0,c._i)();if(null===d)throw new TypeError("No TabContext provided");var f=i.Children.map(n,(function(e){return i.isValidElement(e)?i.cloneElement(e,{"aria-controls":(0,c.uU)(d,e.props.value),id:(0,c.pQ)(d,e.props.value)}):null}));return(0,l.jsx)(a.Z,(0,r.Z)({},u,{ref:t,value:d.value,children:f}))}));t.Z=u},669:function(e,t,n){"use strict";n.d(t,{Z:function(){return m}});var r=n(18207),o=n(46633),i=n(50390),a=n(44977),c=n(8208),l=n(15573),s=n(50076),u=n(10594);function d(e){return(0,u.Z)("MuiTabPanel",e)}(0,n(43349).Z)("MuiTabPanel",["root"]);var f=n(97227),p=n(62559),v=["children","className","value"],g=(0,c.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,t){return t.root}})((function(e){return{padding:e.theme.spacing(3)}})),m=i.forwardRef((function(e,t){var n=(0,l.Z)({props:e,name:"MuiTabPanel"}),i=n.children,c=n.className,u=n.value,m=(0,o.Z)(n,v),h=(0,r.Z)({},n),b=function(e){var t=e.classes;return(0,s.Z)({root:["root"]},d,t)}(h),y=(0,f._i)();if(null===y)throw new TypeError("No TabContext provided");var Z=(0,f.uU)(y,u),w=(0,f.pQ)(y,u);return(0,p.jsx)(g,(0,r.Z)({"aria-labelledby":w,className:(0,a.Z)(b.root,c),hidden:u!==y.value,id:Z,ref:t,role:"tabpanel",ownerState:h},m,{children:u===y.value&&i}))}))},2857:function(e,t,n){"use strict";n.d(t,{Z:function(){return E}});var r=n(36222),o=n(1048),i=n(32793),a=n(50390),c=n(44977),l=function(e){var t=a.useRef({});return a.useEffect((function(){t.current=e})),t.current},s=n(43349),u=n(10594);function d(e){return(0,u.Z)("MuiBadge",e)}var f=(0,s.Z)("MuiBadge",["root","badge","dot","standard","anchorOriginTopLeft","anchorOriginTopRight","anchorOriginBottomLeft","anchorOriginBottomRight","invisible"]),p=n(38331),v=n(23960),g=n(89705),m=n(50076),h=n(53135);var b=n(62559),y=["anchorOrigin","classes","badgeContent","component","children","className","components","componentsProps","invisible","max","showZero","variant"],Z=a.forwardRef((function(e,t){var n=e.anchorOrigin,r=void 0===n?{vertical:"top",horizontal:"right"}:n,o=e.classes,i=e.component,a=e.children,s=e.className,u=e.components,f=void 0===u?{}:u,Z=e.componentsProps,w=void 0===Z?{}:Z,O=e.max,x=void 0===O?99:O,S=e.showZero,C=void 0!==S&&S,P=e.variant,D=void 0===P?"standard":P,k=(0,v.Z)(e,y),j=function(e){var t=e.anchorOrigin,n=void 0===t?{vertical:"top",horizontal:"right"}:t,r=e.badgeContent,o=e.invisible,i=e.max,a=void 0===i?99:i,c=e.showZero,s=void 0!==c&&c,u=e.variant,d=void 0===u?"standard":u,f=l({anchorOrigin:n,badgeContent:r,max:a,variant:d}),p=o;null==o&&(0===r&&!s||null==r&&"dot"!==d)&&(p=!0);var v=p?f:e,g=v.anchorOrigin,m=void 0===g?n:g,h=v.badgeContent,b=v.max,y=void 0===b?a:b,Z=v.variant,w=void 0===Z?d:Z,O="";return"dot"!==w&&(O=h&&Number(h)>y?"".concat(y,"+"):h),{anchorOrigin:m,badgeContent:h,invisible:p,max:y,variant:w,displayValue:O}}((0,p.Z)({},e,{anchorOrigin:r,max:x,variant:D})),R=j.anchorOrigin,E=j.badgeContent,I=j.max,A=j.variant,F=j.displayValue,z=j.invisible,M=(0,p.Z)({},e,{anchorOrigin:R,badgeContent:E,classes:o,invisible:z,max:I,variant:A,showZero:C}),T=function(e){var t=e.variant,n=e.anchorOrigin,r=e.invisible,o=e.classes,i={root:["root"],badge:["badge",t,"anchorOrigin".concat((0,g.Z)(n.vertical)).concat((0,g.Z)(n.horizontal)),r&&"invisible"]};return(0,m.Z)(i,d,o)}(M),L=i||f.Root||"span",B=(0,h.Z)(L,(0,p.Z)({},k,w.root),M),N=f.Badge||"span",_=(0,h.Z)(N,w.badge,M);return(0,b.jsxs)(L,(0,p.Z)({},B,{ref:t},k,{className:(0,c.Z)(T.root,B.className,s),children:[a,(0,b.jsx)(N,(0,p.Z)({},_,{className:(0,c.Z)(T.badge,_.className),children:F}))]}))})),w=Z,O=n(8208),x=n(15573),S=n(45193),C=function(e){return!e||!(0,S.Z)(e)},P=n(91442),D=["anchorOrigin","component","components","componentsProps","overlap","color","invisible","badgeContent","showZero","variant"],k=(0,i.Z)({},f,(0,s.Z)("MuiBadge",["colorError","colorInfo","colorPrimary","colorSecondary","colorSuccess","colorWarning","overlapRectangular","overlapCircular","anchorOriginTopLeftCircular","anchorOriginTopLeftRectangular","anchorOriginTopRightCircular","anchorOriginTopRightRectangular","anchorOriginBottomLeftCircular","anchorOriginBottomLeftRectangular","anchorOriginBottomRightCircular","anchorOriginBottomRightRectangular"])),j=(0,O.ZP)("span",{name:"MuiBadge",slot:"Root",overridesResolver:function(e,t){return t.root}})({position:"relative",display:"inline-flex",verticalAlign:"middle",flexShrink:0}),R=(0,O.ZP)("span",{name:"MuiBadge",slot:"Badge",overridesResolver:function(e,t){var n=e.ownerState;return[t.badge,t[n.variant],t["anchorOrigin".concat((0,P.Z)(n.anchorOrigin.vertical)).concat((0,P.Z)(n.anchorOrigin.horizontal)).concat((0,P.Z)(n.overlap))],"default"!==n.color&&t["color".concat((0,P.Z)(n.color))],n.invisible&&t.invisible]}})((function(e){var t=e.theme,n=e.ownerState;return(0,i.Z)({display:"flex",flexDirection:"row",flexWrap:"wrap",justifyContent:"center",alignContent:"center",alignItems:"center",position:"absolute",boxSizing:"border-box",fontFamily:t.typography.fontFamily,fontWeight:t.typography.fontWeightMedium,fontSize:t.typography.pxToRem(12),minWidth:20,lineHeight:1,padding:"0 6px",height:20,borderRadius:10,zIndex:1,transition:t.transitions.create("transform",{easing:t.transitions.easing.easeInOut,duration:t.transitions.duration.enteringScreen})},"default"!==n.color&&{backgroundColor:t.palette[n.color].main,color:t.palette[n.color].contrastText},"dot"===n.variant&&{borderRadius:4,height:8,minWidth:8,padding:0},"top"===n.anchorOrigin.vertical&&"right"===n.anchorOrigin.horizontal&&"rectangular"===n.overlap&&(0,r.Z)({top:0,right:0,transform:"scale(1) translate(50%, -50%)",transformOrigin:"100% 0%"},"&.".concat(k.invisible),{transform:"scale(0) translate(50%, -50%)"}),"bottom"===n.anchorOrigin.vertical&&"right"===n.anchorOrigin.horizontal&&"rectangular"===n.overlap&&(0,r.Z)({bottom:0,right:0,transform:"scale(1) translate(50%, 50%)",transformOrigin:"100% 100%"},"&.".concat(k.invisible),{transform:"scale(0) translate(50%, 50%)"}),"top"===n.anchorOrigin.vertical&&"left"===n.anchorOrigin.horizontal&&"rectangular"===n.overlap&&(0,r.Z)({top:0,left:0,transform:"scale(1) translate(-50%, -50%)",transformOrigin:"0% 0%"},"&.".concat(k.invisible),{transform:"scale(0) translate(-50%, -50%)"}),"bottom"===n.anchorOrigin.vertical&&"left"===n.anchorOrigin.horizontal&&"rectangular"===n.overlap&&(0,r.Z)({bottom:0,left:0,transform:"scale(1) translate(-50%, 50%)",transformOrigin:"0% 100%"},"&.".concat(k.invisible),{transform:"scale(0) translate(-50%, 50%)"}),"top"===n.anchorOrigin.vertical&&"right"===n.anchorOrigin.horizontal&&"circular"===n.overlap&&(0,r.Z)({top:"14%",right:"14%",transform:"scale(1) translate(50%, -50%)",transformOrigin:"100% 0%"},"&.".concat(k.invisible),{transform:"scale(0) translate(50%, -50%)"}),"bottom"===n.anchorOrigin.vertical&&"right"===n.anchorOrigin.horizontal&&"circular"===n.overlap&&(0,r.Z)({bottom:"14%",right:"14%",transform:"scale(1) translate(50%, 50%)",transformOrigin:"100% 100%"},"&.".concat(k.invisible),{transform:"scale(0) translate(50%, 50%)"}),"top"===n.anchorOrigin.vertical&&"left"===n.anchorOrigin.horizontal&&"circular"===n.overlap&&(0,r.Z)({top:"14%",left:"14%",transform:"scale(1) translate(-50%, -50%)",transformOrigin:"0% 0%"},"&.".concat(k.invisible),{transform:"scale(0) translate(-50%, -50%)"}),"bottom"===n.anchorOrigin.vertical&&"left"===n.anchorOrigin.horizontal&&"circular"===n.overlap&&(0,r.Z)({bottom:"14%",left:"14%",transform:"scale(1) translate(-50%, 50%)",transformOrigin:"0% 100%"},"&.".concat(k.invisible),{transform:"scale(0) translate(-50%, 50%)"}),n.invisible&&{transition:t.transitions.create("transform",{easing:t.transitions.easing.easeInOut,duration:t.transitions.duration.leavingScreen})})})),E=a.forwardRef((function(e,t){var n,r,a=(0,x.Z)({props:e,name:"MuiBadge"}),s=a.anchorOrigin,u=void 0===s?{vertical:"top",horizontal:"right"}:s,f=a.component,p=void 0===f?"span":f,v=a.components,g=void 0===v?{}:v,m=a.componentsProps,h=void 0===m?{}:m,y=a.overlap,Z=void 0===y?"rectangular":y,O=a.color,S=void 0===O?"default":O,k=a.invisible,E=a.badgeContent,I=a.showZero,A=void 0!==I&&I,F=a.variant,z=void 0===F?"standard":F,M=(0,o.Z)(a,D),T=l({anchorOrigin:u,color:S,overlap:Z}),L=k;null==k&&(0===E&&!A||null==E&&"dot"!==z)&&(L=!0);var B=L?T:a,N=B.color,_=void 0===N?S:N,V=B.overlap,W=void 0===V?Z:V,U=B.anchorOrigin,G=void 0===U?u:U,K=function(e){var t=e.color,n=e.anchorOrigin,r=e.overlap,o=e.classes,a=void 0===o?{}:o;return(0,i.Z)({},a,{badge:(0,c.Z)(a.badge,d("anchorOrigin".concat((0,P.Z)(n.vertical)).concat((0,P.Z)(n.horizontal)).concat((0,P.Z)(r))),d("overlap".concat((0,P.Z)(r))),"default"!==t&&[d("color".concat((0,P.Z)(t))),a["color".concat((0,P.Z)(t))]])})}((0,i.Z)({},a,{anchorOrigin:G,invisible:L,color:_,overlap:W}));return(0,b.jsx)(w,(0,i.Z)({anchorOrigin:G,invisible:k,badgeContent:E,showZero:A,variant:z},M,{components:(0,i.Z)({Root:j,Badge:R},g),componentsProps:{root:(0,i.Z)({},h.root,C(g.Root)&&{as:p,ownerState:(0,i.Z)({},null==(n=h.root)?void 0:n.ownerState,{color:_,overlap:W})}),badge:(0,i.Z)({},h.badge,C(g.Badge)&&{ownerState:(0,i.Z)({},null==(r=h.badge)?void 0:r.ownerState,{color:_,overlap:W})})},classes:K,ref:t}))}))},7887:function(e,t,n){"use strict";n.d(t,{Z:function(){return g}});var r=n(1048),o=n(32793),i=n(50390),a=n(44977),c=n(50076),l=n(8208),s=n(15573),u=n(10594);function d(e){return(0,u.Z)("MuiDialogActions",e)}(0,n(43349).Z)("MuiDialogActions",["root","spacing"]);var f=n(62559),p=["className","disableSpacing"],v=(0,l.ZP)("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,!n.disableSpacing&&t.spacing]}})((function(e){var t=e.ownerState;return(0,o.Z)({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!t.disableSpacing&&{"& > :not(:first-of-type)":{marginLeft:8}})})),g=i.forwardRef((function(e,t){var n=(0,s.Z)({props:e,name:"MuiDialogActions"}),i=n.className,l=n.disableSpacing,u=void 0!==l&&l,g=(0,r.Z)(n,p),m=(0,o.Z)({},n,{disableSpacing:u}),h=function(e){var t=e.classes,n={root:["root",!e.disableSpacing&&"spacing"]};return(0,c.Z)(n,d,t)}(m);return(0,f.jsx)(v,(0,o.Z)({className:(0,a.Z)(h.root,i),ownerState:m,ref:t},g))}))},23473:function(e,t,n){"use strict";n.d(t,{Z:function(){return g}});var r=n(1048),o=n(32793),i=n(50390),a=n(50076),c=n(8208),l=n(15573),s=n(35477),u=n(10594);function d(e){return(0,u.Z)("MuiDialogContentText",e)}(0,n(43349).Z)("MuiDialogContentText",["root"]);var f=n(62559),p=["children"],v=(0,c.ZP)(s.Z,{shouldForwardProp:function(e){return(0,c.FO)(e)||"classes"===e},name:"MuiDialogContentText",slot:"Root",overridesResolver:function(e,t){return t.root}})({}),g=i.forwardRef((function(e,t){var n=(0,l.Z)({props:e,name:"MuiDialogContentText"}),i=(0,r.Z)(n,p),c=function(e){var t=e.classes,n=(0,a.Z)({root:["root"]},d,t);return(0,o.Z)({},t,n)}(i);return(0,f.jsx)(v,(0,o.Z)({component:"p",variant:"body1",color:"text.secondary",ref:t,ownerState:i},n,{classes:c}))}))},4247:function(e,t,n){"use strict";n.d(t,{V:function(){return o}});var r=n(10594);function o(e){return(0,r.Z)("MuiDivider",e)}var i=(0,n(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=i},65771:function(e,t,n){"use strict";n.d(t,{Z:function(){return O}});var r=n(36222),o=n(1048),i=n(32793),a=n(50390),c=n(44977),l=n(50076),s=n(91442),u=n(35477),d=n(14478),f=n(23060),p=n(8208),v=n(10594);function g(e){return(0,v.Z)("MuiInputAdornment",e)}var m,h=(0,n(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),b=n(15573),y=n(62559),Z=["children","className","component","disablePointerEvents","disableTypography","position","variant"],w=(0,p.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["position".concat((0,s.Z)(n.position))],!0===n.disablePointerEvents&&t.disablePointerEvents,t[n.variant]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,i.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:t.palette.action.active},"filled"===n.variant&&(0,r.Z)({},"&.".concat(h.positionStart,"&:not(.").concat(h.hiddenLabel,")"),{marginTop:16}),"start"===n.position&&{marginRight:8},"end"===n.position&&{marginLeft:8},!0===n.disablePointerEvents&&{pointerEvents:"none"})})),O=a.forwardRef((function(e,t){var n=(0,b.Z)({props:e,name:"MuiInputAdornment"}),r=n.children,p=n.className,v=n.component,h=void 0===v?"div":v,O=n.disablePointerEvents,x=void 0!==O&&O,S=n.disableTypography,C=void 0!==S&&S,P=n.position,D=n.variant,k=(0,o.Z)(n,Z),j=(0,f.Z)()||{},R=D;D&&j.variant,j&&!R&&(R=j.variant);var E=(0,i.Z)({},n,{hiddenLabel:j.hiddenLabel,size:j.size,disablePointerEvents:x,position:P,variant:R}),I=function(e){var t=e.classes,n=e.disablePointerEvents,r=e.hiddenLabel,o=e.position,i=e.size,a=e.variant,c={root:["root",n&&"disablePointerEvents",o&&"position".concat((0,s.Z)(o)),a,r&&"hiddenLabel",i&&"size".concat((0,s.Z)(i))]};return(0,l.Z)(c,g,t)}(E);return(0,y.jsx)(d.Z.Provider,{value:null,children:(0,y.jsx)(w,(0,i.Z)({as:h,ownerState:E,className:(0,c.Z)(I.root,p),ref:t},k,{children:"string"!==typeof r||C?(0,y.jsxs)(a.Fragment,{children:["start"===P?m||(m=(0,y.jsx)("span",{className:"notranslate",children:"\u200b"})):null,r]}):(0,y.jsx)(u.Z,{color:"text.secondary",children:r})}))})}))},31680:function(e,t,n){"use strict";n.d(t,{Z:function(){return C}});var r=n(36222),o=n(1048),i=n(32793),a=n(50390),c=n(44977),l=n(50076),s=n(36128),u=n(8208),d=n(15573),f=n(57308),p=n(86875),v=n(40839),g=n(3299),m=n(4247),h=n(2198),b=n(23586),y=n(10594);function Z(e){return(0,y.Z)("MuiMenuItem",e)}var w=(0,n(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),O=n(62559),x=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],S=(0,u.ZP)(p.Z,{shouldForwardProp:function(e){return(0,u.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,o=e.ownerState;return(0,i.Z)({},n.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!o.disableGutters&&{paddingLeft:16,paddingRight:16},o.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,r.Z)(t,"&.".concat(w.selected),(0,r.Z)({backgroundColor:(0,s.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(w.focusVisible),{backgroundColor:(0,s.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,r.Z)(t,"&.".concat(w.selected,":hover"),{backgroundColor:(0,s.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,s.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),(0,r.Z)(t,"&.".concat(w.focusVisible),{backgroundColor:n.palette.action.focus}),(0,r.Z)(t,"&.".concat(w.disabled),{opacity:n.palette.action.disabledOpacity}),(0,r.Z)(t,"& + .".concat(m.Z.root),{marginTop:n.spacing(1),marginBottom:n.spacing(1)}),(0,r.Z)(t,"& + .".concat(m.Z.inset),{marginLeft:52}),(0,r.Z)(t,"& .".concat(b.Z.root),{marginTop:0,marginBottom:0}),(0,r.Z)(t,"& .".concat(b.Z.inset),{paddingLeft:36}),(0,r.Z)(t,"& .".concat(h.Z.root),{minWidth:36}),t),!o.dense&&(0,r.Z)({},n.breakpoints.up("sm"),{minHeight:"auto"}),o.dense&&(0,i.Z)({minHeight:32,paddingTop:4,paddingBottom:4},n.typography.body2,(0,r.Z)({},"& .".concat(h.Z.root," svg"),{fontSize:"1.25rem"})))})),C=a.forwardRef((function(e,t){var n=(0,d.Z)({props:e,name:"MuiMenuItem"}),r=n.autoFocus,s=void 0!==r&&r,u=n.component,p=void 0===u?"li":u,m=n.dense,h=void 0!==m&&m,b=n.divider,y=void 0!==b&&b,w=n.disableGutters,C=void 0!==w&&w,P=n.focusVisibleClassName,D=n.role,k=void 0===D?"menuitem":D,j=n.tabIndex,R=(0,o.Z)(n,x),E=a.useContext(f.Z),I={dense:h||E.dense||!1,disableGutters:C},A=a.useRef(null);(0,v.Z)((function(){s&&A.current&&A.current.focus()}),[s]);var F,z=(0,i.Z)({},n,{dense:I.dense,divider:y,disableGutters:C}),M=function(e){var t=e.disabled,n=e.dense,r=e.divider,o=e.disableGutters,a=e.selected,c=e.classes,s={root:["root",n&&"dense",t&&"disabled",!o&&"gutters",r&&"divider",a&&"selected"]},u=(0,l.Z)(s,Z,c);return(0,i.Z)({},c,u)}(n),T=(0,g.Z)(A,t);return n.disabled||(F=void 0!==j?j:-1),(0,O.jsx)(f.Z.Provider,{value:I,children:(0,O.jsx)(S,(0,i.Z)({ref:T,role:k,tabIndex:F,component:p,focusVisibleClassName:(0,c.Z)(M.focusVisible,P)},R,{ownerState:z,classes:M}))})}))},19787:function(e,t,n){"use strict";var r=n(36222),o=n(1048),i=n(32793),a=n(50390),c=n(11188),l=n(88646),s=n(99301),u=n(64487),d=n(8208),f=n(15573),p=n(62559),v=["component","direction","spacing","divider","children"];function g(e,t){var n=a.Children.toArray(e).filter(Boolean);return n.reduce((function(e,r,o){return e.push(r),o :not(style) + :not(style)":(0,r.Z)({margin:0},"margin".concat((o=n?d[n]:t.direction,{row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"}[o])),(0,l.NA)(a,e))};var o})))}return o})),h=a.forwardRef((function(e,t){var n=(0,f.Z)({props:e,name:"MuiStack"}),r=(0,s.Z)(n),a=r.component,c=void 0===a?"div":a,l=r.direction,u=void 0===l?"column":l,d=r.spacing,h=void 0===d?0:d,b=r.divider,y=r.children,Z=(0,o.Z)(r,v),w={direction:u,spacing:h};return(0,p.jsx)(m,(0,i.Z)({as:c,ownerState:w,ref:t},Z,{children:b?g(y,b):y}))}));t.Z=h},49056:function(e,t,n){"use strict";n.d(t,{Z:function(){return x}});var r=n(36222),o=n(1048),i=n(32793),a=n(50390),c=n(44977),l=n(50076),s=n(36128),u=n(91442),d=n(16756),f=n(15573),p=n(8208),v=n(10594);function g(e){return(0,v.Z)("MuiSwitch",e)}var m=(0,n(43349).Z)("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),h=n(62559),b=["className","color","edge","size","sx"],y=(0,p.ZP)("span",{name:"MuiSwitch",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.edge&&t["edge".concat((0,u.Z)(n.edge))],t["size".concat((0,u.Z)(n.size))]]}})((function(e){var t,n=e.ownerState;return(0,i.Z)({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"}},"start"===n.edge&&{marginLeft:-8},"end"===n.edge&&{marginRight:-8},"small"===n.size&&(t={width:40,height:24,padding:7},(0,r.Z)(t,"& .".concat(m.thumb),{width:16,height:16}),(0,r.Z)(t,"& .".concat(m.switchBase),(0,r.Z)({padding:4},"&.".concat(m.checked),{transform:"translateX(16px)"})),t))})),Z=(0,p.ZP)(d.Z,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:function(e,t){var n=e.ownerState;return[t.switchBase,(0,r.Z)({},"& .".concat(m.input),t.input),"default"!==n.color&&t["color".concat((0,u.Z)(n.color))]]}})((function(e){var t,n=e.theme;return t={position:"absolute",top:0,left:0,zIndex:1,color:"light"===n.palette.mode?n.palette.common.white:n.palette.grey[300],transition:n.transitions.create(["left","transform"],{duration:n.transitions.duration.shortest})},(0,r.Z)(t,"&.".concat(m.checked),{transform:"translateX(20px)"}),(0,r.Z)(t,"&.".concat(m.disabled),{color:"light"===n.palette.mode?n.palette.grey[100]:n.palette.grey[600]}),(0,r.Z)(t,"&.".concat(m.checked," + .").concat(m.track),{opacity:.5}),(0,r.Z)(t,"&.".concat(m.disabled," + .").concat(m.track),{opacity:"light"===n.palette.mode?.12:.2}),(0,r.Z)(t,"& .".concat(m.input),{left:"-100%",width:"300%"}),t}),(function(e){var t,n=e.theme,o=e.ownerState;return(0,i.Z)({"&:hover":{backgroundColor:(0,s.Fq)(n.palette.action.active,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==o.color&&(t={},(0,r.Z)(t,"&.".concat(m.checked),(0,r.Z)({color:n.palette[o.color].main,"&:hover":{backgroundColor:(0,s.Fq)(n.palette[o.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(m.disabled),{color:"light"===n.palette.mode?(0,s.$n)(n.palette[o.color].main,.62):(0,s._j)(n.palette[o.color].main,.55)})),(0,r.Z)(t,"&.".concat(m.checked," + .").concat(m.track),{backgroundColor:n.palette[o.color].main}),t))})),w=(0,p.ZP)("span",{name:"MuiSwitch",slot:"Track",overridesResolver:function(e,t){return t.track}})((function(e){var t=e.theme;return{height:"100%",width:"100%",borderRadius:7,zIndex:-1,transition:t.transitions.create(["opacity","background-color"],{duration:t.transitions.duration.shortest}),backgroundColor:"light"===t.palette.mode?t.palette.common.black:t.palette.common.white,opacity:"light"===t.palette.mode?.38:.3}})),O=(0,p.ZP)("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:function(e,t){return t.thumb}})((function(e){return{boxShadow:e.theme.shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}})),x=a.forwardRef((function(e,t){var n=(0,f.Z)({props:e,name:"MuiSwitch"}),r=n.className,a=n.color,s=void 0===a?"primary":a,d=n.edge,p=void 0!==d&&d,v=n.size,m=void 0===v?"medium":v,x=n.sx,S=(0,o.Z)(n,b),C=(0,i.Z)({},n,{color:s,edge:p,size:m}),P=function(e){var t=e.classes,n=e.edge,r=e.size,o=e.color,a=e.checked,c=e.disabled,s={root:["root",n&&"edge".concat((0,u.Z)(n)),"size".concat((0,u.Z)(r))],switchBase:["switchBase","color".concat((0,u.Z)(o)),a&&"checked",c&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},d=(0,l.Z)(s,g,t);return(0,i.Z)({},t,d)}(C),D=(0,h.jsx)(O,{className:P.thumb,ownerState:C});return(0,h.jsxs)(y,{className:(0,c.Z)(P.root,r),sx:x,ownerState:C,children:[(0,h.jsx)(Z,(0,i.Z)({type:"checkbox",icon:D,checkedIcon:D,ref:t,ownerState:C},S,{classes:(0,i.Z)({},P,{root:P.switchBase})})),(0,h.jsx)(w,{className:P.track,ownerState:C})]})}))},31147:function(e,t){"use strict";t.Z=function(e,t){if(e&&t){var n=Array.isArray(t)?t:t.split(","),r=e.name||"",o=(e.type||"").toLowerCase(),i=o.replace(/\/.*$/,"");return n.some((function(e){var t=e.trim().toLowerCase();return"."===t.charAt(0)?r.toLowerCase().endsWith(t):t.endsWith("/*")?i===t.replace(/\/.*$/,""):o===t}))}return!0}},20409:function(e,t,n){"use strict";var r=n(61498),o={"text/plain":"Text","text/html":"Url",default:"Text"};e.exports=function(e,t){var n,i,a,c,l,s,u=!1;t||(t={}),n=t.debug||!1;try{if(a=r(),c=document.createRange(),l=document.getSelection(),(s=document.createElement("span")).textContent=e,s.style.all="unset",s.style.position="fixed",s.style.top=0,s.style.clip="rect(0, 0, 0, 0)",s.style.whiteSpace="pre",s.style.webkitUserSelect="text",s.style.MozUserSelect="text",s.style.msUserSelect="text",s.style.userSelect="text",s.addEventListener("copy",(function(r){if(r.stopPropagation(),t.format)if(r.preventDefault(),"undefined"===typeof r.clipboardData){n&&console.warn("unable to use e.clipboardData"),n&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var i=o[t.format]||o.default;window.clipboardData.setData(i,e)}else r.clipboardData.clearData(),r.clipboardData.setData(t.format,e);t.onCopy&&(r.preventDefault(),t.onCopy(r.clipboardData))})),document.body.appendChild(s),c.selectNodeContents(s),l.addRange(c),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");u=!0}catch(d){n&&console.error("unable to copy using execCommand: ",d),n&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),u=!0}catch(d){n&&console.error("unable to copy using clipboardData: ",d),n&&console.error("falling back to prompt"),i=function(e){var t=(/mac os x/i.test(navigator.userAgent)?"\u2318":"Ctrl")+"+C";return e.replace(/#{\s*key\s*}/g,t)}("message"in t?t.message:"Copy to clipboard: #{key}, Enter"),window.prompt(i,e)}}finally{l&&("function"==typeof l.removeRange?l.removeRange(c):l.removeAllRanges()),s&&document.body.removeChild(s),a()}return u}},12900:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CopyToClipboard=void 0;var r=i(n(50390)),o=i(n(20409));function i(e){return e&&e.__esModule?e:{default:e}}function a(e){return a="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){for(var n=0;n0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0)&&!(r=i.next()).done;)a.push(r.value)}catch(c){o={error:c}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}Object.create;var s=new Map([["avi","video/avi"],["gif","image/gif"],["ico","image/x-icon"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["mkv","video/x-matroska"],["mov","video/quicktime"],["mp4","video/mp4"],["pdf","application/pdf"],["png","image/png"],["zip","application/zip"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"]]);function u(e,t){var n=function(e){var t=e.name;if(t&&-1!==t.lastIndexOf(".")&&!e.type){var n=t.split(".").pop().toLowerCase(),r=s.get(n);r&&Object.defineProperty(e,"type",{value:r,writable:!1,configurable:!1,enumerable:!0})}return e}(e);if("string"!==typeof n.path){var r=e.webkitRelativePath;Object.defineProperty(n,"path",{value:"string"===typeof t?t:"string"===typeof r&&r.length>0?r:e.name,writable:!1,configurable:!1,enumerable:!0})}return n}var d=[".DS_Store","Thumbs.db"];function f(e){return(null!==e.target&&e.target.files?g(e.target.files):[]).map((function(e){return u(e)}))}function p(e,t){return a(this,void 0,void 0,(function(){var n;return c(this,(function(r){switch(r.label){case 0:return e.items?(n=g(e.items).filter((function(e){return"file"===e.kind})),"drop"!==t?[2,n]:[4,Promise.all(n.map(m))]):[3,2];case 1:return[2,v(h(r.sent()))];case 2:return[2,v(g(e.files).map((function(e){return u(e)})))]}}))}))}function v(e){return e.filter((function(e){return-1===d.indexOf(e.name)}))}function g(e){for(var t=[],n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nn)return[!1,R(n)];if(e.sizen)return[!1,R(n)]}return[!0,null]}function z(e){return void 0!==e&&null!==e}function M(e){var t=e.files,n=e.accept,r=e.minSize,o=e.maxSize,i=e.multiple,a=e.maxFiles;return!(!i&&t.length>1||i&&a>=1&&t.length>a)&&t.every((function(e){var t=x(A(e,n),1)[0],i=x(F(e,r,o),1)[0];return t&&i}))}function T(e){return"function"===typeof e.isPropagationStopped?e.isPropagationStopped():"undefined"!==typeof e.cancelBubble&&e.cancelBubble}function L(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,(function(e){return"Files"===e||"application/x-moz-file"===e})):!!e.target&&!!e.target.files}function B(e){e.preventDefault()}function N(e){return-1!==e.indexOf("MSIE")||-1!==e.indexOf("Trident/")}function _(e){return-1!==e.indexOf("Edge/")}function V(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.navigator.userAgent;return N(e)||_(e)}function W(){for(var e=arguments.length,t=new Array(e),n=0;n1?n-1:0),o=1;oe.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var ne=(0,r.forwardRef)((function(e,t){var n=e.children,o=ie(te(e,U)),i=o.open,a=te(o,G);return(0,r.useImperativeHandle)(t,(function(){return{open:i}}),[i]),r.createElement(r.Fragment,null,n(Y(Y({},a),{},{open:i})))}));ne.displayName="Dropzone";var re={disabled:!1,getFilesFromEvent:function(e){return a(this,void 0,void 0,(function(){return c(this,(function(t){return[2,(n=e,n.dataTransfer&&e.dataTransfer?p(e.dataTransfer,e.type):f(e))];var n}))}))},maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null};ne.defaultProps=re,ne.propTypes={children:i().func,accept:i().oneOfType([i().string,i().arrayOf(i().string)]),multiple:i().bool,preventDropOnDocument:i().bool,noClick:i().bool,noKeyboard:i().bool,noDrag:i().bool,noDragEventsBubbling:i().bool,minSize:i().number,maxSize:i().number,maxFiles:i().number,disabled:i().bool,getFilesFromEvent:i().func,onFileDialogCancel:i().func,onFileDialogOpen:i().func,onDragEnter:i().func,onDragLeave:i().func,onDragOver:i().func,onDrop:i().func,onDropAccepted:i().func,onDropRejected:i().func,validator:i().func};var oe={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,draggedFiles:[],acceptedFiles:[],fileRejections:[]};function ie(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Y(Y({},re),e),n=t.accept,o=t.disabled,i=t.getFilesFromEvent,a=t.maxSize,c=t.minSize,l=t.multiple,s=t.maxFiles,u=t.onDragEnter,d=t.onDragLeave,f=t.onDragOver,p=t.onDrop,v=t.onDropAccepted,g=t.onDropRejected,m=t.onFileDialogCancel,h=t.onFileDialogOpen,b=t.preventDropOnDocument,y=t.noClick,Z=t.noKeyboard,w=t.noDrag,O=t.noDragEventsBubbling,x=t.validator,S=(0,r.useRef)(null),C=(0,r.useRef)(null),P=(0,r.useReducer)(ae,oe),D=H(P,2),k=D[0],j=D[1],R=k.isFocused,E=k.isFileDialogActive,z=k.draggedFiles,N=(0,r.useCallback)((function(){C.current&&(j({type:"openDialog"}),"function"===typeof h&&h(),C.current.value=null,C.current.click())}),[j,h]),_=function(){E&&setTimeout((function(){C.current&&(C.current.files.length||(j({type:"closeDialog"}),"function"===typeof m&&m()))}),300)};(0,r.useEffect)((function(){return window.addEventListener("focus",_,!1),function(){window.removeEventListener("focus",_,!1)}}),[C,E,m]);var U=(0,r.useCallback)((function(e){S.current&&S.current.isEqualNode(e.target)&&(32!==e.keyCode&&13!==e.keyCode||(e.preventDefault(),N()))}),[S,C,N]),G=(0,r.useCallback)((function(){j({type:"focus"})}),[]),Q=(0,r.useCallback)((function(){j({type:"blur"})}),[]),X=(0,r.useCallback)((function(){y||(V()?setTimeout(N,0):N())}),[C,y,N]),J=(0,r.useRef)([]),ne=function(e){S.current&&S.current.contains(e.target)||(e.preventDefault(),J.current=[])};(0,r.useEffect)((function(){return b&&(document.addEventListener("dragover",B,!1),document.addEventListener("drop",ne,!1)),function(){b&&(document.removeEventListener("dragover",B),document.removeEventListener("drop",ne))}}),[S,b]);var ie=(0,r.useCallback)((function(e){e.preventDefault(),e.persist(),pe(e),J.current=[].concat($(J.current),[e.target]),L(e)&&Promise.resolve(i(e)).then((function(t){T(e)&&!O||(j({draggedFiles:t,isDragActive:!0,type:"setDraggedFiles"}),u&&u(e))}))}),[i,u,O]),ce=(0,r.useCallback)((function(e){e.preventDefault(),e.persist(),pe(e);var t=L(e);if(t&&e.dataTransfer)try{e.dataTransfer.dropEffect="copy"}catch(n){}return t&&f&&f(e),!1}),[f,O]),le=(0,r.useCallback)((function(e){e.preventDefault(),e.persist(),pe(e);var t=J.current.filter((function(e){return S.current&&S.current.contains(e)})),n=t.indexOf(e.target);-1!==n&&t.splice(n,1),J.current=t,t.length>0||(j({isDragActive:!1,type:"setDraggedFiles",draggedFiles:[]}),L(e)&&d&&d(e))}),[S,d,O]),se=(0,r.useCallback)((function(e){e.preventDefault(),e.persist(),pe(e),J.current=[],L(e)&&Promise.resolve(i(e)).then((function(t){if(!T(e)||O){var r=[],o=[];t.forEach((function(e){var t=H(A(e,n),2),i=t[0],l=t[1],s=H(F(e,c,a),2),u=s[0],d=s[1],f=x?x(e):null;if(i&&u&&!f)r.push(e);else{var p=[l,d];f&&(p=p.concat(f)),o.push({file:e,errors:p.filter((function(e){return e}))})}})),(!l&&r.length>1||l&&s>=1&&r.length>s)&&(r.forEach((function(e){o.push({file:e,errors:[I]})})),r.splice(0)),j({acceptedFiles:r,fileRejections:o,type:"setFiles"}),p&&p(r,o,e),o.length>0&&g&&g(o,e),r.length>0&&v&&v(r,e)}})),j({type:"reset"})}),[l,n,c,a,s,i,p,v,g,O,x]),ue=function(e){return o?null:e},de=function(e){return Z?null:ue(e)},fe=function(e){return w?null:ue(e)},pe=function(e){O&&e.stopPropagation()},ve=(0,r.useMemo)((function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.refKey,n=void 0===t?"ref":t,r=e.onKeyDown,i=e.onFocus,a=e.onBlur,c=e.onClick,l=e.onDragEnter,s=e.onDragOver,u=e.onDragLeave,d=e.onDrop,f=te(e,K);return Y(Y(ee({onKeyDown:de(W(r,U)),onFocus:de(W(i,G)),onBlur:de(W(a,Q)),onClick:ue(W(c,X)),onDragEnter:fe(W(l,ie)),onDragOver:fe(W(s,ce)),onDragLeave:fe(W(u,le)),onDrop:fe(W(d,se))},n,S),o||Z?{}:{tabIndex:0}),f)}}),[S,U,G,Q,X,ie,ce,le,se,Z,w,o]),ge=(0,r.useCallback)((function(e){e.stopPropagation()}),[]),me=(0,r.useMemo)((function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.refKey,r=void 0===t?"ref":t,o=e.onChange,i=e.onClick,a=te(e,q),c=ee({accept:n,multiple:l,type:"file",style:{display:"none"},onChange:ue(W(o,se)),onClick:ue(W(i,ge)),autoComplete:"off",tabIndex:-1},r,C);return Y(Y({},c),a)}}),[C,n,l,se,o]),he=z.length,be=he>0&&M({files:z,accept:n,minSize:c,maxSize:a,multiple:l,maxFiles:s}),ye=he>0&&!be;return Y(Y({},k),{},{isDragAccept:be,isDragReject:ye,isFocused:R&&!o,getRootProps:ve,getInputProps:me,rootRef:S,inputRef:C,open:ue(N)})}function ae(e,t){switch(t.type){case"focus":return Y(Y({},e),{},{isFocused:!0});case"blur":return Y(Y({},e),{},{isFocused:!1});case"openDialog":return Y(Y({},e),{},{isFileDialogActive:!0});case"closeDialog":return Y(Y({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":var n=t.isDragActive,r=t.draggedFiles;return Y(Y({},e),{},{draggedFiles:r,isDragActive:n});case"setFiles":return Y(Y({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return Y({},oe);default:return e}}},61498:function(e){e.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,n=[],r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}n.d(t,{Z:function(){return r}})}}]); +//# sourceMappingURL=5482.dcaee6b1.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/5482.c80a5ebb.chunk.js.map b/portal-ui/build/static/js/5482.dcaee6b1.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/5482.c80a5ebb.chunk.js.map rename to portal-ui/build/static/js/5482.dcaee6b1.chunk.js.map index 7867cc029..4c8b5a46c 100644 --- a/portal-ui/build/static/js/5482.c80a5ebb.chunk.js.map +++ b/portal-ui/build/static/js/5482.dcaee6b1.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/5482.c80a5ebb.chunk.js","mappings":"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","sources":["../node_modules/@mui/icons-material/Add.js","../node_modules/@mui/lab/LoadingButton/loadingButtonClasses.js","../node_modules/@mui/lab/LoadingButton/LoadingButton.js","../node_modules/@mui/lab/TabContext/TabContext.js","../node_modules/@mui/lab/TabList/TabList.js","../node_modules/@mui/lab/TabPanel/tabPanelClasses.js","../node_modules/@mui/lab/TabPanel/TabPanel.js","../node_modules/@mui/utils/esm/usePreviousProps.js","../node_modules/@mui/base/BadgeUnstyled/badgeUnstyledClasses.js","../node_modules/@mui/base/BadgeUnstyled/BadgeUnstyled.js","../node_modules/@mui/base/BadgeUnstyled/useBadge.js","../node_modules/@mui/material/utils/shouldSpreadAdditionalProps.js","../node_modules/@mui/material/Badge/Badge.js","../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/DialogActions/DialogActions.js","../node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js","../node_modules/@mui/material/DialogContentText/DialogContentText.js","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js","../node_modules/@mui/material/Stack/Stack.js","../node_modules/@mui/material/Switch/switchClasses.js","../node_modules/@mui/material/Switch/Switch.js","../node_modules/attr-accept/dist/es/index.js","../node_modules/copy-to-clipboard/index.js","../node_modules/react-copy-to-clipboard/lib/Component.js","../node_modules/react-copy-to-clipboard/lib/index.js","../node_modules/tslib/tslib.es6.js","../node_modules/file-selector/src/file.ts","../node_modules/file-selector/src/file-selector.ts","../node_modules/react-dropzone/dist/es/utils/index.js","../node_modules/react-dropzone/dist/es/index.js","../node_modules/toggle-selection/index.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"\n}), 'Add');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLoadingButtonUtilityClass(slot) {\n return generateUtilityClass('MuiLoadingButton', slot);\n}\nconst loadingButtonClasses = generateUtilityClasses('MuiLoadingButton', ['root', 'loading', 'loadingIndicator', 'loadingIndicatorCenter', 'loadingIndicatorStart', 'loadingIndicatorEnd', 'endIconLoadingEnd', 'startIconLoadingStart']);\nexport default loadingButtonClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"disabled\", \"id\", \"loading\", \"loadingIndicator\", \"loadingPosition\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { chainPropTypes } from '@mui/utils';\nimport { capitalize, unstable_useId as useId } from '@mui/material/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport loadingButtonClasses, { getLoadingButtonUtilityClass } from './loadingButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n loading,\n loadingPosition,\n classes\n } = ownerState;\n const slots = {\n root: ['root', loading && 'loading'],\n startIcon: [loading && `startIconLoading${capitalize(loadingPosition)}`],\n endIcon: [loading && `endIconLoading${capitalize(loadingPosition)}`],\n loadingIndicator: ['loadingIndicator', loading && `loadingIndicator${capitalize(loadingPosition)}`]\n };\n const composedClasses = composeClasses(slots, getLoadingButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n}; // TODO use `import { rootShouldForwardProp } from '../styles/styled';` once move to core\n\n\nconst rootShouldForwardProp = prop => prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as' && prop !== 'classes';\n\nconst LoadingButtonRoot = styled(Button, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiLoadingButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root, styles.startIconLoadingStart && {\n [`& .${loadingButtonClasses.startIconLoadingStart}`]: styles.startIconLoadingStart\n }, styles.endIconLoadingEnd && {\n [`& .${loadingButtonClasses.endIconLoadingEnd}`]: styles.endIconLoadingEnd\n }];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0\n }\n}, ownerState.loadingPosition === 'center' && {\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n [`&.${loadingButtonClasses.loading}`]: {\n color: 'transparent'\n }\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginRight: -8\n }\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginLeft: -8\n }\n}));\nconst LoadingButtonLoadingIndicator = styled('div', {\n name: 'MuiLoadingButton',\n slot: 'LoadingIndicator',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.loadingIndicator, styles[`loadingIndicator${capitalize(ownerState.loadingPosition)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'absolute',\n visibility: 'visible',\n display: 'flex'\n}, ownerState.loadingPosition === 'start' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n left: 14\n}, ownerState.loadingPosition === 'start' && ownerState.variant === 'text' && {\n left: 6\n}, ownerState.loadingPosition === 'center' && {\n left: '50%',\n transform: 'translate(-50%)',\n color: theme.palette.action.disabled\n}, ownerState.loadingPosition === 'end' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n right: 14\n}, ownerState.loadingPosition === 'end' && ownerState.variant === 'text' && {\n right: 6\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n position: 'relative',\n left: -10\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n position: 'relative',\n right: -10\n}));\nconst LoadingButton = /*#__PURE__*/React.forwardRef(function LoadingButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLoadingButton'\n });\n\n const {\n children,\n disabled = false,\n id: idProp,\n loading = false,\n loadingIndicator: loadingIndicatorProp,\n loadingPosition = 'center',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const id = useId(idProp);\n const loadingIndicator = loadingIndicatorProp != null ? loadingIndicatorProp : /*#__PURE__*/_jsx(CircularProgress, {\n \"aria-labelledby\": id,\n color: \"inherit\",\n size: 16\n });\n\n const ownerState = _extends({}, props, {\n disabled,\n loading,\n loadingIndicator,\n loadingPosition,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LoadingButtonRoot, _extends({\n disabled: disabled || loading,\n id: id,\n ref: ref\n }, other, {\n variant: variant,\n classes: classes,\n ownerState: ownerState,\n children: ownerState.loadingPosition === 'end' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [children, loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n })]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n }), children]\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LoadingButton.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 * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * @ignore\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the loading indicator is shown.\n * @default false\n */\n loading: PropTypes.bool,\n\n /**\n * Element placed before the children if the button is in loading state.\n * The node should contain an element with `role=\"progressbar\"` with an accessible name.\n * By default we render a `CircularProgress` that is labelled by the button itself.\n * @default \n */\n loadingIndicator: PropTypes.node,\n\n /**\n * The loading indicator can be positioned on the start, end, or the center of the button.\n * @default 'center'\n */\n loadingPosition: chainPropTypes(PropTypes.oneOf(['start', 'end', 'center']), props => {\n if (props.loadingPosition === 'start' && !props.startIcon) {\n return new Error(`MUI: The loadingPosition=\"start\" should be used in combination with startIcon.`);\n }\n\n if (props.loadingPosition === 'end' && !props.endIcon) {\n return new Error(`MUI: The loadingPosition=\"end\" should be used in combination with endIcon.`);\n }\n\n return null;\n }),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes.oneOf(['contained', 'outlined', 'text'])\n} : void 0;\nexport default LoadingButton;","import * as React from 'react';\nimport PropTypes from 'prop-types';\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\n\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\n\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.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 value of the currently selected `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\n/**\n * @returns {unknown}\n */\n\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-T-${value}`;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.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 * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\n\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props);\n\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.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 * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;","import * as React from 'react';\n\nconst usePreviousProps = value => {\n const ref = React.useRef({});\n React.useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\n\nexport default usePreviousProps;","import generateUtilityClasses from '../generateUtilityClasses';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getBadgeUtilityClass(slot) {\n return generateUtilityClass('MuiBadge', slot);\n}\nconst badgeUnstyledClasses = generateUtilityClasses('MuiBadge', ['root', 'badge', 'dot', 'standard', 'anchorOriginTopLeft', 'anchorOriginTopRight', 'anchorOriginBottomLeft', 'anchorOriginBottomRight', 'invisible']);\nexport default badgeUnstyledClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"anchorOrigin\", \"classes\", \"badgeContent\", \"component\", \"children\", \"className\", \"components\", \"componentsProps\", \"invisible\", \"max\", \"showZero\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_capitalize as capitalize } from '@mui/utils';\nimport composeClasses from '../composeClasses';\nimport appendOwnerState from '../utils/appendOwnerState';\nimport useBadge from './useBadge';\nimport { getBadgeUtilityClass } from './badgeUnstyledClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n variant,\n anchorOrigin,\n invisible,\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n badge: ['badge', variant, `anchorOrigin${capitalize(anchorOrigin.vertical)}${capitalize(anchorOrigin.horizontal)}`, invisible && 'invisible']\n };\n return composeClasses(slots, getBadgeUtilityClass, classes);\n};\n\nconst BadgeUnstyled = /*#__PURE__*/React.forwardRef(function BadgeUnstyled(props, ref) {\n const {\n anchorOrigin: anchorOriginProp = {\n vertical: 'top',\n horizontal: 'right'\n },\n classes: classesProp,\n component,\n children,\n className,\n components = {},\n componentsProps = {},\n max: maxProp = 99,\n showZero = false,\n variant: variantProp = 'standard'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const {\n anchorOrigin,\n badgeContent,\n max,\n variant,\n displayValue,\n invisible\n } = useBadge(_extends({}, props, {\n anchorOrigin: anchorOriginProp,\n max: maxProp,\n variant: variantProp\n }));\n\n const ownerState = _extends({}, props, {\n anchorOrigin,\n badgeContent,\n classes: classesProp,\n invisible,\n max,\n variant,\n showZero\n });\n\n const classes = useUtilityClasses(ownerState);\n const Root = component || components.Root || 'span';\n const rootProps = appendOwnerState(Root, _extends({}, other, componentsProps.root), ownerState);\n const Badge = components.Badge || 'span';\n const badgeProps = appendOwnerState(Badge, componentsProps.badge, ownerState);\n return /*#__PURE__*/_jsxs(Root, _extends({}, rootProps, {\n ref: ref\n }, other, {\n className: clsx(classes.root, rootProps.className, className),\n children: [children, /*#__PURE__*/_jsx(Badge, _extends({}, badgeProps, {\n className: clsx(classes.badge, badgeProps.className),\n children: displayValue\n }))]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? BadgeUnstyled.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 anchor of the badge.\n * @default {\n * vertical: 'top',\n * horizontal: 'right',\n * }\n */\n anchorOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOf(['left', 'right']).isRequired,\n vertical: PropTypes.oneOf(['bottom', 'top']).isRequired\n }),\n\n /**\n * The content rendered within the badge.\n */\n badgeContent: PropTypes.node,\n\n /**\n * The badge will be added relative to this node.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * The components used for each slot inside the Badge.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n components: PropTypes.shape({\n Badge: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n\n /**\n * The props used for each slot inside the Badge.\n * @default {}\n */\n componentsProps: PropTypes.shape({\n badge: PropTypes.object,\n root: PropTypes.object\n }),\n\n /**\n * If `true`, the badge is invisible.\n */\n invisible: PropTypes.bool,\n\n /**\n * Max count to show.\n * @default 99\n */\n max: PropTypes.number,\n\n /**\n * Controls whether the badge is hidden when `badgeContent` is zero.\n * @default false\n */\n showZero: PropTypes.bool,\n\n /**\n * The variant to use.\n * @default 'standard'\n */\n variant: PropTypes.string\n} : void 0;\nexport default BadgeUnstyled;","import { usePreviousProps } from '@mui/utils';\nexport default function useBadge(props) {\n const {\n anchorOrigin: anchorOriginProp = {\n vertical: 'top',\n horizontal: 'right'\n },\n badgeContent: badgeContentProp,\n invisible: invisibleProp,\n max: maxProp = 99,\n showZero = false,\n variant: variantProp = 'standard'\n } = props;\n const prevProps = usePreviousProps({\n anchorOrigin: anchorOriginProp,\n badgeContent: badgeContentProp,\n max: maxProp,\n variant: variantProp\n });\n let invisible = invisibleProp;\n\n if (invisibleProp == null && (badgeContentProp === 0 && !showZero || badgeContentProp == null && variantProp !== 'dot')) {\n invisible = true;\n }\n\n const {\n anchorOrigin = anchorOriginProp,\n badgeContent,\n max = maxProp,\n variant = variantProp\n } = invisible ? prevProps : props;\n let displayValue = '';\n\n if (variant !== 'dot') {\n displayValue = badgeContent && Number(badgeContent) > max ? `${max}+` : badgeContent;\n }\n\n return {\n anchorOrigin,\n badgeContent,\n invisible,\n max,\n variant,\n displayValue\n };\n}","import { isHostComponent } from '@mui/base';\n\nconst shouldSpreadAdditionalProps = Slot => {\n return !Slot || !isHostComponent(Slot);\n};\n\nexport default shouldSpreadAdditionalProps;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"anchorOrigin\", \"component\", \"components\", \"componentsProps\", \"overlap\", \"color\", \"invisible\", \"badgeContent\", \"showZero\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { usePreviousProps } from '@mui/utils';\nimport { generateUtilityClasses } from '@mui/base';\nimport BadgeUnstyled, { badgeUnstyledClasses, getBadgeUtilityClass } from '@mui/base/BadgeUnstyled';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport shouldSpreadAdditionalProps from '../utils/shouldSpreadAdditionalProps';\nimport capitalize from '../utils/capitalize';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const badgeClasses = _extends({}, badgeUnstyledClasses, generateUtilityClasses('MuiBadge', ['colorError', 'colorInfo', 'colorPrimary', 'colorSecondary', 'colorSuccess', 'colorWarning', 'overlapRectangular', 'overlapCircular', // TODO: v6 remove the overlap value from these class keys\n'anchorOriginTopLeftCircular', 'anchorOriginTopLeftRectangular', 'anchorOriginTopRightCircular', 'anchorOriginTopRightRectangular', 'anchorOriginBottomLeftCircular', 'anchorOriginBottomLeftRectangular', 'anchorOriginBottomRightCircular', 'anchorOriginBottomRightRectangular']));\nconst RADIUS_STANDARD = 10;\nconst RADIUS_DOT = 4;\n\nconst extendUtilityClasses = ownerState => {\n const {\n color,\n anchorOrigin,\n overlap,\n classes = {}\n } = ownerState;\n return _extends({}, classes, {\n badge: clsx(classes.badge, getBadgeUtilityClass(`anchorOrigin${capitalize(anchorOrigin.vertical)}${capitalize(anchorOrigin.horizontal)}${capitalize(overlap)}`), getBadgeUtilityClass(`overlap${capitalize(overlap)}`), color !== 'default' && [getBadgeUtilityClass(`color${capitalize(color)}`), classes[`color${capitalize(color)}`]])\n });\n};\n\nconst BadgeRoot = styled('span', {\n name: 'MuiBadge',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n position: 'relative',\n display: 'inline-flex',\n // For correct alignment with the text.\n verticalAlign: 'middle',\n flexShrink: 0\n});\nconst BadgeBadge = styled('span', {\n name: 'MuiBadge',\n slot: 'Badge',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.badge, styles[ownerState.variant], styles[`anchorOrigin${capitalize(ownerState.anchorOrigin.vertical)}${capitalize(ownerState.anchorOrigin.horizontal)}${capitalize(ownerState.overlap)}`], ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`], ownerState.invisible && styles.invisible];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'center',\n alignContent: 'center',\n alignItems: 'center',\n position: 'absolute',\n boxSizing: 'border-box',\n fontFamily: theme.typography.fontFamily,\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: theme.typography.pxToRem(12),\n minWidth: RADIUS_STANDARD * 2,\n lineHeight: 1,\n padding: '0 6px',\n height: RADIUS_STANDARD * 2,\n borderRadius: RADIUS_STANDARD,\n zIndex: 1,\n // Render the badge on top of potential ripples.\n transition: theme.transitions.create('transform', {\n easing: theme.transitions.easing.easeInOut,\n duration: theme.transitions.duration.enteringScreen\n })\n}, ownerState.color !== 'default' && {\n backgroundColor: theme.palette[ownerState.color].main,\n color: theme.palette[ownerState.color].contrastText\n}, ownerState.variant === 'dot' && {\n borderRadius: RADIUS_DOT,\n height: RADIUS_DOT * 2,\n minWidth: RADIUS_DOT * 2,\n padding: 0\n}, ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'rectangular' && {\n top: 0,\n right: 0,\n transform: 'scale(1) translate(50%, -50%)',\n transformOrigin: '100% 0%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(50%, -50%)'\n }\n}, ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'rectangular' && {\n bottom: 0,\n right: 0,\n transform: 'scale(1) translate(50%, 50%)',\n transformOrigin: '100% 100%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(50%, 50%)'\n }\n}, ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'rectangular' && {\n top: 0,\n left: 0,\n transform: 'scale(1) translate(-50%, -50%)',\n transformOrigin: '0% 0%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(-50%, -50%)'\n }\n}, ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'rectangular' && {\n bottom: 0,\n left: 0,\n transform: 'scale(1) translate(-50%, 50%)',\n transformOrigin: '0% 100%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(-50%, 50%)'\n }\n}, ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'circular' && {\n top: '14%',\n right: '14%',\n transform: 'scale(1) translate(50%, -50%)',\n transformOrigin: '100% 0%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(50%, -50%)'\n }\n}, ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'circular' && {\n bottom: '14%',\n right: '14%',\n transform: 'scale(1) translate(50%, 50%)',\n transformOrigin: '100% 100%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(50%, 50%)'\n }\n}, ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'circular' && {\n top: '14%',\n left: '14%',\n transform: 'scale(1) translate(-50%, -50%)',\n transformOrigin: '0% 0%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(-50%, -50%)'\n }\n}, ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'circular' && {\n bottom: '14%',\n left: '14%',\n transform: 'scale(1) translate(-50%, 50%)',\n transformOrigin: '0% 100%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(-50%, 50%)'\n }\n}, ownerState.invisible && {\n transition: theme.transitions.create('transform', {\n easing: theme.transitions.easing.easeInOut,\n duration: theme.transitions.duration.leavingScreen\n })\n}));\nconst Badge = /*#__PURE__*/React.forwardRef(function Badge(inProps, ref) {\n var _componentsProps$root, _componentsProps$badg;\n\n const props = useThemeProps({\n props: inProps,\n name: 'MuiBadge'\n });\n\n const {\n anchorOrigin: anchorOriginProp = {\n vertical: 'top',\n horizontal: 'right'\n },\n component = 'span',\n components = {},\n componentsProps = {},\n overlap: overlapProp = 'rectangular',\n color: colorProp = 'default',\n invisible: invisibleProp,\n badgeContent: badgeContentProp,\n showZero = false,\n variant: variantProp = 'standard'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const prevProps = usePreviousProps({\n anchorOrigin: anchorOriginProp,\n color: colorProp,\n overlap: overlapProp\n });\n let invisible = invisibleProp;\n\n if (invisibleProp == null && (badgeContentProp === 0 && !showZero || badgeContentProp == null && variantProp !== 'dot')) {\n invisible = true;\n }\n\n const {\n color = colorProp,\n overlap = overlapProp,\n anchorOrigin = anchorOriginProp\n } = invisible ? prevProps : props;\n\n const ownerState = _extends({}, props, {\n anchorOrigin,\n invisible,\n color,\n overlap\n });\n\n const classes = extendUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(BadgeUnstyled, _extends({\n anchorOrigin: anchorOrigin,\n invisible: invisibleProp,\n badgeContent: badgeContentProp,\n showZero: showZero,\n variant: variantProp\n }, other, {\n components: _extends({\n Root: BadgeRoot,\n Badge: BadgeBadge\n }, components),\n componentsProps: {\n root: _extends({}, componentsProps.root, shouldSpreadAdditionalProps(components.Root) && {\n as: component,\n ownerState: _extends({}, (_componentsProps$root = componentsProps.root) == null ? void 0 : _componentsProps$root.ownerState, {\n color,\n overlap\n })\n }),\n badge: _extends({}, componentsProps.badge, shouldSpreadAdditionalProps(components.Badge) && {\n ownerState: _extends({}, (_componentsProps$badg = componentsProps.badge) == null ? void 0 : _componentsProps$badg.ownerState, {\n color,\n overlap\n })\n })\n },\n classes: classes,\n ref: ref\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Badge.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 anchor of the badge.\n * @default {\n * vertical: 'top',\n * horizontal: 'right',\n * }\n */\n anchorOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOf(['left', 'right']).isRequired,\n vertical: PropTypes.oneOf(['bottom', 'top']).isRequired\n }),\n\n /**\n * The content rendered within the badge.\n */\n badgeContent: PropTypes.node,\n\n /**\n * The badge will be added relative to this node.\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 color of the component. It supports those theme colors that make sense for this component.\n * @default 'default'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * The components used for each slot inside the Badge.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n components: PropTypes.shape({\n Badge: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n\n /**\n * The props used for each slot inside the Badge.\n * @default {}\n */\n componentsProps: PropTypes.shape({\n badge: PropTypes.object,\n root: PropTypes.object\n }),\n\n /**\n * If `true`, the badge is invisible.\n */\n invisible: PropTypes.bool,\n\n /**\n * Max count to show.\n * @default 99\n */\n max: PropTypes.number,\n\n /**\n * Wrapped shape the badge should overlap.\n * @default 'rectangular'\n */\n overlap: PropTypes.oneOf(['circular', 'rectangular']),\n\n /**\n * Controls whether the badge is hidden when `badgeContent` is zero.\n * @default false\n */\n showZero: 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\n /**\n * The variant to use.\n * @default 'standard'\n */\n variant: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['dot', 'standard']), PropTypes.string])\n} : void 0;\nexport default Badge;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\n\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(:first-of-type)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.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 * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: 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 DialogActions;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Typography from '../Typography';\nimport { getDialogContentTextUtilityClass } from './dialogContentTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n\n const ownerState = _objectWithoutPropertiesLoose(props, _excluded);\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"text.secondary\",\n ref: ref,\n ownerState: ownerState\n }, props, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.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 * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\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 DialogContentText;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\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 ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\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.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\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 [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.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 [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.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 * 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.\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 Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\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 menu 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 * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\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\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;","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;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"edge\", \"size\", \"sx\"];\n// @inheritedComponent IconButton\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha, darken, lighten } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport SwitchBase from '../internal/SwitchBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport switchClasses, { getSwitchUtilityClass } from './switchClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n }\n}, ownerState.edge === 'start' && {\n marginLeft: -8\n}, ownerState.edge === 'end' && {\n marginRight: -8\n}, ownerState.size === 'small' && {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n}));\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300],\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.palette.mode === 'light' ? 0.12 : 0.2\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({\n '&:hover': {\n backgroundColor: alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${switchClasses.checked}`]: {\n color: theme.palette[ownerState.color].main,\n '&:hover': {\n backgroundColor: alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55)\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: theme.palette[ownerState.color].main\n }\n}));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white,\n opacity: theme.palette.mode === 'light' ? 0.38 : 0.3\n}));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(({\n theme\n}) => ({\n boxShadow: theme.shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n}));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n color,\n edge,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n\n const icon = /*#__PURE__*/_jsx(SwitchThumb, {\n className: classes.thumb,\n ownerState: ownerState\n });\n\n return /*#__PURE__*/_jsxs(SwitchRoot, {\n className: clsx(classes.root, className),\n sx: sx,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, _extends({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState\n }, other, {\n classes: _extends({}, classes, {\n root: classes.switchBase\n })\n })), /*#__PURE__*/_jsx(SwitchTrack, {\n className: classes.track,\n ownerState: ownerState\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.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 * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Switch;","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (file, acceptedFiles) {\n if (file && acceptedFiles) {\n var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(',');\n var fileName = file.name || '';\n var mimeType = (file.type || '').toLowerCase();\n var baseMimeType = mimeType.replace(/\\/.*$/, '');\n return acceptedFilesArray.some(function (type) {\n var validType = type.trim().toLowerCase();\n\n if (validType.charAt(0) === '.') {\n return fileName.toLowerCase().endsWith(validType);\n } else if (validType.endsWith('/*')) {\n // This is something like a image/* mime type\n return baseMimeType === validType.replace(/\\/.*$/, '');\n }\n\n return mimeType === validType;\n });\n }\n\n return true;\n};","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar CopyToClipboard =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n function CopyToClipboard() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(CopyToClipboard)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, [\"text\", \"onCopy\", \"options\", \"children\"]);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return _react[\"default\"].cloneElement(elem, _objectSpread({}, props, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export const COMMON_MIME_TYPES = new Map([\n ['avi', 'video/avi'],\n ['gif', 'image/gif'],\n ['ico', 'image/x-icon'],\n ['jpeg', 'image/jpeg'],\n ['jpg', 'image/jpeg'],\n ['mkv', 'video/x-matroska'],\n ['mov', 'video/quicktime'],\n ['mp4', 'video/mp4'],\n ['pdf', 'application/pdf'],\n ['png', 'image/png'],\n ['zip', 'application/zip'],\n ['doc', 'application/msword'],\n ['docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document']\n]);\n\n\nexport function toFileWithPath(file: FileWithPath, path?: string): FileWithPath {\n const f = withMimeType(file);\n if (typeof f.path !== 'string') { // on electron, path is already set to the absolute path\n const {webkitRelativePath} = file as FileWithWebkitPath;\n Object.defineProperty(f, 'path', {\n value: typeof path === 'string'\n ? path\n // If is set,\n // the File will have a {webkitRelativePath} property\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory\n : typeof webkitRelativePath === 'string' && webkitRelativePath.length > 0\n ? webkitRelativePath\n : file.name,\n writable: false,\n configurable: false,\n enumerable: true\n });\n }\n\n return f;\n}\n\ninterface DOMFile extends Blob {\n readonly lastModified: number;\n readonly name: string;\n}\n\nexport interface FileWithPath extends DOMFile {\n readonly path?: string;\n}\n\ninterface FileWithWebkitPath extends File {\n readonly webkitRelativePath?: string;\n}\n\nfunction withMimeType(file: FileWithPath) {\n const {name} = file;\n const hasExtension = name && name.lastIndexOf('.') !== -1;\n\n if (hasExtension && !file.type) {\n const ext = name.split('.')\n .pop()!.toLowerCase();\n const type = COMMON_MIME_TYPES.get(ext);\n if (type) {\n Object.defineProperty(file, 'type', {\n value: type,\n writable: false,\n configurable: false,\n enumerable: true\n });\n }\n }\n\n return file;\n}\n","import {FileWithPath, toFileWithPath} from './file';\n\n\nconst FILES_TO_IGNORE = [\n // Thumbnail cache files for macOS and Windows\n '.DS_Store', // macOs\n 'Thumbs.db' // Windows\n];\n\n\n/**\n * Convert a DragEvent's DataTrasfer object to a list of File objects\n * NOTE: If some of the items are folders,\n * everything will be flattened and placed in the same list but the paths will be kept as a {path} property.\n * @param evt\n */\nexport async function fromEvent(evt: Event): Promise<(FileWithPath | DataTransferItem)[]> {\n return isDragEvt(evt) && evt.dataTransfer\n ? getDataTransferFiles(evt.dataTransfer, evt.type)\n : getInputFiles(evt);\n}\n\nfunction isDragEvt(value: any): value is DragEvent {\n return !!value.dataTransfer;\n}\n\nfunction getInputFiles(evt: Event) {\n const files = isInput(evt.target)\n ? evt.target.files\n ? fromList(evt.target.files)\n : []\n : [];\n return files.map(file => toFileWithPath(file));\n}\n\nfunction isInput(value: EventTarget | null): value is HTMLInputElement {\n return value !== null;\n}\n\nasync function getDataTransferFiles(dt: DataTransfer, type: string) {\n // IE11 does not support dataTransfer.items\n // See https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/items#Browser_compatibility\n if (dt.items) {\n const items = fromList(dt.items)\n .filter(item => item.kind === 'file');\n // According to https://html.spec.whatwg.org/multipage/dnd.html#dndevents,\n // only 'dragstart' and 'drop' has access to the data (source node)\n if (type !== 'drop') {\n return items;\n }\n const files = await Promise.all(items.map(toFilePromises));\n return noIgnoredFiles(flatten(files));\n }\n\n return noIgnoredFiles(fromList(dt.files)\n .map(file => toFileWithPath(file)));\n}\n\nfunction noIgnoredFiles(files: FileWithPath[]) {\n return files.filter(file => FILES_TO_IGNORE.indexOf(file.name) === -1);\n}\n\n// IE11 does not support Array.from()\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Browser_compatibility\n// https://developer.mozilla.org/en-US/docs/Web/API/FileList\n// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList\nfunction fromList(items: DataTransferItemList | FileList): T[] {\n const files = [];\n\n // tslint:disable: prefer-for-of\n for (let i = 0; i < items.length; i++) {\n const file = items[i];\n files.push(file);\n }\n\n return files as any;\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem\nfunction toFilePromises(item: DataTransferItem) {\n if (typeof item.webkitGetAsEntry !== 'function') {\n return fromDataTransferItem(item);\n }\n\n const entry = item.webkitGetAsEntry();\n\n // Safari supports dropping an image node from a different window and can be retrieved using\n // the DataTransferItem.getAsFile() API\n // NOTE: FileSystemEntry.file() throws if trying to get the file\n if (entry && entry.isDirectory) {\n return fromDirEntry(entry) as any;\n }\n\n return fromDataTransferItem(item);\n}\n\nfunction flatten(items: any[]): T[] {\n return items.reduce((acc, files) => [\n ...acc,\n ...(Array.isArray(files) ? flatten(files) : [files])\n ], []);\n}\n\nfunction fromDataTransferItem(item: DataTransferItem) {\n const file = item.getAsFile();\n if (!file) {\n return Promise.reject(`${item} is not a File`);\n }\n const fwp = toFileWithPath(file);\n return Promise.resolve(fwp);\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemEntry\nasync function fromEntry(entry: any) {\n return entry.isDirectory ? fromDirEntry(entry) : fromFileEntry(entry);\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry\nfunction fromDirEntry(entry: any) {\n const reader = entry.createReader();\n\n return new Promise((resolve, reject) => {\n const entries: Promise[] = [];\n\n function readEntries() {\n // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry/createReader\n // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryReader/readEntries\n reader.readEntries(async (batch: any[]) => {\n if (!batch.length) {\n // Done reading directory\n try {\n const files = await Promise.all(entries);\n resolve(files);\n } catch (err) {\n reject(err);\n }\n } else {\n const items = Promise.all(batch.map(fromEntry));\n entries.push(items);\n\n // Continue reading\n readEntries();\n }\n }, (err: any) => {\n reject(err);\n });\n }\n\n readEntries();\n });\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileEntry\nasync function fromFileEntry(entry: any) {\n return new Promise((resolve, reject) => {\n entry.file((file: FileWithPath) => {\n const fwp = toFileWithPath(file, entry.fullPath);\n resolve(fwp);\n }, (err: any) => {\n reject(err);\n });\n });\n}\n\n// Infinite type recursion\n// https://github.com/Microsoft/TypeScript/issues/3496#issuecomment-128553540\ninterface FileArray extends Array {}\ntype FileValue = FileWithPath\n | FileArray[];\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport accepts from 'attr-accept'; // Error codes\n\nexport var FILE_INVALID_TYPE = 'file-invalid-type';\nexport var FILE_TOO_LARGE = 'file-too-large';\nexport var FILE_TOO_SMALL = 'file-too-small';\nexport var TOO_MANY_FILES = 'too-many-files';\nexport var ErrorCode = {\n FileInvalidType: FILE_INVALID_TYPE,\n FileTooLarge: FILE_TOO_LARGE,\n FileTooSmall: FILE_TOO_SMALL,\n TooManyFiles: TOO_MANY_FILES\n}; // File Errors\n\nexport var getInvalidTypeRejectionErr = function getInvalidTypeRejectionErr(accept) {\n accept = Array.isArray(accept) && accept.length === 1 ? accept[0] : accept;\n var messageSuffix = Array.isArray(accept) ? \"one of \".concat(accept.join(', ')) : accept;\n return {\n code: FILE_INVALID_TYPE,\n message: \"File type must be \".concat(messageSuffix)\n };\n};\nexport var getTooLargeRejectionErr = function getTooLargeRejectionErr(maxSize) {\n return {\n code: FILE_TOO_LARGE,\n message: \"File is larger than \".concat(maxSize, \" bytes\")\n };\n};\nexport var getTooSmallRejectionErr = function getTooSmallRejectionErr(minSize) {\n return {\n code: FILE_TOO_SMALL,\n message: \"File is smaller than \".concat(minSize, \" bytes\")\n };\n};\nexport var TOO_MANY_FILES_REJECTION = {\n code: TOO_MANY_FILES,\n message: 'Too many files'\n}; // Firefox versions prior to 53 return a bogus MIME type for every file drag, so dragovers with\n// that MIME type will always be accepted\n\nexport function fileAccepted(file, accept) {\n var isAcceptable = file.type === 'application/x-moz-file' || accepts(file, accept);\n return [isAcceptable, isAcceptable ? null : getInvalidTypeRejectionErr(accept)];\n}\nexport function fileMatchSize(file, minSize, maxSize) {\n if (isDefined(file.size)) {\n if (isDefined(minSize) && isDefined(maxSize)) {\n if (file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];\n if (file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];\n } else if (isDefined(minSize) && file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];else if (isDefined(maxSize) && file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];\n }\n\n return [true, null];\n}\n\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\n\nexport function allFilesAccepted(_ref) {\n var files = _ref.files,\n accept = _ref.accept,\n minSize = _ref.minSize,\n maxSize = _ref.maxSize,\n multiple = _ref.multiple,\n maxFiles = _ref.maxFiles;\n\n if (!multiple && files.length > 1 || multiple && maxFiles >= 1 && files.length > maxFiles) {\n return false;\n }\n\n return files.every(function (file) {\n var _fileAccepted = fileAccepted(file, accept),\n _fileAccepted2 = _slicedToArray(_fileAccepted, 1),\n accepted = _fileAccepted2[0];\n\n var _fileMatchSize = fileMatchSize(file, minSize, maxSize),\n _fileMatchSize2 = _slicedToArray(_fileMatchSize, 1),\n sizeMatch = _fileMatchSize2[0];\n\n return accepted && sizeMatch;\n });\n} // React's synthetic events has event.isPropagationStopped,\n// but to remain compatibility with other libs (Preact) fall back\n// to check event.cancelBubble\n\nexport function isPropagationStopped(event) {\n if (typeof event.isPropagationStopped === 'function') {\n return event.isPropagationStopped();\n } else if (typeof event.cancelBubble !== 'undefined') {\n return event.cancelBubble;\n }\n\n return false;\n}\nexport function isEvtWithFiles(event) {\n if (!event.dataTransfer) {\n return !!event.target && !!event.target.files;\n } // https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/types\n // https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/Recommended_drag_types#file\n\n\n return Array.prototype.some.call(event.dataTransfer.types, function (type) {\n return type === 'Files' || type === 'application/x-moz-file';\n });\n}\nexport function isKindFile(item) {\n return _typeof(item) === 'object' && item !== null && item.kind === 'file';\n} // allow the entire document to be a drag target\n\nexport function onDocumentDragOver(event) {\n event.preventDefault();\n}\n\nfunction isIe(userAgent) {\n return userAgent.indexOf('MSIE') !== -1 || userAgent.indexOf('Trident/') !== -1;\n}\n\nfunction isEdge(userAgent) {\n return userAgent.indexOf('Edge/') !== -1;\n}\n\nexport function isIeOrEdge() {\n var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.navigator.userAgent;\n return isIe(userAgent) || isEdge(userAgent);\n}\n/**\n * This is intended to be used to compose event handlers\n * They are executed in order until one of them calls `event.isPropagationStopped()`.\n * Note that the check is done on the first invoke too,\n * meaning that if propagation was stopped before invoking the fns,\n * no handlers will be executed.\n *\n * @param {Function} fns the event hanlder functions\n * @return {Function} the event handler to add to an element\n */\n\nexport function composeEventHandlers() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n return fns.some(function (fn) {\n if (!isPropagationStopped(event) && fn) {\n fn.apply(void 0, [event].concat(args));\n }\n\n return isPropagationStopped(event);\n });\n };\n}","var _excluded = [\"children\"],\n _excluded2 = [\"open\"],\n _excluded3 = [\"refKey\", \"onKeyDown\", \"onFocus\", \"onBlur\", \"onClick\", \"onDragEnter\", \"onDragOver\", \"onDragLeave\", \"onDrop\"],\n _excluded4 = [\"refKey\", \"onChange\", \"onClick\"];\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* eslint prefer-template: 0 */\nimport React, { forwardRef, Fragment, useCallback, useEffect, useImperativeHandle, useMemo, useReducer, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { fromEvent } from 'file-selector';\nimport { allFilesAccepted, composeEventHandlers, fileAccepted, fileMatchSize, isEvtWithFiles, isIeOrEdge, isPropagationStopped, onDocumentDragOver, TOO_MANY_FILES_REJECTION } from './utils/index';\n/**\n * Convenience wrapper component for the `useDropzone` hook\n *\n * ```jsx\n * \n * {({getRootProps, getInputProps}) => (\n *
\n * \n *

Drag 'n' drop some files here, or click to select files

\n *
\n * )}\n *
\n * ```\n */\n\nvar Dropzone = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var children = _ref.children,\n params = _objectWithoutProperties(_ref, _excluded);\n\n var _useDropzone = useDropzone(params),\n open = _useDropzone.open,\n props = _objectWithoutProperties(_useDropzone, _excluded2);\n\n useImperativeHandle(ref, function () {\n return {\n open: open\n };\n }, [open]); // TODO: Figure out why react-styleguidist cannot create docs if we don't return a jsx element\n\n return /*#__PURE__*/React.createElement(Fragment, null, children(_objectSpread(_objectSpread({}, props), {}, {\n open: open\n })));\n});\nDropzone.displayName = 'Dropzone'; // Add default props for react-docgen\n\nvar defaultProps = {\n disabled: false,\n getFilesFromEvent: fromEvent,\n maxSize: Infinity,\n minSize: 0,\n multiple: true,\n maxFiles: 0,\n preventDropOnDocument: true,\n noClick: false,\n noKeyboard: false,\n noDrag: false,\n noDragEventsBubbling: false,\n validator: null\n};\nDropzone.defaultProps = defaultProps;\nDropzone.propTypes = {\n /**\n * Render function that exposes the dropzone state and prop getter fns\n *\n * @param {object} params\n * @param {Function} params.getRootProps Returns the props you should apply to the root drop container you render\n * @param {Function} params.getInputProps Returns the props you should apply to hidden file input you render\n * @param {Function} params.open Open the native file selection dialog\n * @param {boolean} params.isFocused Dropzone area is in focus\n * @param {boolean} params.isFileDialogActive File dialog is opened\n * @param {boolean} params.isDragActive Active drag is in progress\n * @param {boolean} params.isDragAccept Dragged files are accepted\n * @param {boolean} params.isDragReject Some dragged files are rejected\n * @param {File[]} params.draggedFiles Files in active drag\n * @param {File[]} params.acceptedFiles Accepted files\n * @param {FileRejection[]} params.fileRejections Rejected files and why they were rejected\n */\n children: PropTypes.func,\n\n /**\n * Set accepted file types.\n * See https://github.com/okonet/attr-accept for more information.\n * Keep in mind that mime type determination is not reliable across platforms. CSV files,\n * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under\n * Windows. In some cases there might not be a mime type set at all.\n * See: https://github.com/react-dropzone/react-dropzone/issues/276\n */\n accept: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n\n /**\n * Allow drag 'n' drop (or selection from the file dialog) of multiple files\n */\n multiple: PropTypes.bool,\n\n /**\n * If false, allow dropped items to take over the current browser window\n */\n preventDropOnDocument: PropTypes.bool,\n\n /**\n * If true, disables click to open the native file selection dialog\n */\n noClick: PropTypes.bool,\n\n /**\n * If true, disables SPACE/ENTER to open the native file selection dialog.\n * Note that it also stops tracking the focus state.\n */\n noKeyboard: PropTypes.bool,\n\n /**\n * If true, disables drag 'n' drop\n */\n noDrag: PropTypes.bool,\n\n /**\n * If true, stops drag event propagation to parents\n */\n noDragEventsBubbling: PropTypes.bool,\n\n /**\n * Minimum file size (in bytes)\n */\n minSize: PropTypes.number,\n\n /**\n * Maximum file size (in bytes)\n */\n maxSize: PropTypes.number,\n\n /**\n * Maximum accepted number of files\n * The default value is 0 which means there is no limitation to how many files are accepted.\n */\n maxFiles: PropTypes.number,\n\n /**\n * Enable/disable the dropzone\n */\n disabled: PropTypes.bool,\n\n /**\n * Use this to provide a custom file aggregator\n *\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n getFilesFromEvent: PropTypes.func,\n\n /**\n * Cb for when closing the file dialog with no selection\n */\n onFileDialogCancel: PropTypes.func,\n\n /**\n * Cb for when opening the file dialog\n */\n onFileDialogOpen: PropTypes.func,\n\n /**\n * Cb for when the `dragenter` event occurs.\n *\n * @param {DragEvent} event\n */\n onDragEnter: PropTypes.func,\n\n /**\n * Cb for when the `dragleave` event occurs\n *\n * @param {DragEvent} event\n */\n onDragLeave: PropTypes.func,\n\n /**\n * Cb for when the `dragover` event occurs\n *\n * @param {DragEvent} event\n */\n onDragOver: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that this callback is invoked after the `getFilesFromEvent` callback is done.\n *\n * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.\n * `accept` must be a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) or a valid file extension.\n * If `multiple` is set to false and additional files are dropped,\n * all files besides the first will be rejected.\n * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.\n *\n * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.\n * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.\n *\n * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.\n * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:\n *\n * ```js\n * function onDrop(acceptedFiles) {\n * const req = request.post('/upload')\n * acceptedFiles.forEach(file => {\n * req.attach(file.name, file)\n * })\n * req.end(callback)\n * }\n * ```\n *\n * @param {File[]} acceptedFiles\n * @param {FileRejection[]} fileRejections\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n onDrop: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that if no files are accepted, this callback is not invoked.\n *\n * @param {File[]} files\n * @param {(DragEvent|Event)} event\n */\n onDropAccepted: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that if no files are rejected, this callback is not invoked.\n *\n * @param {FileRejection[]} fileRejections\n * @param {(DragEvent|Event)} event\n */\n onDropRejected: PropTypes.func,\n\n /**\n * Custom validation function\n * @param {File} file\n * @returns {FileError|FileError[]}\n */\n validator: PropTypes.func\n};\nexport default Dropzone;\n/**\n * A function that is invoked for the `dragenter`,\n * `dragover` and `dragleave` events.\n * It is not invoked if the items are not files (such as link, text, etc.).\n *\n * @callback dragCb\n * @param {DragEvent} event\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n * It is not invoked if the items are not files (such as link, text, etc.).\n *\n * @callback dropCb\n * @param {File[]} acceptedFiles List of accepted files\n * @param {FileRejection[]} fileRejections List of rejected files and why they were rejected\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n * It is not invoked if the items are files (such as link, text, etc.).\n *\n * @callback dropAcceptedCb\n * @param {File[]} files List of accepted files that meet the given criteria\n * (`accept`, `multiple`, `minSize`, `maxSize`)\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n *\n * @callback dropRejectedCb\n * @param {File[]} files List of rejected files that do not meet the given criteria\n * (`accept`, `multiple`, `minSize`, `maxSize`)\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is used aggregate files,\n * in a asynchronous fashion, from drag or input change events.\n *\n * @callback getFilesFromEvent\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n * @returns {(File[]|Promise)}\n */\n\n/**\n * An object with the current dropzone state and some helper functions.\n *\n * @typedef {object} DropzoneState\n * @property {Function} getRootProps Returns the props you should apply to the root drop container you render\n * @property {Function} getInputProps Returns the props you should apply to hidden file input you render\n * @property {Function} open Open the native file selection dialog\n * @property {boolean} isFocused Dropzone area is in focus\n * @property {boolean} isFileDialogActive File dialog is opened\n * @property {boolean} isDragActive Active drag is in progress\n * @property {boolean} isDragAccept Dragged files are accepted\n * @property {boolean} isDragReject Some dragged files are rejected\n * @property {File[]} draggedFiles Files in active drag\n * @property {File[]} acceptedFiles Accepted files\n * @property {FileRejection[]} fileRejections Rejected files and why they were rejected\n */\n\nvar initialState = {\n isFocused: false,\n isFileDialogActive: false,\n isDragActive: false,\n isDragAccept: false,\n isDragReject: false,\n draggedFiles: [],\n acceptedFiles: [],\n fileRejections: []\n};\n/**\n * A React hook that creates a drag 'n' drop area.\n *\n * ```jsx\n * function MyDropzone(props) {\n * const {getRootProps, getInputProps} = useDropzone({\n * onDrop: acceptedFiles => {\n * // do something with the File objects, e.g. upload to some server\n * }\n * });\n * return (\n *
\n * \n *

Drag and drop some files here, or click to select files

\n *
\n * )\n * }\n * ```\n *\n * @function useDropzone\n *\n * @param {object} props\n * @param {string|string[]} [props.accept] Set accepted file types.\n * See https://github.com/okonet/attr-accept for more information.\n * Keep in mind that mime type determination is not reliable across platforms. CSV files,\n * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under\n * Windows. In some cases there might not be a mime type set at all.\n * See: https://github.com/react-dropzone/react-dropzone/issues/276\n * @param {boolean} [props.multiple=true] Allow drag 'n' drop (or selection from the file dialog) of multiple files\n * @param {boolean} [props.preventDropOnDocument=true] If false, allow dropped items to take over the current browser window\n * @param {boolean} [props.noClick=false] If true, disables click to open the native file selection dialog\n * @param {boolean} [props.noKeyboard=false] If true, disables SPACE/ENTER to open the native file selection dialog.\n * Note that it also stops tracking the focus state.\n * @param {boolean} [props.noDrag=false] If true, disables drag 'n' drop\n * @param {boolean} [props.noDragEventsBubbling=false] If true, stops drag event propagation to parents\n * @param {number} [props.minSize=0] Minimum file size (in bytes)\n * @param {number} [props.maxSize=Infinity] Maximum file size (in bytes)\n * @param {boolean} [props.disabled=false] Enable/disable the dropzone\n * @param {getFilesFromEvent} [props.getFilesFromEvent] Use this to provide a custom file aggregator\n * @param {Function} [props.onFileDialogCancel] Cb for when closing the file dialog with no selection\n * @param {Function} [props.onFileDialogOpen] Cb for when opening the file dialog\n * @param {dragCb} [props.onDragEnter] Cb for when the `dragenter` event occurs.\n * @param {dragCb} [props.onDragLeave] Cb for when the `dragleave` event occurs\n * @param {dragCb} [props.onDragOver] Cb for when the `dragover` event occurs\n * @param {dropCb} [props.onDrop] Cb for when the `drop` event occurs.\n * Note that this callback is invoked after the `getFilesFromEvent` callback is done.\n *\n * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.\n * `accept` must be a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) or a valid file extension.\n * If `multiple` is set to false and additional files are dropped,\n * all files besides the first will be rejected.\n * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.\n *\n * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.\n * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.\n *\n * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.\n * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:\n *\n * ```js\n * function onDrop(acceptedFiles) {\n * const req = request.post('/upload')\n * acceptedFiles.forEach(file => {\n * req.attach(file.name, file)\n * })\n * req.end(callback)\n * }\n * ```\n * @param {dropAcceptedCb} [props.onDropAccepted]\n * @param {dropRejectedCb} [props.onDropRejected]\n *\n * @returns {DropzoneState}\n */\n\nexport function useDropzone() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _defaultProps$options = _objectSpread(_objectSpread({}, defaultProps), options),\n accept = _defaultProps$options.accept,\n disabled = _defaultProps$options.disabled,\n getFilesFromEvent = _defaultProps$options.getFilesFromEvent,\n maxSize = _defaultProps$options.maxSize,\n minSize = _defaultProps$options.minSize,\n multiple = _defaultProps$options.multiple,\n maxFiles = _defaultProps$options.maxFiles,\n onDragEnter = _defaultProps$options.onDragEnter,\n onDragLeave = _defaultProps$options.onDragLeave,\n onDragOver = _defaultProps$options.onDragOver,\n onDrop = _defaultProps$options.onDrop,\n onDropAccepted = _defaultProps$options.onDropAccepted,\n onDropRejected = _defaultProps$options.onDropRejected,\n onFileDialogCancel = _defaultProps$options.onFileDialogCancel,\n onFileDialogOpen = _defaultProps$options.onFileDialogOpen,\n preventDropOnDocument = _defaultProps$options.preventDropOnDocument,\n noClick = _defaultProps$options.noClick,\n noKeyboard = _defaultProps$options.noKeyboard,\n noDrag = _defaultProps$options.noDrag,\n noDragEventsBubbling = _defaultProps$options.noDragEventsBubbling,\n validator = _defaultProps$options.validator;\n\n var rootRef = useRef(null);\n var inputRef = useRef(null);\n\n var _useReducer = useReducer(reducer, initialState),\n _useReducer2 = _slicedToArray(_useReducer, 2),\n state = _useReducer2[0],\n dispatch = _useReducer2[1];\n\n var isFocused = state.isFocused,\n isFileDialogActive = state.isFileDialogActive,\n draggedFiles = state.draggedFiles; // Fn for opening the file dialog programmatically\n\n var openFileDialog = useCallback(function () {\n if (inputRef.current) {\n dispatch({\n type: 'openDialog'\n });\n\n if (typeof onFileDialogOpen === 'function') {\n onFileDialogOpen();\n }\n\n inputRef.current.value = null;\n inputRef.current.click();\n }\n }, [dispatch, onFileDialogOpen]); // Update file dialog active state when the window is focused on\n\n var onWindowFocus = function onWindowFocus() {\n // Execute the timeout only if the file dialog is opened in the browser\n if (isFileDialogActive) {\n setTimeout(function () {\n if (inputRef.current) {\n var files = inputRef.current.files;\n\n if (!files.length) {\n dispatch({\n type: 'closeDialog'\n });\n\n if (typeof onFileDialogCancel === 'function') {\n onFileDialogCancel();\n }\n }\n }\n }, 300);\n }\n };\n\n useEffect(function () {\n window.addEventListener('focus', onWindowFocus, false);\n return function () {\n window.removeEventListener('focus', onWindowFocus, false);\n };\n }, [inputRef, isFileDialogActive, onFileDialogCancel]); // Cb to open the file dialog when SPACE/ENTER occurs on the dropzone\n\n var onKeyDownCb = useCallback(function (event) {\n // Ignore keyboard events bubbling up the DOM tree\n if (!rootRef.current || !rootRef.current.isEqualNode(event.target)) {\n return;\n }\n\n if (event.keyCode === 32 || event.keyCode === 13) {\n event.preventDefault();\n openFileDialog();\n }\n }, [rootRef, inputRef, openFileDialog]); // Update focus state for the dropzone\n\n var onFocusCb = useCallback(function () {\n dispatch({\n type: 'focus'\n });\n }, []);\n var onBlurCb = useCallback(function () {\n dispatch({\n type: 'blur'\n });\n }, []); // Cb to open the file dialog when click occurs on the dropzone\n\n var onClickCb = useCallback(function () {\n if (noClick) {\n return;\n } // In IE11/Edge the file-browser dialog is blocking, therefore, use setTimeout()\n // to ensure React can handle state changes\n // See: https://github.com/react-dropzone/react-dropzone/issues/450\n\n\n if (isIeOrEdge()) {\n setTimeout(openFileDialog, 0);\n } else {\n openFileDialog();\n }\n }, [inputRef, noClick, openFileDialog]);\n var dragTargetsRef = useRef([]);\n\n var onDocumentDrop = function onDocumentDrop(event) {\n if (rootRef.current && rootRef.current.contains(event.target)) {\n // If we intercepted an event for our instance, let it propagate down to the instance's onDrop handler\n return;\n }\n\n event.preventDefault();\n dragTargetsRef.current = [];\n };\n\n useEffect(function () {\n if (preventDropOnDocument) {\n document.addEventListener('dragover', onDocumentDragOver, false);\n document.addEventListener('drop', onDocumentDrop, false);\n }\n\n return function () {\n if (preventDropOnDocument) {\n document.removeEventListener('dragover', onDocumentDragOver);\n document.removeEventListener('drop', onDocumentDrop);\n }\n };\n }, [rootRef, preventDropOnDocument]);\n var onDragEnterCb = useCallback(function (event) {\n event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done\n\n event.persist();\n stopPropagation(event);\n dragTargetsRef.current = [].concat(_toConsumableArray(dragTargetsRef.current), [event.target]);\n\n if (isEvtWithFiles(event)) {\n Promise.resolve(getFilesFromEvent(event)).then(function (draggedFiles) {\n if (isPropagationStopped(event) && !noDragEventsBubbling) {\n return;\n }\n\n dispatch({\n draggedFiles: draggedFiles,\n isDragActive: true,\n type: 'setDraggedFiles'\n });\n\n if (onDragEnter) {\n onDragEnter(event);\n }\n });\n }\n }, [getFilesFromEvent, onDragEnter, noDragEventsBubbling]);\n var onDragOverCb = useCallback(function (event) {\n event.preventDefault();\n event.persist();\n stopPropagation(event);\n var hasFiles = isEvtWithFiles(event);\n\n if (hasFiles && event.dataTransfer) {\n try {\n event.dataTransfer.dropEffect = 'copy';\n } catch (_unused) {}\n /* eslint-disable-line no-empty */\n\n }\n\n if (hasFiles && onDragOver) {\n onDragOver(event);\n }\n\n return false;\n }, [onDragOver, noDragEventsBubbling]);\n var onDragLeaveCb = useCallback(function (event) {\n event.preventDefault();\n event.persist();\n stopPropagation(event); // Only deactivate once the dropzone and all children have been left\n\n var targets = dragTargetsRef.current.filter(function (target) {\n return rootRef.current && rootRef.current.contains(target);\n }); // Make sure to remove a target present multiple times only once\n // (Firefox may fire dragenter/dragleave multiple times on the same element)\n\n var targetIdx = targets.indexOf(event.target);\n\n if (targetIdx !== -1) {\n targets.splice(targetIdx, 1);\n }\n\n dragTargetsRef.current = targets;\n\n if (targets.length > 0) {\n return;\n }\n\n dispatch({\n isDragActive: false,\n type: 'setDraggedFiles',\n draggedFiles: []\n });\n\n if (isEvtWithFiles(event) && onDragLeave) {\n onDragLeave(event);\n }\n }, [rootRef, onDragLeave, noDragEventsBubbling]);\n var onDropCb = useCallback(function (event) {\n event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done\n\n event.persist();\n stopPropagation(event);\n dragTargetsRef.current = [];\n\n if (isEvtWithFiles(event)) {\n Promise.resolve(getFilesFromEvent(event)).then(function (files) {\n if (isPropagationStopped(event) && !noDragEventsBubbling) {\n return;\n }\n\n var acceptedFiles = [];\n var fileRejections = [];\n files.forEach(function (file) {\n var _fileAccepted = fileAccepted(file, accept),\n _fileAccepted2 = _slicedToArray(_fileAccepted, 2),\n accepted = _fileAccepted2[0],\n acceptError = _fileAccepted2[1];\n\n var _fileMatchSize = fileMatchSize(file, minSize, maxSize),\n _fileMatchSize2 = _slicedToArray(_fileMatchSize, 2),\n sizeMatch = _fileMatchSize2[0],\n sizeError = _fileMatchSize2[1];\n\n var customErrors = validator ? validator(file) : null;\n\n if (accepted && sizeMatch && !customErrors) {\n acceptedFiles.push(file);\n } else {\n var errors = [acceptError, sizeError];\n\n if (customErrors) {\n errors = errors.concat(customErrors);\n }\n\n fileRejections.push({\n file: file,\n errors: errors.filter(function (e) {\n return e;\n })\n });\n }\n });\n\n if (!multiple && acceptedFiles.length > 1 || multiple && maxFiles >= 1 && acceptedFiles.length > maxFiles) {\n // Reject everything and empty accepted files\n acceptedFiles.forEach(function (file) {\n fileRejections.push({\n file: file,\n errors: [TOO_MANY_FILES_REJECTION]\n });\n });\n acceptedFiles.splice(0);\n }\n\n dispatch({\n acceptedFiles: acceptedFiles,\n fileRejections: fileRejections,\n type: 'setFiles'\n });\n\n if (onDrop) {\n onDrop(acceptedFiles, fileRejections, event);\n }\n\n if (fileRejections.length > 0 && onDropRejected) {\n onDropRejected(fileRejections, event);\n }\n\n if (acceptedFiles.length > 0 && onDropAccepted) {\n onDropAccepted(acceptedFiles, event);\n }\n });\n }\n\n dispatch({\n type: 'reset'\n });\n }, [multiple, accept, minSize, maxSize, maxFiles, getFilesFromEvent, onDrop, onDropAccepted, onDropRejected, noDragEventsBubbling, validator]);\n\n var composeHandler = function composeHandler(fn) {\n return disabled ? null : fn;\n };\n\n var composeKeyboardHandler = function composeKeyboardHandler(fn) {\n return noKeyboard ? null : composeHandler(fn);\n };\n\n var composeDragHandler = function composeDragHandler(fn) {\n return noDrag ? null : composeHandler(fn);\n };\n\n var stopPropagation = function stopPropagation(event) {\n if (noDragEventsBubbling) {\n event.stopPropagation();\n }\n };\n\n var getRootProps = useMemo(function () {\n return function () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$refKey = _ref2.refKey,\n refKey = _ref2$refKey === void 0 ? 'ref' : _ref2$refKey,\n onKeyDown = _ref2.onKeyDown,\n onFocus = _ref2.onFocus,\n onBlur = _ref2.onBlur,\n onClick = _ref2.onClick,\n onDragEnter = _ref2.onDragEnter,\n onDragOver = _ref2.onDragOver,\n onDragLeave = _ref2.onDragLeave,\n onDrop = _ref2.onDrop,\n rest = _objectWithoutProperties(_ref2, _excluded3);\n\n return _objectSpread(_objectSpread(_defineProperty({\n onKeyDown: composeKeyboardHandler(composeEventHandlers(onKeyDown, onKeyDownCb)),\n onFocus: composeKeyboardHandler(composeEventHandlers(onFocus, onFocusCb)),\n onBlur: composeKeyboardHandler(composeEventHandlers(onBlur, onBlurCb)),\n onClick: composeHandler(composeEventHandlers(onClick, onClickCb)),\n onDragEnter: composeDragHandler(composeEventHandlers(onDragEnter, onDragEnterCb)),\n onDragOver: composeDragHandler(composeEventHandlers(onDragOver, onDragOverCb)),\n onDragLeave: composeDragHandler(composeEventHandlers(onDragLeave, onDragLeaveCb)),\n onDrop: composeDragHandler(composeEventHandlers(onDrop, onDropCb))\n }, refKey, rootRef), !disabled && !noKeyboard ? {\n tabIndex: 0\n } : {}), rest);\n };\n }, [rootRef, onKeyDownCb, onFocusCb, onBlurCb, onClickCb, onDragEnterCb, onDragOverCb, onDragLeaveCb, onDropCb, noKeyboard, noDrag, disabled]);\n var onInputElementClick = useCallback(function (event) {\n event.stopPropagation();\n }, []);\n var getInputProps = useMemo(function () {\n return function () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$refKey = _ref3.refKey,\n refKey = _ref3$refKey === void 0 ? 'ref' : _ref3$refKey,\n onChange = _ref3.onChange,\n onClick = _ref3.onClick,\n rest = _objectWithoutProperties(_ref3, _excluded4);\n\n var inputProps = _defineProperty({\n accept: accept,\n multiple: multiple,\n type: 'file',\n style: {\n display: 'none'\n },\n onChange: composeHandler(composeEventHandlers(onChange, onDropCb)),\n onClick: composeHandler(composeEventHandlers(onClick, onInputElementClick)),\n autoComplete: 'off',\n tabIndex: -1\n }, refKey, inputRef);\n\n return _objectSpread(_objectSpread({}, inputProps), rest);\n };\n }, [inputRef, accept, multiple, onDropCb, disabled]);\n var fileCount = draggedFiles.length;\n var isDragAccept = fileCount > 0 && allFilesAccepted({\n files: draggedFiles,\n accept: accept,\n minSize: minSize,\n maxSize: maxSize,\n multiple: multiple,\n maxFiles: maxFiles\n });\n var isDragReject = fileCount > 0 && !isDragAccept;\n return _objectSpread(_objectSpread({}, state), {}, {\n isDragAccept: isDragAccept,\n isDragReject: isDragReject,\n isFocused: isFocused && !disabled,\n getRootProps: getRootProps,\n getInputProps: getInputProps,\n rootRef: rootRef,\n inputRef: inputRef,\n open: composeHandler(openFileDialog)\n });\n}\n\nfunction reducer(state, action) {\n /* istanbul ignore next */\n switch (action.type) {\n case 'focus':\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: true\n });\n\n case 'blur':\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: false\n });\n\n case 'openDialog':\n return _objectSpread(_objectSpread({}, state), {}, {\n isFileDialogActive: true\n });\n\n case 'closeDialog':\n return _objectSpread(_objectSpread({}, state), {}, {\n isFileDialogActive: false\n });\n\n case 'setDraggedFiles':\n /* eslint no-case-declarations: 0 */\n var isDragActive = action.isDragActive,\n draggedFiles = action.draggedFiles;\n return _objectSpread(_objectSpread({}, state), {}, {\n draggedFiles: draggedFiles,\n isDragActive: isDragActive\n });\n\n case 'setFiles':\n return _objectSpread(_objectSpread({}, state), {}, {\n acceptedFiles: action.acceptedFiles,\n fileRejections: action.fileRejections\n });\n\n case 'reset':\n return _objectSpread({}, initialState);\n\n default:\n return state;\n }\n}\n\nexport { ErrorCode } from './utils';","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getLoadingButtonUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","LoadingButtonRoot","styled","Button","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","root","startIconLoadingStart","loadingButtonClasses","endIconLoadingEnd","ownerState","theme","_extends","transition","transitions","create","duration","short","opacity","loadingPosition","color","fullWidth","marginRight","marginLeft","LoadingButtonLoadingIndicator","loadingIndicator","capitalize","position","visibility","display","variant","left","transform","palette","action","disabled","right","React","inProps","ref","useThemeProps","children","idProp","id","loading","loadingIndicatorProp","other","_objectWithoutPropertiesLoose","useId","_jsx","CircularProgress","size","classes","slots","startIcon","endIcon","composedClasses","composeClasses","useUtilityClasses","_jsxs","className","Context","TabContext","value","idPrefix","setId","Math","round","random","useUniquePrefix","context","Provider","useTabContext","getPanelId","getTabId","TabList","childrenProp","TypeError","child","Tabs","getTabPanelUtilityClass","TabPanelRoot","padding","spacing","tabId","clsx","hidden","role","current","getBadgeUtilityClass","BadgeUnstyled","anchorOrigin","anchorOriginProp","vertical","horizontal","classesProp","component","components","componentsProps","max","maxProp","showZero","variantProp","badgeContentProp","badgeContent","invisibleProp","invisible","prevProps","usePreviousProps","displayValue","Number","useBadge","badge","Root","rootProps","appendOwnerState","Badge","badgeProps","Slot","isHostComponent","badgeClasses","badgeUnstyledClasses","BadgeRoot","verticalAlign","flexShrink","BadgeBadge","overlap","flexDirection","flexWrap","justifyContent","alignContent","alignItems","boxSizing","fontFamily","typography","fontWeight","fontWeightMedium","fontSize","pxToRem","minWidth","RADIUS_STANDARD","lineHeight","height","borderRadius","zIndex","easing","easeInOut","enteringScreen","backgroundColor","main","contrastText","RADIUS_DOT","top","transformOrigin","bottom","leavingScreen","_componentsProps$root","_componentsProps$badg","overlapProp","colorProp","extendUtilityClasses","shouldSpreadAdditionalProps","as","getDialogActionsUtilityClass","DialogActionsRoot","disableSpacing","flex","getDialogContentTextUtilityClass","DialogContentTextRoot","Typography","getDividerUtilityClass","dividerClasses","getInputAdornmentUtilityClass","_span","InputAdornmentRoot","disablePointerEvents","maxHeight","whiteSpace","active","inputAdornmentClasses","marginTop","pointerEvents","disableTypography","muiFormControl","useFormControl","hiddenLabel","FormControlContext","getMenuItemUtilityClass","MenuItemRoot","ButtonBase","dense","divider","disableGutters","gutters","body1","textDecoration","minHeight","paddingTop","paddingBottom","paddingLeft","paddingRight","borderBottom","backgroundClip","hover","menuItemClasses","alpha","primary","selectedOpacity","focusOpacity","hoverOpacity","focus","disabledOpacity","marginBottom","listItemTextClasses","listItemIconClasses","breakpoints","up","body2","autoFocus","focusVisibleClassName","tabIndexProp","tabIndex","ListContext","childContext","menuItemRef","useEnhancedEffect","selected","handleRef","useForkRef","undefined","focusVisible","joinChildren","separator","childrenArray","filter","Boolean","reduce","output","index","push","length","key","StackRoot","handleBreakpoints","resolveBreakpointValues","values","direction","propValue","transformer","createUnarySpacing","base","Object","keys","acc","breakpoint","directionValues","spacingValues","deepmerge","margin","row","column","getValue","Stack","themeProps","extendSxProp","getSwitchUtilityClass","SwitchRoot","edge","width","overflow","colorAdjust","switchClasses","SwitchSwitchBase","SwitchBase","switchBase","input","mode","common","white","grey","shortest","lighten","darken","SwitchTrack","track","black","SwitchThumb","thumb","boxShadow","shadows","sx","checked","icon","type","checkedIcon","file","acceptedFiles","acceptedFilesArray","Array","isArray","split","fileName","mimeType","toLowerCase","baseMimeType","replace","some","validType","trim","charAt","endsWith","deselectCurrent","clipboardToIE11Formatting","module","text","options","debug","message","reselectPrevious","range","selection","mark","success","document","createRange","getSelection","createElement","textContent","style","all","clip","webkitUserSelect","MozUserSelect","msUserSelect","userSelect","addEventListener","e","stopPropagation","format","preventDefault","clipboardData","console","warn","window","clearData","setData","onCopy","body","appendChild","selectNodeContents","addRange","execCommand","Error","err","error","copyKey","test","navigator","userAgent","prompt","removeRange","removeAllRanges","removeChild","defineProperty","CopyToClipboard","_react","_copyToClipboard","obj","__esModule","_typeof","Symbol","iterator","constructor","prototype","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","apply","_objectWithoutProperties","source","excluded","i","target","sourceKeys","indexOf","sourceSymbolKeys","propertyIsEnumerable","call","_classCallCheck","instance","Constructor","_defineProperties","descriptor","configurable","writable","_possibleConstructorReturn","self","_assertThisInitialized","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","ReferenceError","_setPrototypeOf","p","_defineProperty","_React$PureComponent","_getPrototypeOf2","_this","this","_len","arguments","args","_key","concat","event","_this$props","elem","Children","only","result","onClick","protoProps","staticProps","subClass","superClass","_inherits","_this$props2","cloneElement","forEach","getOwnPropertyDescriptors","defineProperties","_objectSpread","PureComponent","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","done","then","__generator","f","y","t","g","_","label","sent","trys","ops","verb","n","v","op","pop","__read","m","r","ar","COMMON_MIME_TYPES","Map","toFileWithPath","path","lastIndexOf","ext","get","withMimeType","webkitRelativePath","FILES_TO_IGNORE","getInputFiles","evt","files","fromList","map","getDataTransferFiles","dt","items","item","kind","toFilePromises","noIgnoredFiles","flatten","webkitGetAsEntry","fromDataTransferItem","entry","isDirectory","fromDirEntry","getAsFile","fwp","fromEntry","fromFileEntry","reader","createReader","entries","readEntries","batch","fullPath","_slicedToArray","arr","_arrayWithHoles","_i","_s","_e","_arr","_n","_d","_iterableToArrayLimit","minLen","_arrayLikeToArray","toString","slice","from","_unsupportedIterableToArray","_nonIterableRest","len","arr2","FILE_INVALID_TYPE","FILE_TOO_LARGE","FILE_TOO_SMALL","TOO_MANY_FILES","getInvalidTypeRejectionErr","accept","messageSuffix","join","code","getTooLargeRejectionErr","maxSize","getTooSmallRejectionErr","minSize","TOO_MANY_FILES_REJECTION","fileAccepted","isAcceptable","accepts","fileMatchSize","isDefined","allFilesAccepted","_ref","multiple","maxFiles","every","accepted","sizeMatch","isPropagationStopped","cancelBubble","isEvtWithFiles","dataTransfer","types","onDocumentDragOver","isIe","isEdge","isIeOrEdge","composeEventHandlers","fns","_len2","_key2","fn","_excluded2","_excluded3","_excluded4","_toConsumableArray","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","Dropzone","forwardRef","_useDropzone","useDropzone","open","useImperativeHandle","Fragment","displayName","defaultProps","getFilesFromEvent","Infinity","preventDropOnDocument","noClick","noKeyboard","noDrag","noDragEventsBubbling","validator","propTypes","PropTypes","onFileDialogCancel","onFileDialogOpen","onDragEnter","onDragLeave","onDragOver","onDrop","onDropAccepted","onDropRejected","initialState","isFocused","isFileDialogActive","isDragActive","isDragAccept","isDragReject","draggedFiles","fileRejections","_defaultProps$options","rootRef","useRef","inputRef","_useReducer","useReducer","reducer","_useReducer2","state","dispatch","openFileDialog","useCallback","click","onWindowFocus","setTimeout","useEffect","removeEventListener","onKeyDownCb","isEqualNode","keyCode","onFocusCb","onBlurCb","onClickCb","dragTargetsRef","onDocumentDrop","contains","onDragEnterCb","persist","onDragOverCb","hasFiles","dropEffect","_unused","onDragLeaveCb","targets","targetIdx","splice","onDropCb","_fileAccepted2","acceptError","_fileMatchSize2","sizeError","customErrors","errors","composeHandler","composeKeyboardHandler","composeDragHandler","getRootProps","useMemo","_ref2","_ref2$refKey","refKey","onKeyDown","onFocus","onBlur","rest","onInputElementClick","getInputProps","_ref3","_ref3$refKey","onChange","inputProps","autoComplete","fileCount","rangeCount","activeElement","ranges","getRangeAt","tagName","toUpperCase","blur"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/5482.dcaee6b1.chunk.js","mappings":"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","sources":["../node_modules/@mui/icons-material/Add.js","../node_modules/@mui/lab/LoadingButton/loadingButtonClasses.js","../node_modules/@mui/lab/LoadingButton/LoadingButton.js","../node_modules/@mui/lab/TabContext/TabContext.js","../node_modules/@mui/lab/TabList/TabList.js","../node_modules/@mui/lab/TabPanel/tabPanelClasses.js","../node_modules/@mui/lab/TabPanel/TabPanel.js","../node_modules/@mui/utils/esm/usePreviousProps.js","../node_modules/@mui/base/BadgeUnstyled/badgeUnstyledClasses.js","../node_modules/@mui/base/BadgeUnstyled/BadgeUnstyled.js","../node_modules/@mui/base/BadgeUnstyled/useBadge.js","../node_modules/@mui/material/utils/shouldSpreadAdditionalProps.js","../node_modules/@mui/material/Badge/Badge.js","../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/DialogActions/DialogActions.js","../node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js","../node_modules/@mui/material/DialogContentText/DialogContentText.js","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js","../node_modules/@mui/material/Stack/Stack.js","../node_modules/@mui/material/Switch/switchClasses.js","../node_modules/@mui/material/Switch/Switch.js","../node_modules/attr-accept/dist/es/index.js","../node_modules/copy-to-clipboard/index.js","../node_modules/react-copy-to-clipboard/lib/Component.js","../node_modules/react-copy-to-clipboard/lib/index.js","../node_modules/tslib/tslib.es6.js","../node_modules/file-selector/src/file.ts","../node_modules/file-selector/src/file-selector.ts","../node_modules/react-dropzone/dist/es/utils/index.js","../node_modules/react-dropzone/dist/es/index.js","../node_modules/toggle-selection/index.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"\n}), 'Add');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLoadingButtonUtilityClass(slot) {\n return generateUtilityClass('MuiLoadingButton', slot);\n}\nconst loadingButtonClasses = generateUtilityClasses('MuiLoadingButton', ['root', 'loading', 'loadingIndicator', 'loadingIndicatorCenter', 'loadingIndicatorStart', 'loadingIndicatorEnd', 'endIconLoadingEnd', 'startIconLoadingStart']);\nexport default loadingButtonClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"disabled\", \"id\", \"loading\", \"loadingIndicator\", \"loadingPosition\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { chainPropTypes } from '@mui/utils';\nimport { capitalize, unstable_useId as useId } from '@mui/material/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport loadingButtonClasses, { getLoadingButtonUtilityClass } from './loadingButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n loading,\n loadingPosition,\n classes\n } = ownerState;\n const slots = {\n root: ['root', loading && 'loading'],\n startIcon: [loading && `startIconLoading${capitalize(loadingPosition)}`],\n endIcon: [loading && `endIconLoading${capitalize(loadingPosition)}`],\n loadingIndicator: ['loadingIndicator', loading && `loadingIndicator${capitalize(loadingPosition)}`]\n };\n const composedClasses = composeClasses(slots, getLoadingButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n}; // TODO use `import { rootShouldForwardProp } from '../styles/styled';` once move to core\n\n\nconst rootShouldForwardProp = prop => prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as' && prop !== 'classes';\n\nconst LoadingButtonRoot = styled(Button, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiLoadingButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root, styles.startIconLoadingStart && {\n [`& .${loadingButtonClasses.startIconLoadingStart}`]: styles.startIconLoadingStart\n }, styles.endIconLoadingEnd && {\n [`& .${loadingButtonClasses.endIconLoadingEnd}`]: styles.endIconLoadingEnd\n }];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0\n }\n}, ownerState.loadingPosition === 'center' && {\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n [`&.${loadingButtonClasses.loading}`]: {\n color: 'transparent'\n }\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginRight: -8\n }\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginLeft: -8\n }\n}));\nconst LoadingButtonLoadingIndicator = styled('div', {\n name: 'MuiLoadingButton',\n slot: 'LoadingIndicator',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.loadingIndicator, styles[`loadingIndicator${capitalize(ownerState.loadingPosition)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'absolute',\n visibility: 'visible',\n display: 'flex'\n}, ownerState.loadingPosition === 'start' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n left: 14\n}, ownerState.loadingPosition === 'start' && ownerState.variant === 'text' && {\n left: 6\n}, ownerState.loadingPosition === 'center' && {\n left: '50%',\n transform: 'translate(-50%)',\n color: theme.palette.action.disabled\n}, ownerState.loadingPosition === 'end' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n right: 14\n}, ownerState.loadingPosition === 'end' && ownerState.variant === 'text' && {\n right: 6\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n position: 'relative',\n left: -10\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n position: 'relative',\n right: -10\n}));\nconst LoadingButton = /*#__PURE__*/React.forwardRef(function LoadingButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLoadingButton'\n });\n\n const {\n children,\n disabled = false,\n id: idProp,\n loading = false,\n loadingIndicator: loadingIndicatorProp,\n loadingPosition = 'center',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const id = useId(idProp);\n const loadingIndicator = loadingIndicatorProp != null ? loadingIndicatorProp : /*#__PURE__*/_jsx(CircularProgress, {\n \"aria-labelledby\": id,\n color: \"inherit\",\n size: 16\n });\n\n const ownerState = _extends({}, props, {\n disabled,\n loading,\n loadingIndicator,\n loadingPosition,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LoadingButtonRoot, _extends({\n disabled: disabled || loading,\n id: id,\n ref: ref\n }, other, {\n variant: variant,\n classes: classes,\n ownerState: ownerState,\n children: ownerState.loadingPosition === 'end' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [children, loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n })]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n }), children]\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LoadingButton.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 * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * @ignore\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the loading indicator is shown.\n * @default false\n */\n loading: PropTypes.bool,\n\n /**\n * Element placed before the children if the button is in loading state.\n * The node should contain an element with `role=\"progressbar\"` with an accessible name.\n * By default we render a `CircularProgress` that is labelled by the button itself.\n * @default \n */\n loadingIndicator: PropTypes.node,\n\n /**\n * The loading indicator can be positioned on the start, end, or the center of the button.\n * @default 'center'\n */\n loadingPosition: chainPropTypes(PropTypes.oneOf(['start', 'end', 'center']), props => {\n if (props.loadingPosition === 'start' && !props.startIcon) {\n return new Error(`MUI: The loadingPosition=\"start\" should be used in combination with startIcon.`);\n }\n\n if (props.loadingPosition === 'end' && !props.endIcon) {\n return new Error(`MUI: The loadingPosition=\"end\" should be used in combination with endIcon.`);\n }\n\n return null;\n }),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes.oneOf(['contained', 'outlined', 'text'])\n} : void 0;\nexport default LoadingButton;","import * as React from 'react';\nimport PropTypes from 'prop-types';\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\n\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\n\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.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 value of the currently selected `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\n/**\n * @returns {unknown}\n */\n\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-T-${value}`;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.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 * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\n\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props);\n\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.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 * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;","import * as React from 'react';\n\nconst usePreviousProps = value => {\n const ref = React.useRef({});\n React.useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\n\nexport default usePreviousProps;","import generateUtilityClasses from '../generateUtilityClasses';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getBadgeUtilityClass(slot) {\n return generateUtilityClass('MuiBadge', slot);\n}\nconst badgeUnstyledClasses = generateUtilityClasses('MuiBadge', ['root', 'badge', 'dot', 'standard', 'anchorOriginTopLeft', 'anchorOriginTopRight', 'anchorOriginBottomLeft', 'anchorOriginBottomRight', 'invisible']);\nexport default badgeUnstyledClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"anchorOrigin\", \"classes\", \"badgeContent\", \"component\", \"children\", \"className\", \"components\", \"componentsProps\", \"invisible\", \"max\", \"showZero\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_capitalize as capitalize } from '@mui/utils';\nimport composeClasses from '../composeClasses';\nimport appendOwnerState from '../utils/appendOwnerState';\nimport useBadge from './useBadge';\nimport { getBadgeUtilityClass } from './badgeUnstyledClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n variant,\n anchorOrigin,\n invisible,\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n badge: ['badge', variant, `anchorOrigin${capitalize(anchorOrigin.vertical)}${capitalize(anchorOrigin.horizontal)}`, invisible && 'invisible']\n };\n return composeClasses(slots, getBadgeUtilityClass, classes);\n};\n\nconst BadgeUnstyled = /*#__PURE__*/React.forwardRef(function BadgeUnstyled(props, ref) {\n const {\n anchorOrigin: anchorOriginProp = {\n vertical: 'top',\n horizontal: 'right'\n },\n classes: classesProp,\n component,\n children,\n className,\n components = {},\n componentsProps = {},\n max: maxProp = 99,\n showZero = false,\n variant: variantProp = 'standard'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const {\n anchorOrigin,\n badgeContent,\n max,\n variant,\n displayValue,\n invisible\n } = useBadge(_extends({}, props, {\n anchorOrigin: anchorOriginProp,\n max: maxProp,\n variant: variantProp\n }));\n\n const ownerState = _extends({}, props, {\n anchorOrigin,\n badgeContent,\n classes: classesProp,\n invisible,\n max,\n variant,\n showZero\n });\n\n const classes = useUtilityClasses(ownerState);\n const Root = component || components.Root || 'span';\n const rootProps = appendOwnerState(Root, _extends({}, other, componentsProps.root), ownerState);\n const Badge = components.Badge || 'span';\n const badgeProps = appendOwnerState(Badge, componentsProps.badge, ownerState);\n return /*#__PURE__*/_jsxs(Root, _extends({}, rootProps, {\n ref: ref\n }, other, {\n className: clsx(classes.root, rootProps.className, className),\n children: [children, /*#__PURE__*/_jsx(Badge, _extends({}, badgeProps, {\n className: clsx(classes.badge, badgeProps.className),\n children: displayValue\n }))]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? BadgeUnstyled.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 anchor of the badge.\n * @default {\n * vertical: 'top',\n * horizontal: 'right',\n * }\n */\n anchorOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOf(['left', 'right']).isRequired,\n vertical: PropTypes.oneOf(['bottom', 'top']).isRequired\n }),\n\n /**\n * The content rendered within the badge.\n */\n badgeContent: PropTypes.node,\n\n /**\n * The badge will be added relative to this node.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * The components used for each slot inside the Badge.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n components: PropTypes.shape({\n Badge: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n\n /**\n * The props used for each slot inside the Badge.\n * @default {}\n */\n componentsProps: PropTypes.shape({\n badge: PropTypes.object,\n root: PropTypes.object\n }),\n\n /**\n * If `true`, the badge is invisible.\n */\n invisible: PropTypes.bool,\n\n /**\n * Max count to show.\n * @default 99\n */\n max: PropTypes.number,\n\n /**\n * Controls whether the badge is hidden when `badgeContent` is zero.\n * @default false\n */\n showZero: PropTypes.bool,\n\n /**\n * The variant to use.\n * @default 'standard'\n */\n variant: PropTypes.string\n} : void 0;\nexport default BadgeUnstyled;","import { usePreviousProps } from '@mui/utils';\nexport default function useBadge(props) {\n const {\n anchorOrigin: anchorOriginProp = {\n vertical: 'top',\n horizontal: 'right'\n },\n badgeContent: badgeContentProp,\n invisible: invisibleProp,\n max: maxProp = 99,\n showZero = false,\n variant: variantProp = 'standard'\n } = props;\n const prevProps = usePreviousProps({\n anchorOrigin: anchorOriginProp,\n badgeContent: badgeContentProp,\n max: maxProp,\n variant: variantProp\n });\n let invisible = invisibleProp;\n\n if (invisibleProp == null && (badgeContentProp === 0 && !showZero || badgeContentProp == null && variantProp !== 'dot')) {\n invisible = true;\n }\n\n const {\n anchorOrigin = anchorOriginProp,\n badgeContent,\n max = maxProp,\n variant = variantProp\n } = invisible ? prevProps : props;\n let displayValue = '';\n\n if (variant !== 'dot') {\n displayValue = badgeContent && Number(badgeContent) > max ? `${max}+` : badgeContent;\n }\n\n return {\n anchorOrigin,\n badgeContent,\n invisible,\n max,\n variant,\n displayValue\n };\n}","import { isHostComponent } from '@mui/base';\n\nconst shouldSpreadAdditionalProps = Slot => {\n return !Slot || !isHostComponent(Slot);\n};\n\nexport default shouldSpreadAdditionalProps;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"anchorOrigin\", \"component\", \"components\", \"componentsProps\", \"overlap\", \"color\", \"invisible\", \"badgeContent\", \"showZero\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { usePreviousProps } from '@mui/utils';\nimport { generateUtilityClasses } from '@mui/base';\nimport BadgeUnstyled, { badgeUnstyledClasses, getBadgeUtilityClass } from '@mui/base/BadgeUnstyled';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport shouldSpreadAdditionalProps from '../utils/shouldSpreadAdditionalProps';\nimport capitalize from '../utils/capitalize';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const badgeClasses = _extends({}, badgeUnstyledClasses, generateUtilityClasses('MuiBadge', ['colorError', 'colorInfo', 'colorPrimary', 'colorSecondary', 'colorSuccess', 'colorWarning', 'overlapRectangular', 'overlapCircular', // TODO: v6 remove the overlap value from these class keys\n'anchorOriginTopLeftCircular', 'anchorOriginTopLeftRectangular', 'anchorOriginTopRightCircular', 'anchorOriginTopRightRectangular', 'anchorOriginBottomLeftCircular', 'anchorOriginBottomLeftRectangular', 'anchorOriginBottomRightCircular', 'anchorOriginBottomRightRectangular']));\nconst RADIUS_STANDARD = 10;\nconst RADIUS_DOT = 4;\n\nconst extendUtilityClasses = ownerState => {\n const {\n color,\n anchorOrigin,\n overlap,\n classes = {}\n } = ownerState;\n return _extends({}, classes, {\n badge: clsx(classes.badge, getBadgeUtilityClass(`anchorOrigin${capitalize(anchorOrigin.vertical)}${capitalize(anchorOrigin.horizontal)}${capitalize(overlap)}`), getBadgeUtilityClass(`overlap${capitalize(overlap)}`), color !== 'default' && [getBadgeUtilityClass(`color${capitalize(color)}`), classes[`color${capitalize(color)}`]])\n });\n};\n\nconst BadgeRoot = styled('span', {\n name: 'MuiBadge',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n position: 'relative',\n display: 'inline-flex',\n // For correct alignment with the text.\n verticalAlign: 'middle',\n flexShrink: 0\n});\nconst BadgeBadge = styled('span', {\n name: 'MuiBadge',\n slot: 'Badge',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.badge, styles[ownerState.variant], styles[`anchorOrigin${capitalize(ownerState.anchorOrigin.vertical)}${capitalize(ownerState.anchorOrigin.horizontal)}${capitalize(ownerState.overlap)}`], ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`], ownerState.invisible && styles.invisible];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'center',\n alignContent: 'center',\n alignItems: 'center',\n position: 'absolute',\n boxSizing: 'border-box',\n fontFamily: theme.typography.fontFamily,\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: theme.typography.pxToRem(12),\n minWidth: RADIUS_STANDARD * 2,\n lineHeight: 1,\n padding: '0 6px',\n height: RADIUS_STANDARD * 2,\n borderRadius: RADIUS_STANDARD,\n zIndex: 1,\n // Render the badge on top of potential ripples.\n transition: theme.transitions.create('transform', {\n easing: theme.transitions.easing.easeInOut,\n duration: theme.transitions.duration.enteringScreen\n })\n}, ownerState.color !== 'default' && {\n backgroundColor: theme.palette[ownerState.color].main,\n color: theme.palette[ownerState.color].contrastText\n}, ownerState.variant === 'dot' && {\n borderRadius: RADIUS_DOT,\n height: RADIUS_DOT * 2,\n minWidth: RADIUS_DOT * 2,\n padding: 0\n}, ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'rectangular' && {\n top: 0,\n right: 0,\n transform: 'scale(1) translate(50%, -50%)',\n transformOrigin: '100% 0%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(50%, -50%)'\n }\n}, ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'rectangular' && {\n bottom: 0,\n right: 0,\n transform: 'scale(1) translate(50%, 50%)',\n transformOrigin: '100% 100%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(50%, 50%)'\n }\n}, ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'rectangular' && {\n top: 0,\n left: 0,\n transform: 'scale(1) translate(-50%, -50%)',\n transformOrigin: '0% 0%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(-50%, -50%)'\n }\n}, ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'rectangular' && {\n bottom: 0,\n left: 0,\n transform: 'scale(1) translate(-50%, 50%)',\n transformOrigin: '0% 100%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(-50%, 50%)'\n }\n}, ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'circular' && {\n top: '14%',\n right: '14%',\n transform: 'scale(1) translate(50%, -50%)',\n transformOrigin: '100% 0%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(50%, -50%)'\n }\n}, ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'circular' && {\n bottom: '14%',\n right: '14%',\n transform: 'scale(1) translate(50%, 50%)',\n transformOrigin: '100% 100%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(50%, 50%)'\n }\n}, ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'circular' && {\n top: '14%',\n left: '14%',\n transform: 'scale(1) translate(-50%, -50%)',\n transformOrigin: '0% 0%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(-50%, -50%)'\n }\n}, ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'circular' && {\n bottom: '14%',\n left: '14%',\n transform: 'scale(1) translate(-50%, 50%)',\n transformOrigin: '0% 100%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(-50%, 50%)'\n }\n}, ownerState.invisible && {\n transition: theme.transitions.create('transform', {\n easing: theme.transitions.easing.easeInOut,\n duration: theme.transitions.duration.leavingScreen\n })\n}));\nconst Badge = /*#__PURE__*/React.forwardRef(function Badge(inProps, ref) {\n var _componentsProps$root, _componentsProps$badg;\n\n const props = useThemeProps({\n props: inProps,\n name: 'MuiBadge'\n });\n\n const {\n anchorOrigin: anchorOriginProp = {\n vertical: 'top',\n horizontal: 'right'\n },\n component = 'span',\n components = {},\n componentsProps = {},\n overlap: overlapProp = 'rectangular',\n color: colorProp = 'default',\n invisible: invisibleProp,\n badgeContent: badgeContentProp,\n showZero = false,\n variant: variantProp = 'standard'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const prevProps = usePreviousProps({\n anchorOrigin: anchorOriginProp,\n color: colorProp,\n overlap: overlapProp\n });\n let invisible = invisibleProp;\n\n if (invisibleProp == null && (badgeContentProp === 0 && !showZero || badgeContentProp == null && variantProp !== 'dot')) {\n invisible = true;\n }\n\n const {\n color = colorProp,\n overlap = overlapProp,\n anchorOrigin = anchorOriginProp\n } = invisible ? prevProps : props;\n\n const ownerState = _extends({}, props, {\n anchorOrigin,\n invisible,\n color,\n overlap\n });\n\n const classes = extendUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(BadgeUnstyled, _extends({\n anchorOrigin: anchorOrigin,\n invisible: invisibleProp,\n badgeContent: badgeContentProp,\n showZero: showZero,\n variant: variantProp\n }, other, {\n components: _extends({\n Root: BadgeRoot,\n Badge: BadgeBadge\n }, components),\n componentsProps: {\n root: _extends({}, componentsProps.root, shouldSpreadAdditionalProps(components.Root) && {\n as: component,\n ownerState: _extends({}, (_componentsProps$root = componentsProps.root) == null ? void 0 : _componentsProps$root.ownerState, {\n color,\n overlap\n })\n }),\n badge: _extends({}, componentsProps.badge, shouldSpreadAdditionalProps(components.Badge) && {\n ownerState: _extends({}, (_componentsProps$badg = componentsProps.badge) == null ? void 0 : _componentsProps$badg.ownerState, {\n color,\n overlap\n })\n })\n },\n classes: classes,\n ref: ref\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Badge.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 anchor of the badge.\n * @default {\n * vertical: 'top',\n * horizontal: 'right',\n * }\n */\n anchorOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOf(['left', 'right']).isRequired,\n vertical: PropTypes.oneOf(['bottom', 'top']).isRequired\n }),\n\n /**\n * The content rendered within the badge.\n */\n badgeContent: PropTypes.node,\n\n /**\n * The badge will be added relative to this node.\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 color of the component. It supports those theme colors that make sense for this component.\n * @default 'default'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * The components used for each slot inside the Badge.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n components: PropTypes.shape({\n Badge: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n\n /**\n * The props used for each slot inside the Badge.\n * @default {}\n */\n componentsProps: PropTypes.shape({\n badge: PropTypes.object,\n root: PropTypes.object\n }),\n\n /**\n * If `true`, the badge is invisible.\n */\n invisible: PropTypes.bool,\n\n /**\n * Max count to show.\n * @default 99\n */\n max: PropTypes.number,\n\n /**\n * Wrapped shape the badge should overlap.\n * @default 'rectangular'\n */\n overlap: PropTypes.oneOf(['circular', 'rectangular']),\n\n /**\n * Controls whether the badge is hidden when `badgeContent` is zero.\n * @default false\n */\n showZero: 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\n /**\n * The variant to use.\n * @default 'standard'\n */\n variant: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['dot', 'standard']), PropTypes.string])\n} : void 0;\nexport default Badge;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\n\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(:first-of-type)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.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 * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: 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 DialogActions;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Typography from '../Typography';\nimport { getDialogContentTextUtilityClass } from './dialogContentTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n\n const ownerState = _objectWithoutPropertiesLoose(props, _excluded);\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"text.secondary\",\n ref: ref,\n ownerState: ownerState\n }, props, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.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 * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\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 DialogContentText;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\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 ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\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.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\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 [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.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 [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.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 * 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.\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 Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\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 menu 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 * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\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\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;","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;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"edge\", \"size\", \"sx\"];\n// @inheritedComponent IconButton\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha, darken, lighten } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport SwitchBase from '../internal/SwitchBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport switchClasses, { getSwitchUtilityClass } from './switchClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n }\n}, ownerState.edge === 'start' && {\n marginLeft: -8\n}, ownerState.edge === 'end' && {\n marginRight: -8\n}, ownerState.size === 'small' && {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n}));\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300],\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.palette.mode === 'light' ? 0.12 : 0.2\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({\n '&:hover': {\n backgroundColor: alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${switchClasses.checked}`]: {\n color: theme.palette[ownerState.color].main,\n '&:hover': {\n backgroundColor: alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55)\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: theme.palette[ownerState.color].main\n }\n}));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white,\n opacity: theme.palette.mode === 'light' ? 0.38 : 0.3\n}));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(({\n theme\n}) => ({\n boxShadow: theme.shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n}));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n color,\n edge,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n\n const icon = /*#__PURE__*/_jsx(SwitchThumb, {\n className: classes.thumb,\n ownerState: ownerState\n });\n\n return /*#__PURE__*/_jsxs(SwitchRoot, {\n className: clsx(classes.root, className),\n sx: sx,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, _extends({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState\n }, other, {\n classes: _extends({}, classes, {\n root: classes.switchBase\n })\n })), /*#__PURE__*/_jsx(SwitchTrack, {\n className: classes.track,\n ownerState: ownerState\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.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 * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Switch;","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (file, acceptedFiles) {\n if (file && acceptedFiles) {\n var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(',');\n var fileName = file.name || '';\n var mimeType = (file.type || '').toLowerCase();\n var baseMimeType = mimeType.replace(/\\/.*$/, '');\n return acceptedFilesArray.some(function (type) {\n var validType = type.trim().toLowerCase();\n\n if (validType.charAt(0) === '.') {\n return fileName.toLowerCase().endsWith(validType);\n } else if (validType.endsWith('/*')) {\n // This is something like a image/* mime type\n return baseMimeType === validType.replace(/\\/.*$/, '');\n }\n\n return mimeType === validType;\n });\n }\n\n return true;\n};","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar CopyToClipboard =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n function CopyToClipboard() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(CopyToClipboard)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, [\"text\", \"onCopy\", \"options\", \"children\"]);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return _react[\"default\"].cloneElement(elem, _objectSpread({}, props, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export const COMMON_MIME_TYPES = new Map([\n ['avi', 'video/avi'],\n ['gif', 'image/gif'],\n ['ico', 'image/x-icon'],\n ['jpeg', 'image/jpeg'],\n ['jpg', 'image/jpeg'],\n ['mkv', 'video/x-matroska'],\n ['mov', 'video/quicktime'],\n ['mp4', 'video/mp4'],\n ['pdf', 'application/pdf'],\n ['png', 'image/png'],\n ['zip', 'application/zip'],\n ['doc', 'application/msword'],\n ['docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document']\n]);\n\n\nexport function toFileWithPath(file: FileWithPath, path?: string): FileWithPath {\n const f = withMimeType(file);\n if (typeof f.path !== 'string') { // on electron, path is already set to the absolute path\n const {webkitRelativePath} = file as FileWithWebkitPath;\n Object.defineProperty(f, 'path', {\n value: typeof path === 'string'\n ? path\n // If is set,\n // the File will have a {webkitRelativePath} property\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory\n : typeof webkitRelativePath === 'string' && webkitRelativePath.length > 0\n ? webkitRelativePath\n : file.name,\n writable: false,\n configurable: false,\n enumerable: true\n });\n }\n\n return f;\n}\n\ninterface DOMFile extends Blob {\n readonly lastModified: number;\n readonly name: string;\n}\n\nexport interface FileWithPath extends DOMFile {\n readonly path?: string;\n}\n\ninterface FileWithWebkitPath extends File {\n readonly webkitRelativePath?: string;\n}\n\nfunction withMimeType(file: FileWithPath) {\n const {name} = file;\n const hasExtension = name && name.lastIndexOf('.') !== -1;\n\n if (hasExtension && !file.type) {\n const ext = name.split('.')\n .pop()!.toLowerCase();\n const type = COMMON_MIME_TYPES.get(ext);\n if (type) {\n Object.defineProperty(file, 'type', {\n value: type,\n writable: false,\n configurable: false,\n enumerable: true\n });\n }\n }\n\n return file;\n}\n","import {FileWithPath, toFileWithPath} from './file';\n\n\nconst FILES_TO_IGNORE = [\n // Thumbnail cache files for macOS and Windows\n '.DS_Store', // macOs\n 'Thumbs.db' // Windows\n];\n\n\n/**\n * Convert a DragEvent's DataTrasfer object to a list of File objects\n * NOTE: If some of the items are folders,\n * everything will be flattened and placed in the same list but the paths will be kept as a {path} property.\n * @param evt\n */\nexport async function fromEvent(evt: Event): Promise<(FileWithPath | DataTransferItem)[]> {\n return isDragEvt(evt) && evt.dataTransfer\n ? getDataTransferFiles(evt.dataTransfer, evt.type)\n : getInputFiles(evt);\n}\n\nfunction isDragEvt(value: any): value is DragEvent {\n return !!value.dataTransfer;\n}\n\nfunction getInputFiles(evt: Event) {\n const files = isInput(evt.target)\n ? evt.target.files\n ? fromList(evt.target.files)\n : []\n : [];\n return files.map(file => toFileWithPath(file));\n}\n\nfunction isInput(value: EventTarget | null): value is HTMLInputElement {\n return value !== null;\n}\n\nasync function getDataTransferFiles(dt: DataTransfer, type: string) {\n // IE11 does not support dataTransfer.items\n // See https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/items#Browser_compatibility\n if (dt.items) {\n const items = fromList(dt.items)\n .filter(item => item.kind === 'file');\n // According to https://html.spec.whatwg.org/multipage/dnd.html#dndevents,\n // only 'dragstart' and 'drop' has access to the data (source node)\n if (type !== 'drop') {\n return items;\n }\n const files = await Promise.all(items.map(toFilePromises));\n return noIgnoredFiles(flatten(files));\n }\n\n return noIgnoredFiles(fromList(dt.files)\n .map(file => toFileWithPath(file)));\n}\n\nfunction noIgnoredFiles(files: FileWithPath[]) {\n return files.filter(file => FILES_TO_IGNORE.indexOf(file.name) === -1);\n}\n\n// IE11 does not support Array.from()\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Browser_compatibility\n// https://developer.mozilla.org/en-US/docs/Web/API/FileList\n// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList\nfunction fromList(items: DataTransferItemList | FileList): T[] {\n const files = [];\n\n // tslint:disable: prefer-for-of\n for (let i = 0; i < items.length; i++) {\n const file = items[i];\n files.push(file);\n }\n\n return files as any;\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem\nfunction toFilePromises(item: DataTransferItem) {\n if (typeof item.webkitGetAsEntry !== 'function') {\n return fromDataTransferItem(item);\n }\n\n const entry = item.webkitGetAsEntry();\n\n // Safari supports dropping an image node from a different window and can be retrieved using\n // the DataTransferItem.getAsFile() API\n // NOTE: FileSystemEntry.file() throws if trying to get the file\n if (entry && entry.isDirectory) {\n return fromDirEntry(entry) as any;\n }\n\n return fromDataTransferItem(item);\n}\n\nfunction flatten(items: any[]): T[] {\n return items.reduce((acc, files) => [\n ...acc,\n ...(Array.isArray(files) ? flatten(files) : [files])\n ], []);\n}\n\nfunction fromDataTransferItem(item: DataTransferItem) {\n const file = item.getAsFile();\n if (!file) {\n return Promise.reject(`${item} is not a File`);\n }\n const fwp = toFileWithPath(file);\n return Promise.resolve(fwp);\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemEntry\nasync function fromEntry(entry: any) {\n return entry.isDirectory ? fromDirEntry(entry) : fromFileEntry(entry);\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry\nfunction fromDirEntry(entry: any) {\n const reader = entry.createReader();\n\n return new Promise((resolve, reject) => {\n const entries: Promise[] = [];\n\n function readEntries() {\n // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry/createReader\n // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryReader/readEntries\n reader.readEntries(async (batch: any[]) => {\n if (!batch.length) {\n // Done reading directory\n try {\n const files = await Promise.all(entries);\n resolve(files);\n } catch (err) {\n reject(err);\n }\n } else {\n const items = Promise.all(batch.map(fromEntry));\n entries.push(items);\n\n // Continue reading\n readEntries();\n }\n }, (err: any) => {\n reject(err);\n });\n }\n\n readEntries();\n });\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileEntry\nasync function fromFileEntry(entry: any) {\n return new Promise((resolve, reject) => {\n entry.file((file: FileWithPath) => {\n const fwp = toFileWithPath(file, entry.fullPath);\n resolve(fwp);\n }, (err: any) => {\n reject(err);\n });\n });\n}\n\n// Infinite type recursion\n// https://github.com/Microsoft/TypeScript/issues/3496#issuecomment-128553540\ninterface FileArray extends Array {}\ntype FileValue = FileWithPath\n | FileArray[];\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport accepts from 'attr-accept'; // Error codes\n\nexport var FILE_INVALID_TYPE = 'file-invalid-type';\nexport var FILE_TOO_LARGE = 'file-too-large';\nexport var FILE_TOO_SMALL = 'file-too-small';\nexport var TOO_MANY_FILES = 'too-many-files';\nexport var ErrorCode = {\n FileInvalidType: FILE_INVALID_TYPE,\n FileTooLarge: FILE_TOO_LARGE,\n FileTooSmall: FILE_TOO_SMALL,\n TooManyFiles: TOO_MANY_FILES\n}; // File Errors\n\nexport var getInvalidTypeRejectionErr = function getInvalidTypeRejectionErr(accept) {\n accept = Array.isArray(accept) && accept.length === 1 ? accept[0] : accept;\n var messageSuffix = Array.isArray(accept) ? \"one of \".concat(accept.join(', ')) : accept;\n return {\n code: FILE_INVALID_TYPE,\n message: \"File type must be \".concat(messageSuffix)\n };\n};\nexport var getTooLargeRejectionErr = function getTooLargeRejectionErr(maxSize) {\n return {\n code: FILE_TOO_LARGE,\n message: \"File is larger than \".concat(maxSize, \" bytes\")\n };\n};\nexport var getTooSmallRejectionErr = function getTooSmallRejectionErr(minSize) {\n return {\n code: FILE_TOO_SMALL,\n message: \"File is smaller than \".concat(minSize, \" bytes\")\n };\n};\nexport var TOO_MANY_FILES_REJECTION = {\n code: TOO_MANY_FILES,\n message: 'Too many files'\n}; // Firefox versions prior to 53 return a bogus MIME type for every file drag, so dragovers with\n// that MIME type will always be accepted\n\nexport function fileAccepted(file, accept) {\n var isAcceptable = file.type === 'application/x-moz-file' || accepts(file, accept);\n return [isAcceptable, isAcceptable ? null : getInvalidTypeRejectionErr(accept)];\n}\nexport function fileMatchSize(file, minSize, maxSize) {\n if (isDefined(file.size)) {\n if (isDefined(minSize) && isDefined(maxSize)) {\n if (file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];\n if (file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];\n } else if (isDefined(minSize) && file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];else if (isDefined(maxSize) && file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];\n }\n\n return [true, null];\n}\n\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\n\nexport function allFilesAccepted(_ref) {\n var files = _ref.files,\n accept = _ref.accept,\n minSize = _ref.minSize,\n maxSize = _ref.maxSize,\n multiple = _ref.multiple,\n maxFiles = _ref.maxFiles;\n\n if (!multiple && files.length > 1 || multiple && maxFiles >= 1 && files.length > maxFiles) {\n return false;\n }\n\n return files.every(function (file) {\n var _fileAccepted = fileAccepted(file, accept),\n _fileAccepted2 = _slicedToArray(_fileAccepted, 1),\n accepted = _fileAccepted2[0];\n\n var _fileMatchSize = fileMatchSize(file, minSize, maxSize),\n _fileMatchSize2 = _slicedToArray(_fileMatchSize, 1),\n sizeMatch = _fileMatchSize2[0];\n\n return accepted && sizeMatch;\n });\n} // React's synthetic events has event.isPropagationStopped,\n// but to remain compatibility with other libs (Preact) fall back\n// to check event.cancelBubble\n\nexport function isPropagationStopped(event) {\n if (typeof event.isPropagationStopped === 'function') {\n return event.isPropagationStopped();\n } else if (typeof event.cancelBubble !== 'undefined') {\n return event.cancelBubble;\n }\n\n return false;\n}\nexport function isEvtWithFiles(event) {\n if (!event.dataTransfer) {\n return !!event.target && !!event.target.files;\n } // https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/types\n // https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/Recommended_drag_types#file\n\n\n return Array.prototype.some.call(event.dataTransfer.types, function (type) {\n return type === 'Files' || type === 'application/x-moz-file';\n });\n}\nexport function isKindFile(item) {\n return _typeof(item) === 'object' && item !== null && item.kind === 'file';\n} // allow the entire document to be a drag target\n\nexport function onDocumentDragOver(event) {\n event.preventDefault();\n}\n\nfunction isIe(userAgent) {\n return userAgent.indexOf('MSIE') !== -1 || userAgent.indexOf('Trident/') !== -1;\n}\n\nfunction isEdge(userAgent) {\n return userAgent.indexOf('Edge/') !== -1;\n}\n\nexport function isIeOrEdge() {\n var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.navigator.userAgent;\n return isIe(userAgent) || isEdge(userAgent);\n}\n/**\n * This is intended to be used to compose event handlers\n * They are executed in order until one of them calls `event.isPropagationStopped()`.\n * Note that the check is done on the first invoke too,\n * meaning that if propagation was stopped before invoking the fns,\n * no handlers will be executed.\n *\n * @param {Function} fns the event hanlder functions\n * @return {Function} the event handler to add to an element\n */\n\nexport function composeEventHandlers() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n return fns.some(function (fn) {\n if (!isPropagationStopped(event) && fn) {\n fn.apply(void 0, [event].concat(args));\n }\n\n return isPropagationStopped(event);\n });\n };\n}","var _excluded = [\"children\"],\n _excluded2 = [\"open\"],\n _excluded3 = [\"refKey\", \"onKeyDown\", \"onFocus\", \"onBlur\", \"onClick\", \"onDragEnter\", \"onDragOver\", \"onDragLeave\", \"onDrop\"],\n _excluded4 = [\"refKey\", \"onChange\", \"onClick\"];\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* eslint prefer-template: 0 */\nimport React, { forwardRef, Fragment, useCallback, useEffect, useImperativeHandle, useMemo, useReducer, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { fromEvent } from 'file-selector';\nimport { allFilesAccepted, composeEventHandlers, fileAccepted, fileMatchSize, isEvtWithFiles, isIeOrEdge, isPropagationStopped, onDocumentDragOver, TOO_MANY_FILES_REJECTION } from './utils/index';\n/**\n * Convenience wrapper component for the `useDropzone` hook\n *\n * ```jsx\n * \n * {({getRootProps, getInputProps}) => (\n *
\n * \n *

Drag 'n' drop some files here, or click to select files

\n *
\n * )}\n *
\n * ```\n */\n\nvar Dropzone = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var children = _ref.children,\n params = _objectWithoutProperties(_ref, _excluded);\n\n var _useDropzone = useDropzone(params),\n open = _useDropzone.open,\n props = _objectWithoutProperties(_useDropzone, _excluded2);\n\n useImperativeHandle(ref, function () {\n return {\n open: open\n };\n }, [open]); // TODO: Figure out why react-styleguidist cannot create docs if we don't return a jsx element\n\n return /*#__PURE__*/React.createElement(Fragment, null, children(_objectSpread(_objectSpread({}, props), {}, {\n open: open\n })));\n});\nDropzone.displayName = 'Dropzone'; // Add default props for react-docgen\n\nvar defaultProps = {\n disabled: false,\n getFilesFromEvent: fromEvent,\n maxSize: Infinity,\n minSize: 0,\n multiple: true,\n maxFiles: 0,\n preventDropOnDocument: true,\n noClick: false,\n noKeyboard: false,\n noDrag: false,\n noDragEventsBubbling: false,\n validator: null\n};\nDropzone.defaultProps = defaultProps;\nDropzone.propTypes = {\n /**\n * Render function that exposes the dropzone state and prop getter fns\n *\n * @param {object} params\n * @param {Function} params.getRootProps Returns the props you should apply to the root drop container you render\n * @param {Function} params.getInputProps Returns the props you should apply to hidden file input you render\n * @param {Function} params.open Open the native file selection dialog\n * @param {boolean} params.isFocused Dropzone area is in focus\n * @param {boolean} params.isFileDialogActive File dialog is opened\n * @param {boolean} params.isDragActive Active drag is in progress\n * @param {boolean} params.isDragAccept Dragged files are accepted\n * @param {boolean} params.isDragReject Some dragged files are rejected\n * @param {File[]} params.draggedFiles Files in active drag\n * @param {File[]} params.acceptedFiles Accepted files\n * @param {FileRejection[]} params.fileRejections Rejected files and why they were rejected\n */\n children: PropTypes.func,\n\n /**\n * Set accepted file types.\n * See https://github.com/okonet/attr-accept for more information.\n * Keep in mind that mime type determination is not reliable across platforms. CSV files,\n * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under\n * Windows. In some cases there might not be a mime type set at all.\n * See: https://github.com/react-dropzone/react-dropzone/issues/276\n */\n accept: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n\n /**\n * Allow drag 'n' drop (or selection from the file dialog) of multiple files\n */\n multiple: PropTypes.bool,\n\n /**\n * If false, allow dropped items to take over the current browser window\n */\n preventDropOnDocument: PropTypes.bool,\n\n /**\n * If true, disables click to open the native file selection dialog\n */\n noClick: PropTypes.bool,\n\n /**\n * If true, disables SPACE/ENTER to open the native file selection dialog.\n * Note that it also stops tracking the focus state.\n */\n noKeyboard: PropTypes.bool,\n\n /**\n * If true, disables drag 'n' drop\n */\n noDrag: PropTypes.bool,\n\n /**\n * If true, stops drag event propagation to parents\n */\n noDragEventsBubbling: PropTypes.bool,\n\n /**\n * Minimum file size (in bytes)\n */\n minSize: PropTypes.number,\n\n /**\n * Maximum file size (in bytes)\n */\n maxSize: PropTypes.number,\n\n /**\n * Maximum accepted number of files\n * The default value is 0 which means there is no limitation to how many files are accepted.\n */\n maxFiles: PropTypes.number,\n\n /**\n * Enable/disable the dropzone\n */\n disabled: PropTypes.bool,\n\n /**\n * Use this to provide a custom file aggregator\n *\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n getFilesFromEvent: PropTypes.func,\n\n /**\n * Cb for when closing the file dialog with no selection\n */\n onFileDialogCancel: PropTypes.func,\n\n /**\n * Cb for when opening the file dialog\n */\n onFileDialogOpen: PropTypes.func,\n\n /**\n * Cb for when the `dragenter` event occurs.\n *\n * @param {DragEvent} event\n */\n onDragEnter: PropTypes.func,\n\n /**\n * Cb for when the `dragleave` event occurs\n *\n * @param {DragEvent} event\n */\n onDragLeave: PropTypes.func,\n\n /**\n * Cb for when the `dragover` event occurs\n *\n * @param {DragEvent} event\n */\n onDragOver: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that this callback is invoked after the `getFilesFromEvent` callback is done.\n *\n * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.\n * `accept` must be a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) or a valid file extension.\n * If `multiple` is set to false and additional files are dropped,\n * all files besides the first will be rejected.\n * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.\n *\n * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.\n * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.\n *\n * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.\n * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:\n *\n * ```js\n * function onDrop(acceptedFiles) {\n * const req = request.post('/upload')\n * acceptedFiles.forEach(file => {\n * req.attach(file.name, file)\n * })\n * req.end(callback)\n * }\n * ```\n *\n * @param {File[]} acceptedFiles\n * @param {FileRejection[]} fileRejections\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n onDrop: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that if no files are accepted, this callback is not invoked.\n *\n * @param {File[]} files\n * @param {(DragEvent|Event)} event\n */\n onDropAccepted: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that if no files are rejected, this callback is not invoked.\n *\n * @param {FileRejection[]} fileRejections\n * @param {(DragEvent|Event)} event\n */\n onDropRejected: PropTypes.func,\n\n /**\n * Custom validation function\n * @param {File} file\n * @returns {FileError|FileError[]}\n */\n validator: PropTypes.func\n};\nexport default Dropzone;\n/**\n * A function that is invoked for the `dragenter`,\n * `dragover` and `dragleave` events.\n * It is not invoked if the items are not files (such as link, text, etc.).\n *\n * @callback dragCb\n * @param {DragEvent} event\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n * It is not invoked if the items are not files (such as link, text, etc.).\n *\n * @callback dropCb\n * @param {File[]} acceptedFiles List of accepted files\n * @param {FileRejection[]} fileRejections List of rejected files and why they were rejected\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n * It is not invoked if the items are files (such as link, text, etc.).\n *\n * @callback dropAcceptedCb\n * @param {File[]} files List of accepted files that meet the given criteria\n * (`accept`, `multiple`, `minSize`, `maxSize`)\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n *\n * @callback dropRejectedCb\n * @param {File[]} files List of rejected files that do not meet the given criteria\n * (`accept`, `multiple`, `minSize`, `maxSize`)\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is used aggregate files,\n * in a asynchronous fashion, from drag or input change events.\n *\n * @callback getFilesFromEvent\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n * @returns {(File[]|Promise)}\n */\n\n/**\n * An object with the current dropzone state and some helper functions.\n *\n * @typedef {object} DropzoneState\n * @property {Function} getRootProps Returns the props you should apply to the root drop container you render\n * @property {Function} getInputProps Returns the props you should apply to hidden file input you render\n * @property {Function} open Open the native file selection dialog\n * @property {boolean} isFocused Dropzone area is in focus\n * @property {boolean} isFileDialogActive File dialog is opened\n * @property {boolean} isDragActive Active drag is in progress\n * @property {boolean} isDragAccept Dragged files are accepted\n * @property {boolean} isDragReject Some dragged files are rejected\n * @property {File[]} draggedFiles Files in active drag\n * @property {File[]} acceptedFiles Accepted files\n * @property {FileRejection[]} fileRejections Rejected files and why they were rejected\n */\n\nvar initialState = {\n isFocused: false,\n isFileDialogActive: false,\n isDragActive: false,\n isDragAccept: false,\n isDragReject: false,\n draggedFiles: [],\n acceptedFiles: [],\n fileRejections: []\n};\n/**\n * A React hook that creates a drag 'n' drop area.\n *\n * ```jsx\n * function MyDropzone(props) {\n * const {getRootProps, getInputProps} = useDropzone({\n * onDrop: acceptedFiles => {\n * // do something with the File objects, e.g. upload to some server\n * }\n * });\n * return (\n *
\n * \n *

Drag and drop some files here, or click to select files

\n *
\n * )\n * }\n * ```\n *\n * @function useDropzone\n *\n * @param {object} props\n * @param {string|string[]} [props.accept] Set accepted file types.\n * See https://github.com/okonet/attr-accept for more information.\n * Keep in mind that mime type determination is not reliable across platforms. CSV files,\n * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under\n * Windows. In some cases there might not be a mime type set at all.\n * See: https://github.com/react-dropzone/react-dropzone/issues/276\n * @param {boolean} [props.multiple=true] Allow drag 'n' drop (or selection from the file dialog) of multiple files\n * @param {boolean} [props.preventDropOnDocument=true] If false, allow dropped items to take over the current browser window\n * @param {boolean} [props.noClick=false] If true, disables click to open the native file selection dialog\n * @param {boolean} [props.noKeyboard=false] If true, disables SPACE/ENTER to open the native file selection dialog.\n * Note that it also stops tracking the focus state.\n * @param {boolean} [props.noDrag=false] If true, disables drag 'n' drop\n * @param {boolean} [props.noDragEventsBubbling=false] If true, stops drag event propagation to parents\n * @param {number} [props.minSize=0] Minimum file size (in bytes)\n * @param {number} [props.maxSize=Infinity] Maximum file size (in bytes)\n * @param {boolean} [props.disabled=false] Enable/disable the dropzone\n * @param {getFilesFromEvent} [props.getFilesFromEvent] Use this to provide a custom file aggregator\n * @param {Function} [props.onFileDialogCancel] Cb for when closing the file dialog with no selection\n * @param {Function} [props.onFileDialogOpen] Cb for when opening the file dialog\n * @param {dragCb} [props.onDragEnter] Cb for when the `dragenter` event occurs.\n * @param {dragCb} [props.onDragLeave] Cb for when the `dragleave` event occurs\n * @param {dragCb} [props.onDragOver] Cb for when the `dragover` event occurs\n * @param {dropCb} [props.onDrop] Cb for when the `drop` event occurs.\n * Note that this callback is invoked after the `getFilesFromEvent` callback is done.\n *\n * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.\n * `accept` must be a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) or a valid file extension.\n * If `multiple` is set to false and additional files are dropped,\n * all files besides the first will be rejected.\n * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.\n *\n * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.\n * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.\n *\n * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.\n * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:\n *\n * ```js\n * function onDrop(acceptedFiles) {\n * const req = request.post('/upload')\n * acceptedFiles.forEach(file => {\n * req.attach(file.name, file)\n * })\n * req.end(callback)\n * }\n * ```\n * @param {dropAcceptedCb} [props.onDropAccepted]\n * @param {dropRejectedCb} [props.onDropRejected]\n *\n * @returns {DropzoneState}\n */\n\nexport function useDropzone() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _defaultProps$options = _objectSpread(_objectSpread({}, defaultProps), options),\n accept = _defaultProps$options.accept,\n disabled = _defaultProps$options.disabled,\n getFilesFromEvent = _defaultProps$options.getFilesFromEvent,\n maxSize = _defaultProps$options.maxSize,\n minSize = _defaultProps$options.minSize,\n multiple = _defaultProps$options.multiple,\n maxFiles = _defaultProps$options.maxFiles,\n onDragEnter = _defaultProps$options.onDragEnter,\n onDragLeave = _defaultProps$options.onDragLeave,\n onDragOver = _defaultProps$options.onDragOver,\n onDrop = _defaultProps$options.onDrop,\n onDropAccepted = _defaultProps$options.onDropAccepted,\n onDropRejected = _defaultProps$options.onDropRejected,\n onFileDialogCancel = _defaultProps$options.onFileDialogCancel,\n onFileDialogOpen = _defaultProps$options.onFileDialogOpen,\n preventDropOnDocument = _defaultProps$options.preventDropOnDocument,\n noClick = _defaultProps$options.noClick,\n noKeyboard = _defaultProps$options.noKeyboard,\n noDrag = _defaultProps$options.noDrag,\n noDragEventsBubbling = _defaultProps$options.noDragEventsBubbling,\n validator = _defaultProps$options.validator;\n\n var rootRef = useRef(null);\n var inputRef = useRef(null);\n\n var _useReducer = useReducer(reducer, initialState),\n _useReducer2 = _slicedToArray(_useReducer, 2),\n state = _useReducer2[0],\n dispatch = _useReducer2[1];\n\n var isFocused = state.isFocused,\n isFileDialogActive = state.isFileDialogActive,\n draggedFiles = state.draggedFiles; // Fn for opening the file dialog programmatically\n\n var openFileDialog = useCallback(function () {\n if (inputRef.current) {\n dispatch({\n type: 'openDialog'\n });\n\n if (typeof onFileDialogOpen === 'function') {\n onFileDialogOpen();\n }\n\n inputRef.current.value = null;\n inputRef.current.click();\n }\n }, [dispatch, onFileDialogOpen]); // Update file dialog active state when the window is focused on\n\n var onWindowFocus = function onWindowFocus() {\n // Execute the timeout only if the file dialog is opened in the browser\n if (isFileDialogActive) {\n setTimeout(function () {\n if (inputRef.current) {\n var files = inputRef.current.files;\n\n if (!files.length) {\n dispatch({\n type: 'closeDialog'\n });\n\n if (typeof onFileDialogCancel === 'function') {\n onFileDialogCancel();\n }\n }\n }\n }, 300);\n }\n };\n\n useEffect(function () {\n window.addEventListener('focus', onWindowFocus, false);\n return function () {\n window.removeEventListener('focus', onWindowFocus, false);\n };\n }, [inputRef, isFileDialogActive, onFileDialogCancel]); // Cb to open the file dialog when SPACE/ENTER occurs on the dropzone\n\n var onKeyDownCb = useCallback(function (event) {\n // Ignore keyboard events bubbling up the DOM tree\n if (!rootRef.current || !rootRef.current.isEqualNode(event.target)) {\n return;\n }\n\n if (event.keyCode === 32 || event.keyCode === 13) {\n event.preventDefault();\n openFileDialog();\n }\n }, [rootRef, inputRef, openFileDialog]); // Update focus state for the dropzone\n\n var onFocusCb = useCallback(function () {\n dispatch({\n type: 'focus'\n });\n }, []);\n var onBlurCb = useCallback(function () {\n dispatch({\n type: 'blur'\n });\n }, []); // Cb to open the file dialog when click occurs on the dropzone\n\n var onClickCb = useCallback(function () {\n if (noClick) {\n return;\n } // In IE11/Edge the file-browser dialog is blocking, therefore, use setTimeout()\n // to ensure React can handle state changes\n // See: https://github.com/react-dropzone/react-dropzone/issues/450\n\n\n if (isIeOrEdge()) {\n setTimeout(openFileDialog, 0);\n } else {\n openFileDialog();\n }\n }, [inputRef, noClick, openFileDialog]);\n var dragTargetsRef = useRef([]);\n\n var onDocumentDrop = function onDocumentDrop(event) {\n if (rootRef.current && rootRef.current.contains(event.target)) {\n // If we intercepted an event for our instance, let it propagate down to the instance's onDrop handler\n return;\n }\n\n event.preventDefault();\n dragTargetsRef.current = [];\n };\n\n useEffect(function () {\n if (preventDropOnDocument) {\n document.addEventListener('dragover', onDocumentDragOver, false);\n document.addEventListener('drop', onDocumentDrop, false);\n }\n\n return function () {\n if (preventDropOnDocument) {\n document.removeEventListener('dragover', onDocumentDragOver);\n document.removeEventListener('drop', onDocumentDrop);\n }\n };\n }, [rootRef, preventDropOnDocument]);\n var onDragEnterCb = useCallback(function (event) {\n event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done\n\n event.persist();\n stopPropagation(event);\n dragTargetsRef.current = [].concat(_toConsumableArray(dragTargetsRef.current), [event.target]);\n\n if (isEvtWithFiles(event)) {\n Promise.resolve(getFilesFromEvent(event)).then(function (draggedFiles) {\n if (isPropagationStopped(event) && !noDragEventsBubbling) {\n return;\n }\n\n dispatch({\n draggedFiles: draggedFiles,\n isDragActive: true,\n type: 'setDraggedFiles'\n });\n\n if (onDragEnter) {\n onDragEnter(event);\n }\n });\n }\n }, [getFilesFromEvent, onDragEnter, noDragEventsBubbling]);\n var onDragOverCb = useCallback(function (event) {\n event.preventDefault();\n event.persist();\n stopPropagation(event);\n var hasFiles = isEvtWithFiles(event);\n\n if (hasFiles && event.dataTransfer) {\n try {\n event.dataTransfer.dropEffect = 'copy';\n } catch (_unused) {}\n /* eslint-disable-line no-empty */\n\n }\n\n if (hasFiles && onDragOver) {\n onDragOver(event);\n }\n\n return false;\n }, [onDragOver, noDragEventsBubbling]);\n var onDragLeaveCb = useCallback(function (event) {\n event.preventDefault();\n event.persist();\n stopPropagation(event); // Only deactivate once the dropzone and all children have been left\n\n var targets = dragTargetsRef.current.filter(function (target) {\n return rootRef.current && rootRef.current.contains(target);\n }); // Make sure to remove a target present multiple times only once\n // (Firefox may fire dragenter/dragleave multiple times on the same element)\n\n var targetIdx = targets.indexOf(event.target);\n\n if (targetIdx !== -1) {\n targets.splice(targetIdx, 1);\n }\n\n dragTargetsRef.current = targets;\n\n if (targets.length > 0) {\n return;\n }\n\n dispatch({\n isDragActive: false,\n type: 'setDraggedFiles',\n draggedFiles: []\n });\n\n if (isEvtWithFiles(event) && onDragLeave) {\n onDragLeave(event);\n }\n }, [rootRef, onDragLeave, noDragEventsBubbling]);\n var onDropCb = useCallback(function (event) {\n event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done\n\n event.persist();\n stopPropagation(event);\n dragTargetsRef.current = [];\n\n if (isEvtWithFiles(event)) {\n Promise.resolve(getFilesFromEvent(event)).then(function (files) {\n if (isPropagationStopped(event) && !noDragEventsBubbling) {\n return;\n }\n\n var acceptedFiles = [];\n var fileRejections = [];\n files.forEach(function (file) {\n var _fileAccepted = fileAccepted(file, accept),\n _fileAccepted2 = _slicedToArray(_fileAccepted, 2),\n accepted = _fileAccepted2[0],\n acceptError = _fileAccepted2[1];\n\n var _fileMatchSize = fileMatchSize(file, minSize, maxSize),\n _fileMatchSize2 = _slicedToArray(_fileMatchSize, 2),\n sizeMatch = _fileMatchSize2[0],\n sizeError = _fileMatchSize2[1];\n\n var customErrors = validator ? validator(file) : null;\n\n if (accepted && sizeMatch && !customErrors) {\n acceptedFiles.push(file);\n } else {\n var errors = [acceptError, sizeError];\n\n if (customErrors) {\n errors = errors.concat(customErrors);\n }\n\n fileRejections.push({\n file: file,\n errors: errors.filter(function (e) {\n return e;\n })\n });\n }\n });\n\n if (!multiple && acceptedFiles.length > 1 || multiple && maxFiles >= 1 && acceptedFiles.length > maxFiles) {\n // Reject everything and empty accepted files\n acceptedFiles.forEach(function (file) {\n fileRejections.push({\n file: file,\n errors: [TOO_MANY_FILES_REJECTION]\n });\n });\n acceptedFiles.splice(0);\n }\n\n dispatch({\n acceptedFiles: acceptedFiles,\n fileRejections: fileRejections,\n type: 'setFiles'\n });\n\n if (onDrop) {\n onDrop(acceptedFiles, fileRejections, event);\n }\n\n if (fileRejections.length > 0 && onDropRejected) {\n onDropRejected(fileRejections, event);\n }\n\n if (acceptedFiles.length > 0 && onDropAccepted) {\n onDropAccepted(acceptedFiles, event);\n }\n });\n }\n\n dispatch({\n type: 'reset'\n });\n }, [multiple, accept, minSize, maxSize, maxFiles, getFilesFromEvent, onDrop, onDropAccepted, onDropRejected, noDragEventsBubbling, validator]);\n\n var composeHandler = function composeHandler(fn) {\n return disabled ? null : fn;\n };\n\n var composeKeyboardHandler = function composeKeyboardHandler(fn) {\n return noKeyboard ? null : composeHandler(fn);\n };\n\n var composeDragHandler = function composeDragHandler(fn) {\n return noDrag ? null : composeHandler(fn);\n };\n\n var stopPropagation = function stopPropagation(event) {\n if (noDragEventsBubbling) {\n event.stopPropagation();\n }\n };\n\n var getRootProps = useMemo(function () {\n return function () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$refKey = _ref2.refKey,\n refKey = _ref2$refKey === void 0 ? 'ref' : _ref2$refKey,\n onKeyDown = _ref2.onKeyDown,\n onFocus = _ref2.onFocus,\n onBlur = _ref2.onBlur,\n onClick = _ref2.onClick,\n onDragEnter = _ref2.onDragEnter,\n onDragOver = _ref2.onDragOver,\n onDragLeave = _ref2.onDragLeave,\n onDrop = _ref2.onDrop,\n rest = _objectWithoutProperties(_ref2, _excluded3);\n\n return _objectSpread(_objectSpread(_defineProperty({\n onKeyDown: composeKeyboardHandler(composeEventHandlers(onKeyDown, onKeyDownCb)),\n onFocus: composeKeyboardHandler(composeEventHandlers(onFocus, onFocusCb)),\n onBlur: composeKeyboardHandler(composeEventHandlers(onBlur, onBlurCb)),\n onClick: composeHandler(composeEventHandlers(onClick, onClickCb)),\n onDragEnter: composeDragHandler(composeEventHandlers(onDragEnter, onDragEnterCb)),\n onDragOver: composeDragHandler(composeEventHandlers(onDragOver, onDragOverCb)),\n onDragLeave: composeDragHandler(composeEventHandlers(onDragLeave, onDragLeaveCb)),\n onDrop: composeDragHandler(composeEventHandlers(onDrop, onDropCb))\n }, refKey, rootRef), !disabled && !noKeyboard ? {\n tabIndex: 0\n } : {}), rest);\n };\n }, [rootRef, onKeyDownCb, onFocusCb, onBlurCb, onClickCb, onDragEnterCb, onDragOverCb, onDragLeaveCb, onDropCb, noKeyboard, noDrag, disabled]);\n var onInputElementClick = useCallback(function (event) {\n event.stopPropagation();\n }, []);\n var getInputProps = useMemo(function () {\n return function () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$refKey = _ref3.refKey,\n refKey = _ref3$refKey === void 0 ? 'ref' : _ref3$refKey,\n onChange = _ref3.onChange,\n onClick = _ref3.onClick,\n rest = _objectWithoutProperties(_ref3, _excluded4);\n\n var inputProps = _defineProperty({\n accept: accept,\n multiple: multiple,\n type: 'file',\n style: {\n display: 'none'\n },\n onChange: composeHandler(composeEventHandlers(onChange, onDropCb)),\n onClick: composeHandler(composeEventHandlers(onClick, onInputElementClick)),\n autoComplete: 'off',\n tabIndex: -1\n }, refKey, inputRef);\n\n return _objectSpread(_objectSpread({}, inputProps), rest);\n };\n }, [inputRef, accept, multiple, onDropCb, disabled]);\n var fileCount = draggedFiles.length;\n var isDragAccept = fileCount > 0 && allFilesAccepted({\n files: draggedFiles,\n accept: accept,\n minSize: minSize,\n maxSize: maxSize,\n multiple: multiple,\n maxFiles: maxFiles\n });\n var isDragReject = fileCount > 0 && !isDragAccept;\n return _objectSpread(_objectSpread({}, state), {}, {\n isDragAccept: isDragAccept,\n isDragReject: isDragReject,\n isFocused: isFocused && !disabled,\n getRootProps: getRootProps,\n getInputProps: getInputProps,\n rootRef: rootRef,\n inputRef: inputRef,\n open: composeHandler(openFileDialog)\n });\n}\n\nfunction reducer(state, action) {\n /* istanbul ignore next */\n switch (action.type) {\n case 'focus':\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: true\n });\n\n case 'blur':\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: false\n });\n\n case 'openDialog':\n return _objectSpread(_objectSpread({}, state), {}, {\n isFileDialogActive: true\n });\n\n case 'closeDialog':\n return _objectSpread(_objectSpread({}, state), {}, {\n isFileDialogActive: false\n });\n\n case 'setDraggedFiles':\n /* eslint no-case-declarations: 0 */\n var isDragActive = action.isDragActive,\n draggedFiles = action.draggedFiles;\n return _objectSpread(_objectSpread({}, state), {}, {\n draggedFiles: draggedFiles,\n isDragActive: isDragActive\n });\n\n case 'setFiles':\n return _objectSpread(_objectSpread({}, state), {}, {\n acceptedFiles: action.acceptedFiles,\n fileRejections: action.fileRejections\n });\n\n case 'reset':\n return _objectSpread({}, initialState);\n\n default:\n return state;\n }\n}\n\nexport { ErrorCode } from './utils';","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getLoadingButtonUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","LoadingButtonRoot","styled","Button","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","root","startIconLoadingStart","loadingButtonClasses","endIconLoadingEnd","ownerState","theme","_extends","transition","transitions","create","duration","short","opacity","loadingPosition","color","fullWidth","marginRight","marginLeft","LoadingButtonLoadingIndicator","loadingIndicator","capitalize","position","visibility","display","variant","left","transform","palette","action","disabled","right","React","inProps","ref","useThemeProps","children","idProp","id","loading","loadingIndicatorProp","other","_objectWithoutPropertiesLoose","useId","_jsx","CircularProgress","size","classes","slots","startIcon","endIcon","composedClasses","composeClasses","useUtilityClasses","_jsxs","className","Context","TabContext","value","idPrefix","setId","Math","round","random","useUniquePrefix","context","Provider","useTabContext","getPanelId","getTabId","TabList","childrenProp","TypeError","child","Tabs","getTabPanelUtilityClass","TabPanelRoot","padding","spacing","tabId","clsx","hidden","role","current","getBadgeUtilityClass","BadgeUnstyled","anchorOrigin","anchorOriginProp","vertical","horizontal","classesProp","component","components","componentsProps","max","maxProp","showZero","variantProp","badgeContentProp","badgeContent","invisibleProp","invisible","prevProps","usePreviousProps","displayValue","Number","useBadge","badge","Root","rootProps","appendOwnerState","Badge","badgeProps","Slot","isHostComponent","badgeClasses","badgeUnstyledClasses","BadgeRoot","verticalAlign","flexShrink","BadgeBadge","overlap","flexDirection","flexWrap","justifyContent","alignContent","alignItems","boxSizing","fontFamily","typography","fontWeight","fontWeightMedium","fontSize","pxToRem","minWidth","RADIUS_STANDARD","lineHeight","height","borderRadius","zIndex","easing","easeInOut","enteringScreen","backgroundColor","main","contrastText","RADIUS_DOT","top","transformOrigin","bottom","leavingScreen","_componentsProps$root","_componentsProps$badg","overlapProp","colorProp","extendUtilityClasses","shouldSpreadAdditionalProps","as","getDialogActionsUtilityClass","DialogActionsRoot","disableSpacing","flex","getDialogContentTextUtilityClass","DialogContentTextRoot","Typography","getDividerUtilityClass","dividerClasses","getInputAdornmentUtilityClass","_span","InputAdornmentRoot","disablePointerEvents","maxHeight","whiteSpace","active","inputAdornmentClasses","marginTop","pointerEvents","disableTypography","muiFormControl","useFormControl","hiddenLabel","FormControlContext","getMenuItemUtilityClass","MenuItemRoot","ButtonBase","dense","divider","disableGutters","gutters","body1","textDecoration","minHeight","paddingTop","paddingBottom","paddingLeft","paddingRight","borderBottom","backgroundClip","hover","menuItemClasses","alpha","primary","selectedOpacity","focusOpacity","hoverOpacity","focus","disabledOpacity","marginBottom","listItemTextClasses","listItemIconClasses","breakpoints","up","body2","autoFocus","focusVisibleClassName","tabIndexProp","tabIndex","ListContext","childContext","menuItemRef","useEnhancedEffect","selected","handleRef","useForkRef","undefined","focusVisible","joinChildren","separator","childrenArray","filter","Boolean","reduce","output","index","push","length","key","StackRoot","handleBreakpoints","resolveBreakpointValues","values","direction","propValue","transformer","createUnarySpacing","base","Object","keys","acc","breakpoint","directionValues","spacingValues","deepmerge","margin","row","column","getValue","Stack","themeProps","extendSxProp","getSwitchUtilityClass","SwitchRoot","edge","width","overflow","colorAdjust","switchClasses","SwitchSwitchBase","SwitchBase","switchBase","input","mode","common","white","grey","shortest","lighten","darken","SwitchTrack","track","black","SwitchThumb","thumb","boxShadow","shadows","sx","checked","icon","type","checkedIcon","file","acceptedFiles","acceptedFilesArray","Array","isArray","split","fileName","mimeType","toLowerCase","baseMimeType","replace","some","validType","trim","charAt","endsWith","deselectCurrent","clipboardToIE11Formatting","module","text","options","debug","message","reselectPrevious","range","selection","mark","success","document","createRange","getSelection","createElement","textContent","style","all","clip","webkitUserSelect","MozUserSelect","msUserSelect","userSelect","addEventListener","e","stopPropagation","format","preventDefault","clipboardData","console","warn","window","clearData","setData","onCopy","body","appendChild","selectNodeContents","addRange","execCommand","Error","err","error","copyKey","test","navigator","userAgent","prompt","removeRange","removeAllRanges","removeChild","defineProperty","CopyToClipboard","_react","_copyToClipboard","obj","__esModule","_typeof","Symbol","iterator","constructor","prototype","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","apply","_objectWithoutProperties","source","excluded","i","target","sourceKeys","indexOf","sourceSymbolKeys","propertyIsEnumerable","call","_classCallCheck","instance","Constructor","_defineProperties","descriptor","configurable","writable","_possibleConstructorReturn","self","_assertThisInitialized","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","ReferenceError","_setPrototypeOf","p","_defineProperty","_React$PureComponent","_getPrototypeOf2","_this","this","_len","arguments","args","_key","concat","event","_this$props","elem","Children","only","result","onClick","protoProps","staticProps","subClass","superClass","_inherits","_this$props2","cloneElement","forEach","getOwnPropertyDescriptors","defineProperties","_objectSpread","PureComponent","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","done","then","__generator","f","y","t","g","_","label","sent","trys","ops","verb","n","v","op","pop","__read","m","r","ar","COMMON_MIME_TYPES","Map","toFileWithPath","path","lastIndexOf","ext","get","withMimeType","webkitRelativePath","FILES_TO_IGNORE","getInputFiles","evt","files","fromList","map","getDataTransferFiles","dt","items","item","kind","toFilePromises","noIgnoredFiles","flatten","webkitGetAsEntry","fromDataTransferItem","entry","isDirectory","fromDirEntry","getAsFile","fwp","fromEntry","fromFileEntry","reader","createReader","entries","readEntries","batch","fullPath","_slicedToArray","arr","_arrayWithHoles","_i","_s","_e","_arr","_n","_d","_iterableToArrayLimit","minLen","_arrayLikeToArray","toString","slice","from","_unsupportedIterableToArray","_nonIterableRest","len","arr2","FILE_INVALID_TYPE","FILE_TOO_LARGE","FILE_TOO_SMALL","TOO_MANY_FILES","getInvalidTypeRejectionErr","accept","messageSuffix","join","code","getTooLargeRejectionErr","maxSize","getTooSmallRejectionErr","minSize","TOO_MANY_FILES_REJECTION","fileAccepted","isAcceptable","accepts","fileMatchSize","isDefined","allFilesAccepted","_ref","multiple","maxFiles","every","accepted","sizeMatch","isPropagationStopped","cancelBubble","isEvtWithFiles","dataTransfer","types","onDocumentDragOver","isIe","isEdge","isIeOrEdge","composeEventHandlers","fns","_len2","_key2","fn","_excluded2","_excluded3","_excluded4","_toConsumableArray","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","Dropzone","forwardRef","_useDropzone","useDropzone","open","useImperativeHandle","Fragment","displayName","defaultProps","getFilesFromEvent","Infinity","preventDropOnDocument","noClick","noKeyboard","noDrag","noDragEventsBubbling","validator","propTypes","PropTypes","onFileDialogCancel","onFileDialogOpen","onDragEnter","onDragLeave","onDragOver","onDrop","onDropAccepted","onDropRejected","initialState","isFocused","isFileDialogActive","isDragActive","isDragAccept","isDragReject","draggedFiles","fileRejections","_defaultProps$options","rootRef","useRef","inputRef","_useReducer","useReducer","reducer","_useReducer2","state","dispatch","openFileDialog","useCallback","click","onWindowFocus","setTimeout","useEffect","removeEventListener","onKeyDownCb","isEqualNode","keyCode","onFocusCb","onBlurCb","onClickCb","dragTargetsRef","onDocumentDrop","contains","onDragEnterCb","persist","onDragOverCb","hasFiles","dropEffect","_unused","onDragLeaveCb","targets","targetIdx","splice","onDropCb","_fileAccepted2","acceptError","_fileMatchSize2","sizeError","customErrors","errors","composeHandler","composeKeyboardHandler","composeDragHandler","getRootProps","useMemo","_ref2","_ref2$refKey","refKey","onKeyDown","onFocus","onBlur","rest","onInputElementClick","getInputProps","_ref3","_ref3$refKey","onChange","inputProps","autoComplete","fileCount","rangeCount","activeElement","ranges","getRangeAt","tagName","toUpperCase","blur"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/7146.699d8257.chunk.js b/portal-ui/build/static/js/7146.699d8257.chunk.js deleted file mode 100644 index 3e84b07e3..000000000 --- a/portal-ui/build/static/js/7146.699d8257.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[7146],{57146:function(e,n,t){t.r(n),t.d(n,{default:function(){return A}});var a=t(23430),i=t(18489),r=t(50390),o=t(34424),s=t(86509),l=t(4285),c=t(38342),d=t.n(c),u=t(87248),m=t.n(u),x=t(25594),p=t(98280),f=t(72462),Z=t(44149),h=t(30324),v=t(66946),g=t(81378),b=t(76352),y=t(66964),j=t(92440),_=t(65703),C=t(67754),S=t(27207),k=t(62559),N={setModalErrorSnackMessage:Z.zb},F=(0,o.$j)(null,N),P=(0,l.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({dateSelector:{"& div":{borderBottom:0,marginBottom:0,"& div:nth-child(2)":{border:"1px solid #EAEAEA",paddingLeft:5,"& div":{border:0}}}}},f.bK),f.ID),f.DF),f.QV))}))(F((function(e){var n=e.classes,t=e.closeModalAndRefresh,o=e.selectedBucket,s=e.lifecycle,l=e.open,c=e.setModalErrorSnackMessage,u=(0,r.useState)(!0),m=(0,a.Z)(u,2),f=m[0],Z=m[1],N=(0,r.useState)(!1),F=(0,a.Z)(N,2),P=F[0],I=F[1],E=(0,r.useState)(""),T=(0,a.Z)(E,2),R=T[0],w=T[1],L=(0,r.useState)(!1),M=(0,a.Z)(L,2),O=M[0],D=M[1],A=(0,r.useState)([]),B=(0,a.Z)(A,2),V=B[0],G=B[1],H=(0,r.useState)(""),K=(0,a.Z)(H,2),q=K[0],z=K[1],U=(0,r.useState)(""),Y=(0,a.Z)(U,2),W=Y[0],Q=Y[1],$=(0,r.useState)(""),J=(0,a.Z)($,2),X=J[0],ee=J[1],ne=(0,r.useState)(!1),te=(0,a.Z)(ne,2),ae=te[0],ie=te[1],re=(0,r.useState)("0"),oe=(0,a.Z)(re,2),se=oe[0],le=oe[1],ce=(0,r.useState)("0"),de=(0,a.Z)(ce,2),ue=de[0],me=de[1],xe=(0,r.useState)("expiry"),pe=(0,a.Z)(xe,2),fe=pe[0],Ze=pe[1],he=(0,r.useState)("0"),ve=(0,a.Z)(he,2),ge=ve[0],be=ve[1],ye=(0,r.useState)("0"),je=(0,a.Z)(ye,2),_e=je[0],Ce=je[1],Se=(0,r.useState)(!1),ke=(0,a.Z)(Se,2),Ne=ke[0],Fe=ke[1];(0,r.useEffect)((function(){f&&h.Z.invoke("GET","/api/v1/admin/tiers").then((function(e){var n=d()(e,"items",[]);if(null!==n&&n.length>=1){var t=n.map((function(e){var n=e.type,t=d()(e,"".concat(n,".name"),"");return{label:t,value:t}}));G(t),t.length>0&&Q(t[0].value)}Z(!1)})).catch((function(e){Z(!1)}))}),[f]),(0,r.useEffect)((function(){var e=!0;"expiry"!==fe&&""===W&&(e=!1),Fe(e)}),[fe,ge,_e,W]),(0,r.useEffect)((function(){var e;console.log("lifecycle::",s),"Enabled"===s.status&&D(!0);var n,t,a,i,r,o,l=!1;(s.transition&&(s.transition.days&&0!==s.transition.days&&(Ce(s.transition.days.toString()),Ze("transition"),l=!0),s.transition.date&&"0001-01-01T00:00:00Z"!==s.transition.date&&(Ze("transition"),l=!0)),s.expiration&&(s.expiration.days&&0!==s.expiration.days&&(be(s.expiration.days.toString()),Ze("expiry"),l=!1),s.expiration.date&&"0001-01-01T00:00:00Z"!==s.expiration.date&&(Ze("expiry"),l=!1)),l)?(Q((null===(n=s.transition)||void 0===n?void 0:n.storage_class)||""),me((null===(t=s.transition)||void 0===t||null===(a=t.noncurrent_transition_days)||void 0===a?void 0:a.toString())||"0"),ee((null===(i=s.transition)||void 0===i?void 0:i.noncurrent_storage_class)||"")):le((null===(r=s.expiration)||void 0===r||null===(o=r.noncurrent_expiration_days)||void 0===o?void 0:o.toString())||"0");if(ie(!(null===(e=s.expiration)||void 0===e||!e.delete_marker)),z(s.prefix||""),s.tags){var c=s.tags.reduce((function(e,n,t){return"".concat(e).concat(0!==t?"&":"").concat(n.key,"=").concat(n.value)}),"");w(c)}}),[s]);return(0,k.jsx)(b.Z,{onClose:function(){t(!1)},modalOpen:l,title:"Edit Lifecycle Configuration",titleIcon:(0,k.jsx)(p.QI,{}),children:(0,k.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){if(e.preventDefault(),!P&&(I(!0),null!==o&&null!==s)){var n={};if("expiry"===fe){var a={expiry_days:parseInt(ge)};n=(0,i.Z)((0,i.Z)({},a),{},{noncurrentversion_expiration_days:parseInt(se)})}else{var r={transition_days:parseInt(_e)};n=(0,i.Z)((0,i.Z)({},r),{},{noncurrentversion_transition_days:parseInt(ue),noncurrentversion_transition_storage_class:X,storage_class:W})}var l=(0,i.Z)({type:fe,disable:!O,prefix:q,tags:R,expired_object_delete_marker:ae},n);h.Z.invoke("PUT","/api/v1/buckets/".concat(o,"/lifecycle/").concat(s.id),l).then((function(e){I(!1),t(!0)})).catch((function(e){I(!1),c(e)}))}}(e)},children:(0,k.jsxs)(x.ZP,{container:!0,children:[(0,k.jsxs)(x.ZP,{item:!0,xs:12,className:n.formScrollable,children:[(0,k.jsx)(x.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,k.jsx)(y.Z,{id:"id",name:"id",label:"Id",value:s.id,onChange:function(){},disabled:!0})}),(0,k.jsx)(x.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,k.jsx)(j.Z,{label:"Rule State",indicatorLabels:["Enabled","Disabled"],checked:O,value:"user_enabled",id:"user-status",name:"user-status",onChange:function(e){D(e.target.checked)}})}),(0,k.jsx)(x.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,k.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,k.jsx)("legend",{className:n.descriptionText,children:"Lifecycle Configuration"}),(0,k.jsx)(x.ZP,{item:!0,xs:12,children:(0,k.jsx)(S.Z,{currentSelection:fe,id:"quota_type",name:"quota_type",label:"ILM Rule",selectorOptions:[{value:"expiry",label:"Expiry"},{value:"transition",label:"Transition"}],onChange:function(){},disableOptions:!0})}),"expiry"===fe?(0,k.jsxs)(r.Fragment,{children:[(0,k.jsx)(x.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,k.jsx)(y.Z,{type:"number",id:"expiry_days",name:"expiry_days",onChange:function(e){be(e.target.value)},label:"Expiry Days",value:ge,min:"0"})}),(0,k.jsx)(x.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,k.jsx)(y.Z,{type:"number",id:"noncurrentversion_expiration_days",name:"noncurrentversion_expiration_days",onChange:function(e){le(e.target.value)},label:"Non-current Expiration Days",value:se,min:"0"})})]}):(0,k.jsxs)(r.Fragment,{children:[(0,k.jsx)(x.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,k.jsx)(y.Z,{type:"number",id:"transition_days",name:"transition_days",onChange:function(e){Ce(e.target.value)},label:"Transition Days",value:_e,min:"0"})}),(0,k.jsx)(x.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,k.jsx)(y.Z,{type:"number",id:"noncurrentversion_transition_days",name:"noncurrentversion_transition_days",onChange:function(e){me(e.target.value)},label:"Non-current Transition Days",value:ue,min:"0"})}),(0,k.jsx)(x.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,k.jsx)(y.Z,{id:"noncurrentversion_t_SC",name:"noncurrentversion_t_SC",onChange:function(e){ee(e.target.value)},placeholder:"Set Non-current Version Transition Storage Class",label:"Non-current Version Transition Storage Class",value:X})}),(0,k.jsx)(x.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,k.jsx)(C.Z,{label:"Storage Class",id:"storage_class",name:"storage_class",value:W,onChange:function(e){Q(e.target.value)},options:V})})]})]})}),(0,k.jsx)(x.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,k.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,k.jsx)("legend",{className:n.descriptionText,children:"File Configuration"}),(0,k.jsx)(x.ZP,{item:!0,xs:12,children:(0,k.jsx)(y.Z,{id:"prefix",name:"prefix",onChange:function(e){z(e.target.value)},label:"Prefix",value:q})}),(0,k.jsx)(x.ZP,{item:!0,xs:12,children:(0,k.jsx)(_.Z,{name:"tags",label:"Tags",elements:R,onChange:function(e){w(e)},keyPlaceholder:"Tag Key",valuePlaceholder:"Tag Value",withBorder:!0})}),(0,k.jsx)(x.ZP,{item:!0,xs:12,children:(0,k.jsx)(j.Z,{value:"expired_delete_marker",id:"expired_delete_marker",name:"expired_delete_marker",checked:ae,onChange:function(e){ie(e.target.checked)},label:"Expired Object Delete Marker"})})]})})]}),(0,k.jsxs)(x.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,k.jsx)(v.Z,{type:"button",variant:"outlined",color:"primary",disabled:P,onClick:function(){t(!1)},children:"Cancel"}),(0,k.jsx)(v.Z,{type:"submit",variant:"contained",color:"primary",disabled:P||!Ne,children:"Save"})]}),P&&(0,k.jsx)(x.ZP,{item:!0,xs:12,children:(0,k.jsx)(g.Z,{})})]})})})}))),I=(0,o.$j)(null,{setModalErrorSnackMessage:Z.zb}),E=(0,l.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({dateSelector:{"& div":{borderBottom:0,marginBottom:0,"& div:nth-child(2)":{border:"1px solid #EAEAEA",paddingLeft:5,"& div":{border:0}}}}},f.bK),f.ID),f.DF),f.QV))}))(I((function(e){var n=e.open,t=e.closeModalAndRefresh,o=e.classes,s=e.bucketName,l=e.setModalErrorSnackMessage,c=(0,r.useState)(!0),u=(0,a.Z)(c,2),m=u[0],f=u[1],Z=(0,r.useState)([]),N=(0,a.Z)(Z,2),F=N[0],P=N[1],I=(0,r.useState)(!1),E=(0,a.Z)(I,2),T=E[0],R=E[1],w=(0,r.useState)(""),L=(0,a.Z)(w,2),M=L[0],O=L[1],D=(0,r.useState)(""),A=(0,a.Z)(D,2),B=A[0],V=A[1],G=(0,r.useState)(""),H=(0,a.Z)(G,2),K=H[0],q=H[1],z=(0,r.useState)(""),U=(0,a.Z)(z,2),Y=U[0],W=U[1],Q=(0,r.useState)(!1),$=(0,a.Z)(Q,2),J=$[0],X=$[1],ee=(0,r.useState)("0"),ne=(0,a.Z)(ee,2),te=ne[0],ae=ne[1],ie=(0,r.useState)("0"),re=(0,a.Z)(ie,2),oe=re[0],se=re[1],le=(0,r.useState)("expiry"),ce=(0,a.Z)(le,2),de=ce[0],ue=ce[1],me=(0,r.useState)("0"),xe=(0,a.Z)(me,2),pe=xe[0],fe=xe[1],Ze=(0,r.useState)("0"),he=(0,a.Z)(Ze,2),ve=he[0],ge=he[1],be=(0,r.useState)(!1),ye=(0,a.Z)(be,2),je=ye[0],_e=ye[1];(0,r.useEffect)((function(){m&&h.Z.invoke("GET","/api/v1/admin/tiers").then((function(e){var n=d()(e,"items",[]);if(null!==n&&n.length>=1){var t=n.map((function(e){var n=e.type,t=d()(e,"".concat(n,".name"),"");return{label:t,value:t}}));P(t),t.length>0&&q(t[0].value)}f(!1)})).catch((function(e){f(!1)}))}),[m]),(0,r.useEffect)((function(){var e=!0;"expiry"!==de&&""===K&&(e=!1),_e(e)}),[de,pe,ve,K]);return(0,k.jsxs)(b.Z,{modalOpen:n,onClose:function(){t(!1)},title:"Add Lifecycle Rule",titleIcon:(0,k.jsx)(p.QI,{}),children:[m&&(0,k.jsx)(x.ZP,{container:!0,className:o.loadingBox,children:(0,k.jsx)(x.ZP,{item:!0,xs:12,children:(0,k.jsx)(g.Z,{})})}),!m&&(0,k.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),R(!0),function(){var e={};if("expiry"===de){var n={expiry_days:parseInt(pe)};e=(0,i.Z)((0,i.Z)({},n),{},{noncurrentversion_expiration_days:parseInt(te)})}else{var a={transition_days:parseInt(ve)};e=(0,i.Z)((0,i.Z)({},a),{},{noncurrentversion_transition_days:parseInt(oe),noncurrentversion_transition_storage_class:Y,storage_class:K})}var r=(0,i.Z)({prefix:M,tags:B,expired_object_delete_marker:J},e);h.Z.invoke("POST","/api/v1/buckets/".concat(s,"/lifecycle"),r).then((function(){R(!1),t(!0)})).catch((function(e){R(!1),l(e)}))}()},children:(0,k.jsxs)(x.ZP,{container:!0,children:[(0,k.jsxs)(x.ZP,{item:!0,xs:12,className:o.formScrollable,children:[(0,k.jsx)(x.ZP,{item:!0,xs:12,className:o.formFieldRow,children:(0,k.jsxs)("fieldset",{className:o.fieldGroup,children:[(0,k.jsx)("legend",{className:o.descriptionText,children:"Lifecycle Configuration"}),(0,k.jsx)(x.ZP,{item:!0,xs:12,children:(0,k.jsx)(S.Z,{currentSelection:de,id:"quota_type",name:"quota_type",label:"ILM Rule",onChange:function(e){ue(e.target.value)},selectorOptions:[{value:"expiry",label:"Expiry"},{value:"transition",label:"Transition"}]})}),"expiry"===de?(0,k.jsxs)(r.Fragment,{children:[(0,k.jsx)(x.ZP,{item:!0,xs:12,className:o.formFieldRow,children:(0,k.jsx)(y.Z,{type:"number",id:"expiry_days",name:"expiry_days",onChange:function(e){fe(e.target.value)},label:"Expiry Days",value:pe,min:"0"})}),(0,k.jsx)(x.ZP,{item:!0,xs:12,className:o.formFieldRow,children:(0,k.jsx)(y.Z,{type:"number",id:"noncurrentversion_expiration_days",name:"noncurrentversion_expiration_days",onChange:function(e){ae(e.target.value)},label:"Non-current Expiration Days",value:te,min:"0"})})]}):(0,k.jsxs)(r.Fragment,{children:[(0,k.jsx)(x.ZP,{item:!0,xs:12,className:o.formFieldRow,children:(0,k.jsx)(y.Z,{type:"number",id:"transition_days",name:"transition_days",onChange:function(e){ge(e.target.value)},label:"Transition Days",value:ve,min:"0"})}),(0,k.jsx)(x.ZP,{item:!0,xs:12,className:o.formFieldRow,children:(0,k.jsx)(y.Z,{type:"number",id:"noncurrentversion_transition_days",name:"noncurrentversion_transition_days",onChange:function(e){se(e.target.value)},label:"Non-current Transition Days",value:oe,min:"0"})}),(0,k.jsx)(x.ZP,{item:!0,xs:12,className:o.formFieldRow,children:(0,k.jsx)(y.Z,{id:"noncurrentversion_t_SC",name:"noncurrentversion_t_SC",onChange:function(e){W(e.target.value)},placeholder:"Set Non-current Version Transition Storage Class",label:"Non-current Version Transition Storage Class",value:Y})}),(0,k.jsx)(x.ZP,{item:!0,xs:12,className:o.formFieldRow,children:(0,k.jsx)(C.Z,{label:"Storage Class",id:"storage_class",name:"storage_class",value:K,onChange:function(e){q(e.target.value)},options:F})})]})]})}),(0,k.jsx)(x.ZP,{item:!0,xs:12,className:o.formFieldRow,children:(0,k.jsxs)("fieldset",{className:o.fieldGroup,children:[(0,k.jsx)("legend",{className:o.descriptionText,children:"File Configuration"}),(0,k.jsx)(x.ZP,{item:!0,xs:12,children:(0,k.jsx)(y.Z,{id:"prefix",name:"prefix",onChange:function(e){O(e.target.value)},label:"Prefix",value:M})}),(0,k.jsx)(x.ZP,{item:!0,xs:12,children:(0,k.jsx)(_.Z,{name:"tags",label:"Tags",elements:"",onChange:function(e){V(e)},keyPlaceholder:"Tag Key",valuePlaceholder:"Tag Value",withBorder:!0})}),(0,k.jsx)(x.ZP,{item:!0,xs:12,children:(0,k.jsx)(j.Z,{value:"expired_delete_marker",id:"expired_delete_marker",name:"expired_delete_marker",checked:J,onChange:function(e){X(e.target.checked)},label:"Expired Object Delete Marker"})})]})})]}),(0,k.jsxs)(x.ZP,{item:!0,xs:12,className:o.modalButtonBar,children:[(0,k.jsx)(v.Z,{type:"button",variant:"outlined",color:"primary",disabled:T,onClick:function(){t(!1)},children:"Cancel"}),(0,k.jsx)(v.Z,{type:"submit",variant:"contained",color:"primary",disabled:T||!je,children:"Save"})]}),T&&(0,k.jsx)(x.ZP,{item:!0,xs:12,children:(0,k.jsx)(g.Z,{})})]})})]})}))),T=t(17777),R=t(8235),w=t(48122),L=t(15607),M=t(49495),O=t(53224),D=(0,o.$j)((function(e){return{session:e.console.session,loadingBucket:e.buckets.bucketDetails.loadingBucket,bucketInfo:e.buckets.bucketDetails.bucketInfo}}),{setErrorSnackMessage:Z.Ih}),A=(0,l.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},f.qg),f.OR),{},{twHeight:{minHeight:400}}))}))(D((function(e){var n=e.classes,t=e.match,i=(e.setErrorSnackMessage,e.loadingBucket),o=(e.bucketInfo,(0,r.useState)(!0)),s=(0,a.Z)(o,2),l=s[0],c=s[1],u=(0,r.useState)([]),f=(0,a.Z)(u,2),Z=f[0],v=f[1],g=(0,r.useState)(!1),b=(0,a.Z)(g,2),y=b[0],j=b[1],_=(0,r.useState)(!1),C=(0,a.Z)(_,2),S=C[0],N=C[1],F=(0,r.useState)(null),I=(0,a.Z)(F,2),D=I[0],A=I[1],B=t.params.bucketName,V=(0,L.F)(B,[M.Ft.S3_GET_LIFECYCLE_CONFIGURATION]);(0,r.useEffect)((function(){i&&c(!0)}),[i,c]),(0,r.useEffect)((function(){l&&(V?h.Z.invoke("GET","/api/v1/buckets/".concat(B,"/lifecycle")).then((function(e){var n=d()(e,"lifecycle",[]);v(n||[]),c(!1)})).catch((function(e){console.error(e),c(!1)})):c(!1))}),[l,c,B,V]);var G=[{label:"ID",elementKey:"id"},{label:"Prefix",elementKey:"prefix"},{label:"Status",elementKey:"status"},{label:"Expiration",elementKey:"expiration",renderFunction:function(e){return e.days?"".concat(e.days," day").concat(e.days>1?"s":""):"0001-01-01T00:00:00Z"===e.date?"":(0,k.jsx)(m(),{children:e.date})}},{label:"Transition",elementKey:"transition",renderFunction:function(e){return e.days?"".concat(e.days," day").concat(e.days>1?"s":""):"0001-01-01T00:00:00Z"===e.date?"":(0,k.jsx)(m(),{children:e.date})}},{label:"Storage Class",elementKey:"storage_class",renderFunction:function(e){return d()(e,"transition.storage_class","")},renderFullObject:!0}],H=[{type:"view",onClick:function(e){A(e),N(!0)}}];return(0,k.jsxs)(r.Fragment,{children:[S&&D&&(0,k.jsx)(P,{open:S,closeModalAndRefresh:function(e){N(!1),A(null),e&&c(!0)},selectedBucket:B,lifecycle:D}),y&&(0,k.jsx)(E,{open:y,bucketName:B,closeModalAndRefresh:function(e){j(!1),e&&c(!0)}}),(0,k.jsxs)(x.ZP,{container:!0,children:[(0,k.jsxs)(x.ZP,{item:!0,xs:12,className:n.actionsTray,children:[(0,k.jsx)(w.Z,{children:"Lifecycle Rules"}),(0,k.jsx)(L.Z,{scopes:[M.Ft.S3_PUT_LIFECYCLE_CONFIGURATION,M.Ft.ADMIN_LIST_TIERS],resource:B,matchAll:!0,errorProps:{disabled:!0},children:(0,k.jsx)(O.Z,{tooltip:"Add Lifecycle Rule",onClick:function(){j(!0)},text:"Add Lifecycle Rule",icon:(0,k.jsx)(p.dt,{}),color:"primary",variant:"contained"})})]}),(0,k.jsx)(x.ZP,{item:!0,xs:12,children:(0,k.jsx)(L.Z,{scopes:[M.Ft.S3_GET_LIFECYCLE_CONFIGURATION],resource:B,errorProps:{disabled:!0},children:(0,k.jsx)(T.Z,{itemActions:H,columns:G,isLoading:l,records:Z,entityName:"Lifecycle",customEmptyMessage:"There are no Lifecycle rules yet",idField:"id",customPaperHeight:n.twHeight})})}),!l&&(0,k.jsx)(x.ZP,{item:!0,xs:12,children:(0,k.jsx)(R.Z,{title:"Lifecycle Rules",iconComponent:(0,k.jsx)(p.y2,{}),help:(0,k.jsxs)(r.Fragment,{children:["MinIO Object Lifecycle Management allows creating rules for time or date based automatic transition or expiry of objects. For object transition, MinIO automatically moves the object to a configured remote storage tier.",(0,k.jsx)("br",{}),(0,k.jsx)("br",{}),"You can learn more at our"," ",(0,k.jsx)("a",{href:"https://docs.min.io/minio/baremetal/lifecycle-management/lifecycle-management-overview.html?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})})]})]})})))},27207:function(e,n,t){var a=t(36222),i=t(18489),r=(t(50390),t(44977)),o=t(25594),s=t(82420),l=t(66695),c=t(98893),d=t(36554),u=t(94187),m=t(86509),x=t(4285),p=t(62449),f=t(72462),Z=t(97538),h=t(62559),v=(0,p.Z)((0,i.Z)({root:{"&:hover":{backgroundColor:"transparent"}}},f.FU)),g=function(e){var n=v();return(0,h.jsx)(c.Z,(0,i.Z)({className:n.root,disableRipple:!0,color:"default",checkedIcon:(0,h.jsx)("span",{className:n.radioSelectedIcon}),icon:(0,h.jsx)("span",{className:n.radioUnselectedIcon})},e))};n.Z=(0,x.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},f.YI),f.Hr),{},{optionLabel:{"&.Mui-disabled":{"& .MuiFormControlLabel-label":{color:"#9c9c9c"}},"&:last-child":{marginRight:0},"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E"}},checkedOption:{"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E",fontWeight:700}}}))}))((function(e){var n=e.selectorOptions,t=void 0===n?[]:n,i=e.currentSelection,c=e.label,m=e.id,x=e.name,p=e.onChange,f=e.tooltip,v=void 0===f?"":f,b=e.disableOptions,y=void 0!==b&&b,j=e.classes,_=e.displayInColumn,C=void 0!==_&&_;return(0,h.jsxs)(o.ZP,{container:!0,alignItems:"center",children:[(0,h.jsx)(o.ZP,{item:!0,xs:!0,children:(0,h.jsxs)(d.Z,{htmlFor:m,className:j.inputLabel,children:[(0,h.jsx)("span",{children:c}),""!==v&&(0,h.jsx)("div",{className:j.tooltipContainer,children:(0,h.jsx)(u.Z,{title:v,placement:"top-start",children:(0,h.jsx)("div",{children:(0,h.jsx)(Z.Z,{})})})})]})}),(0,h.jsx)(o.ZP,{item:!0,xs:!0,className:j.radioOptionsLayout,children:(0,h.jsx)(s.Z,{"aria-label":m,id:m,name:x,value:i,onChange:p,row:!C,style:{display:"block",textAlign:"right"},children:t.map((function(e){return(0,h.jsx)(l.Z,{value:e.value,control:(0,h.jsx)(g,{}),label:e.label,disabled:y,className:(0,r.Z)(j.optionLabel,(0,a.Z)({},j.checkedOption,e.value===i))},"rd-".concat(x,"-").concat(e.value))}))})})]})}))},67754:function(e,n,t){var a=t(18489),i=t(50390),r=t(25594),o=t(46413),s=t(36554),l=t(94187),c=t(47554),d=t(43965),u=t(31680),m=t(86509),x=t(4285),p=t(72462),f=t(97538),Z=t(62559),h=(0,x.Z)((function(e){return(0,m.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(o.ZP);n.Z=(0,x.Z)((function(e){return(0,m.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},p.YI),p.Hr),{},{inputLabel:(0,a.Z)((0,a.Z)({},p.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var n=e.classes,t=e.id,a=e.name,o=e.onChange,m=e.options,x=e.label,p=e.tooltip,v=void 0===p?"":p,g=e.value,b=e.disabled,y=void 0!==b&&b;return(0,Z.jsx)(i.Fragment,{children:(0,Z.jsxs)(r.ZP,{item:!0,xs:12,className:n.fieldContainer,children:[""!==x&&(0,Z.jsxs)(s.Z,{htmlFor:t,className:n.inputLabel,children:[(0,Z.jsx)("span",{children:x}),""!==v&&(0,Z.jsx)("div",{className:n.tooltipContainer,children:(0,Z.jsx)(l.Z,{title:v,placement:"top-start",children:(0,Z.jsx)("div",{className:n.tooltip,children:(0,Z.jsx)(f.Z,{})})})})]}),(0,Z.jsx)(c.Z,{fullWidth:!0,children:(0,Z.jsx)(d.Z,{id:t,name:a,value:g,onChange:o,input:(0,Z.jsx)(h,{}),disabled:y,children:m.map((function(e){return(0,Z.jsx)(u.Z,{value:e.value,children:e.label},"select-".concat(a,"-").concat(e.label))}))})})]})})}))},4247:function(e,n,t){t.d(n,{V:function(){return i}});var a=t(10594);function i(e){return(0,a.Z)("MuiDivider",e)}var r=(0,t(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);n.Z=r},31680:function(e,n,t){t.d(n,{Z:function(){return S}});var a=t(36222),i=t(1048),r=t(32793),o=t(50390),s=t(44977),l=t(50076),c=t(36128),d=t(8208),u=t(15573),m=t(57308),x=t(86875),p=t(40839),f=t(3299),Z=t(4247),h=t(2198),v=t(23586),g=t(10594);function b(e){return(0,g.Z)("MuiMenuItem",e)}var y=(0,t(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),j=t(62559),_=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],C=(0,d.ZP)(x.Z,{shouldForwardProp:function(e){return(0,d.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,t.dense&&n.dense,t.divider&&n.divider,!t.disableGutters&&n.gutters]}})((function(e){var n,t=e.theme,i=e.ownerState;return(0,r.Z)({},t.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!i.disableGutters&&{paddingLeft:16,paddingRight:16},i.divider&&{borderBottom:"1px solid ".concat(t.palette.divider),backgroundClip:"padding-box"},(n={"&:hover":{textDecoration:"none",backgroundColor:t.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,a.Z)(n,"&.".concat(y.selected),(0,a.Z)({backgroundColor:(0,c.Fq)(t.palette.primary.main,t.palette.action.selectedOpacity)},"&.".concat(y.focusVisible),{backgroundColor:(0,c.Fq)(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.focusOpacity)})),(0,a.Z)(n,"&.".concat(y.selected,":hover"),{backgroundColor:(0,c.Fq)(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,c.Fq)(t.palette.primary.main,t.palette.action.selectedOpacity)}}),(0,a.Z)(n,"&.".concat(y.focusVisible),{backgroundColor:t.palette.action.focus}),(0,a.Z)(n,"&.".concat(y.disabled),{opacity:t.palette.action.disabledOpacity}),(0,a.Z)(n,"& + .".concat(Z.Z.root),{marginTop:t.spacing(1),marginBottom:t.spacing(1)}),(0,a.Z)(n,"& + .".concat(Z.Z.inset),{marginLeft:52}),(0,a.Z)(n,"& .".concat(v.Z.root),{marginTop:0,marginBottom:0}),(0,a.Z)(n,"& .".concat(v.Z.inset),{paddingLeft:36}),(0,a.Z)(n,"& .".concat(h.Z.root),{minWidth:36}),n),!i.dense&&(0,a.Z)({},t.breakpoints.up("sm"),{minHeight:"auto"}),i.dense&&(0,r.Z)({minHeight:32,paddingTop:4,paddingBottom:4},t.typography.body2,(0,a.Z)({},"& .".concat(h.Z.root," svg"),{fontSize:"1.25rem"})))})),S=o.forwardRef((function(e,n){var t=(0,u.Z)({props:e,name:"MuiMenuItem"}),a=t.autoFocus,c=void 0!==a&&a,d=t.component,x=void 0===d?"li":d,Z=t.dense,h=void 0!==Z&&Z,v=t.divider,g=void 0!==v&&v,y=t.disableGutters,S=void 0!==y&&y,k=t.focusVisibleClassName,N=t.role,F=void 0===N?"menuitem":N,P=t.tabIndex,I=(0,i.Z)(t,_),E=o.useContext(m.Z),T={dense:h||E.dense||!1,disableGutters:S},R=o.useRef(null);(0,p.Z)((function(){c&&R.current&&R.current.focus()}),[c]);var w,L=(0,r.Z)({},t,{dense:T.dense,divider:g,disableGutters:S}),M=function(e){var n=e.disabled,t=e.dense,a=e.divider,i=e.disableGutters,o=e.selected,s=e.classes,c={root:["root",t&&"dense",n&&"disabled",!i&&"gutters",a&&"divider",o&&"selected"]},d=(0,l.Z)(c,b,s);return(0,r.Z)({},s,d)}(t),O=(0,f.Z)(R,n);return t.disabled||(w=void 0!==P?P:-1),(0,j.jsx)(m.Z.Provider,{value:T,children:(0,j.jsx)(C,(0,r.Z)({ref:O,role:F,tabIndex:w,component:x,focusVisibleClassName:(0,s.Z)(M.focusVisible,k)},I,{ownerState:L,classes:M}))})}))}}]); -//# sourceMappingURL=7146.699d8257.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/7146.699d8257.chunk.js.map b/portal-ui/build/static/js/7146.699d8257.chunk.js.map deleted file mode 100644 index c50f4274d..000000000 --- a/portal-ui/build/static/js/7146.699d8257.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/7146.699d8257.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/EditLifecycleConfiguration.tsx","screens/Console/Buckets/BucketDetails/AddLifecycleModal.tsx","screens/Console/Buckets/BucketDetails/BucketLifecyclePanel.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.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, { useEffect, useState, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Button, LinearProgress, SelectChangeEvent } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { LifeCycleItem } from \"../types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport { LifecycleConfigIcon } from \"../../../../icons\";\nimport { ITiersDropDown } from \"./AddLifecycleModal\";\nimport {\n ITierElement,\n ITierResponse,\n} from \"../../Configurations/TiersConfiguration/types\";\nimport api from \"../../../../common/api\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport QueryMultiSelector from \"../../Common/FormComponents/QueryMultiSelector/QueryMultiSelector\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\n\nconst styles = (theme: Theme) =>\n createStyles({\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 ...spacingUtils,\n ...modalStyleUtils,\n ...formFieldStyles,\n ...createTenantCommon,\n });\n\ninterface IAddUserContentProps {\n classes: any;\n closeModalAndRefresh: (reload: boolean) => void;\n selectedBucket: string;\n lifecycle: LifeCycleItem;\n open: boolean;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst EditLifecycleConfiguration = ({\n classes,\n closeModalAndRefresh,\n selectedBucket,\n lifecycle,\n open,\n setModalErrorSnackMessage,\n}: IAddUserContentProps) => {\n const [loadingTiers, setLoadingTiers] = useState(true);\n const [addLoading, setAddLoading] = useState(false);\n const [tags, setTags] = useState(\"\");\n const [enabled, setEnabled] = useState(false);\n const [tiersList, setTiersList] = useState([]);\n const [prefix, setPrefix] = useState(\"\");\n const [storageClass, setStorageClass] = useState(\"\");\n const [NCTransitionSC, setNCTransitionSC] = useState(\"\");\n const [expiredObjectDM, setExpiredObjectDM] = useState(false);\n const [NCExpirationDays, setNCExpirationDays] = useState(\"0\");\n const [NCTransitionDays, setNCTransitionDays] = useState(\"0\");\n const [ilmType, setIlmType] = useState(\"expiry\");\n const [expiryDays, setExpiryDays] = useState(\"0\");\n const [transitionDays, setTransitionDays] = useState(\"0\");\n const [isFormValid, setIsFormValid] = useState(false);\n\n useEffect(() => {\n if (loadingTiers) {\n api\n .invoke(\"GET\", `/api/v1/admin/tiers`)\n .then((res: ITierResponse) => {\n const tiersList: ITierElement[] | null = get(res, \"items\", []);\n\n if (tiersList !== null && tiersList.length >= 1) {\n const objList = tiersList.map((tier: ITierElement) => {\n const tierType = tier.type;\n const value = get(tier, `${tierType}.name`, \"\");\n\n return { label: value, value: value };\n });\n\n setTiersList(objList);\n if (objList.length > 0) {\n setStorageClass(objList[0].value);\n }\n }\n setLoadingTiers(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingTiers(false);\n });\n }\n }, [loadingTiers]);\n\n useEffect(() => {\n let valid = true;\n\n if (ilmType !== \"expiry\") {\n if (storageClass === \"\") {\n valid = false;\n }\n }\n setIsFormValid(valid);\n }, [ilmType, expiryDays, transitionDays, storageClass]);\n\n useEffect(() => {\n console.log(\"lifecycle::\", lifecycle);\n if (lifecycle.status === \"Enabled\") {\n setEnabled(true);\n }\n\n let transitionMode = false;\n\n if (lifecycle.transition) {\n if (lifecycle.transition.days && lifecycle.transition.days !== 0) {\n setTransitionDays(lifecycle.transition.days.toString());\n setIlmType(\"transition\");\n transitionMode = true;\n }\n\n // Fallback to old rules by date\n if (\n lifecycle.transition.date &&\n lifecycle.transition.date !== \"0001-01-01T00:00:00Z\"\n ) {\n setIlmType(\"transition\");\n transitionMode = true;\n }\n }\n\n if (lifecycle.expiration) {\n if (lifecycle.expiration.days && lifecycle.expiration.days !== 0) {\n setExpiryDays(lifecycle.expiration.days.toString());\n setIlmType(\"expiry\");\n transitionMode = false;\n }\n\n // Fallback to old rules by date\n if (\n lifecycle.expiration.date &&\n lifecycle.expiration.date !== \"0001-01-01T00:00:00Z\"\n ) {\n setIlmType(\"expiry\");\n transitionMode = false;\n }\n }\n\n // Transition fields\n if (transitionMode) {\n setStorageClass(lifecycle.transition?.storage_class || \"\");\n setNCTransitionDays(\n lifecycle.transition?.noncurrent_transition_days?.toString() || \"0\"\n );\n setNCTransitionSC(lifecycle.transition?.noncurrent_storage_class || \"\");\n } else {\n // Expiry fields\n setNCExpirationDays(\n lifecycle.expiration?.noncurrent_expiration_days?.toString() || \"0\"\n );\n }\n\n setExpiredObjectDM(!!lifecycle.expiration?.delete_marker);\n setPrefix(lifecycle.prefix || \"\");\n\n if (lifecycle.tags) {\n const tgs = lifecycle.tags.reduce(\n (stringLab: string, currItem: any, index: number) => {\n return `${stringLab}${index !== 0 ? \"&\" : \"\"}${currItem.key}=${\n currItem.value\n }`;\n },\n \"\"\n );\n\n setTags(tgs);\n }\n }, [lifecycle]);\n\n const saveRecord = (event: React.FormEvent) => {\n event.preventDefault();\n\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n if (selectedBucket !== null && lifecycle !== null) {\n let rules = {};\n\n if (ilmType === \"expiry\") {\n let expiry = {\n expiry_days: parseInt(expiryDays),\n };\n\n rules = {\n ...expiry,\n noncurrentversion_expiration_days: parseInt(NCExpirationDays),\n };\n } else {\n let transition = {\n transition_days: parseInt(transitionDays),\n };\n\n rules = {\n ...transition,\n noncurrentversion_transition_days: parseInt(NCTransitionDays),\n noncurrentversion_transition_storage_class: NCTransitionSC,\n storage_class: storageClass,\n };\n }\n\n const lifecycleUpdate = {\n type: ilmType,\n disable: !enabled,\n prefix,\n tags,\n expired_object_delete_marker: expiredObjectDM,\n ...rules,\n };\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${selectedBucket}/lifecycle/${lifecycle.id}`,\n lifecycleUpdate\n )\n .then((res) => {\n setAddLoading(false);\n closeModalAndRefresh(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n }\n };\n\n return (\n {\n closeModalAndRefresh(false);\n }}\n modalOpen={open}\n title={\"Edit Lifecycle Configuration\"}\n titleIcon={}\n >\n ) => {\n saveRecord(e);\n }}\n >\n \n \n \n {}}\n disabled\n />\n \n \n {\n setEnabled(e.target.checked);\n }}\n />\n \n \n
\n \n Lifecycle Configuration\n \n\n \n {}}\n disableOptions\n />\n \n {ilmType === \"expiry\" ? (\n \n \n ) => {\n setExpiryDays(e.target.value);\n }}\n label=\"Expiry Days\"\n value={expiryDays}\n min=\"0\"\n />\n \n\n \n ) => {\n setNCExpirationDays(e.target.value);\n }}\n label=\"Non-current Expiration Days\"\n value={NCExpirationDays}\n min=\"0\"\n />\n \n \n ) : (\n \n \n ) => {\n setTransitionDays(e.target.value);\n }}\n label=\"Transition Days\"\n value={transitionDays}\n min=\"0\"\n />\n \n \n ) => {\n setNCTransitionDays(e.target.value);\n }}\n label=\"Non-current Transition Days\"\n value={NCTransitionDays}\n min=\"0\"\n />\n \n \n ) => {\n setNCTransitionSC(e.target.value);\n }}\n placeholder=\"Set Non-current Version Transition Storage Class\"\n label=\"Non-current Version Transition Storage Class\"\n value={NCTransitionSC}\n />\n \n \n ) => {\n setStorageClass(e.target.value as string);\n }}\n options={tiersList}\n />\n \n \n )}\n
\n
\n \n
\n \n File Configuration\n \n\n \n ) => {\n setPrefix(e.target.value);\n }}\n label=\"Prefix\"\n value={prefix}\n />\n \n \n {\n setTags(vl);\n }}\n keyPlaceholder=\"Tag Key\"\n valuePlaceholder=\"Tag Value\"\n withBorder\n />\n \n \n ) => {\n setExpiredObjectDM(event.target.checked);\n }}\n label={\"Expired Object Delete Marker\"}\n />\n \n
\n
\n
\n \n {\n closeModalAndRefresh(false);\n }}\n >\n Cancel\n \n \n Save\n \n \n {addLoading && (\n \n \n \n )}\n
\n \n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(EditLifecycleConfiguration));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Button, LinearProgress, SelectChangeEvent } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport {\n ITierElement,\n ITierResponse,\n} from \"../../Configurations/TiersConfiguration/types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../../common/api\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport QueryMultiSelector from \"../../Common/FormComponents/QueryMultiSelector/QueryMultiSelector\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { LifecycleConfigIcon } from \"../../../../icons\";\n\ninterface IReplicationModal {\n open: boolean;\n closeModalAndRefresh: (refresh: boolean) => any;\n classes: any;\n bucketName: string;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nexport interface ITiersDropDown {\n label: string;\n value: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\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 ...spacingUtils,\n ...modalStyleUtils,\n ...formFieldStyles,\n ...createTenantCommon,\n });\n\nconst AddLifecycleModal = ({\n open,\n closeModalAndRefresh,\n classes,\n bucketName,\n setModalErrorSnackMessage,\n}: IReplicationModal) => {\n const [loadingTiers, setLoadingTiers] = useState(true);\n const [tiersList, setTiersList] = useState([]);\n const [addLoading, setAddLoading] = useState(false);\n const [prefix, setPrefix] = useState(\"\");\n const [tags, setTags] = useState(\"\");\n const [storageClass, setStorageClass] = useState(\"\");\n const [NCTransitionSC, setNCTransitionSC] = useState(\"\");\n const [expiredObjectDM, setExpiredObjectDM] = useState(false);\n const [NCExpirationDays, setNCExpirationDays] = useState(\"0\");\n const [NCTransitionDays, setNCTransitionDays] = useState(\"0\");\n const [ilmType, setIlmType] = useState(\"expiry\");\n const [expiryDays, setExpiryDays] = useState(\"0\");\n const [transitionDays, setTransitionDays] = useState(\"0\");\n const [isFormValid, setIsFormValid] = useState(false);\n\n useEffect(() => {\n if (loadingTiers) {\n api\n .invoke(\"GET\", `/api/v1/admin/tiers`)\n .then((res: ITierResponse) => {\n const tiersList: ITierElement[] | null = get(res, \"items\", []);\n\n if (tiersList !== null && tiersList.length >= 1) {\n const objList = tiersList.map((tier: ITierElement) => {\n const tierType = tier.type;\n const value = get(tier, `${tierType}.name`, \"\");\n\n return { label: value, value: value };\n });\n\n setTiersList(objList);\n if (objList.length > 0) {\n setStorageClass(objList[0].value);\n }\n }\n setLoadingTiers(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingTiers(false);\n });\n }\n }, [loadingTiers]);\n\n useEffect(() => {\n let valid = true;\n\n if (ilmType !== \"expiry\") {\n if (storageClass === \"\") {\n valid = false;\n }\n }\n setIsFormValid(valid);\n }, [ilmType, expiryDays, transitionDays, storageClass]);\n\n const addRecord = () => {\n let rules = {};\n\n if (ilmType === \"expiry\") {\n let expiry = {\n expiry_days: parseInt(expiryDays),\n };\n\n rules = {\n ...expiry,\n noncurrentversion_expiration_days: parseInt(NCExpirationDays),\n };\n } else {\n let transition = {\n transition_days: parseInt(transitionDays),\n };\n\n rules = {\n ...transition,\n noncurrentversion_transition_days: parseInt(NCTransitionDays),\n noncurrentversion_transition_storage_class: NCTransitionSC,\n storage_class: storageClass,\n };\n }\n\n const lifecycleInsert = {\n prefix,\n tags,\n expired_object_delete_marker: expiredObjectDM,\n ...rules,\n };\n\n api\n .invoke(\n \"POST\",\n `/api/v1/buckets/${bucketName}/lifecycle`,\n lifecycleInsert\n )\n .then(() => {\n setAddLoading(false);\n closeModalAndRefresh(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n return (\n {\n closeModalAndRefresh(false);\n }}\n title=\"Add Lifecycle Rule\"\n titleIcon={}\n >\n {loadingTiers && (\n \n \n \n \n \n )}\n\n {!loadingTiers && (\n ) => {\n e.preventDefault();\n setAddLoading(true);\n addRecord();\n }}\n >\n \n \n \n
\n \n Lifecycle Configuration\n \n\n \n ) => {\n setIlmType(e.target.value as string);\n }}\n selectorOptions={[\n { value: \"expiry\", label: \"Expiry\" },\n { value: \"transition\", label: \"Transition\" },\n ]}\n />\n \n {ilmType === \"expiry\" ? (\n \n \n \n ) => {\n setExpiryDays(e.target.value);\n }}\n label=\"Expiry Days\"\n value={expiryDays}\n min=\"0\"\n />\n \n \n \n ) => {\n setNCExpirationDays(e.target.value);\n }}\n label=\"Non-current Expiration Days\"\n value={NCExpirationDays}\n min=\"0\"\n />\n \n \n ) : (\n \n \n \n ) => {\n setTransitionDays(e.target.value);\n }}\n label=\"Transition Days\"\n value={transitionDays}\n min=\"0\"\n />\n \n \n \n ) => {\n setNCTransitionDays(e.target.value);\n }}\n label=\"Non-current Transition Days\"\n value={NCTransitionDays}\n min=\"0\"\n />\n \n \n \n ) => {\n setNCTransitionSC(e.target.value);\n }}\n placeholder=\"Set Non-current Version Transition Storage Class\"\n label=\"Non-current Version Transition Storage Class\"\n value={NCTransitionSC}\n />\n \n \n ) => {\n setStorageClass(e.target.value as string);\n }}\n options={tiersList}\n />\n \n \n )}\n
\n
\n \n
\n \n File Configuration\n \n\n \n ) => {\n setPrefix(e.target.value);\n }}\n label=\"Prefix\"\n value={prefix}\n />\n \n \n {\n setTags(vl);\n }}\n keyPlaceholder=\"Tag Key\"\n valuePlaceholder=\"Tag Value\"\n withBorder\n />\n \n \n \n ) => {\n setExpiredObjectDM(event.target.checked);\n }}\n label={\"Expired Object Delete Marker\"}\n />\n \n
\n
\n
\n \n {\n closeModalAndRefresh(false);\n }}\n >\n Cancel\n \n \n Save\n \n \n {addLoading && (\n \n \n \n )}\n
\n \n )}\n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(AddLifecycleModal));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport get from \"lodash/get\";\nimport * as reactMoment from \"react-moment\";\nimport Grid from \"@mui/material/Grid\";\nimport { BucketInfo, LifeCycleItem } from \"../types\";\nimport { AddIcon, TiersIcon } from \"../../../../icons\";\nimport {\n actionsTray,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { AppState } from \"../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport EditLifecycleConfiguration from \"./EditLifecycleConfiguration\";\nimport AddLifecycleModal from \"./AddLifecycleModal\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport HelpBox from \"../../../../common/HelpBox\";\nimport PanelTitle from \"../../Common/PanelTitle/PanelTitle\";\nimport SecureComponent, {\n hasPermission,\n} from \"../../../../common/SecureComponent/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport RBIconButton from \"./SummaryItems/RBIconButton\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...searchField,\n ...actionsTray,\n twHeight: {\n minHeight: 400,\n },\n });\n\ninterface IBucketLifecyclePanelProps {\n classes: any;\n match: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n loadingBucket: boolean;\n bucketInfo: BucketInfo | null;\n}\n\nconst BucketLifecyclePanel = ({\n classes,\n match,\n setErrorSnackMessage,\n loadingBucket,\n bucketInfo,\n}: IBucketLifecyclePanelProps) => {\n const [loadingLifecycle, setLoadingLifecycle] = useState(true);\n const [lifecycleRecords, setLifecycleRecords] = useState([]);\n const [addLifecycleOpen, setAddLifecycleOpen] = useState(false);\n const [editLifecycleOpen, setEditLifecycleOpen] = useState(false);\n const [selectedLifecycleRule, setSelectedLifecycleRule] =\n useState(null);\n\n const bucketName = match.params[\"bucketName\"];\n\n const displayLifeCycleRules = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_LIFECYCLE_CONFIGURATION,\n ]);\n\n useEffect(() => {\n if (loadingBucket) {\n setLoadingLifecycle(true);\n }\n }, [loadingBucket, setLoadingLifecycle]);\n\n useEffect(() => {\n if (loadingLifecycle) {\n if (displayLifeCycleRules) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/lifecycle`)\n .then((res: any) => {\n const records = get(res, \"lifecycle\", []);\n\n setLifecycleRecords(records || []);\n setLoadingLifecycle(false);\n })\n .catch((err: ErrorResponseHandler) => {\n console.error(err);\n setLoadingLifecycle(false);\n });\n } else {\n setLoadingLifecycle(false);\n }\n }\n }, [\n loadingLifecycle,\n setLoadingLifecycle,\n bucketName,\n displayLifeCycleRules,\n ]);\n\n const closeEditLCAndRefresh = (refresh: boolean) => {\n setEditLifecycleOpen(false);\n setSelectedLifecycleRule(null);\n if (refresh) {\n setLoadingLifecycle(true);\n }\n };\n\n const closeAddLCAndRefresh = (refresh: boolean) => {\n setAddLifecycleOpen(false);\n if (refresh) {\n setLoadingLifecycle(true);\n }\n };\n\n const expirationRender = (expiration: any) => {\n if (expiration.days) {\n return `${expiration.days} day${expiration.days > 1 ? \"s\" : \"\"}`;\n }\n\n if (expiration.date === \"0001-01-01T00:00:00Z\") {\n return \"\";\n }\n\n return {expiration.date};\n };\n\n const transitionRender = (transition: any) => {\n if (transition.days) {\n return `${transition.days} day${transition.days > 1 ? \"s\" : \"\"}`;\n }\n\n if (transition.date === \"0001-01-01T00:00:00Z\") {\n return \"\";\n }\n\n return {transition.date};\n };\n\n const renderStorageClass = (objectST: any) => {\n const stClass = get(objectST, \"transition.storage_class\", \"\");\n\n return stClass;\n };\n\n const lifecycleColumns = [\n { label: \"ID\", elementKey: \"id\" },\n {\n label: \"Prefix\",\n elementKey: \"prefix\",\n },\n {\n label: \"Status\",\n elementKey: \"status\",\n },\n {\n label: \"Expiration\",\n elementKey: \"expiration\",\n renderFunction: expirationRender,\n },\n {\n label: \"Transition\",\n elementKey: \"transition\",\n renderFunction: transitionRender,\n },\n {\n label: \"Storage Class\",\n elementKey: \"storage_class\",\n renderFunction: renderStorageClass,\n renderFullObject: true,\n },\n ];\n\n const lifecycleActions = [\n {\n type: \"view\",\n\n onClick(valueToSend: any): any {\n setSelectedLifecycleRule(valueToSend);\n setEditLifecycleOpen(true);\n },\n },\n ];\n\n return (\n \n {editLifecycleOpen && selectedLifecycleRule && (\n \n )}\n {addLifecycleOpen && (\n \n )}\n \n \n Lifecycle Rules\n \n {\n setAddLifecycleOpen(true);\n }}\n text={\"Add Lifecycle Rule\"}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n \n \n \n \n \n \n \n {!loadingLifecycle && (\n \n }\n help={\n \n MinIO Object Lifecycle Management allows creating rules for\n time or date based automatic transition or expiry of objects.\n For object transition, MinIO automatically moves the object to\n a configured remote storage tier.\n
\n
\n You can learn more at our{\" \"}\n \n documentation\n \n .\n
\n }\n />\n
\n )}\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n session: state.console.session,\n loadingBucket: state.buckets.bucketDetails.loadingBucket,\n bucketInfo: state.buckets.bucketDetails.bucketInfo,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(BucketLifecyclePanel));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\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 ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\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.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\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 [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.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 [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.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 * 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.\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 Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\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 menu 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 * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\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\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;"],"names":["mapDispatchToProps","setModalErrorSnackMessage","connector","connect","withStyles","theme","createStyles","dateSelector","borderBottom","marginBottom","border","paddingLeft","spacingUtils","modalStyleUtils","formFieldStyles","createTenantCommon","classes","closeModalAndRefresh","selectedBucket","lifecycle","open","useState","loadingTiers","setLoadingTiers","addLoading","setAddLoading","tags","setTags","enabled","setEnabled","tiersList","setTiersList","prefix","setPrefix","storageClass","setStorageClass","NCTransitionSC","setNCTransitionSC","expiredObjectDM","setExpiredObjectDM","NCExpirationDays","setNCExpirationDays","NCTransitionDays","setNCTransitionDays","ilmType","setIlmType","expiryDays","setExpiryDays","transitionDays","setTransitionDays","isFormValid","setIsFormValid","useEffect","api","then","res","get","length","objList","map","tier","tierType","type","value","label","catch","err","valid","console","log","status","transitionMode","transition","days","toString","date","expiration","storage_class","noncurrent_transition_days","noncurrent_storage_class","noncurrent_expiration_days","delete_marker","tgs","reduce","stringLab","currItem","index","key","ModalWrapper","onClose","modalOpen","title","titleIcon","noValidate","autoComplete","onSubmit","e","event","preventDefault","rules","expiry","expiry_days","parseInt","noncurrentversion_expiration_days","transition_days","noncurrentversion_transition_days","noncurrentversion_transition_storage_class","lifecycleUpdate","disable","expired_object_delete_marker","id","saveRecord","Grid","container","item","xs","className","formScrollable","formFieldRow","InputBoxWrapper","name","onChange","disabled","FormSwitchWrapper","indicatorLabels","checked","target","fieldGroup","descriptionText","RadioGroupSelector","currentSelection","selectorOptions","disableOptions","Fragment","min","placeholder","SelectWrapper","options","QueryMultiSelector","elements","vl","keyPlaceholder","valuePlaceholder","withBorder","modalButtonBar","Button","variant","color","onClick","LinearProgress","bucketName","loadingBox","lifecycleInsert","addRecord","state","session","loadingBucket","buckets","bucketDetails","bucketInfo","setErrorSnackMessage","searchField","actionsTray","twHeight","minHeight","match","loadingLifecycle","setLoadingLifecycle","lifecycleRecords","setLifecycleRecords","addLifecycleOpen","setAddLifecycleOpen","editLifecycleOpen","setEditLifecycleOpen","selectedLifecycleRule","setSelectedLifecycleRule","params","displayLifeCycleRules","hasPermission","IAM_SCOPES","records","error","lifecycleColumns","elementKey","renderFunction","objectST","renderFullObject","lifecycleActions","valueToSend","refresh","PanelTitle","SecureComponent","scopes","resource","matchAll","errorProps","RBIconButton","tooltip","text","icon","TableWrapper","itemActions","columns","isLoading","entityName","customEmptyMessage","idField","customPaperHeight","HelpBox","iconComponent","help","href","rel","radioStyles","makeStyles","root","backgroundColor","radioIcons","RadioButton","props","disableRipple","checkedIcon","radioSelectedIcon","radioUnselectedIcon","fieldBasic","tooltipHelper","optionLabel","marginRight","fontSize","checkedOption","fontWeight","displayInColumn","alignItems","htmlFor","inputLabel","tooltipContainer","placement","radioOptionsLayout","row","style","display","textAlign","selectorOption","control","clsx","SelectStyled","height","lineHeight","marginTop","spacing","input","position","padding","borderRadius","borderColor","InputBase","fieldContainer","flexFlow","fullWidth","option","getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getMenuItemUtilityClass","_excluded","MenuItemRoot","styled","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","styles","ownerState","dense","divider","disableGutters","gutters","_extends","typography","body1","justifyContent","textDecoration","paddingTop","paddingBottom","boxSizing","whiteSpace","paddingRight","palette","backgroundClip","action","hover","menuItemClasses","alpha","primary","main","selectedOpacity","focusOpacity","hoverOpacity","focus","opacity","disabledOpacity","marginLeft","listItemTextClasses","listItemIconClasses","minWidth","breakpoints","up","body2","React","inProps","ref","useThemeProps","autoFocus","component","focusVisibleClassName","role","tabIndexProp","tabIndex","other","_objectWithoutPropertiesLoose","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","selected","slots","composedClasses","composeClasses","useUtilityClasses","handleRef","useForkRef","undefined","_jsx","children","focusVisible"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/7950.041ee61e.chunk.js b/portal-ui/build/static/js/7950.041ee61e.chunk.js deleted file mode 100644 index ab4a89efd..000000000 --- a/portal-ui/build/static/js/7950.041ee61e.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[7950],{29316:function(e,t,n){n(50390);var a=n(6369),r=n(86509),i=n(4285),o=n(98280),l=n(62559);t.Z=(0,i.Z)((function(e){return(0,r.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var t=e.to,n=e.label,r=e.classes,i=e.className,c=e.executeOnClick;return(0,l.jsxs)(a.rU,{to:t,className:"".concat(r.link," ").concat(i||""),onClick:function(){c&&c()},children:[(0,l.jsx)("div",{className:r.icon,children:(0,l.jsx)(o.xN,{})}),(0,l.jsx)("div",{className:r.label,children:n})]})}))},57950:function(e,t,n){n.r(t);var a=n(23430),r=n(18489),i=n(50390),o=n(6369),l=n(70971),c=n(34424),s=n(86509),u=n(4285),d=n(25594),m=n(30324),p=n(72462),f=n(44149),x=n(77130),h=n(35721),b=n(62702),g=n(94187),v=n(95467),Z=n(56805),j=n(18221),y=n(49495),C=n(25534),k=n(57647),T=n(29316),E=n(15607),N=n(37882),I=n(53224),S=n(98280),w=n(62559),B=i.lazy((function(){return Promise.resolve().then(n.bind(n,56135))})),P=i.lazy((function(){return Promise.resolve().then(n.bind(n,18342))})),F=(0,N.Z)(i.lazy((function(){return Promise.all([n.e(5444),n.e(7346)]).then(n.bind(n,47346))}))),_=(0,N.Z)(i.lazy((function(){return Promise.all([n.e(3152),n.e(3690),n.e(5399),n.e(7777),n.e(5144)]).then(n.bind(n,5144))}))),A=(0,N.Z)(i.lazy((function(){return Promise.all([n.e(3152),n.e(3690),n.e(5399),n.e(7777),n.e(5125)]).then(n.bind(n,5125))}))),O=(0,N.Z)(i.lazy((function(){return n.e(1973).then(n.bind(n,91973))}))),M=(0,N.Z)(i.lazy((function(){return Promise.all([n.e(3152),n.e(3690),n.e(5399),n.e(7777),n.e(7187)]).then(n.bind(n,67187))}))),R=(0,N.Z)(i.lazy((function(){return Promise.all([n.e(14),n.e(2066),n.e(5444),n.e(3152),n.e(3690),n.e(5399),n.e(4817),n.e(7777),n.e(7335),n.e(6173)]).then(n.bind(n,96173))}))),L=(0,N.Z)(i.lazy((function(){return Promise.all([n.e(14),n.e(2066),n.e(5444),n.e(3152),n.e(3690),n.e(5399),n.e(606),n.e(9769),n.e(7248),n.e(4817),n.e(7777),n.e(7335),n.e(7146)]).then(n.bind(n,57146))}))),U=(0,c.$j)((function(e){return{session:e.console.session,selectedTab:e.buckets.bucketDetails.selectedTab,distributedSetup:e.system.distributedSetup,loadingBucket:e.buckets.bucketDetails.loadingBucket,bucketInfo:e.buckets.bucketDetails.bucketInfo}}),{setErrorSnackMessage:f.Ih,setBucketDetailsLoad:x.d5,setBucketInfo:x.f4});t.default=(0,u.Z)((function(e){return(0,s.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({pageContainer:{height:"100%"},screenTitle:{border:0,paddingTop:0}},p.Bw),{},{breadcrumLink:{textDecoration:"none",color:"black"}},p.qg),{},{capitalize:{textTransform:"capitalize"},deleteBtn:{color:"#f44336",border:"1px solid rgba(244, 67, 54, 0.5)",maxWidth:140}},p.bp),p.Si),(0,p.Bz)(e.spacing(4))))}))(U((function(e){var t=e.classes,n=e.match,r=e.history,c=e.setErrorSnackMessage,s=e.distributedSetup,u=e.setBucketDetailsLoad,p=e.loadingBucket,f=e.setBucketInfo,x=e.bucketInfo,N=(0,i.useState)(!1),U=(0,a.Z)(N,2),z=U[0],D=U[1],W=(0,i.useState)(!1),G=(0,a.Z)(W,2),H=G[0],K=G[1],Y=n.params.bucketName,Q=null===n||void 0===n?void 0:n.params[0];Q=Q||"summary";var $=(0,i.useState)(Q),q=(0,a.Z)($,2),V=q[0],X=q[1];(0,i.useEffect)((function(){X(Q)}),[Q]),(0,i.useEffect)((function(){z||(u(!0),D(!0))}),[z,u,D]),(0,i.useEffect)((function(){p&&m.Z.invoke("GET","/api/v1/buckets/".concat(Y)).then((function(e){u(!1),f(e)})).catch((function(e){u(!1),c(e)}))}),[Y,p,u,f,c]);var J="/buckets/".concat(Y),ee={events:"/admin/events",replication:"/admin/replication",lifecycle:"/admin/lifecycle",access:"/admin/access",prefix:"/admin/prefix"},te=function(e){var t=ee[e];return t=t?"".concat(J).concat(t):"".concat(J).concat("/admin/summary")};return(0,w.jsxs)(i.Fragment,{children:[H&&(0,w.jsx)(F,{deleteOpen:H,selectedBucket:Y,closeDeleteModalAndRefresh:function(e){!function(e){K(!1),e&&r.push("/buckets")}(e)}}),(0,w.jsx)(h.Z,{label:(0,w.jsx)(i.Fragment,{children:(0,w.jsx)(o.rU,{to:"/buckets",className:t.breadcrumLink,children:"Buckets"})}),actions:(0,w.jsx)(i.Fragment,{children:(0,w.jsx)(g.Z,{title:"Browse Bucket",children:(0,w.jsx)(v.Z,{color:"primary","aria-label":"Browse Bucket",component:"span",onClick:function(){r.push("/buckets/".concat(Y,"/browse"))},size:"large",children:(0,w.jsx)(P,{})})})})}),(0,w.jsx)(T.Z,{to:"/buckets",label:"Back to Buckets"}),(0,w.jsxs)(C.Z,{className:t.pageContainer,children:[(0,w.jsx)(d.ZP,{item:!0,xs:12,children:(0,w.jsx)(b.Z,{classes:{screenTitle:t.screenTitle},icon:(0,w.jsx)(i.Fragment,{children:(0,w.jsx)(B,{width:40})}),title:Y,subTitle:(0,w.jsxs)(E.Z,{scopes:[y.Ft.S3_GET_BUCKET_POLICY],resource:Y,children:[(0,w.jsx)("span",{style:{fontSize:15},children:"Access: "}),(0,w.jsx)("span",{className:t.capitalize,style:{fontWeight:600,fontSize:15},children:null===x||void 0===x?void 0:x.access.toLowerCase()})]}),actions:(0,w.jsxs)(i.Fragment,{children:[(0,w.jsx)(E.Z,{scopes:[y.Ft.S3_DELETE_BUCKET,y.Ft.S3_FORCE_DELETE_BUCKET],resource:Y,errorProps:{disabled:!0},children:(0,w.jsx)(I.Z,{tooltip:"Delete Bucket",onClick:function(){K(!0)},text:"Delete Bucket",icon:(0,w.jsx)(S.XH,{}),color:"secondary",variant:"outlined"})}),(0,w.jsx)(I.Z,{onClick:function(){u(!0)},text:"Refresh",icon:(0,w.jsx)(j.default,{}),color:"primary"})]})})}),(0,w.jsx)(Z.Z,{sx:{border:"1px solid #eaeaea"},children:(0,w.jsxs)(k.Z,{selectedTab:V,isRouteTabs:!0,routes:(0,w.jsx)("div",{className:t.contentSpacer,children:(0,w.jsx)(l.F0,{history:r,children:(0,w.jsxs)(l.rs,{children:[(0,w.jsx)(l.AW,{exact:!0,path:"/buckets/:bucketName/admin/summary",component:O}),(0,w.jsx)(l.AW,{exact:!0,path:"/buckets/:bucketName/admin/events",component:M}),s&&(0,w.jsx)(l.AW,{exact:!0,path:"/buckets/:bucketName/admin/replication",component:R}),s&&(0,w.jsx)(l.AW,{exact:!0,path:"/buckets/:bucketName/admin/lifecycle",component:L}),(0,w.jsx)(l.AW,{exact:!0,path:"/buckets/:bucketName/admin/access",component:A}),(0,w.jsx)(l.AW,{exact:!0,path:"/buckets/:bucketName/admin/prefix",component:_}),(0,w.jsx)(l.AW,{path:"/buckets/:bucketName",component:function(){return(0,w.jsx)(l.l_,{to:"/buckets/".concat(Y,"/admin/summary")})}})]})})}),children:[{tabConfig:{label:"Summary",value:"summary",component:o.rU,to:te("summary")}},{tabConfig:{label:"Events",value:"events",component:o.rU,disabled:!(0,E.F)(Y,[y.Ft.S3_GET_BUCKET_NOTIFICATIONS,y.Ft.S3_PUT_BUCKET_NOTIFICATIONS]),to:te("events")}},{tabConfig:{label:"Replication",value:"replication",component:o.rU,disabled:!s||!(0,E.F)(Y,[y.Ft.S3_GET_REPLICATION_CONFIGURATION,y.Ft.S3_PUT_REPLICATION_CONFIGURATION]),to:te("replication")}},{tabConfig:{label:"Lifecycle",value:"lifecycle",component:o.rU,disabled:!s||!(0,E.F)(Y,[y.Ft.S3_GET_LIFECYCLE_CONFIGURATION,y.Ft.S3_PUT_LIFECYCLE_CONFIGURATION]),to:te("lifecycle")}},{tabConfig:{label:"Access Audit",value:"access",component:o.rU,disabled:!(0,E.F)(Y,[y.Ft.ADMIN_GET_POLICY,y.Ft.ADMIN_LIST_USER_POLICIES,y.Ft.ADMIN_LIST_USERS]),to:te("access")}},{tabConfig:{label:"Access Rules",value:"prefix",component:o.rU,disabled:!(0,E.F)(Y,[y.Ft.S3_GET_BUCKET_POLICY]),to:te("prefix")}}]})})]})]})})))},53224:function(e,t,n){var a=n(18489),r=n(83738),i=(n(50390),n(70758)),o=n(62449),l=n(62559),c=["onClick","text","disabled","tooltip","icon"],s=(0,o.Z)((function(e){return{root:{padding:"7px",color:function(t){return function(t){var n=t.variant,a=t.color,r=e.palette.primary.main;return"primary"===a&&"contained"===n?r=e.palette.primary.contrastText:"primary"===a&&"outlined"===n?r=e.palette.primary.main:"secondary"===a&&(r=e.palette.secondary.main),r}(t)},borderColor:function(t){return"secondary"===t.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));t.Z=function(e){var t=s(e),n=e.onClick,o=e.text,u=void 0===o?"":o,d=e.disabled,m=void 0!==d&&d,p=e.tooltip,f=e.icon,x=void 0===f?null:f,h=(0,r.Z)(e,c);return(0,l.jsxs)(i.Z,(0,a.Z)((0,a.Z)({classes:t,tooltip:p||u,variant:"outlined",onClick:n,disabled:m,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},h),{},{children:[(0,l.jsx)("span",{children:u})," ",x]}))}},70758:function(e,t,n){var a=n(18489),r=n(36222),i=n(83738),o=(n(50390),n(86509)),l=n(4285),c=n(95467),s=n(94187),u=n(44977),d=n(62559),m=["classes","children","variant","tooltip"];t.Z=(0,l.Z)((function(e){return(0,o.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var t=e.classes,n=e.children,o=e.variant,l=void 0===o?"outlined":o,p=e.tooltip,f=(0,i.Z)(e,m),x=(0,d.jsx)(c.Z,(0,a.Z)((0,a.Z)({},f),{},{className:(0,u.Z)(t.root,(0,r.Z)({},t.contained,"contained"===l)),children:n}));return p&&""!==p?(0,d.jsx)(s.Z,{title:p,children:(0,d.jsx)("span",{children:x})}):x}))},37882:function(e,t,n){var a=n(18489),r=n(50390),i=n(62559);t.Z=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function n(n){return(0,i.jsx)(r.Suspense,{fallback:t,children:(0,i.jsx)(e,(0,a.Z)({},n))})}return n}},35721:function(e,t,n){n(50390);var a=n(34424),r=n(25594),i=n(86509),o=n(4285),l=n(35477),c=n(95467),s=n(26805),u=n(44078),d=n(5265),m=n(98280),p=n(62559),f={toggleList:d.kQ},x=(0,a.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),f);t.Z=x((0,o.Z)((function(e){return(0,i.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.label,a=e.actions,i=e.sidebarOpen,o=e.operatorMode,d=e.managerObjects,f=e.toggleList,x=e.middleComponent;return(0,p.jsxs)(r.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,p.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!i&&(0,p.jsx)("div",{className:t.logo,children:o?(0,p.jsx)(s.Z,{}):(0,p.jsx)(u.Z,{})}),(0,p.jsx)(l.Z,{variant:"h4",className:t.labelStyle,children:n})]}),x&&(0,p.jsx)(r.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:x}),(0,p.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:t.rightMenu,children:[a&&a,d&&d.length>0&&(0,p.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){f()},size:"large",children:(0,p.jsx)(m.gx,{})})]})]})})))},62702:function(e,t,n){n(50390);var a=n(25594),r=n(86509),i=n(4285),o=n(62559);t.Z=(0,i.Z)((function(e){return(0,r.Z)({headerBarIcon:{marginRight:".7rem",color:e.palette.primary.main,"& .min-icon":{width:44,height:44}},headerBarSubheader:{color:"grey","@media (max-width: 900px)":{maxWidth:200}},screenTitle:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"1rem",borderBottom:"1px solid #EAEAEA","@media (max-width: 600px)":{flexFlow:"column"}},titleColumn:{height:"auto",justifyContent:"center",display:"flex",flexFlow:"column",alignItems:"flex-start","& h1":{fontSize:19}},leftItems:{display:"flex",alignItems:"center","@media (max-width: 600px)":{flexFlow:"column"}},rightItems:{display:"flex",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.icon,r=e.title,i=e.subTitle,l=e.actions,c=e.className;return(0,o.jsx)(a.ZP,{container:!0,children:(0,o.jsxs)(a.ZP,{item:!0,xs:12,className:"".concat(t.screenTitle," ").concat(c||""),children:[(0,o.jsxs)("div",{className:t.leftItems,children:[n?(0,o.jsx)("div",{className:t.headerBarIcon,children:n}):null,(0,o.jsxs)("div",{className:t.titleColumn,children:[(0,o.jsx)("h1",{style:{margin:0},children:r}),(0,o.jsx)("span",{className:t.headerBarSubheader,children:i})]})]}),(0,o.jsx)("div",{className:t.rightItems,children:l})]})})}))},57647:function(e,t,n){var a=n(18489),r=n(23430),i=n(50390),o=n(56805),l=n(49044),c=n(97227),s=n(74564),u=n(669),d=n(4285),m=n(88669),p=n(86509),f=n(13512),x=n(62559),h={minHeight:60};t.Z=(0,d.Z)((function(e){return(0,p.Z)({tabsContainer:{display:"flex",height:"100%",width:"100%"},tabsHeaderContainer:{width:"300px",background:"#F8F8F8",borderRight:"1px solid #EAEAEA","& .MuiTabs-root":{"& .MuiTabs-indicator":{display:"none"},"& .MuiTab-root":{display:"flex",flexFlow:"row",alignItems:"center",justifyContent:"flex-start",borderBottom:"1px solid #EAEAEA","& .MuiSvgIcon-root":{marginRight:8,marginBottom:0},"&.Mui-selected":{background:"#E5E5E5",fontWeight:600}},"&. MuiTabs-scroller":{display:"none"}}},tabContentContainer:{width:"100%","& .MuiTabPanel-root":{height:"100%"}},tabPanel:{height:"100%"},"@media (max-width: 900px)":{tabsContainer:{flexFlow:"column",flexDirection:"column"},tabsHeaderContainer:{width:"100%",borderBottom:" 1px solid #EAEAEA","& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root":{borderBottom:" 0px"}}}})}))((function(e){var t=e.children,n=e.classes,d=e.selectedTab,p=void 0===d?"0":d,b=e.routes,g=e.isRouteTabs,v=i.useState(p),Z=(0,r.Z)(v,2),j=Z[0],y=Z[1],C=(0,m.Z)(),k=(0,f.Z)(C.breakpoints.down("md")),T=[],E=[];return t?(t.forEach((function(e){T.push(e.tabConfig),E.push(e.content)})),(0,x.jsx)(c.ZP,{value:"".concat(j),children:(0,x.jsxs)(o.Z,{className:n.tabsContainer,children:[(0,x.jsx)(o.Z,{className:n.tabsHeaderContainer,children:(0,x.jsx)(s.Z,{onChange:function(e,t){y(t)},orientation:k?"horizontal":"vertical",variant:k?"scrollable":"standard",scrollButtons:"auto",className:n.tabList,children:T.map((function(e,t){return e?(0,x.jsx)(l.Z,(0,a.Z)((0,a.Z)({className:n.tabHeader,value:"".concat(t),style:h},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(t)):null}))})}),(0,x.jsxs)(o.Z,{className:n.tabContentContainer,children:[g?null:E.map((function(e,t){return(0,x.jsx)(u.Z,{classes:(0,a.Z)({},n.tabPanel),value:"".concat(t),children:e||null},"v-tab-p-".concat(t))})),g?(0,x.jsx)("div",{className:n.tabPanel,children:b}):null]})]})})):null}))},97227:function(e,t,n){n.d(t,{ZP:function(){return l},_i:function(){return c},uU:function(){return s},pQ:function(){return u}});var a=n(23430),r=n(50390),i=n(62559),o=r.createContext(null);function l(e){var t=e.children,n=e.value,l=function(){var e=r.useState(null),t=(0,a.Z)(e,2),n=t[0],i=t[1];return r.useEffect((function(){i("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),n}(),c=r.useMemo((function(){return{idPrefix:l,value:n}}),[l,n]);return(0,i.jsx)(o.Provider,{value:c,children:t})}function c(){return r.useContext(o)}function s(e,t){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(t)}function u(e,t){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(t)}},74564:function(e,t,n){var a=n(18207),r=n(46633),i=n(50390),o=n(98247),l=n(97227),c=n(62559),s=["children"],u=i.forwardRef((function(e,t){var n=e.children,u=(0,r.Z)(e,s),d=(0,l._i)();if(null===d)throw new TypeError("No TabContext provided");var m=i.Children.map(n,(function(e){return i.isValidElement(e)?i.cloneElement(e,{"aria-controls":(0,l.uU)(d,e.props.value),id:(0,l.pQ)(d,e.props.value)}):null}));return(0,c.jsx)(o.Z,(0,a.Z)({},u,{ref:t,value:d.value,children:m}))}));t.Z=u},669:function(e,t,n){n.d(t,{Z:function(){return h}});var a=n(18207),r=n(46633),i=n(50390),o=n(44977),l=n(8208),c=n(15573),s=n(50076),u=n(10594);function d(e){return(0,u.Z)("MuiTabPanel",e)}(0,n(43349).Z)("MuiTabPanel",["root"]);var m=n(97227),p=n(62559),f=["children","className","value"],x=(0,l.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,t){return t.root}})((function(e){return{padding:e.theme.spacing(3)}})),h=i.forwardRef((function(e,t){var n=(0,c.Z)({props:e,name:"MuiTabPanel"}),i=n.children,l=n.className,u=n.value,h=(0,r.Z)(n,f),b=(0,a.Z)({},n),g=function(e){var t=e.classes;return(0,s.Z)({root:["root"]},d,t)}(b),v=(0,m._i)();if(null===v)throw new TypeError("No TabContext provided");var Z=(0,m.uU)(v,u),j=(0,m.pQ)(v,u);return(0,p.jsx)(x,(0,a.Z)({"aria-labelledby":j,className:(0,o.Z)(g.root,l),hidden:u!==v.value,id:Z,ref:t,role:"tabpanel",ownerState:b},h,{children:u===v.value&&i}))}))},83738:function(e,t,n){function a(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}n.d(t,{Z:function(){return a}})}}]); -//# sourceMappingURL=7950.041ee61e.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/7950.a1c8a17e.chunk.js b/portal-ui/build/static/js/7950.a1c8a17e.chunk.js new file mode 100644 index 000000000..f164d4b48 --- /dev/null +++ b/portal-ui/build/static/js/7950.a1c8a17e.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[7950],{29316:function(e,t,n){n(50390);var a=n(6369),r=n(86509),i=n(4285),o=n(98280),l=n(62559);t.Z=(0,i.Z)((function(e){return(0,r.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var t=e.to,n=e.label,r=e.classes,i=e.className,c=e.executeOnClick;return(0,l.jsxs)(a.rU,{to:t,className:"".concat(r.link," ").concat(i||""),onClick:function(){c&&c()},children:[(0,l.jsx)("div",{className:r.icon,children:(0,l.jsx)(o.xN,{})}),(0,l.jsx)("div",{className:r.label,children:n})]})}))},57950:function(e,t,n){n.r(t);var a=n(23430),r=n(18489),i=n(50390),o=n(6369),l=n(70971),c=n(34424),s=n(86509),u=n(4285),d=n(25594),m=n(30324),p=n(72462),f=n(44149),x=n(77130),h=n(35721),b=n(62702),g=n(94187),v=n(95467),Z=n(56805),j=n(18221),y=n(49495),C=n(25534),k=n(57647),T=n(29316),E=n(15607),N=n(37882),I=n(53224),S=n(98280),w=n(62559),B=i.lazy((function(){return Promise.resolve().then(n.bind(n,56135))})),P=i.lazy((function(){return Promise.resolve().then(n.bind(n,18342))})),F=(0,N.Z)(i.lazy((function(){return Promise.all([n.e(5444),n.e(7346)]).then(n.bind(n,47346))}))),_=(0,N.Z)(i.lazy((function(){return Promise.all([n.e(3152),n.e(3690),n.e(5399),n.e(7777),n.e(5144)]).then(n.bind(n,5144))}))),A=(0,N.Z)(i.lazy((function(){return Promise.all([n.e(3152),n.e(3690),n.e(5399),n.e(7777),n.e(5125)]).then(n.bind(n,5125))}))),O=(0,N.Z)(i.lazy((function(){return n.e(1973).then(n.bind(n,91973))}))),M=(0,N.Z)(i.lazy((function(){return Promise.all([n.e(3152),n.e(3690),n.e(5399),n.e(7777),n.e(7187)]).then(n.bind(n,67187))}))),R=(0,N.Z)(i.lazy((function(){return Promise.all([n.e(14),n.e(2066),n.e(5444),n.e(3152),n.e(3690),n.e(5399),n.e(4817),n.e(7777),n.e(7335),n.e(6173)]).then(n.bind(n,96173))}))),L=(0,N.Z)(i.lazy((function(){return Promise.all([n.e(14),n.e(2066),n.e(5444),n.e(3152),n.e(3690),n.e(5399),n.e(606),n.e(9769),n.e(7248),n.e(4817),n.e(8750),n.e(7777),n.e(7335),n.e(953)]).then(n.bind(n,40953))}))),U=(0,c.$j)((function(e){return{session:e.console.session,selectedTab:e.buckets.bucketDetails.selectedTab,distributedSetup:e.system.distributedSetup,loadingBucket:e.buckets.bucketDetails.loadingBucket,bucketInfo:e.buckets.bucketDetails.bucketInfo}}),{setErrorSnackMessage:f.Ih,setBucketDetailsLoad:x.d5,setBucketInfo:x.f4});t.default=(0,u.Z)((function(e){return(0,s.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({pageContainer:{height:"100%"},screenTitle:{border:0,paddingTop:0}},p.Bw),{},{breadcrumLink:{textDecoration:"none",color:"black"}},p.qg),{},{capitalize:{textTransform:"capitalize"},deleteBtn:{color:"#f44336",border:"1px solid rgba(244, 67, 54, 0.5)",maxWidth:140}},p.bp),p.Si),(0,p.Bz)(e.spacing(4))))}))(U((function(e){var t=e.classes,n=e.match,r=e.history,c=e.setErrorSnackMessage,s=e.distributedSetup,u=e.setBucketDetailsLoad,p=e.loadingBucket,f=e.setBucketInfo,x=e.bucketInfo,N=(0,i.useState)(!1),U=(0,a.Z)(N,2),z=U[0],D=U[1],W=(0,i.useState)(!1),G=(0,a.Z)(W,2),H=G[0],K=G[1],Y=n.params.bucketName,Q=null===n||void 0===n?void 0:n.params[0];Q=Q||"summary";var $=(0,i.useState)(Q),q=(0,a.Z)($,2),V=q[0],X=q[1];(0,i.useEffect)((function(){X(Q)}),[Q]),(0,i.useEffect)((function(){z||(u(!0),D(!0))}),[z,u,D]),(0,i.useEffect)((function(){p&&m.Z.invoke("GET","/api/v1/buckets/".concat(Y)).then((function(e){u(!1),f(e)})).catch((function(e){u(!1),c(e)}))}),[Y,p,u,f,c]);var J="/buckets/".concat(Y),ee={events:"/admin/events",replication:"/admin/replication",lifecycle:"/admin/lifecycle",access:"/admin/access",prefix:"/admin/prefix"},te=function(e){var t=ee[e];return t=t?"".concat(J).concat(t):"".concat(J).concat("/admin/summary")};return(0,w.jsxs)(i.Fragment,{children:[H&&(0,w.jsx)(F,{deleteOpen:H,selectedBucket:Y,closeDeleteModalAndRefresh:function(e){!function(e){K(!1),e&&r.push("/buckets")}(e)}}),(0,w.jsx)(h.Z,{label:(0,w.jsx)(i.Fragment,{children:(0,w.jsx)(o.rU,{to:"/buckets",className:t.breadcrumLink,children:"Buckets"})}),actions:(0,w.jsx)(i.Fragment,{children:(0,w.jsx)(g.Z,{title:"Browse Bucket",children:(0,w.jsx)(v.Z,{color:"primary","aria-label":"Browse Bucket",component:"span",onClick:function(){r.push("/buckets/".concat(Y,"/browse"))},size:"large",children:(0,w.jsx)(P,{})})})})}),(0,w.jsx)(T.Z,{to:"/buckets",label:"Back to Buckets"}),(0,w.jsxs)(C.Z,{className:t.pageContainer,children:[(0,w.jsx)(d.ZP,{item:!0,xs:12,children:(0,w.jsx)(b.Z,{classes:{screenTitle:t.screenTitle},icon:(0,w.jsx)(i.Fragment,{children:(0,w.jsx)(B,{width:40})}),title:Y,subTitle:(0,w.jsxs)(E.Z,{scopes:[y.Ft.S3_GET_BUCKET_POLICY],resource:Y,children:[(0,w.jsx)("span",{style:{fontSize:15},children:"Access: "}),(0,w.jsx)("span",{className:t.capitalize,style:{fontWeight:600,fontSize:15},children:null===x||void 0===x?void 0:x.access.toLowerCase()})]}),actions:(0,w.jsxs)(i.Fragment,{children:[(0,w.jsx)(E.Z,{scopes:[y.Ft.S3_DELETE_BUCKET,y.Ft.S3_FORCE_DELETE_BUCKET],resource:Y,errorProps:{disabled:!0},children:(0,w.jsx)(I.Z,{tooltip:"Delete Bucket",onClick:function(){K(!0)},text:"Delete Bucket",icon:(0,w.jsx)(S.XH,{}),color:"secondary",variant:"outlined"})}),(0,w.jsx)(I.Z,{onClick:function(){u(!0)},text:"Refresh",icon:(0,w.jsx)(j.default,{}),color:"primary"})]})})}),(0,w.jsx)(Z.Z,{sx:{border:"1px solid #eaeaea"},children:(0,w.jsxs)(k.Z,{selectedTab:V,isRouteTabs:!0,routes:(0,w.jsx)("div",{className:t.contentSpacer,children:(0,w.jsx)(l.F0,{history:r,children:(0,w.jsxs)(l.rs,{children:[(0,w.jsx)(l.AW,{exact:!0,path:"/buckets/:bucketName/admin/summary",component:O}),(0,w.jsx)(l.AW,{exact:!0,path:"/buckets/:bucketName/admin/events",component:M}),s&&(0,w.jsx)(l.AW,{exact:!0,path:"/buckets/:bucketName/admin/replication",component:R}),s&&(0,w.jsx)(l.AW,{exact:!0,path:"/buckets/:bucketName/admin/lifecycle",component:L}),(0,w.jsx)(l.AW,{exact:!0,path:"/buckets/:bucketName/admin/access",component:A}),(0,w.jsx)(l.AW,{exact:!0,path:"/buckets/:bucketName/admin/prefix",component:_}),(0,w.jsx)(l.AW,{path:"/buckets/:bucketName",component:function(){return(0,w.jsx)(l.l_,{to:"/buckets/".concat(Y,"/admin/summary")})}})]})})}),children:[{tabConfig:{label:"Summary",value:"summary",component:o.rU,to:te("summary")}},{tabConfig:{label:"Events",value:"events",component:o.rU,disabled:!(0,E.F)(Y,[y.Ft.S3_GET_BUCKET_NOTIFICATIONS,y.Ft.S3_PUT_BUCKET_NOTIFICATIONS]),to:te("events")}},{tabConfig:{label:"Replication",value:"replication",component:o.rU,disabled:!s||!(0,E.F)(Y,[y.Ft.S3_GET_REPLICATION_CONFIGURATION,y.Ft.S3_PUT_REPLICATION_CONFIGURATION]),to:te("replication")}},{tabConfig:{label:"Lifecycle",value:"lifecycle",component:o.rU,disabled:!s||!(0,E.F)(Y,[y.Ft.S3_GET_LIFECYCLE_CONFIGURATION,y.Ft.S3_PUT_LIFECYCLE_CONFIGURATION]),to:te("lifecycle")}},{tabConfig:{label:"Access Audit",value:"access",component:o.rU,disabled:!(0,E.F)(Y,[y.Ft.ADMIN_GET_POLICY,y.Ft.ADMIN_LIST_USER_POLICIES,y.Ft.ADMIN_LIST_USERS]),to:te("access")}},{tabConfig:{label:"Access Rules",value:"prefix",component:o.rU,disabled:!(0,E.F)(Y,[y.Ft.S3_GET_BUCKET_POLICY]),to:te("prefix")}}]})})]})]})})))},53224:function(e,t,n){var a=n(18489),r=n(83738),i=(n(50390),n(70758)),o=n(62449),l=n(62559),c=["onClick","text","disabled","tooltip","icon"],s=(0,o.Z)((function(e){return{root:{padding:"7px",color:function(t){return function(t){var n=t.variant,a=t.color,r=e.palette.primary.main;return"primary"===a&&"contained"===n?r=e.palette.primary.contrastText:"primary"===a&&"outlined"===n?r=e.palette.primary.main:"secondary"===a&&(r=e.palette.secondary.main),r}(t)},borderColor:function(t){return"secondary"===t.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));t.Z=function(e){var t=s(e),n=e.onClick,o=e.text,u=void 0===o?"":o,d=e.disabled,m=void 0!==d&&d,p=e.tooltip,f=e.icon,x=void 0===f?null:f,h=(0,r.Z)(e,c);return(0,l.jsxs)(i.Z,(0,a.Z)((0,a.Z)({classes:t,tooltip:p||u,variant:"outlined",onClick:n,disabled:m,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},h),{},{children:[(0,l.jsx)("span",{children:u})," ",x]}))}},70758:function(e,t,n){var a=n(18489),r=n(36222),i=n(83738),o=(n(50390),n(86509)),l=n(4285),c=n(95467),s=n(94187),u=n(44977),d=n(62559),m=["classes","children","variant","tooltip"];t.Z=(0,l.Z)((function(e){return(0,o.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var t=e.classes,n=e.children,o=e.variant,l=void 0===o?"outlined":o,p=e.tooltip,f=(0,i.Z)(e,m),x=(0,d.jsx)(c.Z,(0,a.Z)((0,a.Z)({},f),{},{className:(0,u.Z)(t.root,(0,r.Z)({},t.contained,"contained"===l)),children:n}));return p&&""!==p?(0,d.jsx)(s.Z,{title:p,children:(0,d.jsx)("span",{children:x})}):x}))},37882:function(e,t,n){var a=n(18489),r=n(50390),i=n(62559);t.Z=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function n(n){return(0,i.jsx)(r.Suspense,{fallback:t,children:(0,i.jsx)(e,(0,a.Z)({},n))})}return n}},35721:function(e,t,n){n(50390);var a=n(34424),r=n(25594),i=n(86509),o=n(4285),l=n(35477),c=n(95467),s=n(26805),u=n(44078),d=n(5265),m=n(98280),p=n(62559),f={toggleList:d.kQ},x=(0,a.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),f);t.Z=x((0,o.Z)((function(e){return(0,i.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.label,a=e.actions,i=e.sidebarOpen,o=e.operatorMode,d=e.managerObjects,f=e.toggleList,x=e.middleComponent;return(0,p.jsxs)(r.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,p.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!i&&(0,p.jsx)("div",{className:t.logo,children:o?(0,p.jsx)(s.Z,{}):(0,p.jsx)(u.Z,{})}),(0,p.jsx)(l.Z,{variant:"h4",className:t.labelStyle,children:n})]}),x&&(0,p.jsx)(r.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:x}),(0,p.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:t.rightMenu,children:[a&&a,d&&d.length>0&&(0,p.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){f()},size:"large",children:(0,p.jsx)(m.gx,{})})]})]})})))},62702:function(e,t,n){n(50390);var a=n(25594),r=n(86509),i=n(4285),o=n(62559);t.Z=(0,i.Z)((function(e){return(0,r.Z)({headerBarIcon:{marginRight:".7rem",color:e.palette.primary.main,"& .min-icon":{width:44,height:44}},headerBarSubheader:{color:"grey","@media (max-width: 900px)":{maxWidth:200}},screenTitle:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"1rem",borderBottom:"1px solid #EAEAEA","@media (max-width: 600px)":{flexFlow:"column"}},titleColumn:{height:"auto",justifyContent:"center",display:"flex",flexFlow:"column",alignItems:"flex-start","& h1":{fontSize:19}},leftItems:{display:"flex",alignItems:"center","@media (max-width: 600px)":{flexFlow:"column"}},rightItems:{display:"flex",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.icon,r=e.title,i=e.subTitle,l=e.actions,c=e.className;return(0,o.jsx)(a.ZP,{container:!0,children:(0,o.jsxs)(a.ZP,{item:!0,xs:12,className:"".concat(t.screenTitle," ").concat(c||""),children:[(0,o.jsxs)("div",{className:t.leftItems,children:[n?(0,o.jsx)("div",{className:t.headerBarIcon,children:n}):null,(0,o.jsxs)("div",{className:t.titleColumn,children:[(0,o.jsx)("h1",{style:{margin:0},children:r}),(0,o.jsx)("span",{className:t.headerBarSubheader,children:i})]})]}),(0,o.jsx)("div",{className:t.rightItems,children:l})]})})}))},57647:function(e,t,n){var a=n(18489),r=n(23430),i=n(50390),o=n(56805),l=n(49044),c=n(97227),s=n(74564),u=n(669),d=n(4285),m=n(88669),p=n(86509),f=n(13512),x=n(62559),h={minHeight:60};t.Z=(0,d.Z)((function(e){return(0,p.Z)({tabsContainer:{display:"flex",height:"100%",width:"100%"},tabsHeaderContainer:{width:"300px",background:"#F8F8F8",borderRight:"1px solid #EAEAEA","& .MuiTabs-root":{"& .MuiTabs-indicator":{display:"none"},"& .MuiTab-root":{display:"flex",flexFlow:"row",alignItems:"center",justifyContent:"flex-start",borderBottom:"1px solid #EAEAEA","& .MuiSvgIcon-root":{marginRight:8,marginBottom:0},"&.Mui-selected":{background:"#E5E5E5",fontWeight:600}},"&. MuiTabs-scroller":{display:"none"}}},tabContentContainer:{width:"100%","& .MuiTabPanel-root":{height:"100%"}},tabPanel:{height:"100%"},"@media (max-width: 900px)":{tabsContainer:{flexFlow:"column",flexDirection:"column"},tabsHeaderContainer:{width:"100%",borderBottom:" 1px solid #EAEAEA","& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root":{borderBottom:" 0px"}}}})}))((function(e){var t=e.children,n=e.classes,d=e.selectedTab,p=void 0===d?"0":d,b=e.routes,g=e.isRouteTabs,v=i.useState(p),Z=(0,r.Z)(v,2),j=Z[0],y=Z[1],C=(0,m.Z)(),k=(0,f.Z)(C.breakpoints.down("md")),T=[],E=[];return t?(t.forEach((function(e){T.push(e.tabConfig),E.push(e.content)})),(0,x.jsx)(c.ZP,{value:"".concat(j),children:(0,x.jsxs)(o.Z,{className:n.tabsContainer,children:[(0,x.jsx)(o.Z,{className:n.tabsHeaderContainer,children:(0,x.jsx)(s.Z,{onChange:function(e,t){y(t)},orientation:k?"horizontal":"vertical",variant:k?"scrollable":"standard",scrollButtons:"auto",className:n.tabList,children:T.map((function(e,t){return e?(0,x.jsx)(l.Z,(0,a.Z)((0,a.Z)({className:n.tabHeader,value:"".concat(t),style:h},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(t)):null}))})}),(0,x.jsxs)(o.Z,{className:n.tabContentContainer,children:[g?null:E.map((function(e,t){return(0,x.jsx)(u.Z,{classes:(0,a.Z)({},n.tabPanel),value:"".concat(t),children:e||null},"v-tab-p-".concat(t))})),g?(0,x.jsx)("div",{className:n.tabPanel,children:b}):null]})]})})):null}))},97227:function(e,t,n){n.d(t,{ZP:function(){return l},_i:function(){return c},uU:function(){return s},pQ:function(){return u}});var a=n(23430),r=n(50390),i=n(62559),o=r.createContext(null);function l(e){var t=e.children,n=e.value,l=function(){var e=r.useState(null),t=(0,a.Z)(e,2),n=t[0],i=t[1];return r.useEffect((function(){i("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),n}(),c=r.useMemo((function(){return{idPrefix:l,value:n}}),[l,n]);return(0,i.jsx)(o.Provider,{value:c,children:t})}function c(){return r.useContext(o)}function s(e,t){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(t)}function u(e,t){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(t)}},74564:function(e,t,n){var a=n(18207),r=n(46633),i=n(50390),o=n(98247),l=n(97227),c=n(62559),s=["children"],u=i.forwardRef((function(e,t){var n=e.children,u=(0,r.Z)(e,s),d=(0,l._i)();if(null===d)throw new TypeError("No TabContext provided");var m=i.Children.map(n,(function(e){return i.isValidElement(e)?i.cloneElement(e,{"aria-controls":(0,l.uU)(d,e.props.value),id:(0,l.pQ)(d,e.props.value)}):null}));return(0,c.jsx)(o.Z,(0,a.Z)({},u,{ref:t,value:d.value,children:m}))}));t.Z=u},669:function(e,t,n){n.d(t,{Z:function(){return h}});var a=n(18207),r=n(46633),i=n(50390),o=n(44977),l=n(8208),c=n(15573),s=n(50076),u=n(10594);function d(e){return(0,u.Z)("MuiTabPanel",e)}(0,n(43349).Z)("MuiTabPanel",["root"]);var m=n(97227),p=n(62559),f=["children","className","value"],x=(0,l.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,t){return t.root}})((function(e){return{padding:e.theme.spacing(3)}})),h=i.forwardRef((function(e,t){var n=(0,c.Z)({props:e,name:"MuiTabPanel"}),i=n.children,l=n.className,u=n.value,h=(0,r.Z)(n,f),b=(0,a.Z)({},n),g=function(e){var t=e.classes;return(0,s.Z)({root:["root"]},d,t)}(b),v=(0,m._i)();if(null===v)throw new TypeError("No TabContext provided");var Z=(0,m.uU)(v,u),j=(0,m.pQ)(v,u);return(0,p.jsx)(x,(0,a.Z)({"aria-labelledby":j,className:(0,o.Z)(g.root,l),hidden:u!==v.value,id:Z,ref:t,role:"tabpanel",ownerState:b},h,{children:u===v.value&&i}))}))},83738:function(e,t,n){function a(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}n.d(t,{Z:function(){return a}})}}]); +//# sourceMappingURL=7950.a1c8a17e.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/7950.041ee61e.chunk.js.map b/portal-ui/build/static/js/7950.a1c8a17e.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/7950.041ee61e.chunk.js.map rename to portal-ui/build/static/js/7950.a1c8a17e.chunk.js.map index 041ba3773..b87c81c09 100644 --- a/portal-ui/build/static/js/7950.041ee61e.chunk.js.map +++ b/portal-ui/build/static/js/7950.a1c8a17e.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/7950.041ee61e.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Buckets/BucketDetails/BucketDetails.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/ScreenTitle/ScreenTitle.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","../node_modules/@mui/lab/TabContext/TabContext.js","../node_modules/@mui/lab/TabList/TabList.js","../node_modules/@mui/lab/TabPanel/tabPanelClasses.js","../node_modules/@mui/lab/TabPanel/TabPanel.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { Link, Redirect, Route, Router, Switch } from \"react-router-dom\";\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 api from \"../../../../common/api\";\nimport { BucketInfo } from \"../types\";\nimport {\n buttonsStyles,\n containerForHeader,\n hrClass,\n pageContentStyles,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { setBucketDetailsLoad, setBucketInfo } from \"../actions\";\nimport { AppState } from \"../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\n\nimport ScreenTitle from \"../../Common/ScreenTitle/ScreenTitle\";\nimport { Box, IconButton, Tooltip } from \"@mui/material\";\n\nimport RefreshIcon from \"../../../../icons/RefreshIcon\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport VerticalTabs from \"../../Common/VerticalTabs/VerticalTabs\";\nimport BackLink from \"../../../../common/BackLink\";\nimport SecureComponent, {\n hasPermission,\n} from \"../../../../common/SecureComponent/SecureComponent\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport RBIconButton from \"./SummaryItems/RBIconButton\";\nimport { TrashIcon } from \"../../../../icons\";\n\nconst BucketsIcon = React.lazy(() => import(\"../../../../icons/BucketsIcon\"));\nconst FolderIcon = React.lazy(() => import(\"../../../../icons/FolderIcon\"));\n\nconst DeleteBucket = withSuspense(\n React.lazy(() => import(\"../ListBuckets/DeleteBucket\"))\n);\nconst AccessRulePanel = withSuspense(\n React.lazy(() => import(\"./AccessRulePanel\"))\n);\nconst AccessDetailsPanel = withSuspense(\n React.lazy(() => import(\"./AccessDetailsPanel\"))\n);\nconst BucketSummaryPanel = withSuspense(\n React.lazy(() => import(\"./BucketSummaryPanel\"))\n);\nconst BucketEventsPanel = withSuspense(\n React.lazy(() => import(\"./BucketEventsPanel\"))\n);\nconst BucketReplicationPanel = withSuspense(\n React.lazy(() => import(\"./BucketReplicationPanel\"))\n);\nconst BucketLifecyclePanel = withSuspense(\n React.lazy(() => import(\"./BucketLifecyclePanel\"))\n);\n\nconst styles = (theme: Theme) =>\n createStyles({\n pageContainer: {\n height: \"100%\",\n },\n screenTitle: {\n border: 0,\n paddingTop: 0,\n },\n ...pageContentStyles,\n breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\n },\n ...searchField,\n capitalize: {\n textTransform: \"capitalize\",\n },\n deleteBtn: {\n color: \"#f44336\",\n border: \"1px solid rgba(244, 67, 54, 0.5)\",\n maxWidth: 140,\n },\n ...hrClass,\n ...buttonsStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IBucketDetailsProps {\n classes: any;\n match: any;\n history: any;\n distributedSetup: boolean;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n setBucketDetailsLoad: typeof setBucketDetailsLoad;\n loadingBucket: boolean;\n setBucketInfo: typeof setBucketInfo;\n bucketInfo: BucketInfo | null;\n}\n\nconst BucketDetails = ({\n classes,\n match,\n history,\n setErrorSnackMessage,\n distributedSetup,\n setBucketDetailsLoad,\n loadingBucket,\n setBucketInfo,\n bucketInfo,\n}: IBucketDetailsProps) => {\n const [iniLoad, setIniLoad] = useState(false);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const bucketName = match.params[\"bucketName\"];\n\n let selTab = match?.params[\"0\"];\n selTab = selTab ? selTab : \"summary\";\n\n const [activeTab, setActiveTab] = useState(selTab);\n\n useEffect(() => {\n setActiveTab(selTab);\n }, [selTab]);\n\n useEffect(() => {\n if (!iniLoad) {\n setBucketDetailsLoad(true);\n setIniLoad(true);\n }\n }, [iniLoad, setBucketDetailsLoad, setIniLoad]);\n\n useEffect(() => {\n if (loadingBucket) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}`)\n .then((res: BucketInfo) => {\n setBucketDetailsLoad(false);\n setBucketInfo(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setBucketDetailsLoad(false);\n setErrorSnackMessage(err);\n });\n }\n }, [\n bucketName,\n loadingBucket,\n setBucketDetailsLoad,\n setBucketInfo,\n setErrorSnackMessage,\n ]);\n\n let topLevelRoute = `/buckets/${bucketName}`;\n const defaultRoute = \"/admin/summary\";\n\n const manageBucketRoutes: Record = {\n events: \"/admin/events\",\n replication: \"/admin/replication\",\n lifecycle: \"/admin/lifecycle\",\n access: \"/admin/access\",\n prefix: \"/admin/prefix\",\n };\n\n const getRoutePath = (routeKey: string) => {\n let path = manageBucketRoutes[routeKey];\n if (!path) {\n path = `${topLevelRoute}${defaultRoute}`;\n } else {\n path = `${topLevelRoute}${path}`;\n }\n return path;\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n if (refresh) {\n history.push(\"/buckets\");\n }\n };\n\n const openBucketBrowser = () => {\n history.push(`/buckets/${bucketName}/browse`);\n };\n\n return (\n \n {deleteOpen && (\n {\n closeDeleteModalAndRefresh(refresh);\n }}\n />\n )}\n \n \n Buckets\n \n \n }\n actions={\n \n \n \n \n \n \n \n }\n />\n \n \n \n \n \n
\n }\n title={bucketName}\n subTitle={\n \n Access: \n \n {bucketInfo?.access.toLowerCase()}\n
\n \n }\n actions={\n \n \n {\n setDeleteOpen(true);\n }}\n text={\"Delete Bucket\"}\n icon={}\n color={\"secondary\"}\n variant={\"outlined\"}\n />\n \n {\n setBucketDetailsLoad(true);\n }}\n text={`Refresh`}\n icon={}\n color={\"primary\"}\n />\n \n }\n />\n \n \n \n \n \n \n \n {distributedSetup && (\n \n )}\n {distributedSetup && (\n \n )}\n\n \n \n (\n \n )}\n />\n \n \n \n }\n >\n {{\n tabConfig: {\n label: \"Summary\",\n value: \"summary\",\n component: Link,\n to: getRoutePath(\"summary\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Events\",\n value: \"events\",\n component: Link,\n disabled: !hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_NOTIFICATIONS,\n IAM_SCOPES.S3_PUT_BUCKET_NOTIFICATIONS,\n ]),\n to: getRoutePath(\"events\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Replication\",\n value: \"replication\",\n component: Link,\n disabled:\n !distributedSetup ||\n !hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_REPLICATION_CONFIGURATION,\n IAM_SCOPES.S3_PUT_REPLICATION_CONFIGURATION,\n ]),\n to: getRoutePath(\"replication\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Lifecycle\",\n value: \"lifecycle\",\n component: Link,\n disabled:\n !distributedSetup ||\n !hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_LIFECYCLE_CONFIGURATION,\n IAM_SCOPES.S3_PUT_LIFECYCLE_CONFIGURATION,\n ]),\n to: getRoutePath(\"lifecycle\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Access Audit\",\n value: \"access\",\n component: Link,\n disabled: !hasPermission(bucketName, [\n IAM_SCOPES.ADMIN_GET_POLICY,\n IAM_SCOPES.ADMIN_LIST_USER_POLICIES,\n IAM_SCOPES.ADMIN_LIST_USERS,\n ]),\n to: getRoutePath(\"access\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Access Rules\",\n value: \"prefix\",\n component: Link,\n disabled: !hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_POLICY,\n ]),\n to: getRoutePath(\"prefix\"),\n },\n }}\n \n \n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n session: state.console.session,\n selectedTab: state.buckets.bucketDetails.selectedTab,\n distributedSetup: state.system.distributedSetup,\n loadingBucket: state.buckets.bucketDetails.loadingBucket,\n bucketInfo: state.buckets.bucketDetails.bucketInfo,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n setBucketDetailsLoad,\n setBucketInfo,\n});\n\nexport default withStyles(styles)(connector(BucketDetails));\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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\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 { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\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 { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n

\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ninterface IScreenTitle {\n classes: any;\n icon?: any;\n title?: any;\n subTitle?: any;\n actions?: any;\n className?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerBarIcon: {\n marginRight: \".7rem\",\n color: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n },\n },\n headerBarSubheader: {\n color: \"grey\",\n \"@media (max-width: 900px)\": {\n maxWidth: 200,\n },\n },\n screenTitle: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"1rem\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n titleColumn: {\n height: \"auto\",\n justifyContent: \"center\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n fontSize: 19,\n },\n },\n leftItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n rightItems: {\n display: \"flex\",\n alignItems: \"center\",\n },\n });\n\nconst ScreenTitle = ({\n classes,\n icon,\n title,\n subTitle,\n actions,\n className,\n}: IScreenTitle) => {\n return (\n \n \n
\n {icon ?
{icon}
: null}\n
\n

{title}

\n {subTitle}\n
\n
\n\n
{actions}
\n
\n \n );\n};\n\nexport default withStyles(styles)(ScreenTitle);\n","import React from \"react\";\nimport { Box, Tab, TabProps } from \"@mui/material\";\nimport { TabContext, TabList, TabPanel } from \"@mui/lab\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme, useTheme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\n\nexport type TabItemProps = {\n tabConfig: TabProps | any;\n content?: JSX.Element | JSX.Element[];\n};\n\ntype VerticalTabsProps = {\n classes: any;\n children: TabItemProps[];\n selectedTab?: string;\n routes?: any;\n isRouteTabs?: boolean;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n tabsContainer: {\n display: \"flex\",\n height: \"100%\",\n width: \"100%\",\n },\n tabsHeaderContainer: {\n width: \"300px\",\n background: \"#F8F8F8\",\n borderRight: \"1px solid #EAEAEA\",\n \"& .MuiTabs-root\": {\n \"& .MuiTabs-indicator\": {\n display: \"none\",\n },\n \"& .MuiTab-root\": {\n display: \"flex\",\n flexFlow: \"row\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n borderBottom: \"1px solid #EAEAEA\",\n \"& .MuiSvgIcon-root\": {\n marginRight: 8,\n marginBottom: 0,\n },\n \"&.Mui-selected\": {\n background: \"#E5E5E5\",\n fontWeight: 600,\n },\n },\n\n \"&. MuiTabs-scroller\": {\n display: \"none\",\n },\n },\n },\n tabContentContainer: {\n width: \"100%\",\n \"& .MuiTabPanel-root\": {\n height: \"100%\",\n },\n },\n tabPanel: {\n height: \"100%\",\n },\n /*Below md breakpoint make it horizontal and style it for scrolling tabs*/\n \"@media (max-width: 900px)\": {\n tabsContainer: {\n flexFlow: \"column\",\n flexDirection: \"column\",\n },\n tabsHeaderContainer: {\n width: \"100%\",\n borderBottom: \" 1px solid #EAEAEA\",\n \"& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root\": {\n borderBottom: \" 0px\",\n },\n },\n },\n });\n\nconst tabStripStyle = {\n minHeight: 60,\n};\n\nconst VerticalTabs = ({\n children,\n classes,\n selectedTab = \"0\",\n routes,\n isRouteTabs,\n}: VerticalTabsProps) => {\n const [value, setValue] = React.useState(selectedTab);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\n });\n\n return (\n \n \n \n \n {headerList.map((item, index) => {\n if (item) {\n return (\n \n );\n }\n return null;\n })}\n \n \n\n \n {!isRouteTabs\n ? contentList.map((item, index) => {\n return (\n \n {item ? item : null}\n \n );\n })\n : null}\n {isRouteTabs ? (\n
{routes}
\n ) : null}\n
\n
\n
\n );\n};\n\nexport default withStyles(styles)(VerticalTabs);\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\n\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\n\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.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 value of the currently selected `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\n/**\n * @returns {unknown}\n */\n\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-T-${value}`;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.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 * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\n\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props);\n\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.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 * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","BucketsIcon","React","FolderIcon","DeleteBucket","withSuspense","AccessRulePanel","AccessDetailsPanel","BucketSummaryPanel","BucketEventsPanel","BucketReplicationPanel","BucketLifecyclePanel","connector","connect","state","session","console","selectedTab","buckets","bucketDetails","distributedSetup","system","loadingBucket","bucketInfo","setErrorSnackMessage","setBucketDetailsLoad","setBucketInfo","pageContainer","height","screenTitle","border","paddingTop","pageContentStyles","breadcrumLink","searchField","capitalize","textTransform","deleteBtn","hrClass","buttonsStyles","containerForHeader","spacing","match","history","useState","iniLoad","setIniLoad","deleteOpen","setDeleteOpen","bucketName","params","selTab","activeTab","setActiveTab","useEffect","api","then","res","catch","err","topLevelRoute","manageBucketRoutes","events","replication","lifecycle","access","prefix","getRoutePath","routeKey","path","Fragment","selectedBucket","closeDeleteModalAndRefresh","refresh","push","actions","title","component","size","item","xs","subTitle","scopes","IAM_SCOPES","resource","style","fontWeight","toLowerCase","errorProps","disabled","tooltip","text","variant","sx","isRouteTabs","routes","contentSpacer","exact","tabConfig","value","Link","hasPermission","useStyles","makeStyles","root","props","tgtColor","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","restProps","borderWidth","borderStyle","borderRadius","backgroundColor","opacity","contained","background","dark","children","rest","button","clsx","WrappedComponent","fallback","ComponentWithSuspense","Suspense","mapDispatchToProps","toggleList","sidebarOpen","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","boxShadow","labelStyle","marginTop","rightMenu","textAlign","logo","fill","middleComponent","container","direction","sm","md","length","headerBarIcon","headerBarSubheader","borderBottom","flexFlow","titleColumn","leftItems","rightItems","margin","tabStripStyle","tabsContainer","tabsHeaderContainer","borderRight","marginBottom","tabContentContainer","tabPanel","flexDirection","setValue","useTheme","isSmallScreen","useMediaQuery","breakpoints","down","headerList","contentList","forEach","child","content","onChange","event","newValue","orientation","scrollButtons","tabList","map","index","tabHeader","disableRipple","disableTouchRipple","focusRipple","Context","TabContext","idPrefix","id","setId","Math","round","random","useUniquePrefix","context","_jsx","Provider","useTabContext","getPanelId","getTabId","_excluded","TabList","ref","childrenProp","other","_objectWithoutPropertiesLoose","TypeError","Tabs","_extends","getTabPanelUtilityClass","slot","generateUtilityClass","generateUtilityClasses","TabPanelRoot","styled","name","overridesResolver","styles","inProps","useThemeProps","ownerState","composeClasses","useUtilityClasses","tabId","hidden","role","_objectWithoutProperties","source","excluded","key","i","target","sourceKeys","Object","keys","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/7950.a1c8a17e.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Buckets/BucketDetails/BucketDetails.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/ScreenTitle/ScreenTitle.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","../node_modules/@mui/lab/TabContext/TabContext.js","../node_modules/@mui/lab/TabList/TabList.js","../node_modules/@mui/lab/TabPanel/tabPanelClasses.js","../node_modules/@mui/lab/TabPanel/TabPanel.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { Link, Redirect, Route, Router, Switch } from \"react-router-dom\";\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 api from \"../../../../common/api\";\nimport { BucketInfo } from \"../types\";\nimport {\n buttonsStyles,\n containerForHeader,\n hrClass,\n pageContentStyles,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { setBucketDetailsLoad, setBucketInfo } from \"../actions\";\nimport { AppState } from \"../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\n\nimport ScreenTitle from \"../../Common/ScreenTitle/ScreenTitle\";\nimport { Box, IconButton, Tooltip } from \"@mui/material\";\n\nimport RefreshIcon from \"../../../../icons/RefreshIcon\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport VerticalTabs from \"../../Common/VerticalTabs/VerticalTabs\";\nimport BackLink from \"../../../../common/BackLink\";\nimport SecureComponent, {\n hasPermission,\n} from \"../../../../common/SecureComponent/SecureComponent\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport RBIconButton from \"./SummaryItems/RBIconButton\";\nimport { TrashIcon } from \"../../../../icons\";\n\nconst BucketsIcon = React.lazy(() => import(\"../../../../icons/BucketsIcon\"));\nconst FolderIcon = React.lazy(() => import(\"../../../../icons/FolderIcon\"));\n\nconst DeleteBucket = withSuspense(\n React.lazy(() => import(\"../ListBuckets/DeleteBucket\"))\n);\nconst AccessRulePanel = withSuspense(\n React.lazy(() => import(\"./AccessRulePanel\"))\n);\nconst AccessDetailsPanel = withSuspense(\n React.lazy(() => import(\"./AccessDetailsPanel\"))\n);\nconst BucketSummaryPanel = withSuspense(\n React.lazy(() => import(\"./BucketSummaryPanel\"))\n);\nconst BucketEventsPanel = withSuspense(\n React.lazy(() => import(\"./BucketEventsPanel\"))\n);\nconst BucketReplicationPanel = withSuspense(\n React.lazy(() => import(\"./BucketReplicationPanel\"))\n);\nconst BucketLifecyclePanel = withSuspense(\n React.lazy(() => import(\"./BucketLifecyclePanel\"))\n);\n\nconst styles = (theme: Theme) =>\n createStyles({\n pageContainer: {\n height: \"100%\",\n },\n screenTitle: {\n border: 0,\n paddingTop: 0,\n },\n ...pageContentStyles,\n breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\n },\n ...searchField,\n capitalize: {\n textTransform: \"capitalize\",\n },\n deleteBtn: {\n color: \"#f44336\",\n border: \"1px solid rgba(244, 67, 54, 0.5)\",\n maxWidth: 140,\n },\n ...hrClass,\n ...buttonsStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IBucketDetailsProps {\n classes: any;\n match: any;\n history: any;\n distributedSetup: boolean;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n setBucketDetailsLoad: typeof setBucketDetailsLoad;\n loadingBucket: boolean;\n setBucketInfo: typeof setBucketInfo;\n bucketInfo: BucketInfo | null;\n}\n\nconst BucketDetails = ({\n classes,\n match,\n history,\n setErrorSnackMessage,\n distributedSetup,\n setBucketDetailsLoad,\n loadingBucket,\n setBucketInfo,\n bucketInfo,\n}: IBucketDetailsProps) => {\n const [iniLoad, setIniLoad] = useState(false);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const bucketName = match.params[\"bucketName\"];\n\n let selTab = match?.params[\"0\"];\n selTab = selTab ? selTab : \"summary\";\n\n const [activeTab, setActiveTab] = useState(selTab);\n\n useEffect(() => {\n setActiveTab(selTab);\n }, [selTab]);\n\n useEffect(() => {\n if (!iniLoad) {\n setBucketDetailsLoad(true);\n setIniLoad(true);\n }\n }, [iniLoad, setBucketDetailsLoad, setIniLoad]);\n\n useEffect(() => {\n if (loadingBucket) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}`)\n .then((res: BucketInfo) => {\n setBucketDetailsLoad(false);\n setBucketInfo(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setBucketDetailsLoad(false);\n setErrorSnackMessage(err);\n });\n }\n }, [\n bucketName,\n loadingBucket,\n setBucketDetailsLoad,\n setBucketInfo,\n setErrorSnackMessage,\n ]);\n\n let topLevelRoute = `/buckets/${bucketName}`;\n const defaultRoute = \"/admin/summary\";\n\n const manageBucketRoutes: Record = {\n events: \"/admin/events\",\n replication: \"/admin/replication\",\n lifecycle: \"/admin/lifecycle\",\n access: \"/admin/access\",\n prefix: \"/admin/prefix\",\n };\n\n const getRoutePath = (routeKey: string) => {\n let path = manageBucketRoutes[routeKey];\n if (!path) {\n path = `${topLevelRoute}${defaultRoute}`;\n } else {\n path = `${topLevelRoute}${path}`;\n }\n return path;\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n if (refresh) {\n history.push(\"/buckets\");\n }\n };\n\n const openBucketBrowser = () => {\n history.push(`/buckets/${bucketName}/browse`);\n };\n\n return (\n \n {deleteOpen && (\n {\n closeDeleteModalAndRefresh(refresh);\n }}\n />\n )}\n \n \n Buckets\n \n \n }\n actions={\n \n \n \n \n \n \n \n }\n />\n \n \n \n \n \n \n }\n title={bucketName}\n subTitle={\n \n Access: \n \n {bucketInfo?.access.toLowerCase()}\n
\n \n }\n actions={\n \n \n {\n setDeleteOpen(true);\n }}\n text={\"Delete Bucket\"}\n icon={}\n color={\"secondary\"}\n variant={\"outlined\"}\n />\n \n {\n setBucketDetailsLoad(true);\n }}\n text={`Refresh`}\n icon={}\n color={\"primary\"}\n />\n \n }\n />\n \n \n \n \n \n \n \n {distributedSetup && (\n \n )}\n {distributedSetup && (\n \n )}\n\n \n \n (\n \n )}\n />\n \n \n \n }\n >\n {{\n tabConfig: {\n label: \"Summary\",\n value: \"summary\",\n component: Link,\n to: getRoutePath(\"summary\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Events\",\n value: \"events\",\n component: Link,\n disabled: !hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_NOTIFICATIONS,\n IAM_SCOPES.S3_PUT_BUCKET_NOTIFICATIONS,\n ]),\n to: getRoutePath(\"events\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Replication\",\n value: \"replication\",\n component: Link,\n disabled:\n !distributedSetup ||\n !hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_REPLICATION_CONFIGURATION,\n IAM_SCOPES.S3_PUT_REPLICATION_CONFIGURATION,\n ]),\n to: getRoutePath(\"replication\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Lifecycle\",\n value: \"lifecycle\",\n component: Link,\n disabled:\n !distributedSetup ||\n !hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_LIFECYCLE_CONFIGURATION,\n IAM_SCOPES.S3_PUT_LIFECYCLE_CONFIGURATION,\n ]),\n to: getRoutePath(\"lifecycle\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Access Audit\",\n value: \"access\",\n component: Link,\n disabled: !hasPermission(bucketName, [\n IAM_SCOPES.ADMIN_GET_POLICY,\n IAM_SCOPES.ADMIN_LIST_USER_POLICIES,\n IAM_SCOPES.ADMIN_LIST_USERS,\n ]),\n to: getRoutePath(\"access\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Access Rules\",\n value: \"prefix\",\n component: Link,\n disabled: !hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_POLICY,\n ]),\n to: getRoutePath(\"prefix\"),\n },\n }}\n \n \n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n session: state.console.session,\n selectedTab: state.buckets.bucketDetails.selectedTab,\n distributedSetup: state.system.distributedSetup,\n loadingBucket: state.buckets.bucketDetails.loadingBucket,\n bucketInfo: state.buckets.bucketDetails.bucketInfo,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n setBucketDetailsLoad,\n setBucketInfo,\n});\n\nexport default withStyles(styles)(connector(BucketDetails));\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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\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 { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\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 { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n

\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ninterface IScreenTitle {\n classes: any;\n icon?: any;\n title?: any;\n subTitle?: any;\n actions?: any;\n className?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerBarIcon: {\n marginRight: \".7rem\",\n color: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n },\n },\n headerBarSubheader: {\n color: \"grey\",\n \"@media (max-width: 900px)\": {\n maxWidth: 200,\n },\n },\n screenTitle: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"1rem\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n titleColumn: {\n height: \"auto\",\n justifyContent: \"center\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n fontSize: 19,\n },\n },\n leftItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n rightItems: {\n display: \"flex\",\n alignItems: \"center\",\n },\n });\n\nconst ScreenTitle = ({\n classes,\n icon,\n title,\n subTitle,\n actions,\n className,\n}: IScreenTitle) => {\n return (\n \n \n
\n {icon ?
{icon}
: null}\n
\n

{title}

\n {subTitle}\n
\n
\n\n
{actions}
\n
\n \n );\n};\n\nexport default withStyles(styles)(ScreenTitle);\n","import React from \"react\";\nimport { Box, Tab, TabProps } from \"@mui/material\";\nimport { TabContext, TabList, TabPanel } from \"@mui/lab\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme, useTheme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\n\nexport type TabItemProps = {\n tabConfig: TabProps | any;\n content?: JSX.Element | JSX.Element[];\n};\n\ntype VerticalTabsProps = {\n classes: any;\n children: TabItemProps[];\n selectedTab?: string;\n routes?: any;\n isRouteTabs?: boolean;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n tabsContainer: {\n display: \"flex\",\n height: \"100%\",\n width: \"100%\",\n },\n tabsHeaderContainer: {\n width: \"300px\",\n background: \"#F8F8F8\",\n borderRight: \"1px solid #EAEAEA\",\n \"& .MuiTabs-root\": {\n \"& .MuiTabs-indicator\": {\n display: \"none\",\n },\n \"& .MuiTab-root\": {\n display: \"flex\",\n flexFlow: \"row\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n borderBottom: \"1px solid #EAEAEA\",\n \"& .MuiSvgIcon-root\": {\n marginRight: 8,\n marginBottom: 0,\n },\n \"&.Mui-selected\": {\n background: \"#E5E5E5\",\n fontWeight: 600,\n },\n },\n\n \"&. MuiTabs-scroller\": {\n display: \"none\",\n },\n },\n },\n tabContentContainer: {\n width: \"100%\",\n \"& .MuiTabPanel-root\": {\n height: \"100%\",\n },\n },\n tabPanel: {\n height: \"100%\",\n },\n /*Below md breakpoint make it horizontal and style it for scrolling tabs*/\n \"@media (max-width: 900px)\": {\n tabsContainer: {\n flexFlow: \"column\",\n flexDirection: \"column\",\n },\n tabsHeaderContainer: {\n width: \"100%\",\n borderBottom: \" 1px solid #EAEAEA\",\n \"& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root\": {\n borderBottom: \" 0px\",\n },\n },\n },\n });\n\nconst tabStripStyle = {\n minHeight: 60,\n};\n\nconst VerticalTabs = ({\n children,\n classes,\n selectedTab = \"0\",\n routes,\n isRouteTabs,\n}: VerticalTabsProps) => {\n const [value, setValue] = React.useState(selectedTab);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\n });\n\n return (\n \n \n \n \n {headerList.map((item, index) => {\n if (item) {\n return (\n \n );\n }\n return null;\n })}\n \n \n\n \n {!isRouteTabs\n ? contentList.map((item, index) => {\n return (\n \n {item ? item : null}\n \n );\n })\n : null}\n {isRouteTabs ? (\n
{routes}
\n ) : null}\n
\n
\n
\n );\n};\n\nexport default withStyles(styles)(VerticalTabs);\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\n\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\n\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.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 value of the currently selected `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\n/**\n * @returns {unknown}\n */\n\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-T-${value}`;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.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 * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\n\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props);\n\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.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 * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","BucketsIcon","React","FolderIcon","DeleteBucket","withSuspense","AccessRulePanel","AccessDetailsPanel","BucketSummaryPanel","BucketEventsPanel","BucketReplicationPanel","BucketLifecyclePanel","connector","connect","state","session","console","selectedTab","buckets","bucketDetails","distributedSetup","system","loadingBucket","bucketInfo","setErrorSnackMessage","setBucketDetailsLoad","setBucketInfo","pageContainer","height","screenTitle","border","paddingTop","pageContentStyles","breadcrumLink","searchField","capitalize","textTransform","deleteBtn","hrClass","buttonsStyles","containerForHeader","spacing","match","history","useState","iniLoad","setIniLoad","deleteOpen","setDeleteOpen","bucketName","params","selTab","activeTab","setActiveTab","useEffect","api","then","res","catch","err","topLevelRoute","manageBucketRoutes","events","replication","lifecycle","access","prefix","getRoutePath","routeKey","path","Fragment","selectedBucket","closeDeleteModalAndRefresh","refresh","push","actions","title","component","size","item","xs","subTitle","scopes","IAM_SCOPES","resource","style","fontWeight","toLowerCase","errorProps","disabled","tooltip","text","variant","sx","isRouteTabs","routes","contentSpacer","exact","tabConfig","value","Link","hasPermission","useStyles","makeStyles","root","props","tgtColor","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","restProps","borderWidth","borderStyle","borderRadius","backgroundColor","opacity","contained","background","dark","children","rest","button","clsx","WrappedComponent","fallback","ComponentWithSuspense","Suspense","mapDispatchToProps","toggleList","sidebarOpen","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","boxShadow","labelStyle","marginTop","rightMenu","textAlign","logo","fill","middleComponent","container","direction","sm","md","length","headerBarIcon","headerBarSubheader","borderBottom","flexFlow","titleColumn","leftItems","rightItems","margin","tabStripStyle","tabsContainer","tabsHeaderContainer","borderRight","marginBottom","tabContentContainer","tabPanel","flexDirection","setValue","useTheme","isSmallScreen","useMediaQuery","breakpoints","down","headerList","contentList","forEach","child","content","onChange","event","newValue","orientation","scrollButtons","tabList","map","index","tabHeader","disableRipple","disableTouchRipple","focusRipple","Context","TabContext","idPrefix","id","setId","Math","round","random","useUniquePrefix","context","_jsx","Provider","useTabContext","getPanelId","getTabId","_excluded","TabList","ref","childrenProp","other","_objectWithoutPropertiesLoose","TypeError","Tabs","_extends","getTabPanelUtilityClass","slot","generateUtilityClass","generateUtilityClasses","TabPanelRoot","styled","name","overridesResolver","styles","inProps","useThemeProps","ownerState","composeClasses","useUtilityClasses","tabId","hidden","role","_objectWithoutProperties","source","excluded","key","i","target","sourceKeys","Object","keys","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/8750.02521688.chunk.js b/portal-ui/build/static/js/8750.02521688.chunk.js new file mode 100644 index 000000000..228bf1d64 --- /dev/null +++ b/portal-ui/build/static/js/8750.02521688.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[8750],{14476:function(t,n,o){o.d(n,{Z:function(){return x}});var i=o(36222),e=o(46633),a=o(18207),r=o(50390),d=o(91442),s=o(4733),c=o(50076),l=o(8208),u=o(15573),g=o(66946),p=o(18201),f=o(10594);function v(t){return(0,f.Z)("MuiLoadingButton",t)}var Z=(0,o(43349).Z)("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),m=o(62559),b=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],h=(0,l.ZP)(g.Z,{shouldForwardProp:function(t){return function(t){return"ownerState"!==t&&"theme"!==t&&"sx"!==t&&"as"!==t&&"classes"!==t}(t)||"classes"===t},name:"MuiLoadingButton",slot:"Root",overridesResolver:function(t,n){return[n.root,n.startIconLoadingStart&&(0,i.Z)({},"& .".concat(Z.startIconLoadingStart),n.startIconLoadingStart),n.endIconLoadingEnd&&(0,i.Z)({},"& .".concat(Z.endIconLoadingEnd),n.endIconLoadingEnd)]}})((function(t){var n=t.ownerState,o=t.theme;return(0,a.Z)((0,i.Z)({},"& .".concat(Z.startIconLoadingStart,", & .").concat(Z.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0}),"center"===n.loadingPosition&&(0,i.Z)({transition:o.transitions.create(["background-color","box-shadow","border-color"],{duration:o.transitions.duration.short})},"&.".concat(Z.loading),{color:"transparent"}),"start"===n.loadingPosition&&n.fullWidth&&(0,i.Z)({},"& .".concat(Z.startIconLoadingStart,", & .").concat(Z.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0,marginRight:-8}),"end"===n.loadingPosition&&n.fullWidth&&(0,i.Z)({},"& .".concat(Z.startIconLoadingStart,", & .").concat(Z.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0,marginLeft:-8}))})),I=(0,l.ZP)("div",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:function(t,n){var o=t.ownerState;return[n.loadingIndicator,n["loadingIndicator".concat((0,d.Z)(o.loadingPosition))]]}})((function(t){var n=t.theme,o=t.ownerState;return(0,a.Z)({position:"absolute",visibility:"visible",display:"flex"},"start"===o.loadingPosition&&("outlined"===o.variant||"contained"===o.variant)&&{left:14},"start"===o.loadingPosition&&"text"===o.variant&&{left:6},"center"===o.loadingPosition&&{left:"50%",transform:"translate(-50%)",color:n.palette.action.disabled},"end"===o.loadingPosition&&("outlined"===o.variant||"contained"===o.variant)&&{right:14},"end"===o.loadingPosition&&"text"===o.variant&&{right:6},"start"===o.loadingPosition&&o.fullWidth&&{position:"relative",left:-10},"end"===o.loadingPosition&&o.fullWidth&&{position:"relative",right:-10})})),x=r.forwardRef((function(t,n){var o=(0,u.Z)({props:t,name:"MuiLoadingButton"}),i=o.children,l=o.disabled,g=void 0!==l&&l,f=o.id,Z=o.loading,x=void 0!==Z&&Z,y=o.loadingIndicator,S=o.loadingPosition,w=void 0===S?"center":S,L=o.variant,P=void 0===L?"text":L,C=(0,e.Z)(o,b),M=(0,s.Z)(f),R=null!=y?y:(0,m.jsx)(p.Z,{"aria-labelledby":M,color:"inherit",size:16}),k=(0,a.Z)({},o,{disabled:g,loading:x,loadingIndicator:R,loadingPosition:w,variant:P}),F=function(t){var n=t.loading,o=t.loadingPosition,i=t.classes,e={root:["root",n&&"loading"],startIcon:[n&&"startIconLoading".concat((0,d.Z)(o))],endIcon:[n&&"endIconLoading".concat((0,d.Z)(o))],loadingIndicator:["loadingIndicator",n&&"loadingIndicator".concat((0,d.Z)(o))]},r=(0,c.Z)(e,v,i);return(0,a.Z)({},i,r)}(k);return(0,m.jsx)(h,(0,a.Z)({disabled:g||x,id:M,ref:n},C,{variant:P,classes:F,ownerState:k,children:"end"===k.loadingPosition?(0,m.jsxs)(r.Fragment,{children:[i,x&&(0,m.jsx)(I,{className:F.loadingIndicator,ownerState:k,children:R})]}):(0,m.jsxs)(r.Fragment,{children:[x&&(0,m.jsx)(I,{className:F.loadingIndicator,ownerState:k,children:R}),i]})}))}))},7887:function(t,n,o){o.d(n,{Z:function(){return v}});var i=o(1048),e=o(32793),a=o(50390),r=o(44977),d=o(50076),s=o(8208),c=o(15573),l=o(10594);function u(t){return(0,l.Z)("MuiDialogActions",t)}(0,o(43349).Z)("MuiDialogActions",["root","spacing"]);var g=o(62559),p=["className","disableSpacing"],f=(0,s.ZP)("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:function(t,n){var o=t.ownerState;return[n.root,!o.disableSpacing&&n.spacing]}})((function(t){var n=t.ownerState;return(0,e.Z)({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!n.disableSpacing&&{"& > :not(:first-of-type)":{marginLeft:8}})})),v=a.forwardRef((function(t,n){var o=(0,c.Z)({props:t,name:"MuiDialogActions"}),a=o.className,s=o.disableSpacing,l=void 0!==s&&s,v=(0,i.Z)(o,p),Z=(0,e.Z)({},o,{disableSpacing:l}),m=function(t){var n=t.classes,o={root:["root",!t.disableSpacing&&"spacing"]};return(0,d.Z)(o,u,n)}(Z);return(0,g.jsx)(f,(0,e.Z)({className:(0,r.Z)(m.root,a),ownerState:Z,ref:n},v))}))},23473:function(t,n,o){o.d(n,{Z:function(){return v}});var i=o(1048),e=o(32793),a=o(50390),r=o(50076),d=o(8208),s=o(15573),c=o(35477),l=o(10594);function u(t){return(0,l.Z)("MuiDialogContentText",t)}(0,o(43349).Z)("MuiDialogContentText",["root"]);var g=o(62559),p=["children"],f=(0,d.ZP)(c.Z,{shouldForwardProp:function(t){return(0,d.FO)(t)||"classes"===t},name:"MuiDialogContentText",slot:"Root",overridesResolver:function(t,n){return n.root}})({}),v=a.forwardRef((function(t,n){var o=(0,s.Z)({props:t,name:"MuiDialogContentText"}),a=(0,i.Z)(o,p),d=function(t){var n=t.classes,o=(0,r.Z)({root:["root"]},u,n);return(0,e.Z)({},n,o)}(a);return(0,g.jsx)(f,(0,e.Z)({component:"p",variant:"body1",color:"text.secondary",ref:n,ownerState:a},o,{classes:d}))}))},4247:function(t,n,o){o.d(n,{V:function(){return e}});var i=o(10594);function e(t){return(0,i.Z)("MuiDivider",t)}var a=(0,o(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);n.Z=a},31680:function(t,n,o){o.d(n,{Z:function(){return L}});var i=o(36222),e=o(1048),a=o(32793),r=o(50390),d=o(44977),s=o(50076),c=o(36128),l=o(8208),u=o(15573),g=o(57308),p=o(86875),f=o(40839),v=o(3299),Z=o(4247),m=o(2198),b=o(23586),h=o(10594);function I(t){return(0,h.Z)("MuiMenuItem",t)}var x=(0,o(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),y=o(62559),S=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],w=(0,l.ZP)(p.Z,{shouldForwardProp:function(t){return(0,l.FO)(t)||"classes"===t},name:"MuiMenuItem",slot:"Root",overridesResolver:function(t,n){var o=t.ownerState;return[n.root,o.dense&&n.dense,o.divider&&n.divider,!o.disableGutters&&n.gutters]}})((function(t){var n,o=t.theme,e=t.ownerState;return(0,a.Z)({},o.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!e.disableGutters&&{paddingLeft:16,paddingRight:16},e.divider&&{borderBottom:"1px solid ".concat(o.palette.divider),backgroundClip:"padding-box"},(n={"&:hover":{textDecoration:"none",backgroundColor:o.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,i.Z)(n,"&.".concat(x.selected),(0,i.Z)({backgroundColor:(0,c.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity)},"&.".concat(x.focusVisible),{backgroundColor:(0,c.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity+o.palette.action.focusOpacity)})),(0,i.Z)(n,"&.".concat(x.selected,":hover"),{backgroundColor:(0,c.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity+o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,c.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity)}}),(0,i.Z)(n,"&.".concat(x.focusVisible),{backgroundColor:o.palette.action.focus}),(0,i.Z)(n,"&.".concat(x.disabled),{opacity:o.palette.action.disabledOpacity}),(0,i.Z)(n,"& + .".concat(Z.Z.root),{marginTop:o.spacing(1),marginBottom:o.spacing(1)}),(0,i.Z)(n,"& + .".concat(Z.Z.inset),{marginLeft:52}),(0,i.Z)(n,"& .".concat(b.Z.root),{marginTop:0,marginBottom:0}),(0,i.Z)(n,"& .".concat(b.Z.inset),{paddingLeft:36}),(0,i.Z)(n,"& .".concat(m.Z.root),{minWidth:36}),n),!e.dense&&(0,i.Z)({},o.breakpoints.up("sm"),{minHeight:"auto"}),e.dense&&(0,a.Z)({minHeight:32,paddingTop:4,paddingBottom:4},o.typography.body2,(0,i.Z)({},"& .".concat(m.Z.root," svg"),{fontSize:"1.25rem"})))})),L=r.forwardRef((function(t,n){var o=(0,u.Z)({props:t,name:"MuiMenuItem"}),i=o.autoFocus,c=void 0!==i&&i,l=o.component,p=void 0===l?"li":l,Z=o.dense,m=void 0!==Z&&Z,b=o.divider,h=void 0!==b&&b,x=o.disableGutters,L=void 0!==x&&x,P=o.focusVisibleClassName,C=o.role,M=void 0===C?"menuitem":C,R=o.tabIndex,k=(0,e.Z)(o,S),F=r.useContext(g.Z),j={dense:m||F.dense||!1,disableGutters:L},D=r.useRef(null);(0,f.Z)((function(){c&&D.current&&D.current.focus()}),[c]);var B,V=(0,a.Z)({},o,{dense:j.dense,divider:h,disableGutters:L}),O=function(t){var n=t.disabled,o=t.dense,i=t.divider,e=t.disableGutters,r=t.selected,d=t.classes,c={root:["root",o&&"dense",n&&"disabled",!e&&"gutters",i&&"divider",r&&"selected"]},l=(0,s.Z)(c,I,d);return(0,a.Z)({},d,l)}(o),E=(0,v.Z)(D,n);return o.disabled||(B=void 0!==R?R:-1),(0,y.jsx)(g.Z.Provider,{value:j,children:(0,y.jsx)(w,(0,a.Z)({ref:E,role:M,tabIndex:B,component:p,focusVisibleClassName:(0,d.Z)(O.focusVisible,P)},k,{ownerState:V,classes:O}))})}))}}]); +//# sourceMappingURL=8750.02521688.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/8750.02521688.chunk.js.map b/portal-ui/build/static/js/8750.02521688.chunk.js.map new file mode 100644 index 000000000..390fd3725 --- /dev/null +++ b/portal-ui/build/static/js/8750.02521688.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/8750.02521688.chunk.js","mappings":"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","sources":["../node_modules/@mui/lab/LoadingButton/loadingButtonClasses.js","../node_modules/@mui/lab/LoadingButton/LoadingButton.js","../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/DialogActions/DialogActions.js","../node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js","../node_modules/@mui/material/DialogContentText/DialogContentText.js","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js"],"sourcesContent":["import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLoadingButtonUtilityClass(slot) {\n return generateUtilityClass('MuiLoadingButton', slot);\n}\nconst loadingButtonClasses = generateUtilityClasses('MuiLoadingButton', ['root', 'loading', 'loadingIndicator', 'loadingIndicatorCenter', 'loadingIndicatorStart', 'loadingIndicatorEnd', 'endIconLoadingEnd', 'startIconLoadingStart']);\nexport default loadingButtonClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"disabled\", \"id\", \"loading\", \"loadingIndicator\", \"loadingPosition\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { chainPropTypes } from '@mui/utils';\nimport { capitalize, unstable_useId as useId } from '@mui/material/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport loadingButtonClasses, { getLoadingButtonUtilityClass } from './loadingButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n loading,\n loadingPosition,\n classes\n } = ownerState;\n const slots = {\n root: ['root', loading && 'loading'],\n startIcon: [loading && `startIconLoading${capitalize(loadingPosition)}`],\n endIcon: [loading && `endIconLoading${capitalize(loadingPosition)}`],\n loadingIndicator: ['loadingIndicator', loading && `loadingIndicator${capitalize(loadingPosition)}`]\n };\n const composedClasses = composeClasses(slots, getLoadingButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n}; // TODO use `import { rootShouldForwardProp } from '../styles/styled';` once move to core\n\n\nconst rootShouldForwardProp = prop => prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as' && prop !== 'classes';\n\nconst LoadingButtonRoot = styled(Button, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiLoadingButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root, styles.startIconLoadingStart && {\n [`& .${loadingButtonClasses.startIconLoadingStart}`]: styles.startIconLoadingStart\n }, styles.endIconLoadingEnd && {\n [`& .${loadingButtonClasses.endIconLoadingEnd}`]: styles.endIconLoadingEnd\n }];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0\n }\n}, ownerState.loadingPosition === 'center' && {\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n [`&.${loadingButtonClasses.loading}`]: {\n color: 'transparent'\n }\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginRight: -8\n }\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginLeft: -8\n }\n}));\nconst LoadingButtonLoadingIndicator = styled('div', {\n name: 'MuiLoadingButton',\n slot: 'LoadingIndicator',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.loadingIndicator, styles[`loadingIndicator${capitalize(ownerState.loadingPosition)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'absolute',\n visibility: 'visible',\n display: 'flex'\n}, ownerState.loadingPosition === 'start' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n left: 14\n}, ownerState.loadingPosition === 'start' && ownerState.variant === 'text' && {\n left: 6\n}, ownerState.loadingPosition === 'center' && {\n left: '50%',\n transform: 'translate(-50%)',\n color: theme.palette.action.disabled\n}, ownerState.loadingPosition === 'end' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n right: 14\n}, ownerState.loadingPosition === 'end' && ownerState.variant === 'text' && {\n right: 6\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n position: 'relative',\n left: -10\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n position: 'relative',\n right: -10\n}));\nconst LoadingButton = /*#__PURE__*/React.forwardRef(function LoadingButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLoadingButton'\n });\n\n const {\n children,\n disabled = false,\n id: idProp,\n loading = false,\n loadingIndicator: loadingIndicatorProp,\n loadingPosition = 'center',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const id = useId(idProp);\n const loadingIndicator = loadingIndicatorProp != null ? loadingIndicatorProp : /*#__PURE__*/_jsx(CircularProgress, {\n \"aria-labelledby\": id,\n color: \"inherit\",\n size: 16\n });\n\n const ownerState = _extends({}, props, {\n disabled,\n loading,\n loadingIndicator,\n loadingPosition,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LoadingButtonRoot, _extends({\n disabled: disabled || loading,\n id: id,\n ref: ref\n }, other, {\n variant: variant,\n classes: classes,\n ownerState: ownerState,\n children: ownerState.loadingPosition === 'end' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [children, loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n })]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n }), children]\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LoadingButton.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 * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * @ignore\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the loading indicator is shown.\n * @default false\n */\n loading: PropTypes.bool,\n\n /**\n * Element placed before the children if the button is in loading state.\n * The node should contain an element with `role=\"progressbar\"` with an accessible name.\n * By default we render a `CircularProgress` that is labelled by the button itself.\n * @default \n */\n loadingIndicator: PropTypes.node,\n\n /**\n * The loading indicator can be positioned on the start, end, or the center of the button.\n * @default 'center'\n */\n loadingPosition: chainPropTypes(PropTypes.oneOf(['start', 'end', 'center']), props => {\n if (props.loadingPosition === 'start' && !props.startIcon) {\n return new Error(`MUI: The loadingPosition=\"start\" should be used in combination with startIcon.`);\n }\n\n if (props.loadingPosition === 'end' && !props.endIcon) {\n return new Error(`MUI: The loadingPosition=\"end\" should be used in combination with endIcon.`);\n }\n\n return null;\n }),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes.oneOf(['contained', 'outlined', 'text'])\n} : void 0;\nexport default LoadingButton;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\n\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(:first-of-type)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.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 * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: 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 DialogActions;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Typography from '../Typography';\nimport { getDialogContentTextUtilityClass } from './dialogContentTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n\n const ownerState = _objectWithoutPropertiesLoose(props, _excluded);\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"text.secondary\",\n ref: ref,\n ownerState: ownerState\n }, props, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.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 * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\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 DialogContentText;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\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 ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\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.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\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 [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.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 [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.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 * 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.\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 Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\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 menu 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 * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\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\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;"],"names":["getLoadingButtonUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","LoadingButtonRoot","styled","Button","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","root","startIconLoadingStart","loadingButtonClasses","endIconLoadingEnd","ownerState","theme","_extends","transition","transitions","create","duration","short","opacity","loadingPosition","color","fullWidth","marginRight","marginLeft","LoadingButtonLoadingIndicator","loadingIndicator","capitalize","position","visibility","display","variant","left","transform","palette","action","disabled","right","React","inProps","ref","useThemeProps","children","idProp","id","loading","loadingIndicatorProp","other","_objectWithoutPropertiesLoose","useId","_jsx","CircularProgress","size","classes","slots","startIcon","endIcon","composedClasses","composeClasses","useUtilityClasses","_jsxs","className","getDialogActionsUtilityClass","DialogActionsRoot","disableSpacing","spacing","alignItems","padding","justifyContent","flex","clsx","getDialogContentTextUtilityClass","DialogContentTextRoot","Typography","component","getDividerUtilityClass","dividerClasses","getMenuItemUtilityClass","MenuItemRoot","ButtonBase","dense","divider","disableGutters","gutters","typography","body1","textDecoration","minHeight","paddingTop","paddingBottom","boxSizing","whiteSpace","paddingLeft","paddingRight","borderBottom","backgroundClip","backgroundColor","hover","menuItemClasses","alpha","primary","main","selectedOpacity","focusOpacity","hoverOpacity","focus","disabledOpacity","marginTop","marginBottom","listItemTextClasses","listItemIconClasses","minWidth","breakpoints","up","body2","fontSize","autoFocus","focusVisibleClassName","role","tabIndexProp","tabIndex","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","selected","handleRef","useForkRef","undefined","value","focusVisible"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/8961.1587a077.chunk.js.map b/portal-ui/build/static/js/8961.1587a077.chunk.js.map index e7639e348..1d5130722 100644 --- a/portal-ui/build/static/js/8961.1587a077.chunk.js.map +++ b/portal-ui/build/static/js/8961.1587a077.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/8961.1587a077.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Buckets/ListBuckets/AddBucket.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/PageHeader/PageHeader.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 { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button, LinearProgress, SelectChangeEvent } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { containerForHeader } from \"../../Common/FormComponents/common/styleLibrary\";\nimport api from \"../../../../common/api\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport { factorForDropdown, getBytes } from \"../../../../common/utils\";\nimport { AppState } from \"../../../../store\";\nimport history from \"../../../../history\";\nimport { connect } from \"react-redux\";\nimport {\n addBucketEnableObjectLocking,\n addBucketName,\n addBucketQuota,\n addBucketQuotaSize,\n addBucketQuotaType,\n addBucketQuotaUnit,\n addBucketRetention,\n addBucketRetentionMode,\n addBucketRetentionUnit,\n addBucketRetentionValidity,\n addBucketVersioning,\n} from \"../actions\";\nimport { useDebounce } from \"use-debounce\";\nimport { MakeBucketRequest } from \"../types\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport BackLink from \"../../../../common/BackLink\";\nimport { BucketsIcon } from \"../../../../icons\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n marginTop: 24,\n textAlign: \"right\",\n \"& .MuiButton-root\": {\n marginLeft: 8,\n },\n },\n error: {\n color: \"#b53b4b\",\n border: \"1px solid #b53b4b\",\n padding: 8,\n borderRadius: 3,\n },\n title: {\n marginBottom: 8,\n },\n headTitle: {\n fontWeight: \"bold\",\n fontSize: 16,\n paddingLeft: 8,\n },\n h6title: {\n fontWeight: \"bold\",\n color: \"#000000\",\n fontSize: 20,\n paddingBottom: 8,\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IAddBucketProps {\n classes: any;\n addBucketName: typeof addBucketName;\n addBucketVersioned: typeof addBucketVersioning;\n enableObjectLocking: typeof addBucketEnableObjectLocking;\n addBucketQuota: typeof addBucketQuota;\n addBucketQuotaType: typeof addBucketQuotaType;\n addBucketQuotaSize: typeof addBucketQuotaSize;\n addBucketQuotaUnit: typeof addBucketQuotaUnit;\n addBucketRetention: typeof addBucketRetention;\n addBucketRetentionMode: typeof addBucketRetentionMode;\n addBucketRetentionUnit: typeof addBucketRetentionUnit;\n addBucketRetentionValidity: typeof addBucketRetentionValidity;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n bucketName: string;\n versioningEnabled: boolean;\n lockingEnabled: boolean;\n quotaEnabled: boolean;\n quotaType: string;\n quotaSize: string;\n quotaUnit: string;\n retentionEnabled: boolean;\n retentionMode: string;\n retentionUnit: string;\n retentionValidity: number;\n distributedSetup: boolean;\n}\n\nconst AddBucket = ({\n classes,\n addBucketName,\n addBucketVersioned,\n enableObjectLocking,\n addBucketQuota,\n addBucketQuotaType,\n addBucketQuotaSize,\n addBucketQuotaUnit,\n addBucketRetention,\n addBucketRetentionMode,\n addBucketRetentionUnit,\n addBucketRetentionValidity,\n setErrorSnackMessage,\n bucketName,\n versioningEnabled,\n lockingEnabled,\n quotaEnabled,\n quotaType,\n quotaSize,\n quotaUnit,\n retentionEnabled,\n retentionMode,\n retentionUnit,\n retentionValidity,\n distributedSetup,\n}: IAddBucketProps) => {\n const [addLoading, setAddLoading] = useState(false);\n const [sendEnabled, setSendEnabled] = useState(false);\n const [lockingFieldDisabled, setLockingFieldDisabled] =\n useState(false);\n\n const addRecord = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n\n let request: MakeBucketRequest = {\n name: bucketName,\n versioning: distributedSetup ? versioningEnabled : false,\n locking: distributedSetup ? lockingEnabled : false,\n };\n\n if (distributedSetup) {\n if (quotaEnabled) {\n const amount = getBytes(quotaSize, quotaUnit, false);\n request.quota = {\n enabled: true,\n quota_type: quotaType,\n amount: parseInt(amount),\n };\n }\n\n if (retentionEnabled) {\n request.retention = {\n mode: retentionMode,\n unit: retentionUnit,\n validity: retentionValidity,\n };\n }\n }\n\n api\n .invoke(\"POST\", \"/api/v1/buckets\", request)\n .then((res) => {\n setAddLoading(false);\n const newBucketName = `${bucketName}`;\n resetForm();\n history.push(`/buckets/${newBucketName}/browse`);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setErrorSnackMessage(err);\n });\n };\n\n const [value] = useDebounce(bucketName, 1000);\n\n useEffect(() => {\n addBucketName(value);\n }, [value, addBucketName]);\n\n const resetForm = () => {\n addBucketName(\"\");\n addBucketVersioned(false);\n enableObjectLocking(false);\n addBucketQuota(false);\n addBucketQuotaType(\"hard\");\n addBucketQuotaSize(\"1\");\n addBucketQuotaUnit(\"TiB\");\n addBucketRetention(false);\n addBucketRetentionMode(\"compliance\");\n addBucketRetentionUnit(\"days\");\n addBucketRetentionValidity(1);\n };\n\n useEffect(() => {\n let valid = false;\n\n if (bucketName.trim() !== \"\") {\n valid = true;\n }\n\n if (quotaEnabled && valid) {\n if (quotaSize.trim() === \"\" || parseInt(quotaSize) === 0) {\n valid = false;\n }\n }\n\n if (!versioningEnabled || !retentionEnabled) {\n addBucketRetention(false);\n addBucketRetentionMode(\"compliance\");\n addBucketRetentionUnit(\"days\");\n addBucketRetentionValidity(1);\n }\n\n if (retentionEnabled) {\n // if retention is enabled, then objec locking should be enabled as well\n enableObjectLocking(true);\n setLockingFieldDisabled(true);\n } else {\n setLockingFieldDisabled(false);\n }\n\n if (\n retentionEnabled &&\n (Number.isNaN(retentionValidity) || retentionValidity < 1)\n ) {\n valid = false;\n }\n\n setSendEnabled(valid);\n }, [\n bucketName,\n retentionEnabled,\n lockingEnabled,\n quotaType,\n quotaSize,\n quotaUnit,\n quotaEnabled,\n addBucketRetention,\n addBucketRetentionMode,\n addBucketRetentionUnit,\n addBucketRetentionValidity,\n retentionValidity,\n versioningEnabled,\n enableObjectLocking,\n ]);\n\n return (\n \n \n \n \n \n ) => {\n addRecord(e);\n }}\n >\n \n \n \n \n \n \n Create Bucket\n \n \n \n \n ) => {\n addBucketName(event.target.value);\n }}\n label=\"Bucket Name\"\n value={bucketName}\n />\n \n \n
Features
\n
\n {!distributedSetup && (\n \n
\n These features are unavailable in a single-disk setup.\n
\n Please deploy a server in{\" \"}\n \n Distributed Mode\n {\" \"}\n to use these features.\n
\n
\n
\n
\n )}\n
\n\n \n ) => {\n addBucketVersioned(event.target.checked);\n }}\n description={\n \"Allows to keep multiple versions of the same object under the same key.\"\n }\n label={\"Versioning\"}\n disabled={!distributedSetup || lockingEnabled}\n />\n \n \n ) => {\n enableObjectLocking(event.target.checked);\n if (event.target.checked) {\n addBucketVersioned(true);\n }\n }}\n label={\"Object Locking\"}\n description={\n \"Required to support retention and legal hold. Can only be enabled at bucket creation.\"\n }\n />\n \n\n \n ) => {\n addBucketQuota(event.target.checked);\n }}\n label={\"Quota\"}\n description={\"Limit the amount of data in the bucket.\"}\n disabled={!distributedSetup}\n />\n \n {quotaEnabled && distributedSetup && (\n \n \n \n ) => {\n addBucketQuotaType(e.target.value as string);\n }}\n selectorOptions={[{ value: \"hard\", label: \"Hard\" }]}\n />\n \n \n \n \n \n ) => {\n addBucketQuotaSize(e.target.value);\n }}\n label=\"Quota\"\n value={quotaSize}\n required\n min=\"1\"\n />\n \n \n
\n ) => {\n addBucketQuotaUnit(e.target.value as string);\n }}\n options={factorForDropdown()}\n />\n
\n
\n
\n
\n
\n )}\n {versioningEnabled && distributedSetup && (\n \n \n ) => {\n addBucketRetention(event.target.checked);\n }}\n label={\"Retention\"}\n description={\n \"Impose rules to prevent object deletion for a period of time.\"\n }\n />\n \n )}\n {retentionEnabled && distributedSetup && (\n \n \n \n ) => {\n addBucketRetentionMode(e.target.value as string);\n }}\n selectorOptions={[\n { value: \"compliance\", label: \"Compliance\" },\n { value: \"governance\", label: \"Governance\" },\n ]}\n />\n \n \n \n ) => {\n addBucketRetentionUnit(e.target.value as string);\n }}\n selectorOptions={[\n { value: \"days\", label: \"Days\" },\n { value: \"years\", label: \"Years\" },\n ]}\n />\n \n \n ) => {\n addBucketRetentionValidity(e.target.valueAsNumber);\n }}\n label=\"Retention Validity\"\n value={String(retentionValidity)}\n required\n min=\"1\"\n />\n \n \n )}\n
\n \n \n Clear\n \n \n Create Bucket\n \n \n {addLoading && (\n \n \n \n )}\n
\n \n
\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n addBucketModalOpen: state.buckets.open,\n bucketName: state.buckets.addBucketName,\n versioningEnabled: state.buckets.addBucketVersioningEnabled,\n lockingEnabled: state.buckets.addBucketLockingEnabled,\n quotaEnabled: state.buckets.addBucketQuotaEnabled,\n quotaType: state.buckets.addBucketQuotaType,\n quotaSize: state.buckets.addBucketQuotaSize,\n quotaUnit: state.buckets.addBucketQuotaUnit,\n retentionEnabled: state.buckets.addBucketRetentionEnabled,\n retentionMode: state.buckets.addBucketRetentionMode,\n retentionUnit: state.buckets.addBucketRetentionUnit,\n retentionValidity: state.buckets.addBucketRetentionValidity,\n distributedSetup: state.system.distributedSetup,\n});\n\nconst connector = connect(mapState, {\n addBucketName: addBucketName,\n addBucketVersioned: addBucketVersioning,\n enableObjectLocking: addBucketEnableObjectLocking,\n addBucketQuota: addBucketQuota,\n addBucketQuotaType: addBucketQuotaType,\n addBucketQuotaSize: addBucketQuotaSize,\n addBucketQuotaUnit: addBucketQuotaUnit,\n addBucketRetention: addBucketRetention,\n addBucketRetentionMode: addBucketRetentionMode,\n addBucketRetentionUnit: addBucketRetentionUnit,\n addBucketRetentionValidity: addBucketRetentionValidity,\n setErrorSnackMessage: setErrorSnackMessage,\n});\n\nexport default connector(withStyles(styles)(AddBucket));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n
\n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n
\n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\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 { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","connector","connect","state","addBucketModalOpen","buckets","open","bucketName","addBucketName","versioningEnabled","addBucketVersioningEnabled","lockingEnabled","addBucketLockingEnabled","quotaEnabled","addBucketQuotaEnabled","quotaType","addBucketQuotaType","quotaSize","addBucketQuotaSize","quotaUnit","addBucketQuotaUnit","retentionEnabled","addBucketRetentionEnabled","retentionMode","addBucketRetentionMode","retentionUnit","addBucketRetentionUnit","retentionValidity","addBucketRetentionValidity","distributedSetup","system","addBucketVersioned","addBucketVersioning","enableObjectLocking","addBucketEnableObjectLocking","addBucketQuota","addBucketRetention","setErrorSnackMessage","buttonContainer","marginTop","textAlign","marginLeft","error","border","borderRadius","title","marginBottom","headTitle","fontWeight","paddingLeft","h6title","paddingBottom","containerForHeader","spacing","useState","addLoading","setAddLoading","sendEnabled","setSendEnabled","lockingFieldDisabled","setLockingFieldDisabled","useDebounce","value","useEffect","resetForm","valid","trim","parseInt","Number","isNaN","Fragment","item","xs","boxy","noValidate","autoComplete","onSubmit","e","event","preventDefault","request","name","versioning","locking","amount","getBytes","quota","enabled","quota_type","retention","mode","unit","validity","api","then","res","newBucketName","history","catch","err","addRecord","container","id","autoFocus","onChange","target","href","rel","checked","description","disabled","currentSelection","selectorOptions","type","required","min","style","options","factorForDropdown","valueAsNumber","String","variant","clearButton","StyledSwitch","root","height","margin","switchBase","transform","common","white","backgroundColor","boxShadow","opacity","thumb","track","transition","transitions","create","focusVisible","switchContainer","Switch","divContainer","indicatorLabelOn","indicatorLabel","fieldDescription","tooltip","actionsTray","fieldBasic","switchOnly","indicatorLabels","switchComponent","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","sm","md","htmlFor","inputLabel","tooltipContainer","placement","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxHeight","multiline","index","placeholder","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","size","radioStyles","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","radioUnselectedIcon","optionLabel","checkedOption","disableOptions","displayInColumn","radioOptionsLayout","row","map","selectorOption","control","SelectStyled","lineHeight","input","borderColor","InputBase","fieldContainer","flexFlow","option","mapDispatchToProps","toggleList","sidebarOpen","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","labelStyle","rightMenu","logo","fill","main","middleComponent","actions","direction","sx","paddingTop"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/8961.1587a077.chunk.js","mappings":"+KAiFA,KAAeA,EAAAA,EAAAA,IA1DA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXC,KAAM,CACJC,QAAS,OACTC,WAAY,SACZC,eAAgB,OAChBC,SAAU,QACVC,QAAS,sBACTC,MAAOR,EAAMS,QAAQC,QAAQC,MAC7BC,SAAU,QACV,UAAW,CACTP,eAAgB,cAGpBQ,KAAM,CACJC,YAAa,QACbX,QAAS,OACTC,WAAY,SACZW,eAAgB,SAChB,iBAAkB,CAChBC,MAAO,SAsCf,EAzBiB,SAAC,GAMA,IALhBC,EAKe,EALfA,GACAC,EAIe,EAJfA,MACAC,EAGe,EAHfA,QACAC,EAEe,EAFfA,UACAC,EACe,EADfA,eAEA,OACE,UAAC,KAAD,CACEJ,GAAIA,EACJG,UAAS,UAAKD,EAAQjB,KAAb,YAAqBkB,GAAwB,IACtDE,QAAS,WACHD,GACFA,KALN,WASE,gBAAKD,UAAWD,EAAQN,KAAxB,UACE,SAAC,KAAD,OAEF,gBAAKO,UAAWD,EAAQD,MAAxB,SAAgCA,W,mTCqdhCK,GAAYC,EAAAA,EAAAA,KAhBD,SAACC,GAAD,MAAsB,CACrCC,mBAAoBD,EAAME,QAAQC,KAClCC,WAAYJ,EAAME,QAAQG,cAC1BC,kBAAmBN,EAAME,QAAQK,2BACjCC,eAAgBR,EAAME,QAAQO,wBAC9BC,aAAcV,EAAME,QAAQS,sBAC5BC,UAAWZ,EAAME,QAAQW,mBACzBC,UAAWd,EAAME,QAAQa,mBACzBC,UAAWhB,EAAME,QAAQe,mBACzBC,iBAAkBlB,EAAME,QAAQiB,0BAChCC,cAAepB,EAAME,QAAQmB,uBAC7BC,cAAetB,EAAME,QAAQqB,uBAC7BC,kBAAmBxB,EAAME,QAAQuB,2BACjCC,iBAAkB1B,EAAM2B,OAAOD,oBAGG,CAClCrB,cAAeA,EAAAA,GACfuB,mBAAoBC,EAAAA,GACpBC,oBAAqBC,EAAAA,GACrBC,eAAgBA,EAAAA,GAChBnB,mBAAoBA,EAAAA,GACpBE,mBAAoBA,EAAAA,GACpBE,mBAAoBA,EAAAA,GACpBgB,mBAAoBA,EAAAA,GACpBZ,uBAAwBA,EAAAA,GACxBE,uBAAwBA,EAAAA,GACxBE,2BAA4BA,EAAAA,GAC5BS,qBAAsBA,EAAAA,KAGxB,UAAepC,GAAUxB,EAAAA,EAAAA,IA1fV,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,QACX2D,gBAAiB,CACfC,UAAW,GACXC,UAAW,QACX,oBAAqB,CACnBC,WAAY,IAGhBC,MAAO,CACLxD,MAAO,UACPyD,OAAQ,oBACR1D,QAAS,EACT2D,aAAc,GAEhBC,MAAO,CACLC,aAAc,GAEhBC,UAAW,CACTC,WAAY,OACZ1D,SAAU,GACV2D,YAAa,GAEfC,QAAS,CACPF,WAAY,OACZ9D,MAAO,UACPI,SAAU,GACV6D,cAAe,KAEdC,EAAAA,EAAAA,IAAmB1E,EAAM2E,QAAQ,QA6df5E,EA9bP,SAAC,GA0BK,IAzBtBoB,EAyBqB,EAzBrBA,QACAW,EAwBqB,EAxBrBA,cACAuB,EAuBqB,EAvBrBA,mBACAE,EAsBqB,EAtBrBA,oBACAE,EAqBqB,EArBrBA,eACAnB,EAoBqB,EApBrBA,mBACAE,EAmBqB,EAnBrBA,mBACAE,EAkBqB,EAlBrBA,mBACAgB,EAiBqB,EAjBrBA,mBACAZ,EAgBqB,EAhBrBA,uBACAE,EAeqB,EAfrBA,uBACAE,EAcqB,EAdrBA,2BACAS,EAaqB,EAbrBA,qBACA9B,EAYqB,EAZrBA,WACAE,EAWqB,EAXrBA,kBACAE,EAUqB,EAVrBA,eACAE,EASqB,EATrBA,aACAE,EAQqB,EARrBA,UACAE,EAOqB,EAPrBA,UACAE,EAMqB,EANrBA,UACAE,EAKqB,EALrBA,iBACAE,EAIqB,EAJrBA,cACAE,EAGqB,EAHrBA,cACAE,EAEqB,EAFrBA,kBACAE,EACqB,EADrBA,iBAEA,GAAoCyB,EAAAA,EAAAA,WAAkB,GAAtD,eAAOC,EAAP,KAAmBC,EAAnB,KACA,GAAsCF,EAAAA,EAAAA,WAAkB,GAAxD,eAAOG,EAAP,KAAoBC,EAApB,KACA,GACEJ,EAAAA,EAAAA,WAAkB,GADpB,eAAOK,GAAP,KAA6BC,GAA7B,KAiDA,IAAgBC,EAAAA,EAAAA,GAAYtD,EAAY,KAAjCuD,IAAP,iBAEAC,EAAAA,EAAAA,YAAU,WACRvD,EAAcsD,MACb,CAACA,GAAOtD,IAEX,IAAMwD,GAAY,WAChBxD,EAAc,IACduB,GAAmB,GACnBE,GAAoB,GACpBE,GAAe,GACfnB,EAAmB,QACnBE,EAAmB,KACnBE,EAAmB,OACnBgB,GAAmB,GACnBZ,EAAuB,cACvBE,EAAuB,QACvBE,EAA2B,IAwD7B,OArDAmC,EAAAA,EAAAA,YAAU,WACR,IAAIE,GAAQ,EAEc,KAAtB1D,EAAW2D,SACbD,GAAQ,GAGNpD,GAAgBoD,IACO,KAArBhD,EAAUiD,QAAyC,IAAxBC,SAASlD,KACtCgD,GAAQ,IAIPxD,GAAsBY,IACzBe,GAAmB,GACnBZ,EAAuB,cACvBE,EAAuB,QACvBE,EAA2B,IAGzBP,GAEFY,GAAoB,GACpB2B,IAAwB,IAExBA,IAAwB,GAIxBvC,IACC+C,OAAOC,MAAM1C,IAAsBA,EAAoB,KAExDsC,GAAQ,GAGVP,EAAeO,KACd,CACD1D,EACAc,EACAV,EACAI,EACAE,EACAE,EACAN,EACAuB,EACAZ,EACAE,EACAE,EACAD,EACAlB,EACAwB,KAIA,UAAC,EAAAqC,SAAD,YACE,SAAC,IAAD,CAAY1E,MAAO,qBACnB,SAAC,IAAD,CAAUA,MAAO,oBAAqBD,GAAI,cAC1C,SAAC,IAAD,WACE,SAAC,KAAD,CAAM4E,MAAI,EAACC,GAAI,GAAI1E,UAAWD,EAAQ4E,KAAtC,UACE,iBACEC,YAAU,EACVC,aAAa,MACbC,SAAU,SAACC,IAhIH,SAACC,GAEjB,GADAA,EAAMC,kBACFxB,EAAJ,CAGAC,GAAc,GAEd,IAAIwB,EAA6B,CAC/BC,KAAM1E,EACN2E,aAAYrD,GAAmBpB,EAC/B0E,UAAStD,GAAmBlB,GAG9B,GAAIkB,EAAkB,CACpB,GAAIhB,EAAc,CAChB,IAAMuE,GAASC,EAAAA,EAAAA,IAASpE,EAAWE,GAAW,GAC9C6D,EAAQM,MAAQ,CACdC,SAAS,EACTC,WAAYzE,EACZqE,OAAQjB,SAASiB,IAIjB/D,IACF2D,EAAQS,UAAY,CAClBC,KAAMnE,EACNoE,KAAMlE,EACNmE,SAAUjE,IAKhBkE,EAAAA,EAAAA,OACU,OAAQ,kBAAmBb,GAClCc,MAAK,SAACC,GACLvC,GAAc,GACd,IAAMwC,EAAa,UAAMzF,GACzByD,KACAiC,EAAAA,EAAAA,KAAA,mBAAyBD,EAAzB,eAEDE,OAAM,SAACC,GACN3C,GAAc,GACdnB,EAAqB8D,OAuFfC,CAAUvB,IAJd,UAOE,UAAC,KAAD,CAAMwB,WAAS,EAAf,WACE,UAAC,KAAD,CAAM9B,MAAI,EAACC,GAAI,GAAI6B,WAAS,EAACvG,UAAWD,EAAQgD,MAAhD,WACE,SAAC,KAAD,CAAM0B,MAAI,EAACC,GAAI,OAAf,UACE,SAAC,KAAD,OAEF,SAAC,KAAD,CAAMD,MAAI,EAACC,IAAE,EAAC1E,UAAWD,EAAQkD,UAAjC,+BAIF,UAAC,KAAD,CAAMwB,MAAI,EAACC,GAAI,GAAI6B,WAAS,EAA5B,WACE,SAAC,KAAD,CAAM9B,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,IAAD,CACE8B,GAAG,cACHrB,KAAK,cACLsB,WAAW,EACXC,SAAU,SAAC1B,GACTtE,EAAcsE,EAAM2B,OAAO3C,QAE7BlE,MAAM,cACNkE,MAAOvD,OAGX,UAAC,KAAD,CAAMgE,MAAI,EAACC,GAAI,GAAf,WACE,gBAAK1E,UAAWD,EAAQqD,QAAxB,uBACA,mBACErB,IACA,UAAC,EAAAyC,SAAD,YACE,iBAAKxE,UAAWD,EAAQ6C,MAAxB,oEAEE,kBAFF,4BAG4B,KAC1B,cACEgE,KAAK,yFACLD,OAAO,SACPE,IAAI,aAHN,8BAMK,IAVP,6BAaA,mBACA,yBAKN,SAAC,KAAD,CAAMpC,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,IAAD,CACEV,MAAM,YACNwC,GAAG,YACHrB,KAAK,YACL2B,QAASnG,EACT+F,SAAU,SAAC1B,GACT/C,EAAmB+C,EAAM2B,OAAOG,UAElCC,YACE,0EAEFjH,MAAO,aACPkH,UAAWjF,GAAoBlB,OAGnC,SAAC,KAAD,CAAM4D,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,IAAD,CACEV,MAAM,UACNwC,GAAG,UACHrB,KAAK,UACL6B,SAAUnD,KAAyB9B,EACnC+E,QAASjG,EACT6F,SAAU,SAAC1B,GACT7C,EAAoB6C,EAAM2B,OAAOG,SAC7B9B,EAAM2B,OAAOG,SACf7E,GAAmB,IAGvBnC,MAAO,iBACPiH,YACE,6FAKN,SAAC,KAAD,CAAMtC,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,IAAD,CACEV,MAAM,eACNwC,GAAG,eACHrB,KAAK,eACL2B,QAAS/F,EACT2F,SAAU,SAAC1B,GACT3C,EAAe2C,EAAM2B,OAAOG,UAE9BhH,MAAO,QACPiH,YAAa,0CACbC,UAAWjF,MAGdhB,GAAgBgB,IACf,UAAC,WAAD,YACE,SAAC,KAAD,CAAM0C,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,IAAD,CACEuC,iBAAkBhG,EAClBuF,GAAG,aACHrB,KAAK,aACLrF,MAAM,aACN4G,SAAU,SACR3B,GAEA7D,EAAmB6D,EAAE4B,OAAO3C,QAE9BkD,gBAAiB,CAAC,CAAElD,MAAO,OAAQlE,MAAO,cAG9C,SAAC,KAAD,CAAM2E,MAAI,EAACC,GAAI,GAAf,UACE,UAAC,KAAD,CAAM6B,WAAS,EAAf,WACE,SAAC,KAAD,CAAM9B,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,IAAD,CACEyC,KAAK,SACLX,GAAG,aACHrB,KAAK,aACLuB,SAAU,SACR3B,GAEA3D,EAAmB2D,EAAE4B,OAAO3C,QAE9BlE,MAAM,QACNkE,MAAO7C,EACPiG,UAAQ,EACRC,IAAI,SAGR,SAAC,KAAD,CAAM5C,MAAI,EAACC,GAAI,EAAf,UACE,gBAAK4C,MAAO,CAAE1H,MAAO,KAArB,UACE,SAAC,IAAD,CACEE,MAAM,GACN0G,GAAG,aACHrB,KAAK,aACLnB,MAAO3C,EACPqF,SAAU,SAAC3B,GACTzD,EAAmByD,EAAE4B,OAAO3C,QAE9BuD,SAASC,EAAAA,EAAAA,oBAQtB7G,GAAqBoB,IACpB,SAAC,KAAD,CAAM0C,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,IAAD,CACEV,MAAM,mBACNwC,GAAG,mBACHrB,KAAK,mBACL2B,QAASvF,EACTmF,SAAU,SACR1B,GAEA1C,EAAmB0C,EAAM2B,OAAOG,UAElChH,MAAO,YACPiH,YACE,oEAKPxF,GAAoBQ,IACnB,UAAC,WAAD,YACE,SAAC,KAAD,CAAM0C,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,IAAD,CACEuC,iBAAkBxF,EAClB+E,GAAG,iBACHrB,KAAK,iBACLrF,MAAM,iBACN4G,SAAU,SACR3B,GAEArD,EAAuBqD,EAAE4B,OAAO3C,QAElCkD,gBAAiB,CACf,CAAElD,MAAO,aAAclE,MAAO,cAC9B,CAAEkE,MAAO,aAAclE,MAAO,oBAIpC,SAAC,KAAD,CAAM2E,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,IAAD,CACEuC,iBAAkBtF,EAClB6E,GAAG,iBACHrB,KAAK,iBACLrF,MAAM,iBACN4G,SAAU,SACR3B,GAEAnD,EAAuBmD,EAAE4B,OAAO3C,QAElCkD,gBAAiB,CACf,CAAElD,MAAO,OAAQlE,MAAO,QACxB,CAAEkE,MAAO,QAASlE,MAAO,eAI/B,SAAC,KAAD,CAAM2E,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,IAAD,CACEyC,KAAK,SACLX,GAAG,qBACHrB,KAAK,qBACLuB,SAAU,SAAC3B,GACTjD,EAA2BiD,EAAE4B,OAAOc,gBAEtC3H,MAAM,qBACNkE,MAAO0D,OAAO7F,GACduF,UAAQ,EACRC,IAAI,eAMd,UAAC,KAAD,CAAM5C,MAAI,EAACC,GAAI,GAAI1E,UAAWD,EAAQyC,gBAAtC,WACE,SAAC,IAAD,CACE2E,KAAK,SACLQ,QAAS,WACT3H,UAAWD,EAAQ6H,YACnB1H,QAASgE,GAJX,oBAQA,SAAC,IAAD,CACEiD,KAAK,SACLQ,QAAQ,YACRvI,MAAM,UACN4H,SAAUvD,IAAeE,EAJ3B,8BASDF,IACC,SAAC,KAAD,CAAMgB,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,IAAD,uB,mLCncZmD,GAAelJ,EAAAA,EAAAA,IAAW,SAACC,GAAD,MAAY,CAC1CkJ,KAAM,CACJlI,MAAO,GACPmI,OAAQ,GACR5I,QAAS,EACT6I,OAAQ,GAEVC,WAAY,CACV9I,QAAS,EACT,YAAa,CACX+I,UAAW,mBACX9I,MAAOR,EAAMS,QAAQ8I,OAAOC,MAC5B,aAAc,CACZC,gBAAiB,UACjBC,UAAW,oCACXC,QAAS,EACT1F,OAAQ,SAGZ,wBAAyB,CACvBzD,MAAO,UACPyD,OAAQ,mBAGZ2F,MAAO,CACL5I,MAAO,GACPmI,OAAQ,GACRM,gBAAiB,UACjBxF,OAAQ,oBACRF,WAAY,GAEd8F,MAAO,CACL3F,aAAc,GACduF,gBAAiB,UACjBC,UAAW,oCACXC,QAAS,EACTG,WAAY9J,EAAM+J,YAAYC,OAAO,CAAC,mBAAoB,YAE5D9B,QAAS,GACT+B,aAAc,GACdC,gBAAiB,CACf/J,QAAS,OACTC,WAAY,SACZW,eAAgB,eA3CChB,CA6CjBoK,EAAAA,GAsGJ,KAAepK,EAAAA,EAAAA,IA5KA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,gBACXmK,aAAc,CACZhG,aAAc,IAEhBiG,iBAAkB,CAChB/F,WAAY,OACZ9D,MAAO,sBAET8J,eAAgB,CACd1J,SAAU,GACVJ,MAAO,UACP4I,OAAQ,gBAEVmB,iBAAkB,CAChB1G,UAAW,EACXrD,MAAO,WAETgK,QAAS,CACP5J,SAAU,KAET6J,EAAAA,IACAC,EAAAA,OAsJP,EApG0B,SAAC,GAaP,IAAD,IAZjBxJ,MAAAA,OAYiB,MAZT,GAYS,EAXjB4G,EAWiB,EAXjBA,SACA1C,EAUiB,EAVjBA,MACAwC,EASiB,EATjBA,GACArB,EAQiB,EARjBA,KAQiB,IAPjB2B,QAAAA,OAOiB,aANjBE,SAAAA,OAMiB,aALjBuC,WAAAA,OAKiB,aAJjBH,QAAAA,OAIiB,MAJP,GAIO,MAHjBrC,YAAAA,OAGiB,MAHH,GAGG,EAFjBhH,EAEiB,EAFjBA,QACAyJ,EACiB,EADjBA,gBAEMC,GACJ,UAAC,WAAD,YACIF,IACA,iBACEvJ,WAAW0J,EAAAA,EAAAA,GAAK3J,EAAQmJ,gBAAT,UACZnJ,EAAQkJ,kBAAoBnC,IAFjC,SAKG0C,GAAmBA,EAAgBG,OAAS,EACzCH,EAAgB,GAChB,SAGR,SAAC3B,EAAD,CACEf,QAASA,EACTJ,SAAUA,EACVtH,MAAM,UACN+F,KAAMA,EACNyE,WAAY,CAAE,aAAc,oBAC5B5C,SAAUA,EACV6C,eAAa,EACbC,oBAAkB,EAClBC,oBAAkB,EAClB/F,MAAOA,KAEPuF,IACA,iBACEvJ,WAAW0J,EAAAA,EAAAA,GAAK3J,EAAQmJ,gBAAT,UACZnJ,EAAQkJ,iBAAmBnC,IAFhC,SAKG0C,EAAkBA,EAAgB,GAAK,UAMhD,OAAID,EACKE,GAIP,gBAAKzJ,UAAWD,EAAQiJ,aAAxB,UACE,UAAC,KAAD,CAAMzC,WAAS,EAACvH,WAAY,SAA5B,WACE,SAAC,KAAD,CAAMyF,MAAI,EAACC,IAAE,EAAb,UACE,UAAC,KAAD,CAAM6B,WAAS,EAAf,WACE,SAAC,KAAD,CAAM9B,MAAI,EAACC,GAAI,GAAIsF,GAAI,EAAGC,GAAI,EAA9B,SACa,KAAVnK,IACC,UAAC,IAAD,CAAYoK,QAAS1D,EAAIxG,UAAWD,EAAQoK,WAA5C,WACE,0BAAOrK,IACM,KAAZsJ,IACC,gBAAKpJ,UAAWD,EAAQqK,iBAAxB,UACE,SAAC,IAAD,CAASrH,MAAOqG,EAASiB,UAAU,YAAnC,UACE,gBAAKrK,UAAWD,EAAQqJ,QAAxB,UACE,SAAC,IAAD,gBAQd,SAAC,KAAD,CAAM3E,MAAI,EAACC,GAAI,GAAIsF,IAAE,EAACtH,UAAW,OAAjC,SACmB,KAAhBqE,IACC,SAAC,IAAD,CAAYuD,UAAU,IAAItK,UAAWD,EAAQoJ,iBAA7C,SACGpC,YAOX,SAAC,KAAD,CACEtC,MAAI,EACJC,GAAI,GACJsF,GAAI,EACJtH,UAAW,QACX1C,UAAWD,EAAQ+I,gBALrB,SAOGW,a,mLCnHLc,GAAcC,EAAAA,EAAAA,IAAW,SAAC5L,GAAD,OAC7BC,EAAAA,EAAAA,IAAa,UACR4L,EAAAA,QAIP,SAASC,EAAWC,GAClB,IAAM5K,EAAUwK,IAEhB,OACE,SAAC,KAAD,QACEK,WAAY,CAAE7K,QAAAA,IACV4K,IAsIV,KAAehM,EAAAA,EAAAA,IA5KA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,0BACRyK,EAAAA,IACAuB,EAAAA,IAFO,IAGVC,iBAAkB,CAChBC,SAAU,EACVC,SAAU,YAEZC,cAAe,CACbD,SAAU,WACVE,MAAO,EACPC,IAAK,EACL,QAAS,CACPjM,SAAU,GACVkM,UAAW,IAEb,cAAe,CACbD,IAAK,IAGThB,YAAW,kBACNb,EAAAA,GAAAA,YADK,IAERpG,WAAY,gBAsJlB,EAjIwB,SAAC,GA0BH,IAzBpBpD,EAyBmB,EAzBnBA,MACA4G,EAwBmB,EAxBnBA,SACA1C,EAuBmB,EAvBnBA,MACAwC,EAsBmB,EAtBnBA,GACArB,EAqBmB,EArBnBA,KAqBmB,IApBnBgC,KAAAA,OAoBmB,MApBZ,OAoBY,MAnBnBtC,aAAAA,OAmBmB,MAnBJ,MAmBI,MAlBnBmC,SAAAA,OAkBmB,aAjBnBqE,UAAAA,OAiBmB,aAhBnBjC,QAAAA,OAgBmB,MAhBT,GAgBS,MAfnBkC,MAAAA,OAemB,MAfX,EAeW,MAdnB1I,MAAAA,OAcmB,MAdX,GAcW,MAbnBwE,SAAAA,OAamB,aAZnBmE,YAAAA,OAYmB,MAZL,GAYK,EAXnBlE,EAWmB,EAXnBA,IACAmE,EAUmB,EAVnBA,IAUmB,IATnBC,YAAAA,OASmB,MATL,KASK,MARnBC,cAAAA,OAQmB,MARH,KAQG,MAPnBC,gBAAAA,OAOmB,MAPD,GAOC,EANnBV,EAMmB,EANnBA,cAMmB,IALnBW,gBAAAA,OAKmB,aAJnBC,QAAAA,OAImB,MAJT,GAIS,MAHnBpF,UAAAA,OAGmB,SAFnB1G,EAEmB,EAFnBA,QAEmB,IADnBC,UAAAA,OACmB,MADP,GACO,EACf4J,GAAe,QAAK,aAAc0B,GAAUK,GAchD,MAZa,WAATxE,GAAqBE,IACvBuC,EAAU,IAAUvC,GAGT,WAATF,GAAqBqE,IACvB5B,EAAU,IAAU4B,GAGN,KAAZK,IACFjC,EAAU,QAAciC,IAIxB,SAAC,WAAD,WACE,UAAC,KAAD,CACEtF,WAAS,EACTvG,WAAW0J,EAAAA,EAAAA,GACK,KAAd1J,EAAmBA,EAAY,GACrB,KAAV4C,EAAe7C,EAAQ+L,aAAe/L,EAAQgM,mBAJlD,UAOa,KAAVjM,IACC,UAAC,IAAD,CACEoK,QAAS1D,EACTxG,UACE4L,EAAkB7L,EAAQiM,gBAAkBjM,EAAQoK,WAHxD,WAME,4BACGrK,EACAsH,EAAW,IAAM,MAEP,KAAZgC,IACC,gBAAKpJ,UAAWD,EAAQqK,iBAAxB,UACE,SAAC,IAAD,CAASrH,MAAOqG,EAASiB,UAAU,YAAnC,UACE,gBAAKrK,UAAWD,EAAQqJ,QAAxB,UACE,SAAC,IAAD,cAQZ,iBAAKpJ,UAAWD,EAAQ+K,iBAAxB,WACE,SAACJ,EAAD,CACElE,GAAIA,EACJrB,KAAMA,EACN8G,WAAS,EACTjI,MAAOA,EACPyC,UAAWA,EACXO,SAAUA,EACVN,SAAUA,EACVS,KAAMA,EACNkE,UAAWA,EACXxG,aAAcA,EACd+E,WAAYA,EACZhH,MAAiB,KAAVA,EACPsJ,WAAYtJ,EACZ2I,YAAaA,EACbvL,UAAWD,EAAQoM,cAEpBV,IACC,gBACEzL,UAAS,UAAKD,EAAQkL,cAAb,YACG,KAAVnL,EAAe,YAAc,IAFjC,UAKE,SAAC,IAAD,CACEI,QACE+K,EACI,WACEA,KAEF,kBAAM,MAEZmB,KAAM,QACNtC,oBAAoB,EACpBD,eAAe,EACfE,oBAAoB,EAXtB,SAaG0B,MAINC,IACC,gBACE1L,UAAS,UAAKD,EAAQkL,cAAb,YACG,KAAVnL,EAAe,YAAc,IAFjC,SAKG4L,gB,yMC3JTW,GAAc7B,EAAAA,EAAAA,IAAW,QAC7B1C,KAAM,CACJ,UAAW,CACTO,gBAAiB,iBAGlBiE,EAAAA,KAGCC,EAAc,SAAC5B,GACnB,IAAM5K,EAAUsM,IAEhB,OACE,SAAC,KAAD,QACErM,UAAWD,EAAQ+H,KACnB+B,eAAa,EACbzK,MAAM,UACNoN,aAAa,iBAAMxM,UAAWD,EAAQ0M,oBACtChN,MAAM,iBAAMO,UAAWD,EAAQ2M,uBAC3B/B,KAgEV,KAAehM,EAAAA,EAAAA,IA9GA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,0BACRyK,EAAAA,IACAuB,EAAAA,IAFO,IAGV8B,YAAa,CACX,iBAAkB,CAChB,+BAAgC,CAC9BvN,MAAO,YAGX,eAAgB,CACdM,YAAa,GAEf,+BAAgC,CAC9BF,SAAU,GACVJ,MAAO,YAGXwN,cAAe,CACb,+BAAgC,CAC9BpN,SAAU,GACVJ,MAAO,UACP8D,WAAY,WAwFpB,EA3DkC,SAAC,GAWX,IAAD,IAVrBgE,gBAAAA,OAUqB,MAVH,GAUG,EATrBD,EASqB,EATrBA,iBACAnH,EAQqB,EARrBA,MACA0G,EAOqB,EAPrBA,GACArB,EAMqB,EANrBA,KACAuB,EAKqB,EALrBA,SAKqB,IAJrB0C,QAAAA,OAIqB,MAJX,GAIW,MAHrByD,eAAAA,OAGqB,SAFrB9M,EAEqB,EAFrBA,QAEqB,IADrB+M,gBAAAA,OACqB,SACrB,OACE,UAAC,KAAD,CAAMvG,WAAS,EAACvH,WAAY,SAA5B,WACE,SAAC,KAAD,CAAMyF,MAAI,EAACC,IAAE,EAAb,UACE,UAAC,IAAD,CAAYwF,QAAS1D,EAAIxG,UAAWD,EAAQoK,WAA5C,WACE,0BAAOrK,IACM,KAAZsJ,IACC,gBAAKpJ,UAAWD,EAAQqK,iBAAxB,UACE,SAAC,IAAD,CAASrH,MAAOqG,EAASiB,UAAU,YAAnC,UACE,0BACE,SAAC,IAAD,gBAOZ,SAAC,KAAD,CAAM5F,MAAI,EAACC,IAAE,EAAC1E,UAAWD,EAAQgN,mBAAjC,UACE,SAAC,IAAD,CACE,aAAYvG,EACZA,GAAIA,EACJrB,KAAMA,EACNnB,MAAOiD,EACPP,SAAUA,EACVsG,KAAMF,EACNxF,MAAO,CAAEvI,QAAS,QAAS2D,UAAW,SAPxC,SASGwE,EAAgB+F,KAAI,SAACC,GACpB,OACE,SAAC,IAAD,CAEElJ,MAAOkJ,EAAelJ,MACtBmJ,SAAS,SAACZ,EAAD,IACTzM,MAAOoN,EAAepN,MACtBkH,SAAU6F,EACV7M,WAAW0J,EAAAA,EAAAA,GAAK3J,EAAQ4M,aAAT,UACZ5M,EAAQ6M,cACPM,EAAelJ,QAAUiD,KAR/B,aACa9B,EADb,YACqB+H,EAAelJ,sB,mLCxE5CoJ,GAAezO,EAAAA,EAAAA,IAAW,SAACC,GAAD,OAC9BC,EAAAA,EAAAA,GAAa,CACXiJ,KAAM,CACJC,OAAQ,GACRsF,WAAY,EACZ,YAAa,CACX5K,UAAW7D,EAAM2E,QAAQ,KAG7B+J,MAAO,CACLvF,OAAQ,GACRiD,SAAU,WACV5L,MAAO,UACPI,SAAU,GACV0D,WAAY,IACZ/D,QAAS,qBACT0D,OAAQ,oBACRC,aAAc,EACd/D,QAAS,OACTC,WAAY,SACZ,UAAW,CACTuO,YAAa,WAEf,UAAW,CACTlF,gBAAiB,aAxBJ1J,CA4BnB6O,EAAAA,IAsDF,KAAe7O,EAAAA,EAAAA,IApGA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,0BACRyK,EAAAA,IACAuB,EAAAA,IAFO,IAGVV,YAAW,kBACNb,EAAAA,GAAAA,YADK,IAER,SAAU,CACRpG,WAAY,YAGhBuK,eAAgB,CACd1O,QAAS,OACT,4BAA6B,CAC3B2O,SAAU,gBAuFlB,EApDsB,SAAC,GAUH,IATlB3N,EASiB,EATjBA,QACAyG,EAQiB,EARjBA,GACArB,EAOiB,EAPjBA,KACAuB,EAMiB,EANjBA,SACAa,EAKiB,EALjBA,QACAzH,EAIiB,EAJjBA,MAIiB,IAHjBsJ,QAAAA,OAGiB,MAHP,GAGO,EAFjBpF,EAEiB,EAFjBA,MAEiB,IADjBgD,SAAAA,OACiB,SACjB,OACE,SAAC,WAAD,WACE,UAAC,KAAD,CAAMvC,MAAI,EAACC,GAAI,GAAI1E,UAAWD,EAAQ0N,eAAtC,UACa,KAAV3N,IACC,UAAC,IAAD,CAAYoK,QAAS1D,EAAIxG,UAAWD,EAAQoK,WAA5C,WACE,0BAAOrK,IACM,KAAZsJ,IACC,gBAAKpJ,UAAWD,EAAQqK,iBAAxB,UACE,SAAC,IAAD,CAASrH,MAAOqG,EAASiB,UAAU,YAAnC,UACE,gBAAKrK,UAAWD,EAAQqJ,QAAxB,UACE,SAAC,IAAD,cAOZ,SAAC,IAAD,CAAa6C,WAAS,EAAtB,UACE,SAAC,IAAD,CACEzF,GAAIA,EACJrB,KAAMA,EACNnB,MAAOA,EACP0C,SAAUA,EACV4G,OAAO,SAACF,EAAD,IACPpG,SAAUA,EANZ,SAQGO,EAAQ0F,KAAI,SAACU,GAAD,OACX,SAAC,IAAD,CACE3J,MAAO2J,EAAO3J,MADhB,SAIG2J,EAAO7N,OAJV,iBAEiBqF,EAFjB,YAEyBwI,EAAO7N,wB,0JCwBxC8N,EAAqB,CACzBC,WAAAA,EAAAA,IAGI1N,GAAYC,EAAAA,EAAAA,KAVD,SAACC,GAAD,MAAsB,CACrCyN,YAAazN,EAAM2B,OAAO8L,YAC1BC,aAAc1N,EAAM2B,OAAO+L,aAC3BC,eAAgB3N,EAAM4N,cAAcC,cAAcC,mBAOhBP,GAEpC,IAAezN,GAAUxB,EAAAA,EAAAA,IA7HV,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXuP,gBAAiB,CACfxO,MAAO,OACPyO,UAAW,GACXtP,QAAS,OACTsJ,gBAAiB,OACjBiG,KAAM,EACNhG,UAAW,8BAEbxI,MAAO,CACLf,QAAS,OACTY,eAAgB,aAChBX,WAAY,UAEduP,WAAY,CACVnP,MAAO,OACPI,SAAU,GACV0D,WAAY,IACZP,WAAY,GACZF,UAAW,GAEb+L,UAAW,CACT9L,UAAW,SAEb+L,KAAM,CACJ9L,WAAY,GACZ+L,KAAM9P,EAAMS,QAAQC,QAAQqP,KAC5B,cAAe,CACb/O,MAAO,MAGXgP,gBAAiB,CACf7P,QAAS,OACTY,eAAgB,SAChBX,WAAY,cA0FOL,EAtFN,SAAC,GASA,IARlBoB,EAQiB,EARjBA,QACAD,EAOiB,EAPjBA,MACA+O,EAMiB,EANjBA,QACAf,EAKiB,EALjBA,YACAC,EAIiB,EAJjBA,aACAC,EAGiB,EAHjBA,eACAH,EAEiB,EAFjBA,WACAe,EACiB,EADjBA,gBAEA,OACE,UAAC,KAAD,CACErI,WAAS,EACTvG,UAAS,UAAKD,EAAQqO,gBAAb,gBACTU,UAAU,MACV9P,WAAW,SAJb,WAME,UAAC,KAAD,CACEyF,MAAI,EACJC,GAAI,GACJsF,GAAI,GACJC,GAAI2E,EAAkB,EAAI,EAC1B5O,UAAWD,EAAQD,MACnBiP,GAAI,CACFC,WAAY,CAAC,OAAQ,OAAQ,IAAK,MAPtC,WAUIlB,IACA,gBAAK9N,UAAWD,EAAQ0O,KAAxB,SACGV,GAAe,SAAC,IAAD,KAAmB,SAAC,IAAD,OAGvC,SAAC,IAAD,CAAYpG,QAAQ,KAAK3H,UAAWD,EAAQwO,WAA5C,SACGzO,OAGJ8O,IACC,SAAC,KAAD,CACEnK,MAAI,EACJC,GAAI,GACJsF,GAAI,GACJC,GAAI,EACJjK,UAAWD,EAAQ6O,gBACnBG,GAAI,CAAEtM,UAAW,CAAC,OAAQ,OAAQ,IAAK,MANzC,SAQGmM,KAGL,UAAC,KAAD,CACEnK,MAAI,EACJC,GAAI,GACJsF,GAAI,GACJC,GAAI2E,EAAkB,EAAI,EAC1B5O,UAAWD,EAAQyO,UALrB,UAOGK,GAAWA,EACXb,GAAkBA,EAAerE,OAAS,IACzC,SAAC,IAAD,CACEvK,MAAM,UACN,aAAW,eACXkL,UAAU,OACVpK,QAAS,WACP2N,KAEFzB,KAAK,QAPP,UASE,SAAC,KAAD","sources":["common/BackLink.tsx","screens/Console/Buckets/ListBuckets/AddBucket.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/PageHeader/PageHeader.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 { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button, LinearProgress, SelectChangeEvent } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { containerForHeader } from \"../../Common/FormComponents/common/styleLibrary\";\nimport api from \"../../../../common/api\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport { factorForDropdown, getBytes } from \"../../../../common/utils\";\nimport { AppState } from \"../../../../store\";\nimport history from \"../../../../history\";\nimport { connect } from \"react-redux\";\nimport {\n addBucketEnableObjectLocking,\n addBucketName,\n addBucketQuota,\n addBucketQuotaSize,\n addBucketQuotaType,\n addBucketQuotaUnit,\n addBucketRetention,\n addBucketRetentionMode,\n addBucketRetentionUnit,\n addBucketRetentionValidity,\n addBucketVersioning,\n} from \"../actions\";\nimport { useDebounce } from \"use-debounce\";\nimport { MakeBucketRequest } from \"../types\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport BackLink from \"../../../../common/BackLink\";\nimport { BucketsIcon } from \"../../../../icons\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n marginTop: 24,\n textAlign: \"right\",\n \"& .MuiButton-root\": {\n marginLeft: 8,\n },\n },\n error: {\n color: \"#b53b4b\",\n border: \"1px solid #b53b4b\",\n padding: 8,\n borderRadius: 3,\n },\n title: {\n marginBottom: 8,\n },\n headTitle: {\n fontWeight: \"bold\",\n fontSize: 16,\n paddingLeft: 8,\n },\n h6title: {\n fontWeight: \"bold\",\n color: \"#000000\",\n fontSize: 20,\n paddingBottom: 8,\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IAddBucketProps {\n classes: any;\n addBucketName: typeof addBucketName;\n addBucketVersioned: typeof addBucketVersioning;\n enableObjectLocking: typeof addBucketEnableObjectLocking;\n addBucketQuota: typeof addBucketQuota;\n addBucketQuotaType: typeof addBucketQuotaType;\n addBucketQuotaSize: typeof addBucketQuotaSize;\n addBucketQuotaUnit: typeof addBucketQuotaUnit;\n addBucketRetention: typeof addBucketRetention;\n addBucketRetentionMode: typeof addBucketRetentionMode;\n addBucketRetentionUnit: typeof addBucketRetentionUnit;\n addBucketRetentionValidity: typeof addBucketRetentionValidity;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n bucketName: string;\n versioningEnabled: boolean;\n lockingEnabled: boolean;\n quotaEnabled: boolean;\n quotaType: string;\n quotaSize: string;\n quotaUnit: string;\n retentionEnabled: boolean;\n retentionMode: string;\n retentionUnit: string;\n retentionValidity: number;\n distributedSetup: boolean;\n}\n\nconst AddBucket = ({\n classes,\n addBucketName,\n addBucketVersioned,\n enableObjectLocking,\n addBucketQuota,\n addBucketQuotaType,\n addBucketQuotaSize,\n addBucketQuotaUnit,\n addBucketRetention,\n addBucketRetentionMode,\n addBucketRetentionUnit,\n addBucketRetentionValidity,\n setErrorSnackMessage,\n bucketName,\n versioningEnabled,\n lockingEnabled,\n quotaEnabled,\n quotaType,\n quotaSize,\n quotaUnit,\n retentionEnabled,\n retentionMode,\n retentionUnit,\n retentionValidity,\n distributedSetup,\n}: IAddBucketProps) => {\n const [addLoading, setAddLoading] = useState(false);\n const [sendEnabled, setSendEnabled] = useState(false);\n const [lockingFieldDisabled, setLockingFieldDisabled] =\n useState(false);\n\n const addRecord = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n\n let request: MakeBucketRequest = {\n name: bucketName,\n versioning: distributedSetup ? versioningEnabled : false,\n locking: distributedSetup ? lockingEnabled : false,\n };\n\n if (distributedSetup) {\n if (quotaEnabled) {\n const amount = getBytes(quotaSize, quotaUnit, false);\n request.quota = {\n enabled: true,\n quota_type: quotaType,\n amount: parseInt(amount),\n };\n }\n\n if (retentionEnabled) {\n request.retention = {\n mode: retentionMode,\n unit: retentionUnit,\n validity: retentionValidity,\n };\n }\n }\n\n api\n .invoke(\"POST\", \"/api/v1/buckets\", request)\n .then((res) => {\n setAddLoading(false);\n const newBucketName = `${bucketName}`;\n resetForm();\n history.push(`/buckets/${newBucketName}/browse`);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setErrorSnackMessage(err);\n });\n };\n\n const [value] = useDebounce(bucketName, 1000);\n\n useEffect(() => {\n addBucketName(value);\n }, [value, addBucketName]);\n\n const resetForm = () => {\n addBucketName(\"\");\n addBucketVersioned(false);\n enableObjectLocking(false);\n addBucketQuota(false);\n addBucketQuotaType(\"hard\");\n addBucketQuotaSize(\"1\");\n addBucketQuotaUnit(\"TiB\");\n addBucketRetention(false);\n addBucketRetentionMode(\"compliance\");\n addBucketRetentionUnit(\"days\");\n addBucketRetentionValidity(1);\n };\n\n useEffect(() => {\n let valid = false;\n\n if (bucketName.trim() !== \"\") {\n valid = true;\n }\n\n if (quotaEnabled && valid) {\n if (quotaSize.trim() === \"\" || parseInt(quotaSize) === 0) {\n valid = false;\n }\n }\n\n if (!versioningEnabled || !retentionEnabled) {\n addBucketRetention(false);\n addBucketRetentionMode(\"compliance\");\n addBucketRetentionUnit(\"days\");\n addBucketRetentionValidity(1);\n }\n\n if (retentionEnabled) {\n // if retention is enabled, then objec locking should be enabled as well\n enableObjectLocking(true);\n setLockingFieldDisabled(true);\n } else {\n setLockingFieldDisabled(false);\n }\n\n if (\n retentionEnabled &&\n (Number.isNaN(retentionValidity) || retentionValidity < 1)\n ) {\n valid = false;\n }\n\n setSendEnabled(valid);\n }, [\n bucketName,\n retentionEnabled,\n lockingEnabled,\n quotaType,\n quotaSize,\n quotaUnit,\n quotaEnabled,\n addBucketRetention,\n addBucketRetentionMode,\n addBucketRetentionUnit,\n addBucketRetentionValidity,\n retentionValidity,\n versioningEnabled,\n enableObjectLocking,\n ]);\n\n return (\n \n \n \n \n \n ) => {\n addRecord(e);\n }}\n >\n \n \n \n \n \n \n Create Bucket\n \n \n \n \n ) => {\n addBucketName(event.target.value);\n }}\n label=\"Bucket Name\"\n value={bucketName}\n />\n \n \n
Features
\n
\n {!distributedSetup && (\n \n
\n These features are unavailable in a single-disk setup.\n
\n Please deploy a server in{\" \"}\n \n Distributed Mode\n {\" \"}\n to use these features.\n
\n
\n
\n
\n )}\n
\n\n \n ) => {\n addBucketVersioned(event.target.checked);\n }}\n description={\n \"Allows to keep multiple versions of the same object under the same key.\"\n }\n label={\"Versioning\"}\n disabled={!distributedSetup || lockingEnabled}\n />\n \n \n ) => {\n enableObjectLocking(event.target.checked);\n if (event.target.checked) {\n addBucketVersioned(true);\n }\n }}\n label={\"Object Locking\"}\n description={\n \"Required to support retention and legal hold. Can only be enabled at bucket creation.\"\n }\n />\n \n\n \n ) => {\n addBucketQuota(event.target.checked);\n }}\n label={\"Quota\"}\n description={\"Limit the amount of data in the bucket.\"}\n disabled={!distributedSetup}\n />\n \n {quotaEnabled && distributedSetup && (\n \n \n \n ) => {\n addBucketQuotaType(e.target.value as string);\n }}\n selectorOptions={[{ value: \"hard\", label: \"Hard\" }]}\n />\n \n \n \n \n \n ) => {\n addBucketQuotaSize(e.target.value);\n }}\n label=\"Quota\"\n value={quotaSize}\n required\n min=\"1\"\n />\n \n \n
\n ) => {\n addBucketQuotaUnit(e.target.value as string);\n }}\n options={factorForDropdown()}\n />\n
\n
\n
\n
\n
\n )}\n {versioningEnabled && distributedSetup && (\n \n \n ) => {\n addBucketRetention(event.target.checked);\n }}\n label={\"Retention\"}\n description={\n \"Impose rules to prevent object deletion for a period of time.\"\n }\n />\n \n )}\n {retentionEnabled && distributedSetup && (\n \n \n \n ) => {\n addBucketRetentionMode(e.target.value as string);\n }}\n selectorOptions={[\n { value: \"compliance\", label: \"Compliance\" },\n { value: \"governance\", label: \"Governance\" },\n ]}\n />\n \n \n \n ) => {\n addBucketRetentionUnit(e.target.value as string);\n }}\n selectorOptions={[\n { value: \"days\", label: \"Days\" },\n { value: \"years\", label: \"Years\" },\n ]}\n />\n \n \n ) => {\n addBucketRetentionValidity(e.target.valueAsNumber);\n }}\n label=\"Retention Validity\"\n value={String(retentionValidity)}\n required\n min=\"1\"\n />\n \n \n )}\n
\n \n \n Clear\n \n \n Create Bucket\n \n \n {addLoading && (\n \n \n \n )}\n
\n \n
\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n addBucketModalOpen: state.buckets.open,\n bucketName: state.buckets.addBucketName,\n versioningEnabled: state.buckets.addBucketVersioningEnabled,\n lockingEnabled: state.buckets.addBucketLockingEnabled,\n quotaEnabled: state.buckets.addBucketQuotaEnabled,\n quotaType: state.buckets.addBucketQuotaType,\n quotaSize: state.buckets.addBucketQuotaSize,\n quotaUnit: state.buckets.addBucketQuotaUnit,\n retentionEnabled: state.buckets.addBucketRetentionEnabled,\n retentionMode: state.buckets.addBucketRetentionMode,\n retentionUnit: state.buckets.addBucketRetentionUnit,\n retentionValidity: state.buckets.addBucketRetentionValidity,\n distributedSetup: state.system.distributedSetup,\n});\n\nconst connector = connect(mapState, {\n addBucketName: addBucketName,\n addBucketVersioned: addBucketVersioning,\n enableObjectLocking: addBucketEnableObjectLocking,\n addBucketQuota: addBucketQuota,\n addBucketQuotaType: addBucketQuotaType,\n addBucketQuotaSize: addBucketQuotaSize,\n addBucketQuotaUnit: addBucketQuotaUnit,\n addBucketRetention: addBucketRetention,\n addBucketRetentionMode: addBucketRetentionMode,\n addBucketRetentionUnit: addBucketRetentionUnit,\n addBucketRetentionValidity: addBucketRetentionValidity,\n setErrorSnackMessage: setErrorSnackMessage,\n});\n\nexport default connector(withStyles(styles)(AddBucket));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n
\n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\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 { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","connector","connect","state","addBucketModalOpen","buckets","open","bucketName","addBucketName","versioningEnabled","addBucketVersioningEnabled","lockingEnabled","addBucketLockingEnabled","quotaEnabled","addBucketQuotaEnabled","quotaType","addBucketQuotaType","quotaSize","addBucketQuotaSize","quotaUnit","addBucketQuotaUnit","retentionEnabled","addBucketRetentionEnabled","retentionMode","addBucketRetentionMode","retentionUnit","addBucketRetentionUnit","retentionValidity","addBucketRetentionValidity","distributedSetup","system","addBucketVersioned","addBucketVersioning","enableObjectLocking","addBucketEnableObjectLocking","addBucketQuota","addBucketRetention","setErrorSnackMessage","buttonContainer","marginTop","textAlign","marginLeft","error","border","borderRadius","title","marginBottom","headTitle","fontWeight","paddingLeft","h6title","paddingBottom","containerForHeader","spacing","useState","addLoading","setAddLoading","sendEnabled","setSendEnabled","lockingFieldDisabled","setLockingFieldDisabled","useDebounce","value","useEffect","resetForm","valid","trim","parseInt","Number","isNaN","Fragment","item","xs","boxy","noValidate","autoComplete","onSubmit","e","event","preventDefault","request","name","versioning","locking","amount","getBytes","quota","enabled","quota_type","retention","mode","unit","validity","api","then","res","newBucketName","history","catch","err","addRecord","container","id","autoFocus","onChange","target","href","rel","checked","description","disabled","currentSelection","selectorOptions","type","required","min","style","options","factorForDropdown","valueAsNumber","String","variant","clearButton","StyledSwitch","root","height","margin","switchBase","transform","common","white","backgroundColor","boxShadow","opacity","thumb","track","transition","transitions","create","focusVisible","switchContainer","Switch","divContainer","indicatorLabelOn","indicatorLabel","fieldDescription","tooltip","actionsTray","fieldBasic","switchOnly","indicatorLabels","switchComponent","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","sm","md","htmlFor","inputLabel","tooltipContainer","placement","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxHeight","multiline","index","placeholder","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","size","radioStyles","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","radioUnselectedIcon","optionLabel","checkedOption","disableOptions","displayInColumn","radioOptionsLayout","row","map","selectorOption","control","SelectStyled","lineHeight","input","borderColor","InputBase","fieldContainer","flexFlow","option","mapDispatchToProps","toggleList","sidebarOpen","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","labelStyle","rightMenu","logo","fill","main","middleComponent","actions","direction","sx","paddingTop"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/8967.ec9d9b6b.chunk.js.map b/portal-ui/build/static/js/8967.ec9d9b6b.chunk.js.map index 2f239ba74..424a2bd40 100644 --- a/portal-ui/build/static/js/8967.ec9d9b6b.chunk.js.map +++ b/portal-ui/build/static/js/8967.ec9d9b6b.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/8967.ec9d9b6b.chunk.js","mappings":"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","sources":["common/BackLink.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/ObjectBrowser/BrowserBreadcrumbs.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteObject.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/AddTagModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/DeleteTagModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetLegalHoldModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/RestoreFileVersion.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ObjectTags.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ObjectDetails.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/IconWithLabel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/utils.tsx","screens/Console/Buckets/ListBuckets/UploadFilesButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DetailsListPanel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectActionButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx","screens/Console/Buckets/BucketDetails/BrowserHandler.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/ActionLink.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/EditActionButton.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/EditablePropertyItem.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/LabelWithIcon.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ObjectMetaData.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/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/ScreenTitle/ScreenTitle.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Common/UsageBarWrapper/LabelValuePair.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.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 { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\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 {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n {addSwitch && (\n {\n setDateEnabled(e.target.checked);\n if (!e.target.checked) {\n onDateChange(\"\", true);\n }\n }}\n switchOnly\n />\n )}\n
\n
\n
\n \n }\n >\n \n {\"\"}\n \n {months.map((option) => (\n \n {option.label}\n \n ))}\n \n \n \n }\n >\n \n {\"\"}\n \n {days.map((dayNumber) => (\n \n {dayNumber}\n \n ))}\n \n \n \n }\n >\n \n {\"\"}\n \n {years.map((year) => (\n \n {year}\n \n ))}\n \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 onSubmit(e);\n }}\n >\n {showSwitcher && (\n \n ) => {\n setStatusEnabled(!statusEnabled);\n }}\n label={\"Status\"}\n indicatorLabels={[\"Enabled\", \"Disabled\"]}\n />\n \n )}\n \n {\n setType(e.target.value);\n }}\n selectorOptions={[\n { label: \"Governance\", value: \"governance\" },\n { label: \"Compliance\", value: \"compliance\" },\n ]}\n />\n \n \n {\n setIsDateValid(isValid);\n if (isValid) {\n setDate(date);\n }\n }}\n />\n \n \n \n Reset\n \n \n Save\n \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 from \"react\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport Moment from \"react-moment\";\nimport { connect } from \"react-redux\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { ObjectBrowserState } from \"./reducers\";\nimport { objectBrowserCommon } from \"../Common/FormComponents/common/styleLibrary\";\nimport { Link } from \"react-router-dom\";\nimport { encodeFileName } from \"../../../common/utils\";\n\ninterface ObjectBrowserReducer {\n objectBrowser: ObjectBrowserState;\n}\n\ninterface IObjectBrowser {\n classes: any;\n bucketName: string;\n internalPaths: string;\n rewindEnabled?: boolean;\n rewindDate?: any;\n fullSizeBreadcrumbs?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...objectBrowserCommon,\n });\n\nconst BrowserBreadcrumbs = ({\n classes,\n bucketName,\n internalPaths,\n rewindEnabled,\n rewindDate,\n fullSizeBreadcrumbs,\n}: IObjectBrowser) => {\n let paths = internalPaths;\n\n if (internalPaths !== \"\") {\n paths = `/${internalPaths}`;\n }\n\n const splitPaths = paths.split(\"/\").filter((path) => path !== \"\");\n const listBreadcrumbs = splitPaths.map(\n (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 return (\n \n {objectItem}\n {index < splitPaths.length - 1 && / }\n \n );\n }\n );\n\n const title = false;\n return (\n \n {title && (\n \n
\n {splitPaths && splitPaths.length > 0\n ? splitPaths[splitPaths.length - 1]\n : \"\"}\n {rewindEnabled && splitPaths.length > 1 && (\n \n  (Rewind:{\" \"}\n )\n \n )}\n
\n
\n )}\n\n \n \n {bucketName}\n {listBreadcrumbs.length > 0 && / }\n \n {listBreadcrumbs}\n \n
\n );\n};\n\nconst mapStateToProps = ({ objectBrowser }: ObjectBrowserReducer) => ({\n rewindEnabled: get(objectBrowser, \"rewind.rewindEnabled\", false),\n rewindDate: get(objectBrowser, \"rewind.dateToRewind\", null),\n});\n\nconst connector = connect(mapStateToProps, null);\n\nexport default withStyles(styles)(connector(BrowserBreadcrumbs));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { 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}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n setErrorSnackMessage,\n versioning,\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}&recursive=${recursive}&all_versions=${deleteVersions}`\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 {versioning && (\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 } from \"react\";\nimport get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { Button, Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { setModalErrorSnackMessage } from \"../../../../../../actions\";\nimport { AppState } from \"../../../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../../../../common/api\";\nimport { decodeFileName } from \"../../../../../../common/utils\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { AddNewTagIcon } from \"../../../../../../icons\";\n\ninterface ITagModal {\n modalOpen: boolean;\n currentTags: any;\n bucketName: string;\n versionId: string | null;\n onCloseAndUpdate: (refresh: boolean) => void;\n selectedObject: string;\n distributedSetup: boolean;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n pathLabel: {\n marginTop: 0,\n marginBottom: 32,\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\n\nconst AddTagModal = ({\n modalOpen,\n currentTags,\n selectedObject,\n onCloseAndUpdate,\n bucketName,\n versionId,\n distributedSetup,\n setModalErrorSnackMessage,\n classes,\n}: ITagModal) => {\n const [newKey, setNewKey] = useState(\"\");\n const [newLabel, setNewLabel] = useState(\"\");\n const [isSending, setIsSending] = useState(false);\n\n const resetForm = () => {\n setNewLabel(\"\");\n setNewKey(\"\");\n };\n\n const addTagProcess = () => {\n setIsSending(true);\n const newTag: any = {};\n\n newTag[newKey] = newLabel;\n const newTagList = { ...currentTags, ...newTag };\n\n const verID = distributedSetup ? versionId : \"null\";\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/tags?prefix=${selectedObject}&version_id=${verID}`,\n { tags: newTagList }\n )\n .then((res: any) => {\n onCloseAndUpdate(true);\n setIsSending(false);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setIsSending(false);\n });\n };\n\n return (\n \n {\n onCloseAndUpdate(true);\n }}\n titleIcon={}\n >\n \n
\n Selected Object: {decodeFileName(selectedObject)}\n
\n \n {\n setNewKey(e.target.value);\n }}\n />\n \n \n {\n setNewLabel(e.target.value);\n }}\n />\n \n \n \n Clear\n \n \n Save\n \n \n
\n \n
\n );\n};\n\nconst mapStateToProps = ({ system }: AppState) => ({\n distributedSetup: get(system, \"distributedSetup\", false),\n});\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddTagModal));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { setErrorSnackMessage } from \"../../../../../../actions\";\nimport { AppState } from \"../../../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { encodeFileName } from \"../../../../../../common/utils\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../../../icons\";\n\ninterface IDeleteTagModal {\n deleteOpen: boolean;\n currentTags: any;\n bucketName: string;\n versionId: string | null;\n selectedTag: string[];\n onCloseAndUpdate: (refresh: boolean) => void;\n selectedObject: string;\n distributedSetup: boolean;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n classes: any;\n}\n\nconst styles = (theme: Theme) => createStyles({});\n\nconst DeleteTagModal = ({\n deleteOpen,\n currentTags,\n selectedObject,\n selectedTag,\n onCloseAndUpdate,\n bucketName,\n versionId,\n distributedSetup,\n setErrorSnackMessage,\n classes,\n}: IDeleteTagModal) => {\n const [tagKey, tagLabel] = selectedTag;\n\n const onDelSuccess = () => onCloseAndUpdate(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => onCloseAndUpdate(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedTag) {\n return null;\n }\n\n const onConfirmDelete = () => {\n const cleanObject = { ...currentTags };\n delete cleanObject[tagKey];\n\n const verID = distributedSetup ? versionId : \"null\";\n\n invokeDeleteApi(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/tags?prefix=${encodeFileName(\n selectedObject\n )}&version_id=${verID}`,\n { tags: cleanObject }\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 the tag{\" \"}\n \n {tagKey} : {tagLabel}\n {\" \"}\n from {selectedObject}?\n \n }\n />\n );\n};\n\nconst mapStateToProps = ({ system }: AppState) => ({\n distributedSetup: get(system, \"distributedSetup\", false),\n});\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(DeleteTagModal));\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 onSubmit(e);\n }}\n >\n \n ) => {\n setLegalHoldEnabled(!legalHoldEnabled);\n }}\n label={\"Legal Hold Status\"}\n indicatorLabels={[\"Enabled\", \"Disabled\"]}\n tooltip={\n \"To enable this feature you need to enable versioning on the bucket before creation\"\n }\n />\n \n \n \n Clear\n \n \n Save\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","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { modalBasic } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { setErrorSnackMessage } from \"../../../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { encodeFileName } from \"../../../../../../common/utils\";\nimport api from \"../../../../../../common/api\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport RecoverIcon from \"../../../../../../icons/RecoverIcon\";\n\ninterface IRestoreFileVersion {\n classes: any;\n restoreOpen: boolean;\n bucketName: string;\n versionID: string;\n objectPath: string;\n onCloseAndUpdate: (refresh: boolean) => void;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n });\n\nconst RestoreFileVersion = ({\n classes,\n versionID,\n bucketName,\n objectPath,\n restoreOpen,\n onCloseAndUpdate,\n}: IRestoreFileVersion) => {\n const [restoreLoading, setRestoreLoading] = useState(false);\n\n const restoreVersion = () => {\n setRestoreLoading(true);\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/restore?prefix=${encodeFileName(\n objectPath\n )}&version_id=${versionID}`\n )\n .then((res: any) => {\n setRestoreLoading(false);\n onCloseAndUpdate(true);\n })\n .catch((error: ErrorResponseHandler) => {\n setErrorSnackMessage(error);\n setRestoreLoading(false);\n });\n };\n\n return (\n }\n onConfirm={restoreVersion}\n confirmButtonProps={{\n color: \"secondary\",\n variant: \"outlined\",\n disabled: restoreLoading,\n }}\n onClose={() => {\n onCloseAndUpdate(false);\n }}\n confirmationContent={\n \n Are you sure you want to restore
\n {objectPath}
with Version ID:\n
\n {versionID}?\n
\n }\n />\n );\n};\n\nconst mapStateToProps = null;\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(RestoreFileVersion));\n","import React from \"react\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { Box } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport SecureComponent from \"../../../../../../common/SecureComponent/SecureComponent\";\nimport Chip from \"@mui/material/Chip\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport AddIcon from \"@mui/icons-material/Add\";\n\nconst ObjectTags = ({\n tagKeys,\n bucketName,\n onDeleteTag,\n onAddTagClick,\n objectInfo,\n}: {\n tagKeys: any;\n bucketName: string;\n onDeleteTag: (key: string, v: string) => void;\n onAddTagClick: () => void;\n objectInfo: any;\n}) => {\n return (\n \n \n \n \n {tagKeys &&\n tagKeys.map((tagKey: string, index: number) => {\n const tag = get(objectInfo, `tags.${tagKey}`, \"\");\n if (tag !== \"\") {\n return (\n \n }\n onDelete={() => {\n onDeleteTag(tagKey, tag);\n }}\n />\n \n );\n }\n return null;\n })}\n \n\n \n }\n clickable\n size=\"small\"\n label=\"Add tag\"\n color=\"primary\"\n variant=\"outlined\"\n onClick={onAddTagClick}\n />\n \n \n \n \n );\n};\n\nexport default ObjectTags;\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\";\n\nimport get from \"lodash/get\";\nimport * as reactMoment from \"react-moment\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { Box, CircularProgress, LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport ShareFile from \"./ShareFile\";\nimport {\n actionsTray,\n buttonsStyles,\n containerForHeader,\n hrClass,\n tableStyles,\n spacingUtils,\n textStyleUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IFileInfo } from \"./types\";\nimport { download, extensionPreview } from \"../utils\";\nimport history from \"../../../../../../history\";\nimport api from \"../../../../../../common/api\";\n\nimport TableWrapper, {\n ItemActions,\n} from \"../../../../Common/TableWrapper/TableWrapper\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport {\n setErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../../../actions\";\nimport { decodeFileName, encodeFileName } from \"../../../../../../common/utils\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport SetRetention from \"./SetRetention\";\nimport BrowserBreadcrumbs from \"../../../../ObjectBrowser/BrowserBreadcrumbs\";\nimport DeleteObject from \"../ListObjects/DeleteObject\";\nimport AddTagModal from \"./AddTagModal\";\nimport DeleteTagModal from \"./DeleteTagModal\";\nimport SetLegalHoldModal from \"./SetLegalHoldModal\";\nimport ScreenTitle from \"../../../../Common/ScreenTitle/ScreenTitle\";\n\nimport PreviewFileContent from \"../Preview/PreviewFileContent\";\nimport RestoreFileVersion from \"./RestoreFileVersion\";\nimport PageLayout from \"../../../../Common/Layout/PageLayout\";\nimport VerticalTabs from \"../../../../Common/VerticalTabs/VerticalTabs\";\nimport SecureComponent from \"../../../../../../common/SecureComponent/SecureComponent\";\nimport {\n completeObject,\n setNewObject,\n updateProgress,\n} from \"../../../../ObjectBrowser/actions\";\nimport RBIconButton from \"../../../BucketDetails/SummaryItems/RBIconButton\";\nimport SearchBox from \"../../../../Common/SearchBox\";\nimport ObjectTags from \"./ObjectTags\";\nimport { AppState } from \"../../../../../../store\";\nimport { connect } from \"react-redux\";\nimport { withRouter } from \"react-router-dom\";\nimport { withStyles } from \"@mui/styles\";\nimport { DisabledIcon } from \"../../../../../../icons\";\nimport LabelWithIcon from \"../../../BucketDetails/SummaryItems/LabelWithIcon\";\n\nconst RecoverIcon = React.lazy(\n () => import(\"../../../../../../icons/RecoverIcon\")\n);\nconst ShareIcon = React.lazy(() => import(\"../../../../../../icons/ShareIcon\"));\nconst DownloadIcon = React.lazy(\n () => import(\"../../../../../../icons/DownloadIcon\")\n);\nconst DeleteIcon = React.lazy(\n () => import(\"../../../../../../icons/DeleteIcon\")\n);\n\nconst ObjectBrowserIcon = React.lazy(\n () => import(\"../../../../../../icons/ObjectBrowserIcon\")\n);\nconst ObjectMetaData = React.lazy(() => import(\"./ObjectMetaData\"));\nconst EditablePropertyItem = React.lazy(\n () => import(\"../../../BucketDetails/SummaryItems/EditablePropertyItem\")\n);\nconst LabelValuePair = React.lazy(\n () => import(\"../../../../Common/UsageBarWrapper/LabelValuePair\")\n);\n\nconst styles = (theme: Theme) =>\n createStyles({\n propertiesIcon: {\n marginLeft: 5,\n \"& .min-icon\": {\n height: 12,\n },\n },\n tag: {\n marginRight: 6,\n fontSize: 10,\n fontWeight: 700,\n \"&.MuiChip-sizeSmall\": {\n height: 18,\n },\n \"& .min-icon\": {\n height: 10,\n width: 10,\n },\n },\n search: {\n marginBottom: 8,\n \"&.MuiFormControl-root\": {\n marginRight: 0,\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\n \"@global\": {\n \".progressDetails\": {\n paddingTop: 3,\n display: \"inline-block\",\n position: \"relative\",\n width: 18,\n height: 18,\n },\n \".progressDetails > .MuiCircularProgress-root\": {\n position: \"absolute\",\n left: 0,\n top: 3,\n },\n },\n tabsContainer: {\n border: \"1px solid #eaeaea\",\n borderTop: 0,\n },\n ...hrClass,\n ...buttonsStyles,\n ...actionsTray,\n ...tableStyles,\n ...spacingUtils,\n ...textStyleUtils,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IObjectDetailsProps {\n classes: any;\n downloadingFiles: string[];\n rewindEnabled: boolean;\n rewindDate: any;\n match: any;\n bucketToRewind: string;\n distributedSetup: boolean;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n setSnackBarMessage: typeof setSnackBarMessage;\n setNewObject: typeof setNewObject;\n updateProgress: typeof updateProgress;\n completeObject: typeof completeObject;\n}\n\nconst emptyFile: IFileInfo = {\n is_latest: true,\n last_modified: \"\",\n legal_hold_status: \"\",\n name: \"\",\n retention_mode: \"\",\n retention_until_date: \"\",\n size: \"0\",\n tags: {},\n version_id: null,\n};\n\nconst twoColCssGridLayoutConfig = {\n display: \"grid\",\n gridTemplateColumns: { xs: \"1fr\", sm: \"2fr 1fr\" },\n gridAutoFlow: { xs: \"dense\", sm: \"row\" },\n gap: 2,\n};\nconst ObjectDetails = ({\n classes,\n downloadingFiles,\n distributedSetup,\n setErrorSnackMessage,\n setNewObject,\n updateProgress,\n completeObject,\n match,\n}: IObjectDetailsProps) => {\n const [loadObjectData, setLoadObjectData] = useState(true);\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [retentionModalOpen, setRetentionModalOpen] = useState(false);\n const [tagModalOpen, setTagModalOpen] = useState(false);\n const [deleteTagModalOpen, setDeleteTagModalOpen] = useState(false);\n const [selectedTag, setSelectedTag] = useState([\"\", \"\"]);\n const [legalholdOpen, setLegalholdOpen] = useState(false);\n const [actualInfo, setActualInfo] = useState(null);\n const [objectToShare, setObjectToShare] = useState(null);\n const [versions, setVersions] = useState([]);\n const [filterVersion, setFilterVersion] = useState(\"\");\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [restoreVersionOpen, setRestoreVersionOpen] = useState(false);\n const [restoreVersion, setRestoreVersion] = useState(\"\");\n\n const internalPaths = get(match.params, \"subpaths\", \"\");\n const internalPathsDecoded = decodeFileName(internalPaths) || \"\";\n const bucketName = match.params[\"bucketName\"];\n const allPathData = internalPathsDecoded.split(\"/\");\n const currentItem = allPathData.pop() || \"\";\n\n // calculate object name to display\n let objectNameArray: string[] = [];\n if (actualInfo) {\n objectNameArray = actualInfo.name.split(\"/\");\n }\n\n useEffect(() => {\n if (loadObjectData && internalPaths !== \"\") {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects?prefix=${internalPaths}${\n distributedSetup ? \"&with_versions=true\" : \"\"\n }`\n )\n .then((res: IFileInfo[]) => {\n const result = get(res, \"objects\", []);\n if (distributedSetup) {\n setActualInfo(\n result.find((el: IFileInfo) => el.is_latest) || emptyFile\n );\n setVersions(result);\n } else {\n setActualInfo(result[0]);\n setVersions([]);\n }\n\n setLoadObjectData(false);\n })\n .catch((error: ErrorResponseHandler) => {\n setErrorSnackMessage(error);\n setLoadObjectData(false);\n });\n }\n }, [\n loadObjectData,\n bucketName,\n internalPaths,\n setErrorSnackMessage,\n distributedSetup,\n ]);\n\n let tagKeys: string[] = [];\n\n if (actualInfo && actualInfo.tags) {\n tagKeys = Object.keys(actualInfo.tags);\n }\n\n const openRetentionModal = () => {\n setRetentionModalOpen(true);\n };\n\n const closeRetentionModal = (updateInfo: boolean) => {\n setRetentionModalOpen(false);\n if (updateInfo) {\n setLoadObjectData(true);\n }\n };\n\n const shareObject = () => {\n setShareFileModalOpen(true);\n };\n\n const closeShareModal = () => {\n setObjectToShare(null);\n setShareFileModalOpen(false);\n };\n\n const deleteTag = (tagKey: string, tagLabel: string) => {\n setSelectedTag([tagKey, tagLabel]);\n setDeleteTagModalOpen(true);\n };\n\n const downloadObject = (object: IFileInfo) => {\n const identityDownload = encodeFileName(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`\n );\n\n setNewObject({\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name,\n type: \"download\",\n waitingForFile: true,\n });\n\n download(\n bucketName,\n internalPaths,\n object.version_id,\n parseInt(object.size || \"0\"),\n (progress) => {\n updateProgress(identityDownload, progress);\n },\n () => {\n completeObject(identityDownload);\n }\n );\n };\n\n const tableActions: ItemActions[] = [\n {\n label: \"Share\",\n type: \"share\",\n onClick: (item: any) => {\n setObjectToShare(item);\n shareObject();\n },\n sendOnlyId: false,\n disableButtonFunction: (item: string) => {\n const element = versions.find((elm) => elm.version_id === item);\n if (element && element.is_delete_marker) {\n return true;\n }\n return false;\n },\n },\n {\n label: \"Download\",\n type: \"download\",\n onClick: (item: IFileInfo) => {\n downloadObject(item);\n },\n disableButtonFunction: (item: string) => {\n const element = versions.find((elm) => elm.version_id === item);\n if (element && element.is_delete_marker) {\n return true;\n }\n return false;\n },\n },\n {\n label: \"Restore\",\n type: ,\n onClick: (item: IFileInfo) => {\n setRestoreVersion(item.version_id || \"\");\n setRestoreVersionOpen(true);\n },\n disableButtonFunction: (item: string) => {\n const element = versions.find((elm) => elm.version_id === item);\n return (element && element.is_delete_marker) || false;\n },\n },\n ];\n\n const filteredRecords = versions.filter((version) => {\n if (version.version_id) {\n return version.version_id.includes(filterVersion);\n }\n return false;\n });\n\n const displayParsedDate = (date: string) => {\n return {date};\n };\n\n const closeDeleteModal = (redirectBack: boolean) => {\n setDeleteOpen(false);\n\n if (redirectBack) {\n const newPath = allPathData.join(\"/\");\n history.push(\n `/buckets/${bucketName}/browse${\n newPath === \"\" ? \"\" : `/${encodeFileName(newPath)}`\n }`\n );\n }\n };\n\n const closeAddTagModal = (reloadObjectData: boolean) => {\n setTagModalOpen(false);\n if (reloadObjectData) {\n setLoadObjectData(true);\n }\n };\n\n const closeLegalholdModal = (reload: boolean) => {\n setLegalholdOpen(false);\n if (reload) {\n setLoadObjectData(true);\n }\n };\n\n const closeDeleteTagModal = (reloadObjectData: boolean) => {\n setDeleteTagModalOpen(false);\n if (reloadObjectData) {\n setLoadObjectData(true);\n }\n };\n\n const closeRestoreModal = (reloadObjectData: boolean) => {\n setRestoreVersionOpen(false);\n setRestoreVersion(\"\");\n\n if (reloadObjectData) {\n setLoadObjectData(true);\n }\n };\n\n return (\n \n {shareFileModalOpen && actualInfo && (\n \n )}\n {retentionModalOpen && actualInfo && (\n \n )}\n {deleteOpen && (\n \n )}\n {tagModalOpen && actualInfo && (\n \n )}\n {deleteTagModalOpen && actualInfo && (\n \n )}\n {legalholdOpen && actualInfo && (\n \n )}\n {restoreVersionOpen && actualInfo && (\n \n )}\n\n \n {!actualInfo && (\n \n \n \n )}\n\n {actualInfo && (\n \n \n \n \n \n }\n title={\n objectNameArray.length > 0\n ? objectNameArray[objectNameArray.length - 1]\n : actualInfo.name\n }\n subTitle={\n \n \n \n }\n actions={\n \n \n {\n setDeleteOpen(true);\n }}\n text={\"\"}\n icon={}\n color=\"secondary\"\n disabled={actualInfo.is_delete_marker}\n variant={\"outlined\"}\n />\n \n\n {\n shareObject();\n }}\n text={\"\"}\n icon={}\n color=\"primary\"\n disabled={actualInfo.is_delete_marker}\n variant={\"outlined\"}\n />\n\n {downloadingFiles.includes(\n `${bucketName}/${actualInfo.name}`\n ) ? (\n
\n \n
\n ) : (\n }\n color=\"primary\"\n onClick={() => {\n downloadObject(actualInfo);\n }}\n disabled={actualInfo.is_delete_marker}\n variant={\"outlined\"}\n />\n )}\n
\n }\n />\n \n \n {{\n tabConfig: {\n label: \"Details\",\n },\n content: (\n \n
\n

Details

\n
\n
\n\n \n \n \n {\n setLegalholdOpen(true);\n }}\n isLoading={false}\n />\n ) : (\n }\n label={\n \n }\n />\n }\n />\n )\n }\n />\n \n\n \n \n ) : (\n }\n label={\n \n }\n />\n }\n />\n )\n }\n />\n \n \n \n\n \n {\n setTagModalOpen(true);\n }}\n />\n }\n />\n \n\n {actualInfo ? (\n \n ) : null}\n
\n ),\n }}\n {{\n tabConfig: {\n label: \"Versions\",\n disabled: !(\n actualInfo.version_id && actualInfo.version_id !== \"null\"\n ),\n },\n content: (\n \n
\n

Versions

\n
\n
\n \n {actualInfo.version_id &&\n actualInfo.version_id !== \"null\" && (\n \n )}\n \n \n {actualInfo.version_id &&\n actualInfo.version_id !== \"null\" && (\n {\n const versOrd =\n versions.length - versions.indexOf(r);\n return `v${versOrd}`;\n },\n elementKey: \"version_id\",\n },\n { label: \"Version ID\", elementKey: \"version_id\" },\n {\n label: \"Last Modified\",\n elementKey: \"last_modified\",\n renderFunction: displayParsedDate,\n },\n {\n label: \"Deleted\",\n width: 60,\n contentTextAlign: \"center\",\n renderFullObject: true,\n elementKey: \"is_delete_marker\",\n renderFunction: (r) => {\n const versOrd = r.is_delete_marker\n ? \"Yes\"\n : \"No\";\n return `${versOrd}`;\n },\n },\n ]}\n isLoading={false}\n entityName=\"Versions\"\n idField=\"version_id\"\n records={filteredRecords}\n textSelectable\n />\n )}\n \n
\n ),\n }}\n {{\n tabConfig: {\n label: \"Preview\",\n disabled: extensionPreview(currentItem) === \"none\",\n },\n content: (\n \n {actualInfo && (\n \n )}\n \n ),\n }}\n \n \n )}\n
\n
\n );\n};\n\nconst mapStateToProps = ({ objectBrowser, system }: AppState) => ({\n downloadingFiles: get(objectBrowser, \"downloadingFiles\", []),\n rewindEnabled: get(objectBrowser, \"rewind.rewindEnabled\", false),\n rewindDate: get(objectBrowser, \"rewind.dateToRewind\", null),\n bucketToRewind: get(objectBrowser, \"rewind.bucketToRewind\", \"\"),\n distributedSetup: get(system, \"distributedSetup\", false),\n});\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n setSnackBarMessage,\n setNewObject,\n updateProgress,\n completeObject,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withRouter(connector(withStyles(styles)(ObjectDetails)));\n","import React from \"react\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n fileName: {\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n width: 16,\n height: 16,\n marginRight: 4,\n },\n },\n fileNameText: {\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n },\n });\n\nconst IconWithLabel = (props: {\n classes: any;\n icon: JSX.Element;\n strings: string[];\n}) => {\n return (\n
\n {props.icon}\n \n {props.strings[props.strings.length - 1]}\n \n
\n );\n};\n\nexport default withStyles(styles)(IconWithLabel);\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\";\n\nimport ObjectBrowserIcon from \"../../../../../../icons/ObjectBrowserIcon\";\nimport ObjectBrowserFolderIcon from \"../../../../../../icons/ObjectBrowserFolderIcon\";\nimport IconWithLabel from \"./IconWithLabel\";\n\nconst FileBookIcon = React.lazy(\n () => import(\"../../../../../../icons/FileBookIcon\")\n);\nconst FileCodeIcon = React.lazy(\n () => import(\"../../../../../../icons/FileCodeIcon\")\n);\nconst FileConfigIcon = React.lazy(\n () => import(\"../../../../../../icons/FileConfigIcon\")\n);\nconst FileDbIcon = React.lazy(\n () => import(\"../../../../../../icons/FileDbIcon\")\n);\nconst FileFontIcon = React.lazy(\n () => import(\"../../../../../../icons/FileFontIcon\")\n);\nconst FileImageIcon = React.lazy(\n () => import(\"../../../../../../icons/FileImageIcon\")\n);\nconst FileLockIcon = React.lazy(\n () => import(\"../../../../../../icons/FileLockIcon\")\n);\nconst FileMissingIcon = React.lazy(\n () => import(\"../../../../../../icons/FileMissingIcon\")\n);\nconst FileMusicIcon = React.lazy(\n () => import(\"../../../../../../icons/FileMusicIcon\")\n);\nconst FilePdfIcon = React.lazy(\n () => import(\"../../../../../../icons/FilePdfIcon\")\n);\nconst FilePptIcon = React.lazy(\n () => import(\"../../../../../../icons/FilePptIcon\")\n);\nconst FileTxtIcon = React.lazy(\n () => import(\"../../../../../../icons/FileTxtIcon\")\n);\nconst FileVideoIcon = React.lazy(\n () => import(\"../../../../../../icons/FileVideoIcon\")\n);\nconst FileXlsIcon = React.lazy(\n () => import(\"../../../../../../icons/FileXlsIcon\")\n);\nconst FileZipIcon = React.lazy(\n () => import(\"../../../../../../icons/FileZipIcon\")\n);\n\nexport const displayName = (element: string) => {\n let elementString = element;\n let icon = ;\n // Element is a folder\n if (element.endsWith(\"/\")) {\n icon = ;\n elementString = element.substr(0, element.length - 1);\n }\n\n interface IExtToIcon {\n icon: any;\n extensions: string[];\n }\n\n const extensionToIcon: IExtToIcon[] = [\n {\n icon: ,\n extensions: [\"mp4\", \"mov\", \"avi\", \"mpeg\", \"mpg\"],\n },\n {\n icon: ,\n extensions: [\"mp3\", \"m4a\", \"aac\"],\n },\n {\n icon: ,\n extensions: [\"pdf\"],\n },\n {\n icon: ,\n extensions: [\"ppt\", \"pptx\"],\n },\n {\n icon: ,\n extensions: [\"xls\", \"xlsx\"],\n },\n {\n icon: ,\n extensions: [\"cer\", \"crt\", \"pem\"],\n },\n {\n icon: ,\n extensions: [\"html\", \"xml\", \"css\", \"py\", \"go\", \"php\", \"cpp\", \"h\", \"java\"],\n },\n {\n icon: ,\n extensions: [\"cfg\", \"yaml\"],\n },\n {\n icon: ,\n extensions: [\"sql\"],\n },\n {\n icon: ,\n extensions: [\"ttf\", \"otf\"],\n },\n {\n icon: ,\n extensions: [\"txt\"],\n },\n {\n icon: ,\n extensions: [\"zip\", \"rar\", \"tar\", \"gz\"],\n },\n {\n icon: ,\n extensions: [\"epub\", \"mobi\", \"azw\", \"azw3\"],\n },\n {\n icon: ,\n extensions: [\"jpeg\", \"jpg\", \"gif\", \"tiff\", \"png\", \"heic\", \"dng\"],\n },\n ];\n const lowercaseElement = element.toLowerCase();\n for (const etc of extensionToIcon) {\n for (const ext of etc.extensions) {\n if (lowercaseElement.endsWith(`.${ext}`)) {\n icon = etc.icon;\n }\n }\n }\n\n if (!element.endsWith(\"/\") && element.indexOf(\".\") < 0) {\n icon = ;\n }\n\n const splitItem = elementString.split(\"/\");\n\n return ;\n};\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 SecureComponent, {\n hasPermission,\n} from \"../../../../common/SecureComponent/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 handleCloseUpload();\n }}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"center\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"center\",\n }}\n >\n \n {\n uploadFileFunction(handleCloseUpload);\n }}\n disabled={forceDisable}\n >\n \n \n \n Upload File\n \n \n \n {\n uploadFolderFunction(handleCloseUpload);\n }}\n disabled={forceDisable}\n >\n \n \n \n Upload Folder\n \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: 400,\n borderTopWidth: 1,\n borderBottomWidth: 1,\n borderRightWidth: 1,\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) 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 {label}\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, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Box, LinearProgress } from \"@mui/material\";\nimport { withStyles } from \"@mui/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n actionsTray,\n buttonsStyles,\n spacingUtils,\n textStyleUtils,\n detailsPanel,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IFileInfo } from \"../ObjectDetails/types\";\nimport { download } from \"../utils\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport {\n setErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../../../actions\";\nimport {\n decodeFileName,\n encodeFileName,\n niceBytesInt,\n} from \"../../../../../../common/utils\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport {\n completeObject,\n setNewObject,\n updateProgress,\n} from \"../../../../ObjectBrowser/actions\";\nimport { AppState } from \"../../../../../../store\";\nimport {\n DisabledIcon,\n NextArrowIcon,\n PreviewIcon,\n} from \"../../../../../../icons\";\nimport { ShareIcon, DownloadIcon, DeleteIcon } from \"../../../../../../icons\";\nimport history from \"../../../../../../history\";\nimport api from \"../../../../../../common/api\";\nimport ShareFile from \"../ObjectDetails/ShareFile\";\nimport SetRetention from \"../ObjectDetails/SetRetention\";\nimport DeleteObject from \"../ListObjects/DeleteObject\";\nimport AddTagModal from \"../ObjectDetails/AddTagModal\";\nimport DeleteTagModal from \"../ObjectDetails/DeleteTagModal\";\nimport SetLegalHoldModal from \"../ObjectDetails/SetLegalHoldModal\";\nimport RestoreFileVersion from \"../ObjectDetails/RestoreFileVersion\";\nimport SecureComponent from \"../../../../../../common/SecureComponent/SecureComponent\";\nimport ObjectTags from \"../ObjectDetails/ObjectTags\";\nimport LabelWithIcon from \"../../../BucketDetails/SummaryItems/LabelWithIcon\";\nimport PreviewFileModal from \"../Preview/PreviewFileModal\";\nimport ObjectActionButton from \"./ObjectActionButton\";\nimport ObjectMetaData from \"../ObjectDetails/ObjectMetaData\";\nimport EditablePropertyItem from \"../../../BucketDetails/SummaryItems/EditablePropertyItem\";\nimport LabelValuePair from \"../../../../Common/UsageBarWrapper/LabelValuePair\";\n\nconst styles = () =>\n createStyles({\n tag: {\n marginRight: 6,\n fontSize: 10,\n fontWeight: 700,\n \"&.MuiChip-sizeSmall\": {\n height: 18,\n },\n \"& .min-icon\": {\n height: 10,\n width: 10,\n },\n },\n \"@global\": {\n \".progressDetails\": {\n paddingTop: 3,\n display: \"inline-block\",\n position: \"relative\",\n width: 18,\n height: 18,\n },\n \".progressDetails > .MuiCircularProgress-root\": {\n position: \"absolute\",\n left: 0,\n top: 3,\n },\n },\n ...buttonsStyles,\n ...actionsTray,\n ...spacingUtils,\n ...textStyleUtils,\n ...detailsPanel,\n });\n\ninterface IObjectDetailPanelProps {\n classes: any;\n internalPaths: string;\n bucketName: string;\n rewindEnabled: boolean;\n rewindDate: any;\n bucketToRewind: string;\n distributedSetup: boolean;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n setSnackBarMessage: typeof setSnackBarMessage;\n setNewObject: typeof setNewObject;\n updateProgress: typeof updateProgress;\n completeObject: typeof completeObject;\n}\n\nconst emptyFile: IFileInfo = {\n is_latest: true,\n last_modified: \"\",\n legal_hold_status: \"\",\n name: \"\",\n retention_mode: \"\",\n retention_until_date: \"\",\n size: \"0\",\n tags: {},\n version_id: null,\n};\n\nconst ObjectDetailPanel = ({\n classes,\n internalPaths,\n bucketName,\n distributedSetup,\n setErrorSnackMessage,\n setNewObject,\n updateProgress,\n completeObject,\n}: IObjectDetailPanelProps) => {\n const [loadObjectData, setLoadObjectData] = useState(true);\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [retentionModalOpen, setRetentionModalOpen] = useState(false);\n const [tagModalOpen, setTagModalOpen] = useState(false);\n const [deleteTagModalOpen, setDeleteTagModalOpen] = useState(false);\n const [selectedTag, setSelectedTag] = useState([\"\", \"\"]);\n const [legalholdOpen, setLegalholdOpen] = useState(false);\n const [actualInfo, setActualInfo] = useState(null);\n const [objectToShare, setObjectToShare] = useState(null);\n const [versions, setVersions] = useState([]);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [restoreVersionOpen, setRestoreVersionOpen] = useState(false);\n const [previewOpen, setPreviewOpen] = useState(false);\n const [restoreVersion, setRestoreVersion] = useState(\"\");\n const [totalVersionsSize, setTotalVersionsSize] = useState(0);\n\n const internalPathsDecoded = decodeFileName(internalPaths) || \"\";\n const allPathData = internalPathsDecoded.split(\"/\");\n const currentItem = allPathData.pop() || \"\";\n\n // calculate object name to display\n let objectNameArray: string[] = [];\n if (actualInfo) {\n objectNameArray = actualInfo.name.split(\"/\");\n }\n\n useEffect(() => {\n if (bucketName !== \"\" && internalPaths) {\n setLoadObjectData(true);\n }\n }, [internalPaths, bucketName]);\n\n useEffect(() => {\n if (loadObjectData && internalPaths !== \"\") {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects?prefix=${internalPaths}${\n distributedSetup ? \"&with_versions=true\" : \"\"\n }`\n )\n .then((res: IFileInfo[]) => {\n const result = get(res, \"objects\", []);\n if (distributedSetup) {\n setActualInfo(\n result.find((el: IFileInfo) => el.is_latest) || emptyFile\n );\n setVersions(result);\n const tVersionSize = result.reduce(\n (acc: number, currValue: IFileInfo) => {\n if (currValue?.size) {\n return acc + currValue.size;\n }\n return acc;\n },\n 0\n );\n\n setTotalVersionsSize(tVersionSize);\n } else {\n setActualInfo(result[0]);\n setVersions([]);\n }\n\n setLoadObjectData(false);\n })\n .catch((error: ErrorResponseHandler) => {\n setErrorSnackMessage(error);\n setLoadObjectData(false);\n });\n }\n }, [\n loadObjectData,\n bucketName,\n internalPaths,\n setErrorSnackMessage,\n distributedSetup,\n ]);\n\n let tagKeys: string[] = [];\n\n if (actualInfo && actualInfo.tags) {\n tagKeys = Object.keys(actualInfo.tags);\n }\n\n const openRetentionModal = () => {\n setRetentionModalOpen(true);\n };\n\n const closeRetentionModal = (updateInfo: boolean) => {\n setRetentionModalOpen(false);\n if (updateInfo) {\n setLoadObjectData(true);\n }\n };\n\n const shareObject = () => {\n setShareFileModalOpen(true);\n };\n\n const closeShareModal = () => {\n setObjectToShare(null);\n setShareFileModalOpen(false);\n };\n\n const deleteTag = (tagKey: string, tagLabel: string) => {\n setSelectedTag([tagKey, tagLabel]);\n setDeleteTagModalOpen(true);\n };\n\n const downloadObject = (object: IFileInfo) => {\n const identityDownload = encodeFileName(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`\n );\n\n setNewObject({\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name,\n type: \"download\",\n waitingForFile: true,\n });\n\n download(\n bucketName,\n internalPaths,\n object.version_id,\n parseInt(object.size || \"0\"),\n (progress) => {\n updateProgress(identityDownload, progress);\n },\n () => {\n completeObject(identityDownload);\n }\n );\n };\n\n const closeDeleteModal = (redirectBack: boolean) => {\n setDeleteOpen(false);\n\n if (redirectBack) {\n const newPath = allPathData.join(\"/\");\n history.push(\n `/buckets/${bucketName}/browse${\n newPath === \"\" ? \"\" : `/${encodeFileName(newPath)}`\n }`\n );\n }\n };\n\n const closeAddTagModal = (reloadObjectData: boolean) => {\n setTagModalOpen(false);\n if (reloadObjectData) {\n setLoadObjectData(true);\n }\n };\n\n const closeLegalholdModal = (reload: boolean) => {\n setLegalholdOpen(false);\n if (reload) {\n setLoadObjectData(true);\n }\n };\n\n const closeDeleteTagModal = (reloadObjectData: boolean) => {\n setDeleteTagModalOpen(false);\n if (reloadObjectData) {\n setLoadObjectData(true);\n }\n };\n\n const closeRestoreModal = (reloadObjectData: boolean) => {\n setRestoreVersionOpen(false);\n setRestoreVersion(\"\");\n\n if (reloadObjectData) {\n setLoadObjectData(true);\n }\n };\n\n const closePreviewWindow = () => {\n setPreviewOpen(false);\n };\n\n const openExtraInfo = () => {\n const newPath = `/buckets/${bucketName}/browse${\n internalPaths !== \"\" ? `/${internalPaths}` : ``\n }`;\n\n history.push(newPath);\n };\n\n if (!actualInfo) {\n return null;\n }\n\n return (\n \n {shareFileModalOpen && actualInfo && (\n \n )}\n {retentionModalOpen && actualInfo && (\n \n )}\n {deleteOpen && (\n \n )}\n {tagModalOpen && actualInfo && (\n \n )}\n {deleteTagModalOpen && actualInfo && (\n \n )}\n {legalholdOpen && actualInfo && (\n \n )}\n {restoreVersionOpen && actualInfo && (\n \n )}\n {previewOpen && actualInfo && (\n \n )}\n\n {!actualInfo && (\n \n \n \n )}\n
\n {objectNameArray.length > 0\n ? objectNameArray[objectNameArray.length - 1]\n : actualInfo.name}\n
\n\n
    \n
  • Object Actions:
  • \n
  • \n }\n onClick={() => {\n downloadObject(actualInfo);\n }}\n disabled={actualInfo.is_delete_marker}\n />\n
  • \n
  • \n }\n onClick={() => {\n shareObject();\n }}\n disabled={actualInfo.is_delete_marker}\n />\n
  • \n
  • \n }\n onClick={() => {\n setPreviewOpen(true);\n }}\n disabled={actualInfo.is_delete_marker}\n />\n
  • \n \n
  • \n }\n onClick={() => {\n setDeleteOpen(true);\n }}\n disabled={actualInfo.is_delete_marker}\n />\n
  • \n \n
  • \n }\n onClick={() => {\n openExtraInfo();\n }}\n />\n
  • \n
\n\n
\n

Details

\n
\n \n {\n setTagModalOpen(true);\n }}\n />\n }\n />\n \n \n \n {\n setLegalholdOpen(true);\n }}\n isLoading={false}\n />\n ) : (\n }\n label={\n \n }\n />\n }\n />\n )\n }\n />\n \n\n \n \n ) : (\n }\n label={\n \n }\n />\n }\n />\n )\n }\n />\n \n \n
\n
\n

Object Metadata

\n
\n \n {actualInfo ? (\n \n ) : null}\n \n
\n\n {actualInfo.version_id && actualInfo.version_id !== \"null\" && (\n \n
\n

Versions

\n
\n \n \n Total available versions\n
\n {versions.length}\n
\n \n Versions Stored size:\n
\n {niceBytesInt(totalVersionsSize)}\n
\n
\n
\n )}\n
\n );\n};\n\nconst mapStateToProps = ({ objectBrowser, system }: AppState) => ({\n rewindEnabled: get(objectBrowser, \"rewind.rewindEnabled\", false),\n rewindDate: get(objectBrowser, \"rewind.dateToRewind\", null),\n bucketToRewind: get(objectBrowser, \"rewind.bucketToRewind\", \"\"),\n distributedSetup: get(system, \"distributedSetup\", false),\n});\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n setSnackBarMessage,\n setNewObject,\n updateProgress,\n completeObject,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ObjectDetailPanel));\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 Fragment,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { connect } from \"react-redux\";\nimport { useDropzone } from \"react-dropzone\";\n\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { withRouter } from \"react-router-dom\";\nimport Grid from \"@mui/material/Grid\";\nimport get from \"lodash/get\";\nimport {\n BucketObject,\n BucketObjectsList,\n RewindObject,\n RewindObjectList,\n} from \"./types\";\nimport api from \"../../../../../../common/api\";\nimport TableWrapper, {\n ItemActions,\n} from \"../../../../Common/TableWrapper/TableWrapper\";\nimport {\n decodeFileName,\n encodeFileName,\n niceBytes,\n niceBytesInt,\n} from \"../../../../../../common/utils\";\n\nimport {\n actionsTray,\n containerForHeader,\n objectBrowserCommon,\n searchField,\n tableStyles,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { Badge, Typography } from \"@mui/material\";\nimport * as reactMoment from \"react-moment\";\nimport BrowserBreadcrumbs from \"../../../../ObjectBrowser/BrowserBreadcrumbs\";\nimport {\n completeObject,\n openList,\n resetRewind,\n setFileModeEnabled,\n setNewObject,\n setSearchObjects,\n updateProgress,\n} from \"../../../../ObjectBrowser/actions\";\nimport { Route } from \"../../../../ObjectBrowser/reducers\";\n\nimport { download, extensionPreview, sortListObjects } from \"../utils\";\nimport {\n setErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../../../actions\";\nimport { BucketInfo, BucketVersioning } from \"../../../types\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\n\nimport ScreenTitle from \"../../../../Common/ScreenTitle/ScreenTitle\";\n\nimport { setBucketDetailsLoad, setBucketInfo } from \"../../../actions\";\nimport { AppState } from \"../../../../../../store\";\nimport PageLayout from \"../../../../Common/Layout/PageLayout\";\n\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport SecureComponent, {\n hasPermission,\n} from \"../../../../../../common/SecureComponent/SecureComponent\";\n\nimport withSuspense from \"../../../../Common/Components/withSuspense\";\nimport { displayName } from \"./utils\";\nimport {\n BucketsIcon,\n DownloadIcon,\n PreviewIcon,\n ShareIcon,\n} from \"../../../../../../icons\";\nimport UploadFilesButton from \"../../UploadFilesButton\";\nimport DetailsListPanel from \"./DetailsListPanel\";\nimport ObjectDetailPanel from \"./ObjectDetailPanel\";\n\nconst AddFolderIcon = React.lazy(\n () => import(\"../../../../../../icons/AddFolderIcon\")\n);\nconst HistoryIcon = React.lazy(\n () => import(\"../../../../../../icons/HistoryIcon\")\n);\nconst RefreshIcon = React.lazy(\n () => import(\"../../../../../../icons/RefreshIcon\")\n);\n\nconst DeleteIcon = React.lazy(\n () => import(\"../../../../../../icons/DeleteIcon\")\n);\nconst CreateFolderModal = withSuspense(\n React.lazy(() => import(\"./CreateFolderModal\"))\n);\nconst DeleteMultipleObjects = withSuspense(\n React.lazy(() => import(\"./DeleteMultipleObjects\"))\n);\nconst ShareFile = withSuspense(\n React.lazy(() => import(\"../ObjectDetails/ShareFile\"))\n);\nconst RewindEnable = withSuspense(React.lazy(() => import(\"./RewindEnable\")));\nconst PreviewFileModal = withSuspense(\n React.lazy(() => import(\"../Preview/PreviewFileModal\"))\n);\n\nconst styles = (theme: Theme) =>\n createStyles({\n browsePaper: {\n height: \"calc(100vh - 210px)\",\n \"&.actionsPanelOpen\": {\n height: \"100%\",\n },\n },\n \"@global\": {\n \".rowLine:hover .iconFileElm\": {\n backgroundImage: \"url(/images/ob_file_filled.svg)\",\n },\n \".rowLine:hover .iconFolderElm\": {\n backgroundImage: \"url(/images/ob_folder_filled.svg)\",\n },\n },\n\n badgeOverlap: {\n \"& .MuiBadge-badge\": {\n top: 10,\n right: 1,\n width: 5,\n height: 5,\n minWidth: 5,\n },\n },\n screenTitle: {\n borderBottom: 0,\n paddingTop: 0,\n paddingLeft: 0,\n paddingRight: 0,\n },\n ...tableStyles,\n ...actionsTray,\n ...searchField,\n\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n ...objectBrowserCommon,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst baseDnDStyle = {\n borderWidth: 2,\n borderRadius: 2,\n borderColor: \"#eeeeee\",\n outline: \"none\",\n};\n\nconst activeDnDStyle = {\n borderStyle: \"dashed\",\n backgroundColor: \"#fafafa\",\n borderColor: \"#2196f3\",\n};\n\nconst acceptDnDStyle = {\n borderStyle: \"dashed\",\n backgroundColor: \"#fafafa\",\n borderColor: \"#00e676\",\n};\n\ninterface IListObjectsProps {\n classes: any;\n match: any;\n history: any;\n routesList: Route[];\n downloadingFiles: string[];\n rewindEnabled: boolean;\n rewindDate: any;\n bucketToRewind: string;\n searchObjects: string;\n setSnackBarMessage: typeof setSnackBarMessage;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n resetRewind: typeof resetRewind;\n setFileModeEnabled: typeof setFileModeEnabled;\n loadingBucket: boolean;\n setBucketInfo: typeof setBucketInfo;\n bucketInfo: BucketInfo | null;\n setBucketDetailsLoad: typeof setBucketDetailsLoad;\n setNewObject: typeof setNewObject;\n updateProgress: typeof updateProgress;\n completeObject: typeof completeObject;\n openList: typeof openList;\n setSearchObjects: typeof setSearchObjects;\n}\n\nfunction useInterval(callback: any, delay: number) {\n const savedCallback = useRef(null);\n\n // Remember the latest callback.\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Set up the interval.\n useEffect(() => {\n function tick() {\n if (savedCallback !== undefined && savedCallback.current) {\n savedCallback.current();\n }\n }\n\n if (delay !== null) {\n let id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n}\n\nconst defLoading = Loading...;\n\nconst ListObjects = ({\n classes,\n match,\n history,\n rewindEnabled,\n rewindDate,\n bucketToRewind,\n setSnackBarMessage,\n setErrorSnackMessage,\n resetRewind,\n setFileModeEnabled,\n setBucketDetailsLoad,\n loadingBucket,\n setBucketInfo,\n bucketInfo,\n setNewObject,\n updateProgress,\n completeObject,\n setSearchObjects,\n searchObjects,\n openList,\n}: IListObjectsProps) => {\n const [records, setRecords] = useState([]);\n const [loading, setLoading] = useState(true);\n const [rewind, setRewind] = useState([]);\n const [loadingRewind, setLoadingRewind] = useState(false);\n const [deleteMultipleOpen, setDeleteMultipleOpen] = useState(false);\n const [createFolderOpen, setCreateFolderOpen] = useState(false);\n const [loadingStartTime, setLoadingStartTime] = useState(0);\n const [loadingMessage, setLoadingMessage] =\n useState(defLoading);\n const [loadingVersioning, setLoadingVersioning] = useState(true);\n const [isVersioned, setIsVersioned] = useState(false);\n const [rewindSelect, setRewindSelect] = useState(false);\n const [selectedObjects, setSelectedObjects] = useState([]);\n const [previewOpen, setPreviewOpen] = useState(false);\n const [selectedPreview, setSelectedPreview] = useState(\n null\n );\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [sortDirection, setSortDirection] = useState<\n \"ASC\" | \"DESC\" | undefined\n >(\"ASC\");\n const [currentSortField, setCurrentSortField] = useState(\"name\");\n const [iniLoad, setIniLoad] = useState(false);\n const [canShareFile, setCanShareFile] = useState(false);\n const [canPreviewFile, setCanPreviewFile] = useState(false);\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [selectedInternalPaths, setSelectedInternalPaths] = useState<\n string | null\n >(null);\n\n const internalPaths = get(match.params, \"subpaths\", \"\");\n const bucketName = match.params[\"bucketName\"];\n\n const fileUpload = useRef(null);\n const folderUpload = useRef(null);\n\n useEffect(() => {\n if (folderUpload.current !== null) {\n folderUpload.current.setAttribute(\"directory\", \"\");\n folderUpload.current.setAttribute(\"webkitdirectory\", \"\");\n }\n }, [folderUpload]);\n\n useEffect(() => {\n if (selectedObjects.length === 1) {\n const objectName = selectedObjects[0];\n\n if (extensionPreview(objectName) !== \"none\") {\n setCanPreviewFile(true);\n } else {\n setCanPreviewFile(false);\n }\n\n if (objectName.endsWith(\"/\")) {\n setCanShareFile(false);\n } else {\n setCanShareFile(true);\n }\n } else {\n setCanShareFile(false);\n setCanPreviewFile(false);\n }\n }, [selectedObjects]);\n\n const displayDeleteObject = hasPermission(bucketName, [\n IAM_SCOPES.S3_DELETE_OBJECT,\n ]);\n\n const displayListObjects = hasPermission(bucketName, [\n IAM_SCOPES.S3_LIST_BUCKET,\n ]);\n\n const updateMessage = () => {\n let timeDelta = Date.now() - loadingStartTime;\n\n if (timeDelta / 1000 >= 6) {\n setLoadingMessage(\n \n \n This operation is taking longer than expected... (\n {Math.ceil(timeDelta / 1000)}s)\n \n \n );\n } else if (timeDelta / 1000 >= 3) {\n setLoadingMessage(\n \n This operation is taking longer than expected...\n \n );\n }\n };\n\n useEffect(() => {\n if (!iniLoad) {\n setBucketDetailsLoad(true);\n setIniLoad(true);\n }\n }, [iniLoad, setBucketDetailsLoad, setIniLoad]);\n\n useInterval(() => {\n // Your custom logic here\n if (loading) {\n updateMessage();\n }\n }, 1000);\n\n useEffect(() => {\n if (loadingVersioning) {\n if (displayListObjects) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/versioning`)\n .then((res: BucketVersioning) => {\n setIsVersioned(res.is_versioned);\n setLoadingVersioning(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoadingVersioning(false);\n });\n } else {\n setLoadingVersioning(false);\n }\n }\n }, [bucketName, loadingVersioning, setErrorSnackMessage, displayListObjects]);\n\n // Rewind\n useEffect(() => {\n if (rewindEnabled) {\n if (bucketToRewind !== bucketName) {\n resetRewind();\n return;\n }\n\n if (rewindDate) {\n setLoadingRewind(true);\n const rewindParsed = rewindDate.toISOString();\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeFileName(internalPaths);\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/rewind/${rewindParsed}${\n pathPrefix ? `?prefix=${encodeFileName(pathPrefix)}` : ``\n }`\n )\n .then((res: RewindObjectList) => {\n setLoadingRewind(false);\n if (res.objects) {\n setRewind(res.objects);\n } else {\n setRewind([]);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingRewind(false);\n setErrorSnackMessage(err);\n });\n }\n }\n }, [\n rewindEnabled,\n rewindDate,\n bucketToRewind,\n bucketName,\n match,\n setErrorSnackMessage,\n resetRewind,\n internalPaths,\n ]);\n\n useEffect(() => {\n setLoading(true);\n setDetailsOpen(false);\n setSearchObjects(\"\");\n }, [internalPaths, setSearchObjects]);\n\n useEffect(() => {\n if (loading) {\n if (displayListObjects) {\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeFileName(internalPaths);\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n\n let currentTimestamp = Date.now();\n setLoadingStartTime(currentTimestamp);\n setLoadingMessage(defLoading);\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects${\n pathPrefix ? `?prefix=${encodeFileName(pathPrefix)}` : ``\n }`\n )\n .then((res: BucketObjectsList) => {\n const records: BucketObject[] = res.objects || [];\n const folders: BucketObject[] = [];\n const files: BucketObject[] = [];\n\n records.forEach((record) => {\n // this is a folder\n if (record.name.endsWith(\"/\")) {\n folders.push(record);\n } else {\n // this is a file\n files.push(record);\n }\n });\n const recordsInElement = [...folders, ...files];\n setRecords(recordsInElement);\n // In case no objects were retrieved, We check if item is a file\n if (!res.objects && pathPrefix !== \"\") {\n if (rewindEnabled) {\n const rewindParsed = rewindDate.toISOString();\n\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeFileName(internalPaths);\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/rewind/${rewindParsed}${\n pathPrefix ? `?prefix=${encodeFileName(pathPrefix)}` : ``\n }`\n )\n .then((res: RewindObjectList) => {\n //It is a file since it has elements in the object, setting file flag and waiting for component mount\n if (res.objects === null) {\n setFileModeEnabled(true);\n setLoadingRewind(false);\n setLoading(false);\n } else {\n // It is a folder, we remove loader\n setLoadingRewind(false);\n setLoading(false);\n setFileModeEnabled(false);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingRewind(false);\n setLoading(false);\n setErrorSnackMessage(err);\n });\n } else {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects${\n internalPaths ? `?prefix=${internalPaths}` : ``\n }`\n )\n .then((res: BucketObjectsList) => {\n //It is a file since it has elements in the object, setting file flag and waiting for component mount\n if (!res.objects) {\n // It is a folder, we remove loader\n setFileModeEnabled(false);\n setLoading(false);\n } else {\n // This code prevents the program from opening a file when a substring of that file is entered as a new folder.\n // Previously, if there was a file test1.txt and the folder test was created with the same prefix, the program\n // would open test1.txt instead\n let found = false;\n let pathPrefixChopped = pathPrefix.slice(\n 0,\n pathPrefix.length - 1\n );\n for (let i = 0; i < res.objects.length; i++) {\n if (res.objects[i].name === pathPrefixChopped) {\n found = true;\n }\n }\n if (\n (res.objects.length === 1 &&\n res.objects[0].name.endsWith(\"/\")) ||\n !found\n ) {\n setFileModeEnabled(false);\n } else {\n setFileModeEnabled(true);\n }\n\n setLoading(false);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setErrorSnackMessage(err);\n });\n }\n } else {\n setFileModeEnabled(false);\n setLoading(false);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setErrorSnackMessage(err);\n });\n } else {\n setLoadingRewind(false);\n setLoading(false);\n }\n }\n }, [\n loading,\n match,\n setErrorSnackMessage,\n bucketName,\n rewindEnabled,\n rewindDate,\n internalPaths,\n setFileModeEnabled,\n bucketInfo,\n displayListObjects,\n ]);\n\n // bucket info\n useEffect(() => {\n if (loadingBucket) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}`)\n .then((res: BucketInfo) => {\n setBucketDetailsLoad(false);\n setBucketInfo(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setBucketDetailsLoad(false);\n setErrorSnackMessage(err);\n });\n }\n }, [\n bucketName,\n loadingBucket,\n setBucketDetailsLoad,\n setBucketInfo,\n setErrorSnackMessage,\n ]);\n\n const closeDeleteMultipleModalAndRefresh = (refresh: boolean) => {\n setDeleteMultipleOpen(false);\n\n if (refresh) {\n setSnackBarMessage(`Objects deleted successfully.`);\n setSelectedObjects([]);\n setLoading(true);\n }\n };\n\n const closeAddFolderModal = () => {\n setCreateFolderOpen(false);\n };\n\n const handleUploadButton = (e: any) => {\n if (\n e === null ||\n e === undefined ||\n e.target.files === null ||\n e.target.files === undefined\n ) {\n return;\n }\n e.preventDefault();\n var newFiles: File[] = [];\n\n for (var i = 0; i < e.target.files.length; i++) {\n newFiles.push(e.target.files[i]);\n }\n uploadObject(newFiles, \"\");\n };\n\n const displayParsedDate = (object: BucketObject) => {\n if (object.name.endsWith(\"/\")) {\n return \"\";\n }\n return {object.last_modified};\n };\n\n const displayNiceBytes = (object: BucketObject) => {\n if (object.name.endsWith(\"/\")) {\n return \"\";\n }\n return niceBytes(String(object.size));\n };\n\n const displayDeleteFlag = (state: boolean) => {\n return state ? \"Yes\" : \"No\";\n };\n\n const downloadObject = (object: BucketObject | RewindObject) => {\n const identityDownload = encodeFileName(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`\n );\n\n setNewObject({\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name,\n type: \"download\",\n waitingForFile: true,\n });\n\n download(\n bucketName,\n encodeFileName(object.name),\n object.version_id,\n object.size,\n (progress) => {\n updateProgress(identityDownload, progress);\n },\n () => {\n completeObject(identityDownload);\n }\n );\n };\n\n const openPath = (idElement: string) => {\n if (idElement.endsWith(\"/\")) {\n const newPath = `/buckets/${bucketName}/browse${\n idElement ? `/${encodeFileName(idElement)}` : ``\n }`;\n history.push(newPath);\n return;\n }\n\n setDetailsOpen(true);\n setSelectedInternalPaths(\n `${idElement ? `${encodeFileName(idElement)}` : ``}`\n );\n };\n\n const uploadObject = useCallback(\n (files: File[], folderPath: string): void => {\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeFileName(internalPaths);\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n\n const upload = (\n files: File[],\n bucketName: string,\n path: string,\n folderPath: string\n ) => {\n if (files.length > 0) {\n openList();\n let nextFile = files.pop();\n let uploadPromise = (file: File) => {\n return new Promise((resolve, reject) => {\n let uploadUrl = `api/v1/buckets/${bucketName}/objects/upload`;\n const fileName = file.name;\n const blobFile = new Blob([file], { type: file.type });\n\n let encodedPath = \"\";\n const relativeFolderPath =\n get(file, \"webkitRelativePath\", \"\") !== \"\"\n ? get(file, \"webkitRelativePath\", \"\")\n : folderPath;\n\n if (path !== \"\" || relativeFolderPath !== \"\") {\n const finalFolderPath = relativeFolderPath\n .split(\"/\")\n .slice(0, -1)\n .join(\"/\");\n\n encodedPath = encodeFileName(\n `${path}${finalFolderPath}${\n !finalFolderPath.endsWith(\"/\") ? \"/\" : \"\"\n }`\n );\n }\n\n if (encodedPath !== \"\") {\n uploadUrl = `${uploadUrl}?prefix=${encodedPath}`;\n }\n\n const identity = encodeFileName(\n `${bucketName}-${encodedPath}-${new Date().getTime()}-${Math.random()}`\n );\n\n setNewObject({\n bucketName,\n done: false,\n instanceID: identity,\n percentage: 0,\n prefix: `${decodeFileName(encodedPath)}${fileName}`,\n type: \"upload\",\n waitingForFile: false,\n });\n\n let xhr = new XMLHttpRequest();\n xhr.open(\"POST\", uploadUrl, true);\n\n const areMultipleFiles = files.length > 1;\n const errorMessage = `An error occurred while uploading the file${\n areMultipleFiles ? \"s\" : \"\"\n }.`;\n const okMessage = `Object${\n areMultipleFiles ? \"s\" : ``\n } uploaded successfully.`;\n\n xhr.withCredentials = false;\n xhr.onload = function (event) {\n if (\n xhr.status === 401 ||\n xhr.status === 403 ||\n xhr.status === 400 ||\n xhr.status === 500\n ) {\n if (xhr.response) {\n const err = JSON.parse(xhr.response);\n setSnackBarMessage(err.detailedMessage);\n } else {\n setSnackBarMessage(errorMessage);\n }\n }\n if (xhr.status === 413) {\n setSnackBarMessage(\"Error - File size too large\");\n }\n if (xhr.status === 200) {\n completeObject(identity);\n if (files.length === 0) {\n setSnackBarMessage(okMessage);\n }\n }\n resolve(xhr.status);\n if (files.length > 0) {\n let nFile = files.pop();\n if (nFile) {\n return uploadPromise(nFile);\n }\n }\n };\n\n xhr.upload.addEventListener(\"error\", (event) => {\n setSnackBarMessage(errorMessage);\n });\n\n xhr.upload.addEventListener(\"progress\", (event) => {\n const progress = Math.floor((event.loaded * 100) / event.total);\n\n updateProgress(identity, progress);\n });\n\n xhr.onerror = () => {\n setSnackBarMessage(errorMessage);\n reject(errorMessage);\n };\n xhr.onloadend = () => {\n if (files.length === 0) {\n setLoading(true);\n }\n };\n\n const formData = new FormData();\n if (file.size !== undefined) {\n formData.append(file.size.toString(), blobFile, fileName);\n\n xhr.send(formData);\n }\n });\n };\n\n if (nextFile) {\n uploadPromise(nextFile!)\n .then(() => {\n console.info(\"done uploading file\");\n })\n .catch((err) => {\n console.error(\"error uploading file,\", err);\n });\n }\n }\n };\n\n upload(files, bucketName, pathPrefix, folderPath);\n },\n [\n bucketName,\n completeObject,\n internalPaths,\n openList,\n setNewObject,\n setSnackBarMessage,\n updateProgress,\n ]\n );\n\n const onDrop = useCallback(\n (acceptedFiles) => {\n if (acceptedFiles && acceptedFiles.length > 0) {\n let newFolderPath: string = acceptedFiles[0].path;\n uploadObject(acceptedFiles, newFolderPath);\n }\n },\n [uploadObject]\n );\n\n const { getRootProps, getInputProps, isDragActive, isDragAccept } =\n useDropzone({\n noClick: true,\n onDrop,\n });\n\n const dndStyles = useMemo(\n () => ({\n ...baseDnDStyle,\n ...(isDragActive ? activeDnDStyle : {}),\n ...(isDragAccept ? acceptDnDStyle : {}),\n }),\n [isDragActive, isDragAccept]\n );\n\n const openPreview = () => {\n if (selectedObjects.length === 1) {\n let fileObject: BucketObject | undefined;\n\n const findFunction = (currValue: BucketObject | RewindObject) =>\n selectedObjects.includes(currValue.name);\n\n fileObject = filteredRecords.find(findFunction);\n\n if (fileObject) {\n setSelectedPreview(fileObject);\n setPreviewOpen(true);\n }\n }\n };\n\n const openShare = () => {\n if (selectedObjects.length === 1) {\n let fileObject: BucketObject | undefined;\n\n const findFunction = (currValue: BucketObject | RewindObject) =>\n selectedObjects.includes(currValue.name);\n\n fileObject = filteredRecords.find(findFunction);\n\n if (fileObject) {\n setSelectedPreview(fileObject);\n setShareFileModalOpen(true);\n }\n }\n };\n\n const closeShareModal = () => {\n setShareFileModalOpen(false);\n setSelectedPreview(null);\n };\n\n const tableActions: ItemActions[] = [\n {\n type: \"view\",\n label: \"View\",\n onClick: openPath,\n sendOnlyId: true,\n },\n ];\n\n const filteredRecords = records.filter((b: BucketObject) => {\n if (searchObjects === \"\") {\n return true;\n } else {\n const objectName = b.name.toLowerCase();\n if (objectName.indexOf(searchObjects.toLowerCase()) >= 0) {\n return true;\n } else {\n return false;\n }\n }\n });\n\n const rewindCloseModal = (refresh: boolean) => {\n setRewindSelect(false);\n };\n\n const closePreviewWindow = () => {\n setPreviewOpen(false);\n setSelectedPreview(null);\n };\n\n const selectListObjects = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selectedObjects]; // We clone the selectedBuckets array\n\n if (checked) {\n // If the user has checked this field we need to push this to selectedBucketsList\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n setSelectedObjects(elements);\n\n return elements;\n };\n\n const sortChange = (sortData: any) => {\n const newSortDirection = get(sortData, \"sortDirection\", \"DESC\");\n setCurrentSortField(sortData.sortBy);\n setSortDirection(newSortDirection);\n setLoading(true);\n };\n\n const renderName = (element: string) => {\n return displayName(element);\n };\n\n const listModeColumns = [\n {\n label: \"Name\",\n elementKey: \"name\",\n renderFunction: renderName,\n enableSort: true,\n },\n {\n label: \"Last Modified\",\n elementKey: \"last_modified\",\n renderFunction: displayParsedDate,\n renderFullObject: true,\n enableSort: true,\n },\n {\n label: \"Size\",\n elementKey: \"size\",\n renderFunction: displayNiceBytes,\n renderFullObject: true,\n width: 60,\n contentTextAlign: \"right\",\n enableSort: true,\n },\n ];\n\n const rewindModeColumns = [\n {\n label: \"Name\",\n elementKey: \"name\",\n renderFunction: renderName,\n enableSort: true,\n },\n {\n label: \"Object Date\",\n elementKey: \"last_modified\",\n renderFunction: displayParsedDate,\n renderFullObject: true,\n enableSort: true,\n },\n {\n label: \"Size\",\n elementKey: \"size\",\n renderFunction: displayNiceBytes,\n renderFullObject: true,\n width: 60,\n contentTextAlign: \"right\",\n enableSort: true,\n },\n {\n label: \"Deleted\",\n elementKey: \"delete_flag\",\n renderFunction: displayDeleteFlag,\n width: 60,\n contentTextAlign: \"center\",\n },\n ];\n\n const pageTitle = decodeFileName(internalPaths);\n const currentPath = pageTitle.split(\"/\").filter((i: string) => i !== \"\");\n\n const plSelect = rewindEnabled ? rewind : filteredRecords;\n\n const sortASC = plSelect.sort(sortListObjects(currentSortField));\n\n let payload: BucketObject[] | RewindObject[] = [];\n\n if (sortDirection === \"ASC\") {\n payload = sortASC;\n } else {\n payload = sortASC.reverse();\n }\n\n const selectAllItems = () => {\n if (selectedObjects.length === payload.length) {\n setSelectedObjects([]);\n return;\n }\n\n const elements = payload.map((item) => item.name);\n setSelectedObjects(elements);\n };\n\n const downloadSelected = () => {\n if (selectedObjects.length !== 0) {\n let itemsToDownload: BucketObject[] | RewindObject[] = [];\n\n const filterFunction = (currValue: BucketObject | RewindObject) =>\n selectedObjects.includes(currValue.name);\n\n if (rewindEnabled) {\n itemsToDownload = rewind.filter(filterFunction);\n } else {\n itemsToDownload = filteredRecords.filter(filterFunction);\n }\n\n itemsToDownload.forEach((filteredItem) => {\n downloadObject(filteredItem);\n });\n }\n };\n let uploadPath = [bucketName];\n if (currentPath.length > 0) {\n uploadPath = uploadPath.concat(currentPath);\n }\n\n return (\n \n {shareFileModalOpen && selectedPreview && (\n \n )}\n {deleteMultipleOpen && (\n \n )}\n {createFolderOpen && (\n \n )}\n {rewindSelect && (\n \n )}\n {previewOpen && (\n \n )}\n \n \n \n \n \n }\n title={\n \n }\n subTitle={\n \n \n \n Created:   \n {bucketInfo?.creation_date || \"\"}\n \n \n Access:   \n {bucketInfo?.access || \"\"}\n \n {bucketInfo && (\n \n \n {bucketInfo.size && (\n {niceBytesInt(bucketInfo.size)}\n )}\n {bucketInfo.size && bucketInfo.objects ? \" / \" : \"\"}\n {bucketInfo.objects && (\n \n {bucketInfo.objects} Object\n {bucketInfo.objects && bucketInfo.objects !== 1\n ? \"s\"\n : \"\"}\n \n )}\n \n \n )}\n \n \n }\n actions={\n \n \n \n {\n if (fileUpload && fileUpload.current) {\n fileUpload.current.click();\n }\n closeMenu();\n }}\n uploadFolderFunction={(closeMenu) => {\n if (folderUpload && folderUpload.current) {\n folderUpload.current.click();\n }\n closeMenu();\n }}\n />\n \n }\n />\n \n \n \n \n \n ,\n tooltip: \"Download Selected\",\n },\n {\n action: openShare,\n label: \"Share\",\n disabled: selectedObjects.length !== 1 || !canShareFile,\n icon: ,\n tooltip: \"Share Selected File\",\n },\n {\n action: openPreview,\n label: \"Preview\",\n disabled: selectedObjects.length !== 1 || !canPreviewFile,\n icon: ,\n tooltip: \"Preview Selected File\",\n },\n {\n action: () => {\n setDeleteMultipleOpen(true);\n },\n label: \"Delete\",\n icon: ,\n disabled:\n !hasPermission(bucketName, [\n IAM_SCOPES.S3_DELETE_OBJECT,\n ]) ||\n selectedObjects.length === 0 ||\n !displayDeleteObject,\n tooltip: \"Delete Selected Files\",\n },\n {\n action: () => {\n setRewindSelect(true);\n },\n label: \"Rewind\",\n disabled:\n !isVersioned ||\n !hasPermission(bucketName, [IAM_SCOPES.S3_PUT_OBJECT]),\n icon: (\n \n \n \n ),\n tooltip: \"Rewind Bucket\",\n },\n {\n action: () => {\n setCreateFolderOpen(true);\n },\n label: \"New Path\",\n icon: ,\n disabled:\n rewindEnabled ||\n !hasPermission(bucketName, [IAM_SCOPES.S3_PUT_OBJECT]),\n tooltip: \"Choose or create a new path\",\n },\n ]}\n globalActions={[\n {\n action: () => {\n setLoading(true);\n },\n label: \"Reload\",\n icon: ,\n disabled:\n !hasPermission(bucketName, [IAM_SCOPES.S3_LIST_BUCKET]) ||\n rewindEnabled,\n tooltip: \"Reload List\",\n },\n ]}\n />\n {\n setDetailsOpen(false);\n setSelectedInternalPaths(null);\n }}\n >\n {selectedInternalPaths !== null && (\n \n )}\n \n \n \n \n \n \n );\n};\n\nconst mapStateToProps = ({ objectBrowser, buckets }: AppState) => ({\n routesList: get(objectBrowser, \"routesList\", []),\n downloadingFiles: get(objectBrowser, \"downloadingFiles\", []),\n rewindEnabled: get(objectBrowser, \"rewind.rewindEnabled\", false),\n rewindDate: get(objectBrowser, \"rewind.dateToRewind\", null),\n bucketToRewind: get(objectBrowser, \"rewind.bucketToRewind\", \"\"),\n loadingBucket: buckets.bucketDetails.loadingBucket,\n bucketInfo: buckets.bucketDetails.bucketInfo,\n searchObjects: objectBrowser.searchObjects,\n});\n\nconst mapDispatchToProps = {\n setSnackBarMessage,\n setErrorSnackMessage,\n setFileModeEnabled,\n resetRewind,\n setBucketDetailsLoad,\n setBucketInfo,\n setNewObject,\n updateProgress,\n completeObject,\n openList,\n setSearchObjects,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withRouter(connector(withStyles(styles)(ListObjects)));\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 } 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 { Link } from \"react-router-dom\";\nimport { Grid, IconButton, Tooltip } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport { AppState } from \"../../../../store\";\nimport { containerForHeader } from \"../../Common/FormComponents/common/styleLibrary\";\nimport {\n setFileModeEnabled,\n setSearchObjects,\n} from \"../../ObjectBrowser/actions\";\nimport ObjectDetails from \"../ListBuckets/Objects/ObjectDetails/ObjectDetails\";\nimport ListObjects from \"../ListBuckets/Objects/ListObjects/ListObjects\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport SettingsIcon from \"../../../../icons/SettingsIcon\";\nimport { BucketInfo } from \"../types\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport SecureComponent from \"../../../../common/SecureComponent/SecureComponent\";\nimport {\n IAM_PERMISSIONS,\n IAM_ROLES,\n IAM_SCOPES,\n} from \"../../../../common/SecureComponent/permissions\";\nimport SearchBox from \"../../Common/SearchBox\";\nimport BackLink from \"../../../../common/BackLink\";\n\ninterface IBrowserHandlerProps {\n fileMode: boolean;\n match: any;\n history: any;\n classes: any;\n setFileModeEnabled: typeof setFileModeEnabled;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n bucketInfo: BucketInfo | null;\n searchObjects: string;\n setSearchObjects: typeof setSearchObjects;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\n },\n backToBuckets: {\n color: \"#000\",\n fontSize: 14,\n padding: 0,\n marginTop: -8,\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst BrowserHandler = ({\n fileMode,\n match,\n history,\n classes,\n setFileModeEnabled,\n searchObjects,\n setSearchObjects,\n}: IBrowserHandlerProps) => {\n const bucketName = match.params[\"bucketName\"];\n const internalPaths = get(match.params, \"subpaths\", \"\");\n\n useEffect(() => {\n setFileModeEnabled(false);\n }, [internalPaths, setFileModeEnabled]);\n\n const openBucketConfiguration = () => {\n history.push(`/buckets/${bucketName}/admin`);\n };\n\n return (\n \n \n {fileMode ? (\n \n \n Buckets\n {\" \"}\n > {bucketName}\n \n ) : (\n \n \n \n )}\n \n }\n actions={\n \n \n \n \n \n \n \n }\n middleComponent={\n \n {!fileMode && (\n \n {\n setSearchObjects(value);\n }}\n value={searchObjects}\n />\n \n )}\n \n }\n />\n {fileMode ? : }\n \n );\n};\n\nconst mapStateToProps = ({ objectBrowser, buckets }: AppState) => ({\n fileMode: get(objectBrowser, \"fileMode\", false),\n bucketToRewind: get(objectBrowser, \"rewind.bucketToRewind\", \"\"),\n bucketInfo: buckets.bucketDetails.bucketInfo,\n searchObjects: objectBrowser.searchObjects,\n});\n\nconst mapDispatchToProps = {\n setFileModeEnabled,\n setErrorSnackMessage,\n setSearchObjects,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(BrowserHandler));\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, CircularProgress } from \"@mui/material\";\n\ntype ActionLinkProps = {\n isLoading: boolean;\n onClick: () => void;\n classes?: any;\n label: any;\n [x: string]: any;\n};\nconst ActionLink = ({\n isLoading,\n onClick,\n label,\n ...restProps\n}: ActionLinkProps) => {\n return (\n \n {isLoading ? (\n \n ) : (\n label\n )}\n \n );\n};\n\nexport default ActionLink;\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 { IconButton } from \"@mui/material\";\nimport EditIcon from \"../../../../../icons/EditIcon\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ntype EditActionButtonProps = {\n disabled?: boolean;\n onClick: () => void | any;\n [x: string]: any;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"#E2E2E2\",\n },\n },\n });\n\nconst EditActionButton = ({\n disabled,\n onClick,\n ...restProps\n}: EditActionButtonProps) => {\n return (\n \n \n \n );\n};\n\nexport default withStyles(styles)(EditActionButton);\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 LabelValuePair from \"../../../Common/UsageBarWrapper/LabelValuePair\";\nimport SecureComponent from \"../../../../../common/SecureComponent/SecureComponent\";\nimport ActionLink from \"./ActionLink\";\nimport { Box } from \"@mui/material\";\nimport EditActionButton from \"./EditActionButton\";\n\ntype EditablePropertyItemProps = {\n isLoading: boolean;\n resourceName: string;\n iamScopes: string[];\n property: any;\n value: any;\n onEdit: () => void;\n secureCmpProps?: Record;\n};\n\nconst SecureAction = ({\n resourceName,\n iamScopes,\n secureCmpProps = {},\n children,\n}: {\n resourceName: string;\n iamScopes: string[];\n children: any;\n secureCmpProps?: Record;\n}) => {\n return (\n \n {children}\n \n );\n};\n\nconst EditablePropertyItem = ({\n isLoading = true,\n resourceName = \"\",\n iamScopes,\n secureCmpProps = {},\n property = null,\n value = null,\n onEdit,\n}: EditablePropertyItemProps) => {\n return (\n \n \n \n \n }\n />\n \n \n \n \n );\n};\n\nexport default EditablePropertyItem;\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 { Box } from \"@mui/material\";\n\ntype LabelWithIconProps = {\n icon: React.ReactNode | null;\n label: React.ReactNode | null;\n};\n\nconst LabelWithIcon = ({ icon = null, label = null }: LabelWithIconProps) => {\n return (\n \n \n {icon}\n \n
{label}
\n \n );\n};\n\nexport default LabelWithIcon;\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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\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 Object Metadata\n \n \n\n \n \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 \n {element}\n \n {renderItem}\n \n );\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) 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 Grid from \"@mui/material/Grid\";\nimport InputLabel from \"@mui/material/InputLabel\";\nimport moment from \"moment/moment\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport InputBoxWrapper from \"../InputBoxWrapper/InputBoxWrapper\";\n\ninterface IDaysSelector {\n classes: any;\n id: string;\n initialDate: Date;\n maxDays?: number;\n label: string;\n entity: string;\n onChange: (newDate: string, isValid: boolean) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n labelContainer: {\n display: \"flex\",\n alignItems: \"center\",\n marginBottom: 15,\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 dateContainer: {\n height: 20,\n textAlign: \"right\",\n color: \"#848484\",\n },\n dateInputContainer: {\n margin: \"0 10px\",\n },\n durationInputs: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n\n validityIndicator: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n invalidDurationText: {\n marginTop: 15,\n display: \"flex\",\n color: \"red\",\n fontSize: 11,\n },\n validityText: {\n fontSize: 14,\n fontWeight: 600,\n marginTop: 15,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst calculateNewTime = (\n initialDate: Date,\n days: number,\n hours: number,\n minutes: number\n) => {\n return moment(initialDate)\n .add(days, \"days\")\n .add(hours, \"hours\")\n .add(minutes, \"minutes\");\n};\n\nconst DaysSelector = ({\n classes,\n id,\n initialDate,\n label,\n maxDays,\n entity,\n onChange,\n}: IDaysSelector) => {\n const [selectedDays, setSelectedDays] = useState(7);\n const [selectedHours, setSelectedHours] = useState(0);\n const [selectedMinutes, setSelectedMinutes] = useState(0);\n const [validDate, setValidDate] = useState(true);\n const [dateSelected, setDateSelected] = useState(moment());\n\n useEffect(() => {\n setDateSelected(\n calculateNewTime(\n initialDate,\n selectedDays,\n selectedHours,\n selectedMinutes\n )\n );\n }, [initialDate, selectedDays, selectedHours, selectedMinutes]);\n\n useEffect(() => {\n if (validDate) {\n onChange(dateSelected.format(\"YYYY-MM-DDTHH:mm:ss\"), true);\n } else {\n onChange(\"0000-00-00\", false);\n }\n }, [dateSelected, onChange, validDate]);\n\n // Basic validation for inputs\n useEffect(() => {\n let valid = true;\n if (\n selectedDays < 0 ||\n (maxDays && selectedDays > maxDays) ||\n isNaN(selectedDays)\n ) {\n valid = false;\n }\n\n if (selectedHours < 0 || selectedHours > 23 || isNaN(selectedHours)) {\n valid = false;\n }\n\n if (selectedMinutes < 0 || selectedMinutes > 59 || isNaN(selectedMinutes)) {\n valid = false;\n }\n\n if (\n maxDays &&\n selectedDays === maxDays &&\n (selectedHours !== 0 || selectedMinutes !== 0)\n ) {\n valid = false;\n }\n\n setValidDate(valid);\n }, [\n dateSelected,\n maxDays,\n onChange,\n selectedDays,\n selectedHours,\n selectedMinutes,\n ]);\n\n const extraInputProps = {\n style: {\n textAlign: \"center\" as const,\n paddingRight: 10,\n paddingLeft: 10,\n width: 25,\n },\n className: \"removeArrows\" as const,\n };\n\n return (\n \n \n \n \n \n {label}\n \n \n \n \n {\n setSelectedDays(parseInt(e.target.value));\n }}\n value={selectedDays.toString()}\n extraInputProps={extraInputProps}\n noLabelMinWidth\n />\n \n \n {\n setSelectedHours(parseInt(e.target.value));\n }}\n value={selectedHours.toString()}\n extraInputProps={extraInputProps}\n noLabelMinWidth\n />\n \n \n {\n setSelectedMinutes(parseInt(e.target.value));\n }}\n value={selectedMinutes.toString()}\n extraInputProps={extraInputProps}\n noLabelMinWidth\n />\n \n \n \n \n {validDate ? (\n
\n
\n {entity} will be available until:\n
{\" \"}\n
\n {dateSelected.format(\"MM/DD/YYYY HH:mm:ss\")}\n
\n
\n ) : (\n
\n Please select a valid duration.\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 { BucketObject } 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: BucketObject | 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 \n )}\n {objectType === \"audio\" && (\n \n \n \n )}\n {objectType === \"image\" && (\n \n )}\n {objectType !== \"video\" &&\n objectType !== \"audio\" &&\n objectType !== \"image\" && (\n \n \n File couldn't be loaded. Please try Download instead\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 { BucketObject } from \"../ListObjects/types\";\nimport { ObjectPreviewIcon } from \"../../../../../../icons\";\n\ninterface IPreviewFileProps {\n open: boolean;\n bucketName: string;\n object: BucketObject | 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 { BucketObject, RewindObject } 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: BucketObject | RewindObject, b: BucketObject | RewindObject) =>\n a.name.localeCompare(b.name);\n case \"last_modified\":\n return (a: BucketObject | RewindObject, b: BucketObject | RewindObject) =>\n new Date(a.last_modified).getTime() -\n new Date(b.last_modified).getTime();\n case \"size\":\n return (a: BucketObject | RewindObject, b: BucketObject | RewindObject) =>\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 from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\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) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n

\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\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","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\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 ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \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 { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ninterface IScreenTitle {\n classes: any;\n icon?: any;\n title?: any;\n subTitle?: any;\n actions?: any;\n className?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerBarIcon: {\n marginRight: \".7rem\",\n color: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n },\n },\n headerBarSubheader: {\n color: \"grey\",\n \"@media (max-width: 900px)\": {\n maxWidth: 200,\n },\n },\n screenTitle: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"1rem\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n titleColumn: {\n height: \"auto\",\n justifyContent: \"center\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n fontSize: 19,\n },\n },\n leftItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n rightItems: {\n display: \"flex\",\n alignItems: \"center\",\n },\n });\n\nconst ScreenTitle = ({\n classes,\n icon,\n title,\n subTitle,\n actions,\n className,\n}: IScreenTitle) => {\n return (\n \n \n
\n {icon ?
{icon}
: null}\n
\n

{title}

\n {subTitle}\n
\n
\n\n
{actions}
\n
\n \n );\n};\n\nexport default withStyles(styles)(ScreenTitle);\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","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","import React from \"react\";\nimport { Box, Tab, TabProps } from \"@mui/material\";\nimport { TabContext, TabList, TabPanel } from \"@mui/lab\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme, useTheme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\n\nexport type TabItemProps = {\n tabConfig: TabProps | any;\n content?: JSX.Element | JSX.Element[];\n};\n\ntype VerticalTabsProps = {\n classes: any;\n children: TabItemProps[];\n selectedTab?: string;\n routes?: any;\n isRouteTabs?: boolean;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n tabsContainer: {\n display: \"flex\",\n height: \"100%\",\n width: \"100%\",\n },\n tabsHeaderContainer: {\n width: \"300px\",\n background: \"#F8F8F8\",\n borderRight: \"1px solid #EAEAEA\",\n \"& .MuiTabs-root\": {\n \"& .MuiTabs-indicator\": {\n display: \"none\",\n },\n \"& .MuiTab-root\": {\n display: \"flex\",\n flexFlow: \"row\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n borderBottom: \"1px solid #EAEAEA\",\n \"& .MuiSvgIcon-root\": {\n marginRight: 8,\n marginBottom: 0,\n },\n \"&.Mui-selected\": {\n background: \"#E5E5E5\",\n fontWeight: 600,\n },\n },\n\n \"&. MuiTabs-scroller\": {\n display: \"none\",\n },\n },\n },\n tabContentContainer: {\n width: \"100%\",\n \"& .MuiTabPanel-root\": {\n height: \"100%\",\n },\n },\n tabPanel: {\n height: \"100%\",\n },\n /*Below md breakpoint make it horizontal and style it for scrolling tabs*/\n \"@media (max-width: 900px)\": {\n tabsContainer: {\n flexFlow: \"column\",\n flexDirection: \"column\",\n },\n tabsHeaderContainer: {\n width: \"100%\",\n borderBottom: \" 1px solid #EAEAEA\",\n \"& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root\": {\n borderBottom: \" 0px\",\n },\n },\n },\n });\n\nconst tabStripStyle = {\n minHeight: 60,\n};\n\nconst VerticalTabs = ({\n children,\n classes,\n selectedTab = \"0\",\n routes,\n isRouteTabs,\n}: VerticalTabsProps) => {\n const [value, setValue] = React.useState(selectedTab);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\n });\n\n return (\n \n \n \n \n {headerList.map((item, index) => {\n if (item) {\n return (\n \n );\n }\n return null;\n })}\n \n \n\n \n {!isRouteTabs\n ? contentList.map((item, index) => {\n return (\n \n {item ? item : null}\n \n );\n })\n : null}\n {isRouteTabs ? (\n
{routes}
\n ) : null}\n
\n
\n
\n );\n};\n\nexport default withStyles(styles)(VerticalTabs);\n"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","months","value","days","Array","from","_","num","currentYear","Date","getFullYear","years","numYear","SelectStyled","root","input","borderBottom","InputBase","DateSelector","forwardRef","ref","id","disableOptions","addSwitch","tooltip","onDateChange","useImperativeHandle","resetDate","useState","dateEnabled","setDateEnabled","month","setMonth","day","setDay","year","setYear","useEffect","valueSplit","split","parseInt","currentDate","parse","isNaN","parsedMonth","parsedDay","monthForString","dayForString","parsedDate","toISOString","dateString","validDate","isValid","isDateDisabled","Grid","item","xs","clsx","fieldContainer","fieldContainerBorder","labelContainer","container","InputLabel","htmlFor","inputLabel","tooltipContainer","Tooltip","title","placement","HelpIcon","FormSwitchWrapper","indicatorLabels","checked","name","onChange","e","target","switchOnly","FormControl","disabled","dateInput","Select","displayEmpty","MenuItem","map","option","dayNumber","fieldBasic","tooltipHelper","flex","paddingBottom","marginTop","marginBottom","mapDispatchToProps","setModalErrorSnackMessage","connector","connect","formFieldStyles","modalStyleUtils","spacingUtils","dateSelector","border","paddingLeft","open","closeModalAndRefresh","objectName","objectInfo","bucketName","statusEnabled","setStatusEnabled","type","setType","date","setDate","isDateValid","setIsDateValid","isSaving","setIsSaving","alreadyConfigured","setAlreadyConfigured","retention_mode","toLowerCase","retention_until_date","valueDate","toString","getMonth","getDate","dateElement","useRef","resetForm","current","showSwitcher","ModalWrapper","modalOpen","onClose","spacerBottom","noValidate","autoComplete","onSubmit","preventDefault","formFieldRow","RadioGroupSelector","currentSelection","selectorOptions","modalButtonBar","Button","variant","selectedObject","versionId","version_id","expireDate","api","encodeFileName","expires","mode","then","res","catch","error","addRetention","disableRetention","objectBrowser","rewindEnabled","get","rewindDate","objectBrowserCommon","internalPaths","fullSizeBreadcrumbs","paths","splitPaths","filter","path","listBreadcrumbs","objectItem","index","subSplit","slice","join","route","length","breadcrumbs","setErrorSnackMessage","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","versioning","useApi","err","deleteLoading","invokeDeleteApi","deleteVersions","setDeleteVersions","ConfirmDialog","confirmText","isOpen","titleIcon","isLoading","onConfirm","recursive","decodeFileName","endsWith","confirmationContent","DialogContentText","description","system","distributedSetup","pathLabel","currentTags","onCloseAndUpdate","newKey","setNewKey","newLabel","setNewLabel","isSending","setIsSending","InputBoxWrapper","placeholder","trim","newTag","newTagList","verID","tags","selectedTag","tagKey","tagLabel","cleanObject","wrapText","actualInfo","legalHoldEnabled","setLegalHoldEnabled","status","modalBasic","versionID","objectPath","restoreOpen","restoreLoading","setRestoreLoading","RecoverIcon","confirmButtonProps","tagKeys","onDeleteTag","onAddTagClick","SecureComponent","scopes","IAM_SCOPES","resource","Box","sx","flexFlow","tag","matchAll","errorProps","deleteIcon","onDelete","Chip","style","textTransform","size","Close","Add","clickable","React","ShareIcon","DownloadIcon","DeleteIcon","ObjectBrowserIcon","ObjectMetaData","EditablePropertyItem","LabelValuePair","emptyFile","is_latest","last_modified","legal_hold_status","twoColCssGridLayoutConfig","gridTemplateColumns","sm","gridAutoFlow","gap","setSnackBarMessage","setNewObject","updateProgress","completeObject","downloadingFiles","bucketToRewind","withRouter","propertiesIcon","marginLeft","height","fontWeight","search","capitalizeFirst","titleCol","titleItem","paddingTop","position","left","top","tabsContainer","borderTop","hrClass","buttonsStyles","actionsTray","tableStyles","textStyleUtils","containerForHeader","spacing","match","loadObjectData","setLoadObjectData","shareFileModalOpen","setShareFileModalOpen","retentionModalOpen","setRetentionModalOpen","tagModalOpen","setTagModalOpen","deleteTagModalOpen","setDeleteTagModalOpen","setSelectedTag","legalholdOpen","setLegalholdOpen","setActualInfo","objectToShare","setObjectToShare","versions","setVersions","filterVersion","setFilterVersion","setDeleteOpen","restoreVersionOpen","setRestoreVersionOpen","restoreVersion","setRestoreVersion","params","internalPathsDecoded","allPathData","currentItem","pop","objectNameArray","result","find","el","Object","keys","shareObject","downloadObject","object","identityDownload","getTime","Math","random","done","instanceID","percentage","prefix","waitingForFile","download","progress","tableActions","sendOnlyId","disableButtonFunction","element","elm","is_delete_marker","filteredRecords","version","includes","ShareFile","dataObject","updateInfo","redirectBack","newPath","history","reloadObjectData","reload","PageLayout","pageContainer","LinearProgress","Fragment","ScreenTitle","subTitle","actions","RBIconButton","text","CircularProgress","VerticalTabs","tabConfig","content","sectionTitle","iamScopes","secureCmpProps","resourceName","property","onEdit","LabelWithIcon","textMuted","spacerTop","SearchBox","tableBlock","TableWrapper","itemActions","columns","renderFullObject","renderFunction","r","versOrd","indexOf","elementKey","contentTextAlign","entityName","idField","records","textSelectable","extensionPreview","PreviewFileContent","content_type","isFullscreen","fileName","fileNameText","whiteSpace","overflow","textOverflow","props","strings","FileBookIcon","FileCodeIcon","FileConfigIcon","FileDbIcon","FileFontIcon","FileImageIcon","FileLockIcon","FileMissingIcon","FileMusicIcon","FilePdfIcon","FilePptIcon","FileTxtIcon","FileVideoIcon","FileXlsIcon","FileZipIcon","listUploadIcons","fill","uploadPath","forceDisable","uploadFileFunction","uploadFolderFunction","anchorEl","setAnchorEl","openUploadMenu","Boolean","handleCloseUpload","uploadObjectAllowed","hasPermission","uploadFolderAllowed","uploadEnabled","undefined","event","currentTarget","Menu","anchorOrigin","vertical","horizontal","transformOrigin","ListItemIcon","ListItemText","containsResource","detailsList","borderColor","backgroundColor","borderWidth","borderStyle","borderRadius","borderBottomLeftRadius","borderBottomRightRadius","transitionDuration","overflowX","overflowY","opacity","borderTopWidth","borderBottomWidth","borderRightWidth","borderLeftWidth","closePanel","right","children","IconButton","margin","restProps","startIcon","detailsPanel","previewOpen","setPreviewOpen","totalVersionsSize","setTotalVersionsSize","tVersionSize","reduce","acc","currValue","PreviewFileModal","onClosePreview","titleLabel","objectActions","openExtraInfo","detailContainer","linear","metadataLinear","niceBytesInt","AddFolderIcon","HistoryIcon","RefreshIcon","CreateFolderModal","withSuspense","DeleteMultipleObjects","RewindEnable","baseDnDStyle","outline","activeDnDStyle","acceptDnDStyle","defLoading","Typography","component","setFileModeEnabled","resetRewind","setBucketDetailsLoad","setBucketInfo","openList","setSearchObjects","buckets","routesList","loadingBucket","bucketDetails","bucketInfo","searchObjects","browsePaper","backgroundImage","badgeOverlap","minWidth","screenTitle","paddingRight","searchField","setRecords","loading","setLoading","rewind","setRewind","loadingRewind","setLoadingRewind","deleteMultipleOpen","setDeleteMultipleOpen","createFolderOpen","setCreateFolderOpen","loadingStartTime","setLoadingStartTime","loadingMessage","setLoadingMessage","loadingVersioning","setLoadingVersioning","isVersioned","setIsVersioned","rewindSelect","setRewindSelect","selectedObjects","setSelectedObjects","selectedPreview","setSelectedPreview","sortDirection","setSortDirection","currentSortField","setCurrentSortField","iniLoad","setIniLoad","canShareFile","setCanShareFile","canPreviewFile","setCanPreviewFile","detailsOpen","setDetailsOpen","selectedInternalPaths","setSelectedInternalPaths","fileUpload","folderUpload","setAttribute","displayDeleteObject","displayListObjects","callback","delay","savedCallback","setInterval","clearInterval","useInterval","timeDelta","now","ceil","updateMessage","is_versioned","rewindParsed","pathPrefix","decodedPath","objects","currentTimestamp","folders","files","forEach","record","push","recordsInElement","found","pathPrefixChopped","i","handleUploadButton","newFiles","uploadObject","displayParsedDate","displayNiceBytes","niceBytes","String","useCallback","folderPath","nextFile","uploadPromise","file","Promise","resolve","reject","uploadUrl","blobFile","Blob","encodedPath","relativeFolderPath","finalFolderPath","identity","xhr","XMLHttpRequest","areMultipleFiles","errorMessage","okMessage","withCredentials","onload","response","JSON","detailedMessage","nFile","upload","addEventListener","floor","loaded","total","onerror","onloadend","formData","FormData","append","send","console","info","onDrop","acceptedFiles","newFolderPath","useDropzone","noClick","getRootProps","getInputProps","isDragActive","isDragAccept","dndStyles","useMemo","idElement","b","renderName","elementString","ObjectBrowserFolderIcon","substr","extensionToIcon","extensions","lowercaseElement","etc","ext","splitItem","displayName","listModeColumns","enableSort","rewindModeColumns","state","pageTitle","currentPath","sortASC","sort","sortListObjects","payload","reverse","concat","refresh","folderName","existingFiles","detailsSpacer","creation_date","access","multiple","closeMenu","click","customPaperHeight","selectedItems","onSelect","targetD","elements","customEmptyMessage","sortConfig","currentSort","currentDirection","triggerSort","sortData","newSortDirection","sortBy","onSelectAll","actionButtons","action","filterFunction","filteredItem","fileObject","Badge","badgeContent","invisible","globalActions","fileMode","breadcrumLink","backToBuckets","PageHeader","BackLink","IAM_PERMISSIONS","IAM_ROLES","SettingsIcon","middleComponent","background","disableRipple","disableFocusRipple","EditIcon","SecureAction","useStyles","makeStyles","tgtColor","main","contrastText","secondary","getButtonColor","metaData","setMetaData","metadata","invokeMetaDataApi","metaKeys","loadMetaData","renderItem","isArray","decodeURIComponent","table","scope","align","dateContainer","textAlign","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","endIcon","iframeContainer","iframeBase","iframeHidden","basename","document","baseURI","replace","window","location","origin","objectType","iframeLoaded","autoPlay","controls","muted","playsInline","onPlay","src","alt","onLoad","allowTransparency","wideLimit","fileSize","progressCallback","completeCallback","anchor","createElement","body","appendChild","req","evt","percentComplete","round","responseType","onreadystatechange","readyState","rspHeader","getResponseHeader","filename","href","URL","createObjectURL","removeChild","fileExtension","fieldSort","a","localeCompare","contained","dark","rest","button","WrappedComponent","fallback","ComponentWithSuspense","Suspense","StyledSwitch","switchBase","transform","common","white","boxShadow","thumb","track","transition","transitions","create","focusVisible","switchContainer","Switch","divContainer","indicatorLabelOn","indicatorLabel","fieldDescription","switchComponent","inputProps","disableTouchRipple","md","inputStyles","inputFieldStyles","InputField","InputProps","textBoxContainer","flexGrow","overlayAction","maxHeight","multiline","required","overlayIcon","overlayObject","pattern","autoFocus","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","predefinedList","multiLine","prefinedContainer","predefinedTitle","innerContentMultiline","innerContent","radioStyles","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","radioUnselectedIcon","optionLabel","checkedOption","displayInColumn","radioOptionsLayout","row","selectorOption","control","onSuccess","onError","setIsLoading","method","url","data","deleteDialogStyles","onCancel","cancelText","cancelButtonProps","reason","titleText","closeContainer","closeButton","cancelButton","confirmButton","loadingPosition","timerI","stopHideTimer","displayErrorMessage","modalSnackMessage","modalSnackBar","modalErrorContainer","zIndex","modalErrorShow","cursor","errorTitle","errorLabel","messageIcon","detailsButton","transformDuration","extraDetailsContainer","fontStyle","lineHeight","extraDetailsOpen","arrowElement","arrowOpen","customStyle","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","detailedError","message","messageDetails","onMouseOver","onMouseLeave","ErrorOutline","detailsContainerLink","ArrowRight","customDialogSize","snackBarCommon","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","Dialog","scroll","DialogTitle","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","toggleList","sidebarOpen","operatorMode","managerObjects","objectManager","objectsToManage","headerContainer","minHeight","labelStyle","rightMenu","logo","direction","headerBarIcon","headerBarSubheader","titleColumn","leftItems","rightItems","adornment","adornmentPosition","overrideClass","disableUnderline","orientation","stkProps","lblProps","valProps","tabStripStyle","tabsHeaderContainer","borderRight","tabContentContainer","tabPanel","flexDirection","selectedTab","routes","isRouteTabs","setValue","useTheme","isSmallScreen","useMediaQuery","breakpoints","down","headerList","contentList","child","newValue","scrollButtons","tabList","tabHeader","focusRipple"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/8967.ec9d9b6b.chunk.js","mappings":"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","sources":["common/BackLink.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/ObjectBrowser/BrowserBreadcrumbs.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteObject.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/AddTagModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/DeleteTagModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetLegalHoldModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/RestoreFileVersion.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ObjectTags.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ObjectDetails.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/IconWithLabel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/utils.tsx","screens/Console/Buckets/ListBuckets/UploadFilesButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DetailsListPanel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectActionButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx","screens/Console/Buckets/BucketDetails/BrowserHandler.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/ActionLink.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/EditActionButton.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/EditablePropertyItem.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/LabelWithIcon.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ObjectMetaData.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/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/ScreenTitle/ScreenTitle.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Common/UsageBarWrapper/LabelValuePair.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.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 { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\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 {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n {addSwitch && (\n {\n setDateEnabled(e.target.checked);\n if (!e.target.checked) {\n onDateChange(\"\", true);\n }\n }}\n switchOnly\n />\n )}\n
\n
\n
\n \n }\n >\n \n {\"\"}\n \n {months.map((option) => (\n \n {option.label}\n \n ))}\n \n \n \n }\n >\n \n {\"\"}\n \n {days.map((dayNumber) => (\n \n {dayNumber}\n \n ))}\n \n \n \n }\n >\n \n {\"\"}\n \n {years.map((year) => (\n \n {year}\n \n ))}\n \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 onSubmit(e);\n }}\n >\n {showSwitcher && (\n \n ) => {\n setStatusEnabled(!statusEnabled);\n }}\n label={\"Status\"}\n indicatorLabels={[\"Enabled\", \"Disabled\"]}\n />\n \n )}\n \n {\n setType(e.target.value);\n }}\n selectorOptions={[\n { label: \"Governance\", value: \"governance\" },\n { label: \"Compliance\", value: \"compliance\" },\n ]}\n />\n \n \n {\n setIsDateValid(isValid);\n if (isValid) {\n setDate(date);\n }\n }}\n />\n \n \n \n Reset\n \n \n Save\n \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 from \"react\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport Moment from \"react-moment\";\nimport { connect } from \"react-redux\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { ObjectBrowserState } from \"./reducers\";\nimport { objectBrowserCommon } from \"../Common/FormComponents/common/styleLibrary\";\nimport { Link } from \"react-router-dom\";\nimport { encodeFileName } from \"../../../common/utils\";\n\ninterface ObjectBrowserReducer {\n objectBrowser: ObjectBrowserState;\n}\n\ninterface IObjectBrowser {\n classes: any;\n bucketName: string;\n internalPaths: string;\n rewindEnabled?: boolean;\n rewindDate?: any;\n fullSizeBreadcrumbs?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...objectBrowserCommon,\n });\n\nconst BrowserBreadcrumbs = ({\n classes,\n bucketName,\n internalPaths,\n rewindEnabled,\n rewindDate,\n fullSizeBreadcrumbs,\n}: IObjectBrowser) => {\n let paths = internalPaths;\n\n if (internalPaths !== \"\") {\n paths = `/${internalPaths}`;\n }\n\n const splitPaths = paths.split(\"/\").filter((path) => path !== \"\");\n const listBreadcrumbs = splitPaths.map(\n (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 return (\n \n {objectItem}\n {index < splitPaths.length - 1 && / }\n \n );\n }\n );\n\n const title = false;\n return (\n \n {title && (\n \n
\n {splitPaths && splitPaths.length > 0\n ? splitPaths[splitPaths.length - 1]\n : \"\"}\n {rewindEnabled && splitPaths.length > 1 && (\n \n  (Rewind:{\" \"}\n )\n \n )}\n
\n
\n )}\n\n \n \n {bucketName}\n {listBreadcrumbs.length > 0 && / }\n \n {listBreadcrumbs}\n \n
\n );\n};\n\nconst mapStateToProps = ({ objectBrowser }: ObjectBrowserReducer) => ({\n rewindEnabled: get(objectBrowser, \"rewind.rewindEnabled\", false),\n rewindDate: get(objectBrowser, \"rewind.dateToRewind\", null),\n});\n\nconst connector = connect(mapStateToProps, null);\n\nexport default withStyles(styles)(connector(BrowserBreadcrumbs));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { 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}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n setErrorSnackMessage,\n versioning,\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}&recursive=${recursive}&all_versions=${deleteVersions}`\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 {versioning && (\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 } from \"react\";\nimport get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { Button, Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { setModalErrorSnackMessage } from \"../../../../../../actions\";\nimport { AppState } from \"../../../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../../../../common/api\";\nimport { decodeFileName } from \"../../../../../../common/utils\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { AddNewTagIcon } from \"../../../../../../icons\";\n\ninterface ITagModal {\n modalOpen: boolean;\n currentTags: any;\n bucketName: string;\n versionId: string | null;\n onCloseAndUpdate: (refresh: boolean) => void;\n selectedObject: string;\n distributedSetup: boolean;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n pathLabel: {\n marginTop: 0,\n marginBottom: 32,\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\n\nconst AddTagModal = ({\n modalOpen,\n currentTags,\n selectedObject,\n onCloseAndUpdate,\n bucketName,\n versionId,\n distributedSetup,\n setModalErrorSnackMessage,\n classes,\n}: ITagModal) => {\n const [newKey, setNewKey] = useState(\"\");\n const [newLabel, setNewLabel] = useState(\"\");\n const [isSending, setIsSending] = useState(false);\n\n const resetForm = () => {\n setNewLabel(\"\");\n setNewKey(\"\");\n };\n\n const addTagProcess = () => {\n setIsSending(true);\n const newTag: any = {};\n\n newTag[newKey] = newLabel;\n const newTagList = { ...currentTags, ...newTag };\n\n const verID = distributedSetup ? versionId : \"null\";\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/tags?prefix=${selectedObject}&version_id=${verID}`,\n { tags: newTagList }\n )\n .then((res: any) => {\n onCloseAndUpdate(true);\n setIsSending(false);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setIsSending(false);\n });\n };\n\n return (\n \n {\n onCloseAndUpdate(true);\n }}\n titleIcon={}\n >\n \n
\n Selected Object: {decodeFileName(selectedObject)}\n
\n \n {\n setNewKey(e.target.value);\n }}\n />\n \n \n {\n setNewLabel(e.target.value);\n }}\n />\n \n \n \n Clear\n \n \n Save\n \n \n
\n \n
\n );\n};\n\nconst mapStateToProps = ({ system }: AppState) => ({\n distributedSetup: get(system, \"distributedSetup\", false),\n});\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddTagModal));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { setErrorSnackMessage } from \"../../../../../../actions\";\nimport { AppState } from \"../../../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { encodeFileName } from \"../../../../../../common/utils\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../../../icons\";\n\ninterface IDeleteTagModal {\n deleteOpen: boolean;\n currentTags: any;\n bucketName: string;\n versionId: string | null;\n selectedTag: string[];\n onCloseAndUpdate: (refresh: boolean) => void;\n selectedObject: string;\n distributedSetup: boolean;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n classes: any;\n}\n\nconst styles = (theme: Theme) => createStyles({});\n\nconst DeleteTagModal = ({\n deleteOpen,\n currentTags,\n selectedObject,\n selectedTag,\n onCloseAndUpdate,\n bucketName,\n versionId,\n distributedSetup,\n setErrorSnackMessage,\n classes,\n}: IDeleteTagModal) => {\n const [tagKey, tagLabel] = selectedTag;\n\n const onDelSuccess = () => onCloseAndUpdate(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => onCloseAndUpdate(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedTag) {\n return null;\n }\n\n const onConfirmDelete = () => {\n const cleanObject = { ...currentTags };\n delete cleanObject[tagKey];\n\n const verID = distributedSetup ? versionId : \"null\";\n\n invokeDeleteApi(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/tags?prefix=${encodeFileName(\n selectedObject\n )}&version_id=${verID}`,\n { tags: cleanObject }\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 the tag{\" \"}\n \n {tagKey} : {tagLabel}\n {\" \"}\n from {selectedObject}?\n \n }\n />\n );\n};\n\nconst mapStateToProps = ({ system }: AppState) => ({\n distributedSetup: get(system, \"distributedSetup\", false),\n});\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(DeleteTagModal));\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 onSubmit(e);\n }}\n >\n \n ) => {\n setLegalHoldEnabled(!legalHoldEnabled);\n }}\n label={\"Legal Hold Status\"}\n indicatorLabels={[\"Enabled\", \"Disabled\"]}\n tooltip={\n \"To enable this feature you need to enable versioning on the bucket before creation\"\n }\n />\n \n \n \n Clear\n \n \n Save\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","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { modalBasic } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { setErrorSnackMessage } from \"../../../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { encodeFileName } from \"../../../../../../common/utils\";\nimport api from \"../../../../../../common/api\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport RecoverIcon from \"../../../../../../icons/RecoverIcon\";\n\ninterface IRestoreFileVersion {\n classes: any;\n restoreOpen: boolean;\n bucketName: string;\n versionID: string;\n objectPath: string;\n onCloseAndUpdate: (refresh: boolean) => void;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n });\n\nconst RestoreFileVersion = ({\n classes,\n versionID,\n bucketName,\n objectPath,\n restoreOpen,\n onCloseAndUpdate,\n}: IRestoreFileVersion) => {\n const [restoreLoading, setRestoreLoading] = useState(false);\n\n const restoreVersion = () => {\n setRestoreLoading(true);\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/restore?prefix=${encodeFileName(\n objectPath\n )}&version_id=${versionID}`\n )\n .then((res: any) => {\n setRestoreLoading(false);\n onCloseAndUpdate(true);\n })\n .catch((error: ErrorResponseHandler) => {\n setErrorSnackMessage(error);\n setRestoreLoading(false);\n });\n };\n\n return (\n }\n onConfirm={restoreVersion}\n confirmButtonProps={{\n color: \"secondary\",\n variant: \"outlined\",\n disabled: restoreLoading,\n }}\n onClose={() => {\n onCloseAndUpdate(false);\n }}\n confirmationContent={\n \n Are you sure you want to restore
\n {objectPath}
with Version ID:\n
\n {versionID}?\n
\n }\n />\n );\n};\n\nconst mapStateToProps = null;\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(RestoreFileVersion));\n","import React from \"react\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { Box } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport SecureComponent from \"../../../../../../common/SecureComponent/SecureComponent\";\nimport Chip from \"@mui/material/Chip\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport AddIcon from \"@mui/icons-material/Add\";\n\nconst ObjectTags = ({\n tagKeys,\n bucketName,\n onDeleteTag,\n onAddTagClick,\n objectInfo,\n}: {\n tagKeys: any;\n bucketName: string;\n onDeleteTag: (key: string, v: string) => void;\n onAddTagClick: () => void;\n objectInfo: any;\n}) => {\n return (\n \n \n \n \n {tagKeys &&\n tagKeys.map((tagKey: string, index: number) => {\n const tag = get(objectInfo, `tags.${tagKey}`, \"\");\n if (tag !== \"\") {\n return (\n \n }\n onDelete={() => {\n onDeleteTag(tagKey, tag);\n }}\n />\n \n );\n }\n return null;\n })}\n \n\n \n }\n clickable\n size=\"small\"\n label=\"Add tag\"\n color=\"primary\"\n variant=\"outlined\"\n onClick={onAddTagClick}\n />\n \n \n \n \n );\n};\n\nexport default ObjectTags;\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\";\n\nimport get from \"lodash/get\";\nimport * as reactMoment from \"react-moment\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { Box, CircularProgress, LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport ShareFile from \"./ShareFile\";\nimport {\n actionsTray,\n buttonsStyles,\n containerForHeader,\n hrClass,\n tableStyles,\n spacingUtils,\n textStyleUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IFileInfo } from \"./types\";\nimport { download, extensionPreview } from \"../utils\";\nimport history from \"../../../../../../history\";\nimport api from \"../../../../../../common/api\";\n\nimport TableWrapper, {\n ItemActions,\n} from \"../../../../Common/TableWrapper/TableWrapper\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport {\n setErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../../../actions\";\nimport { decodeFileName, encodeFileName } from \"../../../../../../common/utils\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport SetRetention from \"./SetRetention\";\nimport BrowserBreadcrumbs from \"../../../../ObjectBrowser/BrowserBreadcrumbs\";\nimport DeleteObject from \"../ListObjects/DeleteObject\";\nimport AddTagModal from \"./AddTagModal\";\nimport DeleteTagModal from \"./DeleteTagModal\";\nimport SetLegalHoldModal from \"./SetLegalHoldModal\";\nimport ScreenTitle from \"../../../../Common/ScreenTitle/ScreenTitle\";\n\nimport PreviewFileContent from \"../Preview/PreviewFileContent\";\nimport RestoreFileVersion from \"./RestoreFileVersion\";\nimport PageLayout from \"../../../../Common/Layout/PageLayout\";\nimport VerticalTabs from \"../../../../Common/VerticalTabs/VerticalTabs\";\nimport SecureComponent from \"../../../../../../common/SecureComponent/SecureComponent\";\nimport {\n completeObject,\n setNewObject,\n updateProgress,\n} from \"../../../../ObjectBrowser/actions\";\nimport RBIconButton from \"../../../BucketDetails/SummaryItems/RBIconButton\";\nimport SearchBox from \"../../../../Common/SearchBox\";\nimport ObjectTags from \"./ObjectTags\";\nimport { AppState } from \"../../../../../../store\";\nimport { connect } from \"react-redux\";\nimport { withRouter } from \"react-router-dom\";\nimport { withStyles } from \"@mui/styles\";\nimport { DisabledIcon } from \"../../../../../../icons\";\nimport LabelWithIcon from \"../../../BucketDetails/SummaryItems/LabelWithIcon\";\n\nconst RecoverIcon = React.lazy(\n () => import(\"../../../../../../icons/RecoverIcon\")\n);\nconst ShareIcon = React.lazy(() => import(\"../../../../../../icons/ShareIcon\"));\nconst DownloadIcon = React.lazy(\n () => import(\"../../../../../../icons/DownloadIcon\")\n);\nconst DeleteIcon = React.lazy(\n () => import(\"../../../../../../icons/DeleteIcon\")\n);\n\nconst ObjectBrowserIcon = React.lazy(\n () => import(\"../../../../../../icons/ObjectBrowserIcon\")\n);\nconst ObjectMetaData = React.lazy(() => import(\"./ObjectMetaData\"));\nconst EditablePropertyItem = React.lazy(\n () => import(\"../../../BucketDetails/SummaryItems/EditablePropertyItem\")\n);\nconst LabelValuePair = React.lazy(\n () => import(\"../../../../Common/UsageBarWrapper/LabelValuePair\")\n);\n\nconst styles = (theme: Theme) =>\n createStyles({\n propertiesIcon: {\n marginLeft: 5,\n \"& .min-icon\": {\n height: 12,\n },\n },\n tag: {\n marginRight: 6,\n fontSize: 10,\n fontWeight: 700,\n \"&.MuiChip-sizeSmall\": {\n height: 18,\n },\n \"& .min-icon\": {\n height: 10,\n width: 10,\n },\n },\n search: {\n marginBottom: 8,\n \"&.MuiFormControl-root\": {\n marginRight: 0,\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\n \"@global\": {\n \".progressDetails\": {\n paddingTop: 3,\n display: \"inline-block\",\n position: \"relative\",\n width: 18,\n height: 18,\n },\n \".progressDetails > .MuiCircularProgress-root\": {\n position: \"absolute\",\n left: 0,\n top: 3,\n },\n },\n tabsContainer: {\n border: \"1px solid #eaeaea\",\n borderTop: 0,\n },\n ...hrClass,\n ...buttonsStyles,\n ...actionsTray,\n ...tableStyles,\n ...spacingUtils,\n ...textStyleUtils,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IObjectDetailsProps {\n classes: any;\n downloadingFiles: string[];\n rewindEnabled: boolean;\n rewindDate: any;\n match: any;\n bucketToRewind: string;\n distributedSetup: boolean;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n setSnackBarMessage: typeof setSnackBarMessage;\n setNewObject: typeof setNewObject;\n updateProgress: typeof updateProgress;\n completeObject: typeof completeObject;\n}\n\nconst emptyFile: IFileInfo = {\n is_latest: true,\n last_modified: \"\",\n legal_hold_status: \"\",\n name: \"\",\n retention_mode: \"\",\n retention_until_date: \"\",\n size: \"0\",\n tags: {},\n version_id: null,\n};\n\nconst twoColCssGridLayoutConfig = {\n display: \"grid\",\n gridTemplateColumns: { xs: \"1fr\", sm: \"2fr 1fr\" },\n gridAutoFlow: { xs: \"dense\", sm: \"row\" },\n gap: 2,\n};\nconst ObjectDetails = ({\n classes,\n downloadingFiles,\n distributedSetup,\n setErrorSnackMessage,\n setNewObject,\n updateProgress,\n completeObject,\n match,\n}: IObjectDetailsProps) => {\n const [loadObjectData, setLoadObjectData] = useState(true);\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [retentionModalOpen, setRetentionModalOpen] = useState(false);\n const [tagModalOpen, setTagModalOpen] = useState(false);\n const [deleteTagModalOpen, setDeleteTagModalOpen] = useState(false);\n const [selectedTag, setSelectedTag] = useState([\"\", \"\"]);\n const [legalholdOpen, setLegalholdOpen] = useState(false);\n const [actualInfo, setActualInfo] = useState(null);\n const [objectToShare, setObjectToShare] = useState(null);\n const [versions, setVersions] = useState([]);\n const [filterVersion, setFilterVersion] = useState(\"\");\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [restoreVersionOpen, setRestoreVersionOpen] = useState(false);\n const [restoreVersion, setRestoreVersion] = useState(\"\");\n\n const internalPaths = get(match.params, \"subpaths\", \"\");\n const internalPathsDecoded = decodeFileName(internalPaths) || \"\";\n const bucketName = match.params[\"bucketName\"];\n const allPathData = internalPathsDecoded.split(\"/\");\n const currentItem = allPathData.pop() || \"\";\n\n // calculate object name to display\n let objectNameArray: string[] = [];\n if (actualInfo) {\n objectNameArray = actualInfo.name.split(\"/\");\n }\n\n useEffect(() => {\n if (loadObjectData && internalPaths !== \"\") {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects?prefix=${internalPaths}${\n distributedSetup ? \"&with_versions=true\" : \"\"\n }`\n )\n .then((res: IFileInfo[]) => {\n const result = get(res, \"objects\", []);\n if (distributedSetup) {\n setActualInfo(\n result.find((el: IFileInfo) => el.is_latest) || emptyFile\n );\n setVersions(result);\n } else {\n setActualInfo(result[0]);\n setVersions([]);\n }\n\n setLoadObjectData(false);\n })\n .catch((error: ErrorResponseHandler) => {\n setErrorSnackMessage(error);\n setLoadObjectData(false);\n });\n }\n }, [\n loadObjectData,\n bucketName,\n internalPaths,\n setErrorSnackMessage,\n distributedSetup,\n ]);\n\n let tagKeys: string[] = [];\n\n if (actualInfo && actualInfo.tags) {\n tagKeys = Object.keys(actualInfo.tags);\n }\n\n const openRetentionModal = () => {\n setRetentionModalOpen(true);\n };\n\n const closeRetentionModal = (updateInfo: boolean) => {\n setRetentionModalOpen(false);\n if (updateInfo) {\n setLoadObjectData(true);\n }\n };\n\n const shareObject = () => {\n setShareFileModalOpen(true);\n };\n\n const closeShareModal = () => {\n setObjectToShare(null);\n setShareFileModalOpen(false);\n };\n\n const deleteTag = (tagKey: string, tagLabel: string) => {\n setSelectedTag([tagKey, tagLabel]);\n setDeleteTagModalOpen(true);\n };\n\n const downloadObject = (object: IFileInfo) => {\n const identityDownload = encodeFileName(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`\n );\n\n setNewObject({\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name,\n type: \"download\",\n waitingForFile: true,\n });\n\n download(\n bucketName,\n internalPaths,\n object.version_id,\n parseInt(object.size || \"0\"),\n (progress) => {\n updateProgress(identityDownload, progress);\n },\n () => {\n completeObject(identityDownload);\n }\n );\n };\n\n const tableActions: ItemActions[] = [\n {\n label: \"Share\",\n type: \"share\",\n onClick: (item: any) => {\n setObjectToShare(item);\n shareObject();\n },\n sendOnlyId: false,\n disableButtonFunction: (item: string) => {\n const element = versions.find((elm) => elm.version_id === item);\n if (element && element.is_delete_marker) {\n return true;\n }\n return false;\n },\n },\n {\n label: \"Download\",\n type: \"download\",\n onClick: (item: IFileInfo) => {\n downloadObject(item);\n },\n disableButtonFunction: (item: string) => {\n const element = versions.find((elm) => elm.version_id === item);\n if (element && element.is_delete_marker) {\n return true;\n }\n return false;\n },\n },\n {\n label: \"Restore\",\n type: ,\n onClick: (item: IFileInfo) => {\n setRestoreVersion(item.version_id || \"\");\n setRestoreVersionOpen(true);\n },\n disableButtonFunction: (item: string) => {\n const element = versions.find((elm) => elm.version_id === item);\n return (element && element.is_delete_marker) || false;\n },\n },\n ];\n\n const filteredRecords = versions.filter((version) => {\n if (version.version_id) {\n return version.version_id.includes(filterVersion);\n }\n return false;\n });\n\n const displayParsedDate = (date: string) => {\n return {date};\n };\n\n const closeDeleteModal = (redirectBack: boolean) => {\n setDeleteOpen(false);\n\n if (redirectBack) {\n const newPath = allPathData.join(\"/\");\n history.push(\n `/buckets/${bucketName}/browse${\n newPath === \"\" ? \"\" : `/${encodeFileName(newPath)}`\n }`\n );\n }\n };\n\n const closeAddTagModal = (reloadObjectData: boolean) => {\n setTagModalOpen(false);\n if (reloadObjectData) {\n setLoadObjectData(true);\n }\n };\n\n const closeLegalholdModal = (reload: boolean) => {\n setLegalholdOpen(false);\n if (reload) {\n setLoadObjectData(true);\n }\n };\n\n const closeDeleteTagModal = (reloadObjectData: boolean) => {\n setDeleteTagModalOpen(false);\n if (reloadObjectData) {\n setLoadObjectData(true);\n }\n };\n\n const closeRestoreModal = (reloadObjectData: boolean) => {\n setRestoreVersionOpen(false);\n setRestoreVersion(\"\");\n\n if (reloadObjectData) {\n setLoadObjectData(true);\n }\n };\n\n return (\n \n {shareFileModalOpen && actualInfo && (\n \n )}\n {retentionModalOpen && actualInfo && (\n \n )}\n {deleteOpen && (\n \n )}\n {tagModalOpen && actualInfo && (\n \n )}\n {deleteTagModalOpen && actualInfo && (\n \n )}\n {legalholdOpen && actualInfo && (\n \n )}\n {restoreVersionOpen && actualInfo && (\n \n )}\n\n \n {!actualInfo && (\n \n \n \n )}\n\n {actualInfo && (\n \n \n \n \n \n }\n title={\n objectNameArray.length > 0\n ? objectNameArray[objectNameArray.length - 1]\n : actualInfo.name\n }\n subTitle={\n \n \n \n }\n actions={\n \n \n {\n setDeleteOpen(true);\n }}\n text={\"\"}\n icon={}\n color=\"secondary\"\n disabled={actualInfo.is_delete_marker}\n variant={\"outlined\"}\n />\n \n\n {\n shareObject();\n }}\n text={\"\"}\n icon={}\n color=\"primary\"\n disabled={actualInfo.is_delete_marker}\n variant={\"outlined\"}\n />\n\n {downloadingFiles.includes(\n `${bucketName}/${actualInfo.name}`\n ) ? (\n
\n \n
\n ) : (\n }\n color=\"primary\"\n onClick={() => {\n downloadObject(actualInfo);\n }}\n disabled={actualInfo.is_delete_marker}\n variant={\"outlined\"}\n />\n )}\n
\n }\n />\n \n \n {{\n tabConfig: {\n label: \"Details\",\n },\n content: (\n \n
\n

Details

\n
\n
\n\n \n \n \n {\n setLegalholdOpen(true);\n }}\n isLoading={false}\n />\n ) : (\n }\n label={\n \n }\n />\n }\n />\n )\n }\n />\n \n\n \n \n ) : (\n }\n label={\n \n }\n />\n }\n />\n )\n }\n />\n \n \n \n\n \n {\n setTagModalOpen(true);\n }}\n />\n }\n />\n \n\n {actualInfo ? (\n \n ) : null}\n
\n ),\n }}\n {{\n tabConfig: {\n label: \"Versions\",\n disabled: !(\n actualInfo.version_id && actualInfo.version_id !== \"null\"\n ),\n },\n content: (\n \n
\n

Versions

\n
\n
\n \n {actualInfo.version_id &&\n actualInfo.version_id !== \"null\" && (\n \n )}\n \n \n {actualInfo.version_id &&\n actualInfo.version_id !== \"null\" && (\n {\n const versOrd =\n versions.length - versions.indexOf(r);\n return `v${versOrd}`;\n },\n elementKey: \"version_id\",\n },\n { label: \"Version ID\", elementKey: \"version_id\" },\n {\n label: \"Last Modified\",\n elementKey: \"last_modified\",\n renderFunction: displayParsedDate,\n },\n {\n label: \"Deleted\",\n width: 60,\n contentTextAlign: \"center\",\n renderFullObject: true,\n elementKey: \"is_delete_marker\",\n renderFunction: (r) => {\n const versOrd = r.is_delete_marker\n ? \"Yes\"\n : \"No\";\n return `${versOrd}`;\n },\n },\n ]}\n isLoading={false}\n entityName=\"Versions\"\n idField=\"version_id\"\n records={filteredRecords}\n textSelectable\n />\n )}\n \n
\n ),\n }}\n {{\n tabConfig: {\n label: \"Preview\",\n disabled: extensionPreview(currentItem) === \"none\",\n },\n content: (\n \n {actualInfo && (\n \n )}\n \n ),\n }}\n \n \n )}\n
\n
\n );\n};\n\nconst mapStateToProps = ({ objectBrowser, system }: AppState) => ({\n downloadingFiles: get(objectBrowser, \"downloadingFiles\", []),\n rewindEnabled: get(objectBrowser, \"rewind.rewindEnabled\", false),\n rewindDate: get(objectBrowser, \"rewind.dateToRewind\", null),\n bucketToRewind: get(objectBrowser, \"rewind.bucketToRewind\", \"\"),\n distributedSetup: get(system, \"distributedSetup\", false),\n});\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n setSnackBarMessage,\n setNewObject,\n updateProgress,\n completeObject,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withRouter(connector(withStyles(styles)(ObjectDetails)));\n","import React from \"react\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n fileName: {\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n width: 16,\n height: 16,\n marginRight: 4,\n },\n },\n fileNameText: {\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n },\n });\n\nconst IconWithLabel = (props: {\n classes: any;\n icon: JSX.Element;\n strings: string[];\n}) => {\n return (\n
\n {props.icon}\n \n {props.strings[props.strings.length - 1]}\n \n
\n );\n};\n\nexport default withStyles(styles)(IconWithLabel);\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\";\n\nimport ObjectBrowserIcon from \"../../../../../../icons/ObjectBrowserIcon\";\nimport ObjectBrowserFolderIcon from \"../../../../../../icons/ObjectBrowserFolderIcon\";\nimport IconWithLabel from \"./IconWithLabel\";\n\nconst FileBookIcon = React.lazy(\n () => import(\"../../../../../../icons/FileBookIcon\")\n);\nconst FileCodeIcon = React.lazy(\n () => import(\"../../../../../../icons/FileCodeIcon\")\n);\nconst FileConfigIcon = React.lazy(\n () => import(\"../../../../../../icons/FileConfigIcon\")\n);\nconst FileDbIcon = React.lazy(\n () => import(\"../../../../../../icons/FileDbIcon\")\n);\nconst FileFontIcon = React.lazy(\n () => import(\"../../../../../../icons/FileFontIcon\")\n);\nconst FileImageIcon = React.lazy(\n () => import(\"../../../../../../icons/FileImageIcon\")\n);\nconst FileLockIcon = React.lazy(\n () => import(\"../../../../../../icons/FileLockIcon\")\n);\nconst FileMissingIcon = React.lazy(\n () => import(\"../../../../../../icons/FileMissingIcon\")\n);\nconst FileMusicIcon = React.lazy(\n () => import(\"../../../../../../icons/FileMusicIcon\")\n);\nconst FilePdfIcon = React.lazy(\n () => import(\"../../../../../../icons/FilePdfIcon\")\n);\nconst FilePptIcon = React.lazy(\n () => import(\"../../../../../../icons/FilePptIcon\")\n);\nconst FileTxtIcon = React.lazy(\n () => import(\"../../../../../../icons/FileTxtIcon\")\n);\nconst FileVideoIcon = React.lazy(\n () => import(\"../../../../../../icons/FileVideoIcon\")\n);\nconst FileXlsIcon = React.lazy(\n () => import(\"../../../../../../icons/FileXlsIcon\")\n);\nconst FileZipIcon = React.lazy(\n () => import(\"../../../../../../icons/FileZipIcon\")\n);\n\nexport const displayName = (element: string) => {\n let elementString = element;\n let icon = ;\n // Element is a folder\n if (element.endsWith(\"/\")) {\n icon = ;\n elementString = element.substr(0, element.length - 1);\n }\n\n interface IExtToIcon {\n icon: any;\n extensions: string[];\n }\n\n const extensionToIcon: IExtToIcon[] = [\n {\n icon: ,\n extensions: [\"mp4\", \"mov\", \"avi\", \"mpeg\", \"mpg\"],\n },\n {\n icon: ,\n extensions: [\"mp3\", \"m4a\", \"aac\"],\n },\n {\n icon: ,\n extensions: [\"pdf\"],\n },\n {\n icon: ,\n extensions: [\"ppt\", \"pptx\"],\n },\n {\n icon: ,\n extensions: [\"xls\", \"xlsx\"],\n },\n {\n icon: ,\n extensions: [\"cer\", \"crt\", \"pem\"],\n },\n {\n icon: ,\n extensions: [\"html\", \"xml\", \"css\", \"py\", \"go\", \"php\", \"cpp\", \"h\", \"java\"],\n },\n {\n icon: ,\n extensions: [\"cfg\", \"yaml\"],\n },\n {\n icon: ,\n extensions: [\"sql\"],\n },\n {\n icon: ,\n extensions: [\"ttf\", \"otf\"],\n },\n {\n icon: ,\n extensions: [\"txt\"],\n },\n {\n icon: ,\n extensions: [\"zip\", \"rar\", \"tar\", \"gz\"],\n },\n {\n icon: ,\n extensions: [\"epub\", \"mobi\", \"azw\", \"azw3\"],\n },\n {\n icon: ,\n extensions: [\"jpeg\", \"jpg\", \"gif\", \"tiff\", \"png\", \"heic\", \"dng\"],\n },\n ];\n const lowercaseElement = element.toLowerCase();\n for (const etc of extensionToIcon) {\n for (const ext of etc.extensions) {\n if (lowercaseElement.endsWith(`.${ext}`)) {\n icon = etc.icon;\n }\n }\n }\n\n if (!element.endsWith(\"/\") && element.indexOf(\".\") < 0) {\n icon = ;\n }\n\n const splitItem = elementString.split(\"/\");\n\n return ;\n};\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 SecureComponent, {\n hasPermission,\n} from \"../../../../common/SecureComponent/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 handleCloseUpload();\n }}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"center\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"center\",\n }}\n >\n \n {\n uploadFileFunction(handleCloseUpload);\n }}\n disabled={forceDisable}\n >\n \n \n \n Upload File\n \n \n \n {\n uploadFolderFunction(handleCloseUpload);\n }}\n disabled={forceDisable}\n >\n \n \n \n Upload Folder\n \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: 400,\n borderTopWidth: 1,\n borderBottomWidth: 1,\n borderRightWidth: 1,\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) 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 {label}\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, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Box, LinearProgress } from \"@mui/material\";\nimport { withStyles } from \"@mui/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n actionsTray,\n buttonsStyles,\n spacingUtils,\n textStyleUtils,\n detailsPanel,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IFileInfo } from \"../ObjectDetails/types\";\nimport { download } from \"../utils\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport {\n setErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../../../actions\";\nimport {\n decodeFileName,\n encodeFileName,\n niceBytesInt,\n} from \"../../../../../../common/utils\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport {\n completeObject,\n setNewObject,\n updateProgress,\n} from \"../../../../ObjectBrowser/actions\";\nimport { AppState } from \"../../../../../../store\";\nimport {\n DisabledIcon,\n NextArrowIcon,\n PreviewIcon,\n} from \"../../../../../../icons\";\nimport { ShareIcon, DownloadIcon, DeleteIcon } from \"../../../../../../icons\";\nimport history from \"../../../../../../history\";\nimport api from \"../../../../../../common/api\";\nimport ShareFile from \"../ObjectDetails/ShareFile\";\nimport SetRetention from \"../ObjectDetails/SetRetention\";\nimport DeleteObject from \"../ListObjects/DeleteObject\";\nimport AddTagModal from \"../ObjectDetails/AddTagModal\";\nimport DeleteTagModal from \"../ObjectDetails/DeleteTagModal\";\nimport SetLegalHoldModal from \"../ObjectDetails/SetLegalHoldModal\";\nimport RestoreFileVersion from \"../ObjectDetails/RestoreFileVersion\";\nimport SecureComponent from \"../../../../../../common/SecureComponent/SecureComponent\";\nimport ObjectTags from \"../ObjectDetails/ObjectTags\";\nimport LabelWithIcon from \"../../../BucketDetails/SummaryItems/LabelWithIcon\";\nimport PreviewFileModal from \"../Preview/PreviewFileModal\";\nimport ObjectActionButton from \"./ObjectActionButton\";\nimport ObjectMetaData from \"../ObjectDetails/ObjectMetaData\";\nimport EditablePropertyItem from \"../../../BucketDetails/SummaryItems/EditablePropertyItem\";\nimport LabelValuePair from \"../../../../Common/UsageBarWrapper/LabelValuePair\";\n\nconst styles = () =>\n createStyles({\n tag: {\n marginRight: 6,\n fontSize: 10,\n fontWeight: 700,\n \"&.MuiChip-sizeSmall\": {\n height: 18,\n },\n \"& .min-icon\": {\n height: 10,\n width: 10,\n },\n },\n \"@global\": {\n \".progressDetails\": {\n paddingTop: 3,\n display: \"inline-block\",\n position: \"relative\",\n width: 18,\n height: 18,\n },\n \".progressDetails > .MuiCircularProgress-root\": {\n position: \"absolute\",\n left: 0,\n top: 3,\n },\n },\n ...buttonsStyles,\n ...actionsTray,\n ...spacingUtils,\n ...textStyleUtils,\n ...detailsPanel,\n });\n\ninterface IObjectDetailPanelProps {\n classes: any;\n internalPaths: string;\n bucketName: string;\n rewindEnabled: boolean;\n rewindDate: any;\n bucketToRewind: string;\n distributedSetup: boolean;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n setSnackBarMessage: typeof setSnackBarMessage;\n setNewObject: typeof setNewObject;\n updateProgress: typeof updateProgress;\n completeObject: typeof completeObject;\n}\n\nconst emptyFile: IFileInfo = {\n is_latest: true,\n last_modified: \"\",\n legal_hold_status: \"\",\n name: \"\",\n retention_mode: \"\",\n retention_until_date: \"\",\n size: \"0\",\n tags: {},\n version_id: null,\n};\n\nconst ObjectDetailPanel = ({\n classes,\n internalPaths,\n bucketName,\n distributedSetup,\n setErrorSnackMessage,\n setNewObject,\n updateProgress,\n completeObject,\n}: IObjectDetailPanelProps) => {\n const [loadObjectData, setLoadObjectData] = useState(true);\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [retentionModalOpen, setRetentionModalOpen] = useState(false);\n const [tagModalOpen, setTagModalOpen] = useState(false);\n const [deleteTagModalOpen, setDeleteTagModalOpen] = useState(false);\n const [selectedTag, setSelectedTag] = useState([\"\", \"\"]);\n const [legalholdOpen, setLegalholdOpen] = useState(false);\n const [actualInfo, setActualInfo] = useState(null);\n const [objectToShare, setObjectToShare] = useState(null);\n const [versions, setVersions] = useState([]);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [restoreVersionOpen, setRestoreVersionOpen] = useState(false);\n const [previewOpen, setPreviewOpen] = useState(false);\n const [restoreVersion, setRestoreVersion] = useState(\"\");\n const [totalVersionsSize, setTotalVersionsSize] = useState(0);\n\n const internalPathsDecoded = decodeFileName(internalPaths) || \"\";\n const allPathData = internalPathsDecoded.split(\"/\");\n const currentItem = allPathData.pop() || \"\";\n\n // calculate object name to display\n let objectNameArray: string[] = [];\n if (actualInfo) {\n objectNameArray = actualInfo.name.split(\"/\");\n }\n\n useEffect(() => {\n if (bucketName !== \"\" && internalPaths) {\n setLoadObjectData(true);\n }\n }, [internalPaths, bucketName]);\n\n useEffect(() => {\n if (loadObjectData && internalPaths !== \"\") {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects?prefix=${internalPaths}${\n distributedSetup ? \"&with_versions=true\" : \"\"\n }`\n )\n .then((res: IFileInfo[]) => {\n const result = get(res, \"objects\", []);\n if (distributedSetup) {\n setActualInfo(\n result.find((el: IFileInfo) => el.is_latest) || emptyFile\n );\n setVersions(result);\n const tVersionSize = result.reduce(\n (acc: number, currValue: IFileInfo) => {\n if (currValue?.size) {\n return acc + currValue.size;\n }\n return acc;\n },\n 0\n );\n\n setTotalVersionsSize(tVersionSize);\n } else {\n setActualInfo(result[0]);\n setVersions([]);\n }\n\n setLoadObjectData(false);\n })\n .catch((error: ErrorResponseHandler) => {\n setErrorSnackMessage(error);\n setLoadObjectData(false);\n });\n }\n }, [\n loadObjectData,\n bucketName,\n internalPaths,\n setErrorSnackMessage,\n distributedSetup,\n ]);\n\n let tagKeys: string[] = [];\n\n if (actualInfo && actualInfo.tags) {\n tagKeys = Object.keys(actualInfo.tags);\n }\n\n const openRetentionModal = () => {\n setRetentionModalOpen(true);\n };\n\n const closeRetentionModal = (updateInfo: boolean) => {\n setRetentionModalOpen(false);\n if (updateInfo) {\n setLoadObjectData(true);\n }\n };\n\n const shareObject = () => {\n setShareFileModalOpen(true);\n };\n\n const closeShareModal = () => {\n setObjectToShare(null);\n setShareFileModalOpen(false);\n };\n\n const deleteTag = (tagKey: string, tagLabel: string) => {\n setSelectedTag([tagKey, tagLabel]);\n setDeleteTagModalOpen(true);\n };\n\n const downloadObject = (object: IFileInfo) => {\n const identityDownload = encodeFileName(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`\n );\n\n setNewObject({\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name,\n type: \"download\",\n waitingForFile: true,\n });\n\n download(\n bucketName,\n internalPaths,\n object.version_id,\n parseInt(object.size || \"0\"),\n (progress) => {\n updateProgress(identityDownload, progress);\n },\n () => {\n completeObject(identityDownload);\n }\n );\n };\n\n const closeDeleteModal = (redirectBack: boolean) => {\n setDeleteOpen(false);\n\n if (redirectBack) {\n const newPath = allPathData.join(\"/\");\n history.push(\n `/buckets/${bucketName}/browse${\n newPath === \"\" ? \"\" : `/${encodeFileName(newPath)}`\n }`\n );\n }\n };\n\n const closeAddTagModal = (reloadObjectData: boolean) => {\n setTagModalOpen(false);\n if (reloadObjectData) {\n setLoadObjectData(true);\n }\n };\n\n const closeLegalholdModal = (reload: boolean) => {\n setLegalholdOpen(false);\n if (reload) {\n setLoadObjectData(true);\n }\n };\n\n const closeDeleteTagModal = (reloadObjectData: boolean) => {\n setDeleteTagModalOpen(false);\n if (reloadObjectData) {\n setLoadObjectData(true);\n }\n };\n\n const closeRestoreModal = (reloadObjectData: boolean) => {\n setRestoreVersionOpen(false);\n setRestoreVersion(\"\");\n\n if (reloadObjectData) {\n setLoadObjectData(true);\n }\n };\n\n const closePreviewWindow = () => {\n setPreviewOpen(false);\n };\n\n const openExtraInfo = () => {\n const newPath = `/buckets/${bucketName}/browse${\n internalPaths !== \"\" ? `/${internalPaths}` : ``\n }`;\n\n history.push(newPath);\n };\n\n if (!actualInfo) {\n return null;\n }\n\n return (\n \n {shareFileModalOpen && actualInfo && (\n \n )}\n {retentionModalOpen && actualInfo && (\n \n )}\n {deleteOpen && (\n \n )}\n {tagModalOpen && actualInfo && (\n \n )}\n {deleteTagModalOpen && actualInfo && (\n \n )}\n {legalholdOpen && actualInfo && (\n \n )}\n {restoreVersionOpen && actualInfo && (\n \n )}\n {previewOpen && actualInfo && (\n \n )}\n\n {!actualInfo && (\n \n \n \n )}\n
\n {objectNameArray.length > 0\n ? objectNameArray[objectNameArray.length - 1]\n : actualInfo.name}\n
\n\n
    \n
  • Object Actions:
  • \n
  • \n }\n onClick={() => {\n downloadObject(actualInfo);\n }}\n disabled={actualInfo.is_delete_marker}\n />\n
  • \n
  • \n }\n onClick={() => {\n shareObject();\n }}\n disabled={actualInfo.is_delete_marker}\n />\n
  • \n
  • \n }\n onClick={() => {\n setPreviewOpen(true);\n }}\n disabled={actualInfo.is_delete_marker}\n />\n
  • \n \n
  • \n }\n onClick={() => {\n setDeleteOpen(true);\n }}\n disabled={actualInfo.is_delete_marker}\n />\n
  • \n \n
  • \n }\n onClick={() => {\n openExtraInfo();\n }}\n />\n
  • \n
\n\n
\n

Details

\n
\n \n {\n setTagModalOpen(true);\n }}\n />\n }\n />\n \n \n \n {\n setLegalholdOpen(true);\n }}\n isLoading={false}\n />\n ) : (\n }\n label={\n \n }\n />\n }\n />\n )\n }\n />\n \n\n \n \n ) : (\n }\n label={\n \n }\n />\n }\n />\n )\n }\n />\n \n \n
\n
\n

Object Metadata

\n
\n \n {actualInfo ? (\n \n ) : null}\n \n
\n\n {actualInfo.version_id && actualInfo.version_id !== \"null\" && (\n \n
\n

Versions

\n
\n \n \n Total available versions\n
\n {versions.length}\n
\n \n Versions Stored size:\n
\n {niceBytesInt(totalVersionsSize)}\n
\n
\n
\n )}\n
\n );\n};\n\nconst mapStateToProps = ({ objectBrowser, system }: AppState) => ({\n rewindEnabled: get(objectBrowser, \"rewind.rewindEnabled\", false),\n rewindDate: get(objectBrowser, \"rewind.dateToRewind\", null),\n bucketToRewind: get(objectBrowser, \"rewind.bucketToRewind\", \"\"),\n distributedSetup: get(system, \"distributedSetup\", false),\n});\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n setSnackBarMessage,\n setNewObject,\n updateProgress,\n completeObject,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ObjectDetailPanel));\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 Fragment,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { connect } from \"react-redux\";\nimport { useDropzone } from \"react-dropzone\";\n\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { withRouter } from \"react-router-dom\";\nimport Grid from \"@mui/material/Grid\";\nimport get from \"lodash/get\";\nimport {\n BucketObject,\n BucketObjectsList,\n RewindObject,\n RewindObjectList,\n} from \"./types\";\nimport api from \"../../../../../../common/api\";\nimport TableWrapper, {\n ItemActions,\n} from \"../../../../Common/TableWrapper/TableWrapper\";\nimport {\n decodeFileName,\n encodeFileName,\n niceBytes,\n niceBytesInt,\n} from \"../../../../../../common/utils\";\n\nimport {\n actionsTray,\n containerForHeader,\n objectBrowserCommon,\n searchField,\n tableStyles,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { Badge, Typography } from \"@mui/material\";\nimport * as reactMoment from \"react-moment\";\nimport BrowserBreadcrumbs from \"../../../../ObjectBrowser/BrowserBreadcrumbs\";\nimport {\n completeObject,\n openList,\n resetRewind,\n setFileModeEnabled,\n setNewObject,\n setSearchObjects,\n updateProgress,\n} from \"../../../../ObjectBrowser/actions\";\nimport { Route } from \"../../../../ObjectBrowser/reducers\";\n\nimport { download, extensionPreview, sortListObjects } from \"../utils\";\nimport {\n setErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../../../actions\";\nimport { BucketInfo, BucketVersioning } from \"../../../types\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\n\nimport ScreenTitle from \"../../../../Common/ScreenTitle/ScreenTitle\";\n\nimport { setBucketDetailsLoad, setBucketInfo } from \"../../../actions\";\nimport { AppState } from \"../../../../../../store\";\nimport PageLayout from \"../../../../Common/Layout/PageLayout\";\n\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport SecureComponent, {\n hasPermission,\n} from \"../../../../../../common/SecureComponent/SecureComponent\";\n\nimport withSuspense from \"../../../../Common/Components/withSuspense\";\nimport { displayName } from \"./utils\";\nimport {\n BucketsIcon,\n DownloadIcon,\n PreviewIcon,\n ShareIcon,\n} from \"../../../../../../icons\";\nimport UploadFilesButton from \"../../UploadFilesButton\";\nimport DetailsListPanel from \"./DetailsListPanel\";\nimport ObjectDetailPanel from \"./ObjectDetailPanel\";\n\nconst AddFolderIcon = React.lazy(\n () => import(\"../../../../../../icons/AddFolderIcon\")\n);\nconst HistoryIcon = React.lazy(\n () => import(\"../../../../../../icons/HistoryIcon\")\n);\nconst RefreshIcon = React.lazy(\n () => import(\"../../../../../../icons/RefreshIcon\")\n);\n\nconst DeleteIcon = React.lazy(\n () => import(\"../../../../../../icons/DeleteIcon\")\n);\nconst CreateFolderModal = withSuspense(\n React.lazy(() => import(\"./CreateFolderModal\"))\n);\nconst DeleteMultipleObjects = withSuspense(\n React.lazy(() => import(\"./DeleteMultipleObjects\"))\n);\nconst ShareFile = withSuspense(\n React.lazy(() => import(\"../ObjectDetails/ShareFile\"))\n);\nconst RewindEnable = withSuspense(React.lazy(() => import(\"./RewindEnable\")));\nconst PreviewFileModal = withSuspense(\n React.lazy(() => import(\"../Preview/PreviewFileModal\"))\n);\n\nconst styles = (theme: Theme) =>\n createStyles({\n browsePaper: {\n height: \"calc(100vh - 210px)\",\n \"&.actionsPanelOpen\": {\n height: \"100%\",\n },\n },\n \"@global\": {\n \".rowLine:hover .iconFileElm\": {\n backgroundImage: \"url(/images/ob_file_filled.svg)\",\n },\n \".rowLine:hover .iconFolderElm\": {\n backgroundImage: \"url(/images/ob_folder_filled.svg)\",\n },\n },\n\n badgeOverlap: {\n \"& .MuiBadge-badge\": {\n top: 10,\n right: 1,\n width: 5,\n height: 5,\n minWidth: 5,\n },\n },\n screenTitle: {\n borderBottom: 0,\n paddingTop: 0,\n paddingLeft: 0,\n paddingRight: 0,\n },\n ...tableStyles,\n ...actionsTray,\n ...searchField,\n\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n ...objectBrowserCommon,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst baseDnDStyle = {\n borderWidth: 2,\n borderRadius: 2,\n borderColor: \"#eeeeee\",\n outline: \"none\",\n};\n\nconst activeDnDStyle = {\n borderStyle: \"dashed\",\n backgroundColor: \"#fafafa\",\n borderColor: \"#2196f3\",\n};\n\nconst acceptDnDStyle = {\n borderStyle: \"dashed\",\n backgroundColor: \"#fafafa\",\n borderColor: \"#00e676\",\n};\n\ninterface IListObjectsProps {\n classes: any;\n match: any;\n history: any;\n routesList: Route[];\n downloadingFiles: string[];\n rewindEnabled: boolean;\n rewindDate: any;\n bucketToRewind: string;\n searchObjects: string;\n setSnackBarMessage: typeof setSnackBarMessage;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n resetRewind: typeof resetRewind;\n setFileModeEnabled: typeof setFileModeEnabled;\n loadingBucket: boolean;\n setBucketInfo: typeof setBucketInfo;\n bucketInfo: BucketInfo | null;\n setBucketDetailsLoad: typeof setBucketDetailsLoad;\n setNewObject: typeof setNewObject;\n updateProgress: typeof updateProgress;\n completeObject: typeof completeObject;\n openList: typeof openList;\n setSearchObjects: typeof setSearchObjects;\n}\n\nfunction useInterval(callback: any, delay: number) {\n const savedCallback = useRef(null);\n\n // Remember the latest callback.\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Set up the interval.\n useEffect(() => {\n function tick() {\n if (savedCallback !== undefined && savedCallback.current) {\n savedCallback.current();\n }\n }\n\n if (delay !== null) {\n let id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n}\n\nconst defLoading = Loading...;\n\nconst ListObjects = ({\n classes,\n match,\n history,\n rewindEnabled,\n rewindDate,\n bucketToRewind,\n setSnackBarMessage,\n setErrorSnackMessage,\n resetRewind,\n setFileModeEnabled,\n setBucketDetailsLoad,\n loadingBucket,\n setBucketInfo,\n bucketInfo,\n setNewObject,\n updateProgress,\n completeObject,\n setSearchObjects,\n searchObjects,\n openList,\n}: IListObjectsProps) => {\n const [records, setRecords] = useState([]);\n const [loading, setLoading] = useState(true);\n const [rewind, setRewind] = useState([]);\n const [loadingRewind, setLoadingRewind] = useState(false);\n const [deleteMultipleOpen, setDeleteMultipleOpen] = useState(false);\n const [createFolderOpen, setCreateFolderOpen] = useState(false);\n const [loadingStartTime, setLoadingStartTime] = useState(0);\n const [loadingMessage, setLoadingMessage] =\n useState(defLoading);\n const [loadingVersioning, setLoadingVersioning] = useState(true);\n const [isVersioned, setIsVersioned] = useState(false);\n const [rewindSelect, setRewindSelect] = useState(false);\n const [selectedObjects, setSelectedObjects] = useState([]);\n const [previewOpen, setPreviewOpen] = useState(false);\n const [selectedPreview, setSelectedPreview] = useState(\n null\n );\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [sortDirection, setSortDirection] = useState<\n \"ASC\" | \"DESC\" | undefined\n >(\"ASC\");\n const [currentSortField, setCurrentSortField] = useState(\"name\");\n const [iniLoad, setIniLoad] = useState(false);\n const [canShareFile, setCanShareFile] = useState(false);\n const [canPreviewFile, setCanPreviewFile] = useState(false);\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [selectedInternalPaths, setSelectedInternalPaths] = useState<\n string | null\n >(null);\n\n const internalPaths = get(match.params, \"subpaths\", \"\");\n const bucketName = match.params[\"bucketName\"];\n\n const fileUpload = useRef(null);\n const folderUpload = useRef(null);\n\n useEffect(() => {\n if (folderUpload.current !== null) {\n folderUpload.current.setAttribute(\"directory\", \"\");\n folderUpload.current.setAttribute(\"webkitdirectory\", \"\");\n }\n }, [folderUpload]);\n\n useEffect(() => {\n if (selectedObjects.length === 1) {\n const objectName = selectedObjects[0];\n\n if (extensionPreview(objectName) !== \"none\") {\n setCanPreviewFile(true);\n } else {\n setCanPreviewFile(false);\n }\n\n if (objectName.endsWith(\"/\")) {\n setCanShareFile(false);\n } else {\n setCanShareFile(true);\n }\n } else {\n setCanShareFile(false);\n setCanPreviewFile(false);\n }\n }, [selectedObjects]);\n\n const displayDeleteObject = hasPermission(bucketName, [\n IAM_SCOPES.S3_DELETE_OBJECT,\n ]);\n\n const displayListObjects = hasPermission(bucketName, [\n IAM_SCOPES.S3_LIST_BUCKET,\n ]);\n\n const updateMessage = () => {\n let timeDelta = Date.now() - loadingStartTime;\n\n if (timeDelta / 1000 >= 6) {\n setLoadingMessage(\n \n \n This operation is taking longer than expected... (\n {Math.ceil(timeDelta / 1000)}s)\n \n \n );\n } else if (timeDelta / 1000 >= 3) {\n setLoadingMessage(\n \n This operation is taking longer than expected...\n \n );\n }\n };\n\n useEffect(() => {\n if (!iniLoad) {\n setBucketDetailsLoad(true);\n setIniLoad(true);\n }\n }, [iniLoad, setBucketDetailsLoad, setIniLoad]);\n\n useInterval(() => {\n // Your custom logic here\n if (loading) {\n updateMessage();\n }\n }, 1000);\n\n useEffect(() => {\n if (loadingVersioning) {\n if (displayListObjects) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/versioning`)\n .then((res: BucketVersioning) => {\n setIsVersioned(res.is_versioned);\n setLoadingVersioning(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoadingVersioning(false);\n });\n } else {\n setLoadingVersioning(false);\n }\n }\n }, [bucketName, loadingVersioning, setErrorSnackMessage, displayListObjects]);\n\n // Rewind\n useEffect(() => {\n if (rewindEnabled) {\n if (bucketToRewind !== bucketName) {\n resetRewind();\n return;\n }\n\n if (rewindDate) {\n setLoadingRewind(true);\n const rewindParsed = rewindDate.toISOString();\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeFileName(internalPaths);\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/rewind/${rewindParsed}${\n pathPrefix ? `?prefix=${encodeFileName(pathPrefix)}` : ``\n }`\n )\n .then((res: RewindObjectList) => {\n setLoadingRewind(false);\n if (res.objects) {\n setRewind(res.objects);\n } else {\n setRewind([]);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingRewind(false);\n setErrorSnackMessage(err);\n });\n }\n }\n }, [\n rewindEnabled,\n rewindDate,\n bucketToRewind,\n bucketName,\n match,\n setErrorSnackMessage,\n resetRewind,\n internalPaths,\n ]);\n\n useEffect(() => {\n setLoading(true);\n setDetailsOpen(false);\n setSearchObjects(\"\");\n }, [internalPaths, setSearchObjects]);\n\n useEffect(() => {\n if (loading) {\n if (displayListObjects) {\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeFileName(internalPaths);\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n\n let currentTimestamp = Date.now();\n setLoadingStartTime(currentTimestamp);\n setLoadingMessage(defLoading);\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects${\n pathPrefix ? `?prefix=${encodeFileName(pathPrefix)}` : ``\n }`\n )\n .then((res: BucketObjectsList) => {\n const records: BucketObject[] = res.objects || [];\n const folders: BucketObject[] = [];\n const files: BucketObject[] = [];\n\n records.forEach((record) => {\n // this is a folder\n if (record.name.endsWith(\"/\")) {\n folders.push(record);\n } else {\n // this is a file\n files.push(record);\n }\n });\n const recordsInElement = [...folders, ...files];\n setRecords(recordsInElement);\n // In case no objects were retrieved, We check if item is a file\n if (!res.objects && pathPrefix !== \"\") {\n if (rewindEnabled) {\n const rewindParsed = rewindDate.toISOString();\n\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeFileName(internalPaths);\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/rewind/${rewindParsed}${\n pathPrefix ? `?prefix=${encodeFileName(pathPrefix)}` : ``\n }`\n )\n .then((res: RewindObjectList) => {\n //It is a file since it has elements in the object, setting file flag and waiting for component mount\n if (res.objects === null) {\n setFileModeEnabled(true);\n setLoadingRewind(false);\n setLoading(false);\n } else {\n // It is a folder, we remove loader\n setLoadingRewind(false);\n setLoading(false);\n setFileModeEnabled(false);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingRewind(false);\n setLoading(false);\n setErrorSnackMessage(err);\n });\n } else {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects${\n internalPaths ? `?prefix=${internalPaths}` : ``\n }`\n )\n .then((res: BucketObjectsList) => {\n //It is a file since it has elements in the object, setting file flag and waiting for component mount\n if (!res.objects) {\n // It is a folder, we remove loader\n setFileModeEnabled(false);\n setLoading(false);\n } else {\n // This code prevents the program from opening a file when a substring of that file is entered as a new folder.\n // Previously, if there was a file test1.txt and the folder test was created with the same prefix, the program\n // would open test1.txt instead\n let found = false;\n let pathPrefixChopped = pathPrefix.slice(\n 0,\n pathPrefix.length - 1\n );\n for (let i = 0; i < res.objects.length; i++) {\n if (res.objects[i].name === pathPrefixChopped) {\n found = true;\n }\n }\n if (\n (res.objects.length === 1 &&\n res.objects[0].name.endsWith(\"/\")) ||\n !found\n ) {\n setFileModeEnabled(false);\n } else {\n setFileModeEnabled(true);\n }\n\n setLoading(false);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setErrorSnackMessage(err);\n });\n }\n } else {\n setFileModeEnabled(false);\n setLoading(false);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setErrorSnackMessage(err);\n });\n } else {\n setLoadingRewind(false);\n setLoading(false);\n }\n }\n }, [\n loading,\n match,\n setErrorSnackMessage,\n bucketName,\n rewindEnabled,\n rewindDate,\n internalPaths,\n setFileModeEnabled,\n bucketInfo,\n displayListObjects,\n ]);\n\n // bucket info\n useEffect(() => {\n if (loadingBucket) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}`)\n .then((res: BucketInfo) => {\n setBucketDetailsLoad(false);\n setBucketInfo(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setBucketDetailsLoad(false);\n setErrorSnackMessage(err);\n });\n }\n }, [\n bucketName,\n loadingBucket,\n setBucketDetailsLoad,\n setBucketInfo,\n setErrorSnackMessage,\n ]);\n\n const closeDeleteMultipleModalAndRefresh = (refresh: boolean) => {\n setDeleteMultipleOpen(false);\n\n if (refresh) {\n setSnackBarMessage(`Objects deleted successfully.`);\n setSelectedObjects([]);\n setLoading(true);\n }\n };\n\n const closeAddFolderModal = () => {\n setCreateFolderOpen(false);\n };\n\n const handleUploadButton = (e: any) => {\n if (\n e === null ||\n e === undefined ||\n e.target.files === null ||\n e.target.files === undefined\n ) {\n return;\n }\n e.preventDefault();\n var newFiles: File[] = [];\n\n for (var i = 0; i < e.target.files.length; i++) {\n newFiles.push(e.target.files[i]);\n }\n uploadObject(newFiles, \"\");\n };\n\n const displayParsedDate = (object: BucketObject) => {\n if (object.name.endsWith(\"/\")) {\n return \"\";\n }\n return {object.last_modified};\n };\n\n const displayNiceBytes = (object: BucketObject) => {\n if (object.name.endsWith(\"/\")) {\n return \"\";\n }\n return niceBytes(String(object.size));\n };\n\n const displayDeleteFlag = (state: boolean) => {\n return state ? \"Yes\" : \"No\";\n };\n\n const downloadObject = (object: BucketObject | RewindObject) => {\n const identityDownload = encodeFileName(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`\n );\n\n setNewObject({\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name,\n type: \"download\",\n waitingForFile: true,\n });\n\n download(\n bucketName,\n encodeFileName(object.name),\n object.version_id,\n object.size,\n (progress) => {\n updateProgress(identityDownload, progress);\n },\n () => {\n completeObject(identityDownload);\n }\n );\n };\n\n const openPath = (idElement: string) => {\n if (idElement.endsWith(\"/\")) {\n const newPath = `/buckets/${bucketName}/browse${\n idElement ? `/${encodeFileName(idElement)}` : ``\n }`;\n history.push(newPath);\n return;\n }\n\n setDetailsOpen(true);\n setSelectedInternalPaths(\n `${idElement ? `${encodeFileName(idElement)}` : ``}`\n );\n };\n\n const uploadObject = useCallback(\n (files: File[], folderPath: string): void => {\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeFileName(internalPaths);\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n\n const upload = (\n files: File[],\n bucketName: string,\n path: string,\n folderPath: string\n ) => {\n if (files.length > 0) {\n openList();\n let nextFile = files.pop();\n let uploadPromise = (file: File) => {\n return new Promise((resolve, reject) => {\n let uploadUrl = `api/v1/buckets/${bucketName}/objects/upload`;\n const fileName = file.name;\n const blobFile = new Blob([file], { type: file.type });\n\n let encodedPath = \"\";\n const relativeFolderPath =\n get(file, \"webkitRelativePath\", \"\") !== \"\"\n ? get(file, \"webkitRelativePath\", \"\")\n : folderPath;\n\n if (path !== \"\" || relativeFolderPath !== \"\") {\n const finalFolderPath = relativeFolderPath\n .split(\"/\")\n .slice(0, -1)\n .join(\"/\");\n\n encodedPath = encodeFileName(\n `${path}${finalFolderPath}${\n !finalFolderPath.endsWith(\"/\") ? \"/\" : \"\"\n }`\n );\n }\n\n if (encodedPath !== \"\") {\n uploadUrl = `${uploadUrl}?prefix=${encodedPath}`;\n }\n\n const identity = encodeFileName(\n `${bucketName}-${encodedPath}-${new Date().getTime()}-${Math.random()}`\n );\n\n setNewObject({\n bucketName,\n done: false,\n instanceID: identity,\n percentage: 0,\n prefix: `${decodeFileName(encodedPath)}${fileName}`,\n type: \"upload\",\n waitingForFile: false,\n });\n\n let xhr = new XMLHttpRequest();\n xhr.open(\"POST\", uploadUrl, true);\n\n const areMultipleFiles = files.length > 1;\n const errorMessage = `An error occurred while uploading the file${\n areMultipleFiles ? \"s\" : \"\"\n }.`;\n const okMessage = `Object${\n areMultipleFiles ? \"s\" : ``\n } uploaded successfully.`;\n\n xhr.withCredentials = false;\n xhr.onload = function (event) {\n if (\n xhr.status === 401 ||\n xhr.status === 403 ||\n xhr.status === 400 ||\n xhr.status === 500\n ) {\n if (xhr.response) {\n const err = JSON.parse(xhr.response);\n setSnackBarMessage(err.detailedMessage);\n } else {\n setSnackBarMessage(errorMessage);\n }\n }\n if (xhr.status === 413) {\n setSnackBarMessage(\"Error - File size too large\");\n }\n if (xhr.status === 200) {\n completeObject(identity);\n if (files.length === 0) {\n setSnackBarMessage(okMessage);\n }\n }\n resolve(xhr.status);\n if (files.length > 0) {\n let nFile = files.pop();\n if (nFile) {\n return uploadPromise(nFile);\n }\n }\n };\n\n xhr.upload.addEventListener(\"error\", (event) => {\n setSnackBarMessage(errorMessage);\n });\n\n xhr.upload.addEventListener(\"progress\", (event) => {\n const progress = Math.floor((event.loaded * 100) / event.total);\n\n updateProgress(identity, progress);\n });\n\n xhr.onerror = () => {\n setSnackBarMessage(errorMessage);\n reject(errorMessage);\n };\n xhr.onloadend = () => {\n if (files.length === 0) {\n setLoading(true);\n }\n };\n\n const formData = new FormData();\n if (file.size !== undefined) {\n formData.append(file.size.toString(), blobFile, fileName);\n\n xhr.send(formData);\n }\n });\n };\n\n if (nextFile) {\n uploadPromise(nextFile!)\n .then(() => {\n console.info(\"done uploading file\");\n })\n .catch((err) => {\n console.error(\"error uploading file,\", err);\n });\n }\n }\n };\n\n upload(files, bucketName, pathPrefix, folderPath);\n },\n [\n bucketName,\n completeObject,\n internalPaths,\n openList,\n setNewObject,\n setSnackBarMessage,\n updateProgress,\n ]\n );\n\n const onDrop = useCallback(\n (acceptedFiles) => {\n if (acceptedFiles && acceptedFiles.length > 0) {\n let newFolderPath: string = acceptedFiles[0].path;\n uploadObject(acceptedFiles, newFolderPath);\n }\n },\n [uploadObject]\n );\n\n const { getRootProps, getInputProps, isDragActive, isDragAccept } =\n useDropzone({\n noClick: true,\n onDrop,\n });\n\n const dndStyles = useMemo(\n () => ({\n ...baseDnDStyle,\n ...(isDragActive ? activeDnDStyle : {}),\n ...(isDragAccept ? acceptDnDStyle : {}),\n }),\n [isDragActive, isDragAccept]\n );\n\n const openPreview = () => {\n if (selectedObjects.length === 1) {\n let fileObject: BucketObject | undefined;\n\n const findFunction = (currValue: BucketObject | RewindObject) =>\n selectedObjects.includes(currValue.name);\n\n fileObject = filteredRecords.find(findFunction);\n\n if (fileObject) {\n setSelectedPreview(fileObject);\n setPreviewOpen(true);\n }\n }\n };\n\n const openShare = () => {\n if (selectedObjects.length === 1) {\n let fileObject: BucketObject | undefined;\n\n const findFunction = (currValue: BucketObject | RewindObject) =>\n selectedObjects.includes(currValue.name);\n\n fileObject = filteredRecords.find(findFunction);\n\n if (fileObject) {\n setSelectedPreview(fileObject);\n setShareFileModalOpen(true);\n }\n }\n };\n\n const closeShareModal = () => {\n setShareFileModalOpen(false);\n setSelectedPreview(null);\n };\n\n const tableActions: ItemActions[] = [\n {\n type: \"view\",\n label: \"View\",\n onClick: openPath,\n sendOnlyId: true,\n },\n ];\n\n const filteredRecords = records.filter((b: BucketObject) => {\n if (searchObjects === \"\") {\n return true;\n } else {\n const objectName = b.name.toLowerCase();\n if (objectName.indexOf(searchObjects.toLowerCase()) >= 0) {\n return true;\n } else {\n return false;\n }\n }\n });\n\n const rewindCloseModal = (refresh: boolean) => {\n setRewindSelect(false);\n };\n\n const closePreviewWindow = () => {\n setPreviewOpen(false);\n setSelectedPreview(null);\n };\n\n const selectListObjects = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selectedObjects]; // We clone the selectedBuckets array\n\n if (checked) {\n // If the user has checked this field we need to push this to selectedBucketsList\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n setSelectedObjects(elements);\n\n return elements;\n };\n\n const sortChange = (sortData: any) => {\n const newSortDirection = get(sortData, \"sortDirection\", \"DESC\");\n setCurrentSortField(sortData.sortBy);\n setSortDirection(newSortDirection);\n setLoading(true);\n };\n\n const renderName = (element: string) => {\n return displayName(element);\n };\n\n const listModeColumns = [\n {\n label: \"Name\",\n elementKey: \"name\",\n renderFunction: renderName,\n enableSort: true,\n },\n {\n label: \"Last Modified\",\n elementKey: \"last_modified\",\n renderFunction: displayParsedDate,\n renderFullObject: true,\n enableSort: true,\n },\n {\n label: \"Size\",\n elementKey: \"size\",\n renderFunction: displayNiceBytes,\n renderFullObject: true,\n width: 60,\n contentTextAlign: \"right\",\n enableSort: true,\n },\n ];\n\n const rewindModeColumns = [\n {\n label: \"Name\",\n elementKey: \"name\",\n renderFunction: renderName,\n enableSort: true,\n },\n {\n label: \"Object Date\",\n elementKey: \"last_modified\",\n renderFunction: displayParsedDate,\n renderFullObject: true,\n enableSort: true,\n },\n {\n label: \"Size\",\n elementKey: \"size\",\n renderFunction: displayNiceBytes,\n renderFullObject: true,\n width: 60,\n contentTextAlign: \"right\",\n enableSort: true,\n },\n {\n label: \"Deleted\",\n elementKey: \"delete_flag\",\n renderFunction: displayDeleteFlag,\n width: 60,\n contentTextAlign: \"center\",\n },\n ];\n\n const pageTitle = decodeFileName(internalPaths);\n const currentPath = pageTitle.split(\"/\").filter((i: string) => i !== \"\");\n\n const plSelect = rewindEnabled ? rewind : filteredRecords;\n\n const sortASC = plSelect.sort(sortListObjects(currentSortField));\n\n let payload: BucketObject[] | RewindObject[] = [];\n\n if (sortDirection === \"ASC\") {\n payload = sortASC;\n } else {\n payload = sortASC.reverse();\n }\n\n const selectAllItems = () => {\n if (selectedObjects.length === payload.length) {\n setSelectedObjects([]);\n return;\n }\n\n const elements = payload.map((item) => item.name);\n setSelectedObjects(elements);\n };\n\n const downloadSelected = () => {\n if (selectedObjects.length !== 0) {\n let itemsToDownload: BucketObject[] | RewindObject[] = [];\n\n const filterFunction = (currValue: BucketObject | RewindObject) =>\n selectedObjects.includes(currValue.name);\n\n if (rewindEnabled) {\n itemsToDownload = rewind.filter(filterFunction);\n } else {\n itemsToDownload = filteredRecords.filter(filterFunction);\n }\n\n itemsToDownload.forEach((filteredItem) => {\n downloadObject(filteredItem);\n });\n }\n };\n let uploadPath = [bucketName];\n if (currentPath.length > 0) {\n uploadPath = uploadPath.concat(currentPath);\n }\n\n return (\n \n {shareFileModalOpen && selectedPreview && (\n \n )}\n {deleteMultipleOpen && (\n \n )}\n {createFolderOpen && (\n \n )}\n {rewindSelect && (\n \n )}\n {previewOpen && (\n \n )}\n \n \n \n \n \n }\n title={\n \n }\n subTitle={\n \n \n \n Created:   \n {bucketInfo?.creation_date || \"\"}\n \n \n Access:   \n {bucketInfo?.access || \"\"}\n \n {bucketInfo && (\n \n \n {bucketInfo.size && (\n {niceBytesInt(bucketInfo.size)}\n )}\n {bucketInfo.size && bucketInfo.objects ? \" / \" : \"\"}\n {bucketInfo.objects && (\n \n {bucketInfo.objects} Object\n {bucketInfo.objects && bucketInfo.objects !== 1\n ? \"s\"\n : \"\"}\n \n )}\n \n \n )}\n \n \n }\n actions={\n \n \n \n {\n if (fileUpload && fileUpload.current) {\n fileUpload.current.click();\n }\n closeMenu();\n }}\n uploadFolderFunction={(closeMenu) => {\n if (folderUpload && folderUpload.current) {\n folderUpload.current.click();\n }\n closeMenu();\n }}\n />\n \n }\n />\n \n \n \n \n \n ,\n tooltip: \"Download Selected\",\n },\n {\n action: openShare,\n label: \"Share\",\n disabled: selectedObjects.length !== 1 || !canShareFile,\n icon: ,\n tooltip: \"Share Selected File\",\n },\n {\n action: openPreview,\n label: \"Preview\",\n disabled: selectedObjects.length !== 1 || !canPreviewFile,\n icon: ,\n tooltip: \"Preview Selected File\",\n },\n {\n action: () => {\n setDeleteMultipleOpen(true);\n },\n label: \"Delete\",\n icon: ,\n disabled:\n !hasPermission(bucketName, [\n IAM_SCOPES.S3_DELETE_OBJECT,\n ]) ||\n selectedObjects.length === 0 ||\n !displayDeleteObject,\n tooltip: \"Delete Selected Files\",\n },\n {\n action: () => {\n setRewindSelect(true);\n },\n label: \"Rewind\",\n disabled:\n !isVersioned ||\n !hasPermission(bucketName, [IAM_SCOPES.S3_PUT_OBJECT]),\n icon: (\n \n \n \n ),\n tooltip: \"Rewind Bucket\",\n },\n {\n action: () => {\n setCreateFolderOpen(true);\n },\n label: \"New Path\",\n icon: ,\n disabled:\n rewindEnabled ||\n !hasPermission(bucketName, [IAM_SCOPES.S3_PUT_OBJECT]),\n tooltip: \"Choose or create a new path\",\n },\n ]}\n globalActions={[\n {\n action: () => {\n setLoading(true);\n },\n label: \"Reload\",\n icon: ,\n disabled:\n !hasPermission(bucketName, [IAM_SCOPES.S3_LIST_BUCKET]) ||\n rewindEnabled,\n tooltip: \"Reload List\",\n },\n ]}\n />\n {\n setDetailsOpen(false);\n setSelectedInternalPaths(null);\n }}\n >\n {selectedInternalPaths !== null && (\n \n )}\n \n \n \n \n \n \n );\n};\n\nconst mapStateToProps = ({ objectBrowser, buckets }: AppState) => ({\n routesList: get(objectBrowser, \"routesList\", []),\n downloadingFiles: get(objectBrowser, \"downloadingFiles\", []),\n rewindEnabled: get(objectBrowser, \"rewind.rewindEnabled\", false),\n rewindDate: get(objectBrowser, \"rewind.dateToRewind\", null),\n bucketToRewind: get(objectBrowser, \"rewind.bucketToRewind\", \"\"),\n loadingBucket: buckets.bucketDetails.loadingBucket,\n bucketInfo: buckets.bucketDetails.bucketInfo,\n searchObjects: objectBrowser.searchObjects,\n});\n\nconst mapDispatchToProps = {\n setSnackBarMessage,\n setErrorSnackMessage,\n setFileModeEnabled,\n resetRewind,\n setBucketDetailsLoad,\n setBucketInfo,\n setNewObject,\n updateProgress,\n completeObject,\n openList,\n setSearchObjects,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withRouter(connector(withStyles(styles)(ListObjects)));\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 } 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 { Link } from \"react-router-dom\";\nimport { Grid, IconButton, Tooltip } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport { AppState } from \"../../../../store\";\nimport { containerForHeader } from \"../../Common/FormComponents/common/styleLibrary\";\nimport {\n setFileModeEnabled,\n setSearchObjects,\n} from \"../../ObjectBrowser/actions\";\nimport ObjectDetails from \"../ListBuckets/Objects/ObjectDetails/ObjectDetails\";\nimport ListObjects from \"../ListBuckets/Objects/ListObjects/ListObjects\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport SettingsIcon from \"../../../../icons/SettingsIcon\";\nimport { BucketInfo } from \"../types\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport SecureComponent from \"../../../../common/SecureComponent/SecureComponent\";\nimport {\n IAM_PERMISSIONS,\n IAM_ROLES,\n IAM_SCOPES,\n} from \"../../../../common/SecureComponent/permissions\";\nimport SearchBox from \"../../Common/SearchBox\";\nimport BackLink from \"../../../../common/BackLink\";\n\ninterface IBrowserHandlerProps {\n fileMode: boolean;\n match: any;\n history: any;\n classes: any;\n setFileModeEnabled: typeof setFileModeEnabled;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n bucketInfo: BucketInfo | null;\n searchObjects: string;\n setSearchObjects: typeof setSearchObjects;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\n },\n backToBuckets: {\n color: \"#000\",\n fontSize: 14,\n padding: 0,\n marginTop: -8,\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst BrowserHandler = ({\n fileMode,\n match,\n history,\n classes,\n setFileModeEnabled,\n searchObjects,\n setSearchObjects,\n}: IBrowserHandlerProps) => {\n const bucketName = match.params[\"bucketName\"];\n const internalPaths = get(match.params, \"subpaths\", \"\");\n\n useEffect(() => {\n setFileModeEnabled(false);\n }, [internalPaths, setFileModeEnabled]);\n\n const openBucketConfiguration = () => {\n history.push(`/buckets/${bucketName}/admin`);\n };\n\n return (\n \n \n {fileMode ? (\n \n \n Buckets\n {\" \"}\n > {bucketName}\n \n ) : (\n \n \n \n )}\n \n }\n actions={\n \n \n \n \n \n \n \n }\n middleComponent={\n \n {!fileMode && (\n \n {\n setSearchObjects(value);\n }}\n value={searchObjects}\n />\n \n )}\n \n }\n />\n {fileMode ? : }\n \n );\n};\n\nconst mapStateToProps = ({ objectBrowser, buckets }: AppState) => ({\n fileMode: get(objectBrowser, \"fileMode\", false),\n bucketToRewind: get(objectBrowser, \"rewind.bucketToRewind\", \"\"),\n bucketInfo: buckets.bucketDetails.bucketInfo,\n searchObjects: objectBrowser.searchObjects,\n});\n\nconst mapDispatchToProps = {\n setFileModeEnabled,\n setErrorSnackMessage,\n setSearchObjects,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(BrowserHandler));\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, CircularProgress } from \"@mui/material\";\n\ntype ActionLinkProps = {\n isLoading: boolean;\n onClick: () => void;\n classes?: any;\n label: any;\n [x: string]: any;\n};\nconst ActionLink = ({\n isLoading,\n onClick,\n label,\n ...restProps\n}: ActionLinkProps) => {\n return (\n \n {isLoading ? (\n \n ) : (\n label\n )}\n \n );\n};\n\nexport default ActionLink;\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 { IconButton } from \"@mui/material\";\nimport EditIcon from \"../../../../../icons/EditIcon\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ntype EditActionButtonProps = {\n disabled?: boolean;\n onClick: () => void | any;\n [x: string]: any;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"#E2E2E2\",\n },\n },\n });\n\nconst EditActionButton = ({\n disabled,\n onClick,\n ...restProps\n}: EditActionButtonProps) => {\n return (\n \n \n \n );\n};\n\nexport default withStyles(styles)(EditActionButton);\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 LabelValuePair from \"../../../Common/UsageBarWrapper/LabelValuePair\";\nimport SecureComponent from \"../../../../../common/SecureComponent/SecureComponent\";\nimport ActionLink from \"./ActionLink\";\nimport { Box } from \"@mui/material\";\nimport EditActionButton from \"./EditActionButton\";\n\ntype EditablePropertyItemProps = {\n isLoading: boolean;\n resourceName: string;\n iamScopes: string[];\n property: any;\n value: any;\n onEdit: () => void;\n secureCmpProps?: Record;\n};\n\nconst SecureAction = ({\n resourceName,\n iamScopes,\n secureCmpProps = {},\n children,\n}: {\n resourceName: string;\n iamScopes: string[];\n children: any;\n secureCmpProps?: Record;\n}) => {\n return (\n \n {children}\n \n );\n};\n\nconst EditablePropertyItem = ({\n isLoading = true,\n resourceName = \"\",\n iamScopes,\n secureCmpProps = {},\n property = null,\n value = null,\n onEdit,\n}: EditablePropertyItemProps) => {\n return (\n \n \n \n \n }\n />\n \n \n \n \n );\n};\n\nexport default EditablePropertyItem;\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 { Box } from \"@mui/material\";\n\ntype LabelWithIconProps = {\n icon: React.ReactNode | null;\n label: React.ReactNode | null;\n};\n\nconst LabelWithIcon = ({ icon = null, label = null }: LabelWithIconProps) => {\n return (\n \n \n {icon}\n \n
{label}
\n \n );\n};\n\nexport default LabelWithIcon;\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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\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 Object Metadata\n \n \n\n \n \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 \n {element}\n \n {renderItem}\n \n );\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) 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 Grid from \"@mui/material/Grid\";\nimport InputLabel from \"@mui/material/InputLabel\";\nimport moment from \"moment/moment\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport InputBoxWrapper from \"../InputBoxWrapper/InputBoxWrapper\";\n\ninterface IDaysSelector {\n classes: any;\n id: string;\n initialDate: Date;\n maxDays?: number;\n label: string;\n entity: string;\n onChange: (newDate: string, isValid: boolean) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n labelContainer: {\n display: \"flex\",\n alignItems: \"center\",\n marginBottom: 15,\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 dateContainer: {\n height: 20,\n textAlign: \"right\",\n color: \"#848484\",\n },\n dateInputContainer: {\n margin: \"0 10px\",\n },\n durationInputs: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n\n validityIndicator: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n invalidDurationText: {\n marginTop: 15,\n display: \"flex\",\n color: \"red\",\n fontSize: 11,\n },\n validityText: {\n fontSize: 14,\n fontWeight: 600,\n marginTop: 15,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst calculateNewTime = (\n initialDate: Date,\n days: number,\n hours: number,\n minutes: number\n) => {\n return moment(initialDate)\n .add(days, \"days\")\n .add(hours, \"hours\")\n .add(minutes, \"minutes\");\n};\n\nconst DaysSelector = ({\n classes,\n id,\n initialDate,\n label,\n maxDays,\n entity,\n onChange,\n}: IDaysSelector) => {\n const [selectedDays, setSelectedDays] = useState(7);\n const [selectedHours, setSelectedHours] = useState(0);\n const [selectedMinutes, setSelectedMinutes] = useState(0);\n const [validDate, setValidDate] = useState(true);\n const [dateSelected, setDateSelected] = useState(moment());\n\n useEffect(() => {\n setDateSelected(\n calculateNewTime(\n initialDate,\n selectedDays,\n selectedHours,\n selectedMinutes\n )\n );\n }, [initialDate, selectedDays, selectedHours, selectedMinutes]);\n\n useEffect(() => {\n if (validDate) {\n onChange(dateSelected.format(\"YYYY-MM-DDTHH:mm:ss\"), true);\n } else {\n onChange(\"0000-00-00\", false);\n }\n }, [dateSelected, onChange, validDate]);\n\n // Basic validation for inputs\n useEffect(() => {\n let valid = true;\n if (\n selectedDays < 0 ||\n (maxDays && selectedDays > maxDays) ||\n isNaN(selectedDays)\n ) {\n valid = false;\n }\n\n if (selectedHours < 0 || selectedHours > 23 || isNaN(selectedHours)) {\n valid = false;\n }\n\n if (selectedMinutes < 0 || selectedMinutes > 59 || isNaN(selectedMinutes)) {\n valid = false;\n }\n\n if (\n maxDays &&\n selectedDays === maxDays &&\n (selectedHours !== 0 || selectedMinutes !== 0)\n ) {\n valid = false;\n }\n\n setValidDate(valid);\n }, [\n dateSelected,\n maxDays,\n onChange,\n selectedDays,\n selectedHours,\n selectedMinutes,\n ]);\n\n const extraInputProps = {\n style: {\n textAlign: \"center\" as const,\n paddingRight: 10,\n paddingLeft: 10,\n width: 25,\n },\n className: \"removeArrows\" as const,\n };\n\n return (\n \n \n \n \n \n {label}\n \n \n \n \n {\n setSelectedDays(parseInt(e.target.value));\n }}\n value={selectedDays.toString()}\n extraInputProps={extraInputProps}\n noLabelMinWidth\n />\n \n \n {\n setSelectedHours(parseInt(e.target.value));\n }}\n value={selectedHours.toString()}\n extraInputProps={extraInputProps}\n noLabelMinWidth\n />\n \n \n {\n setSelectedMinutes(parseInt(e.target.value));\n }}\n value={selectedMinutes.toString()}\n extraInputProps={extraInputProps}\n noLabelMinWidth\n />\n \n \n \n \n {validDate ? (\n
\n
\n {entity} will be available until:\n
{\" \"}\n
\n {dateSelected.format(\"MM/DD/YYYY HH:mm:ss\")}\n
\n
\n ) : (\n
\n Please select a valid duration.\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 { BucketObject } 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: BucketObject | 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 \n )}\n {objectType === \"audio\" && (\n \n \n \n )}\n {objectType === \"image\" && (\n \n )}\n {objectType !== \"video\" &&\n objectType !== \"audio\" &&\n objectType !== \"image\" && (\n \n \n File couldn't be loaded. Please try Download instead\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 { BucketObject } from \"../ListObjects/types\";\nimport { ObjectPreviewIcon } from \"../../../../../../icons\";\n\ninterface IPreviewFileProps {\n open: boolean;\n bucketName: string;\n object: BucketObject | 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 { BucketObject, RewindObject } 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: BucketObject | RewindObject, b: BucketObject | RewindObject) =>\n a.name.localeCompare(b.name);\n case \"last_modified\":\n return (a: BucketObject | RewindObject, b: BucketObject | RewindObject) =>\n new Date(a.last_modified).getTime() -\n new Date(b.last_modified).getTime();\n case \"size\":\n return (a: BucketObject | RewindObject, b: BucketObject | RewindObject) =>\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 from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\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) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n

\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\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","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\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 ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \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 { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ninterface IScreenTitle {\n classes: any;\n icon?: any;\n title?: any;\n subTitle?: any;\n actions?: any;\n className?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerBarIcon: {\n marginRight: \".7rem\",\n color: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n },\n },\n headerBarSubheader: {\n color: \"grey\",\n \"@media (max-width: 900px)\": {\n maxWidth: 200,\n },\n },\n screenTitle: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"1rem\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n titleColumn: {\n height: \"auto\",\n justifyContent: \"center\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n fontSize: 19,\n },\n },\n leftItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n rightItems: {\n display: \"flex\",\n alignItems: \"center\",\n },\n });\n\nconst ScreenTitle = ({\n classes,\n icon,\n title,\n subTitle,\n actions,\n className,\n}: IScreenTitle) => {\n return (\n \n \n
\n {icon ?
{icon}
: null}\n
\n

{title}

\n {subTitle}\n
\n
\n\n
{actions}
\n
\n \n );\n};\n\nexport default withStyles(styles)(ScreenTitle);\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","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","import React from \"react\";\nimport { Box, Tab, TabProps } from \"@mui/material\";\nimport { TabContext, TabList, TabPanel } from \"@mui/lab\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme, useTheme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\n\nexport type TabItemProps = {\n tabConfig: TabProps | any;\n content?: JSX.Element | JSX.Element[];\n};\n\ntype VerticalTabsProps = {\n classes: any;\n children: TabItemProps[];\n selectedTab?: string;\n routes?: any;\n isRouteTabs?: boolean;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n tabsContainer: {\n display: \"flex\",\n height: \"100%\",\n width: \"100%\",\n },\n tabsHeaderContainer: {\n width: \"300px\",\n background: \"#F8F8F8\",\n borderRight: \"1px solid #EAEAEA\",\n \"& .MuiTabs-root\": {\n \"& .MuiTabs-indicator\": {\n display: \"none\",\n },\n \"& .MuiTab-root\": {\n display: \"flex\",\n flexFlow: \"row\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n borderBottom: \"1px solid #EAEAEA\",\n \"& .MuiSvgIcon-root\": {\n marginRight: 8,\n marginBottom: 0,\n },\n \"&.Mui-selected\": {\n background: \"#E5E5E5\",\n fontWeight: 600,\n },\n },\n\n \"&. MuiTabs-scroller\": {\n display: \"none\",\n },\n },\n },\n tabContentContainer: {\n width: \"100%\",\n \"& .MuiTabPanel-root\": {\n height: \"100%\",\n },\n },\n tabPanel: {\n height: \"100%\",\n },\n /*Below md breakpoint make it horizontal and style it for scrolling tabs*/\n \"@media (max-width: 900px)\": {\n tabsContainer: {\n flexFlow: \"column\",\n flexDirection: \"column\",\n },\n tabsHeaderContainer: {\n width: \"100%\",\n borderBottom: \" 1px solid #EAEAEA\",\n \"& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root\": {\n borderBottom: \" 0px\",\n },\n },\n },\n });\n\nconst tabStripStyle = {\n minHeight: 60,\n};\n\nconst VerticalTabs = ({\n children,\n classes,\n selectedTab = \"0\",\n routes,\n isRouteTabs,\n}: VerticalTabsProps) => {\n const [value, setValue] = React.useState(selectedTab);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\n });\n\n return (\n \n \n \n \n {headerList.map((item, index) => {\n if (item) {\n return (\n \n );\n }\n return null;\n })}\n \n \n\n \n {!isRouteTabs\n ? contentList.map((item, index) => {\n return (\n \n {item ? item : null}\n \n );\n })\n : null}\n {isRouteTabs ? (\n
{routes}
\n ) : null}\n
\n
\n
\n );\n};\n\nexport default withStyles(styles)(VerticalTabs);\n"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","months","value","days","Array","from","_","num","currentYear","Date","getFullYear","years","numYear","SelectStyled","root","input","borderBottom","InputBase","DateSelector","forwardRef","ref","id","disableOptions","addSwitch","tooltip","onDateChange","useImperativeHandle","resetDate","useState","dateEnabled","setDateEnabled","month","setMonth","day","setDay","year","setYear","useEffect","valueSplit","split","parseInt","currentDate","parse","isNaN","parsedMonth","parsedDay","monthForString","dayForString","parsedDate","toISOString","dateString","validDate","isValid","isDateDisabled","Grid","item","xs","clsx","fieldContainer","fieldContainerBorder","labelContainer","container","InputLabel","htmlFor","inputLabel","tooltipContainer","Tooltip","title","placement","HelpIcon","FormSwitchWrapper","indicatorLabels","checked","name","onChange","e","target","switchOnly","FormControl","disabled","dateInput","Select","displayEmpty","MenuItem","map","option","dayNumber","fieldBasic","tooltipHelper","flex","paddingBottom","marginTop","marginBottom","mapDispatchToProps","setModalErrorSnackMessage","connector","connect","formFieldStyles","modalStyleUtils","spacingUtils","dateSelector","border","paddingLeft","open","closeModalAndRefresh","objectName","objectInfo","bucketName","statusEnabled","setStatusEnabled","type","setType","date","setDate","isDateValid","setIsDateValid","isSaving","setIsSaving","alreadyConfigured","setAlreadyConfigured","retention_mode","toLowerCase","retention_until_date","valueDate","toString","getMonth","getDate","dateElement","useRef","resetForm","current","showSwitcher","ModalWrapper","modalOpen","onClose","spacerBottom","noValidate","autoComplete","onSubmit","preventDefault","formFieldRow","RadioGroupSelector","currentSelection","selectorOptions","modalButtonBar","Button","variant","selectedObject","versionId","version_id","expireDate","api","encodeFileName","expires","mode","then","res","catch","error","addRetention","disableRetention","objectBrowser","rewindEnabled","get","rewindDate","objectBrowserCommon","internalPaths","fullSizeBreadcrumbs","paths","splitPaths","filter","path","listBreadcrumbs","objectItem","index","subSplit","slice","join","route","length","breadcrumbs","setErrorSnackMessage","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","versioning","useApi","err","deleteLoading","invokeDeleteApi","deleteVersions","setDeleteVersions","ConfirmDialog","confirmText","isOpen","titleIcon","isLoading","onConfirm","recursive","decodeFileName","endsWith","confirmationContent","DialogContentText","description","system","distributedSetup","pathLabel","currentTags","onCloseAndUpdate","newKey","setNewKey","newLabel","setNewLabel","isSending","setIsSending","InputBoxWrapper","placeholder","trim","newTag","newTagList","verID","tags","selectedTag","tagKey","tagLabel","cleanObject","wrapText","actualInfo","legalHoldEnabled","setLegalHoldEnabled","status","modalBasic","versionID","objectPath","restoreOpen","restoreLoading","setRestoreLoading","RecoverIcon","confirmButtonProps","tagKeys","onDeleteTag","onAddTagClick","SecureComponent","scopes","IAM_SCOPES","resource","Box","sx","flexFlow","tag","matchAll","errorProps","deleteIcon","onDelete","Chip","style","textTransform","size","Close","Add","clickable","React","ShareIcon","DownloadIcon","DeleteIcon","ObjectBrowserIcon","ObjectMetaData","EditablePropertyItem","LabelValuePair","emptyFile","is_latest","last_modified","legal_hold_status","twoColCssGridLayoutConfig","gridTemplateColumns","sm","gridAutoFlow","gap","setSnackBarMessage","setNewObject","updateProgress","completeObject","downloadingFiles","bucketToRewind","withRouter","propertiesIcon","marginLeft","height","fontWeight","search","capitalizeFirst","titleCol","titleItem","paddingTop","position","left","top","tabsContainer","borderTop","hrClass","buttonsStyles","actionsTray","tableStyles","textStyleUtils","containerForHeader","spacing","match","loadObjectData","setLoadObjectData","shareFileModalOpen","setShareFileModalOpen","retentionModalOpen","setRetentionModalOpen","tagModalOpen","setTagModalOpen","deleteTagModalOpen","setDeleteTagModalOpen","setSelectedTag","legalholdOpen","setLegalholdOpen","setActualInfo","objectToShare","setObjectToShare","versions","setVersions","filterVersion","setFilterVersion","setDeleteOpen","restoreVersionOpen","setRestoreVersionOpen","restoreVersion","setRestoreVersion","params","internalPathsDecoded","allPathData","currentItem","pop","objectNameArray","result","find","el","Object","keys","shareObject","downloadObject","object","identityDownload","getTime","Math","random","done","instanceID","percentage","prefix","waitingForFile","download","progress","tableActions","sendOnlyId","disableButtonFunction","element","elm","is_delete_marker","filteredRecords","version","includes","ShareFile","dataObject","updateInfo","redirectBack","newPath","history","reloadObjectData","reload","PageLayout","pageContainer","LinearProgress","Fragment","ScreenTitle","subTitle","actions","RBIconButton","text","CircularProgress","VerticalTabs","tabConfig","content","sectionTitle","iamScopes","secureCmpProps","resourceName","property","onEdit","LabelWithIcon","textMuted","spacerTop","SearchBox","tableBlock","TableWrapper","itemActions","columns","renderFullObject","renderFunction","r","versOrd","indexOf","elementKey","contentTextAlign","entityName","idField","records","textSelectable","extensionPreview","PreviewFileContent","content_type","isFullscreen","fileName","fileNameText","whiteSpace","overflow","textOverflow","props","strings","FileBookIcon","FileCodeIcon","FileConfigIcon","FileDbIcon","FileFontIcon","FileImageIcon","FileLockIcon","FileMissingIcon","FileMusicIcon","FilePdfIcon","FilePptIcon","FileTxtIcon","FileVideoIcon","FileXlsIcon","FileZipIcon","listUploadIcons","fill","uploadPath","forceDisable","uploadFileFunction","uploadFolderFunction","anchorEl","setAnchorEl","openUploadMenu","Boolean","handleCloseUpload","uploadObjectAllowed","hasPermission","uploadFolderAllowed","uploadEnabled","undefined","event","currentTarget","Menu","anchorOrigin","vertical","horizontal","transformOrigin","ListItemIcon","ListItemText","containsResource","detailsList","borderColor","backgroundColor","borderWidth","borderStyle","borderRadius","borderBottomLeftRadius","borderBottomRightRadius","transitionDuration","overflowX","overflowY","opacity","borderTopWidth","borderBottomWidth","borderRightWidth","borderLeftWidth","closePanel","right","children","IconButton","margin","restProps","startIcon","detailsPanel","previewOpen","setPreviewOpen","totalVersionsSize","setTotalVersionsSize","tVersionSize","reduce","acc","currValue","PreviewFileModal","onClosePreview","titleLabel","objectActions","openExtraInfo","detailContainer","linear","metadataLinear","niceBytesInt","AddFolderIcon","HistoryIcon","RefreshIcon","CreateFolderModal","withSuspense","DeleteMultipleObjects","RewindEnable","baseDnDStyle","outline","activeDnDStyle","acceptDnDStyle","defLoading","Typography","component","setFileModeEnabled","resetRewind","setBucketDetailsLoad","setBucketInfo","openList","setSearchObjects","buckets","routesList","loadingBucket","bucketDetails","bucketInfo","searchObjects","browsePaper","backgroundImage","badgeOverlap","minWidth","screenTitle","paddingRight","searchField","setRecords","loading","setLoading","rewind","setRewind","loadingRewind","setLoadingRewind","deleteMultipleOpen","setDeleteMultipleOpen","createFolderOpen","setCreateFolderOpen","loadingStartTime","setLoadingStartTime","loadingMessage","setLoadingMessage","loadingVersioning","setLoadingVersioning","isVersioned","setIsVersioned","rewindSelect","setRewindSelect","selectedObjects","setSelectedObjects","selectedPreview","setSelectedPreview","sortDirection","setSortDirection","currentSortField","setCurrentSortField","iniLoad","setIniLoad","canShareFile","setCanShareFile","canPreviewFile","setCanPreviewFile","detailsOpen","setDetailsOpen","selectedInternalPaths","setSelectedInternalPaths","fileUpload","folderUpload","setAttribute","displayDeleteObject","displayListObjects","callback","delay","savedCallback","setInterval","clearInterval","useInterval","timeDelta","now","ceil","updateMessage","is_versioned","rewindParsed","pathPrefix","decodedPath","objects","currentTimestamp","folders","files","forEach","record","push","recordsInElement","found","pathPrefixChopped","i","handleUploadButton","newFiles","uploadObject","displayParsedDate","displayNiceBytes","niceBytes","String","useCallback","folderPath","nextFile","uploadPromise","file","Promise","resolve","reject","uploadUrl","blobFile","Blob","encodedPath","relativeFolderPath","finalFolderPath","identity","xhr","XMLHttpRequest","areMultipleFiles","errorMessage","okMessage","withCredentials","onload","response","JSON","detailedMessage","nFile","upload","addEventListener","floor","loaded","total","onerror","onloadend","formData","FormData","append","send","console","info","onDrop","acceptedFiles","newFolderPath","useDropzone","noClick","getRootProps","getInputProps","isDragActive","isDragAccept","dndStyles","useMemo","idElement","b","renderName","elementString","ObjectBrowserFolderIcon","substr","extensionToIcon","extensions","lowercaseElement","etc","ext","splitItem","displayName","listModeColumns","enableSort","rewindModeColumns","state","pageTitle","currentPath","sortASC","sort","sortListObjects","payload","reverse","concat","refresh","folderName","existingFiles","detailsSpacer","creation_date","access","multiple","closeMenu","click","customPaperHeight","selectedItems","onSelect","targetD","elements","customEmptyMessage","sortConfig","currentSort","currentDirection","triggerSort","sortData","newSortDirection","sortBy","onSelectAll","actionButtons","action","filterFunction","filteredItem","fileObject","Badge","badgeContent","invisible","globalActions","fileMode","breadcrumLink","backToBuckets","PageHeader","BackLink","IAM_PERMISSIONS","IAM_ROLES","SettingsIcon","middleComponent","background","disableRipple","disableFocusRipple","EditIcon","SecureAction","useStyles","makeStyles","tgtColor","main","contrastText","secondary","getButtonColor","metaData","setMetaData","metadata","invokeMetaDataApi","metaKeys","loadMetaData","renderItem","isArray","decodeURIComponent","table","scope","align","dateContainer","textAlign","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","endIcon","iframeContainer","iframeBase","iframeHidden","basename","document","baseURI","replace","window","location","origin","objectType","iframeLoaded","autoPlay","controls","muted","playsInline","onPlay","src","alt","onLoad","allowTransparency","wideLimit","fileSize","progressCallback","completeCallback","anchor","createElement","body","appendChild","req","evt","percentComplete","round","responseType","onreadystatechange","readyState","rspHeader","getResponseHeader","filename","href","URL","createObjectURL","removeChild","fileExtension","fieldSort","a","localeCompare","contained","dark","rest","button","WrappedComponent","fallback","ComponentWithSuspense","Suspense","StyledSwitch","switchBase","transform","common","white","boxShadow","thumb","track","transition","transitions","create","focusVisible","switchContainer","Switch","divContainer","indicatorLabelOn","indicatorLabel","fieldDescription","switchComponent","inputProps","disableTouchRipple","md","inputStyles","inputFieldStyles","InputField","InputProps","textBoxContainer","flexGrow","overlayAction","maxHeight","multiline","required","overlayIcon","overlayObject","pattern","autoFocus","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","predefinedList","multiLine","prefinedContainer","predefinedTitle","innerContentMultiline","innerContent","radioStyles","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","radioUnselectedIcon","optionLabel","checkedOption","displayInColumn","radioOptionsLayout","row","selectorOption","control","onSuccess","onError","setIsLoading","method","url","data","deleteDialogStyles","onCancel","cancelText","cancelButtonProps","reason","titleText","closeContainer","closeButton","cancelButton","confirmButton","loadingPosition","timerI","stopHideTimer","displayErrorMessage","modalSnackMessage","modalSnackBar","modalErrorContainer","zIndex","modalErrorShow","cursor","errorTitle","errorLabel","messageIcon","detailsButton","transformDuration","extraDetailsContainer","fontStyle","lineHeight","extraDetailsOpen","arrowElement","arrowOpen","customStyle","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","detailedError","message","messageDetails","onMouseOver","onMouseLeave","ErrorOutline","detailsContainerLink","ArrowRight","customDialogSize","snackBarCommon","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","Dialog","scroll","DialogTitle","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","toggleList","sidebarOpen","operatorMode","managerObjects","objectManager","objectsToManage","headerContainer","minHeight","labelStyle","rightMenu","logo","direction","headerBarIcon","headerBarSubheader","titleColumn","leftItems","rightItems","adornment","adornmentPosition","overrideClass","disableUnderline","orientation","stkProps","lblProps","valProps","tabStripStyle","tabsHeaderContainer","borderRight","tabContentContainer","tabPanel","flexDirection","selectedTab","routes","isRouteTabs","setValue","useTheme","isSmallScreen","useMediaQuery","breakpoints","down","headerList","contentList","child","newValue","scrollButtons","tabList","tabHeader","focusRipple"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/9469.694915bc.chunk.js.map b/portal-ui/build/static/js/9469.694915bc.chunk.js.map index 34032cae7..cccd5fbeb 100644 --- a/portal-ui/build/static/js/9469.694915bc.chunk.js.map +++ b/portal-ui/build/static/js/9469.694915bc.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/9469.694915bc.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Configurations/utils.tsx","screens/Console/Users/DeleteMultipleServiceAccounts.tsx","utils/sortFunctions.ts"],"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 {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\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 { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\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) 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 Grid from \"@mui/material/Grid\";\nimport \"codemirror/theme/dracula.css\";\n/** Code mirror */\nimport CodeMirror, { Extension } from \"@uiw/react-codemirror\";\nimport { StreamLanguage } from \"@codemirror/stream-parser\";\nimport { json } from \"@codemirror/lang-json\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\n\n/** Code mirror */\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon, EditorThemeSwitchIcon } from \"../../../../../icons\";\nimport RBIconButton from \"../../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { EditorView } from \"@codemirror/view\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst langHighlight: Record = {\n json,\n yaml: () => StreamLanguage.define(yaml),\n};\n\nconst lightTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#FBFAFA\",\n },\n \".cm-content\": {\n caretColor: \"#05122B\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"#05122B\",\n },\n \".cm-gutters\": {\n backgroundColor: \"#FBFAFA\",\n color: \"#000000\",\n border: \"none\",\n },\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n color: \"#2781B0\",\n \"& .ͼc\": {\n color: \"#C83B51\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#dde1f1\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#05122B\",\n color: \"#ffffff\",\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#ebe7f1\",\n },\n \".cm-selectionLayer\": {\n fontWeight: 500,\n },\n \" .cm-selectionBackground\": {\n backgroundColor: \"#a180c7\",\n color: \"#ffffff\",\n },\n },\n {\n dark: false,\n }\n);\n\nconst darkTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#282a36\",\n color: \"#ffb86c\",\n },\n\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n \"& .ͼd, & .ͼc\": {\n color: \"#8e6cef\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#44475a\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#842de5\",\n color: \"#ff79c6\",\n },\n \".cm-selectionLayer .cm-selectionBackground\": {\n backgroundColor: \"green\",\n },\n },\n {\n dark: true,\n }\n);\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n const [isDarkTheme, setIsDarkTheme] = useState(false);\n\n //based on the language mode pick . default to json\n let extensionList: Extension[] = [];\n if (langHighlight[mode]) {\n extensionList = [...extensionList, langHighlight[mode]()];\n }\n\n return (\n \n \n {label}\n {tooltip !== \"\" && (\n

\n \n
\n \n
\n
\n
\n )}\n \n \n
\n
\n\n \n \n {\n onBeforeChange(null, null, v);\n }}\n />\n \n \n \n {\n setIsDarkTheme(!isDarkTheme);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {}}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\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 ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \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 { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport 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) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport PublicIcon from \"@mui/icons-material/Public\";\nimport SdStorageIcon from \"@mui/icons-material/SdStorage\";\nimport CompressIcon from \"@mui/icons-material/Compress\";\nimport CodeIcon from \"@mui/icons-material/Code\";\nimport LocalHospitalIcon from \"@mui/icons-material/LocalHospital\";\nimport FindReplaceIcon from \"@mui/icons-material/FindReplace\";\nimport VpnKeyIcon from \"@mui/icons-material/VpnKey\";\nimport LockOpenIcon from \"@mui/icons-material/LockOpen\";\nimport LoginIcon from \"@mui/icons-material/Login\";\nimport PendingActionsIcon from \"@mui/icons-material/PendingActions\";\nimport CallToActionIcon from \"@mui/icons-material/CallToAction\";\nimport { IElement, IElementValue } from \"./types\";\n\nexport const configurationElements: IElement[] = [\n {\n icon: ,\n configuration_id: \"region\",\n configuration_label: \"Region\",\n },\n {\n icon: ,\n configuration_id: \"cache\",\n configuration_label: \"Cache\",\n },\n {\n icon: ,\n configuration_id: \"compression\",\n configuration_label: \"Compression\",\n },\n {\n icon: ,\n configuration_id: \"api\",\n configuration_label: \"API\",\n },\n {\n icon: ,\n configuration_id: \"heal\",\n configuration_label: \"Heal\",\n },\n {\n icon: ,\n configuration_id: \"scanner\",\n configuration_label: \"Scanner\",\n },\n {\n icon: ,\n configuration_id: \"etcd\",\n configuration_label: \"Etcd\",\n },\n {\n icon: ,\n configuration_id: \"identity_openid\",\n configuration_label: \"Identity Openid\",\n },\n {\n icon: ,\n configuration_id: \"identity_ldap\",\n configuration_label: \"Identity LDAP\",\n },\n {\n icon: ,\n configuration_id: \"logger_webhook\",\n configuration_label: \"Logger Webhook\",\n },\n {\n icon: ,\n configuration_id: \"audit_webhook\",\n configuration_label: \"Audit Webhook\",\n },\n];\n\nexport const fieldsConfigurations: any = {\n region: [\n {\n name: \"name\",\n required: true,\n label: \"Server Location\",\n tooltip: 'Name of the location of the server e.g. \"us-west-rack2\"',\n type: \"string\",\n placeholder: \"e.g. us-west-rack-2\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"You can add a comment to this setting\",\n type: \"comment\",\n placeholder: \"Enter Comment\",\n },\n ],\n cache: [\n {\n name: \"drives\",\n required: true,\n label: \"Drives\",\n tooltip:\n 'Mountpoints e.g. \"/optane1\" or \"/optane2\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Mount Point\",\n },\n {\n name: \"expiry\",\n required: false,\n label: \"Expiry\",\n tooltip: 'Cache expiry duration in days e.g. \"90\"',\n type: \"number\",\n placeholder: \"Enter Number of Days\",\n },\n {\n name: \"quota\",\n required: false,\n label: \"Quota\",\n tooltip: 'Limit cache drive usage in percentage e.g. \"90\"',\n type: \"number\",\n placeholder: \"Enter in %\",\n },\n {\n name: \"exclude\",\n required: false,\n label: \"Exclude\",\n tooltip:\n 'Wildcard exclusion patterns e.g. \"bucket/*.tmp\" or \"*.exe\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Wildcard Exclusion Patterns\",\n },\n {\n name: \"after\",\n required: false,\n label: \"After\",\n tooltip: \"Minimum number of access before caching an object\",\n type: \"number\",\n placeholder: \"Enter Number of Attempts\",\n },\n {\n name: \"watermark_low\",\n required: false,\n label: \"Watermark Low\",\n tooltip: \"Watermark Low\",\n type: \"number\",\n placeholder: \"Enter Watermark Low\",\n },\n {\n name: \"watermark_high\",\n required: false,\n label: \"Watermark High\",\n tooltip: \"Watermark High\",\n type: \"number\",\n placeholder: \"Enter Watermark High\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"You can add a comment to this setting\",\n type: \"comment\",\n multiline: true,\n placeholder: \"Enter Comment\",\n },\n ],\n compression: [\n {\n name: \"extensions\",\n required: false,\n label: \"Extensions\",\n tooltip:\n 'Extensions to compress e.g. \".txt\",\".log\" or \".csv\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter an Extension\",\n withBorder: true,\n },\n {\n name: \"mime_types\",\n required: false,\n label: \"Mime Types\",\n tooltip:\n 'Mime types e.g. \"text/*\",\"application/json\" or \"application/xml\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter a Mime Type\",\n withBorder: true,\n },\n ],\n api: [\n {\n name: \"requests_max\",\n required: false,\n label: \"Requests Max\",\n tooltip: \"Maximum number of concurrent requests, e.g. '1600'\",\n type: \"number\",\n placeholder: \"Enter Requests Max\",\n },\n {\n name: \"cors_allow_origin\",\n required: false,\n label: \"Cors Allow Origin\",\n tooltip: \"list of origins allowed for CORS requests\",\n type: \"csv\",\n placeholder: \"Enter allowed origin e.g. https://example.com\",\n },\n {\n name: \"replication_workers\",\n required: false,\n label: \"Replication Workers\",\n tooltip: \"Number of replication workers, defaults to 100\",\n type: \"number\",\n placeholder: \"Enter Replication Workers\",\n },\n {\n name: \"replication_failed_workers\",\n required: false,\n label: \"Replication Failed Workers\",\n tooltip:\n \"Number of replication workers for recently failed replicas, defaults to 4\",\n type: \"number\",\n placeholder: \"Enter Replication Failed Workers\",\n },\n ],\n heal: [\n {\n name: \"bitrotscan\",\n required: false,\n label: \"Bitrot Scan\",\n tooltip:\n \"Perform bitrot scan on disks when checking objects during scanner\",\n type: \"on|off\",\n },\n {\n name: \"max_sleep\",\n required: false,\n label: \"Max Sleep\",\n tooltip:\n \"Maximum sleep duration between objects to slow down heal operation. eg. 2s\",\n type: \"duration\",\n placeholder: \"Enter Max Sleep duration\",\n },\n {\n name: \"max_io\",\n required: false,\n label: \"Max IO\",\n tooltip:\n \"Maximum IO requests allowed between objects to slow down heal operation. eg. 3\",\n type: \"number\",\n placeholder: \"Enter Max IO\",\n },\n ],\n scanner: [\n {\n name: \"delay\",\n required: false,\n label: \"Delay multiplier\",\n tooltip: \"Scanner delay multiplier, defaults to '10.0'\",\n type: \"number\",\n placeholder: \"Enter Delay\",\n },\n {\n name: \"max_wait\",\n required: false,\n label: \"Max Wait\",\n tooltip: \"Maximum wait time between operations, defaults to '15s'\",\n type: \"duration\",\n placeholder: \"Enter Max Wait\",\n },\n {\n name: \"cycle\",\n required: false,\n label: \"Cycle\",\n tooltip: \"Time duration between scanner cycles, defaults to '1m'\",\n type: \"duration\",\n placeholder: \"Enter Cycle\",\n },\n ],\n etcd: [\n {\n name: \"endpoints\",\n required: true,\n label: \"Endpoints\",\n tooltip:\n 'List of etcd endpoints e.g. \"http://localhost:2379\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"path_prefix\",\n required: false,\n label: \"Path Prefix\",\n tooltip: 'namespace prefix to isolate tenants e.g. \"customer1/\"',\n type: \"string\",\n placeholder: \"Enter Path Prefix\",\n },\n {\n name: \"coredns_path\",\n required: false,\n label: \"Coredns Path\",\n tooltip: 'Shared bucket DNS records, default is \"/skydns\"',\n type: \"string\",\n placeholder: \"Enter Coredns Path\",\n },\n {\n name: \"client_cert\",\n required: false,\n label: \"Client Cert\",\n tooltip: \"Client cert for mTLS authentication\",\n type: \"string\",\n placeholder: \"Enter Client Cert\",\n },\n {\n name: \"client_cert_key\",\n required: false,\n label: \"Client Cert Key\",\n tooltip: \"Client cert key for mTLS authentication\",\n type: \"string\",\n placeholder: \"Enter Client Cert Key\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"You can add a comment to this setting\",\n type: \"comment\",\n multiline: true,\n placeholder: \"Enter Comment\",\n },\n ],\n identity_openid: [\n {\n name: \"config_url\",\n required: false,\n label: \"Config URL\",\n tooltip: \"Config URL for identity provider configuration\",\n type: \"string\",\n placeholder:\n \"https://identity-provider-url/.well-known/openid-configuration\",\n },\n {\n name: \"client_id\",\n required: false,\n label: \"Client ID\",\n type: \"string\",\n placeholder: \"Enter Client ID\",\n },\n {\n name: \"client_secret\",\n required: false,\n label: \"Secret ID\",\n type: \"string\",\n placeholder: \"Enter Secret ID\",\n },\n {\n name: \"claim_name\",\n required: false,\n label: \"Claim Name\",\n tooltip: \"Claim from which MinIO will read the policy or role to use\",\n type: \"string\",\n placeholder: \"Enter Claim Name\",\n },\n {\n name: \"claim_prefix\",\n required: false,\n label: \"Claim Prefix\",\n tooltip: \"Claim Prefix\",\n type: \"string\",\n placeholder: \"Enter Claim Prefix\",\n },\n {\n name: \"claim_userinfo\",\n required: false,\n label: \"Claim UserInfo\",\n type: \"on|off\",\n },\n {\n name: \"redirect_uri\",\n required: false,\n label: \"Redirect URI\",\n type: \"string\",\n placeholder: \"https://console-endpoint-url/oauth_callback\",\n },\n {\n name: \"scopes\",\n required: false,\n label: \"Scopes\",\n type: \"string\",\n placeholder: \"openid,profile,email\",\n },\n ],\n identity_ldap: [\n {\n name: \"server_addr\",\n required: true,\n label: \"Server Addr\",\n tooltip: 'AD/LDAP server address e.g. \"myldapserver.com:636\"',\n type: \"string\",\n placeholder: \"Enter Server Address\",\n },\n {\n name: \"username_format\",\n required: true,\n label: \"Username Format\",\n tooltip:\n 'List of username bind DNs e.g. \"uid=%s\",\"cn=accounts\",\"dc=myldapserver\" or \"dc=com\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Username Format\",\n },\n {\n name: \"username_search_filter\",\n required: true,\n label: \"Username Search Filter\",\n tooltip:\n 'User search filter, for example \"(cn=%s)\" or \"(sAMAccountName=%s)\" or \"(uid=%s)\"',\n type: \"string\",\n placeholder: \"Enter Username Search Filter\",\n },\n {\n name: \"group_search_filter\",\n required: true,\n label: \"Group Search Filter\",\n tooltip:\n 'Search filter for groups e.g. \"(&(objectclass=groupOfNames)(memberUid=%s))\"',\n type: \"string\",\n placeholder: \"Enter Group Search Filter\",\n },\n {\n name: \"username_search_base_dn\",\n required: false,\n label: \"Username Search Base DN\",\n tooltip: \"List of username search DNs, you can write one per field\",\n type: \"csv\",\n placeholder: \"Enter Username Search Base DN\",\n },\n {\n name: \"group_name_attribute\",\n required: false,\n label: \"Group Name Attribute\",\n tooltip: 'Search attribute for group name e.g. \"cn\"',\n type: \"string\",\n placeholder: \"Enter Group Name Attribute\",\n },\n {\n name: \"sts_expiry\",\n required: false,\n label: \"STS Expiry\",\n tooltip:\n 'temporary credentials validity duration in s,m,h,d. Default is \"1h\"',\n type: \"string\",\n placeholder: \"Enter STS Expiry\",\n },\n {\n name: \"tls_skip_verify\",\n required: false,\n label: \"TLS Skip Verify\",\n tooltip:\n 'Trust server TLS without verification, defaults to \"off\" (verify)',\n type: \"on|off\",\n },\n {\n name: \"server_insecure\",\n required: false,\n label: \"Server Insecure\",\n tooltip:\n 'Allow plain text connection to AD/LDAP server, defaults to \"off\"',\n type: \"on|off\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"Optionally add a comment to this setting\",\n type: \"comment\",\n placeholder: \"Enter Comment\",\n },\n ],\n logger_webhook: [\n {\n name: \"endpoint\",\n required: true,\n label: \"Endpoint\",\n type: \"string\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"auth_token\",\n required: true,\n label: \"Auth Token\",\n type: \"string\",\n placeholder: \"Enter Auth Token\",\n },\n ],\n audit_webhook: [\n {\n name: \"endpoint\",\n required: true,\n label: \"Endpoint\",\n type: \"string\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"auth_token\",\n required: true,\n label: \"Auth Token\",\n type: \"string\",\n placeholder: \"Enter Auth Token\",\n },\n ],\n};\n\nexport const removeEmptyFields = (formFields: IElementValue[]) => {\n const nonEmptyFields = formFields.filter((field) => field.value !== \"\");\n\n return nonEmptyFields;\n};\n\nexport const selectSAs = (\n e: React.ChangeEvent,\n setSelectedSAs: Function,\n selectedSAs: string[]\n) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selectedSAs]; // We clone the selectedSAs array\n if (checked) {\n // If the user has checked this field we need to push this to selectedSAs\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n setSelectedSAs(elements);\n return elements;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport useApi from \"../../../screens/Console/Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../../screens/Console/Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../icons\";\ninterface IDeleteMultiSAsProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedSAs: string[];\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\nconst DeleteMultipleSAs = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedSAs,\n setErrorSnackMessage,\n}: IDeleteMultiSAsProps) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n if (!selectedSAs) {\n return null;\n }\n const onConfirmDelete = () => {\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/service-accounts/delete-multi`,\n selectedSAs\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 the selected {selectedSAs.length}{\" \"}\n service accounts?{\" \"}\n \n }\n />\n );\n};\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(DeleteMultipleSAs);\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\ninterface userInterface {\n accessKey: string;\n}\n\ninterface policyInterface {\n name: string;\n}\n\nexport const usersSort = (a: userInterface, b: userInterface) => {\n if (a.accessKey > b.accessKey) {\n return 1;\n }\n if (a.accessKey < b.accessKey) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n\nexport const policySort = (a: policyInterface, b: policyInterface) => {\n if (a.name > b.name) {\n return 1;\n }\n if (a.name < b.name) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n\nexport const stringSort = (a: string, b: string) => {\n if (a > b) {\n return 1;\n }\n if (a < b) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\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","useStyles","makeStyles","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","onClick","disabled","tooltip","icon","restProps","size","sx","borderWidth","borderStyle","opacity","contained","background","dark","light","children","rest","button","clsx","WrappedComponent","fallback","ComponentWithSuspense","Suspense","langHighlight","json","yaml","StreamLanguage","lightTheme","EditorView","caretColor","borderLeftColor","borderRight","darkTheme","fieldBasic","inputLabel","value","label","mode","onBeforeChange","readOnly","editorHeight","useState","isDarkTheme","setIsDarkTheme","extensionList","tooltipContainer","placement","extensions","editable","basicSetup","onChange","v","vu","borderTop","justifyContent","inputStyles","inputFieldStyles","InputField","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","id","name","type","autoComplete","multiline","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputProps","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","fullWidth","helperText","inputRebase","disableFocusRipple","disableRipple","disableTouchRipple","onSuccess","onError","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","pageContentStyles","contentSpacer","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","titleText","closeContainer","closeButton","content","actions","cancelButton","confirmButton","loading","loadingPosition","startIcon","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","connect","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","marginTop","borderLeftWidth","zIndex","left","transform","transitionDuration","modalErrorShow","cursor","errorTitle","errorLabel","messageIcon","detailsButton","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","get","messageDetails","Fragment","style","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","connector","setModalSnackMessage","customDialogSize","snackBarCommon","modalOpen","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","length","Dialog","scroll","DialogTitle","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","toggleList","sidebarOpen","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","boxShadow","labelStyle","rightMenu","textAlign","logo","fill","middleComponent","direction","sm","md","component","searchField","adornment","adornmentPosition","overrideClass","disableUnderline","e","target","configurationElements","configuration_id","configuration_label","fieldsConfigurations","region","cache","compression","withBorder","heal","scanner","etcd","identity_openid","identity_ldap","logger_webhook","audit_webhook","removeEmptyFields","formFields","filter","field","selectSAs","setSelectedSAs","selectedSAs","targetD","checked","elements","push","element","setErrorSnackMessage","closeDeleteModalAndRefresh","deleteOpen","useApi","deleteLoading","invokeDeleteApi","usersSort","a","b","accessKey","policySort","stringSort"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/9469.694915bc.chunk.js","mappings":"oKA0EA,KAAeA,EAAAA,EAAAA,IApDA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXC,KAAM,CACJC,OAAQ,oBACRC,aAAc,EACdC,gBAAiB,UACjBC,YAAa,GACbC,WAAY,GACZC,cAAe,GACfC,aAAc,IAEhBC,UAAW,CACTC,SAAU,GACVC,WAAY,OACZC,aAAc,GACdC,QAAS,OACTC,WAAY,SACZ,cAAe,CACbC,YAAa,GACbC,OAAQ,GACRC,MAAO,KAGXC,SAAU,CACRR,SAAU,GACVL,YAAa,OA2BnB,EAhBgB,SAAC,GAAuD,IAArDc,EAAoD,EAApDA,QAASC,EAA2C,EAA3CA,cAAeC,EAA4B,EAA5BA,MAAOC,EAAqB,EAArBA,KAChD,OACE,gBAAKC,UAAWJ,EAAQlB,KAAxB,UACE,UAAC,KAAD,CAAMuB,WAAS,EAAf,WACE,UAAC,KAAD,CAAMC,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQV,UAAtC,UACGW,EACAC,MAEH,SAAC,KAAD,CAAMI,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQD,SAAtC,SACGI,a,6IChCLK,GAAYC,EAAAA,EAAAA,IAAW,SAAC7B,GAiB5B,MAAO,CACLE,KAAM,CACJ4B,QAAS,MACTC,MAAO,SAACC,GAAD,OAnBY,SAACA,GACtB,IAAQC,EAAmBD,EAAnBC,QAASF,EAAUC,EAAVD,MAEbG,EAAWlC,EAAMmC,QAAQC,QAAQC,KAUrC,MARc,YAAVN,GAAmC,cAAZE,EACzBC,EAAWlC,EAAMmC,QAAQC,QAAQE,aACd,YAAVP,GAAmC,aAAZE,EAChCC,EAAWlC,EAAMmC,QAAQC,QAAQC,KACd,cAAVN,IACTG,EAAWlC,EAAMmC,QAAQI,UAAUF,MAG9BH,EAM0BM,CAAeR,IAC9CS,YAAa,SAACT,GAAD,MACK,cAAhBA,EAAMD,MACF/B,EAAMmC,QAAQI,UAAUF,KACxBrC,EAAMmC,QAAQC,QAAQC,MAC5B,iBAAkB,CAChBnB,MAAO,GACPwB,WAAY,SAACV,GAAD,OAAyBA,EAAMW,KAAO,MAAQ,OAC1D,4BAA6B,CAC3BzB,MAAO,GACPwB,WAAY,wBA2CtB,IApCqB,SAACV,GACpB,IAAMZ,EAAUQ,EAAUI,GAGxBY,EAMEZ,EANFY,QADF,EAOIZ,EALFW,KAAAA,OAFF,MAES,GAFT,IAOIX,EAJFa,SAAAA,OAHF,SAIEC,EAGEd,EAHFc,QAJF,EAOId,EAFFe,KAAAA,OALF,MAKS,KALT,EAMKC,GANL,OAOIhB,EAPJ,GASA,OACE,UAAC,KAAD,gBACEZ,QAASA,EACT0B,QAASA,GAAWH,EACpBV,QAAQ,WACRW,QAASA,EACTC,SAAUA,EACVd,MAAM,YACNkB,KAAK,SACLC,GAAI,CACF/C,OAAQ,oBACR,SAAU,CACRQ,SAAU,GACV,4BAA6B,CAC3BG,QAAS,WAIXkC,GAjBN,eAmBE,0BAAOL,IAnBT,IAmBuBI,Q,oLCL3B,KAAehD,EAAAA,EAAAA,IA5EA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXC,KAAM,CACJ4B,QAAS,EACTY,WAAY,EACZS,YAAa,EACbV,YAAa,UACbV,MAAO,UACPqB,YAAa,QACbhD,aAAc,EACd,cAAe,CAEbc,MAAO,IAET,8BAA+B,CAC7Bb,gBAAiBL,EAAMmC,QAAQC,QAAQC,KACvCjC,aAAc,EACdiD,QAAS,IAEX,aAAc,CACZtB,MAAO,UACPU,YAAa,YAGjBa,UAAW,CACTb,YAAazC,EAAMmC,QAAQC,QAAQC,KACnCkB,WAAYvD,EAAMmC,QAAQC,QAAQC,KAClCN,MAAO,QACP,8BAA+B,CAC7B1B,gBAAiBL,EAAMmC,QAAQC,QAAQoB,KACvCpD,aAAc,EACdiD,QAAS,IAEX,UAAW,CACThD,gBAAiBL,EAAMmC,QAAQC,QAAQqB,MACvC1B,MAAO,aAyCf,EA7BsB,SAAC,GAMA,IALrBX,EAKoB,EALpBA,QACAsC,EAIoB,EAJpBA,SAIoB,IAHpBzB,QAAAA,OAGoB,MAHV,WAGU,EAFpBa,EAEoB,EAFpBA,QACGa,GACiB,YACdC,GACJ,SAAC,KAAD,kBACMD,GADN,IAEEnC,WAAWqC,EAAAA,EAAAA,GAAKzC,EAAQlB,MAAT,UACZkB,EAAQkC,UAAwB,cAAZrB,IAHzB,SAMGyB,KAIL,OAAIZ,GAAuB,KAAZA,GAEX,SAAC,IAAD,CAASxB,MAAOwB,EAAhB,UACE,0BAAOc,MAKNA,M,2DC/DT,IAfA,SACEE,GAEC,IADDC,EACA,uDADsC,KAEtC,SAASC,EAAsBhC,GAC7B,OACE,SAAC,EAAAiC,SAAD,CAAUF,SAAUA,EAApB,UACE,SAACD,GAAD,UAAsB9B,MAK5B,OAAOgC,I,mRC4BHE,EAAqC,CACzCC,KAAAA,EAAAA,GACAC,KAAM,kBAAMC,EAAAA,EAAAA,OAAsBD,EAAAA,KAG9BE,EAAaC,EAAAA,GAAAA,MACjB,CACE,IAAK,CACHlE,gBAAiB,WAEnB,cAAe,CACbmE,WAAY,WAEd,0BAA2B,CACzBC,gBAAiB,WAEnB,cAAe,CACbpE,gBAAiB,UACjB0B,MAAO,UACP5B,OAAQ,QAEV,2BAA4B,CAC1BuE,YAAa,qBAEf,oBAAqB,CACnB/D,SAAU,QAEZ,WAAY,CACVA,SAAU,OACVoB,MAAO,UACP,aAAS,CACPA,MAAO,YAGX,aAAS,CACPA,MAAO,WAET,iBAAkB,CAChB1B,gBAAiB,WAEnB,sBAAuB,CACrBA,gBAAiB,UACjB0B,MAAO,WAET,qBAAsB,CACpB1B,gBAAiB,WAEnB,qBAAsB,CACpBO,WAAY,KAEd,2BAA4B,CAC1BP,gBAAiB,UACjB0B,MAAO,YAGX,CACEyB,MAAM,IAIJmB,EAAYJ,EAAAA,GAAAA,MAChB,CACE,IAAK,CACHlE,gBAAiB,UACjB0B,MAAO,WAGT,2BAA4B,CAC1B2C,YAAa,qBAEf,oBAAqB,CACnB/D,SAAU,QAEZ,WAAY,CACVA,SAAU,OACV,yBAAgB,CACdoB,MAAO,YAGX,aAAS,CACPA,MAAO,WAET,iBAAkB,CAChB1B,gBAAiB,WAEnB,sBAAuB,CACrBA,gBAAiB,UACjB0B,MAAO,WAET,6CAA8C,CAC5C1B,gBAAiB,UAGrB,CACEmD,MAAM,IAgHV,KAAezD,EAAAA,EAAAA,IAvNA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,kBACR2E,EAAAA,IADO,IAEVC,YAAW,kBACND,EAAAA,GAAAA,YADK,IAERhE,WAAY,gBAkNlB,EA5G0B,SAAC,GASN,IARnBkE,EAQkB,EARlBA,MAQkB,IAPlBC,MAAAA,OAOkB,MAPV,GAOU,MANlBjC,QAAAA,OAMkB,MANR,GAMQ,MALlBkC,KAAAA,OAKkB,MALX,OAKW,EAJlB5D,EAIkB,EAJlBA,QACA6D,EAGkB,EAHlBA,eAGkB,IAFlBC,SAAAA,OAEkB,aADlBC,aAAAA,OACkB,MADH,QACG,EAClB,GAAsCC,EAAAA,EAAAA,WAAkB,GAAxD,eAAOC,EAAP,KAAoBC,EAApB,KAGIC,EAA6B,GAKjC,OAJIrB,EAAcc,KAChBO,EAAa,kBAAOA,GAAP,CAAsBrB,EAAcc,SAIjD,UAAC,WAAD,YACE,UAAC,IAAD,CAAYxD,UAAWJ,EAAQyD,WAA/B,WACE,0BAAOE,IACM,KAAZjC,IACC,gBAAKtB,UAAWJ,EAAQoE,iBAAxB,UACE,SAAC,IAAD,CAASlE,MAAOwB,EAAS2C,UAAU,YAAnC,UACE,gBAAKjE,UAAWJ,EAAQ0B,QAAxB,UACE,SAAC,IAAD,cAMV,SAAC,KAAD,CAAMpB,MAAI,EAACC,GAAI,GAAf,UACE,qBAGF,UAAC,KAAD,CACED,MAAI,EACJC,GAAI,GACJuB,GAAI,CACF/C,OAAQ,qBAJZ,WAOE,SAAC,KAAD,CAAMuB,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,KAAD,CACEmD,MAAOA,EACP9E,MAAOqF,EAAcV,EAAYL,EACjCoB,WAAYH,EACZI,UAAWT,EACXU,YAAY,EACZ3E,OAAQkE,EACRU,SAAU,SAACC,EAAWC,GACpBd,EAAe,KAAM,KAAMa,SAIjC,SAAC,KAAD,CACEpE,MAAI,EACJC,GAAI,GACJuB,GAAI,CACF8C,UAAW,oBACXzC,WAAY8B,EAAc,UAAY,WAL1C,UAQE,UAAC,IAAD,CACEnC,GAAI,CACFpC,QAAS,OACTC,WAAY,SACZe,QAAS,MACTrB,aAAc,MACdwF,eAAgB,WAChB,WAAY,CACVhF,OAAQ,OACRC,MAAO,OACPY,QAAS,MACT,aAAc,CACZY,WAAY,OAZpB,WAiBE,SAAC,IAAD,CACEI,QAAS,eACTF,QAAS,WACP0C,GAAgBD,IAElB1C,KAAM,GACNI,MAAM,SAAC,KAAD,IACNhB,MAAO,UACPE,QAAS,cAEX,SAAC,IAAD,CAAiBU,KAAMmC,EAAvB,UACE,SAAC,IAAD,CACEhC,QAAS,oBACTF,QAAS,aACTD,KAAM,GACNI,MAAM,SAAC,KAAD,IACNhB,MAAO,UACPE,QAAS,8B,mLClKnBiE,GAAcrE,EAAAA,EAAAA,IAAW,SAAC7B,GAAD,OAC7BC,EAAAA,EAAAA,IAAa,UACRkG,EAAAA,QAIP,SAASC,EAAWpE,GAClB,IAAMZ,EAAU8E,IAEhB,OACE,SAAC,KAAD,QACEG,WAAY,CAAEjF,QAAAA,IACVY,IAsIV,KAAejC,EAAAA,EAAAA,IA5KA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,0BACR2E,EAAAA,IACA0B,EAAAA,IAFO,IAGVC,iBAAkB,CAChBC,SAAU,EACVC,SAAU,YAEZC,cAAe,CACbD,SAAU,WACVE,MAAO,EACPC,IAAK,EACL,QAAS,CACPC,SAAU,GACVC,UAAW,IAEb,cAAe,CACbF,IAAK,IAGT/B,YAAW,kBACND,EAAAA,GAAAA,YADK,IAERhE,WAAY,gBAsJlB,EAjIwB,SAAC,GA0BH,IAzBpBmE,EAyBmB,EAzBnBA,MACAc,EAwBmB,EAxBnBA,SACAf,EAuBmB,EAvBnBA,MACAiC,EAsBmB,EAtBnBA,GACAC,EAqBmB,EArBnBA,KAqBmB,IApBnBC,KAAAA,OAoBmB,MApBZ,OAoBY,MAnBnBC,aAAAA,OAmBmB,MAnBJ,MAmBI,MAlBnBrE,SAAAA,OAkBmB,aAjBnBsE,UAAAA,OAiBmB,aAhBnBrE,QAAAA,OAgBmB,MAhBT,GAgBS,MAfnBsE,MAAAA,OAemB,MAfX,EAeW,MAdnBC,MAAAA,OAcmB,MAdX,GAcW,MAbnBC,SAAAA,OAamB,aAZnBC,YAAAA,OAYmB,MAZL,GAYK,EAXnBC,EAWmB,EAXnBA,IACAC,EAUmB,EAVnBA,IAUmB,IATnBC,YAAAA,OASmB,MATL,KASK,MARnBC,cAAAA,OAQmB,MARH,KAQG,MAPnBC,gBAAAA,OAOmB,MAPD,GAOC,EANnBlB,EAMmB,EANnBA,cAMmB,IALnBmB,gBAAAA,OAKmB,aAJnBC,QAAAA,OAImB,MAJT,GAIS,MAHnBC,UAAAA,OAGmB,SAFnB3G,EAEmB,EAFnBA,QAEmB,IADnBI,UAAAA,OACmB,MADP,GACO,EACfwG,GAAe,QAAK,aAAcZ,GAAUQ,GAchD,MAZa,WAATX,GAAqBO,IACvBQ,EAAU,IAAUR,GAGT,WAATP,GAAqBQ,IACvBO,EAAU,IAAUP,GAGN,KAAZK,IACFE,EAAU,QAAcF,IAIxB,SAAC,WAAD,WACE,UAAC,KAAD,CACErG,WAAS,EACTD,WAAWqC,EAAAA,EAAAA,GACK,KAAdrC,EAAmBA,EAAY,GACrB,KAAV6F,EAAejG,EAAQ6G,aAAe7G,EAAQ8G,mBAJlD,UAOa,KAAVnD,IACC,UAAC,IAAD,CACEoD,QAASpB,EACTvF,UACEqG,EAAkBzG,EAAQgH,gBAAkBhH,EAAQyD,WAHxD,WAME,4BACGE,EACAuC,EAAW,IAAM,MAEP,KAAZxE,IACC,gBAAKtB,UAAWJ,EAAQoE,iBAAxB,UACE,SAAC,IAAD,CAASlE,MAAOwB,EAAS2C,UAAU,YAAnC,UACE,gBAAKjE,UAAWJ,EAAQ0B,QAAxB,UACE,SAAC,IAAD,cAQZ,iBAAKtB,UAAWJ,EAAQmF,iBAAxB,WACE,SAACH,EAAD,CACEW,GAAIA,EACJC,KAAMA,EACNqB,WAAS,EACTvD,MAAOA,EACPiD,UAAWA,EACXlF,SAAUA,EACVgD,SAAUA,EACVoB,KAAMA,EACNE,UAAWA,EACXD,aAAcA,EACdc,WAAYA,EACZX,MAAiB,KAAVA,EACPiB,WAAYjB,EACZE,YAAaA,EACb/F,UAAWJ,EAAQmH,cAEpBb,IACC,gBACElG,UAAS,UAAKJ,EAAQsF,cAAb,YACG,KAAV3B,EAAe,YAAc,IAFjC,UAKE,SAAC,IAAD,CACEnC,QACE8D,EACI,WACEA,KAEF,kBAAM,MAEZzD,KAAM,QACNuF,oBAAoB,EACpBC,eAAe,EACfC,oBAAoB,EAXtB,SAaGhB,MAINC,IACC,gBACEnG,UAAS,UAAKJ,EAAQsF,cAAb,YACG,KAAV3B,EAAe,YAAc,IAFjC,SAKG4C,gB,2DCtMf,IAvBe,SACbgB,EACAC,GAEA,OAAkCxD,EAAAA,EAAAA,WAAkB,GAApD,eAAOyD,EAAP,KAAkBC,EAAlB,KAgBA,MAAO,CAACD,EAdQ,SAACE,EAAgBC,EAAaC,GAC5CH,GAAa,GACbI,EAAAA,EAAAA,OACUH,EAAQC,EAAKC,GACpBE,MAAK,SAACC,GACLN,GAAa,GACbH,EAAUS,MAEXC,OAAM,SAACC,GACNR,GAAa,GACbF,EAAQU,U,sGCMhB,KAAevJ,EAAAA,EAAAA,IAvBA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,UACRsJ,EAAAA,OAqBP,EAZmB,SAAC,GAA4D,IAA1DnI,EAAyD,EAAzDA,QAAyD,IAAhDI,UAAAA,OAAgD,MAApC,GAAoC,EAAhCkC,EAAgC,EAAhCA,SAC7C,OACE,gBAAKlC,UAAWJ,EAAQoI,cAAxB,UACE,SAAC,KAAD,CAAM/H,WAAS,EAAf,UACE,SAAC,KAAD,CAAMC,MAAI,EAACC,GAAI,GAAIH,UAAWA,EAA9B,SACGkC,Y,kLCkGX,KAAe3D,EAAAA,EAAAA,IAxGA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,UACRwJ,EAAAA,OAsGP,EAnFsB,SAAC,GAcI,IAAD,IAbxBC,OAAAA,OAawB,SAZxBC,EAYwB,EAZxBA,QACAC,EAWwB,EAXxBA,SACAC,EAUwB,EAVxBA,UAUwB,IATxBzI,QAAAA,OASwB,MATd,GASc,MARxBE,MAAAA,OAQwB,MARhB,GAQgB,EAPxBuH,EAOwB,EAPxBA,UACAiB,EAMwB,EANxBA,oBAMwB,IALxBC,WAAAA,OAKwB,MALX,SAKW,MAJxBC,YAAAA,OAIwB,MAJV,UAIU,MAHxBC,mBAAAA,OAGwB,MAHH,GAGG,MAFxBC,kBAAAA,OAEwB,MAFJ,GAEI,MADxBC,UAAAA,OACwB,MADZ,KACY,EACxB,OACE,UAAC,IAAD,CACEC,KAAMV,EACNC,QAAS,SAACU,EAAOC,GACA,kBAAXA,GACFX,KAGJnI,UAAWJ,EAAQlB,KACnBgD,GAAI,CACF,mBAAoB,CAClBpB,QAAS,wBAVf,WAcE,UAAC,IAAD,CAAaN,UAAWJ,EAAQE,MAAhC,WACE,iBAAKE,UAAWJ,EAAQmJ,UAAxB,UACGJ,EADH,IACe7I,MAEf,gBAAKE,UAAWJ,EAAQoJ,eAAxB,UACE,SAAC,IAAD,CACE,aAAW,QACXhJ,UAAWJ,EAAQqJ,YACnB7H,QAAS+G,EACTlB,eAAa,EACbxF,KAAK,QALP,UAOE,SAAC,IAAD,YAKN,SAAC,IAAD,CAAezB,UAAWJ,EAAQsJ,QAAlC,SACGZ,KAEH,UAAC,IAAD,CAAetI,UAAWJ,EAAQuJ,QAAlC,WACE,SAAC,KAAD,gBACEnJ,UAAWJ,EAAQwJ,aACnBhI,QAASgH,GAAYD,EACrB9G,SAAUgG,EACV5B,KAAK,UACDiD,GALN,IAMEjI,QAAQ,WACRF,MAAM,UAPR,SASGgI,MAGH,SAAC,KAAD,gBACEvI,UAAWJ,EAAQyJ,cACnB5D,KAAK,SACLrE,QAASiH,EACTiB,QAASjC,EACThG,SAAUgG,EACV5G,QAAQ,WACRF,MAAM,YACNgJ,gBAAgB,QAChBC,WAAW,SAAC,WAAD,IACXjD,WAAS,GACLkC,GAXN,aAaGD,e,0DCoBPiB,E,8MAMEC,EAAgB,WACpBC,cAAcF,IA+FVG,EAAqB,CACzBC,oBAAqBC,EAAAA,IAKvB,GAFkBC,EAAAA,EAAAA,KARD,SAACC,GAAD,MAAsB,CACrCC,kBAAmBD,EAAME,OAAOC,iBAOEP,EAEpC,EAAyBrL,EAAAA,EAAAA,IA3LV,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACX2L,oBAAqB,CACnBnF,SAAU,WACVoF,UAAW,GACX3K,MAAO,MACPb,gBAAiB,OACjBF,OAAQ,oBACR2L,gBAAiB,GACjB1L,aAAc,EACd2L,OAAQ,IACRjK,QAAS,YACTkK,KAAM,MACNC,UAAW,mBACX5I,QAAS,EACT6I,mBAAoB,QAEtBC,eAAgB,CACd9I,QAAS,GAEXoH,YAAa,CACXhE,SAAU,WACVE,MAAO,EACPhG,SAAU,QACVR,OAAQ,EACRE,gBAAiB,OACjB+L,OAAQ,WAEVC,WAAY,CACVvL,QAAS,OACTC,WAAY,UAEduL,WAAY,CACVvK,MAAO,OACPpB,SAAU,GACVC,WAAY,IACZ8B,WAAY,EACZ1B,YAAa,IAEfuL,YAAa,CACXxK,MAAO,UACPjB,QAAS,OACT,QAAS,CACPI,MAAO,GACPD,OAAQ,KAGZuL,cAAe,CACbzK,MAAO,UACPjB,QAAS,OACTC,WAAY,SACZZ,OAAQ,EACRE,gBAAiB,cACjBC,YAAa,EACbK,SAAU,GACV8L,kBAAmB,OACnBL,OAAQ,WAEVM,sBAAuB,CACrBC,UAAW,SACX5K,MAAO,UACP6K,WAAY,EACZ9K,QAAS,SACT+K,WAAY,sBACZC,SAAU,UAEZC,iBAAkB,CAChBH,WAAY,EACZ9K,QAAS,YAEXkL,aAAc,CACZtK,YAAa,GAEfuK,UAAW,CACThB,UAAW,iBACXQ,kBAAmB,YAgHA1M,EAlGN,SAAC,GAKK,IAJvBqB,EAIsB,EAJtBA,QACAqK,EAGsB,EAHtBA,kBACAJ,EAEsB,EAFtBA,oBACA6B,EACsB,EADtBA,YAEA,GAAsC9H,EAAAA,EAAAA,WAAkB,GAAxD,eAAO+H,EAAP,KAAoBC,EAApB,KACA,GAA8ChI,EAAAA,EAAAA,WAAkB,GAAhE,eAAOiI,EAAP,KAAwBC,EAAxB,KAEMC,GAAoBC,EAAAA,EAAAA,cAAY,WACpCF,GAAmB,KAClB,KAEHG,EAAAA,EAAAA,YAAU,WACHJ,IACHhC,EAAoB,CAAEqC,cAAe,GAAIC,aAAc,KACvDP,GAAe,MAGhB,CAAC/B,EAAqBgC,KAEzBI,EAAAA,EAAAA,YAAU,WAEwB,KAA9BhC,EAAkBmC,SACS,UAA3BnC,EAAkBxE,MAGlBqG,GAAmB,KAGpB,CAACC,EAAmB9B,EAAkBmC,QAASnC,EAAkBxE,OAEpE,IAIM2G,EAAUC,GAAAA,CAAIpC,EAAmB,UAAW,IAC5CqC,EAAiBD,GAAAA,CAAIpC,EAAmB,mBAAoB,IAElE,MAA+B,UAA3BA,EAAkBxE,MAAgC,KAAZ2G,EACjC,MAIP,SAAC,EAAAG,SAAD,WACE,iBACEvM,UAAS,UAAKJ,EAAQwK,oBAAb,YACPyB,EAAkBjM,EAAQ+K,eAAiB,IAE7C6B,MAAOd,EACPe,YAAa/C,EACbgD,aAAc,WA1DpBjD,EAASkD,YA0DgCZ,EA1DF,MAoDnC,WAQE,mBAAQ/L,UAAWJ,EAAQqJ,YAAa7H,QAAS2K,EAAjD,UACE,SAACa,EAAA,EAAD,OAEF,iBAAK5M,UAAWJ,EAAQiL,WAAxB,WACE,iBAAM7K,UAAWJ,EAAQmL,YAAzB,UACE,SAAC8B,EAAA,EAAD,OAEF,iBAAM7M,UAAWJ,EAAQkL,WAAzB,SAAsCsB,OAEpB,KAAnBE,IACC,UAAC,EAAAC,SAAD,YACE,gBAAKvM,UAAWJ,EAAQkN,qBAAxB,UACE,oBAAQ9M,UAAWJ,EAAQoL,cAAe5J,QAjChC,WACpBwK,GAAgBD,IAgCN,qBAEE,SAACoB,EAAA,EAAD,CACE/M,UAAS,UAAKJ,EAAQ4L,aAAb,YACPG,EAAc/L,EAAQ6L,UAAY,YAK1C,gBACEzL,UAAS,UAAKJ,EAAQsL,sBAAb,YACPS,EAAc/L,EAAQ2L,iBAAmB,IAF7C,SAKGe,gBC1CTU,GAAYjD,EAAAA,EAAAA,KAJD,SAACC,GAAD,MAAsB,CACrCC,kBAAmBD,EAAME,OAAOC,iBAGE,CAClC8C,qBAAAA,EAAAA,KAGF,GAAe1O,EAAAA,EAAAA,IA3IA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,kBACRwJ,EAAAA,IADO,IAEVvJ,KAAM,CACJ,mBAAoB,CAClB4B,QAAS,wBAGb4I,QAAS,CACP5I,QAAS,GACTtB,cAAe,GAEjBkO,iBAAkB,CAChBxN,MAAO,OACP2F,SAAU,MAET8H,EAAAA,OA2HP,CAAkCH,GAxHb,SAAC,GAWF,IAVlB7E,EAUiB,EAVjBA,QACAiF,EASiB,EATjBA,UACAtN,EAQiB,EARjBA,MACAoC,EAOiB,EAPjBA,SACAtC,EAMiB,EANjBA,QAMiB,IALjByN,UAAAA,OAKiB,SAJjBpD,EAIiB,EAJjBA,kBACAqD,EAGiB,EAHjBA,iBACAL,EAEiB,EAFjBA,qBAEiB,IADjBtE,UAAAA,OACiB,MADL,KACK,EACjB,GAAwC/E,EAAAA,EAAAA,WAAkB,GAA1D,eAAO2J,EAAP,KAAqBC,EAArB,MAEAvB,EAAAA,EAAAA,YAAU,WACRgB,EAAqB,MACpB,CAACA,KAEJhB,EAAAA,EAAAA,YAAU,WACR,GAAIhC,EAAmB,CACrB,GAAkC,KAA9BA,EAAkBmC,QAEpB,YADAoB,GAAgB,GAIa,UAA3BvD,EAAkBxE,MACpB+H,GAAgB,MAGnB,CAACvD,IAEJ,IAKMwD,EAAaJ,EACf,CACEzN,QAAS,CACP8N,MAAO9N,EAAQsN,mBAGnB,CAAE7H,SAAU,KAAewB,WAAW,GAEtCuF,EAAU,GAYd,OAVInC,IACFmC,EAAUnC,EAAkB0D,kBAEa,KAAvC1D,EAAkB0D,kBAClB1D,EAAkB0D,iBAAiBC,OAAS,KAE5CxB,EAAUnC,EAAkBmC,WAK9B,UAACyB,EAAA,GAAD,gBACEjF,KAAMwE,EACNxN,QAASA,GACL6N,GAHN,IAIEK,OAAQ,QACR3F,QAAS,SAACU,EAAOC,GACA,kBAAXA,GACFX,KAGJnI,UAAWJ,EAAQlB,KAVrB,WAYE,UAACqP,EAAA,EAAD,CAAa/N,UAAWJ,EAAQE,MAAhC,WACE,iBAAKE,UAAWJ,EAAQmJ,UAAxB,UACGJ,EADH,IACe7I,MAEf,gBAAKE,UAAWJ,EAAQoJ,eAAxB,UACE,SAACgF,EAAA,EAAD,CACE,aAAW,QACXhO,UAAWJ,EAAQqJ,YACnB7H,QAAS+G,EACTlB,eAAa,EACbxF,KAAK,QALP,UAOE,SAACmL,EAAA,EAAD,YAKN,SAAC,EAAD,KACA,SAACqB,EAAA,EAAD,CACErF,KAAM2E,EACNvN,UAAWJ,EAAQsO,cACnB/F,QAAS,WA1DbqF,GAAgB,GAChBP,EAAqB,KA4DjBb,QAASA,EACT+B,aAAc,CACZnO,UAAU,GAAD,OAAKJ,EAAQwO,SAAb,YACPnE,GAAgD,UAA3BA,EAAkBxE,KACnC7F,EAAQyO,cACR,KAGRC,iBACErE,GAAgD,UAA3BA,EAAkBxE,KAAmB,IAAQ,OAGtE,SAAC8I,EAAA,EAAD,CAAevO,UAAWsN,EAAmB,GAAK1N,EAAQsJ,QAA1D,SACGhH,a,0JCVH0H,EAAqB,CACzB4E,WAAAA,EAAAA,IAGIxB,GAAYjD,EAAAA,EAAAA,KAVD,SAACC,GAAD,MAAsB,CACrCyE,YAAazE,EAAME,OAAOuE,YAC1BC,aAAc1E,EAAME,OAAOwE,aAC3BC,eAAgB3E,EAAM4E,cAAcC,cAAcC,mBAOhBlF,GAEpC,IAAeoD,GAAUzO,EAAAA,EAAAA,IA7HV,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXsQ,gBAAiB,CACfrP,MAAO,OACPsP,UAAW,GACX1P,QAAS,OACTT,gBAAiB,OACjB2L,KAAM,EACNyE,UAAW,8BAEb1L,MAAO,CACLjE,QAAS,OACTmF,eAAgB,aAChBlF,WAAY,UAEd2P,WAAY,CACV3O,MAAO,OACPpB,SAAU,GACVC,WAAY,IACZ8B,WAAY,GACZmJ,UAAW,GAEb8E,UAAW,CACTC,UAAW,SAEbC,KAAM,CACJnO,WAAY,GACZoO,KAAM9Q,EAAMmC,QAAQC,QAAQC,KAC5B,cAAe,CACbnB,MAAO,MAGX6P,gBAAiB,CACfjQ,QAAS,OACTmF,eAAgB,SAChBlF,WAAY,cA0FOhB,EAtFN,SAAC,GASA,IARlBqB,EAQiB,EARjBA,QACA2D,EAOiB,EAPjBA,MACA4F,EAMiB,EANjBA,QACAsF,EAKiB,EALjBA,YACAC,EAIiB,EAJjBA,aACAC,EAGiB,EAHjBA,eACAH,EAEiB,EAFjBA,WACAe,EACiB,EADjBA,gBAEA,OACE,UAAC,KAAD,CACEtP,WAAS,EACTD,UAAS,UAAKJ,EAAQmP,gBAAb,gBACTS,UAAU,MACVjQ,WAAW,SAJb,WAME,UAAC,KAAD,CACEW,MAAI,EACJC,GAAI,GACJsP,GAAI,GACJC,GAAIH,EAAkB,EAAI,EAC1BvP,UAAWJ,EAAQ2D,MACnB7B,GAAI,CACF3C,WAAY,CAAC,OAAQ,OAAQ,IAAK,MAPtC,WAUI0P,IACA,gBAAKzO,UAAWJ,EAAQyP,KAAxB,SACGX,GAAe,SAAC,IAAD,KAAmB,SAAC,IAAD,OAGvC,SAAC,IAAD,CAAYjO,QAAQ,KAAKT,UAAWJ,EAAQsP,WAA5C,SACG3L,OAGJgM,IACC,SAAC,KAAD,CACErP,MAAI,EACJC,GAAI,GACJsP,GAAI,GACJC,GAAI,EACJ1P,UAAWJ,EAAQ2P,gBACnB7N,GAAI,CAAE2I,UAAW,CAAC,OAAQ,OAAQ,IAAK,MANzC,SAQGkF,KAGL,UAAC,KAAD,CACErP,MAAI,EACJC,GAAI,GACJsP,GAAI,GACJC,GAAIH,EAAkB,EAAI,EAC1BvP,UAAWJ,EAAQuP,UALrB,UAOGhG,GAAWA,EACXwF,GAAkBA,EAAef,OAAS,IACzC,SAAC,IAAD,CACErN,MAAM,UACN,aAAW,eACXoP,UAAU,OACVvO,QAAS,WACPoN,KAEF/M,KAAK,QAPP,UASE,SAAC,KAAD,iB,uICtEZ,KAAelD,EAAAA,EAAAA,IApDA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXmR,aAAY,UACPA,EAAAA,GAAAA,aAELC,UAAW,OA+Cf,EAnCkB,SAAC,GAOI,IAAD,IANpB9J,YAAAA,OAMoB,MANN,GAMM,EALpBnG,EAKoB,EALpBA,QACAyE,EAIoB,EAJpBA,SAIoB,IAHpByL,kBAAAA,OAGoB,MAHA,MAGA,EAFpBC,EAEoB,EAFpBA,cACAzM,EACoB,EADpBA,MAEMkD,GAAU,QACdwJ,kBAAkB,GADJ,UAEVF,EAFU,cAGZ,SAAC,IAAD,CACE7K,SAAU6K,EACV9P,UAAWJ,EAAQiQ,UAFrB,UAIE,SAAC,IAAD,OAIN,OACE,SAAC,IAAD,CACE9J,YAAaA,EACb/F,UAAW+P,GAAgCnQ,EAAQgQ,YACnDrK,GAAG,kBACHhC,MAAM,GACNsB,WAAY2B,EACZnC,SAAU,SAAC4L,GACT5L,EAAS4L,EAAEC,OAAO5M,QAEpB7C,QAAQ,WACR6C,MAAOA,Q,2RC3CA6M,EAAoC,CAC/C,CACE5O,MAAM,SAAC,IAAD,IACN6O,iBAAkB,SAClBC,oBAAqB,UAEvB,CACE9O,MAAM,SAAC,IAAD,IACN6O,iBAAkB,QAClBC,oBAAqB,SAEvB,CACE9O,MAAM,SAAC,IAAD,IACN6O,iBAAkB,cAClBC,oBAAqB,eAEvB,CACE9O,MAAM,SAAC,IAAD,IACN6O,iBAAkB,MAClBC,oBAAqB,OAEvB,CACE9O,MAAM,SAAC,IAAD,IACN6O,iBAAkB,OAClBC,oBAAqB,QAEvB,CACE9O,MAAM,SAAC,IAAD,IACN6O,iBAAkB,UAClBC,oBAAqB,WAEvB,CACE9O,MAAM,SAAC,IAAD,IACN6O,iBAAkB,OAClBC,oBAAqB,QAEvB,CACE9O,MAAM,SAAC,IAAD,IACN6O,iBAAkB,kBAClBC,oBAAqB,mBAEvB,CACE9O,MAAM,SAAC,IAAD,IACN6O,iBAAkB,gBAClBC,oBAAqB,iBAEvB,CACE9O,MAAM,SAAC,IAAD,IACN6O,iBAAkB,iBAClBC,oBAAqB,kBAEvB,CACE9O,MAAM,SAAC,IAAD,IACN6O,iBAAkB,gBAClBC,oBAAqB,kBAIZC,EAA4B,CACvCC,OAAQ,CACN,CACE/K,KAAM,OACNM,UAAU,EACVvC,MAAO,kBACPjC,QAAS,0DACTmE,KAAM,SACNM,YAAa,uBAEf,CACEP,KAAM,UACNM,UAAU,EACVvC,MAAO,UACPjC,QAAS,wCACTmE,KAAM,UACNM,YAAa,kBAGjByK,MAAO,CACL,CACEhL,KAAM,SACNM,UAAU,EACVvC,MAAO,SACPjC,QACE,yEACFmE,KAAM,MACNM,YAAa,qBAEf,CACEP,KAAM,SACNM,UAAU,EACVvC,MAAO,SACPjC,QAAS,0CACTmE,KAAM,SACNM,YAAa,wBAEf,CACEP,KAAM,QACNM,UAAU,EACVvC,MAAO,QACPjC,QAAS,kDACTmE,KAAM,SACNM,YAAa,cAEf,CACEP,KAAM,UACNM,UAAU,EACVvC,MAAO,UACPjC,QACE,0FACFmE,KAAM,MACNM,YAAa,qCAEf,CACEP,KAAM,QACNM,UAAU,EACVvC,MAAO,QACPjC,QAAS,oDACTmE,KAAM,SACNM,YAAa,4BAEf,CACEP,KAAM,gBACNM,UAAU,EACVvC,MAAO,gBACPjC,QAAS,gBACTmE,KAAM,SACNM,YAAa,uBAEf,CACEP,KAAM,iBACNM,UAAU,EACVvC,MAAO,iBACPjC,QAAS,iBACTmE,KAAM,SACNM,YAAa,wBAEf,CACEP,KAAM,UACNM,UAAU,EACVvC,MAAO,UACPjC,QAAS,wCACTmE,KAAM,UACNE,WAAW,EACXI,YAAa,kBAGjB0K,YAAa,CACX,CACEjL,KAAM,aACNM,UAAU,EACVvC,MAAO,aACPjC,QACE,mFACFmE,KAAM,MACNM,YAAa,qBACb2K,YAAY,GAEd,CACElL,KAAM,aACNM,UAAU,EACVvC,MAAO,aACPjC,QACE,gGACFmE,KAAM,MACNM,YAAa,oBACb2K,YAAY,IAGhBhJ,IAAK,CACH,CACElC,KAAM,eACNM,UAAU,EACVvC,MAAO,eACPjC,QAAS,qDACTmE,KAAM,SACNM,YAAa,sBAEf,CACEP,KAAM,oBACNM,UAAU,EACVvC,MAAO,oBACPjC,QAAS,4CACTmE,KAAM,MACNM,YAAa,iDAEf,CACEP,KAAM,sBACNM,UAAU,EACVvC,MAAO,sBACPjC,QAAS,iDACTmE,KAAM,SACNM,YAAa,6BAEf,CACEP,KAAM,6BACNM,UAAU,EACVvC,MAAO,6BACPjC,QACE,4EACFmE,KAAM,SACNM,YAAa,qCAGjB4K,KAAM,CACJ,CACEnL,KAAM,aACNM,UAAU,EACVvC,MAAO,cACPjC,QACE,oEACFmE,KAAM,UAER,CACED,KAAM,YACNM,UAAU,EACVvC,MAAO,YACPjC,QACE,6EACFmE,KAAM,WACNM,YAAa,4BAEf,CACEP,KAAM,SACNM,UAAU,EACVvC,MAAO,SACPjC,QACE,iFACFmE,KAAM,SACNM,YAAa,iBAGjB6K,QAAS,CACP,CACEpL,KAAM,QACNM,UAAU,EACVvC,MAAO,mBACPjC,QAAS,+CACTmE,KAAM,SACNM,YAAa,eAEf,CACEP,KAAM,WACNM,UAAU,EACVvC,MAAO,WACPjC,QAAS,0DACTmE,KAAM,WACNM,YAAa,kBAEf,CACEP,KAAM,QACNM,UAAU,EACVvC,MAAO,QACPjC,QAAS,yDACTmE,KAAM,WACNM,YAAa,gBAGjB8K,KAAM,CACJ,CACErL,KAAM,YACNM,UAAU,EACVvC,MAAO,YACPjC,QACE,mFACFmE,KAAM,MACNM,YAAa,kBAEf,CACEP,KAAM,cACNM,UAAU,EACVvC,MAAO,cACPjC,QAAS,wDACTmE,KAAM,SACNM,YAAa,qBAEf,CACEP,KAAM,eACNM,UAAU,EACVvC,MAAO,eACPjC,QAAS,kDACTmE,KAAM,SACNM,YAAa,sBAEf,CACEP,KAAM,cACNM,UAAU,EACVvC,MAAO,cACPjC,QAAS,sCACTmE,KAAM,SACNM,YAAa,qBAEf,CACEP,KAAM,kBACNM,UAAU,EACVvC,MAAO,kBACPjC,QAAS,0CACTmE,KAAM,SACNM,YAAa,yBAEf,CACEP,KAAM,UACNM,UAAU,EACVvC,MAAO,UACPjC,QAAS,wCACTmE,KAAM,UACNE,WAAW,EACXI,YAAa,kBAGjB+K,gBAAiB,CACf,CACEtL,KAAM,aACNM,UAAU,EACVvC,MAAO,aACPjC,QAAS,iDACTmE,KAAM,SACNM,YACE,kEAEJ,CACEP,KAAM,YACNM,UAAU,EACVvC,MAAO,YACPkC,KAAM,SACNM,YAAa,mBAEf,CACEP,KAAM,gBACNM,UAAU,EACVvC,MAAO,YACPkC,KAAM,SACNM,YAAa,mBAEf,CACEP,KAAM,aACNM,UAAU,EACVvC,MAAO,aACPjC,QAAS,6DACTmE,KAAM,SACNM,YAAa,oBAEf,CACEP,KAAM,eACNM,UAAU,EACVvC,MAAO,eACPjC,QAAS,eACTmE,KAAM,SACNM,YAAa,sBAEf,CACEP,KAAM,iBACNM,UAAU,EACVvC,MAAO,iBACPkC,KAAM,UAER,CACED,KAAM,eACNM,UAAU,EACVvC,MAAO,eACPkC,KAAM,SACNM,YAAa,+CAEf,CACEP,KAAM,SACNM,UAAU,EACVvC,MAAO,SACPkC,KAAM,SACNM,YAAa,yBAGjBgL,cAAe,CACb,CACEvL,KAAM,cACNM,UAAU,EACVvC,MAAO,cACPjC,QAAS,qDACTmE,KAAM,SACNM,YAAa,wBAEf,CACEP,KAAM,kBACNM,UAAU,EACVvC,MAAO,kBACPjC,QACE,mHACFmE,KAAM,MACNM,YAAa,yBAEf,CACEP,KAAM,yBACNM,UAAU,EACVvC,MAAO,yBACPjC,QACE,mFACFmE,KAAM,SACNM,YAAa,gCAEf,CACEP,KAAM,sBACNM,UAAU,EACVvC,MAAO,sBACPjC,QACE,8EACFmE,KAAM,SACNM,YAAa,6BAEf,CACEP,KAAM,0BACNM,UAAU,EACVvC,MAAO,0BACPjC,QAAS,2DACTmE,KAAM,MACNM,YAAa,iCAEf,CACEP,KAAM,uBACNM,UAAU,EACVvC,MAAO,uBACPjC,QAAS,4CACTmE,KAAM,SACNM,YAAa,8BAEf,CACEP,KAAM,aACNM,UAAU,EACVvC,MAAO,aACPjC,QACE,sEACFmE,KAAM,SACNM,YAAa,oBAEf,CACEP,KAAM,kBACNM,UAAU,EACVvC,MAAO,kBACPjC,QACE,oEACFmE,KAAM,UAER,CACED,KAAM,kBACNM,UAAU,EACVvC,MAAO,kBACPjC,QACE,mEACFmE,KAAM,UAER,CACED,KAAM,UACNM,UAAU,EACVvC,MAAO,UACPjC,QAAS,2CACTmE,KAAM,UACNM,YAAa,kBAGjBiL,eAAgB,CACd,CACExL,KAAM,WACNM,UAAU,EACVvC,MAAO,WACPkC,KAAM,SACNM,YAAa,kBAEf,CACEP,KAAM,aACNM,UAAU,EACVvC,MAAO,aACPkC,KAAM,SACNM,YAAa,qBAGjBkL,cAAe,CACb,CACEzL,KAAM,WACNM,UAAU,EACVvC,MAAO,WACPkC,KAAM,SACNM,YAAa,kBAEf,CACEP,KAAM,aACNM,UAAU,EACVvC,MAAO,aACPkC,KAAM,SACNM,YAAa,sBAKNmL,EAAoB,SAACC,GAGhC,OAFuBA,EAAWC,QAAO,SAACC,GAAD,MAA2B,KAAhBA,EAAM/N,UAK/CgO,EAAY,SACvBrB,EACAsB,EACAC,GAEA,IAAMC,EAAUxB,EAAEC,OACZ5M,EAAQmO,EAAQnO,MAChBoO,EAAUD,EAAQC,QAEpBC,GAAkB,OAAOH,GAS7B,OARIE,EAEFC,EAASC,KAAKtO,GAGdqO,EAAWA,EAASP,QAAO,SAACS,GAAD,OAAaA,IAAYvO,KAEtDiO,EAAeI,GACRA,I,6HC5dH/H,EAAqB,CACzBkI,qBAAAA,EAAAA,IAEI9E,GAAYjD,EAAAA,EAAAA,IAAQ,KAAMH,GAEhC,IAAeoD,GA3CW,SAAC,GAKE,IAJ3B+E,EAI0B,EAJ1BA,2BACAC,EAG0B,EAH1BA,WACAR,EAE0B,EAF1BA,YACAM,EAC0B,EAD1BA,qBAKA,GAAyCG,EAAAA,EAAAA,IAHpB,kBAAMF,GAA2B,MACnC,SAACjK,GAAD,OAA+BgK,EAAqBhK,MAEvE,eAAOoK,EAAP,KAAsBC,EAAtB,KACA,IAAKX,EACH,OAAO,KAST,OACE,SAAC,IAAD,CACE1R,MAAK,0BACL0I,YAAa,SACbN,OAAQ8J,EACRrJ,WAAW,SAAC,KAAD,IACXtB,UAAW6K,EACX7J,UAdoB,WACtB8J,EACE,SADa,wCAGbX,IAWArJ,QApBY,kBAAM4J,GAA2B,IAqB7CzJ,qBACE,UAAC,IAAD,2DACgDkJ,EAAY5D,OAAQ,IADpE,oBAEoB,a,uGCrCrB,IAAMwE,EAAY,SAACC,EAAkBC,GAC1C,OAAID,EAAEE,UAAYD,EAAEC,UACX,EAELF,EAAEE,UAAYD,EAAEC,WACV,EAGH,GAGIC,EAAa,SAACH,EAAoBC,GAC7C,OAAID,EAAE7M,KAAO8M,EAAE9M,KACN,EAEL6M,EAAE7M,KAAO8M,EAAE9M,MACL,EAGH,GAGIiN,EAAa,SAACJ,EAAWC,GACpC,OAAID,EAAIC,EACC,EAELD,EAAIC,GACE,EAGH","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Configurations/utils.tsx","screens/Console/Users/DeleteMultipleServiceAccounts.tsx","utils/sortFunctions.ts"],"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 {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\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 { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\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) 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 Grid from \"@mui/material/Grid\";\nimport \"codemirror/theme/dracula.css\";\n/** Code mirror */\nimport CodeMirror, { Extension } from \"@uiw/react-codemirror\";\nimport { StreamLanguage } from \"@codemirror/stream-parser\";\nimport { json } from \"@codemirror/lang-json\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\n\n/** Code mirror */\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon, EditorThemeSwitchIcon } from \"../../../../../icons\";\nimport RBIconButton from \"../../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { EditorView } from \"@codemirror/view\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst langHighlight: Record = {\n json,\n yaml: () => StreamLanguage.define(yaml),\n};\n\nconst lightTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#FBFAFA\",\n },\n \".cm-content\": {\n caretColor: \"#05122B\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"#05122B\",\n },\n \".cm-gutters\": {\n backgroundColor: \"#FBFAFA\",\n color: \"#000000\",\n border: \"none\",\n },\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n color: \"#2781B0\",\n \"& .ͼc\": {\n color: \"#C83B51\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#dde1f1\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#05122B\",\n color: \"#ffffff\",\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#ebe7f1\",\n },\n \".cm-selectionLayer\": {\n fontWeight: 500,\n },\n \" .cm-selectionBackground\": {\n backgroundColor: \"#a180c7\",\n color: \"#ffffff\",\n },\n },\n {\n dark: false,\n }\n);\n\nconst darkTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#282a36\",\n color: \"#ffb86c\",\n },\n\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n \"& .ͼd, & .ͼc\": {\n color: \"#8e6cef\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#44475a\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#842de5\",\n color: \"#ff79c6\",\n },\n \".cm-selectionLayer .cm-selectionBackground\": {\n backgroundColor: \"green\",\n },\n },\n {\n dark: true,\n }\n);\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n const [isDarkTheme, setIsDarkTheme] = useState(false);\n\n //based on the language mode pick . default to json\n let extensionList: Extension[] = [];\n if (langHighlight[mode]) {\n extensionList = [...extensionList, langHighlight[mode]()];\n }\n\n return (\n \n \n {label}\n {tooltip !== \"\" && (\n

\n \n
\n \n
\n
\n
\n )}\n \n \n
\n
\n\n \n \n {\n onBeforeChange(null, null, v);\n }}\n />\n \n \n \n {\n setIsDarkTheme(!isDarkTheme);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {}}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\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 ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \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 { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport 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) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport PublicIcon from \"@mui/icons-material/Public\";\nimport SdStorageIcon from \"@mui/icons-material/SdStorage\";\nimport CompressIcon from \"@mui/icons-material/Compress\";\nimport CodeIcon from \"@mui/icons-material/Code\";\nimport LocalHospitalIcon from \"@mui/icons-material/LocalHospital\";\nimport FindReplaceIcon from \"@mui/icons-material/FindReplace\";\nimport VpnKeyIcon from \"@mui/icons-material/VpnKey\";\nimport LockOpenIcon from \"@mui/icons-material/LockOpen\";\nimport LoginIcon from \"@mui/icons-material/Login\";\nimport PendingActionsIcon from \"@mui/icons-material/PendingActions\";\nimport CallToActionIcon from \"@mui/icons-material/CallToAction\";\nimport { IElement, IElementValue } from \"./types\";\n\nexport const configurationElements: IElement[] = [\n {\n icon: ,\n configuration_id: \"region\",\n configuration_label: \"Region\",\n },\n {\n icon: ,\n configuration_id: \"cache\",\n configuration_label: \"Cache\",\n },\n {\n icon: ,\n configuration_id: \"compression\",\n configuration_label: \"Compression\",\n },\n {\n icon: ,\n configuration_id: \"api\",\n configuration_label: \"API\",\n },\n {\n icon: ,\n configuration_id: \"heal\",\n configuration_label: \"Heal\",\n },\n {\n icon: ,\n configuration_id: \"scanner\",\n configuration_label: \"Scanner\",\n },\n {\n icon: ,\n configuration_id: \"etcd\",\n configuration_label: \"Etcd\",\n },\n {\n icon: ,\n configuration_id: \"identity_openid\",\n configuration_label: \"Identity Openid\",\n },\n {\n icon: ,\n configuration_id: \"identity_ldap\",\n configuration_label: \"Identity LDAP\",\n },\n {\n icon: ,\n configuration_id: \"logger_webhook\",\n configuration_label: \"Logger Webhook\",\n },\n {\n icon: ,\n configuration_id: \"audit_webhook\",\n configuration_label: \"Audit Webhook\",\n },\n];\n\nexport const fieldsConfigurations: any = {\n region: [\n {\n name: \"name\",\n required: true,\n label: \"Server Location\",\n tooltip: 'Name of the location of the server e.g. \"us-west-rack2\"',\n type: \"string\",\n placeholder: \"e.g. us-west-rack-2\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"You can add a comment to this setting\",\n type: \"comment\",\n placeholder: \"Enter Comment\",\n },\n ],\n cache: [\n {\n name: \"drives\",\n required: true,\n label: \"Drives\",\n tooltip:\n 'Mountpoints e.g. \"/optane1\" or \"/optane2\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Mount Point\",\n },\n {\n name: \"expiry\",\n required: false,\n label: \"Expiry\",\n tooltip: 'Cache expiry duration in days e.g. \"90\"',\n type: \"number\",\n placeholder: \"Enter Number of Days\",\n },\n {\n name: \"quota\",\n required: false,\n label: \"Quota\",\n tooltip: 'Limit cache drive usage in percentage e.g. \"90\"',\n type: \"number\",\n placeholder: \"Enter in %\",\n },\n {\n name: \"exclude\",\n required: false,\n label: \"Exclude\",\n tooltip:\n 'Wildcard exclusion patterns e.g. \"bucket/*.tmp\" or \"*.exe\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Wildcard Exclusion Patterns\",\n },\n {\n name: \"after\",\n required: false,\n label: \"After\",\n tooltip: \"Minimum number of access before caching an object\",\n type: \"number\",\n placeholder: \"Enter Number of Attempts\",\n },\n {\n name: \"watermark_low\",\n required: false,\n label: \"Watermark Low\",\n tooltip: \"Watermark Low\",\n type: \"number\",\n placeholder: \"Enter Watermark Low\",\n },\n {\n name: \"watermark_high\",\n required: false,\n label: \"Watermark High\",\n tooltip: \"Watermark High\",\n type: \"number\",\n placeholder: \"Enter Watermark High\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"You can add a comment to this setting\",\n type: \"comment\",\n multiline: true,\n placeholder: \"Enter Comment\",\n },\n ],\n compression: [\n {\n name: \"extensions\",\n required: false,\n label: \"Extensions\",\n tooltip:\n 'Extensions to compress e.g. \".txt\",\".log\" or \".csv\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter an Extension\",\n withBorder: true,\n },\n {\n name: \"mime_types\",\n required: false,\n label: \"Mime Types\",\n tooltip:\n 'Mime types e.g. \"text/*\",\"application/json\" or \"application/xml\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter a Mime Type\",\n withBorder: true,\n },\n ],\n api: [\n {\n name: \"requests_max\",\n required: false,\n label: \"Requests Max\",\n tooltip: \"Maximum number of concurrent requests, e.g. '1600'\",\n type: \"number\",\n placeholder: \"Enter Requests Max\",\n },\n {\n name: \"cors_allow_origin\",\n required: false,\n label: \"Cors Allow Origin\",\n tooltip: \"list of origins allowed for CORS requests\",\n type: \"csv\",\n placeholder: \"Enter allowed origin e.g. https://example.com\",\n },\n {\n name: \"replication_workers\",\n required: false,\n label: \"Replication Workers\",\n tooltip: \"Number of replication workers, defaults to 100\",\n type: \"number\",\n placeholder: \"Enter Replication Workers\",\n },\n {\n name: \"replication_failed_workers\",\n required: false,\n label: \"Replication Failed Workers\",\n tooltip:\n \"Number of replication workers for recently failed replicas, defaults to 4\",\n type: \"number\",\n placeholder: \"Enter Replication Failed Workers\",\n },\n ],\n heal: [\n {\n name: \"bitrotscan\",\n required: false,\n label: \"Bitrot Scan\",\n tooltip:\n \"Perform bitrot scan on disks when checking objects during scanner\",\n type: \"on|off\",\n },\n {\n name: \"max_sleep\",\n required: false,\n label: \"Max Sleep\",\n tooltip:\n \"Maximum sleep duration between objects to slow down heal operation. eg. 2s\",\n type: \"duration\",\n placeholder: \"Enter Max Sleep duration\",\n },\n {\n name: \"max_io\",\n required: false,\n label: \"Max IO\",\n tooltip:\n \"Maximum IO requests allowed between objects to slow down heal operation. eg. 3\",\n type: \"number\",\n placeholder: \"Enter Max IO\",\n },\n ],\n scanner: [\n {\n name: \"delay\",\n required: false,\n label: \"Delay multiplier\",\n tooltip: \"Scanner delay multiplier, defaults to '10.0'\",\n type: \"number\",\n placeholder: \"Enter Delay\",\n },\n {\n name: \"max_wait\",\n required: false,\n label: \"Max Wait\",\n tooltip: \"Maximum wait time between operations, defaults to '15s'\",\n type: \"duration\",\n placeholder: \"Enter Max Wait\",\n },\n {\n name: \"cycle\",\n required: false,\n label: \"Cycle\",\n tooltip: \"Time duration between scanner cycles, defaults to '1m'\",\n type: \"duration\",\n placeholder: \"Enter Cycle\",\n },\n ],\n etcd: [\n {\n name: \"endpoints\",\n required: true,\n label: \"Endpoints\",\n tooltip:\n 'List of etcd endpoints e.g. \"http://localhost:2379\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"path_prefix\",\n required: false,\n label: \"Path Prefix\",\n tooltip: 'namespace prefix to isolate tenants e.g. \"customer1/\"',\n type: \"string\",\n placeholder: \"Enter Path Prefix\",\n },\n {\n name: \"coredns_path\",\n required: false,\n label: \"Coredns Path\",\n tooltip: 'Shared bucket DNS records, default is \"/skydns\"',\n type: \"string\",\n placeholder: \"Enter Coredns Path\",\n },\n {\n name: \"client_cert\",\n required: false,\n label: \"Client Cert\",\n tooltip: \"Client cert for mTLS authentication\",\n type: \"string\",\n placeholder: \"Enter Client Cert\",\n },\n {\n name: \"client_cert_key\",\n required: false,\n label: \"Client Cert Key\",\n tooltip: \"Client cert key for mTLS authentication\",\n type: \"string\",\n placeholder: \"Enter Client Cert Key\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"You can add a comment to this setting\",\n type: \"comment\",\n multiline: true,\n placeholder: \"Enter Comment\",\n },\n ],\n identity_openid: [\n {\n name: \"config_url\",\n required: false,\n label: \"Config URL\",\n tooltip: \"Config URL for identity provider configuration\",\n type: \"string\",\n placeholder:\n \"https://identity-provider-url/.well-known/openid-configuration\",\n },\n {\n name: \"client_id\",\n required: false,\n label: \"Client ID\",\n type: \"string\",\n placeholder: \"Enter Client ID\",\n },\n {\n name: \"client_secret\",\n required: false,\n label: \"Secret ID\",\n type: \"string\",\n placeholder: \"Enter Secret ID\",\n },\n {\n name: \"claim_name\",\n required: false,\n label: \"Claim Name\",\n tooltip: \"Claim from which MinIO will read the policy or role to use\",\n type: \"string\",\n placeholder: \"Enter Claim Name\",\n },\n {\n name: \"claim_prefix\",\n required: false,\n label: \"Claim Prefix\",\n tooltip: \"Claim Prefix\",\n type: \"string\",\n placeholder: \"Enter Claim Prefix\",\n },\n {\n name: \"claim_userinfo\",\n required: false,\n label: \"Claim UserInfo\",\n type: \"on|off\",\n },\n {\n name: \"redirect_uri\",\n required: false,\n label: \"Redirect URI\",\n type: \"string\",\n placeholder: \"https://console-endpoint-url/oauth_callback\",\n },\n {\n name: \"scopes\",\n required: false,\n label: \"Scopes\",\n type: \"string\",\n placeholder: \"openid,profile,email\",\n },\n ],\n identity_ldap: [\n {\n name: \"server_addr\",\n required: true,\n label: \"Server Addr\",\n tooltip: 'AD/LDAP server address e.g. \"myldapserver.com:636\"',\n type: \"string\",\n placeholder: \"Enter Server Address\",\n },\n {\n name: \"username_format\",\n required: true,\n label: \"Username Format\",\n tooltip:\n 'List of username bind DNs e.g. \"uid=%s\",\"cn=accounts\",\"dc=myldapserver\" or \"dc=com\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Username Format\",\n },\n {\n name: \"username_search_filter\",\n required: true,\n label: \"Username Search Filter\",\n tooltip:\n 'User search filter, for example \"(cn=%s)\" or \"(sAMAccountName=%s)\" or \"(uid=%s)\"',\n type: \"string\",\n placeholder: \"Enter Username Search Filter\",\n },\n {\n name: \"group_search_filter\",\n required: true,\n label: \"Group Search Filter\",\n tooltip:\n 'Search filter for groups e.g. \"(&(objectclass=groupOfNames)(memberUid=%s))\"',\n type: \"string\",\n placeholder: \"Enter Group Search Filter\",\n },\n {\n name: \"username_search_base_dn\",\n required: false,\n label: \"Username Search Base DN\",\n tooltip: \"List of username search DNs, you can write one per field\",\n type: \"csv\",\n placeholder: \"Enter Username Search Base DN\",\n },\n {\n name: \"group_name_attribute\",\n required: false,\n label: \"Group Name Attribute\",\n tooltip: 'Search attribute for group name e.g. \"cn\"',\n type: \"string\",\n placeholder: \"Enter Group Name Attribute\",\n },\n {\n name: \"sts_expiry\",\n required: false,\n label: \"STS Expiry\",\n tooltip:\n 'temporary credentials validity duration in s,m,h,d. Default is \"1h\"',\n type: \"string\",\n placeholder: \"Enter STS Expiry\",\n },\n {\n name: \"tls_skip_verify\",\n required: false,\n label: \"TLS Skip Verify\",\n tooltip:\n 'Trust server TLS without verification, defaults to \"off\" (verify)',\n type: \"on|off\",\n },\n {\n name: \"server_insecure\",\n required: false,\n label: \"Server Insecure\",\n tooltip:\n 'Allow plain text connection to AD/LDAP server, defaults to \"off\"',\n type: \"on|off\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"Optionally add a comment to this setting\",\n type: \"comment\",\n placeholder: \"Enter Comment\",\n },\n ],\n logger_webhook: [\n {\n name: \"endpoint\",\n required: true,\n label: \"Endpoint\",\n type: \"string\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"auth_token\",\n required: true,\n label: \"Auth Token\",\n type: \"string\",\n placeholder: \"Enter Auth Token\",\n },\n ],\n audit_webhook: [\n {\n name: \"endpoint\",\n required: true,\n label: \"Endpoint\",\n type: \"string\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"auth_token\",\n required: true,\n label: \"Auth Token\",\n type: \"string\",\n placeholder: \"Enter Auth Token\",\n },\n ],\n};\n\nexport const removeEmptyFields = (formFields: IElementValue[]) => {\n const nonEmptyFields = formFields.filter((field) => field.value !== \"\");\n\n return nonEmptyFields;\n};\n\nexport const selectSAs = (\n e: React.ChangeEvent,\n setSelectedSAs: Function,\n selectedSAs: string[]\n) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selectedSAs]; // We clone the selectedSAs array\n if (checked) {\n // If the user has checked this field we need to push this to selectedSAs\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n setSelectedSAs(elements);\n return elements;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport useApi from \"../../../screens/Console/Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../../screens/Console/Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../icons\";\ninterface IDeleteMultiSAsProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedSAs: string[];\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\nconst DeleteMultipleSAs = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedSAs,\n setErrorSnackMessage,\n}: IDeleteMultiSAsProps) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n if (!selectedSAs) {\n return null;\n }\n const onConfirmDelete = () => {\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/service-accounts/delete-multi`,\n selectedSAs\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 the selected {selectedSAs.length}{\" \"}\n service accounts?{\" \"}\n \n }\n />\n );\n};\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(DeleteMultipleSAs);\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\ninterface userInterface {\n accessKey: string;\n}\n\ninterface policyInterface {\n name: string;\n}\n\nexport const usersSort = (a: userInterface, b: userInterface) => {\n if (a.accessKey > b.accessKey) {\n return 1;\n }\n if (a.accessKey < b.accessKey) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n\nexport const policySort = (a: policyInterface, b: policyInterface) => {\n if (a.name > b.name) {\n return 1;\n }\n if (a.name < b.name) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n\nexport const stringSort = (a: string, b: string) => {\n if (a > b) {\n return 1;\n }\n if (a < b) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\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","useStyles","makeStyles","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","onClick","disabled","tooltip","icon","restProps","size","sx","borderWidth","borderStyle","opacity","contained","background","dark","light","children","rest","button","clsx","WrappedComponent","fallback","ComponentWithSuspense","Suspense","langHighlight","json","yaml","StreamLanguage","lightTheme","EditorView","caretColor","borderLeftColor","borderRight","darkTheme","fieldBasic","inputLabel","value","label","mode","onBeforeChange","readOnly","editorHeight","useState","isDarkTheme","setIsDarkTheme","extensionList","tooltipContainer","placement","extensions","editable","basicSetup","onChange","v","vu","borderTop","justifyContent","inputStyles","inputFieldStyles","InputField","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","id","name","type","autoComplete","multiline","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputProps","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","fullWidth","helperText","inputRebase","disableFocusRipple","disableRipple","disableTouchRipple","onSuccess","onError","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","pageContentStyles","contentSpacer","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","titleText","closeContainer","closeButton","content","actions","cancelButton","confirmButton","loading","loadingPosition","startIcon","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","connect","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","marginTop","borderLeftWidth","zIndex","left","transform","transitionDuration","modalErrorShow","cursor","errorTitle","errorLabel","messageIcon","detailsButton","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","get","messageDetails","Fragment","style","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","connector","setModalSnackMessage","customDialogSize","snackBarCommon","modalOpen","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","length","Dialog","scroll","DialogTitle","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","toggleList","sidebarOpen","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","boxShadow","labelStyle","rightMenu","textAlign","logo","fill","middleComponent","direction","sm","md","component","searchField","adornment","adornmentPosition","overrideClass","disableUnderline","e","target","configurationElements","configuration_id","configuration_label","fieldsConfigurations","region","cache","compression","withBorder","heal","scanner","etcd","identity_openid","identity_ldap","logger_webhook","audit_webhook","removeEmptyFields","formFields","filter","field","selectSAs","setSelectedSAs","selectedSAs","targetD","checked","elements","push","element","setErrorSnackMessage","closeDeleteModalAndRefresh","deleteOpen","useApi","deleteLoading","invokeDeleteApi","usersSort","a","b","accessKey","policySort","stringSort"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/953.7e3f4f84.chunk.js b/portal-ui/build/static/js/953.7e3f4f84.chunk.js new file mode 100644 index 000000000..6e6e83560 --- /dev/null +++ b/portal-ui/build/static/js/953.7e3f4f84.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[953],{40953:function(e,n,t){t.r(n),t.d(n,{default:function(){return V}});var a=t(23430),i=t(18489),s=t(50390),r=t(34424),o=t(86509),l=t(4285),c=t(38342),d=t.n(c),u=t(87248),x=t.n(u),m=t(25594),f=t(98280),p=t(72462),Z=t(44149),h=t(30324),v=t(66946),j=t(81378),g=t(76352),y=t(66964),b=t(92440),_=t(65703),C=t(67754),S=t(27207),k=t(62559),N={setModalErrorSnackMessage:Z.zb},P=(0,r.$j)(null,N),F=(0,l.Z)((function(e){return(0,o.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({dateSelector:{"& div":{borderBottom:0,marginBottom:0,"& div:nth-child(2)":{border:"1px solid #EAEAEA",paddingLeft:5,"& div":{border:0}}}}},p.bK),p.ID),p.DF),p.QV))}))(P((function(e){var n=e.classes,t=e.closeModalAndRefresh,r=e.selectedBucket,o=e.lifecycle,l=e.open,c=e.setModalErrorSnackMessage,u=(0,s.useState)(!0),x=(0,a.Z)(u,2),p=x[0],Z=x[1],N=(0,s.useState)(!1),P=(0,a.Z)(N,2),F=P[0],E=P[1],I=(0,s.useState)(""),T=(0,a.Z)(I,2),R=T[0],L=T[1],w=(0,s.useState)(!1),M=(0,a.Z)(w,2),O=M[0],D=M[1],A=(0,s.useState)([]),B=(0,a.Z)(A,2),G=B[0],K=B[1],V=(0,s.useState)(""),H=(0,a.Z)(V,2),U=H[0],Y=H[1],z=(0,s.useState)(""),q=(0,a.Z)(z,2),Q=q[0],W=q[1],$=(0,s.useState)(""),J=(0,a.Z)($,2),X=J[0],ee=J[1],ne=(0,s.useState)(!1),te=(0,a.Z)(ne,2),ae=te[0],ie=te[1],se=(0,s.useState)("0"),re=(0,a.Z)(se,2),oe=re[0],le=re[1],ce=(0,s.useState)("0"),de=(0,a.Z)(ce,2),ue=de[0],xe=de[1],me=(0,s.useState)("expiry"),fe=(0,a.Z)(me,2),pe=fe[0],Ze=fe[1],he=(0,s.useState)("0"),ve=(0,a.Z)(he,2),je=ve[0],ge=ve[1],ye=(0,s.useState)("0"),be=(0,a.Z)(ye,2),_e=be[0],Ce=be[1],Se=(0,s.useState)(!1),ke=(0,a.Z)(Se,2),Ne=ke[0],Pe=ke[1];(0,s.useEffect)((function(){p&&h.Z.invoke("GET","/api/v1/admin/tiers").then((function(e){var n=d()(e,"items",[]);if(null!==n&&n.length>=1){var t=n.map((function(e){var n=e.type,t=d()(e,"".concat(n,".name"),"");return{label:t,value:t}}));K(t),t.length>0&&W(t[0].value)}Z(!1)})).catch((function(e){Z(!1)}))}),[p]),(0,s.useEffect)((function(){var e=!0;"expiry"!==pe&&""===Q&&(e=!1),Pe(e)}),[pe,je,_e,Q]),(0,s.useEffect)((function(){var e;"Enabled"===o.status&&D(!0);var n,t,a,i,s,r,l=!1;(o.transition&&(o.transition.days&&0!==o.transition.days&&(Ce(o.transition.days.toString()),Ze("transition"),l=!0),o.transition.date&&"0001-01-01T00:00:00Z"!==o.transition.date&&(Ze("transition"),l=!0)),o.expiration&&(o.expiration.days&&0!==o.expiration.days&&(ge(o.expiration.days.toString()),Ze("expiry"),l=!1),o.expiration.date&&"0001-01-01T00:00:00Z"!==o.expiration.date&&(Ze("expiry"),l=!1)),l)?(W((null===(n=o.transition)||void 0===n?void 0:n.storage_class)||""),xe((null===(t=o.transition)||void 0===t||null===(a=t.noncurrent_transition_days)||void 0===a?void 0:a.toString())||"0"),ee((null===(i=o.transition)||void 0===i?void 0:i.noncurrent_storage_class)||"")):le((null===(s=o.expiration)||void 0===s||null===(r=s.noncurrent_expiration_days)||void 0===r?void 0:r.toString())||"0");if(ie(!(null===(e=o.expiration)||void 0===e||!e.delete_marker)),Y(o.prefix||""),o.tags){var c=o.tags.reduce((function(e,n,t){return"".concat(e).concat(0!==t?"&":"").concat(n.key,"=").concat(n.value)}),"");L(c)}}),[o]);return(0,k.jsx)(g.Z,{onClose:function(){t(!1)},modalOpen:l,title:"Edit Lifecycle Configuration",titleIcon:(0,k.jsx)(f.QI,{}),children:(0,k.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){if(e.preventDefault(),!F&&(E(!0),null!==r&&null!==o)){var n={};if("expiry"===pe){var a={expiry_days:parseInt(je)};n=(0,i.Z)((0,i.Z)({},a),{},{noncurrentversion_expiration_days:parseInt(oe)})}else{var s={transition_days:parseInt(_e)};n=(0,i.Z)((0,i.Z)({},s),{},{noncurrentversion_transition_days:parseInt(ue),noncurrentversion_transition_storage_class:X,storage_class:Q})}var l=(0,i.Z)({type:pe,disable:!O,prefix:U,tags:R,expired_object_delete_marker:ae},n);h.Z.invoke("PUT","/api/v1/buckets/".concat(r,"/lifecycle/").concat(o.id),l).then((function(e){E(!1),t(!0)})).catch((function(e){E(!1),c(e)}))}}(e)},children:(0,k.jsxs)(m.ZP,{container:!0,children:[(0,k.jsxs)(m.ZP,{item:!0,xs:12,className:n.formScrollable,children:[(0,k.jsx)(m.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,k.jsx)(y.Z,{id:"id",name:"id",label:"Id",value:o.id,onChange:function(){},disabled:!0})}),(0,k.jsx)(m.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,k.jsx)(b.Z,{label:"Rule State",indicatorLabels:["Enabled","Disabled"],checked:O,value:"user_enabled",id:"user-status",name:"user-status",onChange:function(e){D(e.target.checked)}})}),(0,k.jsx)(m.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,k.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,k.jsx)("legend",{className:n.descriptionText,children:"Lifecycle Configuration"}),(0,k.jsx)(m.ZP,{item:!0,xs:12,children:(0,k.jsx)(S.Z,{currentSelection:pe,id:"quota_type",name:"quota_type",label:"ILM Rule",selectorOptions:[{value:"expiry",label:"Expiry"},{value:"transition",label:"Transition"}],onChange:function(){},disableOptions:!0})}),"expiry"===pe?(0,k.jsxs)(s.Fragment,{children:[(0,k.jsx)(m.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,k.jsx)(y.Z,{type:"number",id:"expiry_days",name:"expiry_days",onChange:function(e){ge(e.target.value)},label:"Expiry Days",value:je,min:"0"})}),(0,k.jsx)(m.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,k.jsx)(y.Z,{type:"number",id:"noncurrentversion_expiration_days",name:"noncurrentversion_expiration_days",onChange:function(e){le(e.target.value)},label:"Non-current Expiration Days",value:oe,min:"0"})})]}):(0,k.jsxs)(s.Fragment,{children:[(0,k.jsx)(m.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,k.jsx)(y.Z,{type:"number",id:"transition_days",name:"transition_days",onChange:function(e){Ce(e.target.value)},label:"Transition Days",value:_e,min:"0"})}),(0,k.jsx)(m.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,k.jsx)(y.Z,{type:"number",id:"noncurrentversion_transition_days",name:"noncurrentversion_transition_days",onChange:function(e){xe(e.target.value)},label:"Non-current Transition Days",value:ue,min:"0"})}),(0,k.jsx)(m.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,k.jsx)(y.Z,{id:"noncurrentversion_t_SC",name:"noncurrentversion_t_SC",onChange:function(e){ee(e.target.value)},placeholder:"Set Non-current Version Transition Storage Class",label:"Non-current Version Transition Storage Class",value:X})}),(0,k.jsx)(m.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,k.jsx)(C.Z,{label:"Storage Class",id:"storage_class",name:"storage_class",value:Q,onChange:function(e){W(e.target.value)},options:G})})]})]})}),(0,k.jsx)(m.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,k.jsxs)("fieldset",{className:n.fieldGroup,children:[(0,k.jsx)("legend",{className:n.descriptionText,children:"File Configuration"}),(0,k.jsx)(m.ZP,{item:!0,xs:12,children:(0,k.jsx)(y.Z,{id:"prefix",name:"prefix",onChange:function(e){Y(e.target.value)},label:"Prefix",value:U})}),(0,k.jsx)(m.ZP,{item:!0,xs:12,children:(0,k.jsx)(_.Z,{name:"tags",label:"Tags",elements:R,onChange:function(e){L(e)},keyPlaceholder:"Tag Key",valuePlaceholder:"Tag Value",withBorder:!0})}),(0,k.jsx)(m.ZP,{item:!0,xs:12,children:(0,k.jsx)(b.Z,{value:"expired_delete_marker",id:"expired_delete_marker",name:"expired_delete_marker",checked:ae,onChange:function(e){ie(e.target.checked)},label:"Expired Object Delete Marker"})})]})})]}),(0,k.jsxs)(m.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,k.jsx)(v.Z,{type:"button",variant:"outlined",color:"primary",disabled:F,onClick:function(){t(!1)},children:"Cancel"}),(0,k.jsx)(v.Z,{type:"submit",variant:"contained",color:"primary",disabled:F||!Ne,children:"Save"})]}),F&&(0,k.jsx)(m.ZP,{item:!0,xs:12,children:(0,k.jsx)(j.Z,{})})]})})})}))),E=(0,r.$j)(null,{setModalErrorSnackMessage:Z.zb}),I=(0,l.Z)((function(e){return(0,o.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({dateSelector:{"& div":{borderBottom:0,marginBottom:0,"& div:nth-child(2)":{border:"1px solid #EAEAEA",paddingLeft:5,"& div":{border:0}}}}},p.bK),p.ID),p.DF),p.QV))}))(E((function(e){var n=e.open,t=e.closeModalAndRefresh,r=e.classes,o=e.bucketName,l=e.setModalErrorSnackMessage,c=(0,s.useState)(!0),u=(0,a.Z)(c,2),x=u[0],p=u[1],Z=(0,s.useState)([]),N=(0,a.Z)(Z,2),P=N[0],F=N[1],E=(0,s.useState)(!1),I=(0,a.Z)(E,2),T=I[0],R=I[1],L=(0,s.useState)(""),w=(0,a.Z)(L,2),M=w[0],O=w[1],D=(0,s.useState)(""),A=(0,a.Z)(D,2),B=A[0],G=A[1],K=(0,s.useState)(""),V=(0,a.Z)(K,2),H=V[0],U=V[1],Y=(0,s.useState)(""),z=(0,a.Z)(Y,2),q=z[0],Q=z[1],W=(0,s.useState)(!1),$=(0,a.Z)(W,2),J=$[0],X=$[1],ee=(0,s.useState)("0"),ne=(0,a.Z)(ee,2),te=ne[0],ae=ne[1],ie=(0,s.useState)("0"),se=(0,a.Z)(ie,2),re=se[0],oe=se[1],le=(0,s.useState)("expiry"),ce=(0,a.Z)(le,2),de=ce[0],ue=ce[1],xe=(0,s.useState)("0"),me=(0,a.Z)(xe,2),fe=me[0],pe=me[1],Ze=(0,s.useState)("0"),he=(0,a.Z)(Ze,2),ve=he[0],je=he[1],ge=(0,s.useState)(!1),ye=(0,a.Z)(ge,2),be=ye[0],_e=ye[1];(0,s.useEffect)((function(){x&&h.Z.invoke("GET","/api/v1/admin/tiers").then((function(e){var n=d()(e,"items",[]);if(null!==n&&n.length>=1){var t=n.map((function(e){var n=e.type,t=d()(e,"".concat(n,".name"),"");return{label:t,value:t}}));F(t),t.length>0&&U(t[0].value)}p(!1)})).catch((function(e){p(!1)}))}),[x]),(0,s.useEffect)((function(){var e=!0;"expiry"!==de&&""===H&&(e=!1),_e(e)}),[de,fe,ve,H]);return(0,k.jsxs)(g.Z,{modalOpen:n,onClose:function(){t(!1)},title:"Add Lifecycle Rule",titleIcon:(0,k.jsx)(f.QI,{}),children:[x&&(0,k.jsx)(m.ZP,{container:!0,className:r.loadingBox,children:(0,k.jsx)(m.ZP,{item:!0,xs:12,children:(0,k.jsx)(j.Z,{})})}),!x&&(0,k.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),R(!0),function(){var e={};if("expiry"===de){var n={expiry_days:parseInt(fe)};e=(0,i.Z)((0,i.Z)({},n),{},{noncurrentversion_expiration_days:parseInt(te)})}else{var a={transition_days:parseInt(ve)};e=(0,i.Z)((0,i.Z)({},a),{},{noncurrentversion_transition_days:parseInt(re),noncurrentversion_transition_storage_class:q,storage_class:H})}var s=(0,i.Z)({type:de,prefix:M,tags:B,expired_object_delete_marker:J},e);h.Z.invoke("POST","/api/v1/buckets/".concat(o,"/lifecycle"),s).then((function(){R(!1),t(!0)})).catch((function(e){R(!1),l(e)}))}()},children:(0,k.jsxs)(m.ZP,{container:!0,children:[(0,k.jsxs)(m.ZP,{item:!0,xs:12,className:r.formScrollable,children:[(0,k.jsx)(m.ZP,{item:!0,xs:12,className:r.formFieldRow,children:(0,k.jsxs)("fieldset",{className:r.fieldGroup,children:[(0,k.jsx)("legend",{className:r.descriptionText,children:"Lifecycle Configuration"}),(0,k.jsx)(m.ZP,{item:!0,xs:12,children:(0,k.jsx)(S.Z,{currentSelection:de,id:"quota_type",name:"quota_type",label:"ILM Rule",onChange:function(e){ue(e.target.value)},selectorOptions:[{value:"expiry",label:"Expiry"},{value:"transition",label:"Transition"}]})}),"expiry"===de?(0,k.jsxs)(s.Fragment,{children:[(0,k.jsx)(m.ZP,{item:!0,xs:12,className:r.formFieldRow,children:(0,k.jsx)(y.Z,{type:"number",id:"expiry_days",name:"expiry_days",onChange:function(e){pe(e.target.value)},label:"Expiry Days",value:fe,min:"0"})}),(0,k.jsx)(m.ZP,{item:!0,xs:12,className:r.formFieldRow,children:(0,k.jsx)(y.Z,{type:"number",id:"noncurrentversion_expiration_days",name:"noncurrentversion_expiration_days",onChange:function(e){ae(e.target.value)},label:"Non-current Expiration Days",value:te,min:"0"})})]}):(0,k.jsxs)(s.Fragment,{children:[(0,k.jsx)(m.ZP,{item:!0,xs:12,className:r.formFieldRow,children:(0,k.jsx)(y.Z,{type:"number",id:"transition_days",name:"transition_days",onChange:function(e){je(e.target.value)},label:"Transition Days",value:ve,min:"0"})}),(0,k.jsx)(m.ZP,{item:!0,xs:12,className:r.formFieldRow,children:(0,k.jsx)(y.Z,{type:"number",id:"noncurrentversion_transition_days",name:"noncurrentversion_transition_days",onChange:function(e){oe(e.target.value)},label:"Non-current Transition Days",value:re,min:"0"})}),(0,k.jsx)(m.ZP,{item:!0,xs:12,className:r.formFieldRow,children:(0,k.jsx)(y.Z,{id:"noncurrentversion_t_SC",name:"noncurrentversion_t_SC",onChange:function(e){Q(e.target.value)},placeholder:"Set Non-current Version Transition Storage Class",label:"Non-current Version Transition Storage Class",value:q})}),(0,k.jsx)(m.ZP,{item:!0,xs:12,className:r.formFieldRow,children:(0,k.jsx)(C.Z,{label:"Storage Class",id:"storage_class",name:"storage_class",value:H,onChange:function(e){U(e.target.value)},options:P})})]})]})}),(0,k.jsx)(m.ZP,{item:!0,xs:12,className:r.formFieldRow,children:(0,k.jsxs)("fieldset",{className:r.fieldGroup,children:[(0,k.jsx)("legend",{className:r.descriptionText,children:"File Configuration"}),(0,k.jsx)(m.ZP,{item:!0,xs:12,children:(0,k.jsx)(y.Z,{id:"prefix",name:"prefix",onChange:function(e){O(e.target.value)},label:"Prefix",value:M})}),(0,k.jsx)(m.ZP,{item:!0,xs:12,children:(0,k.jsx)(_.Z,{name:"tags",label:"Tags",elements:"",onChange:function(e){G(e)},keyPlaceholder:"Tag Key",valuePlaceholder:"Tag Value",withBorder:!0})}),(0,k.jsx)(m.ZP,{item:!0,xs:12,children:(0,k.jsx)(b.Z,{value:"expired_delete_marker",id:"expired_delete_marker",name:"expired_delete_marker",checked:J,onChange:function(e){X(e.target.checked)},label:"Expired Object Delete Marker"})})]})})]}),(0,k.jsxs)(m.ZP,{item:!0,xs:12,className:r.modalButtonBar,children:[(0,k.jsx)(v.Z,{type:"button",variant:"outlined",color:"primary",disabled:T,onClick:function(){t(!1)},children:"Cancel"}),(0,k.jsx)(v.Z,{type:"submit",variant:"contained",color:"primary",disabled:T||!be,children:"Save"})]}),T&&(0,k.jsx)(m.ZP,{item:!0,xs:12,children:(0,k.jsx)(j.Z,{})})]})})]})}))),T=t(17777),R=t(8235),L=t(48122),w=t(15607),M=t(49495),O=t(53224),D=t(23473),A=t(60656),B=(0,r.$j)(null,{setErrorSnackMessage:Z.Ih}),G=(0,l.Z)((function(e){return(0,o.Z)((0,i.Z)({},p.oO))}))(B((function(e){var n=e.onCloseAndRefresh,t=e.deleteOpen,i=e.bucket,r=e.id,o=e.setErrorSnackMessage,l=(0,s.useState)(!1),c=(0,a.Z)(l,2),d=c[0],u=c[1];(0,s.useEffect)((function(){d&&h.Z.invoke("DELETE","/api/v1/buckets/".concat(i,"/lifecycle/").concat(r)).then((function(e){u(!1),n(!0)})).catch((function(e){u(!1),o(e)}))}),[d,i,r,n,o]);return(0,k.jsx)(A.Z,{title:"Delete Lifecycle Rule",confirmText:"Delete",isOpen:t,isLoading:d,onConfirm:function(){u(!0)},titleIcon:(0,k.jsx)(f.Nv,{}),onClose:function(){return n(!1)},confirmationContent:(0,k.jsxs)(D.Z,{children:["Are you sure you want to delete the ",(0,k.jsx)("strong",{children:r})," rule?"]})})}))),K=(0,r.$j)((function(e){return{session:e.console.session,loadingBucket:e.buckets.bucketDetails.loadingBucket,bucketInfo:e.buckets.bucketDetails.bucketInfo}}),{setErrorSnackMessage:Z.Ih}),V=(0,l.Z)((function(e){return(0,o.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},p.qg),p.OR),{},{twHeight:{minHeight:400}}))}))(K((function(e){var n=e.classes,t=e.match,i=(e.setErrorSnackMessage,e.loadingBucket),r=(e.bucketInfo,(0,s.useState)(!0)),o=(0,a.Z)(r,2),l=o[0],c=o[1],u=(0,s.useState)([]),p=(0,a.Z)(u,2),Z=p[0],v=p[1],j=(0,s.useState)(!1),g=(0,a.Z)(j,2),y=g[0],b=g[1],_=(0,s.useState)(!1),C=(0,a.Z)(_,2),S=C[0],N=C[1],P=(0,s.useState)(null),E=(0,a.Z)(P,2),D=E[0],A=E[1],B=(0,s.useState)(!1),K=(0,a.Z)(B,2),V=K[0],H=K[1],U=(0,s.useState)(null),Y=(0,a.Z)(U,2),z=Y[0],q=Y[1],Q=t.params.bucketName,W=(0,w.F)(Q,[M.Ft.S3_GET_LIFECYCLE_CONFIGURATION]);(0,s.useEffect)((function(){i&&c(!0)}),[i,c]),(0,s.useEffect)((function(){l&&(W?h.Z.invoke("GET","/api/v1/buckets/".concat(Q,"/lifecycle")).then((function(e){var n=d()(e,"lifecycle",[]);v(n||[]),c(!1)})).catch((function(e){console.error(e),v([]),c(!1)})):c(!1))}),[l,c,Q,W]);var $=[{label:"ID",elementKey:"id"},{label:"Prefix",elementKey:"prefix"},{label:"Status",elementKey:"status"},{label:"Expiration",elementKey:"expiration",renderFunction:function(e){return e.days?"".concat(e.days," day").concat(e.days>1?"s":""):"0001-01-01T00:00:00Z"===e.date?"":(0,k.jsx)(x(),{children:e.date})}},{label:"Transition",elementKey:"transition",renderFunction:function(e){return e.days?"".concat(e.days," day").concat(e.days>1?"s":""):"0001-01-01T00:00:00Z"===e.date?"":(0,k.jsx)(x(),{children:e.date})}},{label:"Storage Class",elementKey:"storage_class",renderFunction:function(e){return d()(e,"transition.storage_class","")},renderFullObject:!0}],J=[{type:"view",onClick:function(e){A(e),N(!0)}},{type:"delete",onClick:function(e){q(e),H(!0)},sendOnlyId:!0}];return(0,k.jsxs)(s.Fragment,{children:[S&&D&&(0,k.jsx)(F,{open:S,closeModalAndRefresh:function(e){N(!1),A(null),e&&c(!0)},selectedBucket:Q,lifecycle:D}),y&&(0,k.jsx)(I,{open:y,bucketName:Q,closeModalAndRefresh:function(e){b(!1),e&&c(!0)}}),V&&z&&(0,k.jsx)(G,{id:z,bucket:Q,deleteOpen:V,onCloseAndRefresh:function(e){H(!1),q(null),e&&c(!0)}}),(0,k.jsxs)(m.ZP,{container:!0,children:[(0,k.jsxs)(m.ZP,{item:!0,xs:12,className:n.actionsTray,children:[(0,k.jsx)(L.Z,{children:"Lifecycle Rules"}),(0,k.jsx)(w.Z,{scopes:[M.Ft.S3_PUT_LIFECYCLE_CONFIGURATION,M.Ft.ADMIN_LIST_TIERS],resource:Q,matchAll:!0,errorProps:{disabled:!0},children:(0,k.jsx)(O.Z,{tooltip:"Add Lifecycle Rule",onClick:function(){b(!0)},text:"Add Lifecycle Rule",icon:(0,k.jsx)(f.dt,{}),color:"primary",variant:"contained"})})]}),(0,k.jsx)(m.ZP,{item:!0,xs:12,children:(0,k.jsx)(w.Z,{scopes:[M.Ft.S3_GET_LIFECYCLE_CONFIGURATION],resource:Q,errorProps:{disabled:!0},children:(0,k.jsx)(T.Z,{itemActions:J,columns:$,isLoading:l,records:Z,entityName:"Lifecycle",customEmptyMessage:"There are no Lifecycle rules yet",idField:"id",customPaperHeight:n.twHeight})})}),!l&&(0,k.jsx)(m.ZP,{item:!0,xs:12,children:(0,k.jsx)(R.Z,{title:"Lifecycle Rules",iconComponent:(0,k.jsx)(f.y2,{}),help:(0,k.jsxs)(s.Fragment,{children:["MinIO Object Lifecycle Management allows creating rules for time or date based automatic transition or expiry of objects. For object transition, MinIO automatically moves the object to a configured remote storage tier.",(0,k.jsx)("br",{}),(0,k.jsx)("br",{}),"You can learn more at our"," ",(0,k.jsx)("a",{href:"https://docs.min.io/minio/baremetal/lifecycle-management/lifecycle-management-overview.html?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})})]})]})})))},27207:function(e,n,t){var a=t(36222),i=t(18489),s=(t(50390),t(44977)),r=t(25594),o=t(82420),l=t(66695),c=t(98893),d=t(36554),u=t(94187),x=t(86509),m=t(4285),f=t(62449),p=t(72462),Z=t(97538),h=t(62559),v=(0,f.Z)((0,i.Z)({root:{"&:hover":{backgroundColor:"transparent"}}},p.FU)),j=function(e){var n=v();return(0,h.jsx)(c.Z,(0,i.Z)({className:n.root,disableRipple:!0,color:"default",checkedIcon:(0,h.jsx)("span",{className:n.radioSelectedIcon}),icon:(0,h.jsx)("span",{className:n.radioUnselectedIcon})},e))};n.Z=(0,m.Z)((function(e){return(0,x.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},p.YI),p.Hr),{},{optionLabel:{"&.Mui-disabled":{"& .MuiFormControlLabel-label":{color:"#9c9c9c"}},"&:last-child":{marginRight:0},"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E"}},checkedOption:{"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E",fontWeight:700}}}))}))((function(e){var n=e.selectorOptions,t=void 0===n?[]:n,i=e.currentSelection,c=e.label,x=e.id,m=e.name,f=e.onChange,p=e.tooltip,v=void 0===p?"":p,g=e.disableOptions,y=void 0!==g&&g,b=e.classes,_=e.displayInColumn,C=void 0!==_&&_;return(0,h.jsxs)(r.ZP,{container:!0,alignItems:"center",children:[(0,h.jsx)(r.ZP,{item:!0,xs:!0,children:(0,h.jsxs)(d.Z,{htmlFor:x,className:b.inputLabel,children:[(0,h.jsx)("span",{children:c}),""!==v&&(0,h.jsx)("div",{className:b.tooltipContainer,children:(0,h.jsx)(u.Z,{title:v,placement:"top-start",children:(0,h.jsx)("div",{children:(0,h.jsx)(Z.Z,{})})})})]})}),(0,h.jsx)(r.ZP,{item:!0,xs:!0,className:b.radioOptionsLayout,children:(0,h.jsx)(o.Z,{"aria-label":x,id:x,name:m,value:i,onChange:f,row:!C,style:{display:"block",textAlign:"right"},children:t.map((function(e){return(0,h.jsx)(l.Z,{value:e.value,control:(0,h.jsx)(j,{}),label:e.label,disabled:y,className:(0,s.Z)(b.optionLabel,(0,a.Z)({},b.checkedOption,e.value===i))},"rd-".concat(m,"-").concat(e.value))}))})})]})}))},67754:function(e,n,t){var a=t(18489),i=t(50390),s=t(25594),r=t(46413),o=t(36554),l=t(94187),c=t(47554),d=t(43965),u=t(31680),x=t(86509),m=t(4285),f=t(72462),p=t(97538),Z=t(62559),h=(0,m.Z)((function(e){return(0,x.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(r.ZP);n.Z=(0,m.Z)((function(e){return(0,x.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},f.YI),f.Hr),{},{inputLabel:(0,a.Z)((0,a.Z)({},f.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var n=e.classes,t=e.id,a=e.name,r=e.onChange,x=e.options,m=e.label,f=e.tooltip,v=void 0===f?"":f,j=e.value,g=e.disabled,y=void 0!==g&&g;return(0,Z.jsx)(i.Fragment,{children:(0,Z.jsxs)(s.ZP,{item:!0,xs:12,className:n.fieldContainer,children:[""!==m&&(0,Z.jsxs)(o.Z,{htmlFor:t,className:n.inputLabel,children:[(0,Z.jsx)("span",{children:m}),""!==v&&(0,Z.jsx)("div",{className:n.tooltipContainer,children:(0,Z.jsx)(l.Z,{title:v,placement:"top-start",children:(0,Z.jsx)("div",{className:n.tooltip,children:(0,Z.jsx)(p.Z,{})})})})]}),(0,Z.jsx)(c.Z,{fullWidth:!0,children:(0,Z.jsx)(d.Z,{id:t,name:a,value:j,onChange:r,input:(0,Z.jsx)(h,{}),disabled:y,children:x.map((function(e){return(0,Z.jsx)(u.Z,{value:e.value,children:e.label},"select-".concat(a,"-").concat(e.label))}))})})]})})}))},60656:function(e,n,t){var a=t(18489),i=t(50390),s=t(84402),r=t(78426),o=t(93085),l=t(7887),c=t(66946),d=t(14476),u=t(95467),x=t(21278),m=t(86509),f=t(4285),p=t(72462),Z=t(62559);n.Z=(0,f.Z)((function(e){return(0,m.Z)((0,a.Z)({},p.Qw))}))((function(e){var n=e.isOpen,t=void 0!==n&&n,m=e.onClose,f=e.onCancel,p=e.onConfirm,h=e.classes,v=void 0===h?{}:h,j=e.title,g=void 0===j?"":j,y=e.isLoading,b=e.confirmationContent,_=e.cancelText,C=void 0===_?"Cancel":_,S=e.confirmText,k=void 0===S?"Confirm":S,N=e.confirmButtonProps,P=void 0===N?{}:N,F=e.cancelButtonProps,E=void 0===F?{}:F,I=e.titleIcon,T=void 0===I?null:I;return(0,Z.jsxs)(s.Z,{open:t,onClose:function(e,n){"backdropClick"!==n&&m()},className:v.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,Z.jsxs)(r.Z,{className:v.title,children:[(0,Z.jsxs)("div",{className:v.titleText,children:[T," ",g]}),(0,Z.jsx)("div",{className:v.closeContainer,children:(0,Z.jsx)(u.Z,{"aria-label":"close",className:v.closeButton,onClick:m,disableRipple:!0,size:"small",children:(0,Z.jsx)(x.Z,{})})})]}),(0,Z.jsx)(o.Z,{className:v.content,children:b}),(0,Z.jsxs)(l.Z,{className:v.actions,children:[(0,Z.jsx)(c.Z,(0,a.Z)((0,a.Z)({className:v.cancelButton,onClick:f||m,disabled:y,type:"button"},E),{},{variant:"outlined",color:"primary",children:C})),(0,Z.jsx)(d.Z,(0,a.Z)((0,a.Z)({className:v.confirmButton,type:"button",onClick:p,loading:y,disabled:y,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,Z.jsx)(i.Fragment,{}),autoFocus:!0},P),{},{children:k}))]})]})}))}}]); +//# sourceMappingURL=953.7e3f4f84.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/953.7e3f4f84.chunk.js.map b/portal-ui/build/static/js/953.7e3f4f84.chunk.js.map new file mode 100644 index 000000000..338703179 --- /dev/null +++ b/portal-ui/build/static/js/953.7e3f4f84.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/953.7e3f4f84.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/EditLifecycleConfiguration.tsx","screens/Console/Buckets/BucketDetails/AddLifecycleModal.tsx","screens/Console/Buckets/BucketDetails/DeleteBucketLifecycleRule.tsx","screens/Console/Buckets/BucketDetails/BucketLifecyclePanel.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Button, LinearProgress, SelectChangeEvent } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { LifeCycleItem } from \"../types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport { LifecycleConfigIcon } from \"../../../../icons\";\nimport { ITiersDropDown } from \"./AddLifecycleModal\";\nimport {\n ITierElement,\n ITierResponse,\n} from \"../../Configurations/TiersConfiguration/types\";\nimport api from \"../../../../common/api\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport QueryMultiSelector from \"../../Common/FormComponents/QueryMultiSelector/QueryMultiSelector\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\n\nconst styles = (theme: Theme) =>\n createStyles({\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 ...spacingUtils,\n ...modalStyleUtils,\n ...formFieldStyles,\n ...createTenantCommon,\n });\n\ninterface IAddUserContentProps {\n classes: any;\n closeModalAndRefresh: (reload: boolean) => void;\n selectedBucket: string;\n lifecycle: LifeCycleItem;\n open: boolean;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst EditLifecycleConfiguration = ({\n classes,\n closeModalAndRefresh,\n selectedBucket,\n lifecycle,\n open,\n setModalErrorSnackMessage,\n}: IAddUserContentProps) => {\n const [loadingTiers, setLoadingTiers] = useState(true);\n const [addLoading, setAddLoading] = useState(false);\n const [tags, setTags] = useState(\"\");\n const [enabled, setEnabled] = useState(false);\n const [tiersList, setTiersList] = useState([]);\n const [prefix, setPrefix] = useState(\"\");\n const [storageClass, setStorageClass] = useState(\"\");\n const [NCTransitionSC, setNCTransitionSC] = useState(\"\");\n const [expiredObjectDM, setExpiredObjectDM] = useState(false);\n const [NCExpirationDays, setNCExpirationDays] = useState(\"0\");\n const [NCTransitionDays, setNCTransitionDays] = useState(\"0\");\n const [ilmType, setIlmType] = useState(\"expiry\");\n const [expiryDays, setExpiryDays] = useState(\"0\");\n const [transitionDays, setTransitionDays] = useState(\"0\");\n const [isFormValid, setIsFormValid] = useState(false);\n\n useEffect(() => {\n if (loadingTiers) {\n api\n .invoke(\"GET\", `/api/v1/admin/tiers`)\n .then((res: ITierResponse) => {\n const tiersList: ITierElement[] | null = get(res, \"items\", []);\n\n if (tiersList !== null && tiersList.length >= 1) {\n const objList = tiersList.map((tier: ITierElement) => {\n const tierType = tier.type;\n const value = get(tier, `${tierType}.name`, \"\");\n\n return { label: value, value: value };\n });\n\n setTiersList(objList);\n if (objList.length > 0) {\n setStorageClass(objList[0].value);\n }\n }\n setLoadingTiers(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingTiers(false);\n });\n }\n }, [loadingTiers]);\n\n useEffect(() => {\n let valid = true;\n\n if (ilmType !== \"expiry\") {\n if (storageClass === \"\") {\n valid = false;\n }\n }\n setIsFormValid(valid);\n }, [ilmType, expiryDays, transitionDays, storageClass]);\n\n useEffect(() => {\n if (lifecycle.status === \"Enabled\") {\n setEnabled(true);\n }\n\n let transitionMode = false;\n\n if (lifecycle.transition) {\n if (lifecycle.transition.days && lifecycle.transition.days !== 0) {\n setTransitionDays(lifecycle.transition.days.toString());\n setIlmType(\"transition\");\n transitionMode = true;\n }\n\n // Fallback to old rules by date\n if (\n lifecycle.transition.date &&\n lifecycle.transition.date !== \"0001-01-01T00:00:00Z\"\n ) {\n setIlmType(\"transition\");\n transitionMode = true;\n }\n }\n\n if (lifecycle.expiration) {\n if (lifecycle.expiration.days && lifecycle.expiration.days !== 0) {\n setExpiryDays(lifecycle.expiration.days.toString());\n setIlmType(\"expiry\");\n transitionMode = false;\n }\n\n // Fallback to old rules by date\n if (\n lifecycle.expiration.date &&\n lifecycle.expiration.date !== \"0001-01-01T00:00:00Z\"\n ) {\n setIlmType(\"expiry\");\n transitionMode = false;\n }\n }\n\n // Transition fields\n if (transitionMode) {\n setStorageClass(lifecycle.transition?.storage_class || \"\");\n setNCTransitionDays(\n lifecycle.transition?.noncurrent_transition_days?.toString() || \"0\"\n );\n setNCTransitionSC(lifecycle.transition?.noncurrent_storage_class || \"\");\n } else {\n // Expiry fields\n setNCExpirationDays(\n lifecycle.expiration?.noncurrent_expiration_days?.toString() || \"0\"\n );\n }\n\n setExpiredObjectDM(!!lifecycle.expiration?.delete_marker);\n setPrefix(lifecycle.prefix || \"\");\n\n if (lifecycle.tags) {\n const tgs = lifecycle.tags.reduce(\n (stringLab: string, currItem: any, index: number) => {\n return `${stringLab}${index !== 0 ? \"&\" : \"\"}${currItem.key}=${\n currItem.value\n }`;\n },\n \"\"\n );\n\n setTags(tgs);\n }\n }, [lifecycle]);\n\n const saveRecord = (event: React.FormEvent) => {\n event.preventDefault();\n\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n if (selectedBucket !== null && lifecycle !== null) {\n let rules = {};\n\n if (ilmType === \"expiry\") {\n let expiry = {\n expiry_days: parseInt(expiryDays),\n };\n\n rules = {\n ...expiry,\n noncurrentversion_expiration_days: parseInt(NCExpirationDays),\n };\n } else {\n let transition = {\n transition_days: parseInt(transitionDays),\n };\n\n rules = {\n ...transition,\n noncurrentversion_transition_days: parseInt(NCTransitionDays),\n noncurrentversion_transition_storage_class: NCTransitionSC,\n storage_class: storageClass,\n };\n }\n\n const lifecycleUpdate = {\n type: ilmType,\n disable: !enabled,\n prefix,\n tags,\n expired_object_delete_marker: expiredObjectDM,\n ...rules,\n };\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${selectedBucket}/lifecycle/${lifecycle.id}`,\n lifecycleUpdate\n )\n .then((res) => {\n setAddLoading(false);\n closeModalAndRefresh(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n }\n };\n\n return (\n {\n closeModalAndRefresh(false);\n }}\n modalOpen={open}\n title={\"Edit Lifecycle Configuration\"}\n titleIcon={}\n >\n ) => {\n saveRecord(e);\n }}\n >\n \n \n \n {}}\n disabled\n />\n \n \n {\n setEnabled(e.target.checked);\n }}\n />\n \n \n
\n \n Lifecycle Configuration\n \n\n \n {}}\n disableOptions\n />\n \n {ilmType === \"expiry\" ? (\n \n \n ) => {\n setExpiryDays(e.target.value);\n }}\n label=\"Expiry Days\"\n value={expiryDays}\n min=\"0\"\n />\n \n\n \n ) => {\n setNCExpirationDays(e.target.value);\n }}\n label=\"Non-current Expiration Days\"\n value={NCExpirationDays}\n min=\"0\"\n />\n \n \n ) : (\n \n \n ) => {\n setTransitionDays(e.target.value);\n }}\n label=\"Transition Days\"\n value={transitionDays}\n min=\"0\"\n />\n \n \n ) => {\n setNCTransitionDays(e.target.value);\n }}\n label=\"Non-current Transition Days\"\n value={NCTransitionDays}\n min=\"0\"\n />\n \n \n ) => {\n setNCTransitionSC(e.target.value);\n }}\n placeholder=\"Set Non-current Version Transition Storage Class\"\n label=\"Non-current Version Transition Storage Class\"\n value={NCTransitionSC}\n />\n \n \n ) => {\n setStorageClass(e.target.value as string);\n }}\n options={tiersList}\n />\n \n \n )}\n
\n
\n \n
\n \n File Configuration\n \n\n \n ) => {\n setPrefix(e.target.value);\n }}\n label=\"Prefix\"\n value={prefix}\n />\n \n \n {\n setTags(vl);\n }}\n keyPlaceholder=\"Tag Key\"\n valuePlaceholder=\"Tag Value\"\n withBorder\n />\n \n \n ) => {\n setExpiredObjectDM(event.target.checked);\n }}\n label={\"Expired Object Delete Marker\"}\n />\n \n
\n
\n
\n \n {\n closeModalAndRefresh(false);\n }}\n >\n Cancel\n \n \n Save\n \n \n {addLoading && (\n \n \n \n )}\n
\n \n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(EditLifecycleConfiguration));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Button, LinearProgress, SelectChangeEvent } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport {\n ITierElement,\n ITierResponse,\n} from \"../../Configurations/TiersConfiguration/types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../../common/api\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport QueryMultiSelector from \"../../Common/FormComponents/QueryMultiSelector/QueryMultiSelector\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { LifecycleConfigIcon } from \"../../../../icons\";\n\ninterface IReplicationModal {\n open: boolean;\n closeModalAndRefresh: (refresh: boolean) => any;\n classes: any;\n bucketName: string;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nexport interface ITiersDropDown {\n label: string;\n value: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\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 ...spacingUtils,\n ...modalStyleUtils,\n ...formFieldStyles,\n ...createTenantCommon,\n });\n\nconst AddLifecycleModal = ({\n open,\n closeModalAndRefresh,\n classes,\n bucketName,\n setModalErrorSnackMessage,\n}: IReplicationModal) => {\n const [loadingTiers, setLoadingTiers] = useState(true);\n const [tiersList, setTiersList] = useState([]);\n const [addLoading, setAddLoading] = useState(false);\n const [prefix, setPrefix] = useState(\"\");\n const [tags, setTags] = useState(\"\");\n const [storageClass, setStorageClass] = useState(\"\");\n const [NCTransitionSC, setNCTransitionSC] = useState(\"\");\n const [expiredObjectDM, setExpiredObjectDM] = useState(false);\n const [NCExpirationDays, setNCExpirationDays] = useState(\"0\");\n const [NCTransitionDays, setNCTransitionDays] = useState(\"0\");\n const [ilmType, setIlmType] = useState(\"expiry\");\n const [expiryDays, setExpiryDays] = useState(\"0\");\n const [transitionDays, setTransitionDays] = useState(\"0\");\n const [isFormValid, setIsFormValid] = useState(false);\n\n useEffect(() => {\n if (loadingTiers) {\n api\n .invoke(\"GET\", `/api/v1/admin/tiers`)\n .then((res: ITierResponse) => {\n const tiersList: ITierElement[] | null = get(res, \"items\", []);\n\n if (tiersList !== null && tiersList.length >= 1) {\n const objList = tiersList.map((tier: ITierElement) => {\n const tierType = tier.type;\n const value = get(tier, `${tierType}.name`, \"\");\n\n return { label: value, value: value };\n });\n\n setTiersList(objList);\n if (objList.length > 0) {\n setStorageClass(objList[0].value);\n }\n }\n setLoadingTiers(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingTiers(false);\n });\n }\n }, [loadingTiers]);\n\n useEffect(() => {\n let valid = true;\n\n if (ilmType !== \"expiry\") {\n if (storageClass === \"\") {\n valid = false;\n }\n }\n setIsFormValid(valid);\n }, [ilmType, expiryDays, transitionDays, storageClass]);\n\n const addRecord = () => {\n let rules = {};\n\n if (ilmType === \"expiry\") {\n let expiry = {\n expiry_days: parseInt(expiryDays),\n };\n\n rules = {\n ...expiry,\n noncurrentversion_expiration_days: parseInt(NCExpirationDays),\n };\n } else {\n let transition = {\n transition_days: parseInt(transitionDays),\n };\n\n rules = {\n ...transition,\n noncurrentversion_transition_days: parseInt(NCTransitionDays),\n noncurrentversion_transition_storage_class: NCTransitionSC,\n storage_class: storageClass,\n };\n }\n\n const lifecycleInsert = {\n type: ilmType,\n prefix,\n tags,\n expired_object_delete_marker: expiredObjectDM,\n ...rules,\n };\n\n api\n .invoke(\n \"POST\",\n `/api/v1/buckets/${bucketName}/lifecycle`,\n lifecycleInsert\n )\n .then(() => {\n setAddLoading(false);\n closeModalAndRefresh(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n return (\n {\n closeModalAndRefresh(false);\n }}\n title=\"Add Lifecycle Rule\"\n titleIcon={}\n >\n {loadingTiers && (\n \n \n \n \n \n )}\n\n {!loadingTiers && (\n ) => {\n e.preventDefault();\n setAddLoading(true);\n addRecord();\n }}\n >\n \n \n \n
\n \n Lifecycle Configuration\n \n\n \n ) => {\n setIlmType(e.target.value as string);\n }}\n selectorOptions={[\n { value: \"expiry\", label: \"Expiry\" },\n { value: \"transition\", label: \"Transition\" },\n ]}\n />\n \n {ilmType === \"expiry\" ? (\n \n \n \n ) => {\n setExpiryDays(e.target.value);\n }}\n label=\"Expiry Days\"\n value={expiryDays}\n min=\"0\"\n />\n \n \n \n ) => {\n setNCExpirationDays(e.target.value);\n }}\n label=\"Non-current Expiration Days\"\n value={NCExpirationDays}\n min=\"0\"\n />\n \n \n ) : (\n \n \n \n ) => {\n setTransitionDays(e.target.value);\n }}\n label=\"Transition Days\"\n value={transitionDays}\n min=\"0\"\n />\n \n \n \n ) => {\n setNCTransitionDays(e.target.value);\n }}\n label=\"Non-current Transition Days\"\n value={NCTransitionDays}\n min=\"0\"\n />\n \n \n \n ) => {\n setNCTransitionSC(e.target.value);\n }}\n placeholder=\"Set Non-current Version Transition Storage Class\"\n label=\"Non-current Version Transition Storage Class\"\n value={NCTransitionSC}\n />\n \n \n ) => {\n setStorageClass(e.target.value as string);\n }}\n options={tiersList}\n />\n \n \n )}\n
\n
\n \n
\n \n File Configuration\n \n\n \n ) => {\n setPrefix(e.target.value);\n }}\n label=\"Prefix\"\n value={prefix}\n />\n \n \n {\n setTags(vl);\n }}\n keyPlaceholder=\"Tag Key\"\n valuePlaceholder=\"Tag Value\"\n withBorder\n />\n \n \n \n ) => {\n setExpiredObjectDM(event.target.checked);\n }}\n label={\"Expired Object Delete Marker\"}\n />\n \n
\n
\n
\n \n {\n closeModalAndRefresh(false);\n }}\n >\n Cancel\n \n \n Save\n \n \n {addLoading && (\n \n \n \n )}\n
\n \n )}\n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(AddLifecycleModal));\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, useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { modalBasic } from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport api from \"../../../../common/api\";\n\ninterface IDeleteLifecycleRule {\n deleteOpen: boolean;\n onCloseAndRefresh: (refresh: boolean) => any;\n bucket: string;\n id: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n });\n\nconst DeleteBucketLifecycleRule = ({\n onCloseAndRefresh,\n deleteOpen,\n bucket,\n id,\n setErrorSnackMessage,\n}: IDeleteLifecycleRule) => {\n const [deletingRule, setDeletingRule] = useState(false);\n\n useEffect(() => {\n if (deletingRule) {\n api\n .invoke(\"DELETE\", `/api/v1/buckets/${bucket}/lifecycle/${id}`)\n .then((res) => {\n setDeletingRule(false);\n onCloseAndRefresh(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setDeletingRule(false);\n setErrorSnackMessage(err);\n });\n }\n }, [deletingRule, bucket, id, onCloseAndRefresh, setErrorSnackMessage]);\n\n const onConfirmDelete = () => {\n setDeletingRule(true);\n };\n\n return (\n }\n onClose={() => onCloseAndRefresh(false)}\n confirmationContent={\n \n Are you sure you want to delete the {id} rule?\n \n }\n />\n );\n};\n\nconst connector = connect(null, {\n setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(DeleteBucketLifecycleRule));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport get from \"lodash/get\";\nimport * as reactMoment from \"react-moment\";\nimport Grid from \"@mui/material/Grid\";\nimport { BucketInfo, LifeCycleItem } from \"../types\";\nimport { AddIcon, TiersIcon } from \"../../../../icons\";\nimport {\n actionsTray,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { AppState } from \"../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport EditLifecycleConfiguration from \"./EditLifecycleConfiguration\";\nimport AddLifecycleModal from \"./AddLifecycleModal\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport HelpBox from \"../../../../common/HelpBox\";\nimport PanelTitle from \"../../Common/PanelTitle/PanelTitle\";\nimport SecureComponent, {\n hasPermission,\n} from \"../../../../common/SecureComponent/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport RBIconButton from \"./SummaryItems/RBIconButton\";\nimport DeleteBucketLifecycleRule from \"./DeleteBucketLifecycleRule\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...searchField,\n ...actionsTray,\n twHeight: {\n minHeight: 400,\n },\n });\n\ninterface IBucketLifecyclePanelProps {\n classes: any;\n match: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n loadingBucket: boolean;\n bucketInfo: BucketInfo | null;\n}\n\nconst BucketLifecyclePanel = ({\n classes,\n match,\n setErrorSnackMessage,\n loadingBucket,\n bucketInfo,\n}: IBucketLifecyclePanelProps) => {\n const [loadingLifecycle, setLoadingLifecycle] = useState(true);\n const [lifecycleRecords, setLifecycleRecords] = useState([]);\n const [addLifecycleOpen, setAddLifecycleOpen] = useState(false);\n const [editLifecycleOpen, setEditLifecycleOpen] = useState(false);\n const [selectedLifecycleRule, setSelectedLifecycleRule] =\n useState(null);\n const [deleteLifecycleOpen, setDeleteLifecycleOpen] =\n useState(false);\n const [selectedID, setSelectedID] = useState(null);\n\n const bucketName = match.params[\"bucketName\"];\n\n const displayLifeCycleRules = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_LIFECYCLE_CONFIGURATION,\n ]);\n\n useEffect(() => {\n if (loadingBucket) {\n setLoadingLifecycle(true);\n }\n }, [loadingBucket, setLoadingLifecycle]);\n\n useEffect(() => {\n if (loadingLifecycle) {\n if (displayLifeCycleRules) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/lifecycle`)\n .then((res: any) => {\n const records = get(res, \"lifecycle\", []);\n\n setLifecycleRecords(records || []);\n setLoadingLifecycle(false);\n })\n .catch((err: ErrorResponseHandler) => {\n console.error(err);\n setLifecycleRecords([]);\n setLoadingLifecycle(false);\n });\n } else {\n setLoadingLifecycle(false);\n }\n }\n }, [\n loadingLifecycle,\n setLoadingLifecycle,\n bucketName,\n displayLifeCycleRules,\n ]);\n\n const closeEditLCAndRefresh = (refresh: boolean) => {\n setEditLifecycleOpen(false);\n setSelectedLifecycleRule(null);\n if (refresh) {\n setLoadingLifecycle(true);\n }\n };\n\n const closeAddLCAndRefresh = (refresh: boolean) => {\n setAddLifecycleOpen(false);\n if (refresh) {\n setLoadingLifecycle(true);\n }\n };\n\n const closeDelLCRefresh = (refresh: boolean) => {\n setDeleteLifecycleOpen(false);\n setSelectedID(null);\n\n if (refresh) {\n setLoadingLifecycle(true);\n }\n };\n\n const expirationRender = (expiration: any) => {\n if (expiration.days) {\n return `${expiration.days} day${expiration.days > 1 ? \"s\" : \"\"}`;\n }\n\n if (expiration.date === \"0001-01-01T00:00:00Z\") {\n return \"\";\n }\n\n return {expiration.date};\n };\n\n const transitionRender = (transition: any) => {\n if (transition.days) {\n return `${transition.days} day${transition.days > 1 ? \"s\" : \"\"}`;\n }\n\n if (transition.date === \"0001-01-01T00:00:00Z\") {\n return \"\";\n }\n\n return {transition.date};\n };\n\n const renderStorageClass = (objectST: any) => {\n const stClass = get(objectST, \"transition.storage_class\", \"\");\n\n return stClass;\n };\n\n const lifecycleColumns = [\n { label: \"ID\", elementKey: \"id\" },\n {\n label: \"Prefix\",\n elementKey: \"prefix\",\n },\n {\n label: \"Status\",\n elementKey: \"status\",\n },\n {\n label: \"Expiration\",\n elementKey: \"expiration\",\n renderFunction: expirationRender,\n },\n {\n label: \"Transition\",\n elementKey: \"transition\",\n renderFunction: transitionRender,\n },\n {\n label: \"Storage Class\",\n elementKey: \"storage_class\",\n renderFunction: renderStorageClass,\n renderFullObject: true,\n },\n ];\n\n const lifecycleActions = [\n {\n type: \"view\",\n\n onClick(valueToSend: any): any {\n setSelectedLifecycleRule(valueToSend);\n setEditLifecycleOpen(true);\n },\n },\n {\n type: \"delete\",\n onClick(valueToDelete: string): any {\n setSelectedID(valueToDelete);\n setDeleteLifecycleOpen(true);\n },\n sendOnlyId: true,\n },\n ];\n\n return (\n \n {editLifecycleOpen && selectedLifecycleRule && (\n \n )}\n {addLifecycleOpen && (\n \n )}\n {deleteLifecycleOpen && selectedID && (\n \n )}\n \n \n Lifecycle Rules\n \n {\n setAddLifecycleOpen(true);\n }}\n text={\"Add Lifecycle Rule\"}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n \n \n \n \n \n \n \n {!loadingLifecycle && (\n \n }\n help={\n \n MinIO Object Lifecycle Management allows creating rules for\n time or date based automatic transition or expiry of objects.\n For object transition, MinIO automatically moves the object to\n a configured remote storage tier.\n
\n
\n You can learn more at our{\" \"}\n \n documentation\n \n .\n
\n }\n />\n
\n )}\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n session: state.console.session,\n loadingBucket: state.buckets.bucketDetails.loadingBucket,\n bucketInfo: state.buckets.bucketDetails.bucketInfo,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(BucketLifecyclePanel));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n"],"names":["mapDispatchToProps","setModalErrorSnackMessage","connector","connect","withStyles","theme","createStyles","dateSelector","borderBottom","marginBottom","border","paddingLeft","spacingUtils","modalStyleUtils","formFieldStyles","createTenantCommon","classes","closeModalAndRefresh","selectedBucket","lifecycle","open","useState","loadingTiers","setLoadingTiers","addLoading","setAddLoading","tags","setTags","enabled","setEnabled","tiersList","setTiersList","prefix","setPrefix","storageClass","setStorageClass","NCTransitionSC","setNCTransitionSC","expiredObjectDM","setExpiredObjectDM","NCExpirationDays","setNCExpirationDays","NCTransitionDays","setNCTransitionDays","ilmType","setIlmType","expiryDays","setExpiryDays","transitionDays","setTransitionDays","isFormValid","setIsFormValid","useEffect","api","then","res","get","length","objList","map","tier","tierType","type","value","label","catch","err","valid","status","transitionMode","transition","days","toString","date","expiration","storage_class","noncurrent_transition_days","noncurrent_storage_class","noncurrent_expiration_days","delete_marker","tgs","reduce","stringLab","currItem","index","key","ModalWrapper","onClose","modalOpen","title","titleIcon","noValidate","autoComplete","onSubmit","e","event","preventDefault","rules","expiry","expiry_days","parseInt","noncurrentversion_expiration_days","transition_days","noncurrentversion_transition_days","noncurrentversion_transition_storage_class","lifecycleUpdate","disable","expired_object_delete_marker","id","saveRecord","Grid","container","item","xs","className","formScrollable","formFieldRow","InputBoxWrapper","name","onChange","disabled","FormSwitchWrapper","indicatorLabels","checked","target","fieldGroup","descriptionText","RadioGroupSelector","currentSelection","selectorOptions","disableOptions","Fragment","min","placeholder","SelectWrapper","options","QueryMultiSelector","elements","vl","keyPlaceholder","valuePlaceholder","withBorder","modalButtonBar","Button","variant","color","onClick","LinearProgress","bucketName","loadingBox","lifecycleInsert","addRecord","setErrorSnackMessage","modalBasic","onCloseAndRefresh","deleteOpen","bucket","deletingRule","setDeletingRule","ConfirmDialog","confirmText","isOpen","isLoading","onConfirm","confirmationContent","DialogContentText","state","session","console","loadingBucket","buckets","bucketDetails","bucketInfo","searchField","actionsTray","twHeight","minHeight","match","loadingLifecycle","setLoadingLifecycle","lifecycleRecords","setLifecycleRecords","addLifecycleOpen","setAddLifecycleOpen","editLifecycleOpen","setEditLifecycleOpen","selectedLifecycleRule","setSelectedLifecycleRule","deleteLifecycleOpen","setDeleteLifecycleOpen","selectedID","setSelectedID","params","displayLifeCycleRules","hasPermission","IAM_SCOPES","records","error","lifecycleColumns","elementKey","renderFunction","objectST","renderFullObject","lifecycleActions","valueToSend","valueToDelete","sendOnlyId","refresh","PanelTitle","SecureComponent","scopes","resource","matchAll","errorProps","RBIconButton","tooltip","text","icon","TableWrapper","itemActions","columns","entityName","customEmptyMessage","idField","customPaperHeight","HelpBox","iconComponent","help","href","rel","radioStyles","makeStyles","root","backgroundColor","radioIcons","RadioButton","props","disableRipple","checkedIcon","radioSelectedIcon","radioUnselectedIcon","fieldBasic","tooltipHelper","optionLabel","marginRight","fontSize","checkedOption","fontWeight","displayInColumn","alignItems","htmlFor","inputLabel","tooltipContainer","placement","radioOptionsLayout","row","style","display","textAlign","selectorOption","control","clsx","SelectStyled","height","lineHeight","marginTop","spacing","input","position","padding","borderRadius","borderColor","InputBase","fieldContainer","flexFlow","fullWidth","option","deleteDialogStyles","onCancel","cancelText","confirmButtonProps","cancelButtonProps","reason","sx","titleText","closeContainer","closeButton","size","content","actions","cancelButton","confirmButton","loading","loadingPosition","startIcon","autoFocus"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/main.e494763b.js b/portal-ui/build/static/js/main.ab27ce1f.js similarity index 95% rename from portal-ui/build/static/js/main.e494763b.js rename to portal-ui/build/static/js/main.ab27ce1f.js index ea5b036fc..abd7fca24 100644 --- a/portal-ui/build/static/js/main.e494763b.js +++ b/portal-ui/build/static/js/main.ab27ce1f.js @@ -1,3 +1,3 @@ -/*! For license information please see main.e494763b.js.LICENSE.txt */ -!function(){var e={64119:function(e){e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports},44149:function(e,t,n){"use strict";n.d(t,{nD:function(){return a},rS:function(){return o},gG:function(){return i},o8:function(){return s},xo:function(){return l},KY:function(){return c},y1:function(){return u},Ih:function(){return d},MK:function(){return f},zb:function(){return p},tC:function(){return h}});var r=n(92573);function a(e){return{type:r.TY,logged:e}}function o(e){return{type:r.M6,operatorMode:e}}function i(e){return{type:r.YY,open:e}}function s(e){return{type:r.vx,needsRestart:e}}function l(e){return{type:r.mp,isLoading:e}}var c=function(e){return{type:r.YH,serverDiagnosticStatus:e}},u=function(e){return{type:r.pX,message:e}},d=function(e){return{type:r.Cs,message:e}},f=function(e){return{type:r.MC,message:e}},p=function(e){return{type:r.DA,message:e}},h=function(e){return{type:r.nl,distributedSetup:e}}},47979:function(e,t,n){"use strict";n(50390);var r=n(25594),a=n(18201),o=n(62559);t.Z=function(){return(0,o.jsx)(r.ZP,{container:!0,spacing:0,direction:"column",alignItems:"center",justifyContent:"center",style:{minHeight:"100vh"},children:(0,o.jsxs)(r.ZP,{item:!0,xs:3,style:{textAlign:"center"},children:[(0,o.jsx)(a.Z,{}),(0,o.jsx)("br",{}),"Loading..."]})})}},15607:function(e,t,n){"use strict";n.d(t,{F:function(){return u}});var r=n(18489),a=n(35531),o=n(23430),i=n(50390),s=n(69970),l=n(49495),c=n(62559),u=function(e,t,n,r){if(!e)return!1;var i=s.h.getState().console.session.permissions||{},c=i["arn:aws:s3:::*"]||[],u=[],d=[],f=[];Array.isArray(e)?u=u.concat(e):u.push(e);for(var p=0;p1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0;if(!e)return!1;var r=e.includes(c.S3_ALL_ACTIONS),a=e.includes(c.ADMIN_ALL_ACTIONS),o=t.filter((function(t){return-1!==e.indexOf(t)||-1!==t.indexOf("s3:")&&r||-1!==t.indexOf("admin:")&&a}));return n?o.length===t.length:o.length>0},l={BUCKET_OWNER:"BUCKET_OWNER",BUCKET_VIEWER:"BUCKET_VIEWER",BUCKET_ADMIN:"BUCKET_ADMIN"},c={S3_LIST_BUCKET:"s3:ListBucket",S3_GET_BUCKET_POLICY:"s3:GetBucketPolicy",S3_PUT_BUCKET_POLICY:"s3:PutBucketPolicy",S3_GET_OBJECT:"s3:GetObject",S3_PUT_OBJECT:"s3:PutObject",S3_GET_OBJECT_LEGAL_HOLD:"s3:GetObjectLegalHold",S3_PUT_OBJECT_LEGAL_HOLD:"s3:PutObjectLegalHold",S3_DELETE_OBJECT:"s3:DeleteObject",S3_GET_BUCKET_VERSIONING:"s3:GetBucketVersioning",S3_PUT_BUCKET_VERSIONING:"s3:PutBucketVersioning",S3_GET_OBJECT_RETENTION:"s3:GetObjectRetention",S3_PUT_OBJECT_RETENTION:"s3:PutObjectRetention",S3_GET_OBJECT_TAGGING:"s3:GetObjectTagging",S3_PUT_OBJECT_TAGGING:"s3:PutObjectTagging",S3_DELETE_OBJECT_TAGGING:"s3:DeleteObjectTagging",S3_GET_BUCKET_ENCRYPTION_CONFIGURATION:"s3:GetEncryptionConfiguration",S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION:"s3:PutEncryptionConfiguration",S3_CREATE_BUCKET:"s3:CreateBucket",S3_DELETE_BUCKET:"s3:DeleteBucket",S3_FORCE_DELETE_BUCKET:"s3:ForceDeleteBucket",S3_GET_BUCKET_NOTIFICATIONS:"s3:GetBucketNotification",S3_LISTEN_BUCKET_NOTIFICATIONS:"s3:ListenBucketNotification",S3_PUT_BUCKET_NOTIFICATIONS:"s3:PutBucketNotification",S3_GET_REPLICATION_CONFIGURATION:"s3:GetReplicationConfiguration",S3_PUT_REPLICATION_CONFIGURATION:"s3:PutReplicationConfiguration",S3_GET_LIFECYCLE_CONFIGURATION:"s3:GetLifecycleConfiguration",S3_PUT_LIFECYCLE_CONFIGURATION:"s3:PutLifecycleConfiguration",S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION:"s3:GetBucketObjectLockConfiguration",S3_PUT_BUCKET_OBJECT_LOCK_CONFIGURATION:"s3:PutBucketObjectLockConfiguration",ADMIN_GET_POLICY:"admin:GetPolicy",ADMIN_LIST_USERS:"admin:ListUsers",ADMIN_CREATE_USER:"admin:CreateUser",ADMIN_DELETE_USER:"admin:DeleteUser",ADMIN_ENABLE_USER:"admin:EnableUser",ADMIN_DISABLE_USER:"admin:DisableUser",ADMIN_GET_USER:"admin:GetUser",ADMIN_LIST_USER_POLICIES:"admin:ListUserPolicies",ADMIN_SERVER_INFO:"admin:ServerInfo",ADMIN_GET_BUCKET_QUOTA:"admin:GetBucketQuota",ADMIN_SET_BUCKET_QUOTA:"admin:SetBucketQuota",ADMIN_LIST_TIERS:"admin:ListTier",ADMIN_SET_TIER:"admin:SetTier",ADMIN_LIST_GROUPS:"admin:ListGroups",S3_GET_OBJECT_VERSION_FOR_REPLICATION:"s3:GetObjectVersionForReplication",S3_REPLICATE_TAGS:"s3:ReplicateTags",S3_REPLICATE_DELETE:"s3:ReplicateDelete",S3_REPLICATE_OBJECT:"s3:ReplicateObject",S3_PUT_OBJECT_VERSION_TAGGING:"s3:PutObjectVersionTagging",S3_DELETE_OBJECT_VERSION_TAGGING:"s3:DeleteObjectVersionTagging",S3_DELETE_OBJECT_VERSION:"s3:DeleteObjectVersion",S3_GET_OBJECT_VERSION_TAGGING:"s3:GetObjectVersionTagging",S3_GET_OBJECT_VERSION:"s3:GetObjectVersion",S3_PUT_BUCKET_TAGGING:"s3:PutBucketTagging",S3_GET_BUCKET_TAGGING:"s3:GetBucketTagging",S3_BYPASS_GOVERNANCE_RETENTION:"s3:BypassGovernanceRetention",S3_LIST_MULTIPART_UPLOAD_PARTS:"s3:ListMultipartUploadParts",S3_LISTEN_NOTIFICATIONS:"s3:ListenNotification",S3_LIST_BUCKET_MULTIPART_UPLOADS:"s3:ListBucketMultipartUploads",S3_LIST_BUCKET_VERSIONS:"s3:ListBucketVersions",S3_GET_BUCKET_POLICY_STATUS:"s3:GetBucketPolicyStatus",S3_LIST_ALL_MY_BUCKETS:"s3:ListAllMyBuckets",S3_HEAD_BUCKET:"s3:HeadBucket",S3_GET_BUCKET_LOCATION:"s3:GetBucketLocation",S3_DELETE_BUCKET_POLICY:"s3:DeleteBucketPolicy",S3_ABORT_MULTIPART_UPLOAD:"s3:AbortMultipartUpload",ADMIN_ADD_USER_TO_GROUP:"admin:AddUserToGroup",ADMIN_REMOVE_USER_FROM_GROUP:"admin:RemoveUserFromGroup",ADMIN_GET_GROUP:"admin:GetGroup",ADMIN_ENABLE_GROUP:"admin:EnableGroup",ADMIN_DISABLE_GROUP:"admin:DisableGroup",ADMIN_CREATE_POLICY:"admin:CreatePolicy",ADMIN_DELETE_POLICY:"admin:DeletePolicy",ADMIN_ATTACH_USER_OR_GROUP_POLICY:"admin:AttachUserOrGroupPolicy",ADMIN_CREATE_SERVICEACCOUNT:"admin:CreateServiceAccount",ADMIN_UPDATE_SERVICEACCOUNT:"admin:UpdateServiceAccount",ADMIN_REMOVE_SERVICEACCOUNT:"admin:RemoveServiceAccount",ADMIN_LIST_SERVICEACCOUNTS:"admin:ListServiceAccounts",ADMIN_CONFIG_UPDATE:"admin:ConfigUpdate",ADMIN_GET_CONSOLE_LOG:"admin:ConsoleLog",ADMIN_SERVER_TRACE:"admin:ServerTrace",ADMIN_HEALTH_INFO:"admin:OBDInfo",ADMIN_HEAL:"admin:Heal",S3_ALL_ACTIONS:"s3:*",ADMIN_ALL_ACTIONS:"admin:*"},u={BUCKETS:"/buckets",ADD_BUCKETS:"/add-bucket",BUCKETS_ADMIN_VIEW:"/buckets/:bucketName/admin*",BUCKETS_BROWSE_VIEW:"/buckets/:bucketName/browse*",IDENTITY:"/identity",USERS:"/identity/users",USERS_VIEW:"/identity/users/:userName+",GROUPS:"/identity/groups",GROUPS_VIEW:"/identity/groups/:groupName+",ACCOUNT:"/identity/account",POLICIES:"/access/policies",POLICIES_VIEW:"/access/policies/*",TOOLS_LOGS:"/tools/logs",TOOLS_AUDITLOGS:"/tools/audit-logs",TOOLS_TRACE:"/tools/trace",METRICS:"/tools/metrics",DASHBOARD:"/tools/dashboard",TOOLS_HEAL:"/tools/heal",TOOLS_WATCH:"/tools/watch",HEALTH:"/health",TOOLS:"/support",REGISTER_SUPPORT:"/support/register",TOOLS_DIAGNOSTICS:"/support/diagnostics",TOOLS_SPEEDTEST:"/support/speedtest",CALL_HOME:"/support/call-home",PROFILE:"/support/profile",LICENSE:"/license",SETTINGS:"/settings/configurations",SETTINGS_VIEW:"/settings/configurations/:option",DOCUMENTATION:"/documentation",NOTIFICATIONS_ENDPOINTS:"/settings/notification-endpoints",NOTIFICATIONS_ENDPOINTS_ADD:"/settings/notification-endpoints/add",NOTIFICATIONS_ENDPOINTS_ADD_SERVICE:"/settings/notification-endpoints/add/:service",TIERS:"/settings/tiers",TIERS_ADD:"/settings/tiers/add",TIERS_ADD_SERVICE:"/settings/tiers/add/:service",TENANTS:"/tenants",TENANTS_ADD:"/tenants/add",STORAGE:"/storage",STORAGE_VOLUMES:"/storage/volumes",STORAGE_DRIVES:"/storage/drives",NAMESPACE_TENANT:"/namespaces/:tenantNamespace/tenants/:tenantName",NAMESPACE_TENANT_HOP:"/namespaces/:tenantNamespace/tenants/:tenantName/hop",NAMESPACE_TENANT_PODS:"/namespaces/:tenantNamespace/tenants/:tenantName/pods/:podName",NAMESPACE_TENANT_PVCS:"/namespaces/:tenantNamespace/tenants/:tenantName/pvcs/:PVCName",NAMESPACE_TENANT_PODS_LIST:"/namespaces/:tenantNamespace/tenants/:tenantName/pods",NAMESPACE_TENANT_SUMMARY:"/namespaces/:tenantNamespace/tenants/:tenantName/summary",NAMESPACE_TENANT_METRICS:"/namespaces/:tenantNamespace/tenants/:tenantName/metrics",NAMESPACE_TENANT_POOLS:"/namespaces/:tenantNamespace/tenants/:tenantName/pools",NAMESPACE_TENANT_VOLUMES:"/namespaces/:tenantNamespace/tenants/:tenantName/volumes",NAMESPACE_TENANT_LICENSE:"/namespaces/:tenantNamespace/tenants/:tenantName/license",NAMESPACE_TENANT_SECURITY:"/namespaces/:tenantNamespace/tenants/:tenantName/security",NAMESPACE_TENANT_MONITORING:"/namespaces/:tenantNamespace/tenants/:tenantName/monitoring",NAMESPACE_TENANT_LOGGING:"/namespaces/:tenantNamespace/tenants/:tenantName/logging"},d=(r={},(0,i.Z)(r,l.BUCKET_OWNER,[c.S3_PUT_OBJECT,c.S3_DELETE_OBJECT]),(0,i.Z)(r,l.BUCKET_VIEWER,[c.S3_LIST_BUCKET]),(0,i.Z)(r,l.BUCKET_ADMIN,[c.S3_ALL_ACTIONS,c.ADMIN_ALL_ACTIONS,c.S3_REPLICATE_OBJECT,c.S3_REPLICATE_DELETE,c.S3_REPLICATE_TAGS,c.S3_GET_OBJECT_VERSION_FOR_REPLICATION,c.S3_PUT_REPLICATION_CONFIGURATION,c.S3_GET_REPLICATION_CONFIGURATION,c.S3_GET_BUCKET_VERSIONING,c.S3_PUT_BUCKET_VERSIONING,c.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION,c.S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION,c.S3_DELETE_OBJECT_TAGGING,c.S3_PUT_OBJECT_TAGGING,c.S3_GET_OBJECT_TAGGING,c.S3_PUT_OBJECT_VERSION_TAGGING,c.S3_DELETE_OBJECT_VERSION_TAGGING,c.S3_DELETE_OBJECT_VERSION,c.S3_GET_OBJECT_VERSION_TAGGING,c.S3_GET_OBJECT_VERSION,c.S3_PUT_BUCKET_TAGGING,c.S3_GET_BUCKET_TAGGING,c.S3_PUT_BUCKET_OBJECT_LOCK_CONFIGURATION,c.S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION,c.S3_PUT_OBJECT_LEGAL_HOLD,c.S3_GET_OBJECT_LEGAL_HOLD,c.S3_GET_OBJECT_RETENTION,c.S3_PUT_OBJECT_RETENTION,c.S3_BYPASS_GOVERNANCE_RETENTION,c.S3_PUT_BUCKET_POLICY,c.S3_PUT_BUCKET_NOTIFICATIONS,c.S3_GET_LIFECYCLE_CONFIGURATION,c.S3_PUT_LIFECYCLE_CONFIGURATION,c.S3_LIST_MULTIPART_UPLOAD_PARTS,c.S3_LISTEN_BUCKET_NOTIFICATIONS,c.S3_LISTEN_NOTIFICATIONS,c.S3_LIST_BUCKET_MULTIPART_UPLOADS,c.S3_LIST_BUCKET_VERSIONS,c.S3_GET_BUCKET_POLICY_STATUS,c.S3_LIST_ALL_MY_BUCKETS,c.S3_HEAD_BUCKET,c.S3_GET_BUCKET_POLICY,c.S3_GET_BUCKET_NOTIFICATIONS,c.S3_GET_BUCKET_LOCATION,c.S3_DELETE_BUCKET_POLICY,c.S3_FORCE_DELETE_BUCKET,c.S3_DELETE_BUCKET,c.S3_CREATE_BUCKET,c.S3_ABORT_MULTIPART_UPLOAD,c.ADMIN_GET_POLICY,c.ADMIN_LIST_USER_POLICIES,c.ADMIN_LIST_USERS,c.ADMIN_HEAL]),r),f=(a={},(0,i.Z)(a,u.ADD_BUCKETS,[c.S3_CREATE_BUCKET]),(0,i.Z)(a,u.BUCKETS_ADMIN_VIEW,(0,o.Z)(d[l.BUCKET_ADMIN])),(0,i.Z)(a,u.BUCKETS_BROWSE_VIEW,[].concat((0,o.Z)(d[l.BUCKET_OWNER]),(0,o.Z)(d[l.BUCKET_VIEWER]))),(0,i.Z)(a,u.GROUPS,[c.ADMIN_LIST_GROUPS,c.ADMIN_ADD_USER_TO_GROUP]),(0,i.Z)(a,u.GROUPS_VIEW,[c.ADMIN_GET_GROUP,c.ADMIN_DISABLE_GROUP,c.ADMIN_ENABLE_GROUP,c.ADMIN_REMOVE_USER_FROM_GROUP,c.ADMIN_LIST_USER_POLICIES,c.ADMIN_ADD_USER_TO_GROUP,c.ADMIN_ATTACH_USER_OR_GROUP_POLICY]),(0,i.Z)(a,u.USERS,[c.ADMIN_LIST_USERS,c.ADMIN_CREATE_USER]),(0,i.Z)(a,u.USERS_VIEW,[c.ADMIN_GET_USER,c.ADMIN_ADD_USER_TO_GROUP,c.ADMIN_ENABLE_USER,c.ADMIN_DISABLE_USER,c.ADMIN_DELETE_USER]),(0,i.Z)(a,u.DASHBOARD,[c.ADMIN_SERVER_INFO]),(0,i.Z)(a,u.METRICS,[c.ADMIN_SERVER_INFO]),(0,i.Z)(a,u.POLICIES_VIEW,[c.ADMIN_DELETE_POLICY,c.ADMIN_LIST_GROUPS,c.ADMIN_GET_GROUP,c.ADMIN_GET_POLICY,c.ADMIN_CREATE_POLICY]),(0,i.Z)(a,u.POLICIES,[c.ADMIN_LIST_USER_POLICIES,c.ADMIN_CREATE_POLICY]),(0,i.Z)(a,u.SETTINGS,[c.ADMIN_CONFIG_UPDATE]),(0,i.Z)(a,u.SETTINGS_VIEW,[c.ADMIN_CONFIG_UPDATE]),(0,i.Z)(a,u.NOTIFICATIONS_ENDPOINTS_ADD_SERVICE,[c.ADMIN_SERVER_INFO,c.ADMIN_CONFIG_UPDATE]),(0,i.Z)(a,u.NOTIFICATIONS_ENDPOINTS_ADD,[c.ADMIN_SERVER_INFO,c.ADMIN_CONFIG_UPDATE]),(0,i.Z)(a,u.NOTIFICATIONS_ENDPOINTS,[c.ADMIN_SERVER_INFO,c.ADMIN_CONFIG_UPDATE]),(0,i.Z)(a,u.TIERS,[c.ADMIN_LIST_TIERS,c.ADMIN_SET_TIER]),(0,i.Z)(a,u.TIERS_ADD,[c.ADMIN_SET_TIER]),(0,i.Z)(a,u.TIERS_ADD_SERVICE,[c.ADMIN_SET_TIER]),(0,i.Z)(a,u.TOOLS,[c.S3_LISTEN_NOTIFICATIONS,c.S3_LISTEN_BUCKET_NOTIFICATIONS,c.ADMIN_GET_CONSOLE_LOG,c.ADMIN_SERVER_TRACE,c.ADMIN_HEAL,c.ADMIN_HEALTH_INFO,c.ADMIN_SERVER_INFO]),(0,i.Z)(a,u.TOOLS_LOGS,[c.ADMIN_GET_CONSOLE_LOG]),(0,i.Z)(a,u.TOOLS_AUDITLOGS,[c.ADMIN_HEALTH_INFO]),(0,i.Z)(a,u.TOOLS_WATCH,[c.S3_LISTEN_NOTIFICATIONS,c.S3_LISTEN_BUCKET_NOTIFICATIONS]),(0,i.Z)(a,u.TOOLS_TRACE,[c.ADMIN_SERVER_TRACE]),(0,i.Z)(a,u.TOOLS_HEAL,[c.ADMIN_HEAL]),(0,i.Z)(a,u.TOOLS_DIAGNOSTICS,[c.ADMIN_HEALTH_INFO,c.ADMIN_SERVER_INFO]),(0,i.Z)(a,u.TOOLS_SPEEDTEST,[c.ADMIN_HEALTH_INFO]),(0,i.Z)(a,u.REGISTER_SUPPORT,[c.ADMIN_SERVER_INFO,c.ADMIN_CONFIG_UPDATE]),(0,i.Z)(a,u.CALL_HOME,[c.ADMIN_HEALTH_INFO]),(0,i.Z)(a,u.PROFILE,[c.ADMIN_HEALTH_INFO]),(0,i.Z)(a,u.HEALTH,[c.ADMIN_HEALTH_INFO]),(0,i.Z)(a,u.LICENSE,[c.ADMIN_SERVER_INFO,c.ADMIN_CONFIG_UPDATE]),a),p="arn:aws:s3:::*",h="console-ui"},30324:function(e,t,n){"use strict";var r=n(27853),a=n(84531),o=n(68406),i=n.n(o),s=n(38342),l=n.n(s),c=n(28948),u=new(function(){function e(){(0,r.Z)(this,e)}return(0,a.Z)(e,[{key:"invoke",value:function(e,t,n){var r=this,a=t;return"/"===a[0]&&(a=a.substr(1)),i()(e,a).send(n).then((function(e){return e.body})).catch((function(e){return 401===e.status&&localStorage.getItem("userLoggedIn")?("/"!==window.location.pathname&&localStorage.setItem("redirect-path",window.location.pathname),(0,c.Ov)(),void(window.location.href="/login")):r.onError(e)}))}},{key:"onError",value:function(e){if(e.status){var t=l()(e.response,"body.message","Error ".concat(e.status.toString())),n=l()(e.response,"body.detailedMessage","");t===n&&(n="");var r={errorMessage:t.charAt(0).toUpperCase()+t.slice(1),detailedError:n.charAt(0).toUpperCase()+n.slice(1)};return Promise.reject(r)}(0,c.Ov)(),window.location.href="/login"}}]),e}());t.Z=u},28948:function(e,t,n){"use strict";n.d(t,{Dl:function(){return o},ae:function(){return l},l5:function(){return c},Ov:function(){return u},zk:function(){return d},mK:function(){return f},QU:function(){return p},Pw:function(){return h},zg:function(){return m},ES:function(){return y},en:function(){return x},v1:function(){return b},Ue:function(){return _},Am:function(){return j},Yj:function(){return S},C5:function(){return E},CE:function(){return Z},nk:function(){return T},ug:function(){return A},le:function(){return C}});var r=n(41618),a=1073741824,o=["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],i=["Ki","Mi","Gi","Ti","Pi","Ei"],s=["B"].concat(i),l=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=parseInt(e,10)||0;return c(n,t)},c=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=0;e>=1024&&++n;)e/=1024;var r=["B"].concat(i);return e.toFixed(e<10&&n>0?1:0)+" "+(t?r[n]:o[n])},u=function(){var e;r.ZP.removeItem("token"),e="token",document.cookie=e+"=; expires=Thu, 01 Jan 1970 00:00:01 GMT;"},d=function(e){var t=e.getHours()<10?"0".concat(e.getHours()):"".concat(e.getHours()),n=e.getMinutes()<10?"0".concat(e.getMinutes()):"".concat(e.getMinutes()),r=e.getSeconds()<10?"0".concat(e.getSeconds()):"".concat(e.getSeconds());return"".concat(t,":").concat(n,":").concat(r,":").concat(e.getMilliseconds())},f=function(){return o.map((function(e){return{label:e,value:e}}))},p=function(){return i.map((function(e){return{label:e,value:e}}))},h=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=parseFloat(e),a=n?s:o,i=a.findIndex((function(e){return e===t}));if(-1===i)return"0";var l=Math.pow(1024,i),c=r*l;return c.toString(10)},m=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=h(e.value,e.unit,!0);if(parseInt(o,10)4&&void 0!==arguments[4]?arguments[4]:0;if(isNaN(e)||isNaN(t)||isNaN(n)||isNaN(r))return{error:"Some provided data is invalid, please try again.",nodes:0,persistentVolumes:0,disks:0,pvSize:0};var i=0,s=0,l=0;if(0===o&&(l=(s=t/(i=Math.floor(Math.min(t/Math.max(4,e),n))))/e),o&&(s=(l=o)*e,i=Math.floor(t/s)),l%1>0){s=(l=Math.ceil(l))*e;var c=(i=Math.floor(t/s))*l*e;if(c>r)return{error:"We were not able to allocate this server.",nodes:0,persistentVolumes:0,disks:0,pvSize:0}}return i=8&&r>16&&c&&(l="EC:4"),{error:0,storageFactors:s,maxEC:o,rawCapacity:a.toString(10),erasureCodeSet:i,defaultEC:l}},x=function(e){var t=e.length;return"pool-".concat(t)},b=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"s",n=parseFloat(e);return w(n,t)},w=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"s";switch(t){case"ns":e=Math.floor(1e-9*e);break;case"ms":e=Math.floor(.001*e)}var n=Math.floor(e/86400);e-=3600*n*24;var r=Math.floor(e/3600);e-=3600*r;var a=Math.floor(e/60);if(e-=60*a,n>365){var o=n/365;return"".concat(o," year").concat(1===Math.floor(o)?"":"s")}if(n>30){var i=Math.floor(n/30),s=n-30*i;return"".concat(i," month").concat(1===Math.floor(i)?"":"s"," ").concat(s>0?"".concat(s," day").concat(s>1?"s":""):"")}if(n>=7&&n<=30){var l=Math.floor(n/7);return"".concat(Math.floor(l)," week").concat(1===l?"":"s")}return n>=1&&n<=6?"".concat(n," day").concat(n>1?"s":""):"".concat(r>=1?"".concat(r," hour").concat(r>1?"s":""):""," ").concat(a>=1&&0===r?"".concat(a," minute").concat(a>1?"s":""):""," ").concat(e>=1&&0===a&&0===r?"".concat(e," second").concat(e>1?"s":""):"")},_=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=parseInt(e);if(isNaN(n))return"";var r=new Date(1e3*n);return t?"".concat(r.getFullYear(),"-").concat(String(r.getMonth()+1).padStart(2,"0"),"-").concat(String(r.getDay()).padStart(2,"0")," ").concat(r.getHours(),":").concat(String(r.getMinutes()).padStart(2,"0"),":").concat(String(r.getSeconds()).padStart(2,"0")):"".concat(r.getHours(),":").concat(String(r.getMinutes()).padStart(2,"0"))},j=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=parseInt(e,10);if(0===a)return{total:0,unit:o[0]};var i=1024,l=Math.floor(Math.log(a)/Math.log(i)),c=t?0:1,u=a/Math.pow(i,l),d=n?Math.floor(u):u,f=parseFloat(d.toFixed(c)),p=r?s[l]:o[l];return{total:f,unit:p}},S=function(e){var t=1e-9*e,n=Math.round(1e4*(t+Number.EPSILON))/1e4;return"".concat(n," s")},E=function(e){var t=(100*e.split("").reduce((function(e,t){return e+t.charCodeAt(0)+((e<<5)-e)}),0)&16777215).toString(16).toUpperCase();return"#".concat(t.padStart(6,"0"))},Z=function(e){return void 0===e?0:e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")},T=function(e){if(void 0===e)return"0";var t=e.toString(),n="";return e>999&&e<1e6?(t=(e/1e3).toFixed(1),n="K"):e>=1e6&&e<1e9?(t=(e/1e6).toFixed(1),n="M"):e>=1e9&&(t=(e/1e9).toFixed(1),n="B"),t.endsWith(".0")&&(t=t.slice(0,-2)),"".concat(t).concat(n)},A=function(e){try{return btoa(unescape(encodeURIComponent(e)))}catch(t){return""}},C=function(e){try{return decodeURIComponent(escape(window.atob(e)))}catch(t){return e}}},24442:function(e,t,n){"use strict";var r=n(33156),a={},o=document.baseURI.replace(window.location.origin,"");""!==o&&(a.basename=o),t.Z=(0,r.lX)(a)},71353:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{"data-name":"Add Folder",clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("g",{"data-name":"add folder-icn",children:(0,a.jsx)("path",{"data-name":"Uni\\xF3n 11",d:"M39.666 233.405A29.865 29.865 0 0 1 9.8 204.786L.074 97.965A20.666 20.666 0 0 1 0 96.155a29.835 29.835 0 0 1 20.248-28.183V54.5a20.051 20.051 0 0 1-.236-3.083A29.515 29.515 0 0 1 49.549 22h52.166c13.4 0 21.111 10.416 26.211 17.3.338.458.727.981 1.119 1.513h81.508a29.514 29.514 0 0 1 29.531 29.034A29.779 29.779 0 0 1 256 96.155c0 .619-.031 1.234-.092 1.853l-9.963 106.8a29.87 29.87 0 0 1-29.865 28.593ZM20.092 96.155l9.787 107.485a9.8 9.8 0 0 0 9.787 9.749H216.08a9.8 9.8 0 0 0 9.8-9.749l10.03-107.485a9.809 9.809 0 0 0-9.8-9.753H29.879a9.8 9.8 0 0 0-9.787 9.753Zm20.015-44.734h.227v23.514H219.99v-4.7a9.449 9.449 0 0 0-9.437-9.4H122.5c-7.082 0-14.17-18.814-20.783-18.814H49.549a9.449 9.449 0 0 0-9.442 9.4Zm80.588 128.7v-23.339H97.264a7.783 7.783 0 1 1 0-15.565H120.7v-23.335a7.809 7.809 0 0 1 15.617 0v23.335h23.432a7.783 7.783 0 1 1 0 15.565h-23.436v23.335a7.809 7.809 0 0 1-15.617 0Z",stroke:"rgba(0,0,0,0)",strokeMiterlimit:10})}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 873",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},14792:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 858",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 20",d:"M102.405 230.399v-76.79h-76.8a25.607 25.607 0 0 1 0-51.214h76.8V25.601a25.6 25.6 0 1 1 51.2 0v76.792h76.8a25.607 25.607 0 0 1 0 51.214h-76.8v76.792a25.6 25.6 0 1 1-51.2 0Z"})]})]}))}},33447:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1016","data-name":"Rect\xe1ngulo 1016",width:"234.495",height:"256",fill:"#4ccb92"})}),(0,a.jsx)("clipPath",{id:"clip-Add_Members_to_Group",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Add_Members_to_Group","data-name":"Add Members to Group",clipPath:"url(#clip-Add_Members_to_Group)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Add_Members_to_Group_Icon","data-name":"Add Members to Group Icon",children:[(0,a.jsx)("g",{id:"Grupo_2404","data-name":"Grupo 2404",transform:"translate(12)",children:(0,a.jsxs)("g",{id:"Grupo_2403","data-name":"Grupo 2403",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7140","data-name":"Trazado 7140",d:"M88.829,144.6h.048a66.829,66.829,0,0,0,27.035-5.707,69.009,69.009,0,0,0,22.1-15.529,72.055,72.055,0,0,0,14.891-22.977,73.863,73.863,0,0,0,5.463-28.1C158.372,32.435,127.183,0,88.831,0h0C50.5,0,19.316,32.43,19.316,72.292S50.5,144.6,88.829,144.6",transform:"translate(1.421)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7141","data-name":"Trazado 7141",d:"M170.085,117.467a64.39,64.39,0,0,0-57.412,35.223c-1.427-.4-2.86-.784-4.3-1.124A94.705,94.705,0,0,0,86.9,149.044v.005c-1.755,0-3.439.046-5,.135A99.747,99.747,0,0,0,8.1,189.42c-.388.519-.767,1.061-1.234,1.756l-.107.15c-.1.142-.214.3-.312.458l-.027.028a37.88,37.88,0,0,0-2.671,37.522A31.97,31.97,0,0,0,32.509,247.36H142.044a31.485,31.485,0,0,0,13.08-2.84,64.408,64.408,0,1,0,14.961-127.054m.383,115.3a50.889,50.889,0,1,1,50.888-50.888,50.888,50.888,0,0,1-50.888,50.888m-7.982-26.944V189.859H146.524V173.895h15.963V157.931H178.45v15.964h15.963v15.964H178.45v15.963Z",transform:"translate(0 8.64)",fill:"#4ccb92"})]})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1017","data-name":"Rect\xe1ngulo 1017",width:"256",height:"256",fill:"none"})]})]})]}))}},56135:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 884",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"buckets-icn",d:"m244.998 90.474.049-.243 10.563-61.472a25.8 25.8 0 0 0-4.748-19.986A21.518 21.518 0 0 0 233.739 0H22.255A21.507 21.507 0 0 0 5.138 8.773 25.862 25.862 0 0 0 .384 28.759c5.223 30.384 16.209 94.421 25 145.533l.014.1c4.457 26 8.338 48.644 10.617 61.787 1.965 11.487 11.148 19.819 21.854 19.819h140.264c10.713 0 19.875-8.332 21.861-19.819l10.592-61.711.076-.375Zm-203.928 72.5c-3.6-20.981-7.479-43.648-11.148-65.015H226.09l-11.168 65.015Zm197.482-137.7-9.2 53.735h-202.7c-3.7-21.626-7-40.758-9.221-53.735a5.736 5.736 0 0 1 1.041-4.394 4.738 4.738 0 0 1 3.764-1.934h211.5a4.732 4.732 0 0 1 3.775 1.939 5.691 5.691 0 0 1 1.042 4.387Zm-26.893 156.649-8.709 50.763a5.048 5.048 0 0 1-4.824 4.37H57.862a5.047 5.047 0 0 1-4.816-4.361c-1.93-11.25-5.066-29.464-8.717-50.771Z",stroke:"#000",strokeWidth:.2})]})]}))}},44078:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({},e),{},{className:"min-icon",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 121.755 29.822",children:(0,a.jsx)("path",{className:"prefix__a",d:"M15.647 15.935l-1.772 1.194a6.088 6.088 0 00-5.135-2.652 6.348 6.348 0 00-6.522 6.654 6.348 6.348 0 006.522 6.654 6.031 6.031 0 005.124-2.64l1.735 1.266a8.126 8.126 0 01-6.859 3.411A8.422 8.422 0 010 21.131a8.422 8.422 0 018.74-8.691 7.963 7.963 0 016.907 3.495zM35.641 21.131a8.422 8.422 0 01-8.74 8.691 8.422 8.422 0 01-8.739-8.691 8.421 8.421 0 018.739-8.691 8.422 8.422 0 018.74 8.691zm-15.261 0a6.347 6.347 0 006.521 6.654 6.347 6.347 0 006.521-6.654 6.347 6.347 0 00-6.521-6.654 6.347 6.347 0 00-6.521 6.654zM53.729 29.581h-1.917l-10.2-13.26-.012 13.248h-2.122V12.681h1.917l10.21 13.26V12.693h2.122zM69.551 16.02a8.835 8.835 0 00-5-1.555c-2.471 0-4.231 1.109-4.231 2.929 0 1.531 1.29 2.315 3.821 2.628l1.484.181c2.856.35 5.3 1.507 5.3 4.484 0 3.364-3.05 5.123-6.7 5.123a10.935 10.935 0 01-6.654-2.194l1.157-1.687a9.018 9.018 0 005.5 1.868c2.519 0 4.5-1.025 4.5-2.929 0-1.567-1.41-2.314-4.038-2.64l-1.567-.193c-2.784-.337-5-1.627-5-4.508 0-3.255 2.893-5.075 6.449-5.075a10.336 10.336 0 016.076 1.844zM91.268 21.131a8.422 8.422 0 01-8.74 8.691 8.422 8.422 0 01-8.739-8.691 8.421 8.421 0 018.739-8.691 8.422 8.422 0 018.74 8.691zm-15.261 0a6.348 6.348 0 006.521 6.654 6.347 6.347 0 006.521-6.654 6.347 6.347 0 00-6.521-6.654 6.348 6.348 0 00-6.521 6.654zM106.897 29.569h-11.79V12.693h2.122v14.863h9.668zM121.76 29.569h-11.982V12.693h11.862v1.988h-9.74v5.389h9.427v2H111.9v5.509h9.86zM14.9.167h2.576v7.547H14.9zM11.801.238l-5.23 3.194a.229.229 0 01-.242 0L1.099.238a.726.726 0 00-.374-.1H.719a.717.717 0 00-.717.717v6.864h2.574V4.462a.258.258 0 01.392-.22l2.931 1.793a.919.919 0 00.944.009L9.935 4.23a.258.258 0 01.388.222v3.267h2.575V.855a.717.717 0 00-.717-.717h-.006a.723.723 0 00-.374.1zM30.348.165h-2.613v3.463a.258.258 0 01-.379.228L20.585.249a.723.723 0 00-.337-.084.717.717 0 00-.717.717v6.832h2.592V4.306a.258.258 0 01.379-.227l6.8 3.606a.714.714 0 00.336.083.716.716 0 00.717-.717V.165zM32.439 7.712V.165h1.2v7.547zM40.536 7.878c-3.189 0-5.451-1.513-5.451-3.939S37.361 0 40.536 0s5.466 1.513 5.466 3.939-2.236 3.939-5.466 3.939zm0-6.87c-2.371 0-4.2 1.036-4.2 2.931s1.826 2.93 4.2 2.93 4.212-1.022 4.212-2.93-1.84-2.931-4.212-2.931z"})}))}},24957:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 6972",d:"M215.641 255.9H87.69a22.585 22.585 0 0 1-16.605-6.812 22.542 22.542 0 0 1-6.8-16.6v-162.8a21.969 21.969 0 0 1 6.807-16.058 22.654 22.654 0 0 1 16.6-6.807h127.951a21.95 21.95 0 0 1 16.059 6.807 22.014 22.014 0 0 1 6.813 16.058v162.8a22.6 22.6 0 0 1-6.812 16.613 21.94 21.94 0 0 1-16.037 6.8ZM87.69 232.486h127.951v-162.8H87.69ZM18 189V12A12 12 0 0 1 30 0h139a12 12 0 0 1 12 12 12 12 0 0 1-12 12H42v165a12 12 0 0 1-11.992 12A12 12 0 0 1 18 189Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 918",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},35336:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:(0,a.jsxs)("g",{id:"trash-icn",transform:"translate(0 0)",children:[(0,a.jsx)("path",{fill:"currentcolor",d:"M219.6,16.2h-49.7V8.4c0-3.4-2.7-6.1-6.1-6.1H92.2c-3.4,0-6.1,2.7-6.1,6.1v7.8H36.3 c-3.4,0-6.1,2.8-6.1,6.2V38c0,3.4,2.7,6.1,6.1,6.1h183.3c3.4,0,6.1-2.7,6.1-6.1V22.4C225.8,19,223.1,16.2,219.6,16.2 C219.7,16.2,219.6,16.2,219.6,16.2z"}),(0,a.jsx)("path",{fill:"currentcolor",d:"M44.2,225.5c0,15.6,12.7,28.2,28.2,28.2h111.2c15.6-0.1,28.2-12.7,28.2-28.2V58.1H44.2V225.5z"})]})}))}},73891:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 17",d:"M.449 128.494A128.188 128.188 0 0 1 128.494.45h10.6v52.857a76.1 76.1 0 0 1 46.531 25.151 75.572 75.572 0 0 1 13.854 22.845 75.251 75.251 0 0 1 5.039 27.189 76.11 76.11 0 0 1-76.023 76.022 76.1 76.1 0 0 1-76.012-76.022 75.291 75.291 0 0 1 5.037-27.189 75.678 75.678 0 0 1 13.85-22.845 76.135 76.135 0 0 1 46.555-25.151v-31.18a106.369 106.369 0 0 0-19.6 3.814 106.378 106.378 0 0 0-18.193 7.25 107.579 107.579 0 0 0-16.385 10.312A108.253 108.253 0 0 0 49.54 56.524a108.229 108.229 0 0 0-11.676 15.37 107.348 107.348 0 0 0-8.787 17.356 106.17 106.17 0 0 0-7.459 39.244 107.008 107.008 0 0 0 106.877 106.892 107.017 107.017 0 0 0 106.9-106.892 10.5 10.5 0 0 1 3.1-7.479 10.49 10.49 0 0 1 7.475-3.1 10.593 10.593 0 0 1 10.584 10.58 128.2 128.2 0 0 1-128.057 128.057A128.2 128.2 0 0 1 .449 128.494Zm99.967-47.048a55.106 55.106 0 0 0-14.062 12.016 54.643 54.643 0 0 0-9.336 16.083 54.492 54.492 0 0 0-3.379 18.95 54.464 54.464 0 0 0 4.316 21.333 54.924 54.924 0 0 0 5.068 9.317 55.648 55.648 0 0 0 6.7 8.12 55.546 55.546 0 0 0 8.125 6.7 54.955 54.955 0 0 0 9.316 5.068 54.353 54.353 0 0 0 21.328 4.316 54.917 54.917 0 0 0 54.854-54.857 54.492 54.492 0 0 0-3.379-18.95 54.614 54.614 0 0 0-9.326-16.083 55.144 55.144 0 0 0-14.049-12.016 54.571 54.571 0 0 0-17.5-6.723v30.482a25.816 25.816 0 0 1 10.824 9.254 25.366 25.366 0 0 1 4.211 14.035 25.433 25.433 0 0 1-2.014 9.982 25.524 25.524 0 0 1-5.494 8.145 25.5 25.5 0 0 1-8.145 5.493 25.518 25.518 0 0 1-9.982 2.015 25.477 25.477 0 0 1-9.973-2.015 25.621 25.621 0 0 1-8.148-5.493 25.538 25.538 0 0 1-5.488-8.145 25.522 25.522 0 0 1-2.016-9.982 25.393 25.393 0 0 1 4.207-14.035 25.82 25.82 0 0 1 10.848-9.254V74.72a54.537 54.537 0 0 0-17.508 6.73Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 878",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},51420:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 870",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("g",{"data-name":"download-icn",children:(0,a.jsx)("path",{"data-name":"Trazado 362",d:"M0 104.08c0-21.751 32.822-21.751 32.822 0v118.833h190.356V104.08c0-21.751 32.822-21.751 32.822 0v135.381a16.48 16.48 0 0 1-16.4 16.54H16.415a16.485 16.485 0 0 1-16.413-16.54V104.08Zm144.415-87.773c0-21.741-32.826-21.741-32.826 0v138.227l-18.591-18.743c-15.263-15.385-38.474 8.006-23.211 23.391l46.51 46.879a16.339 16.339 0 0 0 23.406 0l46.507-46.879c15.266-15.385-7.945-38.776-23.208-23.391l-18.587 18.743V16.306Z"})})]})]}))}},59078:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"edit-icn",d:"M201.683 0a56.44 56.44 0 0 0-38.86 15.85L18.897 159.94a13.219 13.219 0 0 0-3.838 7.2L.187 239.67a13.355 13.355 0 0 0 3.838 12.488A14.56 14.56 0 0 0 14.1 256a6.078 6.078 0 0 0 2.879-.48l71.962-13.932a13.2 13.2 0 0 0 7.2-3.842L240.063 93.658c21.109-21.133 21.109-56.2 0-77.328A52.948 52.948 0 0 0 201.683 0ZM51.521 220.938a29.883 29.883 0 0 0-6.717-9.126 40.622 40.622 0 0 0-9.115-6.724l5.277-24.976a46.056 46.056 0 0 1 23.508 12.008 42.7 42.7 0 0 1 11.994 23.535ZM220.393 73.966 92.299 201.726a56.271 56.271 0 0 0-14.872-23.054 65.573 65.573 0 0 0-23.028-14.89l128.094-128.24a26.406 26.406 0 0 1 19.19-7.685 28.509 28.509 0 0 1 19.19 7.685 27.729 27.729 0 0 1-.48 38.424Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 867",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},30510:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 442",d:"M235.994 77.357c.388-15.754 1.486-43.417.028-59.116C234.928 6.486 221.639 1.196 212.322 1 205.771-.478 80.8.119 36.406.119 26.889.13 19.006 8.719 19 18.241v220.678a17.26 17.26 0 0 0 17.24 17.241h182.544a17.26 17.26 0 0 0 17.241-17.241V128.974c-.005-17.183-.451-34.458-.031-51.617Zm-20.92 145.986a14.889 14.889 0 0 1-14.888 14.888H51.816a14.888 14.888 0 0 1-14.888-14.888V33.82a14.889 14.889 0 0 1 14.887-14.888h99.55v25.459a37.8 37.8 0 0 0 37.756 37.759h25.952Zm0-157.656h-25.952a21.32 21.32 0 0 1-21.3-21.3V18.928h32.358a14.889 14.889 0 0 1 14.889 14.887Z"}),(0,a.jsx)("path",{"data-name":"Trazado 443",d:"M190.043 108.409h-2.858v-.481c0-4.811-3.442-8.716-7.847-8.89-3.582-.139-7.333-.09-11.4.146v-8.975a9.1 9.1 0 0 0-3.651-7.42 7.623 7.623 0 0 0-8.069-.585 103.462 103.462 0 0 0-20.433 14.719 147.056 147.056 0 0 0-10.4 10.7 128.076 128.076 0 0 0-16.659-5.074 127.9 127.9 0 0 0-34.506-3.51c-4.378.2-7.8 4.1-7.8 8.888v.483h-2.858c-4.489 0-8.141 3.989-8.141 8.892v71.865c0 8.348 6.119 15.14 13.641 15.14h35.989a17.914 17.914 0 0 1 12.641 5.463 12.749 12.749 0 0 0 9.108 3.911h.024a12.907 12.907 0 0 0 9.054-3.9 17.918 17.918 0 0 1 12.68-5.474h35.987c7.522 0 13.641-6.792 13.641-15.14v-71.858c-.006-4.908-3.657-8.9-8.143-8.9Zm-68.633 79.066a124.047 124.047 0 0 0-12.692-3.692 127.989 127.989 0 0 0-28.66-3.509c-1.549 0-2.857-1.653-2.857-3.607v-66.1h2.114a117.162 117.162 0 0 1 42.1 7.846Zm54.992-10.809c0 1.955-1.308 3.607-2.88 3.607a129.374 129.374 0 0 0-26.5 2.984 89.847 89.847 0 0 1 13.362-9.124 15.293 15.293 0 0 0 7.55-13.56v-49.836a112.11 112.11 0 0 1 8.463-.239Zm-19.251-16.057a3.781 3.781 0 0 1-1.6 3.282 100.834 100.834 0 0 0-19.759 14.271 113.862 113.862 0 0 0-3.6 3.464v-64.967a131.421 131.421 0 0 1 10.636-10.965l.011-.009a91.536 91.536 0 0 1 14.314-10.886Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 897",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},78162:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 432",d:"M235.994 77.198c.387-15.753.958-32.242-.5-47.941-1.093-11.756-6.192-21.735-17.831-25.916a42.553 42.553 0 0 0-5.016-1.447c-6.55-1.478-13.432-1.6-20.09-1.8-11.727-.343-23.45.366-35.176.314-23.494-.1-46.986.322-70.479.414q-4.228.018-8.456.017H36.24A17.26 17.26 0 0 0 19 18.08v220.679A17.26 17.26 0 0 0 36.24 256h182.54a17.26 17.26 0 0 0 17.24-17.241V128.816c-.002-17.183-.452-34.459-.026-51.618ZM215.068 223.19a14.888 14.888 0 0 1-14.889 14.888H51.81a14.888 14.888 0 0 1-14.888-14.888V33.662A14.888 14.888 0 0 1 51.81 18.774h99.549v25.459a37.8 37.8 0 0 0 37.756 37.759h25.953Zm0-157.656h-25.952a21.32 21.32 0 0 1-21.3-21.3V18.775h32.358a14.888 14.888 0 0 1 14.894 14.888Z"}),(0,a.jsx)("path",{"data-name":"Trazado 433",d:"M142.243 86.687a7.664 7.664 0 0 0-5.873.748 7.728 7.728 0 0 0-3.655 4.732l-27.607 102.662a7.778 7.778 0 0 0 5.464 9.515 7.487 7.487 0 0 0 2.023.276 7.828 7.828 0 0 0 3.885-1.039 7.641 7.641 0 0 0 3.63-4.712l27.606-102.662a7.781 7.781 0 0 0-5.474-9.52Z"}),(0,a.jsx)("path",{"data-name":"Trazado 434",d:"m76.404 145.413 20.711-20.71a7.78 7.78 0 0 0 0-10.99 7.8 7.8 0 0 0-10.985 0l-.224.278c-.44.642-3.849 3.92-7.146 7.09-17.4 16.732-21.453 21.528-21.139 24-.5 3.044 4.393 8.7 20.83 24.509 3.423 3.292 6.963 6.7 7.418 7.429l.213.275a7.338 7.338 0 0 0 5.313 2.366 7.168 7.168 0 0 0 1.8-.232 8.626 8.626 0 0 0 6-5.946 7.17 7.17 0 0 0-2.045-7.1Z"}),(0,a.jsx)("path",{"data-name":"Trazado 435",d:"M159.273 111.622a8.619 8.619 0 0 0-5.932 6 7.187 7.187 0 0 0 2.121 7.1l20.906 20.685-20.9 20.9a7.5 7.5 0 0 0-1.677 8.451 7.574 7.574 0 0 0 6.88 4.852 2.3 2.3 0 0 0 .538.062c2.979 0 8.8-5.225 24.1-21.218 3.243-3.389 6.6-6.894 7.281-7.345l.282-.224a7.734 7.734 0 0 0 2.277-5.524 7.746 7.746 0 0 0-2.308-5.523l-26.444-26.164a7.188 7.188 0 0 0-7.124-2.047Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 899",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},30272:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 447",d:"M179.66 125.384a51.282 51.282 0 0 0-1.483-3.533l8.145-10.875a7.2 7.2 0 0 0-.642-9.386l-14.659-14.767a7.2 7.2 0 0 0-9.387-.646l-10.881 8.2a51.149 51.149 0 0 0-3.53-1.482l-1.939-13.476a7.12 7.12 0 0 0-7.15-6.163h-20.755a7.156 7.156 0 0 0-7.166 6.16l-1.941 13.479q-1.8.675-3.532 1.483l-10.929-8.2a7.2 7.2 0 0 0-9.391.646l-14.654 14.653a7.2 7.2 0 0 0-.648 9.388l8.2 10.881a51.536 51.536 0 0 0-1.482 3.53l-13.474 1.939a7.181 7.181 0 0 0-6.165 7.15v20.7a7.186 7.186 0 0 0 6.16 7.165l13.479 1.939q.675 1.8 1.484 3.535l-8.2 10.98a7.2 7.2 0 0 0 .646 9.391l14.654 14.653a7.2 7.2 0 0 0 9.387.647l10.882-8.2a50.342 50.342 0 0 0 3.528 1.483l1.94 13.474a7.185 7.185 0 0 0 7.081 6.165h20.771a7.22 7.22 0 0 0 7.166-6.16l1.941-13.479a50.349 50.349 0 0 0 3.531-1.484l10.875 8.143a7.2 7.2 0 0 0 9.392-.646l14.654-14.654a7.2 7.2 0 0 0 .65-9.381l-8.1-10.828a50.638 50.638 0 0 0 1.483-3.535l13.474-1.938a7.182 7.182 0 0 0 6.166-7.15v-20.77a7.13 7.13 0 0 0-6.093-7.1Zm-12.348 30.522a42.91 42.91 0 0 1-3.577 9.063 7.2 7.2 0 0 0 .038 7.61l7.2 9.616-5.855 5.973-9.47-7.247-.139-.1a7.179 7.179 0 0 0-7.534-.038 39.415 39.415 0 0 1-9.257 3.8 7.172 7.172 0 0 0-5.159 5.873l-1.707 11.559h-8.267l-1.709-11.767a7.173 7.173 0 0 0-5.178-5.883 39.4 39.4 0 0 1-9.232-3.8 7.235 7.235 0 0 0-7.666.335l-9.5 7.124-5.972-5.855 7.245-9.47.09-.13a7.156 7.156 0 0 0 .052-7.583 43.013 43.013 0 0 1-3.81-9.216 7.17 7.17 0 0 0-5.872-5.161l-11.559-1.7v-8.26l11.768-1.708a7.178 7.178 0 0 0 5.885-5.187 42.913 42.913 0 0 1 3.577-9.167 7.2 7.2 0 0 0-.041-7.6l-7.344-9.613 5.982-5.985 9.484 7.256.139.1a7.19 7.19 0 0 0 7.534.037 39.448 39.448 0 0 1 9.257-3.8 7.168 7.168 0 0 0 5.16-5.872l1.7-11.559h8.268l1.708 11.768a7.179 7.179 0 0 0 5.178 5.883 39.363 39.363 0 0 1 9.232 3.793 7.237 7.237 0 0 0 7.668-.333l9.5-7.125 5.971 5.855-7.252 9.479a7.147 7.147 0 0 0-.511 7.865 42.925 42.925 0 0 1 3.81 9.217 7.173 7.173 0 0 0 5.877 5.162l11.792 1.712.117 8.208-11.746 1.706a7.179 7.179 0 0 0-5.879 5.17Z"}),(0,a.jsx)("path",{"data-name":"Trazado 448",d:"M127.721 119.558a25.249 25.249 0 0 0-25.22 25.22 25.249 25.249 0 0 0 25.22 25.221 25.249 25.249 0 0 0 25.221-25.221 25.249 25.249 0 0 0-25.221-25.22Zm12.6 25.22a12.609 12.609 0 0 1-12.6 12.6 12.61 12.61 0 0 1-12.6-12.6 12.611 12.611 0 0 1 12.6-12.6 12.61 12.61 0 0 1 12.6 12.6Z"}),(0,a.jsx)("path",{"data-name":"Trazado 449",d:"M235.999 77.198c.388-15.754.957-32.242-.5-47.941-1.094-11.755-6.193-21.735-17.831-25.914a42.8 42.8 0 0 0-5.016-1.448c-6.551-1.478-13.433-1.6-20.09-1.8-11.727-.344-23.449.366-35.177.314-23.493-.1-46.985.323-70.479.414Q82.678.84 78.451.84h-42.21A17.261 17.261 0 0 0 19 18.08v220.68A17.261 17.261 0 0 0 36.241 256h182.541a17.26 17.26 0 0 0 17.24-17.24V128.815c.002-17.182-.445-34.458-.023-51.617Zm-20.922 145.988a14.887 14.887 0 0 1-14.888 14.887H51.821a14.888 14.888 0 0 1-14.888-14.887V33.662a14.888 14.888 0 0 1 14.888-14.888h99.547v25.459a37.8 37.8 0 0 0 37.758 37.759h25.951Zm0-157.656h-25.951a21.321 21.321 0 0 1-21.3-21.3V18.771h32.359a14.888 14.888 0 0 1 14.888 14.888Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 900",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},52383:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 438",d:"M126.658 93.01c-30.337 0-62.989 7.141-62.989 22.82v79.924c0 15.678 32.651 22.82 62.989 22.82s62.989-7.142 62.989-22.82V115.83c-.001-15.679-32.652-22.82-62.989-22.82Zm49.139 102.743c-.12 2.517-15.67 10.8-49.139 10.8-33.187 0-48.925-8.288-49.14-10.8v-25.689c11.441 4.913 29.524 7.81 49.14 7.81 19.684 0 37.763-2.908 49.139-7.843Zm0-40.7c-.223 2.52-15.96 10.8-49.139 10.8s-48.925-8.29-49.14-10.8v-24.252c11.42 4.937 29.5 7.846 49.14 7.846 19.684 0 37.763-2.907 49.139-7.842Zm-49.139-28.42c-33.187 0-48.925-8.289-49.14-10.8.214-2.518 15.952-10.807 49.14-10.807s48.925 8.289 49.139 10.8c-.214 2.515-15.952 10.8-49.139 10.8Z"}),(0,a.jsx)("path",{"data-name":"Trazado 439",d:"M89.357 178.684a9.167 9.167 0 0 0-9.158 9.156 9.167 9.167 0 0 0 9.158 9.158 9.166 9.166 0 0 0 9.158-9.158 9.167 9.167 0 0 0-9.158-9.156Z"}),(0,a.jsx)("path",{"data-name":"Trazado 440",d:"M89.357 140.292a9.167 9.167 0 0 0-9.158 9.157 9.167 9.167 0 0 0 9.158 9.158 9.167 9.167 0 0 0 9.158-9.158 9.168 9.168 0 0 0-9.158-9.157Z"}),(0,a.jsx)("path",{"data-name":"Trazado 441",d:"M235.992 77.197c.387-15.753.958-32.242-.5-47.941-1.093-11.755-6.192-21.736-17.831-25.914a42.8 42.8 0 0 0-5.016-1.448c-6.549-1.478-13.432-1.6-20.09-1.8-11.727-.344-23.448.366-35.176.314-23.494-.1-46.986.323-70.478.414q-4.229.018-8.457.017H36.239a17.26 17.26 0 0 0-17.24 17.24V238.76a17.26 17.26 0 0 0 17.24 17.241h182.539a17.261 17.261 0 0 0 17.241-17.241V128.814c-.002-17.183-.449-34.454-.027-51.617ZM215.07 223.184a14.888 14.888 0 0 1-14.888 14.888H51.814a14.888 14.888 0 0 1-14.889-14.889V33.66a14.888 14.888 0 0 1 14.889-14.888h99.548V44.23a37.8 37.8 0 0 0 37.756 37.758h25.952Zm0-157.656h-25.952a21.32 21.32 0 0 1-21.295-21.3V18.77h32.359a14.888 14.888 0 0 1 14.888 14.888Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 901",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},35031:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 450",d:"M235.991 77.198c.388-15.754.958-32.241-.5-47.941-1.094-11.755-6.193-21.736-17.831-25.914a42.421 42.421 0 0 0-5.017-1.448c-6.549-1.478-13.432-1.6-20.09-1.8-11.726-.343-23.448.365-35.175.314-23.493-.1-46.985.323-70.479.414q-4.228.016-8.456.017H36.237a17.26 17.26 0 0 0-17.24 17.241v220.678A17.259 17.259 0 0 0 36.237 256h182.541a17.259 17.259 0 0 0 17.241-17.241V128.816c-.007-17.183-.454-34.458-.028-51.618Zm-20.922 145.988a14.888 14.888 0 0 1-14.888 14.888H51.813a14.888 14.888 0 0 1-14.888-14.888V33.662a14.888 14.888 0 0 1 14.888-14.888h99.548v25.459a37.8 37.8 0 0 0 37.757 37.759h25.951Zm0-157.656h-25.951a21.321 21.321 0 0 1-21.3-21.3V18.771h32.359a14.888 14.888 0 0 1 14.888 14.888Z"}),(0,a.jsx)("path",{"data-name":"Trazado 451",d:"M182.548 83.841a8.758 8.758 0 0 0-6.293 2.408 8.758 8.758 0 0 0-2.721 6.164c-.094 3.782-4.306 9.1-10.941 11.1-12.038 3.631-30.066 2.206-43.232 1.163-4.439-.351-8.273-.655-11.49-.746-10.771-.3-17.189 3.835-20.7 7.365-5.5 5.526-7.347 12.842-7.571 20.381-.1 3.232-.545 6.4 1.436 9.188a8.729 8.729 0 0 0 7.057 3.66h1.932c3.206 0 5.272-2.557 6.179-5.394.88-2.755.889-5.681 1.086-8.538.174-2.509.518-5.1 2.416-6.953 1.544-1.508 4.119-2.224 7.659-2.122 2.773.08 6.4.366 10.6.7 2.125.168 4.374.344 6.7.509a283.562 283.562 0 0 1-1.593 29.877h-25.08a8.8 8.8 0 0 0-8.8 8.8 8.8 8.8 0 0 0 8.8 8.8h22.449c-2.426 12.2-6.025 22.628-11.124 27.883-2.627 2.707-4.779 3.054-6.362 3.054-7.431 0-8.671-5.945-8.75-9.4a8.8 8.8 0 0 0-8.8-8.8 8.8 8.8 0 0 0-8.8 8.792 32.28 32.28 0 0 0 3.064 12.92c4.373 9.077 12.64 14.074 23.28 14.075a26.113 26.113 0 0 0 18.985-8.4c8.565-8.827 13.551-24.242 16.438-40.135h18.471a8.8 8.8 0 0 0 8.8-8.8 8.8 8.8 0 0 0-8.8-8.8h-16.049c1.153-11.616 1.425-22.208 1.444-29.165 8.812-.018 17.721-.757 25.42-3.079 13.5-4.074 23.143-15.385 23.447-27.508a8.8 8.8 0 0 0-8.557-8.999Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 902",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},79877:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 422",d:"M236.186 77.259c.389-15.768.96-32.27-.5-47.984-1.1-11.766-6.2-21.754-17.847-25.937a42.726 42.726 0 0 0-5.02-1.449c-6.556-1.479-13.445-1.6-20.108-1.8-11.737-.344-23.47.366-35.207.314-23.515-.1-47.027.324-70.541.415q-4.232.017-8.464.017H36.256A17.275 17.275 0 0 0 19 18.091v220.875a17.2 17.2 0 0 0 5.19 12.315v.033h.037a17.19 17.19 0 0 0 12.026 4.906h182.7a17.275 17.275 0 0 0 17.256-17.256V128.928c.002-17.198-.444-34.49-.023-51.669Zm-68.228-58.476h32.387a14.9 14.9 0 0 1 14.9 14.9v31.9h-25.974a21.339 21.339 0 0 1-21.313-21.315Zm-116.114 0h99.637v25.481a37.835 37.835 0 0 0 37.79 37.792h25.974v94.9l-15.227-26.374a28.352 28.352 0 0 0-24.8-14.32 28.387 28.387 0 0 0-24.85 14.4l-10.021 17.81-27.633-47.861a28.351 28.351 0 0 0-24.8-14.319 28.389 28.389 0 0 0-24.849 14.4l-26.117 46.422V33.689a14.9 14.9 0 0 1 14.9-14.9Zm-9.864 215.74a14.9 14.9 0 0 1-1.691-1.746l-1.562-34.31 39.036-69.391a11.6 11.6 0 0 1 10.146-5.857 11.6 11.6 0 0 1 10.146 5.857L159.442 235.4Zm158.364 3.754h-19.7l-30.466-52.769 14.889-26.465a11.6 11.6 0 0 1 10.146-5.858 11.6 11.6 0 0 1 10.146 5.858l29.884 51.762v12.57a14.9 14.9 0 0 1-14.9 14.9Z"}),(0,a.jsx)("path",{"data-name":"Trazado 423",d:"M88.377 96.213a33.38 33.38 0 0 0 33.343-33.344 33.381 33.381 0 0 0-33.343-33.344 33.38 33.38 0 0 0-33.344 33.344 33.381 33.381 0 0 0 33.344 33.344Zm0-49.763a16.438 16.438 0 0 1 16.418 16.419 16.438 16.438 0 0 1-16.418 16.419 16.438 16.438 0 0 1-16.419-16.419A16.437 16.437 0 0 1 88.377 46.45Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 903",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},60317:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 467",d:"M235.995 77.198c.388-15.753.958-32.241-.5-47.941-1.094-11.756-6.192-21.735-17.831-25.916a42.81 42.81 0 0 0-5.016-1.447c-6.551-1.479-13.433-1.6-20.09-1.8-11.727-.343-23.449.364-35.176.313-23.494-.1-46.986.324-70.48.415q-4.226.015-8.455.017H36.241a17.26 17.26 0 0 0-17.24 17.241v220.678a17.26 17.26 0 0 0 17.24 17.241h182.541a17.26 17.26 0 0 0 17.241-17.241V128.816c-.001-17.183-.447-34.459-.028-51.618Zm-20.921 145.989a14.888 14.888 0 0 1-14.887 14.887H51.817a14.888 14.888 0 0 1-14.888-14.887V33.662a14.888 14.888 0 0 1 14.888-14.888h99.548v25.458a37.8 37.8 0 0 0 37.757 37.76h25.952Zm0-157.657h-25.952a21.321 21.321 0 0 1-21.3-21.3V18.772h32.358a14.889 14.889 0 0 1 14.888 14.887Z"}),(0,a.jsx)("path",{"data-name":"Trazado 468",d:"M167.462 106.737h-11.678V94.561a28.113 28.113 0 0 0-28.066-27.984h-.044a28.117 28.117 0 0 0-28.069 27.99v12.17H87.924a23.834 23.834 0 0 0-23.776 23.767v45.491a23.675 23.675 0 0 0 22.986 23.75l40.558 7.889 40.559-7.889a23.675 23.675 0 0 0 22.986-23.753V130.5a23.832 23.832 0 0 0-23.776-23.764Zm-52.872-12.17a13.109 13.109 0 0 1 13.091-13.042h.023a13.106 13.106 0 0 1 13.087 13.042v12.17h-26.2Zm61.656 81.424a8.831 8.831 0 0 1-8.788 8.821h-.725l-39.043 7.592-38.843-7.553-.4-.039h-.515a8.833 8.833 0 0 1-8.794-8.822V130.5a8.831 8.831 0 0 1 8.789-8.82h79.529a8.831 8.831 0 0 1 8.794 8.821Z"}),(0,a.jsx)("path",{"data-name":"Trazado 469",d:"M127.556 141.528a12.366 12.366 0 0 0-12.353 12.351 12.322 12.322 0 0 0 4.507 9.544v7.2a7.547 7.547 0 0 0 7.517 7.512h.659a7.547 7.547 0 0 0 7.511-7.517v-7.191a12.324 12.324 0 0 0 4.507-9.542 12.367 12.367 0 0 0-12.349-12.357Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 904",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},80479:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 452",d:"M235.994 77.199c.388-15.754.958-32.243-.5-47.941-1.094-11.756-6.193-21.735-17.831-25.915a42.633 42.633 0 0 0-5.017-1.448c-6.549-1.478-13.432-1.6-20.09-1.8-11.726-.345-23.448.364-35.175.314-23.493-.1-46.985.322-70.479.414q-4.228.015-8.456.017H36.243a17.26 17.26 0 0 0-17.241 17.24v220.679A17.26 17.26 0 0 0 36.243 256h182.541a17.26 17.26 0 0 0 17.241-17.241V128.816c-.006-17.183-.453-34.459-.031-51.617Zm-20.922 145.986a14.888 14.888 0 0 1-14.888 14.888H51.816a14.888 14.888 0 0 1-14.888-14.888V33.662a14.887 14.887 0 0 1 14.888-14.887h99.548v25.463a37.8 37.8 0 0 0 37.758 37.759h25.951Zm0-157.656h-25.951a21.321 21.321 0 0 1-21.3-21.3V18.771h32.359a14.887 14.887 0 0 1 14.888 14.888Z"}),(0,a.jsx)("path",{"data-name":"Trazado 453",d:"m84.317 135.27 10.527-10.778 10.528 10.778a2.112 2.112 0 0 0 1.512.637 2.113 2.113 0 0 0 1.512-.637l8.915-9.127a2.114 2.114 0 0 0 0-2.954l-10.6-10.849 10.6-10.851a2.114 2.114 0 0 0 0-2.954l-8.915-9.126a2.175 2.175 0 0 0-3.025 0l-10.528 10.778-10.527-10.778a2.109 2.109 0 0 0-1.511-.637 2.113 2.113 0 0 0-1.512.637l-8.916 9.126a2.116 2.116 0 0 0 0 2.954l10.6 10.851-10.6 10.849a2.116 2.116 0 0 0 0 2.954l8.916 9.127a2.174 2.174 0 0 0 3.024 0Z"}),(0,a.jsx)("path",{"data-name":"Trazado 454",d:"m181.539 98.535-8.915-9.126a2.176 2.176 0 0 0-3.024 0l-10.523 10.778-10.528-10.778a2.114 2.114 0 0 0-1.512-.637 2.112 2.112 0 0 0-1.512.637l-8.915 9.126a2.114 2.114 0 0 0 0 2.954l10.6 10.851-10.6 10.849a2.114 2.114 0 0 0 0 2.954l8.915 9.127a2.175 2.175 0 0 0 3.025 0l10.528-10.778 10.523 10.778a2.114 2.114 0 0 0 1.511.637 2.114 2.114 0 0 0 1.511-.637l8.915-9.127a2.114 2.114 0 0 0 0-2.954l-10.594-10.849 10.594-10.851a2.114 2.114 0 0 0 0-2.954Z"}),(0,a.jsx)("path",{"data-name":"Trazado 455",d:"M169.529 160.901a66.964 66.964 0 0 0-40.3-13.344 8.524 8.524 0 0 0-1.513.143 8.5 8.5 0 0 0-1.513-.143 66.96 66.96 0 0 0-40.3 13.344 8.455 8.455 0 0 0-1.729 11.83 8.442 8.442 0 0 0 6.786 3.406 8.417 8.417 0 0 0 5.046-1.677 50.177 50.177 0 0 1 30.2-9.993 8.478 8.478 0 0 0 1.513-.143 8.479 8.479 0 0 0 1.513.143 50.182 50.182 0 0 1 30.2 9.993 8.416 8.416 0 0 0 5.044 1.677 8.44 8.44 0 0 0 6.786-3.406 8.454 8.454 0 0 0-1.733-11.83Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 905",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},37634:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"Grupo 1552",children:[(0,a.jsx)("path",{"data-name":"Trazado 470",d:"M235.996 77.198c.387-15.753.958-32.242-.5-47.941-1.093-11.756-6.193-21.735-17.832-25.915a42.412 42.412 0 0 0-5.016-1.447c-6.549-1.479-13.431-1.6-20.09-1.8-11.726-.345-23.448.365-35.176.314-23.494-.1-46.986.322-70.479.414q-4.228.016-8.456.017H36.241A17.26 17.26 0 0 0 19 18.082v220.679a17.26 17.26 0 0 0 17.241 17.24h182.54a17.26 17.26 0 0 0 17.241-17.24V128.816c-.002-17.184-.448-34.459-.026-51.618Zm-20.921 145.986a14.889 14.889 0 0 1-14.888 14.889H51.818a14.89 14.89 0 0 1-14.889-14.888V33.662a14.888 14.888 0 0 1 14.889-14.888h99.548v25.458a37.8 37.8 0 0 0 37.756 37.759h25.952Zm0-157.657h-25.952a21.32 21.32 0 0 1-21.295-21.3V18.769h32.359a14.887 14.887 0 0 1 14.888 14.889Z"}),(0,a.jsx)("path",{"data-name":"Trazado 471",d:"m170.219 93.84-67.656 9.02-.128.016a13.3 13.3 0 0 0-12.025 13.473v55.664a22.934 22.934 0 0 0-7.98-1.435 23.085 23.085 0 0 0-23.061 23.061 23.085 23.085 0 0 0 23.06 23.059 23.084 23.084 0 0 0 23.059-23.058v-43.227c.361-4.418 1.57-5.6 2.015-5.89l58.69-7.827a1.443 1.443 0 0 1 .764.238 1.855 1.855 0 0 1 .25 1.174v23.663a23 23 0 0 0-7.981-1.434 23.086 23.086 0 0 0-23.059 23.06 23.085 23.085 0 0 0 23.059 23.058 23.085 23.085 0 0 0 23.059-23.058v-77.608c0-4.089-1.2-7.245-3.565-9.382a11.106 11.106 0 0 0-8.5-2.568ZM82.43 201.614a7.989 7.989 0 0 1-7.979-7.979 7.989 7.989 0 0 1 7.979-7.98 7.99 7.99 0 0 1 7.98 7.98 7.988 7.988 0 0 1-7.984 7.98Zm84.776-82.429c-.23 1.876-1.1 2.3-1.539 2.369l-57.957 7.728-.134.018a6.169 6.169 0 0 1-2.088 0v-8.793c0-2.208.833-2.8 1.762-3.063l58.3-7.776a2.29 2.29 0 0 1 1.444.261 1.972 1.972 0 0 1 .215 1.139Zm-7.979 72.19a7.991 7.991 0 0 1-7.98-7.981 7.991 7.991 0 0 1 7.98-7.981 7.991 7.991 0 0 1 7.981 7.979 7.993 7.993 0 0 1-7.989 7.984Z"})]}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 914",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},99884:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 463",d:"M235.994 77.198c.387-15.753.958-32.242-.5-47.941-1.092-11.756-6.191-21.735-17.831-25.915a42.409 42.409 0 0 0-5.016-1.447c-6.549-1.479-13.432-1.6-20.09-1.8-11.726-.345-23.448.365-35.176.314-23.494-.1-46.985.322-70.479.414q-4.228.016-8.456.017H36.24A17.26 17.26 0 0 0 19 18.082v220.679a17.26 17.26 0 0 0 17.24 17.24h182.537a17.26 17.26 0 0 0 17.241-17.24V128.816c0-17.184-.441-34.459-.024-51.618Zm-20.921 145.986a14.89 14.89 0 0 1-14.888 14.889H51.816a14.889 14.889 0 0 1-14.888-14.888V33.662a14.888 14.888 0 0 1 14.888-14.888h99.547v25.458a37.8 37.8 0 0 0 37.757 37.759h25.953Zm0-157.657H189.12a21.32 21.32 0 0 1-21.3-21.3V18.769h32.359a14.887 14.887 0 0 1 14.888 14.888Z"}),(0,a.jsx)("path",{"data-name":"Trazado 464",d:"M151.162 161.256c-3.776-4.195-7.131-8.391-10.908-13a132.358 132.358 0 0 1-11.746-16.361c3.775-13.424 7.132-28.946 3.775-39.015-2.517-7.551-8.39-11.326-16.361-10.487-8.81 1.257-14.263 7.131-14.263 16.36-.42 10.488 5.873 23.913 12.586 35.24a167.721 167.721 0 0 1-6.293 16.78 171.9 171.9 0 0 1-8.39 17.62c-4.615.839-9.23 2.517-13.425 3.775-11.746 4.2-20.136 8.81-24.331 14.263-5.455 6.293-5.035 14.263.419 20.557 3.355 3.775 7.132 5.454 11.327 5.454a17.615 17.615 0 0 0 8.81-2.518q9.439-5.663 20.138-21.4a80.8 80.8 0 0 0 5.454-8.81c5.036-1.258 10.488-2.1 15.942-2.936a212.07 212.07 0 0 1 21.814-2.1c9.649 10.069 22.235 20.557 33.142 21.814 8.391 1.259 15.1-2.937 17.619-11.327 2.1-7.551-.838-13.845-8.39-18.039-8.392-4.612-22.237-5.87-36.919-5.87Zm-74.673 37.756c-3.357 1.677-3.776.839-4.615 0-1.677-2.1-1.677-2.937-.42-4.2 2.937-3.355 9.649-7.132 18.459-10.067-4.615 6.719-9.65 11.749-13.425 14.267Zm41.112-103.62c1.678 0 2.1 0 2.937 2.1 1.258 3.775.839 10.487-.839 18.877-3.356-7.131-5.033-13-5.033-17.2 0-3.357 1.256-3.357 2.934-3.776Zm4.615 69.219a32.317 32.317 0 0 0-6.293.84c1.259-2.937 2.937-5.874 4.2-9.23.839-2.1 2.1-5.034 3.356-8.391 2.517 3.776 5.035 7.132 6.713 9.65.838 1.257 2.517 3.355 4.615 5.873-4.2 0-8.4.84-12.592 1.258Zm62.088 17.2c-1.259 2.938-2.1 2.938-3.775 2.518-4.2-.419-9.649-3.776-15.941-9.229a52.838 52.838 0 0 1 17.619 3.776c2.515 1.676 2.515 2.1 2.1 2.935Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 906",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},90474:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 444",d:"M235.958 77.227C235.538 39.16 246.367-2.76 192.526.143 154.511.233 116.47.8 78.437.886h-42.2A17.258 17.258 0 0 0 19 18.127v220.64a17.258 17.258 0 0 0 17.239 17.237h182.507a17.258 17.258 0 0 0 17.238-17.237c.185-53.84-.297-107.719-.026-161.54ZM215.04 223.188a14.885 14.885 0 0 1-14.885 14.885H51.813a14.885 14.885 0 0 1-14.885-14.885V33.7a14.885 14.885 0 0 1 14.885-14.885h99.53c-1.936 29.6.791 61.322 37.752 63.206h25.946Zm0-157.627c-17.937-.276-46.31 4.9-47.237-21.294V18.814c50.266-.527 47.99-3.935 47.237 46.748Z"}),(0,a.jsx)("path",{"data-name":"Trazado 445",d:"M176.796 143.181h-38.679v-38.679a14.6 14.6 0 0 0-14.583-14.583 67.335 67.335 0 0 0-47.88 19.965c-.024.025-.05.049-.074.076-14.337 14.727-21.3 32.279-20.122 50.76 1.034 16.3 8.392 32.066 20.717 44.393s28.09 19.689 44.391 20.728q2.015.128 4.01.128c17.006 0 33.1-6.949 46.761-20.245.027-.025.052-.051.077-.077a67.334 67.334 0 0 0 19.965-47.881 14.6 14.6 0 0 0-14.583-14.584Zm-16.552 51.22c-25.22 24.5-55.446 16.923-72.862-.5s-24.991-47.642-.484-72.852a51.594 51.594 0 0 1 35.368-15.27v45.323a7.924 7.924 0 0 0 7.926 7.925h45.321a51.61 51.61 0 0 1-15.269 35.374Z"}),(0,a.jsx)("path",{"data-name":"Trazado 446",d:"M155.325 89.758a11.919 11.919 0 0 0-9.153 8.878 7.863 7.863 0 0 0-.234 2.081c.124 6-.008 10.657-.115 14.4-.229 8.036-.38 13.344 3.644 17.37 3.151 3.152 6.925 3.753 12.42 3.753 1.532 0 3.2-.047 5.02-.1 3.731-.106 8.373-.237 14.344-.116a8.047 8.047 0 0 0 2.08-.233 11.921 11.921 0 0 0 8.874-9.17c2.028-9.1-5.3-22.075-10.235-26.638-4.575-4.933-17.569-12.261-26.645-10.225Zm11.138 30.541c-1.668.045-3.5.076-4.892.1 0-1.416.049-3.18.1-4.827.073-2.561.165-5.778.17-9.627 3.109 1.117 7.123 3.316 8.387 4.679a7.184 7.184 0 0 0 1.073 1.079c1.4 1.3 3.612 5.322 4.728 8.433-3.823 0-7.018.086-9.564.163Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 907",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},15874:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 426",d:"M235.995 77.197c.388-15.753.958-32.242-.5-47.941-1.094-11.756-6.193-21.735-17.831-25.914a42.4 42.4 0 0 0-5.017-1.448c-6.549-1.478-13.432-1.6-20.09-1.8-11.726-.343-23.448.366-35.175.314-23.493-.1-46.985.323-70.479.414q-4.228.018-8.455.017H36.241A17.26 17.26 0 0 0 19 18.08v220.679A17.261 17.261 0 0 0 36.241 256h182.542a17.26 17.26 0 0 0 17.24-17.241V128.815c.001-17.183-.45-34.459-.028-51.618Zm-20.922 145.988a14.888 14.888 0 0 1-14.888 14.888H51.816a14.888 14.888 0 0 1-14.892-14.884V33.661a14.888 14.888 0 0 1 14.888-14.888h99.548v25.459a37.8 37.8 0 0 0 37.764 37.757h25.951Zm0-157.656h-25.949a21.321 21.321 0 0 1-21.3-21.3V18.77h32.359a14.888 14.888 0 0 1 14.888 14.888Z"}),(0,a.jsx)("path",{"data-name":"Trazado 427",d:"M130.985 69.292h-69.1a8.455 8.455 0 0 1-8.455-8.455 8.455 8.455 0 0 1 8.455-8.455h69.1a8.455 8.455 0 0 1 8.455 8.455 8.455 8.455 0 0 1-8.455 8.455Z"}),(0,a.jsx)("path",{"data-name":"Trazado 428",d:"M130.985 102.607h-69.1a8.455 8.455 0 0 1-8.455-8.455 8.455 8.455 0 0 1 8.455-8.455h69.1a8.455 8.455 0 0 1 8.455 8.455 8.455 8.455 0 0 1-8.455 8.455Z"}),(0,a.jsx)("path",{"data-name":"Trazado 429",d:"M183.891 136.458H61.876a8.455 8.455 0 0 1-8.455-8.455 8.455 8.455 0 0 1 8.455-8.455h122.011a8.455 8.455 0 0 1 8.455 8.455 8.456 8.456 0 0 1-8.451 8.455Z"}),(0,a.jsx)("path",{"data-name":"Trazado 430",d:"M183.891 170.309H61.876a8.455 8.455 0 0 1-8.455-8.455 8.455 8.455 0 0 1 8.455-8.455h122.011a8.455 8.455 0 0 1 8.455 8.455 8.456 8.456 0 0 1-8.451 8.455Z"}),(0,a.jsx)("path",{"data-name":"Trazado 431",d:"M183.891 204.164H61.876a8.455 8.455 0 0 1-8.455-8.455 8.455 8.455 0 0 1 8.455-8.455h122.011a8.455 8.455 0 0 1 8.455 8.455 8.456 8.456 0 0 1-8.451 8.455Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 908",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},58729:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 424",d:"M235.995 77.199c.387-15.754.958-32.242-.5-47.942-1.092-11.755-6.192-21.735-17.832-25.915a42.444 42.444 0 0 0-5.016-1.447c-6.549-1.479-13.432-1.6-20.09-1.8-11.726-.344-23.449.364-35.176.314-23.494-.1-46.985.322-70.479.414q-4.229.016-8.456.017H36.24A17.26 17.26 0 0 0 19 18.08v220.68A17.26 17.26 0 0 0 36.24 256h182.538a17.26 17.26 0 0 0 17.241-17.24V128.818c0-17.184-.441-34.459-.024-51.619Zm-20.922 145.987a14.889 14.889 0 0 1-14.886 14.887H51.816a14.89 14.89 0 0 1-14.889-14.888V33.664a14.888 14.888 0 0 1 14.888-14.888h99.547v25.458a37.8 37.8 0 0 0 37.757 37.76h25.952Zm0-157.657h-25.952a21.32 21.32 0 0 1-21.295-21.3V18.771h32.359a14.888 14.888 0 0 1 14.888 14.888Z"}),(0,a.jsx)("path",{"data-name":"Trazado 425",d:"m171.914 125.006-61.323-35.407a17.725 17.725 0 0 0-17.9 0 17.717 17.717 0 0 0-8.953 15.5v70.811a17.718 17.718 0 0 0 8.951 15.5 17.865 17.865 0 0 0 8.952 2.427 17.872 17.872 0 0 0 8.952-2.427l61.323-35.4a17.723 17.723 0 0 0 8.952-15.5 17.72 17.72 0 0 0-8.954-15.504Zm-8.455 16.362-61.323 35.4a.914.914 0 0 1-.992 0 .911.911 0 0 1-.5-.86v-70.811a.909.909 0 0 1 .5-.858 1 1 0 0 1 .5-.147.959.959 0 0 1 .489.146l61.323 35.407a.909.909 0 0 1 .5.858.91.91 0 0 1-.5.865Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 909",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},49653:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 461",d:"M235.995 77.198c.386-15.753.957-32.242-.5-47.942-1.094-11.755-6.193-21.735-17.832-25.914a42.537 42.537 0 0 0-5.017-1.448c-6.549-1.479-13.432-1.6-20.09-1.8-11.726-.343-23.448.366-35.176.314-23.494-.1-46.985.324-70.479.415Q82.673.84 78.445.84H36.239a17.26 17.26 0 0 0-17.24 17.243v220.678a17.26 17.26 0 0 0 17.24 17.24h182.539a17.258 17.258 0 0 0 17.24-17.24V128.815c.002-17.183-.44-34.458-.023-51.617Zm-20.922 145.988a14.888 14.888 0 0 1-14.888 14.888H51.817a14.888 14.888 0 0 1-14.888-14.888V33.661a14.889 14.889 0 0 1 14.889-14.889h99.546v25.459a37.8 37.8 0 0 0 37.757 37.758h25.952Zm0-157.657h-25.952a21.32 21.32 0 0 1-21.294-21.3V18.771h32.359a14.889 14.889 0 0 1 14.889 14.889Z"}),(0,a.jsx)("path",{"data-name":"Trazado 462",d:"M192.898 109.951H62.537a8.455 8.455 0 0 0-8.455 8.455v99.762a8.456 8.456 0 0 0 8.456 8.457h130.36a8.456 8.456 0 0 0 8.455-8.455v-99.763a8.455 8.455 0 0 0-8.456-8.456ZM70.992 160.115h26.543v16.346H70.992Zm43.453 0h26.544v16.346h-26.544Zm43.454 0h26.544v16.346h-26.544Zm26.544-16.91h-26.544v-16.344h26.544Zm-43.454 0h-26.544v-16.344h26.544Zm-70-16.344h26.543v16.346H70.989Zm0 66.51h26.543v16.343H70.989Zm43.453 0h26.544v16.343h-26.544Zm70 16.343h-26.544v-16.343h26.544Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 911",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},25909:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{transform:"translate(3486.336 -3812.001)",children:[(0,a.jsx)("path",{"data-name":"Trazado 436",d:"M-3395.774 3897.42a17.685 17.685 0 0 0-5.245-10.691c-2.691-2.615-7.129-5.479-11.512-5.676-10-.465-18.68 6.74-19.754 16.366l-2.853 25.542a21.788 21.788 0 0 0-.126 2.327 21.263 21.263 0 0 0 21.193 21.28h.043a20.635 20.635 0 0 0 18.294-11.19 27.971 27.971 0 0 0 2.932-12.257c.2-5.784-.8-11.752-1.756-17.522-.475-2.872-.926-5.585-1.216-8.179Zm-18.24-3.68a4.229 4.229 0 0 1 4.224 4.224 4.23 4.23 0 0 1-4.224 4.225 4.231 4.231 0 0 1-4.225-4.225 4.23 4.23 0 0 1 4.226-4.224Zm0 40.129a10.573 10.573 0 0 1-10.561-10.561 10.572 10.572 0 0 1 10.561-10.56 10.573 10.573 0 0 1 10.561 10.56 10.574 10.574 0 0 1-10.56 10.561Z"}),(0,a.jsx)("circle",{"data-name":"Elipse 63",cx:2.111,cy:2.111,r:2.111,transform:"translate(-3416.125 3921.197)"}),(0,a.jsx)("path",{"data-name":"Trazado 437",d:"M-3250.337 3889.2c.387-15.754.958-32.242-.5-47.942-1.093-11.755-6.192-21.735-17.832-25.915a42.461 42.461 0 0 0-5.016-1.447c-6.549-1.479-13.432-1.6-20.09-1.8-11.727-.344-23.449.364-35.176.314-23.494-.1-46.986.322-70.479.414q-4.228.016-8.456.017h-42.206a17.26 17.26 0 0 0-17.241 17.24v220.68a17.26 17.26 0 0 0 17.241 17.24h182.54a17.26 17.26 0 0 0 17.241-17.24v-109.942c-.001-17.184-.448-34.459-.026-51.619Zm-20.922 145.987a14.888 14.888 0 0 1-14.886 14.887h-118.622v-21.342c.206.015.412.032.621.032h16.262a8.456 8.456 0 0 0 8.455-8.454 8.455 8.455 0 0 0-8.456-8.456h-16.261c-.209 0-.415.016-.621.031v-23.6c.206.015.412.032.621.032h16.262a8.455 8.455 0 0 0 8.455-8.455 8.455 8.455 0 0 0-8.455-8.455h-16.262c-.209 0-.415.017-.621.031v-20.75a20.4 20.4 0 0 1-9.259 2.222h-.043a21.069 21.069 0 0 1-7.607-1.45l-.567-.029h-16.257a8.454 8.454 0 0 0-8.455 8.456 8.454 8.454 0 0 0 8.455 8.454h16.261c.192 0 .379-.016.567-.028v23.187a8.726 8.726 0 0 0-.8-.04h-16.261a8.455 8.455 0 0 0-8.455 8.455 8.455 8.455 0 0 0 8.455 8.455h16.261c.269 0 .535-.016.8-.041v41.751h-12.839a14.89 14.89 0 0 1-14.889-14.886v-189.529a14.889 14.889 0 0 1 14.888-14.888h99.549v25.458a37.8 37.8 0 0 0 37.757 37.76h25.952Zm0-157.657h-25.952a21.319 21.319 0 0 1-21.3-21.3v-25.458h32.359a14.888 14.888 0 0 1 14.888 14.888Z"})]}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 912",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},18342:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"folder-icn{",children:[(0,a.jsx)("path",{d:"M101.729 42.952c6.612 0 13.7 18.758 20.78 18.758h88.049a9.441 9.441 0 0 1 9.444 9.379v4.689H40.349V52.33h-.236a9.441 9.441 0 0 1 9.448-9.378h52.168m124.4 44.255a9.778 9.778 0 0 1 9.774 9.725L225.885 204.09a9.788 9.788 0 0 1-9.794 9.716H39.679a9.781 9.781 0 0 1-9.786-9.716l-9.79-107.158a9.781 9.781 0 0 1 9.79-9.725h196.236M101.729 23H49.561a29.469 29.469 0 0 0-29.544 29.33 20.109 20.109 0 0 0 .236 3.063v13.438A29.758 29.758 0 0 0 0 96.931c0 .6.031 1.2.09 1.8l9.723 106.5a29.827 29.827 0 0 0 29.862 28.532h176.412a29.833 29.833 0 0 0 29.862-28.5l9.959-106.484a17.091 17.091 0 0 0 .091-1.847 29.673 29.673 0 0 0-15.911-26.229 29.477 29.477 0 0 0-29.532-28.949h-81.5c-.4-.529-.787-1.05-1.117-1.5-5.1-6.87-12.815-17.248-26.208-17.248Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 874",fill:"none",d:"M0 0h256v256H0z"})]})]})]}))}},20426:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"heal-icn",d:"m157.546 239.085-4.729-4.747-24.864-24.809-29.5 29.555a57.519 57.519 0 0 1-81.482 0 57.729 57.729 0 0 1 0-81.769l29.5-29.547-24.864-24.927-4.635-4.629a57.738 57.738 0 0 1 0-81.777c21.764-21.913 59.749-21.913 81.482 0l4.729 4.645 24.77 24.911 29.593-29.555c21.764-21.913 59.718-21.913 81.482 0a57.738 57.738 0 0 1 0 81.777l-29.5 29.555 24.864 24.793 4.635 4.755a57.718 57.718 0 1 1-81.482 81.769Zm13.654-23.036 4.572 4.629c12.15 12.028 33.006 12.028 45.031 0a31.967 31.967 0 0 0 0-44.957l-4.791-4.747ZM35.261 175.721a31.814 31.814 0 0 0 0 44.957c11.962 12.028 32.943 12.028 44.968 0l29.471-29.547-45-45.09Zm22.954-72.88 6.482 6.52 81.638 81.769 6.482 6.5 44.968-45.074-6.482-6.52-81.603-81.63-6.514-6.52Zm117.556-67.992-29.436 29.557 44.965 44.955 29.5-29.555a31.6 31.6 0 0 0 9.238-22.541 31.28 31.28 0 0 0-9.238-22.416 32.381 32.381 0 0 0-45.031 0Zm-140.51 0a31.211 31.211 0 0 0-9.3 22.416 31.525 31.525 0 0 0 9.3 22.541l4.729 4.762 44.843-45.09-4.6-4.629a31.61 31.61 0 0 0-44.968 0Zm105.562 118.465a12.731 12.731 0 1 1 12.746 12.892 12.816 12.816 0 0 1-12.746-12.892Zm-25.616-25.546a12.808 12.808 0 1 1 12.745 12.773 12.747 12.747 0 0 1-12.744-12.773Zm-25.49-25.679a12.746 12.746 0 1 1 12.714 12.9 12.8 12.8 0 0 1-12.714-12.901Z"}),(0,a.jsx)("path",{"data-name":"heal-icn - Contorno",d:"M198.286 256.5a57.755 57.755 0 0 1-41.094-17.062l-4.729-4.747-24.509-24.455-29.146 29.2a57.907 57.907 0 0 1-82.189 0A57.353 57.353 0 0 1 3.9 220.544a58.292 58.292 0 0 1-4.4-22.407 57.536 57.536 0 0 1 17.121-41.177l29.144-29.192-24.512-24.573-4.634-4.629a58.238 58.238 0 0 1 0-82.486A54.985 54.985 0 0 1 35.647 3.644 59.5 59.5 0 0 1 46.5.536a61.384 61.384 0 0 1 22.457 0A59.431 59.431 0 0 1 79.8 3.644a54.885 54.885 0 0 1 19.007 12.437l4.73 4.646 24.417 24.555 29.238-29.2a54.994 54.994 0 0 1 19.023-12.438A59.465 59.465 0 0 1 187.061.536a61.355 61.355 0 0 1 22.451 0 59.465 59.465 0 0 1 10.846 3.108 55 55 0 0 1 19.024 12.439 58.238 58.238 0 0 1 0 82.485l-29.143 29.2 24.515 24.445 4.631 4.751a57.534 57.534 0 0 1 17.115 41.173 58.292 58.292 0 0 1-4.4 22.407 58.2 58.2 0 0 1-53.811 35.956Zm-70.334-47.678 25.218 25.162 4.73 4.748a57.218 57.218 0 0 0 80.775-81.061l-.006-.006-4.632-4.752-25.216-25.144 29.852-29.909a57.238 57.238 0 0 0 0-81.069 54.007 54.007 0 0 0-18.681-12.217 58.461 58.461 0 0 0-10.663-3.055 60.354 60.354 0 0 0-22.084 0 58.461 58.461 0 0 0-10.663 3.055A54 54 0 0 0 157.9 16.788l-29.948 29.91-25.124-25.265-4.728-4.646A53.891 53.891 0 0 0 79.432 4.574a58.431 58.431 0 0 0-10.663-3.055 60.384 60.384 0 0 0-22.09 0 58.5 58.5 0 0 0-10.666 3.055 54 54 0 0 0-18.686 12.214 57.238 57.238 0 0 0 0 81.07l4.636 4.63 25.217 25.28-29.851 29.9A56.544 56.544 0 0 0 .5 198.137a57.3 57.3 0 0 0 4.327 22.024 56.362 56.362 0 0 0 12.5 18.568 57.019 57.019 0 0 0 80.776 0Zm70.381 21.377a33.611 33.611 0 0 1-12.273-2.293 31.079 31.079 0 0 1-10.641-6.876l-4.92-4.982 45.513-45.78 5.146 5.1a31.859 31.859 0 0 1 6.984 10.44 32.695 32.695 0 0 1-6.983 35.226 30.651 30.651 0 0 1-10.571 6.877 33.426 33.426 0 0 1-12.255 2.288Zm-22.209-9.874a30.085 30.085 0 0 0 10.3 6.653 32.98 32.98 0 0 0 23.8 0 29.659 29.659 0 0 0 10.229-6.654 31.294 31.294 0 0 0 0-44.25l-4.435-4.394-44.118 44.37Zm-118.4 9.874a33.463 33.463 0 0 1-12.264-2.293 30.418 30.418 0 0 1-10.554-6.879 32.165 32.165 0 0 1 0-45.664L64.7 145.332l45.707 45.8-29.82 29.9a30.63 30.63 0 0 1-10.593 6.874 33.555 33.555 0 0 1-12.273 2.293ZM64.7 146.75l-29.084 29.324a31.314 31.314 0 0 0 0 44.25 29.428 29.428 0 0 0 10.212 6.655 33.006 33.006 0 0 0 23.8 0 29.635 29.635 0 0 0 10.246-6.653l29.115-29.194Zm88.119 51.593-6.836-6.859-81.64-81.769-6.834-6.874 45.675-45.663 6.867 6.874 81.607 81.636 6.834 6.874Zm-93.9-95.5 6.132 6.163 81.637 81.769 6.129 6.149 44.262-44.367-6.131-6.167-81.605-81.632-6.16-6.166Zm94.65 63.863a13.334 13.334 0 0 1-13.245-13.391 13.231 13.231 0 1 1 13.245 13.391Zm0-25.664a12.316 12.316 0 0 0-12.245 12.273 12.23 12.23 0 1 0 20.867-8.667 12.1 12.1 0 0 0-8.622-3.607Zm-25.616 0a13 13 0 0 1-5.134-1.051 13.319 13.319 0 0 1-4.211-2.855 13.254 13.254 0 0 1 9.345-22.648 13.351 13.351 0 0 1 9.44 3.857 13.2 13.2 0 0 1 0 18.792 13.32 13.32 0 0 1-9.44 3.904Zm0-25.554a12.277 12.277 0 0 0 0 24.554 12.326 12.326 0 0 0 8.737-3.614 12.2 12.2 0 0 0 0-17.371 12.357 12.357 0 0 0-8.737-3.57Zm-25.522 0A13.347 13.347 0 0 1 93.1 92.729a13.255 13.255 0 0 1 22.607 9.36 13.353 13.353 0 0 1-13.276 13.398Zm0-25.664a12.3 12.3 0 0 0-12.214 12.265 12.246 12.246 0 1 0 24.49 0 12.331 12.331 0 0 0-12.277-12.265Zm88.869 20.245-45.672-45.663 29.788-29.909a30.775 30.775 0 0 1 10.606-6.947 33.717 33.717 0 0 1 24.527 0 30.776 30.776 0 0 1 10.607 6.947 31.725 31.725 0 0 1 6.981 10.426 32.714 32.714 0 0 1-6.983 35.237Zm-44.259-45.663 44.262 44.25 29.145-29.2a31.714 31.714 0 0 0 6.765-34.15 30.732 30.732 0 0 0-6.764-10.1 29.784 29.784 0 0 0-10.266-6.723 32.717 32.717 0 0 0-23.792 0 29.782 29.782 0 0 0-10.265 6.723ZM39.989 85.278l-5.083-5.119a32.15 32.15 0 0 1 0-45.661 32.11 32.11 0 0 1 45.679 0l4.952 4.98Zm17.725-59.32a30.554 30.554 0 0 0-22.095 9.24l-.006.006a31.314 31.314 0 0 0 0 44.247l4.376 4.408 44.138-44.381-4.256-4.28a30.629 30.629 0 0 0-22.157-9.24Z",fill:"rgba(0,0,0,0)"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 879",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},97538:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 30",d:"M.002 128.002a128 128 0 0 1 128-128 128 128 0 0 1 128 128 128 128 0 0 1-128 128 127.993 127.993 0 0 1-128-128Zm25 0a103.115 103.115 0 0 0 103 103 103.116 103.116 0 0 0 103-103 103.117 103.117 0 0 0-103-103A103.116 103.116 0 0 0 25 128.002Zm75.211 58.614c0-10.971 9.48-20.238 20.342-20.238a20.541 20.541 0 0 1 20.133 20.133c0 10.966-9.377 20.447-20.133 20.447-10.864 0-20.344-9.481-20.344-20.342Zm7.457-33.227v-36.213h10.223c20.557 0 31.633-6.495 31.633-18.956 0-11.5-10.971-17.675-31.312-17.675-5.748 0-11.715.423-16.186.846l-2.023-28.008a165.912 165.912 0 0 1 21.508-1.386c37.17 0 58.684 17.147 58.684 44.094 0 24.6-16.4 40.365-46.008 45.051l-.852 12.247Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 917",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},83842:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:(0,a.jsxs)("g",{children:[(0,a.jsx)("path",{fill:"currentcolor",d:"M145.4,20C86.3,20.1,38.3,67.6,37.5,126.6L24.8,114c-5.2-5-13.4-4.9-18.5,0.2 c-4.9,5.1-4.9,13.2,0,18.2l37,37c5.1,5.1,13.3,5.2,18.5,0.1c0,0,0.1-0.1,0.1-0.1l37-37c4.9-5.3,4.6-13.5-0.7-18.5 c-5-4.7-12.8-4.7-17.8,0l-13.8,13.8c0.2-43.4,35.4-78.5,78.8-78.5c43.5,0,78.8,35.3,78.8,78.8c0,43.5-35.3,78.8-78.8,78.8 c-8.1,0-14.6,6.5-14.6,14.6s6.5,14.6,14.6,14.6c59.6-0.1,107.8-48.4,107.9-107.9C253.4,68.5,205.1,20.1,145.4,20z"}),(0,a.jsx)("path",{fill:"currentcolor",d:"M150.7,81.1c0.2-1.5-0.3-3-1.2-4.2c-1.3-0.9-2.9-1.3-4.4-1.1h-7.4c-1.2-0.1-2.3,0.2-3.3,0.8 c-0.9,1.1-1.4,2.5-1.2,4c0,18.9,0,37.8,0,56.6v0.9l40.4,40.4c0.6,0.7,1.4,1.3,2.3,1.5c1.2,0.1,2.5-0.4,3.4-1.2c2.7-2,5-4.4,7-7.1 c0.9-0.9,1.3-2.1,1.2-3.4c-0.3-0.9-0.8-1.8-1.6-2.4l-29.6-29.4c-1.9-1.7-3.5-3.7-4.7-6c-1-2.8-1.3-5.7-1-8.6 C150.9,108.3,150.9,94.7,150.7,81.1z"})]})}))}},73738:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{"data-name":"IAM Policies",clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"iam-policies-icn",children:[(0,a.jsx)("path",{"data-name":"Trazado 339",d:"M234.915 46.468v-.073a12.276 12.276 0 0 0-12.458-11.593c-19.233.3-55.932-3-86.768-28.92a12.132 12.132 0 0 0-15.811-.046C88.971 31.804 52.271 35.119 33.152 34.81a12.226 12.226 0 0 0-12.561 11.657c-1.8 46.628-1.509 112.307 21.777 144.214 21.779 29.942 64.527 54.463 77.79 60.687a17.75 17.75 0 0 0 7.584 1.7 17.744 17.744 0 0 0 7.619-1.713c14.233-6.71 55.947-30.7 77.768-60.659 23.292-31.913 23.59-97.599 21.786-144.228Zm-33.666 135.567c-19.9 27.341-59.77 50.186-72.17 56.035a3.18 3.18 0 0 1-2.687 0c-12.364-5.814-52.168-28.577-72.141-56.044-22.29-30.539-20.117-104.8-19.071-132.5h.273c21.464 0 59.431-4.411 92.3-31.128 32.821 26.709 70.8 31.119 92.384 31.119h.18c1.052 27.835 3.211 101.997-19.068 132.518Z"}),(0,a.jsx)("path",{"data-name":"Trazado 339 - Contorno",d:"M127.739.004a15.2 15.2 0 0 1 9.855 3.655c29.229 24.565 64.3 28.236 82.6 28.236l2.217-.017h.01a15.346 15.346 0 0 1 15.422 14.381c1.821 47.169 1.485 113.518-22.347 146.172-22.2 30.473-64.469 54.785-78.885 61.582a20.555 20.555 0 0 1-8.869 1.993 20.584 20.584 0 0 1-8.833-1.978c-13.426-6.3-56.751-31.147-78.912-61.614-23.821-32.639-24.156-98.986-22.335-146.052a15.124 15.124 0 0 1 15.023-14.484l2.764.028c18.245 0 53.229-3.677 82.542-28.306a15.029 15.029 0 0 1 9.748-3.596Zm92.455 37.753c-19.1 0-55.72-3.849-86.39-29.625a9.344 9.344 0 0 0-6.065-2.265 9.18 9.18 0 0 0-5.956 2.2c-30.753 25.84-67.289 29.7-86.332 29.7l-2.345-.019h-.019a9.344 9.344 0 0 0-9.568 8.874c-1.785 46.156-1.53 111.17 21.217 142.338 21.44 29.477 63.592 53.625 76.668 59.761a14.916 14.916 0 0 0 12.7-.009c14.043-6.621 55.179-30.255 76.653-59.736 22.757-31.181 23.013-96.2 21.227-142.389a9.343 9.343 0 0 0-9.2-8.852Zm-92.44-23.131 1.849 1.5c32.569 26.5 70.7 30.462 90.534 30.462h2.822l.286 2.82c.957 25.27 3.867 102.168-19.628 134.352-20.261 27.833-60.713 51.027-73.287 56.958a6.169 6.169 0 0 1-5.167.01c-12.568-5.909-52.967-29.043-73.282-56.98C28.394 151.57 31.298 74.683 32.252 49.417l.107-2.821h2.822c20.053 0 58.106-3.959 90.724-30.471Zm89.734 37.8c-21.007-.373-57.672-5.123-89.736-30.274-32.229 25.255-68.984 29.947-89.744 30.287-2.23 64.873 4.028 107.88 18.61 127.858 19.6 26.948 58.824 49.384 71.021 55.119l.1.019a.225.225 0 0 0 .1-.021c12.214-5.762 51.5-28.26 71.043-55.106 14.585-19.984 20.843-63.004 18.606-127.883Z"}),(0,a.jsx)("path",{"data-name":"Trazado 339 - Contorno",d:"M127.739 2.837a12.358 12.358 0 0 1 8.015 2.976 120.447 120.447 0 0 0 45.936 23.8 142.22 142.22 0 0 0 21.155 4.1 149.679 149.679 0 0 0 17.35 1.015c.753 0 1.514-.006 2.262-.018h.333a12.159 12.159 0 0 1 8.378 3.393 12.225 12.225 0 0 1 3.846 8.3v.077c1.8 46.64 1.506 112.345-21.805 144.286-21.848 29.994-63.571 53.979-77.8 60.689a17.751 17.751 0 0 1-7.66 1.722 17.771 17.771 0 0 1-7.625-1.708c-13.258-6.222-56.016-30.731-77.828-60.718-23.3-31.93-23.6-97.632-21.8-144.275a12.414 12.414 0 0 1 3.8-8.343 12.055 12.055 0 0 1 8.393-3.417c.156 0 .314 0 .47.009.757.012 1.529.018 2.294.018a148.3 148.3 0 0 0 17.294-1.019 141.918 141.918 0 0 0 21.123-4.113 120.786 120.786 0 0 0 45.948-23.838 12.209 12.209 0 0 1 7.921-2.936Zm92.455 32.086a149.9 149.9 0 0 1-17.373-1.016 142.431 142.431 0 0 1-21.184-4.107 120.644 120.644 0 0 1-46.01-23.838 12.163 12.163 0 0 0-7.888-2.929 12.012 12.012 0 0 0-7.8 2.883 120.985 120.985 0 0 1-46.021 23.877 142.125 142.125 0 0 1-21.153 4.119 148.491 148.491 0 0 1-17.317 1.021c-.766 0-1.54-.006-2.3-.018a12.138 12.138 0 0 0-.465-.009 11.861 11.861 0 0 0-8.258 3.362 12.22 12.22 0 0 0-3.739 8.211c-1.8 46.613-1.509 112.271 21.758 144.151 21.788 29.954 64.506 54.44 77.753 60.656a17.576 17.576 0 0 0 7.542 1.69 17.555 17.555 0 0 0 7.577-1.7c14.221-6.7 55.907-30.666 77.73-60.628 23.276-31.892 23.571-97.552 21.768-144.167v-.076a12.027 12.027 0 0 0-3.785-8.16 11.963 11.963 0 0 0-8.243-3.339h-.329c-.746.006-1.508.012-2.263.012Zm-92.441-16.645.062.05a135.656 135.656 0 0 0 50.371 25.557 157.366 157.366 0 0 0 23.039 4.435 163.564 163.564 0 0 0 18.913 1.106h.273v.094c.294 7.782.6 17.213.6 28.16 0 13.373-.462 25.856-1.382 37.1-2.583 31.568-8.74 54.215-18.3 67.312-19.915 27.358-59.8 50.216-72.208 56.066a3.228 3.228 0 0 1-1.38.307 3.288 3.288 0 0 1-1.389-.307c-12.38-5.821-52.213-28.618-72.179-56.075-9.563-13.1-15.723-35.768-18.3-67.365-.919-11.247-1.384-23.729-1.381-37.1 0-10.914.3-20.327.6-28.1v-.094h.367a162.536 162.536 0 0 0 18.844-1.106 157.194 157.194 0 0 0 23-4.436 135.97 135.97 0 0 0 50.391-25.564Zm92.469 31.343h-.085a163.735 163.735 0 0 1-18.936-1.107 157.57 157.57 0 0 1-23.067-4.44 135.854 135.854 0 0 1-50.381-25.544 136.178 136.178 0 0 1-50.4 25.551 157.4 157.4 0 0 1-23.033 4.441 162.713 162.713 0 0 1-18.866 1.107h-.179c-.292 7.748-.59 17.127-.592 27.994 0 13.364.461 25.84 1.38 37.082 2.579 31.56 8.725 54.192 18.268 67.266 19.942 27.424 59.736 50.2 72.1 56.013a3.094 3.094 0 0 0 1.307.288 3.035 3.035 0 0 0 1.3-.288c12.392-5.845 52.242-28.68 72.132-56 9.541-13.068 15.686-35.681 18.265-67.213.919-11.241 1.384-23.719 1.382-37.086-.002-10.91-.301-20.307-.594-28.069Z"}),(0,a.jsx)("path",{"data-name":"Trazado 340",d:"m154.932 82.763-7.4-3.7-5.737-2.866-14.1-7.057v12.363l-15.307 6.115 15.307-6.115v-12.37L100.447 82.76v9.628l-5.029 2.014v18.257l5.029.589v8.032l11.941-1.191v54.127l7.145 2.86v11.538l8.162 4.08v-86.488l-7.206 1.441V90.14l7.206-2.528v.007l7.195 2.521v17.5l-7.195-1.435v86.488l8.159-4.08v-11.538l13.528-5.367-.024-10.18-13.5 4.006v-11.54l13.528-2.689v-9.99l5.55-.5v-9.9h-11.929v-10.822l5.524.552 6.4.639v-9.628l5.036 1.008V94.407l-5.036-2.014Zm3.2 12.886v14.772l-2.83-.567-2.2-.44v9.843l-4.4-.441-5.525-.552-2.019-.206v14.7h11.941v6.387l-3.88.344-1.67.147v10.166l-12.063 2.4-1.473.293v15.51l2.353-.7 11.151-3.315.032 6.476-12.376 4.909-1.16.455v11.657l-4.487 2.242v-81.286l5 1.008 2.2.434v-1.876l6.277 1.265V87.622l-7.149-2.866-4.933-1.971-1.39-.552v-10.12l11.433 5.717 5.749 2.875 6.391 3.19v9.745l1.152.457Z"}),(0,a.jsx)("path",{"data-name":"Trazado 340 - Contorno",d:"m126.229 66.764 1.465.734 1.466-.733v1.466l13.293 6.652 5.736 2.866 8.208 4.11V91.4l5.036 2.014v21.037l-5.036-1.008v9.46l-11.93-1.191v7.741h11.93v12.707l-5.55.5v9.853l-13.529 2.689v8.373l13.5-4 .032 13.136-13.531 5.368v11.449l-8.158 4.08v1.465l-1.466-.733-1.465.733v-1.466l-8.163-4.08v-11.452l-7.145-2.86v-53.5l-11.941 1.191v-8.347l-5.028-.589V93.417l5.028-2.014v-9.542l27.249-13.627Zm0 13.743v-9l-24.317 12.161v9.714l-5.029 2.014v15.961l5.029.589v7.717l11.941-1.191v54.754l7.145 2.86v11.624l5.231 2.615v-82.33l-7.206 1.441V89.102l10.137-3.556v1.035l7.195 2.521v17.336l5.181 1.044v-18.87l-6.229-2.5-4.932-1.971-2.311-.917v-.3L112.93 88.97l-1.088-2.722Zm25.408 4.3-5.58-2.786-15.061-7.532v6.754l.464.184 4.937 1.973 8.07 3.235v24.434l-6.276-1.265v1.869l-3.954-.781-3.241-.654v77.122l1.555-.777v-11.751l2.086-.818 11.446-4.54-.018-3.52-13.514 4.017v-18.682l2.653-.528 10.884-2.162v-10.3l5.549-.491v-3.581h-11.941V116.44l3.633.37 8.308.831V107.63l5.029 1.007V96.645l-2.95-1.182-2.079-.823Zm-18.214 6.38-5.739-2.011-5.73 2.01v14.68l4.275-.855v-.585l1.465.292 1.466-.293v.586l4.263.85Z"}),(0,a.jsx)("path",{"data-name":"Trazado 340 - Contorno",d:"m127.597 68.978.1.049.1-.049v.1l14.049 7.03 5.737 2.866 7.451 3.731v9.623l5.037 2.014v18.443l-5.037-1.008v9.617l-11.929-1.191v10.621h11.929v10.088l-5.549.5v9.98l-.079.016-13.45 2.674v11.329l13.5-4.006v.131l.025 10.246-.062.025-13.467 5.342v11.532l-.054.027-8.1 4.053v.1l-.1-.049-.1.049v-.1l-8.162-4.08v-11.532l-7.145-2.86v-54.085l-11.941 1.191v-8.058l-5.029-.589V94.337l.062-.025 4.967-1.99v-9.623l.054-.027 27.194-13.6Zm0 12.455V69.294l-27.053 13.529v9.634l-5.028 2.014v18.1l5.028.589v8.011l11.941-1.191v54.168l7.145 2.86v11.544l7.967 3.982v-86.211l-7.206 1.441v-17.7l.065-.023 7.336-2.573v.076l7.194 2.521v17.689l-.117-.023-7.078-1.411v86.217l7.962-3.982v-11.544l.062-.024 13.467-5.342-.024-9.983-13.5 4.006v-11.751l.079-.016 13.45-2.674v-10l5.55-.5v-9.714h-11.93v-11.032l11.93 1.191v-9.64l5.036 1.008V94.468l-5.036-2.014V82.82l-7.343-3.677-5.736-2.866-13.961-6.986v12.271l-.062.025-15.308 6.115-.072-.181Zm7.195 8.779-7.107-2.49-7.1 2.49v17.319l7.011-1.4v-.039l.1.019.1-.019v.039l7 1.4Zm-5.359-18.257.142.071 17.181 8.592 6.445 3.217v9.739l1.091.432 3.938 1.577v14.954l-5.029-1.008v9.831l-4.5-.452-5.525-.552-1.912-.195v14.493h11.941v6.574l-5.55.492v10.156l-13.536 2.689v15.3l13.5-4.014v.13l.032 6.542-.062.025-12.376 4.909-1.1.431v11.651l-.054.027-4.628 2.313v-81.561l5.113 1.031 2.082.411v-1.876l6.276 1.265V87.683l-7.087-2.841-4.933-1.971-1.451-.576Zm23.573 12-6.337-3.163-17.04-8.521v9.9l1.328.527 4.933 1.971 7.21 2.891v21.837l-6.277-1.265v1.876l-2.315-.457-4.879-.984v81.007l4.291-2.145v-11.664l1.222-.479 12.313-4.885-.031-6.279-13.5 4.014v-15.721l1.552-.309 11.984-2.38v-10.179l5.55-.492v-6.2h-11.941v-14.9l2.127.217 9.814.982V109.3l5.028 1.008V95.721l-3.814-1.528-1.214-.481Z"})]}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 887",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},6793:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"LambdaIcon",children:[(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 847",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 442",d:"M40.266 0c-9.543 0-17.279 6.878-17.279 15.363S30.723 30.73 40.266 30.73c26.265 0 36.01 14.872 46.032 34.353l1.659 3.134c1.382 2.643 4.354 8.542 8.363 16.408L1.975 233.094c-4.327 7.346-1.317 16.42 6.8 20.5s18.415 1.7 23.265-5.384l81.9-128.623c21.91 44 49.488 99.494 49.972 100.415 12.921 27.82 47.568 42.291 79.9 33.369 9.123-2.512 14.229-11.123 11.4-19.235s-12.511-12.651-21.634-10.14c-15.631 4.28-32.31-2.987-38.084-16.593-2.765-5.531-67.32-135.751-76.029-152.282l-1.521-2.95C109.038 35.336 90.86 0 40.266 0Z"})]})]})]}))}},58368:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 870",fill:"none",d:"M255.999.001v256h-256v-256z"}),(0,a.jsx)("path",{"data-name":"Trazado 454",d:"M-.001 16.413A16.487 16.487 0 0 1 16.536-.001h135.381c21.752 0 21.752 32.824 0 32.824H33.088v190.355h118.829c21.752 0 21.752 32.822 0 32.822H16.536A16.477 16.477 0 0 1-.001 239.6Zm61.308 95.176h138.227l-18.743-18.588c-15.385-15.262 8-38.471 23.393-23.205l46.878 46.5a16.345 16.345 0 0 1 0 23.408l-46.878 46.51c-15.39 15.266-38.777-7.949-23.393-23.211l18.744-18.592H61.308c-10.872 0-16.307-8.205-16.307-16.41s5.435-16.412 16.307-16.412Z"}),(0,a.jsx)("path",{"data-name":"Trazado 454 - Contorno",d:"M-.501 239.601V16.417A17 17 0 0 1 16.536-.497h135.381a16.259 16.259 0 0 1 12.61 5.3 16.393 16.393 0 0 1 3.156 5.422 18.547 18.547 0 0 1 1.048 6.193 18.547 18.547 0 0 1-1.048 6.193 16.393 16.393 0 0 1-3.156 5.422 16.259 16.259 0 0 1-12.61 5.3H33.588v189.355h118.329a16.259 16.259 0 0 1 12.61 5.3 16.374 16.374 0 0 1 3.156 5.422 18.528 18.528 0 0 1 1.048 6.191 18.531 18.531 0 0 1-1.048 6.193 16.374 16.374 0 0 1-3.156 5.422 16.259 16.259 0 0 1-12.61 5.3H16.536a17.034 17.034 0 0 1-6.625-1.328 16.992 16.992 0 0 1-5.416-3.621 16.846 16.846 0 0 1-3.655-5.373 16.663 16.663 0 0 1-1.341-6.593ZM167.731 16.415a17.535 17.535 0 0 0-.991-5.859 15.388 15.388 0 0 0-2.962-5.094A15.286 15.286 0 0 0 151.917.503H16.536A15.994 15.994 0 0 0 .499 16.417v223.184a15.989 15.989 0 0 0 16.037 15.9h135.381a15.286 15.286 0 0 0 11.861-4.959 15.368 15.368 0 0 0 2.962-5.094 17.518 17.518 0 0 0 .991-5.859 17.515 17.515 0 0 0-.991-5.857 15.368 15.368 0 0 0-2.962-5.094 15.286 15.286 0 0 0-11.861-4.959H32.588V32.324h119.329a15.286 15.286 0 0 0 11.861-4.959 15.388 15.388 0 0 0 2.962-5.094 17.526 17.526 0 0 0 .992-5.86ZM44.499 128.001a18.547 18.547 0 0 1 1.048-6.193 16.37 16.37 0 0 1 3.154-5.422 16.248 16.248 0 0 1 12.6-5.3h137.013L180.432 93.35a16.238 16.238 0 0 1-5.179-11.6 16.682 16.682 0 0 1 3.251-9.711 19.071 19.071 0 0 1 8.051-6.451 15.968 15.968 0 0 1 8.961-1.051 17 17 0 0 1 9.013 4.9l46.878 46.5a16.869 16.869 0 0 1 5.084 12.006 16.81 16.81 0 0 1-1.3 6.482 17.213 17.213 0 0 1-3.786 5.631l-46.879 46.51a16.976 16.976 0 0 1-9.01 4.9 15.975 15.975 0 0 1-8.958-1.049 19.084 19.084 0 0 1-8.054-6.453 16.694 16.694 0 0 1-3.254-9.715 16.237 16.237 0 0 1 5.179-11.6l17.882-17.736H61.298a16.249 16.249 0 0 1-12.6-5.3 16.351 16.351 0 0 1-3.154-5.422 18.527 18.527 0 0 1-1.045-6.19Zm156.248-15.912H61.306a15.275 15.275 0 0 0-11.855 4.959 15.365 15.365 0 0 0-2.961 5.094 17.538 17.538 0 0 0-.991 5.859 17.547 17.547 0 0 0 .991 5.859 15.375 15.375 0 0 0 2.961 5.092 15.276 15.276 0 0 0 11.855 4.959h139.443l-.862.855-18.744 18.592a15.257 15.257 0 0 0-4.883 10.891 15.7 15.7 0 0 0 3.067 9.133 18.064 18.064 0 0 0 7.625 6.111 14.955 14.955 0 0 0 8.4.988 16 16 0 0 0 8.482-4.625l46.878-46.51a16.222 16.222 0 0 0 3.567-5.3 15.825 15.825 0 0 0 1.222-6.1 15.868 15.868 0 0 0-4.789-11.295l-46.878-46.5a16.011 16.011 0 0 0-8.485-4.627 15 15 0 0 0-8.4.988 18.055 18.055 0 0 0-7.623 6.111 15.688 15.688 0 0 0-3.064 9.129 15.259 15.259 0 0 0 4.883 10.893Z",fill:"rgba(0,0,0,0)"})]})]}))}},71208:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({},e),{},{className:"min-icon",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",children:(0,a.jsxs)("g",{id:"repliaction-icn",transform:"translate(0 0)",children:[(0,a.jsx)("g",{id:"Grupo_1696","data-name":"Grupo 1696",transform:"translate(3.434)",children:(0,a.jsx)("path",{id:"Trazado_6841","data-name":"Trazado 6841",d:"M-502.661-53.081a1.054,1.054,0,0,0-.84-.432h-10.382a1.055,1.055,0,0,0-.84.432,1.272,1.272,0,0,0-.233.983l.178,1.038h7.843a1.894,1.894,0,0,1,1.509.776,2.21,2.21,0,0,1,.342.661h1.366l-.16.932h-1.107c-.005.058-.013.117-.023.175l-.518,3.021v0h1.1l-.16.932h-1.1l-.546,3.189-.005.032-.072.422h1.06a1.124,1.124,0,0,0,1.073-.975l.52-3.036c0-.006,0-.012,0-.018l.7-4.114,0-.012.518-3.024A1.271,1.271,0,0,0-502.661-53.081Z",transform:"translate(514.975 53.513)"})}),(0,a.jsx)("path",{id:"Trazado_6842","data-name":"Trazado 6842",d:"M-609.21,43.432a1.055,1.055,0,0,0-.84-.432h-10.382a1.054,1.054,0,0,0-.84.432,1.271,1.271,0,0,0-.233.983c.256,1.495.8,4.646,1.226,7.16a.035.035,0,0,0,0,.005l.521,3.04a1.124,1.124,0,0,0,1.073.975h6.886a1.124,1.124,0,0,0,1.073-.975l.52-3.036,0-.018.7-4.114s0-.008,0-.012l.518-3.024A1.271,1.271,0,0,0-609.21,43.432Zm-1.924,8.519-8.214.01-.16-.932,8.534-.01Zm.708-4.131-9.629.01-.16-.932,9.949-.01Z",transform:"translate(621.524 -39.595)"})]})}))}},416:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({},e),{},{className:"min-icon",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{"data-name":"Object Browser",clipPath:"url(#prefix__a)",children:[(0,a.jsxs)("g",{"data-name":"Grupo 1541",transform:"translate(87.918 103.898)",children:[(0,a.jsx)("circle",{"data-name":"Elipse 57",cx:11.515,cy:11.515,r:11.515,transform:"rotate(-10.901 280.738 -178.561)"}),(0,a.jsx)("rect",{"data-name":"Rect\\xE1ngulo 805",width:24.592,height:20.853,rx:1.35,transform:"translate(14.546 25.545)"}),(0,a.jsx)("path",{"data-name":"Trazado 365",d:"M28.151 60.295a2.427 2.427 0 00-4.2 0l-9.1 15.761a2.425 2.425 0 002.1 3.64h18.2a2.43 2.43 0 002.105-3.64z"}),(0,a.jsx)("path",{"data-name":"Trazado 366",d:"M79.273 28.199a151.334 151.334 0 00-.187-17.51c-.395-4.294-2.262-7.942-6.512-9.468a15.5 15.5 0 00-1.836-.529 38.335 38.335 0 00-7.332-.658c-4.289-.125-8.57.136-12.855.116-8.582-.036-17.16.116-25.746.152H6.301a6.308 6.308 0 00-6.3 6.3v80.617a6.307 6.307 0 006.3 6.3h66.684a6.3 6.3 0 006.3-6.3V47.054c-.004-6.273-.168-12.584-.012-18.855zm-7.648 53.334a5.435 5.435 0 01-5.434 5.439h-54.2a5.442 5.442 0 01-5.441-5.439V12.3a5.441 5.441 0 015.441-5.442h36.367v9.3a13.809 13.809 0 0013.789 13.794h9.48zm0-57.6h-9.48a7.781 7.781 0 01-7.773-7.777v-9.3h11.82a5.435 5.435 0 015.434 5.442z"})]}),(0,a.jsx)("path",{"data-name":"Trazado 367",d:"M101.585 42.067c6.6 0 13.672 18.858 20.742 18.858h87.934a9.453 9.453 0 019.426 9.429v4.715H40.292V51.496h-.234a9.455 9.455 0 019.426-9.429h52.1m124.219 44.5a9.8 9.8 0 019.773 9.772L225.56 204.095a9.8 9.8 0 01-9.773 9.771H39.615a9.8 9.8 0 01-9.773-9.771L20.065 96.339a9.806 9.806 0 019.777-9.772h195.961M101.584 21.999h-52.1a29.528 29.528 0 00-29.492 29.5 20.028 20.028 0 00.234 3.081v13.513A29.9 29.9 0 00-.001 96.344c0 .605.031 1.208.086 1.814l9.711 107.089a29.874 29.874 0 0029.82 28.691h176.172a29.873 29.873 0 0029.813-28.663l9.961-107.074c.051-.617.082-1.239.082-1.857a29.875 29.875 0 00-15.887-26.376 29.534 29.534 0 00-29.5-29.106H128.87c-.4-.532-.785-1.059-1.121-1.517-5.094-6.906-12.785-17.342-26.168-17.342z"})]})]}))}},93482:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{"data-name":"Object Browser",clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 19",d:"M36.252 256a17.257 17.257 0 0 1-17.25-17.235V18.076A17.261 17.261 0 0 1 36.252.836h42.193c2.83 0 5.654 0 8.461-.015 23.494-.092 47-.514 70.48-.412 4.9.02 9.809-.1 14.711-.208 6.822-.155 13.645-.311 20.467-.107 6.662.194 13.539.315 20.1 1.793a44.27 44.27 0 0 1 5.01 1.444c11.648 4.182 16.736 14.163 17.836 25.918 1.453 15.7.877 32.2.5 47.945-.412 17.158.014 34.432.014 51.618v109.952a17.244 17.244 0 0 1-17.234 17.235Zm.7-222.336v189.523a14.876 14.876 0 0 0 14.875 14.89H200.2a14.9 14.9 0 0 0 14.885-14.89V81.992h-25.957a37.8 37.8 0 0 1-37.754-37.761V18.769H51.823a14.877 14.877 0 0 0-14.874 14.895Zm130.881 10.567a21.33 21.33 0 0 0 21.3 21.3h25.957V33.663a14.9 14.9 0 0 0-14.885-14.9h-32.371ZM65.4 218.152a6.644 6.644 0 0 1-5.756-9.967l24.891-43.139a6.658 6.658 0 0 1 11.527 0l24.906 43.139a6.652 6.652 0 0 1-5.758 9.967Zm65.869-50.693a31.523 31.523 0 0 1 24.992-36.917 31.529 31.529 0 0 1 36.918 24.993 31.53 31.53 0 0 1-24.992 36.917 31.742 31.742 0 0 1-5.994.574 31.536 31.536 0 0 1-30.927-25.567Zm-70.568-40.454a1.894 1.894 0 0 1-1.895-1.895V71.815a1.894 1.894 0 0 1 1.895-1.895h63.533a1.894 1.894 0 0 1 1.895 1.895v53.295a1.894 1.894 0 0 1-1.895 1.895Z",stroke:"rgba(0,0,0,0)",strokeMiterlimit:10}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 882",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},68625:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256",width:"16.1",height:"13.5"},e),{},{children:[(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 1602",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{fill:"#2781b0",children:[(0,a.jsx)("path",{"data-name":"Trazado 7242",d:"m20.695 32.211 11.313-11.318 203.3 203.4-11.313 11.318Z"}),(0,a.jsx)("path",{"data-name":"Trazado 7243",d:"M19.371 106.631C6.694 118.186 0 133.962 0 152.26a61.725 61.725 0 0 0 20.253 46.312c12.578 11.424 29.547 17.714 47.778 17.714h114.108L55.275 89.429c-14.007 2.7-26.556 8.672-35.911 17.2Z"}),(0,a.jsx)("path",{"data-name":"Trazado 7244",d:"M238.286 203.889C249.875 194.662 256 180.961 256 164.264c0-30.939-24.23-47.692-48.894-51.341-3.258-20.595-12.03-38.216-25.568-51.249a76.817 76.817 0 0 0-53.589-21.459 73.336 73.336 0 0 0-41.553 12.506l151.47 151.492c.128-.107.285-.206.42-.313Z"})]})]}))}},67038:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256",width:"26.9",height:"26.9"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"Offline-Registration_svg__a",children:(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 1604",fill:"none",d:"M0 0h256v199.086H0z"})})}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 1602",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"Grupo 2526",children:[(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 1603",fill:"#00142f",d:"m19.235 39.602 10.497-10.49L218.26 217.77l-10.497 10.49z"}),(0,a.jsx)("g",{"data-name":"Grupo 2525",children:(0,a.jsxs)("g",{"data-name":"Grupo 2524",clipPath:"url(#Offline-Registration_svg__a)",fill:"#00142f",transform:"translate(0 29.146)",children:[(0,a.jsx)("path",{"data-name":"Trazado 7273",d:"m17.968 79.492.007.015a55.559 55.559 0 0 0-17.96 42.3 57.238 57.238 0 0 0 18.783 42.92 65.482 65.482 0 0 0 44.3 16.431h105.817L51.268 63.545a68.63 68.63 0 0 0-33.3 15.947"}),(0,a.jsx)("path",{"data-name":"Trazado 7274",d:"m222.825 99.169-.074.015h-.333l-.326-.03a22.226 22.226 0 0 1-9.028-2.8 4.017 4.017 0 0 0-.651-.3 3.823 3.823 0 0 0-.533.244 18.331 18.331 0 0 1-9.665 2.745 18.542 18.542 0 0 1-3.559-.348l-.955-.185-.866-.429a19.149 19.149 0 0 1-9.332-10 5.281 5.281 0 0 0-.3-.525 4.064 4.064 0 0 0-.474-.1 18.625 18.625 0 0 1-12.12-6.21l-.585-.666-.422-.792a19.8 19.8 0 0 1-1.843-13.35 6.256 6.256 0 0 0 .067-.9 4.811 4.811 0 0 0-.437-.511 19.647 19.647 0 0 1-6.209-12.306l-.089-.807.089-.8a19.526 19.526 0 0 1 5.21-11.211c-.644-.688-1.251-1.413-1.924-2.079a71.234 71.234 0 0 0-49.687-19.901 68.071 68.071 0 0 0-38.525 11.6l140.41 140.462c.118-.1.266-.192.392-.289v-.007a45.043 45.043 0 0 0 16.428-36.742c0-14.652-5.876-25.849-14.66-33.774"}),(0,a.jsx)("path",{"data-name":"Trazado 7275",d:"M255.963 51.509a15.953 15.953 0 0 0-5.121-10.049 8.872 8.872 0 0 1-1.48-1.991 9.8 9.8 0 0 1 .059-2.753 16.071 16.071 0 0 0-1.487-10.967l-.207-.385-.3-.333a14.943 14.943 0 0 0-9.82-5 8.149 8.149 0 0 1-2.316-.7 8.935 8.935 0 0 1-1.359-2.096 15.448 15.448 0 0 0-7.563-8.192l-.437-.215-.481-.1a14.62 14.62 0 0 0-10.633 1.965 8.262 8.262 0 0 1-2.405.888 8.3 8.3 0 0 1-2.401-.888 14.639 14.639 0 0 0-10.638-1.961l-.474.1-.444.215a15.505 15.505 0 0 0-7.563 8.192 8.821 8.821 0 0 1-1.369 2.109 8.149 8.149 0 0 1-2.316.7 14.96 14.96 0 0 0-9.82 5l-.3.333-.207.392a16.144 16.144 0 0 0-1.48 10.9 9.96 9.96 0 0 1 .059 2.775 9.2 9.2 0 0 1-1.487 2.013 15.9 15.9 0 0 0-5.103 10.048l-.044.4.044.4a15.934 15.934 0 0 0 5.106 10.057 9.031 9.031 0 0 1 1.487 1.983 9.861 9.861 0 0 1-.059 2.76 16.112 16.112 0 0 0 1.48 10.952l.207.392.3.333a14.96 14.96 0 0 0 9.82 5 8.149 8.149 0 0 1 2.316.7 9.082 9.082 0 0 1 1.376 2.109 15.446 15.446 0 0 0 7.563 8.162l.437.215.474.089a14.639 14.639 0 0 0 10.635-1.96 8.262 8.262 0 0 1 2.405-.888 8.533 8.533 0 0 1 2.472.925 18.627 18.627 0 0 0 7.526 2.331l.155.015h.185a9.794 9.794 0 0 0 3.16-.525l.229-.074.215-.111a15.421 15.421 0 0 0 7.57-8.185 9.2 9.2 0 0 1 1.376-2.1 8.03 8.03 0 0 1 2.309-.7 14.943 14.943 0 0 0 9.82-5l.3-.326.2-.392a15.981 15.981 0 0 0 1.487-10.982 10.04 10.04 0 0 1-.059-2.745 8.957 8.957 0 0 1 1.48-1.976 15.953 15.953 0 0 0 5.121-10.049l.044-.407Zm-47.751 15.655-15.387-16.081 5.454-5.683 9.933 10.353 18.342-19.108 5.458 5.706Z"})]})})]})]}))}},75288:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256",width:"16.52",height:"12.86"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"online-registration-back_svg__a",children:(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 1600",fill:"#2781b0",d:"M0 0h256v199.269H0z"})})}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 1602",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("g",{"data-name":"Grupo 2521",children:(0,a.jsxs)("g",{"data-name":"Grupo 2520",clipPath:"url(#online-registration-back_svg__a)",fill:"#2781b0",transform:"translate(0 22.634)",children:[(0,a.jsx)("path",{"data-name":"Trazado 7245",d:"M110.325 123.433a78.259 78.259 0 0 0 .768 10.936h13.5v-21.871h-13.5a78.271 78.271 0 0 0-.768 10.936Z"}),(0,a.jsx)("path",{"data-name":"Trazado 7246",d:"M112.411 105.696h12.187V85.56c-4.871 2.382-9.583 9.676-12.187 20.141"}),(0,a.jsx)("path",{"data-name":"Trazado 7247",d:"M124.599 161.316v-20.141h-12.188c2.6 10.464 7.316 17.761 12.187 20.141"}),(0,a.jsx)("path",{"data-name":"Trazado 7248",d:"M162.4 105.7a38.951 38.951 0 0 0-18.91-17.748 52.941 52.941 0 0 1 7.113 17.748Z"}),(0,a.jsx)("path",{"data-name":"Trazado 7249",d:"M103.53 123.433a85.92 85.92 0 0 1 .711-10.937H90.854a38.2 38.2 0 0 0 0 21.873h13.384a86.293 86.293 0 0 1-.711-10.936"}),(0,a.jsx)("path",{"data-name":"Trazado 7250",d:"M112.5 87.95a38.954 38.954 0 0 0-18.909 17.748h11.8a53.038 53.038 0 0 1 7.113-17.748"}),(0,a.jsx)("path",{"data-name":"Trazado 7251",d:"M93.597 141.173a38.956 38.956 0 0 0 18.909 17.748 52.942 52.942 0 0 1-7.113-17.748Z"}),(0,a.jsx)("path",{"data-name":"Trazado 7252",d:"M151.757 112.499a84.331 84.331 0 0 1 0 21.873h13.385a38.182 38.182 0 0 0 0-21.873Z"}),(0,a.jsx)("path",{"data-name":"Trazado 7253",d:"M143.491 158.922a38.962 38.962 0 0 0 18.91-17.748h-11.8a52.968 52.968 0 0 1-7.113 17.748"}),(0,a.jsx)("path",{"data-name":"Trazado 7254",d:"M192.789 69.359c.12-1.539.177-2.98.177-4.393a64.966 64.966 0 0 0-129.932 0c0 1.413.058 2.854.177 4.393a64.967 64.967 0 0 0 1.754 129.91h126.069a64.967 64.967 0 0 0 1.754-129.91Zm-21.947 69.376a3.373 3.373 0 0 1-.2.561 45.463 45.463 0 0 1-85.276 0 3.126 3.126 0 0 1-.2-.561 44.686 44.686 0 0 1 0-30.59 3.233 3.233 0 0 1 .2-.561 45.463 45.463 0 0 1 85.277 0 3.128 3.128 0 0 1 .2.561 44.711 44.711 0 0 1 0 30.59"}),(0,a.jsx)("path",{"data-name":"Trazado 7255",d:"M131.398 141.173v20.141c4.871-2.38 9.583-9.677 12.187-20.141Z"}),(0,a.jsx)("path",{"data-name":"Trazado 7256",d:"M131.398 85.557v20.141h12.187c-2.6-10.464-7.316-17.758-12.187-20.141"}),(0,a.jsx)("path",{"data-name":"Trazado 7257",d:"M145.671 123.433a78.26 78.26 0 0 0-.769-10.937h-13.5v21.872h13.5a78.262 78.262 0 0 0 .769-10.936Z"})]})})]}))}},8117:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256",width:"32.12",height:"25"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"online-registration-icn_svg__a",children:(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 1601",fill:"none",d:"M0 0h256v189.799H0z"})})}),(0,a.jsx)("g",{"data-name":"Grupo 2523",children:(0,a.jsxs)("g",{"data-name":"Grupo 2522",transform:"translate(0 32.999)",clipPath:"url(#online-registration-icn_svg__a)",fill:"#00142f",children:[(0,a.jsx)("path",{"data-name":"Trazado 7258",d:"M105.956 117.2a75.071 75.071 0 0 0 .763 10.469h12.926v-20.938h-12.926a75.072 75.072 0 0 0-.763 10.469"}),(0,a.jsx)("path",{"data-name":"Trazado 7259",d:"M119.607 100.222V80.94a29.091 29.091 0 0 0-11.667 19.282Z"}),(0,a.jsx)("path",{"data-name":"Trazado 7260",d:"M119.614 153.467h.008v-19.282h-11.675a29.062 29.062 0 0 0 11.667 19.282"}),(0,a.jsx)("path",{"data-name":"Trazado 7261",d:"M155.805 100.221a37.276 37.276 0 0 0-18.1-16.993 50.754 50.754 0 0 1 6.807 16.993Z"}),(0,a.jsx)("path",{"data-name":"Trazado 7262",d:"M99.417 117.2h.034a81.388 81.388 0 0 1 .679-10.469H87.323a36.628 36.628 0 0 0 0 20.938h12.773a82.781 82.781 0 0 1-.679-10.469"}),(0,a.jsx)("path",{"data-name":"Trazado 7263",d:"M108.039 83.229a37.31 37.31 0 0 0-18.099 16.992h11.293a50.754 50.754 0 0 1 6.806-16.993"}),(0,a.jsx)("path",{"data-name":"Trazado 7264",d:"M89.947 134.178a37.31 37.31 0 0 0 18.1 16.993 50.754 50.754 0 0 1-6.806-16.993Z"}),(0,a.jsx)("path",{"data-name":"Trazado 7265",d:"M145.603 106.731a80.807 80.807 0 0 1 0 20.938h12.811a36.5 36.5 0 0 0 0-20.938Z"}),(0,a.jsx)("path",{"data-name":"Trazado 7266",d:"M137.706 151.171a37.31 37.31 0 0 0 18.1-16.993h-11.294a50.754 50.754 0 0 1-6.806 16.993"}),(0,a.jsx)("path",{"data-name":"Trazado 7267",d:"m230.957 100.848-.443.221-.473.16a13.816 13.816 0 0 1-4.494.748v-.023h-.671a22.917 22.917 0 0 1-9.309-2.884 4.907 4.907 0 0 0-.671-.313q-.275.114-.549.252a18.913 18.913 0 0 1-13.636 2.472l-.992-.2-.9-.443a19.76 19.76 0 0 1-9.619-10.306 5.449 5.449 0 0 0-.305-.542 5.087 5.087 0 0 0-.488-.107 19.2 19.2 0 0 1-12.5-6.4l-.61-.687-.427-.809a20.457 20.457 0 0 1-1.908-13.735 5.126 5.126 0 0 0 .046-.969 5.773 5.773 0 0 0-.443-.526 20.249 20.249 0 0 1-6.379-12.682l-.092-.832.092-.832a20.268 20.268 0 0 1 6.394-12.682 4.831 4.831 0 0 0 .427-.549 5.1 5.1 0 0 0-.069-.961 20.376 20.376 0 0 1 .992-11.552A62.2 62.2 0 0 0 60.692 61.216c0 1.351.053 2.732.168 4.2a62.2 62.2 0 0 0 1.678 124.381h120.683a62.1 62.1 0 0 0 53.886-93.717 19.522 19.522 0 0 1-6.15 4.769m-67.064 30.957a3.466 3.466 0 0 1-.2.534 43.494 43.494 0 0 1-81.645 0 2.641 2.641 0 0 1-.2-.534 42.738 42.738 0 0 1 0-29.285 2.641 2.641 0 0 1 .2-.534 43.494 43.494 0 0 1 81.645 0 2.642 2.642 0 0 1 .2.534 42.827 42.827 0 0 1 0 29.285"}),(0,a.jsx)("path",{"data-name":"Trazado 7268",d:"M126.131 134.178v19.282a29.062 29.062 0 0 0 11.67-19.282Z"}),(0,a.jsx)("path",{"data-name":"Trazado 7269",d:"M126.131 80.94v19.282h11.67a29.091 29.091 0 0 0-11.67-19.282"}),(0,a.jsx)("path",{"data-name":"Trazado 7270",d:"M139.79 117.194Z"}),(0,a.jsx)("path",{"data-name":"Trazado 7271",d:"M139.789 117.2a75.154 75.154 0 0 0-.763-10.469H126.1v20.93h12.926a74.96 74.96 0 0 0 .763-10.461"}),(0,a.jsx)("path",{"data-name":"Trazado 7272",d:"m251.907 61.322-.023-.008a12.677 12.677 0 0 0 4.113-8.02 12.677 12.677 0 0 0-4.113-8.02 12.75 12.75 0 0 1-2.564-3.632 13.77 13.77 0 0 1 0-4.746 12.755 12.755 0 0 0-1.167-8.783 11.643 11.643 0 0 0-7.714-3.884 12.384 12.384 0 0 1-4.3-1.442 13.206 13.206 0 0 1-2.564-3.739 12.157 12.157 0 0 0-5.99-6.532 11.279 11.279 0 0 0-8.279 1.526 12.67 12.67 0 0 1-4.419 1.528 12.67 12.67 0 0 1-4.426-1.526 11.279 11.279 0 0 0-8.279-1.526 12.2 12.2 0 0 0-5.975 6.524 13.175 13.175 0 0 1-2.587 3.762 12.346 12.346 0 0 1-4.281 1.435 11.643 11.643 0 0 0-7.714 3.884 12.757 12.757 0 0 0-1.152 8.737 14.158 14.158 0 0 1 0 4.746 13.16 13.16 0 0 1-2.587 3.67 12.632 12.632 0 0 0-4.105 8.027 12.6 12.6 0 0 0 4.113 8.012 13.135 13.135 0 0 1 2.587 3.632 14.2 14.2 0 0 1 0 4.754 12.8 12.8 0 0 0 1.16 8.783 11.643 11.643 0 0 0 7.714 3.884 12.346 12.346 0 0 1 4.281 1.435 13.246 13.246 0 0 1 2.587 3.754 12.165 12.165 0 0 0 5.975 6.493 11.285 11.285 0 0 0 8.279-1.526 12.67 12.67 0 0 1 4.43-1.527 12.67 12.67 0 0 1 4.426 1.526 15.413 15.413 0 0 0 6.219 1.923 6.5 6.5 0 0 0 2.053-.336 12.155 12.155 0 0 0 5.975-6.516 13.246 13.246 0 0 1 2.587-3.754 12.346 12.346 0 0 1 4.281-1.435 11.643 11.643 0 0 0 7.714-3.884 12.717 12.717 0 0 0 1.167-8.828 14.158 14.158 0 0 1 0-4.746 12.834 12.834 0 0 1 2.587-3.624m-41.363 7.706L194.689 52.44l5.631-5.883 10.233 10.683 18.931-19.679 5.631 5.883Z"})]})}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 1602",fill:"none",d:"M0 0h256v256H0z"})]}))}},78851:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"OpenListIcon",children:[(0,a.jsx)("path",{"data-name":"Trazado 6842",d:"M0 71.037a14.843 14.843 0 0 1 4.511-10.526 14.978 14.978 0 0 1 21.427 0l101.874 101.874 102.25-101.874a14.978 14.978 0 0 1 21.427 0 14.978 14.978 0 0 1 0 21.427L138.714 194.714a14.843 14.843 0 0 1-10.526 4.511 13.65 13.65 0 0 1-10.526-4.511L4.887 81.938A15.229 15.229 0 0 1 0 71.037Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 896",fill:"none",d:"M0 0h256v256H0z"})]})]})]}))}},26805:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({},e),{},{className:"min-icon",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 606.583 134.691",children:(0,a.jsx)("g",{id:"prefix__Layer_2","data-name":"Layer 2",children:(0,a.jsx)("g",{id:"prefix__Layer_1-2","data-name":"Layer 1",children:(0,a.jsx)("path",{className:"prefix__cls-1",d:"M79.695 95.063c0 23.03-16.763 39.628-39.848 39.628C16.763 134.69 0 118.092 0 95.063s16.763-39.628 39.847-39.628c23.085 0 39.848 16.599 39.848 39.628zm-69.582 0c0 18.083 12.806 30.339 29.734 30.339 16.929 0 29.735-12.256 29.735-30.34 0-18.081-12.806-30.338-29.735-30.338-16.928 0-29.734 12.257-29.734 30.339zM106.895 102.758v30.779H97.22V56.589h29.24c17.368 0 27.206 8.685 27.206 23.084 0 14.4-9.838 23.085-27.206 23.085zm0-37.045v27.921h19.346c11.377 0 17.368-4.617 17.368-13.96 0-9.344-5.99-13.96-17.368-13.96zM224.784 133.537h-54.632V56.589h54.082v9.07h-44.409v24.567h42.98v9.124h-42.98v25.118h44.96zM275.07 56.59c17.368 0 26.931 7.804 26.931 21.82 0 13.355-10.387 21.93-26.876 21.93h-.604l27.096 33.197h-11.982l-26.437-33.198h-9.013v33.198h-9.674V56.589zm-20.885 9.069v25.886h20.665c11.322 0 17.093-4.506 17.093-13.135 0-8.52-5.935-12.751-17.093-12.751zM384.716 133.537h-10.388l-8.464-20.996h-37.32l-8.409 20.996h-10.058l31.274-76.948h12.036zm-52.49-30.174h29.955l-14.95-37.21zM445.114 65.768h-26.217v67.769h-9.673V65.768h-26.272v-9.179h62.162zM531.566 95.063c0 23.03-16.763 39.628-39.847 39.628s-39.848-16.599-39.848-39.628 16.764-39.628 39.848-39.628 39.847 16.599 39.847 39.628zm-69.582 0c0 18.083 12.807 30.339 29.735 30.339 16.928 0 29.735-12.256 29.735-30.34 0-18.081-12.807-30.338-29.735-30.338-16.928 0-29.735 12.257-29.735 30.339zM579.652 56.59c17.368 0 26.931 7.804 26.931 21.82 0 13.355-10.388 21.93-26.876 21.93h-.605l27.096 33.197h-11.981l-26.437-33.198h-9.014v33.198h-9.673V56.589zm-20.886 9.069v25.886h20.666c11.322 0 17.093-4.506 17.093-13.135 0-8.52-5.936-12.751-17.093-12.751zM72.292.762h11.75v34.419h-11.75zM58.159 1.087l-23.85 14.566a1.06 1.06 0 01-1.106 0L9.352 1.087a3.272 3.272 0 00-1.705-.48h-.03a3.27 3.27 0 00-3.27 3.27v31.304H16.09V20.327a1.175 1.175 0 011.787-1.002l13.366 8.177a4.188 4.188 0 004.304.04l14.104-8.273a1.174 1.174 0 011.769 1.013v14.9h11.742V3.876a3.27 3.27 0 00-3.27-3.27h-.03a3.266 3.266 0 00-1.703.48zM142.742.753h-11.916v15.794a1.175 1.175 0 01-1.727 1.037L98.22 1.137A3.268 3.268 0 0096.68.753h-.02a3.27 3.27 0 00-3.27 3.27v31.158h11.82V19.64a1.174 1.174 0 011.725-1.038l31.004 16.445a3.27 3.27 0 001.533.381 3.27 3.27 0 003.27-3.27V.753zM152.279 35.173V.753h5.463v34.42zM189.208 35.926c-14.545 0-24.863-6.9-24.863-17.963C164.345 6.962 174.725 0 189.208 0c14.482 0 24.924 6.899 24.924 17.963s-10.194 17.963-24.924 17.963zm0-31.327c-10.815 0-19.145 4.724-19.145 13.364 0 8.702 8.33 13.363 19.145 13.363s19.206-4.662 19.206-13.363c0-8.64-8.392-13.364-19.206-13.364z"})})})}))}},11733:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 255.999"},e),{},{children:(0,a.jsx)("path",{id:"recover-icn",d:"M17866.783-5487a16.655,16.655,0,0,1-4.354-.6l-57.238-15.5a14.778,14.778,0,0,1-10.492-18.271l15.535-57.135c5.1-18.748,33.652-11.014,28.557,7.734l-5.8,21.333-1.033,3.5c.176-.094.342-.2.525-.288a84.861,84.861,0,0,0,39.223-113.4,85.2,85.2,0,0,0-62.492-46.565,12.846,12.846,0,0,1-10.568-14.789,12.864,12.864,0,0,1,14.811-10.552,110.978,110.978,0,0,1,81.389,60.667,109.742,109.742,0,0,1,11.158,47.846v.683a110.648,110.648,0,0,1-62.258,99.21c-.059.032-.121.049-.18.077l9.572,2.328,17.045,4.615c17.252,4.673,12.115,29.111-3.393,29.111Zm-122.105-11.284a13.242,13.242,0,0,1-2.135-.175,110.98,110.98,0,0,1-81.387-60.667,109.694,109.694,0,0,1-11.154-48.088v-.229a110.629,110.629,0,0,1,62.252-99.421c.064-.032.123-.05.186-.081l-9.576-2.323-17.041-4.615c-17.234-4.669-12.129-29.053,3.334-29.115h.131a16.69,16.69,0,0,1,4.283.606l57.242,15.5a14.775,14.775,0,0,1,10.488,18.272l-15.531,57.134c-5.1,18.749-33.658,11.015-28.562-7.734l5.8-21.336,1.039-3.5c-.176.094-.346.2-.531.288a84.855,84.855,0,0,0-39.217,113.4,85.188,85.188,0,0,0,62.486,46.569,12.845,12.845,0,0,1,10.57,14.785,12.866,12.866,0,0,1-12.674,10.731ZM17757-5615a21,21,0,0,1,21-21,21,21,0,0,1,21,21,21,21,0,0,1-21,21A21,21,0,0,1,17757-5615Z",transform:"translate(-17650.002 5743.001)"})}))}},18221:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 373",d:"M18 145.888A110.2 110.2 0 0 1 126.767 35.85L113.78 22.869c-12.378-12.378 6.448-31.2 18.822-18.824l37.722 37.72a13.32 13.32 0 0 1 0 18.979l-37.722 37.714c-12.374 12.374-31.2-6.442-18.822-18.82l14.085-14.085a80.434 80.434 0 0 0-80.1 80.335 80.443 80.443 0 0 0 80.349 80.35 80.441 80.441 0 0 0 80.349-80.35 14.878 14.878 0 0 1 14.879-14.877 14.879 14.879 0 0 1 14.882 14.877A110.234 110.234 0 0 1 128.114 256 110.232 110.232 0 0 1 18 145.888Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 871",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},35150:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 6970",d:"M27 101h202a27 27 0 0 1 0 54H27a27 27 0 0 1 0-54Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 916",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},13336:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("g",{"data-name":"search-icn",children:(0,a.jsx)("path",{"data-name":"Trazado 399",d:"M200.076 179.436a109.04 109.04 0 0 0 24.225-68.582C224.301 49.663 174.057 0 112.151 0S.001 49.663.001 110.854s50.243 110.855 112.15 110.855a111.975 111.975 0 0 0 66.393-21.58l52.037 51.437A15.108 15.108 0 0 0 241.048 256a14.929 14.929 0 0 0 10.467-25.423ZM29.908 110.854c0-44.933 36.785-81.293 82.243-81.293s82.243 36.36 82.243 81.293-37.084 81.293-82.243 81.293-82.243-36.36-82.243-81.293Z"})}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 866",fill:"none",d:"M0 0h256v255.7H0z"})]})]}))}},74524:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{"data-name":"Select Multiple",clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{d:"M234.667 234.667v-30.486h-30.473v30.485h30.473m-91.43 0v-30.485h-30.473v30.485h30.473m-91.43 0v-30.485H21.333v30.485h30.473m182.861-91.43v-30.472h-30.473v30.473h30.473m-91.43 0v-30.473h-30.473v30.473h30.473m-91.43 0v-30.473H21.333v30.473h30.473m182.861-91.43V21.333h-30.473v30.473h30.473m-91.43 0V21.333h-30.473v30.473h30.473m-91.43 0V21.333H21.333v30.473h30.473M241.779 256h-44.7a14.225 14.225 0 0 1-14.221-14.234v-44.684a14.225 14.225 0 0 1 14.221-14.234h44.7A14.225 14.225 0 0 1 256 197.082v44.685A14.225 14.225 0 0 1 241.779 256Zm-91.43 0h-44.7a14.225 14.225 0 0 1-14.219-14.234v-44.684a14.225 14.225 0 0 1 14.221-14.234h44.7a14.225 14.225 0 0 1 14.221 14.234v44.685A14.225 14.225 0 0 1 150.349 256Zm-91.43 0h-44.7A14.233 14.233 0 0 1 0 241.766v-44.684a14.233 14.233 0 0 1 14.221-14.234h44.7a14.225 14.225 0 0 1 14.221 14.234v44.685A14.225 14.225 0 0 1 58.918 256Zm182.861-91.43h-44.7a14.222 14.222 0 0 1-14.221-14.221v-44.7a14.214 14.214 0 0 1 14.223-14.219h44.7A14.214 14.214 0 0 1 256 105.651v44.7a14.222 14.222 0 0 1-14.221 14.219Zm-91.43 0h-44.7a14.222 14.222 0 0 1-14.22-14.221v-44.7a14.214 14.214 0 0 1 14.221-14.219h44.7a14.214 14.214 0 0 1 14.221 14.221v44.7a14.222 14.222 0 0 1-14.223 14.219Zm-91.43 0h-44.7A14.23 14.23 0 0 1 0 150.349v-44.7A14.222 14.222 0 0 1 14.221 91.43h44.7a14.214 14.214 0 0 1 14.221 14.221v44.7a14.222 14.222 0 0 1-14.224 14.219Zm182.861-91.43h-44.7a14.214 14.214 0 0 1-14.221-14.221v-44.7A14.214 14.214 0 0 1 197.082 0h44.7A14.214 14.214 0 0 1 256 14.221v44.7a14.214 14.214 0 0 1-14.221 14.218Zm-91.43 0h-44.7A14.214 14.214 0 0 1 91.43 58.918v-44.7A14.214 14.214 0 0 1 105.651 0h44.7a14.214 14.214 0 0 1 14.219 14.221v44.7a14.214 14.214 0 0 1-14.221 14.218Zm-91.43 0h-44.7A14.222 14.222 0 0 1 0 58.918v-44.7A14.222 14.222 0 0 1 14.221 0h44.7a14.214 14.214 0 0 1 14.218 14.221v44.7a14.214 14.214 0 0 1-14.221 14.218Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 915",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},30723:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"settings-icn",children:[(0,a.jsx)("path",{"data-name":"Trazado 341",d:"m247.385 99.227-26.7-3.841a92.362 92.362 0 0 0-4.166-9.853l16.176-21.584a9.834 9.834 0 0 0-.9-12.9l-26.889-27.1a9.825 9.825 0 0 0-12.893-.887l-21.6 16.254a89.085 89.085 0 0 0-9.857-4.134l-3.83-26.7a9.856 9.856 0 0 0-9.852-8.476H108.73a9.843 9.843 0 0 0-9.844 8.476l-3.836 26.7a89.115 89.115 0 0 0-9.859 4.134L63.53 23.06a9.881 9.881 0 0 0-12.936.887l-26.881 26.9a9.832 9.832 0 0 0-.9 12.9l16.27 21.584a87.181 87.181 0 0 0-4.166 9.851l-26.68 3.843a9.85 9.85 0 0 0-8.482 9.854v38.036a9.851 9.851 0 0 0 8.482 9.854l26.68 3.84a85.76 85.76 0 0 0 4.166 9.855l-16.27 21.777a9.848 9.848 0 0 0 .9 12.914l26.881 26.9a9.891 9.891 0 0 0 12.936.879l21.561-16.256a85.986 85.986 0 0 0 9.859 4.136l3.844 26.705a9.843 9.843 0 0 0 9.857 8.475h38.031a9.867 9.867 0 0 0 9.859-8.475l3.842-26.705a90.284 90.284 0 0 0 9.859-4.136l21.568 16.157a9.852 9.852 0 0 0 12.906-.878l26.9-26.9a9.856 9.856 0 0 0 .889-12.915l-16.061-21.485a89.562 89.562 0 0 0 4.131-9.853l26.709-3.842a9.867 9.867 0 0 0 8.475-9.853v-38.133a9.868 9.868 0 0 0-8.374-9.749Zm-11.236 39.413-24.443 3.549a9.888 9.888 0 0 0-8.088 7.1 82.022 82.022 0 0 1-6.875 17.436 9.813 9.813 0 0 0 0 10.549l14.764 19.707-14.764 15.072-19.719-15.072a9.863 9.863 0 0 0-10.461 0 75.566 75.566 0 0 1-17.711 7.291 9.814 9.814 0 0 0-7.105 8.085l-3.549 24.034h-20.895l-3.549-24.436a9.8 9.8 0 0 0-7.092-8.073 76.134 76.134 0 0 1-17.738-7.294 9.831 9.831 0 0 0-10.439.393l-19.711 14.777-15.072-14.777 15.072-19.707a9.844 9.844 0 0 0 0-10.549 82.861 82.861 0 0 1-7.3-17.634 9.841 9.841 0 0 0-8.074-7.095l-24.035-3.55v-20.889l24.443-3.55a9.85 9.85 0 0 0 8.074-7.1 82.89 82.89 0 0 1 6.891-17.635 9.84 9.84 0 0 0 0-10.546l-15.072-19.71 15.072-15.071 19.711 15.071a9.816 9.816 0 0 0 10.439 0 76.209 76.209 0 0 1 17.738-7.291 9.806 9.806 0 0 0 7.092-8.074l3.549-24.044h20.895l3.549 24.435a9.839 9.839 0 0 0 7.105 8.084 75.193 75.193 0 0 1 17.711 7.291 9.866 9.866 0 0 0 10.461-.4l19.719-14.778 15.057 14.778-15.057 19.71a9.822 9.822 0 0 0-.7 10.839 82.237 82.237 0 0 1 7.3 17.644 9.84 9.84 0 0 0 8.074 7.088l24.443 3.547Z"}),(0,a.jsx)("path",{"data-name":"Trazado 342",d:"M127.742 78.73a49.269 49.269 0 0 0-49.258 49.275 49.266 49.266 0 0 0 49.258 49.267 49.271 49.271 0 0 0 49.281-49.267 49.274 49.274 0 0 0-49.281-49.275Zm0 78.836a29.553 29.553 0 0 1-29.547-29.561 29.56 29.56 0 0 1 29.547-29.57 29.555 29.555 0 0 1 29.564 29.57 29.548 29.548 0 0 1-29.564 29.561Z"})]}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 888",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},35994:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 860",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"share-icn",children:[(0,a.jsx)("path",{"data-name":"Trazado 410",d:"M251.315 67.671 207.79 25.459c-14.279-13.851-35.342 7.862-21.063 21.716l12.959 12.567a156.689 156.689 0 0 0-82.95 23.182 156.774 156.774 0 0 0-71.051 97.677 15.547 15.547 0 0 0 11.474 18.755 15.62 15.62 0 0 0 3.655.438 15.555 15.555 0 0 0 15.1-11.909c14.6-60.586 70.74-100.461 130.9-96.758l-3.335 4.317-15.767 16.248c-13.849 14.285 7.867 35.345 21.719 21.063l42.214-43.518a15.131 15.131 0 0 0-.33-21.566Z"}),(0,a.jsx)("path",{"data-name":"Trazado 411",d:"M229.501 156.071c-7.927 0-14.351 6.747-14.351 15.066v54.731H28.703V30.133h126.71c7.925 0 14.351-6.744 14.351-15.066S163.337.001 155.413.001h-130.1C11.356.001.002 11.921.002 26.575v202.854c0 14.652 11.354 26.572 25.311 26.572h193.23c13.957 0 25.311-11.92 25.311-26.572v-58.291c-.001-8.32-6.428-15.067-14.353-15.067Z"})]})]})]}))}},9227:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 12 12"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-reg-menu-icon",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1593","data-name":"Rect\xe1ngulo 1593",width:"12",height:"12"})})}),(0,a.jsx)("g",{id:"Grupo_2469","data-name":"Grupo 2469",clipPath:"url(#clip-path-reg-menu-icon)",children:(0,a.jsx)("path",{id:"Trazado_7117","data-name":"Trazado 7117",d:"M11.4,7.564a1.848,1.848,0,0,0,.6-1.17,1.848,1.848,0,0,0-.6-1.17,1.866,1.866,0,0,1-.377-.532,2.022,2.022,0,0,1,0-.693,1.858,1.858,0,0,0-.17-1.282,1.7,1.7,0,0,0-1.126-.567A1.8,1.8,0,0,1,9.1,1.94a1.924,1.924,0,0,1-.374-.546A1.775,1.775,0,0,0,7.854.442,1.649,1.649,0,0,0,6.646.671,1.833,1.833,0,0,1,6,.89,1.833,1.833,0,0,1,5.354.671,1.649,1.649,0,0,0,4.146.442a1.78,1.78,0,0,0-.872.952,1.926,1.926,0,0,1-.377.549,1.806,1.806,0,0,1-.625.209,1.7,1.7,0,0,0-1.126.567A1.865,1.865,0,0,0,.977,3.994a2.053,2.053,0,0,1,0,.693A1.915,1.915,0,0,1,.6,5.223,1.844,1.844,0,0,0,0,6.394a1.843,1.843,0,0,0,.6,1.17,1.932,1.932,0,0,1,.377.53,2.061,2.061,0,0,1,0,.694,1.865,1.865,0,0,0,.169,1.282,1.7,1.7,0,0,0,1.126.567,1.806,1.806,0,0,1,.625.209,1.925,1.925,0,0,1,.377.548,1.775,1.775,0,0,0,.872.948,1.649,1.649,0,0,0,1.208-.228A1.831,1.831,0,0,1,6,11.894a1.832,1.832,0,0,1,.646.219,2.244,2.244,0,0,0,.908.281.929.929,0,0,0,.3-.049,1.773,1.773,0,0,0,.872-.951,1.934,1.934,0,0,1,.377-.548,1.8,1.8,0,0,1,.625-.209,1.7,1.7,0,0,0,1.126-.567,1.853,1.853,0,0,0,.169-1.284,2.051,2.051,0,0,1,0-.693,1.881,1.881,0,0,1,.377-.529M5.367,8.69,3.051,6.269l.821-.855L5.367,6.973,8.128,4.1l.821.858Z",transform:"translate(0 -0.394)"})})]}))}},50364:function(e,t,n){"use strict";n.d(t,{CR:function(){return x},R7:function(){return _},Qz:function(){return i},sx:function(){return E},o0:function(){return S},EY:function(){return y},ag:function(){return w},an:function(){return u},lx:function(){return s},BN:function(){return p},Gp:function(){return o},lj:function(){return h},cg:function(){return d},Ud:function(){return l},_F:function(){return f},uV:function(){return m},ep:function(){return g},tF:function(){return j},V1:function(){return b.Z},aw:function(){return v},ub:function(){return c},v9:function(){return Z}});var r=n(18489),a=(n(50390),n(62559)),o=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 12 12.001"},e),{},{children:(0,a.jsx)("path",{id:"InspectIcon",d:"M-2191.428,31a1.876,1.876,0,0,1-1.715-2V27.5h1.285V29a.47.47,0,0,0,.429.5h6.857a.47.47,0,0,0,.428-.5V27.5h1.286V29a1.877,1.877,0,0,1-1.715,2ZM-2194,26V24h12v2Zm2.142-3.5h-1.284V21a1.876,1.876,0,0,1,1.715-2h6.857a1.876,1.876,0,0,1,1.715,2v1.5h-1.286V21a.469.469,0,0,0-.428-.5h-6.857a.469.469,0,0,0-.429.5v1.5h0Z",transform:"translate(2194 -19)"})}))},i=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 14.117 13"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-audit-log-menu-icon",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1591","data-name":"Rect\xe1ngulo 1591",width:"14.117",height:"13"})})}),(0,a.jsxs)("g",{id:"Grupo_2463","data-name":"Grupo 2463",clipPath:"url(#clip-path-audit-log-menu-icon)",children:[(0,a.jsx)("path",{id:"Trazado_7111","data-name":"Trazado 7111",d:"M10.518,108.483a5.376,5.376,0,0,1-2.413.561H8.093a5.47,5.47,0,0,1-4.394-2.2H1.142a.3.3,0,0,1-.29-.3h0v-.694a.3.3,0,0,1,.29-.3H2.987a5.318,5.318,0,0,1-.248-.857H0v6.482a.732.732,0,0,0,.731.726h9.415a.732.732,0,0,0,.731-.726v-2.333Z",transform:"translate(0 -98.898)"}),(0,a.jsx)("path",{id:"Trazado_7112","data-name":"Trazado 7112",d:"M2.636,41.038a5.331,5.331,0,0,1,.683-2.616H.731A.732.732,0,0,0,0,39.154v2.125H2.641c0-.08-.006-.16-.006-.241",transform:"translate(0 -36.296)"}),(0,a.jsx)("path",{id:"Trazado_7114","data-name":"Trazado 7114",d:"M70.167,9.1h0L68.422,7.37a4.685,4.685,0,0,0,.809-2.629,4.795,4.795,0,0,0-9.589,0,4.773,4.773,0,0,0,4.793,4.741h.014a4.754,4.754,0,0,0,2.524-.719l1.779,1.757a1.008,1.008,0,0,0,.7.3h.011a1.005,1.005,0,0,0,.7-1.714M64.394,7.53a2.8,2.8,0,0,1-2.819-2.777,2.819,2.819,0,0,1,5.637,0A2.8,2.8,0,0,1,64.394,7.53",transform:"translate(-56.343)"})]})]}))},s=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:(0,a.jsx)("g",{id:"health-icon",transform:"translate(-7440.898 -155.188)",children:(0,a.jsx)("path",{id:"Uni\xf3n_51","data-name":"Uni\xf3n 51",d:"M29.764,256A29.756,29.756,0,0,1,0,226.113V74.364H32.285V223.717H181.242V256Zm189.61-6.664V219.62h29.721v29.716Zm4.342-68.343V32.283H74.76V0H226.227A29.815,29.815,0,0,1,256,29.713v151.28Zm-72.251-.018V151.259h29.8v29.716Zm-76.706,0V151.259h29.8v29.716Zm76.706-76.9V74.364h29.8V104.08Zm-76.649,0V74.364h29.72V104.08ZM6.9,36.867V7.151h29.72V36.867Z",transform:"translate(7440.898 155.188)"})})}))},l=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 15 15"},e),{},{children:[(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1589","data-name":"Rect\xe1ngulo 1589",width:"15",height:"15",rx:"2",fill:"#081836",opacity:"0.601"}),(0,a.jsxs)("g",{id:"OpenListIcon-full",transform:"translate(4 4.984)",children:[(0,a.jsx)("g",{id:"noun_chevron_2320228",transform:"translate(0.167 4.016) rotate(-90)",children:(0,a.jsx)("path",{id:"Trazado_6842","data-name":"Trazado 6842",d:"M.422,0a.433.433,0,0,0-.3.117.37.37,0,0,0,0,.557L2.983,3.325.126,5.986a.37.37,0,0,0,0,.557.443.443,0,0,0,.6,0L3.889,3.609a.373.373,0,0,0,.126-.274.344.344,0,0,0-.126-.274L.727.127A.443.443,0,0,0,.422,0Z",transform:"translate(0 0)"})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_896","data-name":"Rect\xe1ngulo 896",width:"0.462",height:"0.462",transform:"translate(0 1.75)",fill:"none"})]})]}))},c=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 12 12"},e),{},{children:(0,a.jsxs)("g",{id:"trace-icon",transform:"translate(0 0)",children:[(0,a.jsx)("path",{id:"trace-icn",d:"M-4327.66-381.522l2.667,2.932v5.186a.377.377,0,0,1-.383.368h-.566a.379.379,0,0,1-.384-.368v-4.614l-2.666-3.135v-3.477a.376.376,0,0,1,.382-.368h.567a.376.376,0,0,1,.383.368Zm2.667-3.109a.377.377,0,0,0-.383-.368h-.566a.378.378,0,0,0-.384.368v3.332l2.668,3.135v4.758a.377.377,0,0,0,.383.368h.567a.377.377,0,0,0,.382-.368v-5.33l-2.667-2.931Zm2.284-.368h-.567a.377.377,0,0,0-.383.368v1.827a.377.377,0,0,0,.383.368h.567a.377.377,0,0,0,.382-.368v-1.827A.377.377,0,0,0-4322.709-385Zm2.1,5.554h.568a.377.377,0,0,0,.383-.368v-4.817a.377.377,0,0,0-.383-.368h-.568a.377.377,0,0,0-.383.368v4.817A.377.377,0,0,0-4320.61-379.445Zm3.233-5.554h-.567a.377.377,0,0,0-.383.368v1.827a.377.377,0,0,0,.383.368h.567a.377.377,0,0,0,.384-.368v-1.827A.377.377,0,0,0-4317.376-385Zm0,8.117h-.567a.377.377,0,0,0-.383.368v3.108a.377.377,0,0,0,.383.368h.567a.377.377,0,0,0,.384-.368v-3.108A.377.377,0,0,0-4317.376-376.882Zm0-3.845h-.567a.377.377,0,0,0-.383.368v.828l-2.667,2.648v3.477a.377.377,0,0,0,.383.368h.568a.377.377,0,0,0,.383-.368v-2.622l2.667-3.135v-1.2A.377.377,0,0,0-4317.376-380.727Zm-10.667,2.136h-.567a.376.376,0,0,0-.382.368v4.817a.376.376,0,0,0,.382.368h.567a.376.376,0,0,0,.383-.368v-4.817A.376.376,0,0,0-4328.043-378.591Z",transform:"translate(4328.993 384.999)"}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_880","data-name":"Rect\xe1ngulo 880",width:"11.078",height:"11.844",transform:"translate(0.472 0.156)",fill:"none"})]})}))},u=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 12 10.087"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-groups-menu-icon",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_992","data-name":"Rect\xe1ngulo 992",width:"12",height:"10.087"})})}),(0,a.jsxs)("g",{id:"Grupo_2367","data-name":"Grupo 2367",clipPath:"url(#clip-path-groups-menu-icon)",children:[(0,a.jsx)("path",{id:"Trazado_7090","data-name":"Trazado 7090",d:"M204.925,3.5a2.963,2.963,0,0,1-.177,1.011c.042,0,.084,0,.127,0a2.274,2.274,0,0,0,2.284-2.258,2.288,2.288,0,0,0-4-1.486A3.005,3.005,0,0,1,204.925,3.5",transform:"translate(-195.887 0)"}),(0,a.jsx)("path",{id:"Trazado_7091","data-name":"Trazado 7091",d:"M207.3,137.346a3.458,3.458,0,0,0-1.31-1.03,3.642,3.642,0,0,0-.725-.242,3.479,3.479,0,0,0-.748-.082c-.05,0-.1,0-.151,0h-.017l-.1.007a3.039,3.039,0,0,1-1.442,1.357,4.587,4.587,0,0,1,.583.219,4.389,4.389,0,0,1,1.656,1.3,1.775,1.775,0,0,1,.177.28h1.242a1.169,1.169,0,0,0,.3-.039,1.066,1.066,0,0,0,.27-.113,1.02,1.02,0,0,0,.225-.181,1.036,1.036,0,0,0,.168-.242,1.179,1.179,0,0,0-.128-1.239",transform:"translate(-195.543 -131.125)"}),(0,a.jsx)("path",{id:"Trazado_7092","data-name":"Trazado 7092",d:"M22.838,4.516c.043,0,.086,0,.129,0A2.962,2.962,0,0,1,22.789,3.5,3.005,3.005,0,0,1,24.556.773a2.288,2.288,0,0,0-4,1.485,2.274,2.274,0,0,0,2.284,2.258",transform:"translate(-19.819 -0.001)"}),(0,a.jsx)("path",{id:"Trazado_7093","data-name":"Trazado 7093",d:"M3.757,137.784a4.577,4.577,0,0,1,.986-.428,3.039,3.039,0,0,1-1.431-1.35c-.1-.009-.206-.014-.31-.014-.05,0-.1,0-.151,0H2.834a3.293,3.293,0,0,0-.367.039,3.506,3.506,0,0,0-2.194,1.286l-.057.077h0a1.154,1.154,0,0,0-.089,1.194,1.058,1.058,0,0,0,.171.239,1.042,1.042,0,0,0,.226.179,1.079,1.079,0,0,0,.269.112,1.169,1.169,0,0,0,.3.039H2.331a1.764,1.764,0,0,1,.126-.2v0l0,0,.071-.1a4.235,4.235,0,0,1,1.225-1.071",transform:"translate(-0.001 -131.126)"}),(0,a.jsx)("path",{id:"Trazado_7094","data-name":"Trazado 7094",d:"M95.021,28.466a2.6,2.6,0,1,0,2.6-2.574,2.592,2.592,0,0,0-2.6,2.574",transform:"translate(-91.621 -24.965)"}),(0,a.jsx)("path",{id:"Trazado_7095","data-name":"Trazado 7095",d:"M76.691,181.3a4.152,4.152,0,0,0-.827-.276,3.966,3.966,0,0,0-.853-.094c-.057,0-.115,0-.172,0h-.02a3.753,3.753,0,0,0-.419.045,4,4,0,0,0-2.5,1.466l-.065.088h0a1.315,1.315,0,0,0-.1,1.362,1.208,1.208,0,0,0,.195.272,1.189,1.189,0,0,0,.257.2,1.233,1.233,0,0,0,.307.127,1.333,1.333,0,0,0,.342.044h4.4a1.331,1.331,0,0,0,.345-.045,1.216,1.216,0,0,0,.307-.129,1.164,1.164,0,0,0,.256-.207,1.183,1.183,0,0,0,.191-.276,1.344,1.344,0,0,0-.146-1.412,3.943,3.943,0,0,0-1.494-1.174",transform:"translate(-69.028 -174.452)"})]})]}))},d=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 15 15"},e),{},{children:(0,a.jsxs)("g",{id:"Grupo_2449","data-name":"Grupo 2449",transform:"translate(-140 -181)",children:[(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1589","data-name":"Rect\xe1ngulo 1589",width:"15",height:"15",rx:"2",transform:"translate(140 181)",fill:"#08193a",opacity:"0.601"}),(0,a.jsxs)("g",{id:"OpenListIcon-full",transform:"translate(144 250.612)",children:[(0,a.jsx)("g",{id:"noun_chevron_2320228",transform:"translate(6.827 -63.612) rotate(90)",children:(0,a.jsx)("path",{id:"Trazado_6842","data-name":"Trazado 6842",d:"M.422,6.661a.433.433,0,0,1-.3-.117.37.37,0,0,1,0-.557L2.983,3.335.126.675a.37.37,0,0,1,0-.557.443.443,0,0,1,.6,0L3.889,3.052a.373.373,0,0,1,.126.274.344.344,0,0,1-.126.274L.727,6.533a.443.443,0,0,1-.306.127Z",transform:"translate(0 0)"})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_896","data-name":"Rect\xe1ngulo 896",width:"0.462",height:"0.462",transform:"translate(0 -61.808)",fill:"none"})]})]})}))},f=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 12 12"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-metrics-menu-icon",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_946","data-name":"Rect\xe1ngulo 946",width:"12",height:"12",transform:"translate(0 0)"})})}),(0,a.jsx)("g",{id:"DashboardIcon-Full",transform:"translate(0.037 0.021)",children:(0,a.jsx)("g",{id:"Grupo_2300","data-name":"Grupo 2300",transform:"translate(-0.037 -0.021)",clipPath:"url(#clip-path-metrics-menu-icon)",children:(0,a.jsx)("path",{id:"Trazado_7036","data-name":"Trazado 7036",d:"M11.722.239A.805.805,0,0,0,11.15,0H.809A.811.811,0,0,0,0,.81V11.151a.811.811,0,0,0,.809.809H11.15a.811.811,0,0,0,.809-.809V.811a.805.805,0,0,0-.237-.572M1.935,2.544a.724.724,0,0,1,.724-.724H4.94a.724.724,0,0,1,.724.724V3.613a.724.724,0,0,1-.724.724H2.659a.724.724,0,0,1-.724-.724Zm3.73,6.932a.7.7,0,0,1-.724.664H2.659a.7.7,0,0,1-.724-.664V6.01a.7.7,0,0,1,.724-.664H4.94a.7.7,0,0,1,.724.664Zm4.627-.059a.724.724,0,0,1-.724.724H7.286a.724.724,0,0,1-.724-.724V8.349a.724.724,0,0,1,.724-.724H9.568a.724.724,0,0,1,.724.724Zm0-3.466a.7.7,0,0,1-.724.664H7.286a.7.7,0,0,1-.724-.664V2.484a.7.7,0,0,1,.724-.664H9.567a.7.7,0,0,1,.724.664Z",transform:"translate(0.006 0.002)"})})})]}))},p=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 17 12.782"},e),{},{children:(0,a.jsx)("path",{id:"Sustracci\xf3n_4","data-name":"Sustracci\xf3n 4",d:"M14.01,11.782H1.99a2,2,0,0,1-1.99-2V2A2,2,0,0,1,1.99,0H14.01A2,2,0,0,1,16,2V9.786A2,2,0,0,1,14.01,11.782ZM2.793,10.4H6.814a1.166,1.166,0,0,0,1.055-.676A1.434,1.434,0,0,0,7.73,8.29,3.755,3.755,0,0,0,5.573,6.862a3.448,3.448,0,0,0-.791-.093c-.056,0-.116,0-.184,0A3.665,3.665,0,0,0,1.879,8.261q-.024.032-.046.065l-.015.023a1.411,1.411,0,0,0-.1,1.388,1.183,1.183,0,0,0,1.06.666ZM9.627,9.093a.627.627,0,1,0,0,1.254H14a.627.627,0,1,0,0-1.254Zm0-2.383a.627.627,0,1,0,0,1.255H14A.627.627,0,1,0,14,6.71ZM4.906.941A2.621,2.621,0,0,0,2.345,3.613,2.622,2.622,0,0,0,4.906,6.286a2.441,2.441,0,0,0,1-.211A2.538,2.538,0,0,0,6.718,5.5a2.677,2.677,0,0,0,.549-.85,2.739,2.739,0,0,0,.2-1.039A2.621,2.621,0,0,0,4.906.941ZM9.627,4.264a.627.627,0,1,0,0,1.254H14a.627.627,0,1,0,0-1.254Z",transform:"translate(0.5 0.5)",stroke:"rgba(0,0,0,0)",strokeWidth:"1"})}))},h=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 12 12"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-logs-menu",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_982","data-name":"Rect\xe1ngulo 982",width:"12",height:"12",transform:"translate(0 0)"})})}),(0,a.jsx)("g",{id:"logs-icon",transform:"translate(-0.245 0.078)",children:(0,a.jsxs)("g",{id:"Grupo_2346","data-name":"Grupo 2346",transform:"translate(0.245 -0.078)",clipPath:"url(#clip-path-logs-menu)",children:[(0,a.jsx)("path",{id:"Trazado_7070","data-name":"Trazado 7070",d:"M.1,86.274v7.138a.806.806,0,0,0,.805.8H11.273a.806.806,0,0,0,.805-.8V86.274Zm4.482,1.274v.764a.324.324,0,0,1-.318.331H1.358a.325.325,0,0,1-.319-.331v-.764a.325.325,0,0,1,.319-.33H4.264a.324.324,0,0,1,.318.33Z",transform:"translate(-0.135 -82.221)"}),(0,a.jsx)("path",{id:"Trazado_7071","data-name":"Trazado 7071",d:"M11.273.1H.905A.806.806,0,0,0,.1.906v2.34H12.078V.906A.806.806,0,0,0,11.273.1",transform:"translate(-0.135 -0.084)"})]})})]}))},m=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 16 16"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-monitoring-icon",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1587","data-name":"Rect\xe1ngulo 1587",width:"16",height:"16"})})}),(0,a.jsxs)("g",{id:"Grupo_2441","data-name":"Grupo 2441",clipPath:"url(#clip-path-monitoring-icon)",children:[(0,a.jsx)("path",{id:"Trazado_7103","data-name":"Trazado 7103",d:"M15.551,13.464,12.973,10.9a6.932,6.932,0,0,0,.846-1.72H10.813A4.386,4.386,0,0,1,2.646,7.03a4.377,4.377,0,0,1,8.744-.222h2.776A7.086,7.086,0,0,0,0,7.013a7.056,7.056,0,0,0,7.083,7.012H7.1a7.019,7.019,0,0,0,3.73-1.063l2.629,2.6A1.489,1.489,0,0,0,14.5,16h.016a1.487,1.487,0,0,0,1.038-2.536Z"}),(0,a.jsx)("path",{id:"Trazado_7104","data-name":"Trazado 7104",d:"M164.692,167.057a.271.271,0,0,0-.264-.213h0a.271.271,0,0,0-.264.211l-.218.966-.187-.572a.271.271,0,0,0-.526.051l-.249,2.03-.859-4.085a.271.271,0,0,0-.527-.011l-.765,3a.713.713,0,1,0,.512.183l.489-1.919.955,4.54a.271.271,0,0,0,.265.215h.012a.271.271,0,0,0,.257-.238l.3-2.437.114.351a.271.271,0,0,0,.521-.025l.167-.741.156.71a.271.271,0,0,0,.264.213h6.909a.271.271,0,0,0,0-.542h-6.692Z",transform:"translate(-156.025 -160.967)"})]})]}))},v=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 13.264 16"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-support-menu-icon",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1590","data-name":"Rect\xe1ngulo 1590",width:"13.264",height:"16"})})}),(0,a.jsxs)("g",{id:"Grupo_2451","data-name":"Grupo 2451",clipPath:"url(#clip-path-support-menu-icon)",children:[(0,a.jsx)("path",{id:"Trazado_7107","data-name":"Trazado 7107",d:"M141.4,175.257a1.765,1.765,0,1,0,1.765-1.763,1.758,1.758,0,0,0-1.765,1.763",transform:"translate(-136.66 -167.676)"}),(0,a.jsx)("path",{id:"Trazado_7108","data-name":"Trazado 7108",d:"M13.256,11.233l-.791-3.756.064-1.906a.373.373,0,0,0,0-.052A6.285,6.285,0,0,0,9.25.642h0L9.185.608c-.153-.08-.31-.155-.471-.223a.375.375,0,0,0-.13-.031A7.2,7.2,0,0,0,7.731.106v5.28a2.51,2.51,0,0,1,.343,4.16l.876,1.516a.376.376,0,0,1-.275.564.373.373,0,0,1-.147-.01.376.376,0,0,1-.228-.178L7.424,9.923A2.514,2.514,0,0,1,5.282,5.385V0a6.15,6.15,0,0,0-1.141.28A.377.377,0,0,0,4.065.3q-.231.087-.453.192A6.281,6.281,0,0,0,1.869,10.647l-.5,3.2a.376.376,0,0,0,.152.363.379.379,0,0,0,.124.058l6.6,1.722a.376.376,0,0,0,.467-.315l.283-2.165,1.738.4a.376.376,0,0,0,.454-.306l.313-1.912h1.39a.376.376,0,0,0,.368-.453",transform:"translate(0 0.001)"})]})]}))},g=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 12 12"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-performance-menu-icon",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_985","data-name":"Rect\xe1ngulo 985",width:"12",height:"12"})})}),(0,a.jsxs)("g",{id:"Grupo_2352","data-name":"Grupo 2352",clipPath:"url(#clip-path-performance-menu-icon)",children:[(0,a.jsx)("path",{id:"Trazado_7077","data-name":"Trazado 7077",d:"M120.417,129.741a.387.387,0,1,0,.387.387h0a.387.387,0,0,0-.387-.387",transform:"translate(-114.404 -123.659)"}),(0,a.jsx)("path",{id:"Trazado_7078","data-name":"Trazado 7078",d:"M6,0a6,6,0,1,0,6,6A6,6,0,0,0,6,0M5.974,1.662h.02a.366.366,0,1,1-.006.733H5.974a.366.366,0,0,1,0-.733m-4.1,4.026v0a.139.139,0,0,1-.139.12H1.717a.139.139,0,0,1-.12-.156v0h0a.139.139,0,0,1,.156-.119h0a.139.139,0,0,1,.118.157M2.2,4.447h0a.2.2,0,0,1-.179-.3v0h0a.2.2,0,1,1,.178.3M3.323,3.238l-.015.013,0,0a.249.249,0,0,1-.165.064v0a.25.25,0,0,1-.164-.438l0,0h0l0,0a.25.25,0,0,1,.341.366M4.555,2.6l0,0-.008,0a.329.329,0,0,1-.119.025v0a.331.331,0,0,1-.117-.642l.01,0h0a.331.331,0,1,1,.238.619m2.1,6.622h0a.176.176,0,0,1-.176.176H5.531a.176.176,0,1,1,0-.353h.952a.177.177,0,0,1,.178.175Zm.781-3.493-.652.556a.016.016,0,0,0,0,.015.8.8,0,1,1-.489-.57.016.016,0,0,0,.016,0l.649-.556h0a.366.366,0,0,1,.476.556m-.05-3.025v0a.4.4,0,0,1-.143-.026l-.012,0a.406.406,0,1,1,.284-.76l.014.005a.408.408,0,0,1-.143.789m1.292.827a.46.46,0,0,1-.3-.114L8.37,3.41a.46.46,0,0,1,.6-.694l.013.011a.46.46,0,0,1-.3.806m.47.964-.009-.016a.529.529,0,1,1,.916-.529l.013.023.009.017h0a.529.529,0,0,1-.213.717h0A.529.529,0,0,1,9.154,4.5m1.014,1.772a.6.6,0,0,1-.675-.512v-.02a.6.6,0,0,1,.592-.679.6.6,0,0,1,.591.516l0,.023a.6.6,0,0,1-.512.672"})]})]}))},y=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 12 12"},e),{},{children:(0,a.jsxs)("g",{id:"diagnostic-icn-full",transform:"translate(0 -0.131)",children:[(0,a.jsx)("path",{id:"Uni\xf3n_17","data-name":"Uni\xf3n 17",d:"M0,5.962A5.956,5.956,0,0,1,5.935,0h.491V2.461a3.512,3.512,0,1,1-.981,0V1.009a4.893,4.893,0,0,0-1.752.515A4.981,4.981,0,0,0,2.276,2.611a4.994,4.994,0,0,0-.949,1.524,4.96,4.96,0,1,0,9.564,1.827.49.49,0,0,1,.144-.348.485.485,0,0,1,.346-.144.492.492,0,0,1,.491.493A5.936,5.936,0,1,1,0,5.962ZM4.634,3.771a2.553,2.553,0,0,0-.806,3.618,2.568,2.568,0,0,0,.687.69,2.541,2.541,0,0,0,.432.236,2.51,2.51,0,0,0,.989.2,2.555,2.555,0,0,0,1.3-4.745,2.522,2.522,0,0,0-.811-.313V4.878a1.2,1.2,0,0,1,.5.431,1.188,1.188,0,1,1-1.986,0,1.2,1.2,0,0,1,.5-.431V3.458A2.521,2.521,0,0,0,4.634,3.771Z",transform:"translate(0.129 0.131)"}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_878","data-name":"Rect\xe1ngulo 878",width:"11.92",height:"11.975",transform:"translate(0 0.156)",fill:"none"})]})}))},x=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 11.749 16"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-access-menu-icon",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1586","data-name":"Rect\xe1ngulo 1586",width:"11.749",height:"16"})})}),(0,a.jsx)("g",{id:"Grupo_2439","data-name":"Grupo 2439",clipPath:"url(#clip-path-access-menu-icon)",children:(0,a.jsx)("path",{id:"Trazado_7102","data-name":"Trazado 7102",d:"M11.018,3.348h-2.1c.009-.1.014-.194.014-.293a3.057,3.057,0,0,0-6.113,0c0,.1.005.2.015.3H.744A1.019,1.019,0,0,0,0,4.343v5.913A2.814,2.814,0,0,0,.4,11.7c1,1.676,2.625,2.648,4.955,4.143A.965.965,0,0,0,5.88,16h0a.956.956,0,0,0,.5-.145c2.264-1.4,3.8-2.315,4.984-4.234a2.665,2.665,0,0,0,.381-1.4V4.337a1.024,1.024,0,0,0-.731-.989M5.875,1.05a2,2,0,0,1,1.983,2.3l-3.966,0a2,2,0,0,1,1.983-2.3m0,4.073a2.189,2.189,0,1,1,0,4.377h0a2.189,2.189,0,1,1,0-4.377m2.786,7.212a1,1,0,0,1-.162.233.984.984,0,0,1-.216.175,1.028,1.028,0,0,1-.26.109,1.127,1.127,0,0,1-.29.038H4.023a1.123,1.123,0,0,1-.29-.037,1.04,1.04,0,0,1-.259-.108,1,1,0,0,1-.218-.172,1.019,1.019,0,0,1-.164-.23,1.112,1.112,0,0,1,.086-1.15c.017-.026.036-.05.055-.074A3.376,3.376,0,0,1,5.346,9.88,3.182,3.182,0,0,1,5.7,9.841h.017c.048,0,.1,0,.145,0a3.348,3.348,0,0,1,.72.079,3.506,3.506,0,0,1,.7.234,3.33,3.33,0,0,1,1.262.992h0a1.136,1.136,0,0,1,.123,1.193",transform:"translate(0 0.001)"})})]}))},b=n(9227),w=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 12 12"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-drives-menu-icon",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_989","data-name":"Rect\xe1ngulo 989",width:"12",height:"12"})})}),(0,a.jsxs)("g",{id:"Grupo_2361","data-name":"Grupo 2361",clipPath:"url(#clip-path-drives-menu-icon)",children:[(0,a.jsx)("path",{id:"Trazado_7083","data-name":"Trazado 7083",d:"M6,2.839H6c3.882,0,6-.938,6-1.42S9.882,0,6,0,0,.938,0,1.42s2.118,1.42,6,1.42",transform:"translate(0)"}),(0,a.jsx)("path",{id:"Trazado_7084","data-name":"Trazado 7084",d:"M6,135.08a15.409,15.409,0,0,1-6-1v3.228c0,.482,2.118,1.42,6,1.42s6-.93,6-1.42v-3.233a15.245,15.245,0,0,1-6,1m-3.939,2.063a.915.915,0,0,1-1.234-.281.849.849,0,0,1,.291-1.192.915.915,0,0,1,1.234.281.849.849,0,0,1-.291,1.192",transform:"translate(0 -126.731)"}),(0,a.jsx)("path",{id:"Trazado_7085","data-name":"Trazado 7085",d:"M6,53.034a15.306,15.306,0,0,1-6-1V55.1c0,.482,2.118,1.42,6,1.42s6-.938,6-1.42V52.032a15.244,15.244,0,0,1-6,1M2.061,55.19a.915.915,0,0,1-1.234-.281.849.849,0,0,1,.291-1.192A.915.915,0,0,1,2.353,54a.849.849,0,0,1-.291,1.192",transform:"translate(0 -49.181)"})]})]}))},_=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"account",children:[(0,a.jsx)("path",{"data-name":"Trazado 463",d:"M32.291 232.53a32.336 32.336 0 0 1-32.289-32.3V76.935a32.33 32.33 0 0 1 32.289-32.3 8.837 8.837 0 0 1 8.832 8.822 8.845 8.845 0 0 1-8.832 8.831 14.663 14.663 0 0 0-14.648 14.648v123.295a14.661 14.661 0 0 0 14.648 14.64h191.4a14.66 14.66 0 0 0 14.641-14.64V76.936a14.661 14.661 0 0 0-14.641-14.648h-54.07a8.845 8.845 0 0 1-8.832-8.831 8.762 8.762 0 0 1 2.586-6.236 8.735 8.735 0 0 1 6.246-2.586h54.07a32.345 32.345 0 0 1 32.313 32.3V200.23a32.351 32.351 0 0 1-32.312 32.3Zm140.445-33.006a3.078 3.078 0 0 1-3.082-3.07V179.02a3.08 3.08 0 0 1 3.082-3.08h47.18a3.077 3.077 0 0 1 3.07 3.08v17.434a3.075 3.075 0 0 1-3.07 3.07Zm-113.141 0a22.643 22.643 0 0 1-20.648-12.767 26.835 26.835 0 0 1 1.891-26.579l.02-.019c.094-.143.2-.285.3-.428.273-.409.559-.827.871-1.245a70.651 70.651 0 0 1 52.277-28.5 62.967 62.967 0 0 1 3.543-.095 67.043 67.043 0 0 1 15.211 1.777 71.594 71.594 0 0 1 14.734 5.219 71.248 71.248 0 0 1 26.73 22.149 27.371 27.371 0 0 1 2.672 27.53 22.363 22.363 0 0 1-20.629 12.956Zm-3.719-30.372v.01l-.047.058c-.191.256-.371.5-.531.741v.028l-.258.371a8.365 8.365 0 0 0-.715 8.261 5.526 5.526 0 0 0 5.27 3.1h76.969a6.062 6.062 0 0 0 3.156-.761 4.988 4.988 0 0 0 1.949-2.243 8.485 8.485 0 0 0 .715-4.524 9.18 9.18 0 0 0-1.7-4.468 54.088 54.088 0 0 0-42.969-22.007c-.93 0-1.75.019-2.508.066h-.012a53.055 53.055 0 0 0-39.318 21.368Zm116.859-5.01a3.08 3.08 0 0 1-3.082-3.079v-17.425a3.08 3.08 0 0 1 3.082-3.08h47.18a3.077 3.077 0 0 1 3.07 3.08v17.425a3.077 3.077 0 0 1-3.07 3.079Zm-.59-38.7a2.5 2.5 0 0 1-2.492-2.5V82.066a2.5 2.5 0 0 1 2.492-2.5h48.348a2.5 2.5 0 0 1 2.492 2.5v40.876a2.5 2.5 0 0 1-2.492 2.5ZM50.981 74.213c0-28.233 22.09-51.209 49.242-51.209s49.258 22.976 49.258 51.209a52.579 52.579 0 0 1-3.867 19.906 51.257 51.257 0 0 1-10.551 16.274 49.07 49.07 0 0 1-15.656 11 47.257 47.257 0 0 1-19.184 4.041c-27.151 0-49.241-22.976-49.241-51.22Zm17.977 0c0 18.033 14.031 32.711 31.266 32.711 17.262 0 31.3-14.678 31.3-32.711s-14.039-32.7-31.3-32.7c-17.234 0-31.265 14.668-31.265 32.701Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 883",fill:"none",d:"M0 0h256v256H0z"})]})]})]}))},j=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 12 10.456"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-profile-menu-icon",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1599","data-name":"Rect\xe1ngulo 1599",width:"12",height:"10.456"})})}),(0,a.jsxs)("g",{id:"Grupo_2475","data-name":"Grupo 2475",clipPath:"url(#clip-path-profile-menu-icon)",children:[(0,a.jsx)("path",{id:"Trazado_7122","data-name":"Trazado 7122",d:"M33.036,1.016H43.058L43.3.207A.161.161,0,0,0,43.145,0h-10.2a.161.161,0,0,0-.154.207Z",transform:"translate(-32.063)"}),(0,a.jsx)("path",{id:"Trazado_7123","data-name":"Trazado 7123",d:"M11.551,67.822H.449A.449.449,0,0,0,0,68.333l.644,4.659a.451.451,0,0,0,.018.078H11.334a.451.451,0,0,0,.018-.078L12,68.333a.449.449,0,0,0-.445-.511",transform:"translate(0 -66.323)"}),(0,a.jsx)("path",{id:"Trazado_7124","data-name":"Trazado 7124",d:"M16.471,328.2H5.652a.476.476,0,0,0-.452.624l.845,2.576H16.078l.845-2.576a.476.476,0,0,0-.452-.624",transform:"translate(-5.062 -320.942)"})]})]}))},S=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 13.754 14.047"},e),{},{children:(0,a.jsx)("path",{id:"call-home-icon",d:"M-2188.145,31.22l-5.076-5.082a2.671,2.671,0,0,1-.779-1.885,2.671,2.671,0,0,1,.779-1.885l1.453-1.453a.312.312,0,0,1,.439,0l2.334,2.336a.31.31,0,0,1,0,.439l-.717.718a.285.285,0,0,0,0,.4l2.9,2.9a.285.285,0,0,0,.4,0l.717-.718a.311.311,0,0,1,.44,0l2.327,2.332a.311.311,0,0,1,0,.44l-1.453,1.452a2.664,2.664,0,0,1-1.885.779A2.667,2.667,0,0,1-2188.145,31.22Zm2.6-6.814a.561.561,0,0,1-.562-.562V22.09h-.209a.561.561,0,0,1-.53-.362.56.56,0,0,1,.156-.622l2.245-1.964a.56.56,0,0,1,.748,0l2.245,1.964a.56.56,0,0,1,.156.622.561.561,0,0,1-.53.362h-.21v1.754a.56.56,0,0,1-.561.562Z",transform:"translate(2194.5 -18.452)",stroke:"rgba(0,0,0,0)",strokeWidth:"1"})}))},E=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 16 16"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-buckets",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_928","data-name":"Rect\xe1ngulo 928",width:"15.957",height:"15.928"})})}),(0,a.jsxs)("g",{id:"BucketsIcons-Full",transform:"translate(0.283)",children:[(0,a.jsxs)("g",{id:"BucketsIcon-full",transform:"translate(-0.283)",children:[(0,a.jsx)("rect",{id:"Rect\xe1ngulo_884","data-name":"Rect\xe1ngulo 884",width:"15.939",height:"15.911",transform:"translate(0.061)",fill:"none"}),(0,a.jsx)("g",{id:"Grupo_2272","data-name":"Grupo 2272",transform:"translate(0 0.072)",children:(0,a.jsx)("g",{id:"Grupo_2271","data-name":"Grupo 2271",clipPath:"url(#clip-path-buckets)",children:(0,a.jsx)("path",{id:"Trazado_7002","data-name":"Trazado 7002",d:"M15.619.545A1.341,1.341,0,0,0,14.553,0H1.386A1.34,1.34,0,0,0,.32.545a1.606,1.606,0,0,0-.3,1.242c.325,1.888,1.009,5.869,1.557,9.045v.006c.277,1.616.519,3.023.661,3.84A1.422,1.422,0,0,0,3.6,15.911h8.733A1.423,1.423,0,0,0,13.7,14.679l.659-3.836,0-.023.893-5.2,0-.015.658-3.821a1.6,1.6,0,0,0-.3-1.242M13.187,11.3l-10.426,0-.2-1.189H13.383Zm.89-5.216-12.221,0L1.651,4.9H14.273Z",transform:"translate(0.061 -0.072)"})})})]}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_929","data-name":"Rect\xe1ngulo 929",width:"15.957",height:"15.928",transform:"translate(-0.283 0.072)",fill:"none"})]})]}))},Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 9.008 12"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-users-menu",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_991","data-name":"Rect\xe1ngulo 991",width:"9.008",height:"12"})})}),(0,a.jsxs)("g",{id:"users-icon",clipPath:"url(#clip-path-users-menu)",children:[(0,a.jsx)("path",{id:"Trazado_7088","data-name":"Trazado 7088",d:"M26.843,6.743a3.4,3.4,0,0,0,3.411-3.372,3.411,3.411,0,0,0-6.822,0,3.4,3.4,0,0,0,3.411,3.372",transform:"translate(-22.334)"}),(0,a.jsx)("path",{id:"Trazado_7089","data-name":"Trazado 7089",d:"M8.639,157.056a5.164,5.164,0,0,0-1.957-1.538,5.439,5.439,0,0,0-1.083-.362,5.2,5.2,0,0,0-1.117-.123c-.075,0-.151,0-.225.005H4.231a4.928,4.928,0,0,0-.549.059,5.236,5.236,0,0,0-3.276,1.92c-.029.039-.059.078-.086.116h0a1.723,1.723,0,0,0-.134,1.784,1.581,1.581,0,0,0,.255.356,1.559,1.559,0,0,0,.337.267,1.614,1.614,0,0,0,.4.167,1.743,1.743,0,0,0,.449.058H7.389a1.748,1.748,0,0,0,.452-.058,1.594,1.594,0,0,0,.4-.169,1.525,1.525,0,0,0,.335-.271,1.548,1.548,0,0,0,.251-.361,1.761,1.761,0,0,0-.191-1.85",transform:"translate(0.001 -147.766)"})]})]}))}},22598:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 849",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"sync-icn",d:"M37.848 131.79c0-.057.006-.114.006-.166l-5.4 6.524-9.992 11.438c-11.006 12.6-30.166-4.136-19.16-16.739l33.545-38.416a12.732 12.732 0 0 1 18.1-1.222l38.41 33.549c12.6 11.006-4.133 30.171-16.74 19.165l-14.342-12.527-2.316-2.123c0 .175.023.346.023.517a73.159 73.159 0 0 0 73.078 73.078 73.28 73.28 0 0 0 59.584-30.763 11.067 11.067 0 0 1 15.432-2.6 11.062 11.062 0 0 1 2.6 15.432 95.45 95.45 0 0 1-77.611 40.059 95.316 95.316 0 0 1-95.217-95.206Zm163.207 21.989-38.4-33.549c-12.6-11.011 4.131-30.176 16.738-19.17l14.338 12.532 2.32 2.118c0-.171-.023-.336-.023-.512A73.159 73.159 0 0 0 122.95 42.12a73.289 73.289 0 0 0-59.588 30.759 11.068 11.068 0 0 1-15.432 2.6 11.071 11.071 0 0 1-2.6-15.431 95.439 95.439 0 0 1 77.615-40.06 95.317 95.317 0 0 1 95.209 95.209c0 .057-.01.109-.01.166l5.4-6.529 9.992-11.433c11.006-12.6 30.17 4.136 19.16 16.739l-33.545 38.415a12.894 12.894 0 0 1-9.689 4.43 12.7 12.7 0 0 1-8.407-3.205Z",stroke:"rgba(0,0,0,0)",strokeMiterlimit:10})]})]}))}},10542:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 394",d:"M222.617 88.875a26.012 26.012 0 0 0-23.281 14.452l-44.307-6.454a74.856 74.856 0 0 0 2.892-20.607A74.732 74.732 0 0 0 83.285 1.439 74.732 74.732 0 0 0 8.643 76.266a74.763 74.763 0 0 0 65.415 74.236l-1.38 25.452c-.127-.006-.249-.019-.371-.019a18.44 18.44 0 0 0-18.42 18.46 18.441 18.441 0 0 0 18.42 18.466 18.443 18.443 0 0 0 18.42-18.466 18.459 18.459 0 0 0-7.851-15.108l1.535-28.223a74.164 74.164 0 0 0 32.006-7.749l39.5 51.413a36.849 36.849 0 0 0-10.488 25.784 36.884 36.884 0 0 0 36.84 36.927 36.88 36.88 0 0 0 36.834-36.927 36.881 36.881 0 0 0-36.834-36.931 36.539 36.539 0 0 0-18.137 4.811l-38.7-50.376a75.035 75.035 0 0 0 25.967-31.174l45.242 6.59c-.029.519-.078 1.032-.078 1.556a26.082 26.082 0 0 0 26.051 26.112 26.082 26.082 0 0 0 26.05-26.112 26.082 26.082 0 0 0-26.047-26.113Z"}),(0,a.jsx)("path",{"data-name":"Trazado 395",d:"M181.396 256a38.679 38.679 0 0 1-38.636-38.643 38.393 38.393 0 0 1 9.576-25.436l-36.435-47.307a74.862 74.862 0 0 1-28.494 6.932l-1.318 24.217a20.571 20.571 0 0 1 7.657 15.975 20.545 20.545 0 0 1-20.52 20.514 20.54 20.54 0 0 1-20.518-20.514 20.549 20.549 0 0 1 18.6-20.432l1.125-20.571A75.865 75.865 0 0 1 8.2 75.818 75.907 75.907 0 0 1 84.02-.005a75.908 75.908 0 0 1 75.822 75.823 75.76 75.76 0 0 1-2.229 18.236l39.257 5.7a27.844 27.844 0 0 1 24.216-13.965 28.051 28.051 0 0 1 28.018 28.022 28.051 28.051 0 0 1-28.018 28.022 28.052 28.052 0 0 1-28.02-27.48l-40.61-5.9a76.059 76.059 0 0 1-23.551 28.463l35.308 45.854a38.644 38.644 0 0 1 17.18-4.049 38.678 38.678 0 0 1 38.633 38.634A38.678 38.678 0 0 1 181.396 256Zm-64.078-117.413 41.329 53.665-1.453 1.492a33.619 33.619 0 0 0-9.635 23.618 33.876 33.876 0 0 0 33.837 33.84 33.875 33.875 0 0 0 33.835-33.84 33.874 33.874 0 0 0-33.835-33.837 33.822 33.822 0 0 0-16.657 4.409l-1.814 1.027-40.89-53.094 2.092-1.434a71.22 71.22 0 0 0 24.718-29.586l.739-1.65 48.482 7.038-.133 2.2c-.049.739-.073 1.055-.073 1.381a23.253 23.253 0 0 0 23.227 23.225 23.249 23.249 0 0 0 23.222-23.225 23.246 23.246 0 0 0-23.222-23.224 23.1 23.1 0 0 0-20.759 12.852l-.776 1.549-48.012-6.975.759-2.639a71.253 71.253 0 0 0 2.749-19.559A71.1 71.1 0 0 0 84.022 4.794 71.1 71.1 0 0 0 12.999 75.82a71.061 71.061 0 0 0 62.243 70.465l2.225.273-1.608 29.524-2.318-.043h-.037a15.779 15.779 0 0 0-16 15.7 15.739 15.739 0 0 0 15.721 15.717 15.741 15.741 0 0 0 15.722-15.717 15.763 15.763 0 0 0-6.7-12.866l-1.09-.763 1.7-31.26 2.235-.033a70.305 70.305 0 0 0 30.455-7.355Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 868",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},61846:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"Grupo 1557",children:[(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 826",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 10",d:"M71.113 256a37.94 37.94 0 01-37.889-37.9V60.906a15.426 15.426 0 01-14.227-15.353V29.621a15.423 15.423 0 0115.4-15.4h41.541A15.378 15.378 0 0191.258.003h72.871a15.393 15.393 0 0115.334 14.218h41.531a15.423 15.423 0 0115.4 15.4v15.932a15.426 15.426 0 01-14.227 15.353V218.1a37.942 37.942 0 01-37.9 37.9zm-19.605-37.9a19.634 19.634 0 0019.605 19.614h113.164A19.637 19.637 0 00203.89 218.1V60.951H51.507zM218.117 38.6v-6.1h-56.893V18.278H94.177V32.5H37.286v6.1z"})]})]})]}))}},39056:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:20,height:20,className:"min-icon",fill:"currentcolor"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"registration-icon_svg__a",children:(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 1593",fill:"#4ccb92",d:"M0 0h20v20H0z"})})}),(0,a.jsx)("g",{"data-name":"Grupo 2469",clipPath:"url(#registration-icon_svg__a)",children:(0,a.jsx)("path",{"data-name":"Trazado 7117",d:"M19.075 11.962a3.1 3.1 0 0 0 1.008-1.965 3.1 3.1 0 0 0-1.008-1.963 3.134 3.134 0 0 1-.633-.894 3.4 3.4 0 0 1 0-1.164 3.121 3.121 0 0 0-.286-2.154 2.856 2.856 0 0 0-1.892-.952 3.024 3.024 0 0 1-1.053-.353 3.232 3.232 0 0 1-.628-.917A2.982 2.982 0 0 0 13.118 0a2.77 2.77 0 0 0-2.029.383 3.079 3.079 0 0 1-1.085.368 3.079 3.079 0 0 1-1.085-.37A2.77 2.77 0 0 0 6.89-.002a2.99 2.99 0 0 0-1.465 1.599 3.236 3.236 0 0 1-.633.922 3.033 3.033 0 0 1-1.05.351 2.856 2.856 0 0 0-1.892.953 3.133 3.133 0 0 0-.284 2.142 3.448 3.448 0 0 1 0 1.164 3.216 3.216 0 0 1-.633.9A3.1 3.1 0 0 0-.075 9.996a3.1 3.1 0 0 0 1.008 1.965 3.246 3.246 0 0 1 .633.89 3.462 3.462 0 0 1 0 1.166 3.133 3.133 0 0 0 .284 2.154 2.856 2.856 0 0 0 1.892.952 3.033 3.033 0 0 1 1.05.351 3.234 3.234 0 0 1 .633.921 2.982 2.982 0 0 0 1.465 1.592 2.77 2.77 0 0 0 2.029-.383 3.076 3.076 0 0 1 1.085-.37 3.077 3.077 0 0 1 1.085.368 3.769 3.769 0 0 0 1.525.472 1.561 1.561 0 0 0 .5-.082 2.978 2.978 0 0 0 1.465-1.6 3.249 3.249 0 0 1 .633-.921 3.032 3.032 0 0 1 1.05-.351 2.856 2.856 0 0 0 1.892-.952 3.113 3.113 0 0 0 .284-2.157 3.445 3.445 0 0 1 0-1.164 3.16 3.16 0 0 1 .633-.889m-10.13 1.894-3.89-4.066 1.38-1.437 2.51 2.618 4.638-4.833 1.38 1.442Z",fill:"#4ccb92"})})]}))}},47424:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({id:"WarnIcon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256"},e),{},{className:"min-icon",fill:"currentcolor",children:[(0,a.jsx)("g",{id:"download-icn",transform:"translate(0 0.087)",children:(0,a.jsx)("path",{id:"Uni\xf3n_24","data-name":"Uni\xf3n 24",d:"M19388-6740.606a107.642,107.642,0,0,0-107.52,107.52,107.642,107.642,0,0,0,107.52,107.52,107.642,107.642,0,0,0,107.52-107.52,107.642,107.642,0,0,0-107.52-107.52m0-20.48a128,128,0,0,1,128,128,128,128,0,0,1-128,128,128,128,0,0,1-128-128A128,128,0,0,1,19388-6761.087Z",transform:"translate(-19260 6761)"})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_893","data-name":"Rect\xe1ngulo 893",width:"256",height:"256",fill:"none"}),(0,a.jsx)("path",{id:"Trazado_7001","data-name":"Trazado 7001",d:"M43.3-140H12.1l3.6,91.9h24ZM27.8-35.5c-10.2,0-19.1,8.7-19.1,18.9A19.565,19.565,0,0,0,27.8,2.5c10.1,0,18.9-8.9,18.9-19.1A19.282,19.282,0,0,0,27.8-35.5Z",transform:"translate(101 201)"})]}))}},88538:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"watch-icn",transform:"translate(4333.082 464.859)",children:[(0,a.jsxs)("g",{"data-name":"Grupo 1495",children:[(0,a.jsx)("path",{"data-name":"Trazado 345",d:"M-4237.731-461.928h-70.438a21.991 21.991 0 0 0-21.981 21.98v72.661a5.084 5.084 0 0 0 5.083 5.084h7.4a5.09 5.09 0 0 0 5.1-5.084v-57.382a19.671 19.671 0 0 1 19.665-19.672h55.169a5.081 5.081 0 0 0 5.076-5.084v-7.416a5.081 5.081 0 0 0-5.074-5.087Z"}),(0,a.jsx)("path",{"data-name":"Trazado 345 - Contorno",d:"M-4308.169-464.859h70.439a8.021 8.021 0 0 1 8.008 8.015v7.416a8.021 8.021 0 0 1-8.008 8.015h-55.17a16.756 16.756 0 0 0-16.733 16.74v57.386a8.032 8.032 0 0 1-8.03 8.015h-7.4a8.023 8.023 0 0 1-8.014-8.015v-72.661a24.94 24.94 0 0 1 24.908-24.911Zm70.439 17.583a2.151 2.151 0 0 0 2.145-2.152v-7.416a2.151 2.151 0 0 0-2.145-2.156h-70.439a19.071 19.071 0 0 0-19.05 19.049v72.661a2.154 2.154 0 0 0 2.151 2.153h7.4a2.163 2.163 0 0 0 2.168-2.153v-57.386a22.625 22.625 0 0 1 22.6-22.6Z"}),(0,a.jsx)("path",{"data-name":"Trazado 346",d:"M-4101.983-461.928h-77.172a5.088 5.088 0 0 0-5.09 5.084v7.416a5.088 5.088 0 0 0 5.09 5.084h61.9a19.677 19.677 0 0 1 19.674 19.672v57.386a5.085 5.085 0 0 0 5.089 5.084h7.4a5.076 5.076 0 0 0 5.074-5.084v-72.661a21.977 21.977 0 0 0-21.965-21.981Z"}),(0,a.jsx)("path",{"data-name":"Trazado 346 - Contorno",d:"M-4179.155-464.859h77.172a24.935 24.935 0 0 1 24.9 24.911v72.661a8.02 8.02 0 0 1-8.006 8.015h-7.4a8.028 8.028 0 0 1-8.021-8.015v-57.386a16.761 16.761 0 0 0-16.743-16.74h-61.9a8.027 8.027 0 0 1-8.021-8.015v-7.416a8.027 8.027 0 0 1 8.019-8.015Zm94.067 99.725a2.15 2.15 0 0 0 2.143-2.153v-72.661A19.066 19.066 0 0 0-4101.983-459h-77.172a2.158 2.158 0 0 0-2.158 2.153v7.416a2.158 2.158 0 0 0 2.158 2.152h61.9a22.63 22.63 0 0 1 22.605 22.6v57.386a2.158 2.158 0 0 0 2.158 2.153Z"}),(0,a.jsx)("path",{"data-name":"Trazado 347",d:"M-4085.088-313.79h-7.4a5.085 5.085 0 0 0-5.089 5.084v59.661a19.685 19.685 0 0 1-19.674 19.68h-61.9a5.086 5.086 0 0 0-5.094 5.075v7.424a5.085 5.085 0 0 0 5.09 5.075h77.172a21.972 21.972 0 0 0 21.97-21.98v-74.935a5.075 5.075 0 0 0-5.075-5.084Z"}),(0,a.jsx)("path",{"data-name":"Trazado 347 - Contorno",d:"M-4092.489-316.721h7.4a8.02 8.02 0 0 1 8.006 8.015v74.935a24.935 24.935 0 0 1-24.9 24.911h-77.172a8.023 8.023 0 0 1-8.021-8.006v-7.424a8.023 8.023 0 0 1 8.021-8.007h61.9a16.765 16.765 0 0 0 16.743-16.749v-59.661a8.027 8.027 0 0 1 8.023-8.014Zm-9.494 102a19.065 19.065 0 0 0 19.039-19.049v-74.935a2.15 2.15 0 0 0-2.143-2.153h-7.4a2.158 2.158 0 0 0-2.158 2.153v59.661a22.634 22.634 0 0 1-22.605 22.611h-61.9a2.153 2.153 0 0 0-2.158 2.144v7.424a2.153 2.153 0 0 0 2.158 2.143Z"}),(0,a.jsx)("path",{"data-name":"Trazado 348",d:"M-4237.731-229.365h-55.169a19.679 19.679 0 0 1-19.665-19.68v-59.661a5.089 5.089 0 0 0-5.1-5.084h-7.4a5.083 5.083 0 0 0-5.083 5.084v74.935a21.985 21.985 0 0 0 21.979 21.981h70.439a5.079 5.079 0 0 0 5.076-5.075v-7.425a5.079 5.079 0 0 0-5.077-5.075Z"}),(0,a.jsx)("path",{"data-name":"Trazado 348 - Contorno",d:"M-4237.73-208.859h-70.439a24.94 24.94 0 0 1-24.913-24.911v-74.935a8.023 8.023 0 0 1 8.014-8.015h7.4a8.032 8.032 0 0 1 8.03 8.015v59.661a16.76 16.76 0 0 0 16.733 16.749h55.169a8.016 8.016 0 0 1 8.008 8.007v7.424a8.016 8.016 0 0 1-8.002 8.005Zm-87.338-102a2.154 2.154 0 0 0-2.151 2.153v74.935a19.071 19.071 0 0 0 19.05 19.049h70.439a2.147 2.147 0 0 0 2.145-2.143v-7.424a2.147 2.147 0 0 0-2.145-2.144h-55.17a22.629 22.629 0 0 1-22.6-22.611v-59.661a2.163 2.163 0 0 0-2.168-2.153Z"})]}),(0,a.jsx)("ellipse",{"data-name":"Elipse 56",cx:56.415,cy:56.414,rx:56.415,ry:56.414,transform:"translate(-4260.489 -392.445)"}),(0,a.jsx)("path",{"data-name":"Elipse 56 - Contorno",d:"M-4205.074-393.376a51.345 51.345 0 1 1-51.346 51.345 51.4 51.4 0 0 1 51.346-51.345Zm0 96.827a45.482 45.482 0 1 0-45.483-45.482 45.535 45.535 0 0 0 45.483 45.482Z"})]}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 890",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},98280:function(e,t,n){"use strict";n.d(t,{fr:function(){return oe},sR:function(){return ie},De:function(){return Ke.default},dt:function(){return Ie.Z},Zm:function(){return Ae.Z},OC:function(){return ye},Sx:function(){return it},e0:function(){return z},LZ:function(){return G},jz:function(){return Dt},nA:function(){return Et},xN:function(){return He},Xn:function(){return Xe},Wq:function(){return K},xR:function(){return kt},wN:function(){return Ct.default},Qu:function(){return Ht},_q:function(){return Ne},QX:function(){return T},I:function(){return Kt},J$:function(){return j},ot:function(){return M},aW:function(){return P},W5:function(){return vt},UM:function(){return ot},qN:function(){return D},Nv:function(){return gt},Ej:function(){return ee},zD:function(){return Gt},ZF:function(){return Me.Z},TI:function(){return Se.default},ye:function(){return ht},x2:function(){return wt},Z9:function(){return he},P3:function(){return At},QG:function(){return O},pJ:function(){return Y.default},to:function(){return et},MX:function(){return be.Z},dR:function(){return l},cY:function(){return Je},_8:function(){return at.default},Q_:function(){return ut},cn:function(){return Pe},FU:function(){return pe},dY:function(){return x.Z},wK:function(){return Q},EO:function(){return o},nF:function(){return Qe},E3:function(){return ue},c3:function(){return rt},rt:function(){return Fe.default},nf:function(){return S},jG:function(){return mt.default},Nq:function(){return ne.default},Ok:function(){return Lt.default},ZA:function(){return le.default},q$:function(){return Te.default},bP:function(){return ve},xD:function(){return i.default},lr:function(){return st.default},mY:function(){return A.default},UU:function(){return se.default},hj:function(){return Nt.default},p2:function(){return Bt.default},n9:function(){return Wt.default},ar:function(){return Be},hz:function(){return s.default},xh:function(){return m.default},RO:function(){return y.default},Q:function(){return c},UQ:function(){return ae},Vw:function(){return Le},ww:function(){return ct},sj:function(){return Ft},ln:function(){return V.Z},by:function(){return me.Z},M9:function(){return v},F_:function(){return Tt.default},v4:function(){return $e.Z},iH:function(){return b},lT:function(){return h},cC:function(){return lt.Z},HN:function(){return De},DJ:function(){return Ve},QI:function(){return Oe},mB:function(){return qt},BH:function(){return U},R0:function(){return St.Z},I$:function(){return Ut},$E:function(){return _e},YE:function(){return k},nw:function(){return R},D6:function(){return Ze.Z},IH:function(){return pt},X2:function(){return _t},hF:function(){return te},R4:function(){return we},xg:function(){return E.Z},b_:function(){return Pt.default},gx:function(){return Ot},$3:function(){return de},v1:function(){return Ce.Z},YL:function(){return yt.Z},pP:function(){return L.Z},TN:function(){return xe.Z},Q2:function(){return Ee.Z},mG:function(){return q.Z},tv:function(){return tt},Fs:function(){return We},Cx:function(){return re},P9:function(){return W},a$:function(){return ke},MY:function(){return J},D7:function(){return Rt.default},zG:function(){return Z},Du:function(){return f.default},HF:function(){return Ue.Z},Mh:function(){return ge},rH:function(){return X},fe:function(){return F},Xj:function(){return qe},W1:function(){return w.Z},am:function(){return $.Z},SB:function(){return C},tV:function(){return H},nO:function(){return I},dv:function(){return Vt},ew:function(){return zt.Z},aA:function(){return g.default},QB:function(){return u},id:function(){return d},bn:function(){return jt.Z},zb:function(){return xt.Z},EH:function(){return fe},y2:function(){return ft},gX:function(){return Ge},oE:function(){return N},xp:function(){return Zt},C_:function(){return ze},XH:function(){return nt.Z},G1:function(){return bt},oX:function(){return dt},rG:function(){return It},jh:function(){return Mt},oN:function(){return ce},oy:function(){return Ye},SA:function(){return Re.Z},Db:function(){return p},e6:function(){return _.Z},B7:function(){return je},fO:function(){return B.Z}});var r=n(18489),a=(n(50390),n(62559)),o=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 10.906 10.906"},e),{},{children:(0,a.jsx)("path",{id:"Trazado_7002","data-name":"Trazado 7002",d:"M8.577,3a5.447,5.447,0,1,0,5.144,4.037,8.109,8.109,0,0,1-.951.783,6.211,6.211,0,0,1-2.174,1,2.252,2.252,0,0,1-2.143-.373,2.252,2.252,0,0,1-.373-2.143,6.234,6.234,0,0,1,1-2.174,8.085,8.085,0,0,1,.783-.951A5.483,5.483,0,0,0,8.577,3Zm2.961,8.536a4.343,4.343,0,0,0,1.228-2.42c-1.934,1.115-3.964,1.225-5.083.106s-1.009-3.149.106-5.083a4.362,4.362,0,1,0,3.75,7.4Z",transform:"translate(-3.001 -3.001)",fill:"#969fa8"})}))},i=n(60317),s=n(49653),l=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 16 16"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"disabled-clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1068","data-name":"Rect\xe1ngulo 1068",width:"16",height:"16",fill:"none"})})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1065","data-name":"Rect\xe1ngulo 1065",width:"16",height:"16",fill:"none"}),(0,a.jsx)("g",{id:"Grupo_2455","data-name":"Grupo 2455",children:(0,a.jsx)("g",{id:"Grupo_2454","data-name":"Grupo 2454",clipPath:"url(#disabled-clip-path)",children:(0,a.jsx)("path",{id:"Trazado_7232","data-name":"Trazado 7232",d:"M8,0a8,8,0,1,0,8,8A8,8,0,0,0,8,0m3.235,5.4L8.965,8.174,10.949,10.6a.857.857,0,0,1-1.327,1.086h0L7.857,9.528,6.092,11.686A.857.857,0,0,1,4.765,10.6L6.749,8.174,4.479,5.4A.857.857,0,0,1,5.806,4.314L7.857,6.821l2.05-2.506A.857.857,0,1,1,11.235,5.4",fill:"#969fa8"})})})]}))},c=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1043","data-name":"Rect\xe1ngulo 1043",width:"255.479",height:"241.736",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-Format_Drives",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Format_Drives","data-name":"Format Drives",clipPath:"url(#clip-Format_Drives)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Format_Drives_Icon","data-name":"Format Drives Icon",children:[(0,a.jsx)("g",{id:"Format_Drives_Icon-2","data-name":"Format Drives Icon",transform:"translate(0 -3)",children:(0,a.jsxs)("g",{id:"Grupo_2430","data-name":"Grupo 2430",transform:"translate(0 10)",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7192","data-name":"Trazado 7192",d:"M0,256.464v65.03c0,9.7,41.2,28.6,116.725,28.6s116.722-18.726,116.722-28.6v-65.13c-26.62,13.381-71.916,20.19-116.722,20.19S26.621,269.674,0,256.464M40.1,318.11A17.441,17.441,0,1,1,45.765,294.1,17.442,17.442,0,0,1,40.1,318.11",transform:"translate(0 -108.359)"}),(0,a.jsx)("path",{id:"Trazado_7193","data-name":"Trazado 7193",d:"M223.775,18.83C207.485,9.744,170.954,0,116.724,0,41.2,0,0,18.9,0,28.6S41.2,57.2,116.724,57.2l0,0a393.878,393.878,0,0,0,42.7-2.213,48.4,48.4,0,0,0,.4,20.494,428.272,428.272,0,0,1-43.1,2.145c-44.807,0-90.1-6.877-116.724-20.19v61.728c0,9.7,41.2,28.6,116.724,28.6s116.722-18.9,116.722-28.6V104.95a48.484,48.484,0,0,0-9.672-86.12M40.1,121.058a17.441,17.441,0,1,1,5.666-24.006A17.441,17.441,0,0,1,40.1,121.058m167.186-18.426a38.3,38.3,0,1,1,38.3-38.3,38.3,38.3,0,0,1-38.3,38.3",transform:"translate(0)"}),(0,a.jsx)("path",{id:"Trazado_7194","data-name":"Trazado 7194",d:"M352.322,69.425,344.043,77.7l-.913-.912a9.594,9.594,0,0,0-13.553,0L316.939,89.432a.185.185,0,0,0-.014.017.823.823,0,0,0-.054.065h0a1.109,1.109,0,0,0-.091.125c-.006.009-.013.016-.018.025l-4.4,7.751a1.091,1.091,0,0,0,.177,1.309l2.98,2.979v0l0,0,3.79,3.79,0,0,0,0,3.79,3.79v0h0l3.789,3.789,0,0,0,0,3.79,3.79v0h0l3.79,3.79,0,0,0,0,2.981,2.98a1.09,1.09,0,0,0,1.719-.233l4.327-7.623,12.534-12.534a9.6,9.6,0,0,0,0-13.553l-.912-.913,8.279-8.28a7.844,7.844,0,0,0-11.093-11.093M338,121.1l-1.383-1.385,2.27-4a1.091,1.091,0,0,0-1.9-1.077l-1.973,3.477-2.193-2.193,2.27-4a1.09,1.09,0,0,0-1.9-1.076l-1.973,3.477-2.194-2.195,2.27-4a1.09,1.09,0,0,0-1.9-1.077l-1.973,3.477-2.193-2.193,2.27-4a1.09,1.09,0,0,0-1.9-1.076l-1.973,3.477-2.194-2.194,2.27-4a1.09,1.09,0,0,0-1.9-1.077l-1.973,3.477-2.194-2.194,2.271-4a1.091,1.091,0,0,0-1.9-1.077l-1.973,3.477-1.382-1.382,3.283-5.784,23.33,23.33Z",transform:"translate(-131.967 -28.375)"})]})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1044","data-name":"Rect\xe1ngulo 1044",width:"256",height:"256",fill:"none"})]})]})]}))},u=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"SpeedTestIcon",children:[(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 850",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 426",d:"m63.413 63.057-.1.084a5.326 5.326 0 0 0 3.505 9.344l-.011.063a5.319 5.319 0 0 0 3.516-1.371l.1-.084q.167-.135.322-.281a5.337 5.337 0 1 0-7.333-7.756Z"}),(0,a.jsx)("path",{"data-name":"Trazado 427",d:"M48.827 88.433a4.336 4.336 0 0 0-5.884 1.729v.095a4.336 4.336 0 0 0 3.817 6.344l-.011.01a4.361 4.361 0 0 0 2.078-8.178Z"}),(0,a.jsx)("path",{"data-name":"Trazado 428",d:"M127.29 52.816h.293a7.816 7.816 0 1 0-.046-15.631h-.247a7.816 7.816 0 0 0 0 15.631Z"}),(0,a.jsx)("path",{"data-name":"Trazado 429",d:"M37.263 119.721h-.028a2.958 2.958 0 0 0-3.324 2.541v.08a2.973 2.973 0 0 0 2.559 3.336 3.173 3.173 0 0 0 .379 0l-.021.007a2.972 2.972 0 0 0 2.959-2.558v-.056a2.966 2.966 0 0 0-2.524-3.35Z"}),(0,a.jsx)("path",{"data-name":"Trazado 430",d:"m91.954 44.052-.209.078a7.07 7.07 0 0 0 2.5 13.688l-.022.065a7.009 7.009 0 0 0 2.537-.529l.165-.066.1-.039a7.071 7.071 0 1 0-5.076-13.2Z"}),(0,a.jsx)("path",{"data-name":"Trazado 431",d:"M192.48 73.763a9.817 9.817 0 0 0-.929-13.852l-.268-.235a9.817 9.817 0 0 0-12.881 14.8l.246.212a9.806 9.806 0 0 0 6.452 2.426 9.815 9.815 0 0 0 7.38-3.351Z"}),(0,a.jsx)("path",{"data-name":"Trazado 432",d:"M205.131 108.033Z"}),(0,a.jsx)("path",{"data-name":"Trazado 433",d:"m227.69 121.128-.067-.495a12.786 12.786 0 0 0-12.612-11.007 12.761 12.761 0 0 0-12.638 14.485v.428a12.786 12.786 0 0 0 12.612 11.047 13.068 13.068 0 0 0 1.778-.12 12.76 12.76 0 0 0 10.927-14.338Z"}),(0,a.jsx)("path",{"data-name":"Trazado 434",d:"M210.416 102.215a11.283 11.283 0 0 0 4.537-15.3l-.2-.361a16.398 16.398 0 0 0-.27-.5 11.283 11.283 0 1 0-19.545 11.281l.187.336a11.278 11.278 0 0 0 15.289 4.538Z"}),(0,a.jsx)("path",{"data-name":"Trazado 435",d:"m160.575 42.633-.289-.111a8.657 8.657 0 1 0-6.052 16.222l.255.1a8.643 8.643 0 0 0 3.048.556l-.01.066a8.7 8.7 0 0 0 3.048-16.833Z"}),(0,a.jsx)("path",{"data-name":"Trazado 436",d:"m148.433 112.148-13.839 11.867a.333.333 0 0 1-.331 0 17.171 17.171 0 1 0 10.435 12.167.333.333 0 0 1 0-.316l13.9-11.866a7.807 7.807 0 0 0-10.165-11.851Zm-12.039 27.588a8.26 8.26 0 1 1-8.26-8.26 8.26 8.26 0 0 1 8.26 8.259Z"}),(0,a.jsx)("path",{"data-name":"Trazado 437",d:"M138.134 194.756h-20.3a3.765 3.765 0 0 0 0 7.53h20.33a3.764 3.764 0 0 0 3.764-3.765v-.03a3.765 3.765 0 0 0-3.794-3.735Z"}),(0,a.jsx)("path",{"data-name":"Trazado 438",d:"M127.999 0a128 128 0 1 0 128 128 128.15 128.15 0 0 0-128-128Zm0 233.412A105.412 105.412 0 1 1 233.414 128a105.412 105.412 0 0 1-105.415 105.412Z"})]})]})]}))},d=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 864",fill:"none",d:"M0 0h256v255.259H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 396",d:"M241.464 0H14.521A14.433 14.433 0 0 0 .001 14.3v51.963a14.433 14.433 0 0 0 14.52 14.3h226.943A14.437 14.437 0 0 0 256 66.263V14.3A14.437 14.437 0 0 0 241.464 0Zm.285 66.263a.283.283 0 0 1-.285.28l-227.224-.28.281-52.241 227.229.278Z",stroke:"#000"}),(0,a.jsx)("path",{"data-name":"Trazado 397",d:"M241.464 87.715H14.521a14.431 14.431 0 0 0-14.52 14.3v51.959a14.432 14.432 0 0 0 14.52 14.3h226.943a14.436 14.436 0 0 0 14.536-14.3v-51.959a14.435 14.435 0 0 0-14.536-14.3Zm.285 66.259a.281.281 0 0 1-.285.28l-227.224-.28.281-52.241 227.229.282Z",stroke:"#000"}),(0,a.jsx)("path",{"data-name":"Trazado 398",d:"M241.464 175.427H14.521a14.441 14.441 0 0 0-14.52 14.31v51.959a14.434 14.434 0 0 0 14.52 14.3h226.943a14.437 14.437 0 0 0 14.536-14.3v-51.959a14.445 14.445 0 0 0-14.536-14.31Zm.285 66.269a.279.279 0 0 1-.285.281l-227.224-.281.281-52.245 227.229.286Z",stroke:"#000"}),(0,a.jsx)("rect",{"data-name":"Rect\\xE1ngulo 813",width:23.651,height:15.695,rx:.643,transform:"translate(20.301 21.991)",stroke:"#000",strokeWidth:.5}),(0,a.jsx)("rect",{"data-name":"Rect\\xE1ngulo 814",width:23.651,height:15.695,rx:.643,transform:"translate(20.301 111.056)",stroke:"#000",strokeWidth:.5}),(0,a.jsx)("rect",{"data-name":"Rect\\xE1ngulo 815",width:23.651,height:15.695,rx:.643,transform:"translate(20.301 200.016)",stroke:"#000",strokeWidth:.5})]})]}))},f=n(18221),p=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{d:"m144.506 255.256-14.883-15.1a2.5 2.5 0 0 1-.721-1.758v-88.02c-4.229 2.145-8.4 4.255-12.479 6.313-5.391 2.731-10.971 5.553-16.449 8.336l-20.359 10.364-11.967 6.092a2.514 2.514 0 0 1-2.635-.217 2.508 2.508 0 0 1-.973-2.458 120.437 120.437 0 0 1 4.3-16.642 154.087 154.087 0 0 1 7.375-18.167 160.659 160.659 0 0 1 10.453-18.526 148.6 148.6 0 0 1 13.559-17.688 161.263 161.263 0 0 1 21-19.616 157.34 157.34 0 0 1 24.42-15.569 2.512 2.512 0 0 1 2.455.086 2.512 2.512 0 0 1 1.205 2.145v43.791a27.491 27.491 0 0 0 8.039-6.747 27.647 27.647 0 0 0 5.527-11.558 27.41 27.41 0 0 0-.295-12.7 27.57 27.57 0 0 0-6.549-11.788c-5.266-5.679-10.748-11.349-16.051-16.837-4.262-4.407-8.676-8.97-12.955-13.52-.342-.365-.689-.729-1.039-1.1-2.916-3.07-5.934-6.248-7.914-10.09a22.79 22.79 0 0 1-1.416-17.614 23.808 23.808 0 0 1 4.559-8.124 24.373 24.373 0 0 1 7.617-5.952A23.519 23.519 0 0 1 138.992 0a25.109 25.109 0 0 1 12.957 3.756 30.3 30.3 0 0 1 9.525 9.222l1.318 1.945c.018.026.035.056.053.082l1.033 1.663c2.971 4.767 6.035 9.7 9.018 14.584a9375.397 9375.397 0 0 1 19.088 31.434 7.057 7.057 0 0 1 .754 1.962c.049.183.1.352.141.486a2.514 2.514 0 0 1-1.117 2.948l-.582.343a2.514 2.514 0 0 1-2.895-.251 27.192 27.192 0 0 0-.447-.369 13.275 13.275 0 0 1-1.291-1.137l-2.756-2.875c-8.3-8.649-16.881-17.593-25.3-26.415a2847.157 2847.157 0 0 1-5.229-5.5c-4.15-4.372-9.322-9.816-10.338-10.841a5.772 5.772 0 0 0-4-1.88 4.533 4.533 0 0 0-3.152 1.333 4.7 4.7 0 0 0-1.594 3.269 5.364 5.364 0 0 0 1.693 3.791 7287.52 7287.52 0 0 0 18.535 19.351c4.8 5.01 9.777 10.19 14.656 15.292a47.4 47.4 0 0 1 6.354 8.306 46.309 46.309 0 0 1 4.229 9.152 46.6 46.6 0 0 1 2.131 9.648 46.826 46.826 0 0 1 .061 9.786 46.84 46.84 0 0 1-1.953 9.539 46.211 46.211 0 0 1-3.947 9 46.028 46.028 0 0 1-5.895 8.114 46.986 46.986 0 0 1-7.812 6.874 79.956 79.956 0 0 1-9.746 5.548 192.77 192.77 0 0 0-3.555 1.833c-.039.021-.084.047-.121.065v113.437a2.517 2.517 0 0 1-1.561 2.323 2.529 2.529 0 0 1-.951.186 2.513 2.513 0 0 1-1.79-.748Zm-23.9-141.771a136 136 0 0 0-10.672 11.727 137.8 137.8 0 0 0-9.287 12.973q-2.262 3.589-4.359 7.394c.139-.074.277-.143.416-.217 4.941-2.527 9.605-4.915 14.33-7.342l1.783-.916c5.258-2.7 10.693-5.5 16-8.306.018-.014.039-.035.061-.053.061-7.372.053-15.174.039-22.768a139.007 139.007 0 0 0-8.312 7.508Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 861",fill:"none",d:"M0 0h256v256H0z"})]})]}))},h=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{d:"m127.996 255.998-48-64H42.252a31.385 31.385 0 0 1-14.189-3.563 54.7 54.7 0 0 1-14.061-10.69 55.543 55.543 0 0 1-10.5-14.313 32.835 32.835 0 0 1-3.5-14.434v-106a32.839 32.839 0 0 1 3.5-14.438 55.538 55.538 0 0 1 10.5-14.312A54.623 54.623 0 0 1 28.063 3.561 31.4 31.4 0 0 1 42.252 0h171.494a31.389 31.389 0 0 1 14.188 3.561 54.7 54.7 0 0 1 14.068 10.687 55.531 55.531 0 0 1 10.5 14.313 32.839 32.839 0 0 1 3.5 14.437v106a32.835 32.835 0 0 1-3.5 14.438 55.532 55.532 0 0 1-10.5 14.313 54.676 54.676 0 0 1-14.064 10.69 31.371 31.371 0 0 1-14.187 3.563h-37.758l-47.994 64Zm2.3-164.808c3.25 6.531 8.105 16.287 12.771 25.671l2.207 4.436c4.8 9.657 8.277 16.634 8.4 16.856a28.061 28.061 0 0 0 11.422 12.328 33.352 33.352 0 0 0 16.873 4.511 34.058 34.058 0 0 0 9.076-1.229 7.893 7.893 0 0 0 4.939-3.831 6.445 6.445 0 0 0 .395-5.167 7.229 7.229 0 0 0-2.971-3.688 8.874 8.874 0 0 0-4.754-1.376 9.005 9.005 0 0 0-2.395.324 16.147 16.147 0 0 1-4.268.574 15.731 15.731 0 0 1-8.162-2.244 13.156 13.156 0 0 1-5.385-6.093l-.385-.771-2.3-4.636-.037-.073c-8.051-16.214-29.434-59.283-32.84-65.75l-.711-1.376-.127-.241v-.007c-2.111-3.99-5.3-10.021-10.895-15.062a34.192 34.192 0 0 0-10.361-6.44 40.584 40.584 0 0 0-14.949-2.656c-4.457 0-8.082 3.223-8.082 7.185s3.625 7.19 8.082 7.19h.014c12.277 0 16.834 6.963 21.516 16.065l.779 1.469c.379.724 1 1.938 1.85 3.617l.105.211 1.953 3.842-44.129 69.447a6.471 6.471 0 0 0-.658 5.161 7.3 7.3 0 0 0 3.842 4.43 8.881 8.881 0 0 0 3.973.933 8.922 8.922 0 0 0 3.906-.893 7.746 7.746 0 0 0 3-2.558l38.313-60.161Z"})]})]}))},m=n(25909),v=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 21 21"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-help-icon",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_961","data-name":"Rect\xe1ngulo 961",width:"21",height:"21",transform:"translate(0 -0.159)",fill:"#07193e"})})}),(0,a.jsx)("g",{id:"HelpIcon-Full",transform:"translate(0 0.159)",children:(0,a.jsx)("g",{id:"Grupo_2320","data-name":"Grupo 2320",clipPath:"url(#clip-path-help-icon)",children:(0,a.jsx)("path",{id:"Trazado_7048","data-name":"Trazado 7048",d:"M10.42,0A10.42,10.42,0,1,0,20.84,10.42,10.42,10.42,0,0,0,10.42,0M9.534,18.477a2,2,0,0,1-1.953-1.953h0a1.943,1.943,0,1,1,1.953,1.953m1.309-6.32-.082,1.176H8.3V9.856h.982c1.974,0,3.037-.624,3.037-1.82,0-1.1-1.053-1.7-3.007-1.7-.552,0-1.125.041-1.554.081L7.561,3.73A15.939,15.939,0,0,1,9.626,3.6c3.569,0,5.635,1.647,5.635,4.234,0,2.362-1.575,3.876-4.418,4.326",fill:"#07193e"})})})]}))},g=n(35994),y=n(18342),x=n(59078),b=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"JSONIcon",children:[(0,a.jsx)("g",{"data-name":"Grupo 2269",children:(0,a.jsx)("path",{"data-name":"Uni\\xF3n 21",d:"M190.07 233.208a8.967 8.967 0 0 1-2.645-6.377 8.974 8.974 0 0 1 2.645-6.389 8.949 8.949 0 0 1 6.375-2.633 24.023 24.023 0 0 0 9.363-1.895 23.98 23.98 0 0 0 7.656-5.163 24.228 24.228 0 0 0 5.152-7.648 23.763 23.763 0 0 0 1.895-9.361v-47.057a26.541 26.541 0 0 1 7.129-18.122 26.567 26.567 0 0 1-7.129-18.133V63.373a23.707 23.707 0 0 0-1.895-9.351 23.978 23.978 0 0 0-5.152-7.648 23.977 23.977 0 0 0-7.656-5.162 23.815 23.815 0 0 0-9.363-1.9 8.959 8.959 0 0 1-6.375-2.644 8.95 8.95 0 0 1-2.645-6.378 8.949 8.949 0 0 1 2.645-6.377 8.959 8.959 0 0 1 6.375-2.644 42.145 42.145 0 0 1 42.109 42.1v47.057a8.636 8.636 0 0 0 8.625 8.624 8.959 8.959 0 0 1 6.375 2.644 8.967 8.967 0 0 1 2.645 6.377c0 .148 0 .307-.012.488.012.17.012.329.012.477a8.974 8.974 0 0 1-2.645 6.389 8.949 8.949 0 0 1-6.375 2.633 8.636 8.636 0 0 0-8.625 8.624v47.057a42.154 42.154 0 0 1-42.109 42.109 8.959 8.959 0 0 1-6.375-2.64ZM17.465 193.742v-47.057a8.641 8.641 0 0 0-8.625-8.624 8.981 8.981 0 0 1-6.387-2.645 8.936 8.936 0 0 1-2.633-6.377c0-.147 0-.307.012-.477-.012-.182-.012-.34-.012-.488a8.956 8.956 0 0 1 2.633-6.377 8.98 8.98 0 0 1 6.387-2.644 8.641 8.641 0 0 0 8.625-8.624V63.372a42.142 42.142 0 0 1 42.1-42.1 8.972 8.972 0 0 1 6.391 2.633 8.963 8.963 0 0 1 2.633 6.388 8.957 8.957 0 0 1-2.633 6.378 8.982 8.982 0 0 1-6.391 2.644 23.8 23.8 0 0 0-9.359 1.9 24.22 24.22 0 0 0-7.648 5.151 23.985 23.985 0 0 0-5.164 7.659 23.975 23.975 0 0 0-1.883 9.351v47.057a26.56 26.56 0 0 1-7.137 18.133 26.512 26.512 0 0 1 7.137 18.122v47.057a24.07 24.07 0 0 0 1.883 9.361 24.068 24.068 0 0 0 5.164 7.648 24.076 24.076 0 0 0 7.648 5.163 23.994 23.994 0 0 0 9.359 1.884 8.982 8.982 0 0 1 6.391 2.644 8.963 8.963 0 0 1 2.633 6.389 8.956 8.956 0 0 1-2.633 6.377 8.982 8.982 0 0 1-6.391 2.644 42.151 42.151 0 0 1-42.1-42.115ZM160 128.008a16 16 0 0 1 16-16 16.006 16.006 0 0 1 16.012 16 16.012 16.012 0 0 1-16.012 16 16.007 16.007 0 0 1-16-16Zm-48 0a16 16 0 0 1 16-16 16 16 0 0 1 16 16 16 16 0 0 1-16 16 16.01 16.01 0 0 1-16-16Zm-47 0a15.758 15.758 0 0 1 15.5-16 15.758 15.758 0 0 1 15.5 16 15.764 15.764 0 0 1-15.5 16 15.764 15.764 0 0 1-15.5-16Z"})}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 891",fill:"none",d:"M0 0h256v256H0z"})]})]})]}))},w=n(13336),_=n(47424),j=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("circle",{"data-name":"circle-icn",cx:128,cy:128,r:128}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 852",fill:"none",d:"M0 0h256v256H0z"})]})]}))},S=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 456",d:"M235.996 77.198c.388-15.754.958-32.242-.5-47.942-1.093-11.755-6.192-21.735-17.831-25.915a42.548 42.548 0 0 0-5.016-1.447c-6.55-1.479-13.433-1.6-20.09-1.8-11.727-.343-23.45.365-35.176.314-23.494-.1-46.986.322-70.479.414q-4.228.016-8.456.017H36.242a17.26 17.26 0 0 0-17.241 17.24v220.679a17.26 17.26 0 0 0 17.241 17.24h182.54a17.26 17.26 0 0 0 17.241-17.24V128.816c-.002-17.184-.45-34.46-.027-51.618Zm-20.923 145.983a14.889 14.889 0 0 1-14.889 14.889H51.815a14.889 14.889 0 0 1-14.888-14.888V33.662a14.887 14.887 0 0 1 14.889-14.888h99.548v25.458a37.8 37.8 0 0 0 37.756 37.76h25.952Zm0-157.656h-25.952a21.32 21.32 0 0 1-21.3-21.3V18.767h32.358a14.888 14.888 0 0 1 14.889 14.889Z"}),(0,a.jsx)("path",{"data-name":"Trazado 457",d:"M139.565 84.765a46.768 46.768 0 0 0-42.22 26.113 42.762 42.762 0 0 0-5.095-.3 42.914 42.914 0 0 0-42.866 42.867 42.916 42.916 0 0 0 42.866 42.866h73.123a38.608 38.608 0 0 0 38.566-38.565 38.754 38.754 0 0 0-17.656-32.377 46.973 46.973 0 0 0-46.718-40.6Zm25.809 94.632H92.251a25.986 25.986 0 0 1-25.957-25.957 25.987 25.987 0 0 1 25.957-25.957 25.525 25.525 0 0 1 7.753 1.2 8.459 8.459 0 0 0 6.505-.577 8.446 8.446 0 0 0 4.154-5.039 29.968 29.968 0 0 1 28.9-21.39 30.142 30.142 0 0 1 30.24 29.173 8.453 8.453 0 0 0 4.83 7.341 21.744 21.744 0 0 1 12.4 19.553 21.68 21.68 0 0 1-21.654 21.652Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 898",fill:"none",d:"M0 0h256v256H0z"})]})]}))},E=n(416),Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 373",d:"M18 145.888A110.2 110.2 0 0 1 126.767 35.85L113.78 22.869c-12.378-12.378 6.448-31.2 18.822-18.824l37.722 37.72a13.32 13.32 0 0 1 0 18.979l-37.722 37.714c-12.374 12.374-31.2-6.442-18.822-18.82l14.085-14.085a80.434 80.434 0 0 0-80.1 80.335 80.443 80.443 0 0 0 80.349 80.35 80.441 80.441 0 0 0 80.349-80.35 14.878 14.878 0 0 1 14.879-14.877 14.879 14.879 0 0 1 14.882 14.877A110.234 110.234 0 0 1 128.114 256 110.232 110.232 0 0 1 18 145.888Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 871",fill:"none",d:"M0 0h256v256H0z"})]})]}))},T=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1045","data-name":"Rect\xe1ngulo 1045",width:"256",height:"230.638",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-Change_Access_Policy",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Change_Access_Policy","data-name":"Change Access Policy",clipPath:"url(#clip-Change_Access_Policy)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Change_Access_Policy_Icon","data-name":"Change Access Policy Icon",children:[(0,a.jsx)("g",{id:"Grupo_2432","data-name":"Grupo 2432",transform:"translate(0 13)",children:(0,a.jsx)("g",{id:"Grupo_2431","data-name":"Grupo 2431",clipPath:"url(#clip-path)",children:(0,a.jsx)("path",{id:"Trazado_7195","data-name":"Trazado 7195",d:"M230.943,74.7A72.225,72.225,0,0,0,217.05,30.786,74.4,74.4,0,0,0,82.376,74.139a73.1,73.1,0,0,0,3.216,21.5L0,181.212v49.426H49.426l2.217-2.22L38.01,214.786l17.257-17.257L68.9,211.161l14.776-14.778L70.043,182.753,87.3,165.5l13.629,13.63L135,145.045a73.794,73.794,0,0,0,41.481.594A45.523,45.523,0,1,0,230.943,74.7m15.771,40.663a35.971,35.971,0,1,1-35.971-35.971,35.971,35.971,0,0,1,35.971,35.971M228.838,99.516A8.172,8.172,0,0,0,222.913,97a8.71,8.71,0,0,0-6,2.447l-22.22,22.245a2.041,2.041,0,0,0-.593,1.112L191.8,134a2.062,2.062,0,0,0,.593,1.928,2.246,2.246,0,0,0,1.555.593.938.938,0,0,0,.444-.074l11.11-2.152a2.036,2.036,0,0,0,1.111-.593l22.219-22.245a8.511,8.511,0,0,0,0-11.938M148.261,65.9a16.475,16.475,0,1,1,16.475,16.475A16.475,16.475,0,0,1,148.261,65.9",transform:"translate(0 0)"})})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1046","data-name":"Rect\xe1ngulo 1046",width:"256",height:"256",fill:"none"})]})]})]}))},A=n(37634),C=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"servers-icn",children:[(0,a.jsx)("path",{"data-name":"Trazado 404",d:"M128 0C64.408 0 0 15.267 0 44.414v167.17c0 29.147 64.408 44.415 128 44.415s128-15.268 128-44.415V44.414C256 15.267 191.592 0 128 0Zm105.743 211.584c0 8.945-37.324 25.909-105.739 25.909s-105.74-17.118-105.74-25.909v-58.911c24.116 11.967 65.15 18.2 105.74 18.2s81.623-6.169 105.739-18.29Zm0-85.128c0 8.791-37.324 25.908-105.739 25.908s-105.74-17.118-105.74-25.908V70.537c24.116 12.06 65.15 18.29 105.74 18.29s81.623-6.168 105.739-18.29ZM128.004 70.321c-68.416 0-105.74-17.118-105.74-25.908s37.324-25.908 105.74-25.908 105.739 17.119 105.739 25.909S196.415 70.323 128 70.323Z"}),(0,a.jsx)("circle",{"data-name":"Elipse 59",cx:15.793,cy:15.793,r:15.793,transform:"rotate(-31.72 348.405 44.732)"}),(0,a.jsx)("circle",{"data-name":"Elipse 60",cx:15.793,cy:15.793,r:15.793,transform:"rotate(-31.72 207.061 4.576)"})]}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 854",fill:"none",d:"M0 0h256v256H0z"})]})]}))},M=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:(0,a.jsxs)("g",{transform:"translate(14.827 15.767) rotate(180)",children:[(0,a.jsx)("path",{fill:"currentcolor",d:"M-147.9-183c-4.1-4.1-10.8-4.1-14.9,0c0,0,0,0,0,0l-63.3,63.3c-4.1,4.1-4.1,10.8,0,14.9 c0,0,0,0,0,0l63.3,63.3c4.1,4.1,10.8,4.1,14.9,0c4.1-4.1,4.1-10.8,0-14.9l-55.9-55.9l55.9-55.9C-143.7-172.2-143.7-178.9-147.9-183 C-147.9-183-147.9-183-147.9-183L-147.9-183z"}),(0,a.jsx)("path",{fill:"currentcolor",d:"M-60.4-112.2c0-5.8-4.7-10.5-10.5-10.5h-137.1c-5.8,0-10.6,4.7-10.6,10.6 c0,5.8,4.7,10.6,10.6,10.6h137.1C-65.1-101.7-60.4-106.4-60.4-112.2C-60.4-112.2-60.4-112.2-60.4-112.2z M-7.6,14.4 c-5.8,0-10.5-4.7-10.5-10.5v-232.2c0-5.8,4.7-10.6,10.6-10.6c5.8,0,10.6,4.7,10.6,10.6V3.9C2.9,9.7-1.8,14.4-7.6,14.4L-7.6,14.4z"})]})}))},k=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 10.868 22"},e),{},{children:(0,a.jsx)("path",{id:"minio-logo-color",d:"M36.179,13.541q-.834-1.379-1.673-2.755c-.29-.476-.585-.949-.88-1.422l-.116-.172a2.047,2.047,0,0,0-2.624-.836,1.84,1.84,0,0,0-.846,2.481,4.385,4.385,0,0,0,.749.931c.841.894,1.709,1.762,2.544,2.662a2.626,2.626,0,0,1-.915,4.225l-.056.023V14.492a13.556,13.556,0,0,0-3.918,3.036,13.227,13.227,0,0,0-3.075,6.117L28.2,22.2c.942-.479,1.878-.95,2.856-1.446V28.83l1.3,1.323V20.076s.03-.014.127-.067a10.787,10.787,0,0,0,1.143-.633,3.862,3.862,0,0,0,.567-5.84c-.969-1.013-1.942-2.022-2.91-3.037a.623.623,0,0,1,0-.93.643.643,0,0,1,.935.053c.135.136,1.043,1.1,1.367,1.435q1.228,1.286,2.459,2.567a1.752,1.752,0,0,0,.136.116l.051-.03A.815.815,0,0,0,36.179,13.541Zm-5.124,5.715a.235.235,0,0,1-.119.159c-.519.275-1.042.543-1.564.811l-1.9.976a12.318,12.318,0,0,1,3.568-4.421l.023-.019C31.06,17.572,31.063,18.448,31.055,19.257Z",transform:"translate(-25.369 -8.153)"})}))},O=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 18",d:"M17.271 255.95a17.247 17.247 0 0 1-12.236-5.086 17.291 17.291 0 0 1-5.086-12.239V17.274A17.25 17.25 0 0 1 5.035 5.035 17.245 17.245 0 0 1 17.271-.051h221.354a17.237 17.237 0 0 1 12.244 5.091 17.238 17.238 0 0 1 5.08 12.253v221.332a17.256 17.256 0 0 1-5.084 12.239 17.256 17.256 0 0 1-12.24 5.086Zm5.121-233.556a14.786 14.786 0 0 0-4.357 10.526v190.083a14.784 14.784 0 0 0 4.357 10.521 14.782 14.782 0 0 0 10.52 4.362h190.09a14.788 14.788 0 0 0 10.518-4.362 14.778 14.778 0 0 0 4.359-10.521l-.016-190.083a14.758 14.758 0 0 0-4.357-10.521 14.758 14.758 0 0 0-10.514-4.362H32.912a14.777 14.777 0 0 0-10.52 4.356Zm133.525 194.628a15.4 15.4 0 0 1-10.963-4.539 15.409 15.409 0 0 1-4.545-10.969V178.65a15.406 15.406 0 0 1 4.545-10.964 15.4 15.4 0 0 1 10.957-4.539h48.84a15.4 15.4 0 0 1 10.959 4.539 15.409 15.409 0 0 1 4.539 10.964v22.873a15.4 15.4 0 0 1-4.539 10.959 15.385 15.385 0 0 1-10.959 4.539Zm-99.047-.02c-8.545 0-15.5-6.375-15.5-14.213v-74.217c0-7.838 6.957-14.218 15.5-14.218h48.834c8.547 0 15.5 6.38 15.5 14.218v74.217c0 7.837-6.949 14.213-15.5 14.213Zm99.047-75.462c-8.545 0-15.5-6.375-15.5-14.213V53.11c0-7.838 6.957-14.218 15.5-14.218h48.824c8.553 0 15.508 6.38 15.508 14.218v74.217c0 7.838-6.955 14.213-15.508 14.213ZM56.87 92.781a15.4 15.4 0 0 1-10.957-4.539 15.407 15.407 0 0 1-4.545-10.964V54.395a15.406 15.406 0 0 1 4.545-10.964 15.4 15.4 0 0 1 10.957-4.539h48.824a15.408 15.408 0 0 1 10.969 4.544A15.4 15.4 0 0 1 121.2 54.4v22.873a15.4 15.4 0 0 1-4.537 10.964 15.408 15.408 0 0 1-10.969 4.544Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 881",fill:"none",d:"M0 0h256v256H0z"})]})]}))},P=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 41",d:"M175.369 255.999a41.227 41.227 0 0 1-40.01-31.491h-14.736a41.3 41.3 0 0 1-39.988 31.491h-.006a41.192 41.192 0 0 1-41.152-41.145 41.068 41.068 0 0 1 14.268-31.134l-8.084-14.819a41.386 41.386 0 0 1-4.5.251A41.2 41.2 0 0 1 .007 128.003a41.2 41.2 0 0 1 41.154-41.154 41.31 41.31 0 0 1 6.041.443l7.676-14.071a41.09 41.09 0 0 1-15.393-32.069A41.194 41.194 0 0 1 80.637-.002a41.211 41.211 0 0 1 40.893 36.5h12.957a41.207 41.207 0 0 1 40.891-36.5 41.194 41.194 0 0 1 41.152 41.154 41.115 41.115 0 0 1-14.035 30.886l8.193 15.021a41.42 41.42 0 0 1 4.172-.21 41.2 41.2 0 0 1 41.148 41.154 41.273 41.273 0 0 1-41.148 41.149q-1.31 0-2.6-.082l-8.652 15.861a41.05 41.05 0 0 1 12.926 29.922 41.263 41.263 0 0 1-41.148 41.145Zm-15.461-41.145a15.479 15.479 0 0 0 15.461 15.462 15.485 15.485 0 0 0 15.471-15.462 15.515 15.515 0 0 0-15.471-15.471 15.485 15.485 0 0 0-15.461 15.473Zm-94.744 0a15.484 15.484 0 0 0 15.465 15.462 15.484 15.484 0 0 0 15.467-15.462 15.512 15.512 0 0 0-15.471-15.471 15.485 15.485 0 0 0-15.461 15.473Zm69.055-.351a41.147 41.147 0 0 1 18.393-33.922l-8.525-14.725a40.926 40.926 0 0 1-16.082 3.3 40.981 40.981 0 0 1-12.812-2.042l-8.984 15.522a41.109 41.109 0 0 1 15.578 31.87Zm61.25-35.552 6.477-11.871a41.28 41.28 0 0 1-27.734-32.58h-5.58a41.235 41.235 0 0 1-14.312 25.076l9.186 15.868a41.037 41.037 0 0 1 11.865-1.744 40.9 40.9 0 0 1 20.098 5.253Zm-133.391-.828a40.919 40.919 0 0 1 18.551-4.423 40.934 40.934 0 0 1 15.193 2.907l8.617-14.884A41.216 41.216 0 0 1 87.363 134.5h-5.582a41.378 41.378 0 0 1-26.059 31.969Zm137.309-50.119a15.477 15.477 0 0 0 15.465 15.462 15.477 15.477 0 0 0 15.461-15.462 15.5 15.5 0 0 0-15.471-15.471 15.483 15.483 0 0 0-15.455 15.472ZM128 143.467a15.477 15.477 0 0 0 15.465-15.462A15.5 15.5 0 0 0 128 112.534a15.4 15.4 0 0 0-5.734 1.1l-3.818 2.21A15.452 15.452 0 0 0 112.54 128a15.441 15.441 0 0 0 5.914 12.155l3.789 2.2a15.379 15.379 0 0 0 5.757 1.112ZM25.686 128.005a15.482 15.482 0 0 0 15.467 15.462 15.481 15.481 0 0 0 15.465-15.462 15.507 15.507 0 0 0-15.465-15.471 15.49 15.49 0 0 0-15.467 15.471Zm148.379-5.5a41.276 41.276 0 0 1 26.506-33.1l-6.379-11.693a40.928 40.928 0 0 1-18.818 4.591 41.039 41.039 0 0 1-11.865-1.743l-9.17 15.843a41.135 41.135 0 0 1 14.451 26.1Zm-86.848 0a41.2 41.2 0 0 1 17.221-28.223l-8.627-14.9a40.952 40.952 0 0 1-15.176 2.925h-.006a40.908 40.908 0 0 1-17.254-3.794l-6.3 11.548a41.266 41.266 0 0 1 24.863 32.448Zm56.881-32.375 8.514-14.707a41.2 41.2 0 0 1-18.049-28.922h-13.135a41.238 41.238 0 0 1-15.242 26.844l9 15.549A41 41 0 0 1 128 86.852a40.932 40.932 0 0 1 16.1 3.278Zm15.811-48.976a15.476 15.476 0 0 0 15.461 15.461 15.482 15.482 0 0 0 15.471-15.461 15.515 15.515 0 0 0-15.471-15.471 15.484 15.484 0 0 0-15.462 15.471Zm-94.744 0A15.481 15.481 0 0 0 80.63 56.615a15.481 15.481 0 0 0 15.467-15.461 15.512 15.512 0 0 0-15.471-15.471 15.484 15.484 0 0 0-15.462 15.471Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 924",fill:"none",d:"M0 0h256v256H0z"})]})]}))},R=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 39",d:"M119.5 246.769v-19a9 9 0 0 1 9-9 9 9 0 0 1 9 9v19a9 9 0 0 1-9 9 9.006 9.006 0 0 1-9-9Zm0-43.852v-19a9.006 9.006 0 0 1 9-9 9 9 0 0 1 9 9v19a9 9 0 0 1-9 9 9.006 9.006 0 0 1-9-9Zm117.967-22.283-71.154-41.4a12.875 12.875 0 0 1-6.463-11.237 12.889 12.889 0 0 1 6.463-11.237l71.154-41.394A13 13 0 0 1 257 86.6v82.794a13.018 13.018 0 0 1-13.021 13.02 12.877 12.877 0 0 1-6.514-1.78Zm-54.674-52.636 56.211 32.7v-65.4ZM0 169.4V86.6a13 13 0 0 1 19.535-11.237l71.15 41.394a12.879 12.879 0 0 1 6.461 11.237 12.865 12.865 0 0 1-6.461 11.237l-71.15 41.4a12.9 12.9 0 0 1-6.518 1.783A13.015 13.015 0 0 1 0 169.4Zm18-8.7L74.205 128 18 95.3Zm101.5-1.636v-19a9 9 0 0 1 9-9 9 9 0 0 1 9 9v19a9 9 0 0 1-9 9 9 9 0 0 1-9-8.998Zm0-43.857v-19a9.006 9.006 0 0 1 9-9 9 9 0 0 1 9 9v19a9 9 0 0 1-9 9 9.006 9.006 0 0 1-9-8.999Zm0-43.852v-19a9 9 0 0 1 9-9 9 9 0 0 1 9 9v19a9 9 0 0 1-9 9 9 9 0 0 1-9-8.998Zm0-43.857v-19a9.006 9.006 0 0 1 9-9 9 9 0 0 1 9 9v19a9 9 0 0 1-9 9 9.006 9.006 0 0 1-9-8.998Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 923",fill:"none",d:"M0 0h256v256H0z"})]})]}))},N=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"ToolsIcon",children:[(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 846",fill:"none",d:"M0 0h255.535v255.516H0z"}),(0,a.jsxs)("g",{"data-name":"Grupo 1552",children:[(0,a.jsx)("path",{"data-name":"Uni\\xF3n 12",d:"M187.377 246.393 68.398 127.416q-2.3.164-4.6.164a63.373 63.373 0 0 1-45.111-18.629A64.284 64.284 0 0 1 2.218 47.216a19.958 19.958 0 0 1 33.414-9.02l12.7 12.695 3.006-3-12.7-12.7a19.962 19.962 0 0 1 9.02-33.412A65.038 65.038 0 0 1 64.283-.384a63.344 63.344 0 0 1 45.113 18.635 64.122 64.122 0 0 1 18.461 49.688l.59.59c.146-.153.291-.3.441-.453l23.5-23.312-.055-3.286a19.965 19.965 0 0 1 10.5-17.912l40.215-21.659a19.949 19.949 0 0 1 23.523 3.4l23.526 23.33a19.973 19.973 0 0 1 3.266 24.089l-22.524 39.362a19.955 19.955 0 0 1-17.4 10.049l-2.51-.009-24.086 23.888c-.15.151-.3.3-.461.443l60.469 60.463a31.038 31.038 0 0 1 0 43.848l-15.619 15.622a31.015 31.015 0 0 1-43.855 0Zm14.119-14.117a11.039 11.039 0 0 0 15.617 0l15.619-15.617a11.033 11.033 0 0 0 0-15.617L106.566 74.884a43.813 43.813 0 0 0-53.811-53.81L79.57 47.886l-31.239 31.23-26.812-26.8a43.815 43.815 0 0 0 53.809 53.8Zm-29.2-191.135.2 11.8-29.549 29.307 29.838 29.6 29.951-29.712 10.777.041 22.524-39.368-23.52-23.331Z"}),(0,a.jsx)("g",{"data-name":"Grupo 1551",children:(0,a.jsx)("path",{"data-name":"Trazado 444",d:"m80.891 143.919-57.656 57.656a10.859 10.859 0 0 0 0 15.357l15.357 15.359a10.861 10.861 0 0 0 15.359 0l57.652-57.655-30.712-30.717m0-20a20 20 0 0 1 14.142 5.858l30.716 30.717a20 20 0 0 1 0 28.284l-57.656 57.656a30.661 30.661 0 0 1-21.822 9.039 30.658 30.658 0 0 1-21.821-9.039l-15.358-15.36a30.657 30.657 0 0 1-9.038-21.82 30.656 30.656 0 0 1 9.04-21.822l57.654-57.655a20 20 0 0 1 14.143-5.858Z"})})]})]})]})]}))},z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"arrow-icn",d:"M19.795 108.063c-26.394 0-26.394 40.032 0 40.032h167.688l-22.739 22.669c-18.656 18.622 9.725 46.922 28.382 28.316l56.877-56.732a19.991 19.991 0 000-28.548l-56.877-56.716c-18.656-18.6-47.038 9.684-28.382 28.3l22.739 22.68H19.795z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 863",fill:"none",d:"M0 0h256v256H0z"})]})]}))},I=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 463",d:"M32.291 232.53a32.336 32.336 0 0 1-32.289-32.3V76.935a32.33 32.33 0 0 1 32.289-32.3 8.837 8.837 0 0 1 8.832 8.822 8.845 8.845 0 0 1-8.832 8.831 14.663 14.663 0 0 0-14.648 14.648v123.295a14.661 14.661 0 0 0 14.648 14.64h191.4a14.66 14.66 0 0 0 14.641-14.64V76.936a14.661 14.661 0 0 0-14.641-14.648h-54.07a8.845 8.845 0 0 1-8.832-8.831 8.762 8.762 0 0 1 2.586-6.236 8.735 8.735 0 0 1 6.246-2.586h54.07a32.345 32.345 0 0 1 32.313 32.3V200.23a32.351 32.351 0 0 1-32.312 32.3Zm140.445-33.006a3.078 3.078 0 0 1-3.082-3.07V179.02a3.08 3.08 0 0 1 3.082-3.08h47.18a3.077 3.077 0 0 1 3.07 3.08v17.434a3.075 3.075 0 0 1-3.07 3.07Zm-113.141 0a22.643 22.643 0 0 1-20.648-12.767 26.835 26.835 0 0 1 1.891-26.579l.02-.019c.094-.143.2-.285.3-.428.273-.409.559-.827.871-1.245a70.651 70.651 0 0 1 52.277-28.5 62.967 62.967 0 0 1 3.543-.095 67.043 67.043 0 0 1 15.211 1.777 71.594 71.594 0 0 1 14.734 5.219 71.248 71.248 0 0 1 26.73 22.149 27.371 27.371 0 0 1 2.672 27.53 22.363 22.363 0 0 1-20.629 12.956Zm-3.719-30.372v.01l-.047.058c-.191.256-.371.5-.531.741v.028l-.258.371a8.365 8.365 0 0 0-.715 8.261 5.526 5.526 0 0 0 5.27 3.1h76.969a6.062 6.062 0 0 0 3.156-.761 4.988 4.988 0 0 0 1.949-2.243 8.485 8.485 0 0 0 .715-4.524 9.18 9.18 0 0 0-1.7-4.468 54.088 54.088 0 0 0-42.969-22.007c-.93 0-1.75.019-2.508.066h-.012a53.055 53.055 0 0 0-39.318 21.368Zm116.859-5.01a3.08 3.08 0 0 1-3.082-3.079v-17.425a3.08 3.08 0 0 1 3.082-3.08h47.18a3.077 3.077 0 0 1 3.07 3.08v17.425a3.077 3.077 0 0 1-3.07 3.079Zm-.59-38.7a2.5 2.5 0 0 1-2.492-2.5V82.066a2.5 2.5 0 0 1 2.492-2.5h48.348a2.5 2.5 0 0 1 2.492 2.5v40.876a2.5 2.5 0 0 1-2.492 2.5ZM50.981 74.213c0-28.233 22.09-51.209 49.242-51.209s49.258 22.976 49.258 51.209a52.579 52.579 0 0 1-3.867 19.906 51.257 51.257 0 0 1-10.551 16.274 49.07 49.07 0 0 1-15.656 11 47.257 47.257 0 0 1-19.184 4.041c-27.151 0-49.241-22.976-49.241-51.22Zm17.977 0c0 18.033 14.031 32.711 31.266 32.711 17.262 0 31.3-14.678 31.3-32.711s-14.039-32.7-31.3-32.7c-17.234 0-31.265 14.668-31.265 32.701Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 883",fill:"none",d:"M0 0h256v256H0z"})]})]}))},L=n(75288),D=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 43",d:"M65.865 256a8.03 8.03 0 0 1-8.029-8.035 8.03 8.03 0 0 1 8.029-8.034h163.867a8.035 8.035 0 0 1 8.033 8.034 8.035 8.035 0 0 1-8.033 8.035Zm-57.834 0a8.03 8.03 0 0 1-8.029-8.035 8.03 8.03 0 0 1 8.029-8.034h29.99a8.035 8.035 0 0 1 8.033 8.034A8.035 8.035 0 0 1 38.021 256Zm57.834-28.917a8.03 8.03 0 0 1-8.029-8.034 8.03 8.03 0 0 1 8.029-8.035h163.867a8.035 8.035 0 0 1 8.033 8.035 8.035 8.035 0 0 1-8.033 8.034Zm-57.834 0a8.03 8.03 0 0 1-8.029-8.034 8.03 8.03 0 0 1 8.029-8.035h29.99a8.035 8.035 0 0 1 8.033 8.035 8.035 8.035 0 0 1-8.033 8.034Zm163.459-28.384H142a8.173 8.173 0 0 1-2.906-.533H65.865a8.03 8.03 0 0 1-8.029-8.034 8.03 8.03 0 0 1 8.029-8.035h34.445a8.134 8.134 0 0 1-3.521-2.068L76 159.218a8.128 8.128 0 0 1-2.377-5.208 8.128 8.128 0 0 1 1.641-5.474l12.373-16.585a68.993 68.993 0 0 1-2.988-7.079l-20.311-2.926a8.163 8.163 0 0 1-7.025-8.15V84.375a8.167 8.167 0 0 1 7.025-8.15l20.311-2.926a70.215 70.215 0 0 1 2.988-7.073L75.258 49.792a8.178 8.178 0 0 1-1.635-5.48 8.113 8.113 0 0 1 2.381-5.2l20.781-20.807a8.141 8.141 0 0 1 5.779-2.393 8.1 8.1 0 0 1 4.93 1.657l16.5 12.373a69.937 69.937 0 0 1 7.09-2.972l2.914-20.333a8.146 8.146 0 0 1 2.723-5.016 8.155 8.155 0 0 1 5.428-2h29.572a8.159 8.159 0 0 1 5.342 2 8.138 8.138 0 0 1 2.727 5.016l2.92 20.333a72.131 72.131 0 0 1 7.086 2.972l16.439-12.373a8.039 8.039 0 0 1 4.9-1.657 8.109 8.109 0 0 1 5.766 2.393l20.8 20.958a8.142 8.142 0 0 1 2.381 5.2 8.135 8.135 0 0 1-1.633 5.474l-12.314 16.434a71.975 71.975 0 0 1 2.994 7.079l20.334 2.926a8.147 8.147 0 0 1 4.957 2.757 8.174 8.174 0 0 1 1.971 5.318v29.5a8.192 8.192 0 0 1-1.971 5.387 8.161 8.161 0 0 1-5.039 2.757l-20.34 2.926a67.225 67.225 0 0 1-2.971 7.079l12.234 16.353a8.209 8.209 0 0 1 1.627 5.486 8.133 8.133 0 0 1-2.367 5.208l-20.8 20.8a8.119 8.119 0 0 1-3.8 2.149h16.77a8.035 8.035 0 0 1 8.033 8.035 8.035 8.035 0 0 1-8.033 8.034h-55.26a8.157 8.157 0 0 1-2.9.533Zm37.543-16.6a8.118 8.118 0 0 1-2.953-1.413l-16.418-12.3a71.877 71.877 0 0 1-7.084 2.972l-1.547 10.745Zm-44.514 0 2.627-17.766a8.133 8.133 0 0 1 5.891-6.691 57.883 57.883 0 0 0 13.561-5.59 8.188 8.188 0 0 1 4.322-1.228 8.164 8.164 0 0 1 4.328 1.234l.039.029 14.875 11.371 10.77-10.995-11.168-14.9a8.122 8.122 0 0 1-1.275-4.368 8.1 8.1 0 0 1 1.264-4.35 62.735 62.735 0 0 0 5.26-13.358l.006-.011a8.194 8.194 0 0 1 6.7-5.868l18.439-2.676-.215-15.16-18.449-2.676a8.116 8.116 0 0 1-6.684-5.868 63.168 63.168 0 0 0-5.6-13.532 8.106 8.106 0 0 1 .578-8.961l11.367-14.876-10.984-10.774-14.9 11.168a8.1 8.1 0 0 1-4.594 1.413 8.215 8.215 0 0 1-4.066-1.083 57.452 57.452 0 0 0-13.562-5.584h-.006a8.154 8.154 0 0 1-5.891-6.7l-2.682-18.438h-15.23l-2.676 18.143a8.113 8.113 0 0 1-5.873 6.679 58.28 58.28 0 0 0-13.592 5.59 8.08 8.08 0 0 1-4.309 1.24 8.15 8.15 0 0 1-4.322-1.245l-.039-.029-14.877-11.371-10.988 10.995 11.395 14.911a8.111 8.111 0 0 1 1.264 4.362 8.137 8.137 0 0 1-1.252 4.344 64.4 64.4 0 0 0-5.283 13.509v.006a8.131 8.131 0 0 1-6.68 5.874l-18.449 2.688v15.229l18.139 2.676a8.163 8.163 0 0 1 6.678 5.874 63.854 63.854 0 0 0 5.59 13.509 8.183 8.183 0 0 1 1.258 4.356 8.161 8.161 0 0 1-1.264 4.368l-.029.035-11.365 14.864 10.988 10.775 14.9-11.168a8.127 8.127 0 0 1 4.58-1.408 8.129 8.129 0 0 1 4.063 1.089 58.074 58.074 0 0 0 13.59 5.584h.006a8.142 8.142 0 0 1 5.873 6.691l2.629 18.073Zm-31.975 0-1.551-10.745a68.569 68.569 0 0 1-7.08-2.972l-16.416 12.373a8.134 8.134 0 0 1-2.682 1.344ZM8.03 198.168a8.03 8.03 0 0 1-8.029-8.034 8.03 8.03 0 0 1 8.029-8.035h29.99a8.035 8.035 0 0 1 8.033 8.035 8.035 8.035 0 0 1-8.033 8.034Zm0-28.917a8.03 8.03 0 0 1-8.029-8.035 8.025 8.025 0 0 1 8.029-8.029h29.99a8.03 8.03 0 0 1 8.033 8.029 8.035 8.035 0 0 1-8.033 8.035Zm0-28.917a8.03 8.03 0 0 1-8.029-8.035 8.025 8.025 0 0 1 8.029-8.029h29.99a8.03 8.03 0 0 1 8.033 8.029 8.035 8.035 0 0 1-8.033 8.035Zm133.771-5.561a38.591 38.591 0 0 1-12.279-8.278 38.613 38.613 0 0 1-8.279-12.286 38.374 38.374 0 0 1-3.035-15.038 38.381 38.381 0 0 1 3.035-15.044 38.551 38.551 0 0 1 8.279-12.286 38.512 38.512 0 0 1 12.279-8.284 38.369 38.369 0 0 1 15.037-3.035 38.407 38.407 0 0 1 15.051 3.035 38.476 38.476 0 0 1 12.291 8.284 38.551 38.551 0 0 1 8.279 12.286 38.381 38.381 0 0 1 3.035 15.044 38.374 38.374 0 0 1-3.035 15.038 38.613 38.613 0 0 1-8.279 12.286 38.554 38.554 0 0 1-12.291 8.278 38.408 38.408 0 0 1-15.051 3.041 38.4 38.4 0 0 1-15.038-3.045Zm6.354-56.19a22.131 22.131 0 0 0-7.094 4.791 22.181 22.181 0 0 0-4.785 7.1 22.193 22.193 0 0 0-1.754 8.7 22.187 22.187 0 0 0 1.754 8.689 22.221 22.221 0 0 0 4.785 7.1 22.2 22.2 0 0 0 7.094 4.785 22.166 22.166 0 0 0 8.684 1.755 22.233 22.233 0 0 0 8.7-1.755 22.259 22.259 0 0 0 7.1-4.785 22.268 22.268 0 0 0 4.779-7.1 22.222 22.222 0 0 0 1.754-8.689 22.228 22.228 0 0 0-1.754-8.7 22.228 22.228 0 0 0-4.779-7.1 22.186 22.186 0 0 0-7.1-4.791 22.232 22.232 0 0 0-8.7-1.755 22.166 22.166 0 0 0-8.683 1.751ZM8.03 111.416a8.03 8.03 0 0 1-8.029-8.035 8.025 8.025 0 0 1 8.029-8.029h29.99a8.03 8.03 0 0 1 8.033 8.029 8.035 8.035 0 0 1-8.033 8.035Zm0-28.917a8.03 8.03 0 0 1-8.029-8.034 8.025 8.025 0 0 1 8.029-8.029h29.99a8.03 8.03 0 0 1 8.033 8.029 8.035 8.035 0 0 1-8.033 8.034Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 925",fill:"none",d:"M0 0h256v256H0z"})]})]}))},B=n(88538),H=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1007","data-name":"Rect\xe1ngulo 1007",width:"256",height:"174.517",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-New_Service_Account_Created",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"New_Service_Account_Created","data-name":"New Service Account Created",clipPath:"url(#clip-New_Service_Account_Created)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Create_Service_Account_Icon","data-name":"Create Service Account Icon",children:[(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1006","data-name":"Rect\xe1ngulo 1006",width:"256",height:"256",fill:"none"}),(0,a.jsx)("g",{id:"Grupo_2394","data-name":"Grupo 2394",transform:"translate(0 41.709)",children:(0,a.jsx)("g",{id:"Grupo_2393","data-name":"Grupo 2393",transform:"translate(0 -0.001)",clipPath:"url(#clip-path)",children:(0,a.jsx)("path",{id:"Trazado_7132","data-name":"Trazado 7132",d:"M209.54,0a46.254,46.254,0,0,0-29.083,10.24H27.839a27.482,27.482,0,0,0-10.808,2.2A28.109,28.109,0,0,0,2.2,27.269,27.507,27.507,0,0,0,0,38.078v108.6a27.507,27.507,0,0,0,2.2,10.809,28.112,28.112,0,0,0,14.834,14.834,27.5,27.5,0,0,0,10.808,2.2H195.985a27.5,27.5,0,0,0,10.808-2.2,28.11,28.11,0,0,0,14.833-14.834,27.486,27.486,0,0,0,2.2-10.809v-56A46.462,46.462,0,0,0,209.54,0m-5.828,67.986V53.635H189.362V39.283h14.351V24.933h14.351V39.283h14.351V53.635H218.064V67.985Zm-69.071,1.7h34.67a46.667,46.667,0,0,0,17.844,17.486H134.641a8.743,8.743,0,1,1,0-17.486M68.625,23.35h0c19.765,0,35.837,16.716,35.837,37.255a38.068,38.068,0,0,1-2.816,14.482,37.124,37.124,0,0,1-7.674,11.841,35.566,35.566,0,0,1-11.39,8A34.44,34.44,0,0,1,68.65,97.872h-.025C48.872,97.872,32.8,81.148,32.8,60.606S48.872,23.35,68.625,23.35m41.452,122.5a16.272,16.272,0,0,1-14.76,9.426H38.868a16.474,16.474,0,0,1-14.823-9.289,19.517,19.517,0,0,1,1.376-19.337l.013-.014c.051-.08.111-.164.162-.236l.056-.078c.24-.358.435-.637.635-.9a51.4,51.4,0,0,1,38.031-20.735c.806-.046,1.673-.07,2.578-.07v0a48.828,48.828,0,0,1,11.065,1.3,52.471,52.471,0,0,1,10.723,3.8,51.858,51.858,0,0,1,19.446,16.116,19.952,19.952,0,0,1,1.946,20.028m85.765,8.641h-61.2a8.743,8.743,0,1,1,0-17.486h61.2a8.743,8.743,0,1,1,0,17.486m0-33.223h-61.2a8.743,8.743,0,1,1,0-17.485h61.2a8.743,8.743,0,1,1,0,17.485m13.976-38.1a36.707,36.707,0,1,1,36.707-36.707,36.707,36.707,0,0,1-36.707,36.707",transform:"translate(0 0.001)",fill:"#4ccb92"})})})]})]})]}))},V=n(20426),U=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",viewBox:"0 0 284.616 49.568",className:"min-icon",fill:"currentcolor"},e),{},{children:(0,a.jsx)("g",{transform:"translate(0.5 0.5)",children:(0,a.jsx)("path",{d:"M10822.423,3589.089c0-14.873,14.033-24.285,33.612-24.285s33.7,9.328,33.7,24.285-13.782,24.282-33.7,24.282C10836.374,3613.371,10822.423,3604.046,10822.423,3589.089Zm7.731,0c0,11.763,11.263,18.065,25.881,18.065s25.966-6.3,25.966-18.065c0-11.681-11.345-18.068-25.966-18.068S10830.154,3577.408,10830.154,3589.089Zm-43.43,23.094-41.918-22.23a1.586,1.586,0,0,0-2.329,1.4v21.011H10726.5v-42.123a4.421,4.421,0,0,1,4.42-4.422h.029a4.4,4.4,0,0,1,2.077.519l41.752,22.233a1.587,1.587,0,0,0,2.334-1.4v-21.35h16.11v42.454a4.42,4.42,0,0,1-6.493,3.905Zm-88.75.186v-46.534h15.884v46.534Zm-28.218,0v-20.147a1.588,1.588,0,0,0-2.392-1.367l-19.068,11.186a5.668,5.668,0,0,1-5.818-.055l-18.07-11.057a1.589,1.589,0,0,0-2.416,1.355v20.084h-15.876v-42.323a4.423,4.423,0,0,1,4.423-4.422h.038a4.453,4.453,0,0,1,2.3.648l32.246,19.694a1.429,1.429,0,0,0,1.5,0l32.243-19.694a4.453,4.453,0,0,1,2.3-.648h.041a4.421,4.421,0,0,1,4.42,4.422v42.323Zm136.353-.011v-46.534h7.39v46.534Z",transform:"translate(-10606.116 -3564.803)",stroke:"rgba(0,0,0,0)",strokeWidth:"1"})})}))},F=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 33.055 39.954"},e),{},{children:[(0,a.jsx)("path",{id:"Trazado_6934","data-name":"Trazado 6934",d:"M2.663,53.686,0,55.018V78.391l2.663,1.324.016-.019V53.7l-.016-.018",transform:"translate(0 -46.754)",fill:"#8c3123"}),(0,a.jsx)("path",{id:"Trazado_6935","data-name":"Trazado 6935",d:"M34.876,76.323,20.624,79.715V53.686L34.876,57V76.323",transform:"translate(-17.961 -46.754)",fill:"#e05243"}),(0,a.jsx)("path",{id:"Trazado_6936","data-name":"Trazado 6936",d:"M81.178,125.086l6.045.77.038-.088.034-9.913-.072-.077-6.045.758v8.55",transform:"translate(-70.696 -100.829)",fill:"#8c3123"}),(0,a.jsx)("path",{id:"Trazado_6937","data-name":"Trazado 6937",d:"M128,76.361l13.864,3.362.022-.035V53.709l-.022-.023L128,57.043V76.361",transform:"translate(-111.469 -46.754)",fill:"#8c3123"}),(0,a.jsx)("path",{id:"Trazado_6938","data-name":"Trazado 6938",d:"M134.043,125.086l-6.047.77V115.778l6.047.758v8.55",transform:"translate(-111.469 -100.829)",fill:"#e05243"}),(0,a.jsx)("path",{id:"Trazado_6939","data-name":"Trazado 6939",d:"M93.27,78.958l-6.047,1.1-6.045-1.1,6.038-1.583,6.055,1.583",transform:"translate(-70.696 -67.384)",fill:"#5e1f18"}),(0,a.jsx)("path",{id:"Trazado_6940","data-name":"Trazado 6940",d:"M93.27,212.319l-6.047-1.109-6.045,1.109L87.216,214l6.054-1.685",transform:"translate(-70.696 -183.938)",fill:"#f2b0a9"}),(0,a.jsx)("path",{id:"Trazado_6941","data-name":"Trazado 6941",d:"M81.178,11.573l6.045-1.5.049-.015V.04L87.223,0,81.178,3.023v8.55",transform:"translate(-70.696)",fill:"#8c3123"}),(0,a.jsx)("path",{id:"Trazado_6942","data-name":"Trazado 6942",d:"M134.043,11.573,128,10.077V0l6.047,3.023v8.55",transform:"translate(-111.469)",fill:"#e05243"}),(0,a.jsx)("path",{id:"Trazado_6943","data-name":"Trazado 6943",d:"M87.219,231.378l-6.046-3.022v-8.55l6.046,1.5.089.1-.024,9.8-.065.174",transform:"translate(-70.692 -191.424)",fill:"#8c3123"}),(0,a.jsx)("path",{id:"Trazado_6944","data-name":"Trazado 6944",d:"M128,231.378l6.046-3.022v-8.55L128,221.3v10.077",transform:"translate(-111.469 -191.424)",fill:"#e05243"}),(0,a.jsx)("path",{id:"Trazado_6945","data-name":"Trazado 6945",d:"M235.367,53.686l2.664,1.332V78.391l-2.664,1.331V53.686",transform:"translate(-204.976 -46.754)",fill:"#e05243"})]}))},G=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{d:"M19.805 108.063c-26.4 0-26.4 40.032 0 40.032h167.684l-22.739 22.668c-18.656 18.622 9.725 46.922 28.382 28.316l56.873-56.731a19.991 19.991 0 0 0 0-28.548l-56.877-56.716c-18.656-18.6-47.038 9.684-28.382 28.3l22.743 22.679H19.805Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 863",fill:"none",d:"M.003 0h256v256h-256z"})]})]}))},W=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({version:"1.1",id:"Layer_1",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:(0,a.jsxs)("g",{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("rect",{id:"SVGID_1_",x:"2.6",y:"47.4",width:"250.4",height:"161.2"})}),(0,a.jsxs)("g",{children:[(0,a.jsx)("path",{d:"M127.8,95.5c-18,0-32.5,14.6-32.5,32.5c0,18,14.6,32.5,32.5,32.5l0,0 c18,0,32.5-14.6,32.5-32.5C160.3,110,145.8,95.5,127.8,95.5",fill:"currentcolor"}),(0,a.jsx)("path",{d:"M248.2,112C204.1,45.5,114.5,27.4,48,71.4C31.9,82.1,18.1,95.9,7.5,112 c-6.5,9.7-6.5,22.3,0,32c44.1,66.5,133.7,84.6,200.1,40.5c16.1-10.7,29.9-24.5,40.5-40.5C254.6,134.3,254.6,121.7,248.2,112 M127.8,181.2c-29.4,0-53.2-23.8-53.2-53.2s23.8-53.2,53.2-53.2S181,98.6,181,128l0,0C181,157.4,157.2,181.2,127.8,181.2",fill:"currentcolor"})]})]})}))},K=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1024","data-name":"Rect\xe1ngulo 1024",width:"256",height:"255.998",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-Enable_Bucket_Quota",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Enable_Bucket_Quota","data-name":"Enable Bucket Quota",clipPath:"url(#clip-Enable_Bucket_Quota)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsx)("g",{id:"Enable_Bucket_Quota_icon","data-name":"Enable Bucket Quota icon",children:(0,a.jsxs)("g",{id:"Grupo_2411","data-name":"Grupo 2411",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7154","data-name":"Trazado 7154",d:"M250.852,8.773A21.516,21.516,0,0,0,233.731,0H22.263A21.507,21.507,0,0,0,5.148,8.773,25.866,25.866,0,0,0,.394,28.758c5.223,30.385,16.208,94.421,25,145.533l.015.1c4.457,26,8.336,48.644,10.616,61.787C37.988,247.665,47.17,256,57.875,256H198.129c10.712,0,19.873-8.33,21.859-19.818l10.59-61.711.077-.375,14.334-83.62.049-.243L255.6,28.758a25.8,25.8,0,0,0-4.748-19.985M37.855,98a9.546,9.546,0,0,1-9.408-7.931l-.007-.041a9.544,9.544,0,0,1,9.406-11.159H73.505A76.487,76.487,0,0,0,61.131,98ZM52.393,181.92a9.542,9.542,0,0,1-9.408-7.93l-.007-.041a9.543,9.543,0,0,1,9.406-11.158h9.537a76.056,76.056,0,0,0,13.085,19.123ZM95.5,184.747A65.491,65.491,0,0,1,166.073,74.4l-6.682,6.683a56.3,56.3,0,0,0-68.414,88.287h.016a56.4,56.4,0,0,0,68.255,8.755l6.7,6.7a65.481,65.481,0,0,1-70.445-.081m81.526-2.408-3.147-3.147L124.27,129.579l49.47-49.515,3.27-3.27,3.27,3.27a69.643,69.643,0,0,1,14.386,20.891q.409.909.789,1.828a70,70,0,0,1,0,53.585l.016-.013q-.46,1.113-.964,2.208A69.625,69.625,0,0,1,180.3,179.069Zm36.084-8.449h0a9.543,9.543,0,0,1-9.413,7.989l-11.062,0a80.263,80.263,0,0,0,11.888-18.775c.039-.085.079-.177.118-.264a9.542,9.542,0,0,1,8.469,11.047M227.4,89.971a9.542,9.542,0,0,1-9.414,7.989l-12.633,0c-.216-.509-.431-1.019-.659-1.526a80.169,80.169,0,0,0-10.75-17.566h24.04a9.544,9.544,0,0,1,9.416,11.1",transform:"translate(0)"}),(0,a.jsx)("path",{id:"Trazado_7155","data-name":"Trazado 7155",d:"M137.27,129.555,176.915,169.2a60.81,60.81,0,0,0,0-79.259Z",transform:"translate(-0.011)"})]})})]})]}))},q=n(26805),$=n(74524),Y=n(35336),Q=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1012","data-name":"Rect\xe1ngulo 1012",width:"219.579",height:"256"})}),(0,a.jsx)("clipPath",{id:"clip-Edit_YAML",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Edit_YAML","data-name":"Edit YAML",clipPath:"url(#clip-Edit_YAML)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Edit_YAML_Icon","data-name":"Edit YAML Icon",children:[(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1013","data-name":"Rect\xe1ngulo 1013",width:"256",height:"256",fill:"none"}),(0,a.jsx)("g",{id:"Grupo_2399","data-name":"Grupo 2399",transform:"translate(25)",children:(0,a.jsxs)("g",{id:"Grupo_2398","data-name":"Grupo 2398",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7135","data-name":"Trazado 7135",d:"M393.716,60.148a7.412,7.412,0,0,0-5.1,2.082L369.7,81.158a1.738,1.738,0,0,0-.5.946l-1.953,9.528a1.754,1.754,0,0,0,.5,1.64,1.912,1.912,0,0,0,1.323.5.8.8,0,0,0,.378-.063l9.453-1.83a1.736,1.736,0,0,0,.946-.5l18.906-18.928a7.242,7.242,0,0,0,0-10.158,6.957,6.957,0,0,0-5.042-2.145",transform:"translate(-207.088 -33.921)"}),(0,a.jsx)("path",{id:"Trazado_7136","data-name":"Trazado 7136",d:"M176.1,0a43.4,43.4,0,0,0-34.3,16.755c-4.119.092-8.241.181-12.357.164-21.964-.1-43.951.3-65.928.385-2.625.014-5.267.014-7.914.014H16.136A16.146,16.146,0,0,0,0,33.445V239.878A16.142,16.142,0,0,0,16.136,256H186.882A16.131,16.131,0,0,0,203,239.877V137.027c0-16.076-.4-32.234-.013-48.284.089-3.731.185-7.51.262-11.308A43.478,43.478,0,0,0,176.1,0M51.689,162.377v19.369H37.8V162.56l-19.3-31.977H34.44l10.343,19.333,10.306-19.333H70.547Zm81.6,19.369H119.4V149.733L111.182,177h-14.8l-8.223-27.262v32.014H74.271V130.583H93.53L103.8,161.354l10.233-30.771h19.259Zm45.823,0H140.6V130.583h13.888v38.372h24.631ZM176.359,77.831a34.352,34.352,0,1,1,34.352-34.352,34.352,34.352,0,0,1-34.352,34.352"})]})})]})]})]}))},X=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{"data-name":"Reported Usage",clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 390",d:"M128.003 0a128.151 128.151 0 0 0-128 128c0 70.573 57.424 127.995 128 127.995a128.147 128.147 0 0 0 128-127.995 128.15 128.15 0 0 0-128-128Zm0 223.078a95.188 95.188 0 0 1-95.085-95.075 95.191 95.191 0 0 1 95.085-95.084v95.084h95.075a95.184 95.184 0 0 1-95.075 95.074Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 869",fill:"none",d:"M0 0h256v256H0z"})]})]}))},J=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"PrometheusIcon",children:[(0,a.jsx)("path",{d:"M128.908 0a128 128 0 1 0 128 128 128 128 0 0 0-128-128Zm0 239.565c-20.112 0-36.42-13.435-36.42-30h72.839c.004 16.561-16.302 30-36.419 30Zm60.154-39.941H68.751v-21.818h120.317v21.817Zm-.432-33.046H69.094c-.4-.458-.8-.91-1.188-1.375-12.315-14.954-15.216-22.76-18.032-30.717-.048-.262 14.933 3.06 25.556 5.45 0 0 5.466 1.265 13.458 2.722a49.95 49.95 0 0 1-12.23-32.117c0-25.658 19.68-48.08 12.58-66.2 6.91.562 14.3 14.583 14.8 36.506 7.346-10.152 10.42-28.691 10.42-40.057 0-11.769 7.755-25.44 15.512-25.908-6.915 11.4 1.79 21.165 9.53 45.4 2.9 9.1 2.532 24.423 4.772 34.139.744-20.178 4.213-49.621 17.014-59.785-5.647 12.8.836 28.819 5.27 36.519 7.154 12.424 11.49 21.836 11.49 39.639a49.518 49.518 0 0 1-11.84 31.959c8.452-1.586 14.289-3.016 14.289-3.016l27.451-5.355s-3.985 16.4-19.312 32.196Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 895",fill:"none",d:"M0 0h256v256H0z"})]})]})]}))},ee=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1028","data-name":"Rect\xe1ngulo 1028",width:"256",height:"256",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-Generic_Confirmation",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Generic_Confirmation","data-name":"Generic Confirmation",clipPath:"url(#clip-Generic_Confirmation)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsx)("g",{id:"Generic_Confirmation_Icon","data-name":"Generic Confirmation Icon",children:(0,a.jsx)("g",{id:"Grupo_2416","data-name":"Grupo 2416",clipPath:"url(#clip-path)",children:(0,a.jsx)("path",{id:"Trazado_7167","data-name":"Trazado 7167",d:"M128,0A128,128,0,1,0,256,128,128,128,0,0,0,128,0m.762,229.13A101.13,101.13,0,1,1,229.892,128a101.13,101.13,0,0,1-101.13,101.13M167.851,81.8,111,137.769,90.83,117.862A14.916,14.916,0,0,0,69.884,139.1l41.148,40.543,77.952-76.6a14.973,14.973,0,1,0-20.732-21.609q-.188.181-.37.367Z",fill:"#4ccb92"})})})]})]}))},te=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"NextArrowIcon",children:[(0,a.jsx)("path",{d:"M19.805 108.063c-26.4 0-26.4 40.032 0 40.032h167.684l-22.739 22.668c-18.656 18.622 9.725 46.922 28.382 28.316l56.873-56.731a19.991 19.991 0 0 0 0-28.548l-56.877-56.716c-18.656-18.6-47.038 9.684-28.382 28.3l22.743 22.679H19.805Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 863",fill:"none",d:"M.003 0h256v256h-256z"})]})]})]}))},ne=n(30272),re=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 36",d:"m203.074 254.064-74.746-44.835-74.746 44.835a13.592 13.592 0 0 1-20.586-11.636V46.276A46.324 46.324 0 0 1 79.277 0h98.078a46.328 46.328 0 0 1 46.281 46.276v196.152a13.576 13.576 0 0 1-20.562 11.636Zm-67.778-72.319 61.176 36.71V46.276a19.133 19.133 0 0 0-19.113-19.133H79.277a19.148 19.148 0 0 0-19.113 19.133v172.179l61.16-36.71a13.569 13.569 0 0 1 13.969 0Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 921",fill:"none",d:"M0 0h256v256H0z"})]})]}))},ae=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 42.239 33.998"},e),{},{children:(0,a.jsx)("g",{id:"google-cloud-logo-color",transform:"translate(-526 -141)",children:(0,a.jsxs)("g",{id:"Grupo_1820","data-name":"Grupo 1820",transform:"translate(526 141)",children:[(0,a.jsx)("path",{id:"Trazado_6946","data-name":"Trazado 6946",d:"M78,40.648h1.288l3.671-3.671.18-1.559A16.5,16.5,0,0,0,56.295,43.47a1.988,1.988,0,0,1,1.288-.076l7.343-1.212s.373-.619.568-.581a9.159,9.159,0,0,1,12.535-.953Z",transform:"translate(-51.201 -31.287)",fill:"#ea4335"}),(0,a.jsx)("path",{id:"Trazado_6947","data-name":"Trazado 6947",d:"M238.1,84.8a16.527,16.527,0,0,0-4.985-8.037l-5.152,5.152a9.161,9.161,0,0,1,3.362,7.267V90.1a4.587,4.587,0,0,1,0,9.173h-9.173l-.915.928v5.5l.915.915h9.173A11.932,11.932,0,0,0,238.1,84.8Z",transform:"translate(-201.103 -72.617)",fill:"#4285f4"}),(0,a.jsx)("path",{id:"Trazado_6948","data-name":"Trazado 6948",d:"M12.273,142.319a11.928,11.928,0,0,0-7.2,21.384l5.319-5.319a4.586,4.586,0,1,1,6.067-6.067L21.779,147a11.9,11.9,0,0,0-9.505-4.678Z",transform:"translate(-0.415 -132.197)",fill:"#fbbc05"})]})})}))},oe=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"account",children:[(0,a.jsx)("path",{"data-name":"Trazado 463",d:"M32.291 232.53a32.336 32.336 0 0 1-32.289-32.3V76.935a32.33 32.33 0 0 1 32.289-32.3 8.837 8.837 0 0 1 8.832 8.822 8.845 8.845 0 0 1-8.832 8.831 14.663 14.663 0 0 0-14.648 14.648v123.295a14.661 14.661 0 0 0 14.648 14.64h191.4a14.66 14.66 0 0 0 14.641-14.64V76.936a14.661 14.661 0 0 0-14.641-14.648h-54.07a8.845 8.845 0 0 1-8.832-8.831 8.762 8.762 0 0 1 2.586-6.236 8.735 8.735 0 0 1 6.246-2.586h54.07a32.345 32.345 0 0 1 32.313 32.3V200.23a32.351 32.351 0 0 1-32.312 32.3Zm140.445-33.006a3.078 3.078 0 0 1-3.082-3.07V179.02a3.08 3.08 0 0 1 3.082-3.08h47.18a3.077 3.077 0 0 1 3.07 3.08v17.434a3.075 3.075 0 0 1-3.07 3.07Zm-113.141 0a22.643 22.643 0 0 1-20.648-12.767 26.835 26.835 0 0 1 1.891-26.579l.02-.019c.094-.143.2-.285.3-.428.273-.409.559-.827.871-1.245a70.651 70.651 0 0 1 52.277-28.5 62.967 62.967 0 0 1 3.543-.095 67.043 67.043 0 0 1 15.211 1.777 71.594 71.594 0 0 1 14.734 5.219 71.248 71.248 0 0 1 26.73 22.149 27.371 27.371 0 0 1 2.672 27.53 22.363 22.363 0 0 1-20.629 12.956Zm-3.719-30.372v.01l-.047.058c-.191.256-.371.5-.531.741v.028l-.258.371a8.365 8.365 0 0 0-.715 8.261 5.526 5.526 0 0 0 5.27 3.1h76.969a6.062 6.062 0 0 0 3.156-.761 4.988 4.988 0 0 0 1.949-2.243 8.485 8.485 0 0 0 .715-4.524 9.18 9.18 0 0 0-1.7-4.468 54.088 54.088 0 0 0-42.969-22.007c-.93 0-1.75.019-2.508.066h-.012a53.055 53.055 0 0 0-39.318 21.368Zm116.859-5.01a3.08 3.08 0 0 1-3.082-3.079v-17.425a3.08 3.08 0 0 1 3.082-3.08h47.18a3.077 3.077 0 0 1 3.07 3.08v17.425a3.077 3.077 0 0 1-3.07 3.079Zm-.59-38.7a2.5 2.5 0 0 1-2.492-2.5V82.066a2.5 2.5 0 0 1 2.492-2.5h48.348a2.5 2.5 0 0 1 2.492 2.5v40.876a2.5 2.5 0 0 1-2.492 2.5ZM50.981 74.213c0-28.233 22.09-51.209 49.242-51.209s49.258 22.976 49.258 51.209a52.579 52.579 0 0 1-3.867 19.906 51.257 51.257 0 0 1-10.551 16.274 49.07 49.07 0 0 1-15.656 11 47.257 47.257 0 0 1-19.184 4.041c-27.151 0-49.241-22.976-49.241-51.22Zm17.977 0c0 18.033 14.031 32.711 31.266 32.711 17.262 0 31.3-14.678 31.3-32.711s-14.039-32.7-31.3-32.7c-17.234 0-31.265 14.668-31.265 32.701Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 883",fill:"none",d:"M0 0h256v256H0z"})]})]})]}))},ie=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1018","data-name":"Rect\xe1ngulo 1018",width:"221.51",height:"256.002",fill:"#4ccb92"})}),(0,a.jsx)("clipPath",{id:"clip-Add_Access_Rule",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Add_Access_Rule","data-name":"Add Access Rule",clipPath:"url(#clip-Add_Access_Rule)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Add_Access_Rule_Icon","data-name":"Add Access Rule Icon",children:[(0,a.jsx)("g",{id:"Grupo_2406","data-name":"Grupo 2406",transform:"translate(18)",children:(0,a.jsxs)("g",{id:"Grupo_2405","data-name":"Grupo 2405",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7142","data-name":"Trazado 7142",d:"M104.258,94.5a8.671,8.671,0,1,0,12.263,0,8.672,8.672,0,0,0-12.263,0",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7143","data-name":"Trazado 7143",d:"M220.846,46.255a15.346,15.346,0,0,0-15.422-14.381h-.01l-2.217.017c-18.3,0-53.371-3.671-82.6-28.236A15.2,15.2,0,0,0,110.742,0a15.03,15.03,0,0,0-9.748,3.6C71.681,28.225,36.7,31.9,18.452,31.9l-2.764-.028A15.124,15.124,0,0,0,.665,46.358C-1.156,93.424-.821,159.771,23,192.41c22.161,30.467,65.486,55.314,78.912,61.614a20.721,20.721,0,0,0,17.7-.015c14.415-6.8,56.684-31.109,78.885-61.582,23.832-32.654,24.168-99,22.347-146.172m-92.069,94.893,0,25.363H118.635v12.845h10.146v11H118.635V203.2h10.148v1.651l-18.394,18.394L92,204.849l.007-63.7a38.469,38.469,0,0,1-9.2-6.8A39.158,39.158,0,0,1,116.79,68.09a38.019,38.019,0,0,1,23.45,13.338,39.022,39.022,0,0,1-11.463,59.72",fill:"#4ccb92"})]})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1019","data-name":"Rect\xe1ngulo 1019",width:"256",height:"256",fill:"none"})]})]})]}))},se=n(99884),le=n(35031),ce=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"UptimeIcon",children:[(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 851",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"Grupo 1558",children:[(0,a.jsx)("path",{"data-name":"Sustracci\\xF3n 3",d:"M220.67 154.223h-10.627c.012-.6.016-1.149.016-1.669a82.374 82.374 0 0 0-1.073-13.283h-64.771v-78.9l25.611 11.287 45.143 34.182 4.232 33.5a53.041 53.041 0 0 1 5.371 4.445 22.28 22.28 0 0 1 3.4 3.962c.938 1.48 1.252 2.729.941 3.709-.577 1.836-3.35 2.767-8.243 2.767Z",fill:"#e3e3e3"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 9",d:"M24.003 152.341a102.96 102.96 0 0 1 24.863-67.172 104.134 104.134 0 0 1 61.651-35.019l.586-.1v22.866l-.4.084a81.178 81.178 0 0 0-64.137 79.337c0 44.762 36.557 81.18 81.492 81.18s81.492-36.418 81.492-81.18a80.636 80.636 0 0 0-18.828-51.854 81.865 81.865 0 0 0-20.838-17.8 80.846 80.846 0 0 0-26.053-10l-.408-.084V49.8l.582.089a103.267 103.267 0 0 1 34.789 11.962 104.595 104.595 0 0 1 27.953 22.727 103.042 103.042 0 0 1 25.363 67.76C232.114 209.5 185.437 256 128.062 256S24.003 209.5 24.003 152.341Zm104.625 9.91a10.07 10.07 0 0 1-1.023-.054c-4.723-.094-9.377-3.03-9.377-8.8V30.467l-10.9 10.113c-8.939 8.3-22.533-4.325-13.594-12.619l27.248-25.3a10.162 10.162 0 0 1 13.719 0l27.252 25.3c8.943 8.294-4.658 20.918-13.6 12.619L137.46 30.467v113.674h41.412a9.055 9.055 0 1 1 0 18.11Z"})]})]})]})]}))},ue=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 16 16"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"enabled-clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1067","data-name":"Rect\xe1ngulo 1067",width:"16",height:"16",fill:"none"})})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1066","data-name":"Rect\xe1ngulo 1066",width:"16",height:"16",fill:"none"}),(0,a.jsx)("g",{id:"Grupo_2453","data-name":"Grupo 2453",children:(0,a.jsx)("g",{id:"Grupo_2452","data-name":"Grupo 2452",clipPath:"url(#enabled-clip-path)",children:(0,a.jsx)("path",{id:"Trazado_7231","data-name":"Trazado 7231",d:"M8,0a8,8,0,1,0,8,8A8,8,0,0,0,8,0m4.575,5.769-.005.005L7.837,11.69a.89.89,0,0,1-.635.284H7.185a.889.889,0,0,1-.628-.26h0L3.421,8.577a.889.889,0,1,1,1.2-1.31q.028.025.053.053L7.16,9.8l4.117-5.246.024-.026h0a.889.889,0,0,1,1.275,1.24",fill:"#969fa8"})})})]}))},de=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1031","data-name":"Rect\xe1ngulo 1031",width:"217",height:"256.004",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-Object_Preview",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Object_Preview","data-name":"Object Preview",clipPath:"url(#clip-Object_Preview)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Object_Preview_Icon","data-name":"Object Preview Icon",children:[(0,a.jsx)("g",{id:"Grupo_2420","data-name":"Grupo 2420",transform:"translate(20)",children:(0,a.jsxs)("g",{id:"Grupo_2419","data-name":"Grupo 2419",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7171","data-name":"Trazado 7171",d:"M110.1,110.805A28.093,28.093,0,1,0,138.137,138.9,28.063,28.063,0,0,0,110.1,110.805m-.064,42.209a14.079,14.079,0,1,1,14.05-14.079,14.065,14.065,0,0,1-14.05,14.079",transform:"translate(-0.168)"}),(0,a.jsx)("path",{id:"Trazado_7172","data-name":"Trazado 7172",d:"M216.564,77.2c.166-6.9.359-13.945.413-21h-31.1A25.6,25.6,0,0,1,160.334,30.6l0-30.544q-3.775.06-7.553.148c-4.892.108-9.79.228-14.681.208C114.67.31,91.212.733,67.766.824c-2.8.016-5.619.016-8.444.016H17.216A17.241,17.241,0,0,0,0,18.08V238.769A17.238,17.238,0,0,0,17.216,256l182.163,0a17.226,17.226,0,0,0,17.2-17.235V128.815c0-17.186-.424-34.46-.013-51.618m-34.353,71.335a86.569,86.569,0,0,1-144.462,0,17.428,17.428,0,0,1,0-19.27,86.569,86.569,0,0,1,144.462,0,17.435,17.435,0,0,1,0,19.27",transform:"translate(0)"}),(0,a.jsx)("path",{id:"Trazado_7173","data-name":"Trazado 7173",d:"M203.277,0H171.758V22.411c-1.233,19.062,12.107,22.137,22.106,22.151h23.489V13.406c0-7.007-7.08-13.4-14.074-13.406",transform:"translate(-0.351)"})]})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1032","data-name":"Rect\xe1ngulo 1032",width:"256",height:"256",fill:"none"})]})]})]}))},fe=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{"data-name":"Tenants Outline",clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 452",d:"M135.881 213.702a42.222 42.222 0 0 1 7.779-24.429l-29.932-38.917a76.63 76.63 0 0 1-20.656 5.106l-.867 16.144a24.837 24.837 0 0 1 7.207 17.521 24.937 24.937 0 0 1-24.893 24.918 24.94 24.94 0 0 1-24.891-24.918 24.779 24.779 0 0 1 18.055-23.967l.6-11.047A78.47 78.47 0 0 1 7.002 77.955 78 78 0 0 1 84.861-.005a78 78 0 0 1 77.863 77.96 77.537 77.537 0 0 1-1.119 13.111l28.8 4.184a31.653 31.653 0 0 1 25.73-12.966 32.13 32.13 0 0 1 32.082 32.115 32.128 32.128 0 0 1-32.082 32.108 32.267 32.267 0 0 1-31.66-27.009l-31.1-4.519a78.56 78.56 0 0 1-18.219 22.474l28.188 36.653a42.235 42.235 0 0 1 14.787-2.7 42.307 42.307 0 0 1 42.238 42.293 42.313 42.313 0 0 1-42.238 42.293 42.322 42.322 0 0 1-42.25-42.29Zm28.877-23.668-3.377 1.911-2.689 2.762a27.045 27.045 0 0 0-7.75 19 27.231 27.231 0 0 0 27.182 27.218 27.232 27.232 0 0 0 27.184-27.218 27.232 27.232 0 0 0-27.184-27.218 27 27 0 0 0-13.366 3.548Zm-100.051-.906a9.84 9.84 0 0 0 9.813 9.842 9.847 9.847 0 0 0 9.824-9.842 9.889 9.889 0 0 0-4.2-8.058l-2.445-1.711-2.979-.054a9.827 9.827 0 0 0-10.016 9.826ZM22.078 77.956a62.885 62.885 0 0 0 55.014 62.386l4.365.535 4.355-.063a62.125 62.125 0 0 0 26.91-6.511l4-1.992 3.578-2.455a63.038 63.038 0 0 0 21.867-26.212l1.793-3.993 1.268-4.381a63.234 63.234 0 0 0 2.424-17.313 62.907 62.907 0 0 0-62.793-62.883A62.9 62.9 0 0 0 22.078 77.96Zm178.871 28.831-1.549 3.061-.219 3.54c-.051 10.4 7.58 18.045 16.949 18.045a17.044 17.044 0 0 0 17.018-17.032 17.046 17.046 0 0 0-17.018-17.04 16.888 16.888 0 0 0-15.181 9.429Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 865",fill:"none",d:"M0 0h256v256H0z"})]})]}))},pe=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 423",d:"M34.549 188.281h186.9a6.641 6.641 0 1 1 0 13.282h-186.9a6.641 6.641 0 0 1-6.641-6.641 6.641 6.641 0 0 1 6.641-6.641Z"}),(0,a.jsx)("path",{"data-name":"Trazado 425",d:"M38.567 162.693a10.385 10.385 0 1 1-10.385 10.385 10.385 10.385 0 0 1 10.385-10.385Z"}),(0,a.jsx)("path",{"data-name":"Trazado 424",d:"M66.709 162.83a10.384 10.384 0 1 1-8.588 11.911 10.384 10.384 0 0 1 8.588-11.912Z"}),(0,a.jsx)("path",{"data-name":"Trazado 405",d:"M255.699 154.149a37.6 37.6 0 0 0-2.994-12.568l-41.95-104.219C207.537 29.62 199.33 24 191.241 24H64.759c-8.089 0-16.3 5.62-19.514 13.362L3.295 141.581a37.61 37.61 0 0 0-2.994 12.568 22.107 22.107 0 0 0-.3 3.612v51.4a22.089 22.089 0 0 0 22.065 22.064h211.87a22.09 22.09 0 0 0 22.065-22.064v-51.4a22.134 22.134 0 0 0-.302-3.612ZM65.754 46.413h124.491l36.053 89.283H30.013Zm167.833 162.4H22.412v-50.708h211.175Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 855",fill:"none",d:"M0 0h256v256H0z"})]})]}))},he=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1026","data-name":"Rect\xe1ngulo 1026",width:"255.576",height:"182.735",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-Create_New_Path",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Create_New_Path","data-name":"Create New Path",clipPath:"url(#clip-Create_New_Path)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Create_New_Path_Icon","data-name":"Create New Path Icon",children:[(0,a.jsx)("g",{id:"Grupo_2415","data-name":"Grupo 2415",transform:"translate(0.424 26.642)",children:(0,a.jsxs)("g",{id:"Grupo_2414","data-name":"Grupo 2414",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7162","data-name":"Trazado 7162",d:"M21.8,141.76c-11.745,0-21.8,9.96-21.8,21.517a22.187,22.187,0,0,0,21.8,21.8c11.557,0,21.517-10.054,21.517-21.8A21.949,21.949,0,0,0,21.8,141.76",transform:"translate(0 -59.036)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7163","data-name":"Trazado 7163",d:"M21.8,235.632c-11.745,0-21.8,9.96-21.8,21.517a22.187,22.187,0,0,0,21.8,21.8c11.557,0,21.517-10.054,21.517-21.8A21.949,21.949,0,0,0,21.8,235.632",transform:"translate(0 -98.13)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7164","data-name":"Trazado 7164",d:"M200.314,0H187.871A11.54,11.54,0,0,0,177.5,6.479L99.6,166.135a11.54,11.54,0,0,0,10.371,16.6h12.443a11.54,11.54,0,0,0,10.371-6.479L210.684,16.6A11.539,11.539,0,0,0,200.314,0",transform:"translate(-40.986)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7165","data-name":"Trazado 7165",d:"M294.178,82.251c-1.23,0-2.445.061-3.652.149l32.106-65.8A11.539,11.539,0,0,0,312.262,0H299.819a11.539,11.539,0,0,0-10.371,6.479l-77.9,159.656a11.539,11.539,0,0,0,10.37,16.6h12.443a11.54,11.54,0,0,0,10.371-6.479l8.685-17.8a49,49,0,1,0,40.762-76.205m.292,87.721a38.717,38.717,0,1,1,38.717-38.717,38.717,38.717,0,0,1-38.717,38.717",transform:"translate(-87.607)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7166","data-name":"Trazado 7166",d:"M347.565,193.708H335.42v12.145H323.275V218H335.42v12.145h12.145V218h12.145V205.853H347.565Z",transform:"translate(-134.629 -80.67)",fill:"#4ccb92"})]})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1027","data-name":"Rect\xe1ngulo 1027",width:"256",height:"256",fill:"none"})]})]})]}))},me=n(97538),ve=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"Grupo 1551",children:[(0,a.jsx)("path",{"data-name":"Trazado 458",d:"M235.995 76.194c.386-15.753.957-32.241-.5-47.94-1.093-11.754-6.192-21.735-17.832-25.914a42.4 42.4 0 0 0-5.016-1.447c-6.549-1.479-13.432-1.6-20.089-1.8-11.728-.343-23.449.366-35.176.314-23.494-.1-46.986.322-70.479.414q-4.227.018-8.456.017H36.241A17.26 17.26 0 0 0 19 17.078v220.681a17.259 17.259 0 0 0 17.24 17.24h182.541a17.259 17.259 0 0 0 17.24-17.24V127.81c-.002-17.182-.448-34.457-.026-51.616Zm-20.921 145.982a14.889 14.889 0 0 1-14.891 14.89H51.817a14.89 14.89 0 0 1-14.889-14.89V32.665a14.889 14.889 0 0 1 14.889-14.889h99.548v25.458a37.8 37.8 0 0 0 37.756 37.757h25.953Zm0-157.651h-25.953a21.319 21.319 0 0 1-21.294-21.3v-25.46h32.358a14.888 14.888 0 0 1 14.889 14.89Z"}),(0,a.jsx)("path",{"data-name":"Trazado 459",d:"m131.059 177.378-22.8 22.8a17.95 17.95 0 0 1-25.356 0 17.815 17.815 0 0 1-5.251-12.68 17.814 17.814 0 0 1 5.254-12.678l22.8-22.8a17.972 17.972 0 0 1 25.331-.015 7.521 7.521 0 0 0 10.621.187 7.458 7.458 0 0 0 2.292-5.271 7.458 7.458 0 0 0-2.1-5.344 7.641 7.641 0 0 0-.178-.179 33.044 33.044 0 0 0-46.59 0l-22.793 22.814a32.7 32.7 0 0 0-9.659 23.266 32.7 32.7 0 0 0 9.623 23.281 33.136 33.136 0 0 0 23.292 9.659h.166a32.935 32.935 0 0 0 23.174-9.616l22.808-22.811a7.462 7.462 0 0 0 2.107-5.349 7.467 7.467 0 0 0-2.292-5.271 7.485 7.485 0 0 0-10.446.006Z"}),(0,a.jsx)("path",{"data-name":"Trazado 460",d:"m129.038 95.473-22.809 22.809a7.461 7.461 0 0 0-2.105 5.348 7.46 7.46 0 0 0 2.291 5.271 7.482 7.482 0 0 0 10.437 0l22.821-22.822a17.8 17.8 0 0 1 12.576-5.484 17.878 17.878 0 0 1 12.769 5.015 17.8 17.8 0 0 1 5.483 12.576 17.811 17.811 0 0 1-5.016 12.771 18.02 18.02 0 0 1-.479.479l-22.8 22.8a18.058 18.058 0 0 1-25.357-.009 7.522 7.522 0 0 0-10.623.186 7.489 7.489 0 0 0 .017 10.451 32.921 32.921 0 0 0 23.292 9.583 32.932 32.932 0 0 0 23.3-9.584l22.8-22.808a32.728 32.728 0 0 0 9.337-23.423 32.737 32.737 0 0 0-9.962-23.166 32.772 32.772 0 0 0-45.973 0Z"})]}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 913",fill:"none",d:"M0-1h256v256H0z"})]})]}))},ge=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 37.001 37"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"rep-quota-clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_959","data-name":"Rect\xe1ngulo 959",width:"37",height:"37",transform:"translate(0 0)",fill:"#07193e"})})}),(0,a.jsxs)("g",{id:"reported-usage-icn-full",transform:"translate(-0.213 -0.213)",children:[(0,a.jsx)("rect",{id:"Rect\xe1ngulo_869","data-name":"Rect\xe1ngulo 869",width:"37",height:"37",transform:"translate(0.213 0.213)",fill:"none"}),(0,a.jsx)("g",{id:"Grupo_2317","data-name":"Grupo 2317",transform:"translate(0.213 0.213)",children:(0,a.jsx)("g",{id:"Grupo_2316","data-name":"Grupo 2316",transform:"translate(0 0)",clipPath:"url(#rep-quota-clip-path)",children:(0,a.jsx)("path",{id:"Trazado_7046","data-name":"Trazado 7046",d:"M18.5,0A18.5,18.5,0,1,0,37,18.5,18.5,18.5,0,0,0,18.5,0m0,18.5V4.756A13.757,13.757,0,0,1,32.238,18.5H18.5Z",transform:"translate(0.074 0.074)",fill:"#07193e"})})})]})]}))},ye=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1041","data-name":"Rect\xe1ngulo 1041",width:"256",height:"242.667",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-Add_New_Tag",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Add_New_Tag","data-name":"Add New Tag",clipPath:"url(#clip-Add_New_Tag)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Add_New_Tag_Icon","data-name":"Add New Tag Icon",children:[(0,a.jsx)("g",{id:"Add_New_","data-name":"Add New ",transform:"translate(0 7.836)",children:(0,a.jsxs)("g",{id:"Grupo_2429","data-name":"Grupo 2429",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7190","data-name":"Trazado 7190",d:"M227.22,126.576A53.114,53.114,0,1,0,155.674,55.03L109.365,8.722A29.86,29.86,0,0,0,88.94,0L29.97.032A30.021,30.021,0,0,0,0,29.99l0,59.2a29.8,29.8,0,0,0,8.7,20.186L133.237,233.909a29.806,29.806,0,0,0,21.266,8.758v0a29.813,29.813,0,0,0,21.25-8.743l58.162-58.157a30.211,30.211,0,0,0-.018-42.511ZM60.958,76.033A15.072,15.072,0,1,1,76.031,60.96,15.091,15.091,0,0,1,60.958,76.033m100.274,3.334A41.967,41.967,0,1,1,203.2,121.334a41.967,41.967,0,0,1-41.967-41.967",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7191","data-name":"Trazado 7191",d:"M316.362,94.258H303.2v13.164H290.033v13.165H303.2v13.165h13.164V120.587h13.164V107.422H316.362Z",transform:"translate(-106.58 -34.638)",fill:"#4ccb92"})]})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1042","data-name":"Rect\xe1ngulo 1042",width:"256",height:"256",fill:"none"})]})]})]}))},xe=n(8117),be=n(73891),we=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{"data-name":"Object Browser",clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"Grupo 1559",children:[(0,a.jsxs)("g",{"data-name":"Grupo 1541",transform:"translate(88.095 103.898)",children:[(0,a.jsx)("circle",{"data-name":"Elipse 57",cx:11.515,cy:11.515,r:11.515,transform:"rotate(-10.901 280.738 -178.561)"}),(0,a.jsx)("rect",{"data-name":"Rect\\xE1ngulo 805",width:24.592,height:20.853,rx:1.35,transform:"translate(14.546 25.545)"}),(0,a.jsx)("path",{"data-name":"Trazado 365",d:"M28.151 60.295a2.427 2.427 0 0 0-4.2 0l-9.1 15.761a2.425 2.425 0 0 0 2.1 3.64h18.2a2.43 2.43 0 0 0 2.105-3.64Z"}),(0,a.jsx)("path",{"data-name":"Trazado 366",d:"M79.273 28.199a151.334 151.334 0 0 0-.187-17.51c-.395-4.294-2.262-7.942-6.512-9.468a15.5 15.5 0 0 0-1.836-.529 38.335 38.335 0 0 0-7.332-.658c-4.289-.125-8.57.136-12.855.116-8.582-.036-17.16.116-25.746.152H6.301a6.308 6.308 0 0 0-6.3 6.3v80.617a6.307 6.307 0 0 0 6.3 6.3h66.684a6.3 6.3 0 0 0 6.3-6.3V47.054c-.004-6.273-.168-12.584-.012-18.855Zm-7.648 53.334a5.435 5.435 0 0 1-5.434 5.439h-54.2a5.442 5.442 0 0 1-5.441-5.439V12.3a5.441 5.441 0 0 1 5.441-5.442h36.367v9.3a13.809 13.809 0 0 0 13.789 13.794h9.48Zm0-57.6h-9.48a7.781 7.781 0 0 1-7.773-7.777v-9.3h11.82a5.435 5.435 0 0 1 5.434 5.442Z"})]}),(0,a.jsx)("path",{"data-name":"Trazado 367",d:"M101.726 42.067c6.607 0 13.691 18.858 20.771 18.858h88.056a9.46 9.46 0 0 1 9.439 9.429v4.715H40.348V51.496h-.235a9.462 9.462 0 0 1 9.439-9.429h52.174m124.392 44.5a9.812 9.812 0 0 1 9.787 9.772l-10.03 107.756a9.811 9.811 0 0 1-9.787 9.771H39.671a9.808 9.808 0 0 1-9.787-9.771L20.093 96.339a9.813 9.813 0 0 1 9.791-9.772h196.233M101.725 21.999H49.551a29.549 29.549 0 0 0-29.533 29.5 20 20 0 0 0 .235 3.081v13.513A29.9 29.9 0 0 0-.002 96.344c0 .605.031 1.208.086 1.814l9.724 107.089a29.9 29.9 0 0 0 29.862 28.691h176.417a29.9 29.9 0 0 0 29.854-28.663l9.975-107.074c.051-.617.082-1.239.082-1.857a29.87 29.87 0 0 0-15.909-26.376 29.555 29.555 0 0 0-29.537-29.106h-81.5c-.4-.532-.786-1.059-1.123-1.517-5.1-6.906-12.8-17.342-26.2-17.342Z"})]}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 875",fill:"none",d:"M0 0h256v256H0z"})]})]}))},_e=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 24.858 50.321"},e),{},{children:(0,a.jsx)("path",{id:"minio-logo-color",d:"M50.1,20.478q-1.908-3.154-3.826-6.3c-.664-1.088-1.339-2.171-2.012-3.254l-.266-.393a4.682,4.682,0,0,0-6-1.913,4.208,4.208,0,0,0-1.936,5.674,10.029,10.029,0,0,0,1.714,2.129c1.924,2.044,3.91,4.031,5.818,6.089a6.008,6.008,0,0,1-2.092,9.664l-.128.052V22.652A31.007,31.007,0,0,0,32.4,29.6a30.255,30.255,0,0,0-7.034,13.992l6.481-3.3c2.155-1.1,4.295-2.172,6.532-3.308V55.447l2.984,3.027V35.425s.068-.032.292-.152a24.676,24.676,0,0,0,2.614-1.448,8.834,8.834,0,0,0,1.3-13.358c-2.216-2.318-4.443-4.626-6.656-6.946a1.424,1.424,0,0,1,0-2.128,1.47,1.47,0,0,1,2.138.12c.308.311,2.386,2.506,3.127,3.283q2.808,2.941,5.625,5.872a4.005,4.005,0,0,0,.311.266l.117-.069A1.864,1.864,0,0,0,50.1,20.478ZM38.375,33.551a.538.538,0,0,1-.273.364c-1.186.629-2.382,1.241-3.577,1.855C33.109,36.5,31.69,37.223,30.17,38a28.176,28.176,0,0,1,8.16-10.112l.053-.044C38.386,29.7,38.392,31.7,38.375,33.551Z",transform:"translate(-25.369 -8.153)",fill:"#c72c48"})}))},je=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"WarpIcon",d:"M223.777 256c-4.293 0-7.777-3.137-7.777-7V7c0-3.868 3.484-7 7.777-7h24.445c4.295 0 7.777 3.132 7.777 7v242c0 3.862-3.482 7-7.777 7Zm-54 0c-4.293 0-7.777-3.137-7.777-7V60c0-3.868 3.484-7 7.777-7h24.445c4.295 0 7.777 3.132 7.777 7v189c0 3.862-3.482 7-7.777 7Zm-54 0c-4.293 0-7.777-3.137-7.777-7V111c0-3.868 3.484-7 7.777-7h24.445c4.295 0 7.777 3.132 7.777 7v138c0 3.862-3.482 7-7.777 7Zm-54 0c-4.293 0-7.777-3.137-7.777-7v-87c0-3.868 3.484-7 7.777-7h24.445c4.295 0 7.777 3.132 7.777 7v87c0 3.862-3.482 7-7.777 7Zm-54 0C3.484 256 0 252.863 0 249v-35c0-3.862 3.484-7 7.777-7h24.445c4.295 0 7.777 3.137 7.777 7v35c0 3.862-3.482 7-7.777 7Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 922",fill:"none",d:"M0 0h256v256H0z"})]})]}))},Se=n(24957),Ee=n(78851),Ze=n(71208),Te=n(79877),Ae=n(33447),Ce=n(68625),Me=n(44078),ke=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 23.786 22.2"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-prom-error",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1578","data-name":"Rect\xe1ngulo 1578",width:"23.786",height:"22.2",fill:"none"})})}),(0,a.jsxs)("g",{id:"Grupo_2402","data-name":"Grupo 2402",clipPath:"url(#clip-path-prom-error)",children:[(0,a.jsx)("path",{id:"Trazado_7049","data-name":"Trazado 7049",d:"M23.786,7.136a3.967,3.967,0,0,0-4.824-3.871A11.1,11.1,0,1,0,22.2,11.1c0-.26-.01-.518-.027-.773a3.958,3.958,0,0,0,1.613-3.192M11.1,20.776v0a2.92,2.92,0,0,1-3.158-2.6h6.317a2.922,2.922,0,0,1-3.159,2.6m5.217-3.464H5.883V15.42H16.317Zm-.038-2.865H5.913c-.035-.04-.07-.079-.1-.119a7.561,7.561,0,0,1-1.564-2.664c0-.023,1.295.266,2.22.476,0,0,.476.109,1.167.238A4.332,4.332,0,0,1,6.573,9.592c0-2.225,1.707-4.17,1.091-5.741.6.048,1.24,1.269,1.284,3.166a6.8,6.8,0,0,0,.9-3.474c0-1.02.672-2.207,1.348-2.247-.6.988.159,1.835.826,3.937.251.793.22,2.118.414,2.961.064-1.75.366-4.3,1.476-5.185a3.83,3.83,0,0,0,.457,3.167,6,6,0,0,1,1,3.437,4.294,4.294,0,0,1-1.031,2.775c.733-.137,1.239-.262,1.239-.262l2.379-.465a6.749,6.749,0,0,1-1.676,2.785M19.822,10.7A3.568,3.568,0,1,1,23.39,7.136,3.568,3.568,0,0,1,19.822,10.7",transform:"translate(0 -0.001)",fill:"#c83b51"}),(0,a.jsx)("path",{id:"Trazado_7050","data-name":"Trazado 7050",d:"M491.022,131.222l.121-2.851h-1.17l.121,2.851Z",transform:"translate(-470.607 -123.297)",fill:"#c83b51"}),(0,a.jsx)("path",{id:"Trazado_7051","data-name":"Trazado 7051",d:"M488.865,209.66a.655.655,0,1,0,.65.65.667.667,0,0,0-.65-.65",transform:"translate(-468.913 -201.374)",fill:"#c83b51"})]})]}))},Oe=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1035","data-name":"Rect\xe1ngulo 1035",width:"210.934",height:"255.994",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-Lifecycle_configuration",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Lifecycle_configuration","data-name":"Lifecycle configuration",clipPath:"url(#clip-Lifecycle_configuration)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Lifecycle_configuration_Icon","data-name":"Lifecycle configuration Icon",children:[(0,a.jsx)("g",{id:"Grupo_2424","data-name":"Grupo 2424",transform:"translate(23.344 0.006)",children:(0,a.jsxs)("g",{id:"Grupo_2423","data-name":"Grupo 2423",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7180","data-name":"Trazado 7180",d:"M75.518,71.671a11.964,11.964,0,0,0,16.92,0L118.06,46.047a11.963,11.963,0,0,0,0-16.92L92.437,3.5a11.964,11.964,0,0,0-16.92,16.92L82.892,27.8A104.264,104.264,0,0,0,0,129.712a11.964,11.964,0,1,0,23.928,0A80.279,80.279,0,0,1,75.4,54.879a11.959,11.959,0,0,0,.116,16.791",transform:"translate(0 0)"}),(0,a.jsx)("path",{id:"Trazado_7181","data-name":"Trazado 7181",d:"M372.224,332.6a11.964,11.964,0,0,0-23.928,0,80.278,80.278,0,0,1-51.474,74.833,11.96,11.96,0,0,0-17.036-16.791l-25.623,25.623a11.914,11.914,0,0,0-3.011,5.053,12.017,12.017,0,0,0-.274,5.692,11.91,11.91,0,0,0,3.285,6.175l0,0,25.621,25.621a11.964,11.964,0,0,0,16.92-16.92l-7.374-7.375A104.262,104.262,0,0,0,372.224,332.6",transform:"translate(-161.29 -206.318)"}),(0,a.jsx)("path",{id:"Trazado_7182","data-name":"Trazado 7182",d:"M225.178,323.044l6.176-4.656a24.5,24.5,0,0,0,2.824,1.184l1.1,7.65a2.82,2.82,0,0,0,2.824,2.428H249a2.827,2.827,0,0,0,2.824-2.428l1.1-7.65a25.862,25.862,0,0,0,2.824-1.184l6.178,4.628a2.822,2.822,0,0,0,3.7-.252l7.705-7.705a2.824,2.824,0,0,0,.255-3.7l-4.6-6.154a25.662,25.662,0,0,0,1.184-2.822l7.65-1.1a2.826,2.826,0,0,0,2.428-2.822V287.536a2.826,2.826,0,0,0-2.4-2.792l-7.648-1.1A26.6,26.6,0,0,0,269,280.821l4.633-6.183a2.817,2.817,0,0,0-.258-3.7l-7.7-7.762a2.814,2.814,0,0,0-3.693-.254l-6.187,4.656a25.437,25.437,0,0,0-2.823-1.184l-1.1-7.648a2.822,2.822,0,0,0-2.822-2.428H238.126a2.819,2.819,0,0,0-2.82,2.428l-1.1,7.648a25.448,25.448,0,0,0-2.824,1.184l-6.2-4.656a2.83,2.83,0,0,0-3.705.254l-7.7,7.705a2.817,2.817,0,0,0-.258,3.7l4.661,6.183a24.842,24.842,0,0,0-1.193,2.822l-7.643,1.1a2.822,2.822,0,0,0-2.429,2.823V298.4a2.822,2.822,0,0,0,2.429,2.823l7.643,1.1a24.549,24.549,0,0,0,1.193,2.823l-4.661,6.238a2.821,2.821,0,0,0,.258,3.7l7.7,7.705a2.833,2.833,0,0,0,3.705.252m9.93-30.056a8.466,8.466,0,1,1,16.931-.007v.007a8.464,8.464,0,0,1-8.46,8.468h-.008a8.465,8.465,0,0,1-8.463-8.467Z",transform:"translate(-133.14 -164.935)"})]})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1036","data-name":"Rect\xe1ngulo 1036",width:"256",height:"256",fill:"none"})]})]})]}))},Pe=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1025","data-name":"Rect\xe1ngulo 1025",width:"256",height:"236.235",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-Drive_Format_Errors",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Drive_Format_Errors","data-name":"Drive Format Errors",clipPath:"url(#clip-Drive_Format_Errors)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Drive_Format_Errors-Icon","data-name":"Drive Format Errors-Icon",children:[(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1004","data-name":"Rect\xe1ngulo 1004",width:"256",height:"256",fill:"none"}),(0,a.jsx)("g",{id:"Grupo_2413","data-name":"Grupo 2413",transform:"translate(0.637 9.778)",children:(0,a.jsxs)("g",{id:"Grupo_2412","data-name":"Grupo 2412",transform:"translate(0 0.001)",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7156","data-name":"Trazado 7156",d:"M97.03,336.139a9.708,9.708,0,1,1,.007,0",transform:"translate(-47.133 -168.561)",fill:"#c83b51"}),(0,a.jsx)("path",{id:"Trazado_7157","data-name":"Trazado 7157",d:"M139.7,336.054a6.907,6.907,0,1,0-7.923-5.713,6.907,6.907,0,0,0,7.923,5.713",transform:"translate(-68.864 -168.564)",fill:"#c83b51"}),(0,a.jsx)("path",{id:"Trazado_7158","data-name":"Trazado 7158",d:"M256.009,77.663A47.444,47.444,0,0,0,198.24,31.346a118.111,118.111,0,1,0,38,86.785c0-.642-.014-1.281-.024-1.921a47.383,47.383,0,0,0,19.793-38.546M43.519,118.312,67.309,58.88A5.7,5.7,0,0,1,72.6,55.3h91.06a5.686,5.686,0,0,1,2.687.677,47.446,47.446,0,0,0,26.623,66.516,5.7,5.7,0,0,1-5.312,3.641H48.809a5.7,5.7,0,0,1-5.29-7.818M201.9,175.033a5.937,5.937,0,0,1-5.936,5.936H40.294a5.936,5.936,0,0,1-5.936-5.936V146.671a5.936,5.936,0,0,1,5.936-5.936H195.96a5.937,5.937,0,0,1,5.936,5.936Zm6.94-59.871A37.494,37.494,0,1,1,246.33,77.668a37.494,37.494,0,0,1-37.494,37.494",transform:"translate(-0.009 -0.013)",fill:"#c83b51"}),(0,a.jsx)("path",{id:"Trazado_7159","data-name":"Trazado 7159",d:"M282.274,335.577h-80.98a4.182,4.182,0,0,1-4.169-4.169v-5.956a4.182,4.182,0,0,1,4.169-4.169h80.98a4.182,4.182,0,0,1,4.169,4.169v5.956a4.182,4.182,0,0,1-4.169,4.169",transform:"translate(-103.088 -168.017)",fill:"#c83b51"}),(0,a.jsx)("path",{id:"Trazado_7160","data-name":"Trazado 7160",d:"M435.958,142.765l1.282-30.209h-12.4l1.282,30.209Z",transform:"translate(-222.172 -58.862)",fill:"#c83b51"}),(0,a.jsx)("path",{id:"Trazado_7161","data-name":"Trazado 7161",d:"M430.2,183.9a6.94,6.94,0,1,0,6.887,6.993v-.106A7.067,7.067,0,0,0,430.2,183.9",transform:"translate(-221.316 -96.17)",fill:"#c83b51"})]})})]})]})]}))},Re=n(39056),Ne=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 26 25"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-call-home-feature",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1614","data-name":"Rect\xe1ngulo 1614",width:"6.172",height:"6.309",stroke:"rgba(0,0,0,0)",strokeWidth:"1"})})}),(0,a.jsxs)("g",{id:"Grupo_2540","data-name":"Grupo 2540",transform:"translate(0.531 0.596)",children:[(0,a.jsx)("path",{id:"call-home-icon",d:"M16.865,8.241a1.7,1.7,0,0,1-1.6,1.092h-.633v5.3a1.694,1.694,0,0,1-1.694,1.694h-8.9a1.7,1.7,0,0,1-1.694-1.694v-5.3H1.71A1.694,1.694,0,0,1,.58,6.362L7.358.432a1.694,1.694,0,0,1,2.259,0L16.4,6.362h0a1.694,1.694,0,0,1,.47,1.879",transform:"translate(0 0)",fill:"#07193e",stroke:"rgba(0,0,0,0)",strokeWidth:"1"}),(0,a.jsx)("g",{id:"Grupo_2539","data-name":"Grupo 2539",transform:"translate(5.441 6.68)",children:(0,a.jsx)("g",{id:"Grupo_2539-2","data-name":"Grupo 2539",clipPath:"url(#clip-path-call-home-feature)",children:(0,a.jsx)("path",{id:"Trazado_7262","data-name":"Trazado 7262",d:"M4.6,38.068a.164.164,0,0,0-.231,0l-.377.377a.149.149,0,0,1-.21,0L2.254,36.918a.149.149,0,0,1,0-.21l.377-.377a.164.164,0,0,0,0-.231L1.4,34.871a.164.164,0,0,0-.231,0l-.763.763a1.4,1.4,0,0,0,0,1.982l2.669,2.672a1.4,1.4,0,0,0,1.982,0l.763-.763a.164.164,0,0,0,0-.231Z",transform:"translate(0 -34.389)",stroke:"rgba(0,0,0,0)",strokeWidth:"1"})})}),(0,a.jsxs)("g",{id:"Grupo_2537","data-name":"Grupo 2537",transform:"translate(12.323 0)",children:[(0,a.jsxs)("g",{id:"Elipse_623","data-name":"Elipse 623",transform:"translate(-0.323 -0.249)",fill:"#4ccb92",stroke:"#fff",strokeWidth:"1",children:[(0,a.jsx)("circle",{cx:"7",cy:"7",r:"7",stroke:"none"}),(0,a.jsx)("circle",{cx:"7",cy:"7",r:"6.5",fill:"none"})]}),(0,a.jsx)("g",{id:"check",transform:"translate(2.934 4.069)",children:(0,a.jsx)("path",{id:"Trazado_7261","data-name":"Trazado 7261",d:"M14.9,10.862a.622.622,0,1,1,.889.871l-3.311,4.139a.622.622,0,0,1-.9.017L9.384,13.694a.622.622,0,1,1,.879-.879L12,14.551l2.881-3.67.017-.018Z",transform:"translate(-9.182 -10.676)"})})]})]})]}))},ze=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"trace-icn",d:"m28.428 74.404 56.9 62.738v110.977A8.062 8.062 0 0 1 77.154 256H65.065a8.082 8.082 0 0 1-8.189-7.881v-98.742L.003 82.287V7.879A8.036 8.036 0 0 1 8.16 0h12.105a8.043 8.043 0 0 1 8.166 7.879Zm56.9-66.525A8.061 8.061 0 0 0 77.154 0H65.065a8.081 8.081 0 0 0-8.189 7.879v71.315l56.921 67.091v101.834a8.045 8.045 0 0 0 8.166 7.881h12.1a8.058 8.058 0 0 0 8.157-7.881V134.051L85.331 71.322ZM134.059 0h-12.1a8.044 8.044 0 0 0-8.166 7.879v39.1a8.044 8.044 0 0 0 8.166 7.88h12.1a8.058 8.058 0 0 0 8.157-7.88v-39.1a8.057 8.057 0 0 0-8.16-7.88Zm44.783 118.856h12.105a8.05 8.05 0 0 0 8.166-7.88V7.876a8.049 8.049 0 0 0-8.166-7.879h-12.105a8.056 8.056 0 0 0-8.174 7.879v103.1a8.058 8.058 0 0 0 8.172 7.88ZM247.818-.001h-12.1a8.043 8.043 0 0 0-8.165 7.879v39.1a8.044 8.044 0 0 0 8.165 7.88h12.1a8.059 8.059 0 0 0 8.182-7.88v-39.1a8.058 8.058 0 0 0-8.182-7.879Zm0 173.715h-12.1a8.044 8.044 0 0 0-8.165 7.881v66.523a8.044 8.044 0 0 0 8.165 7.881h12.1a8.059 8.059 0 0 0 8.182-7.881v-66.519a8.058 8.058 0 0 0-8.182-7.884Zm0-82.286h-12.1a8.044 8.044 0 0 0-8.165 7.881v17.727l-56.889 56.678v74.4a8.057 8.057 0 0 0 8.174 7.881h12.105a8.05 8.05 0 0 0 8.166-7.881v-56.115l56.889-67.09v-25.6a8.059 8.059 0 0 0-8.18-7.881ZM20.262 137.142H8.157A8.038 8.038 0 0 0 0 145.022v103.1a8.037 8.037 0 0 0 8.157 7.881h12.105a8.044 8.044 0 0 0 8.166-7.881v-103.1a8.045 8.045 0 0 0-8.166-7.88Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 880",fill:"none",d:"M0 0h256v256H0z"})]})]}))},Ie=n(14792),Le=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 21.883 17.614"},e),{},{children:(0,a.jsx)("g",{id:"Grupo_2504","data-name":"Grupo 2504",transform:"translate(-492.881 -516.58)",children:(0,a.jsx)("g",{id:"google-cloud-logo-color",transform:"translate(492.881 516.58)",children:(0,a.jsxs)("g",{id:"Grupo_1820","data-name":"Grupo 1820",children:[(0,a.jsx)("path",{id:"Trazado_6946","data-name":"Trazado 6946",d:"M67.542,36.137h.667l1.9-1.9.093-.808A8.55,8.55,0,0,0,56.3,37.6a1.03,1.03,0,0,1,.667-.039l3.8-.628s.193-.321.294-.3a4.745,4.745,0,0,1,6.494-.494Z",transform:"translate(-53.656 -31.287)"}),(0,a.jsx)("path",{id:"Trazado_6947","data-name":"Trazado 6947",d:"M229.968,80.926a8.562,8.562,0,0,0-2.582-4.164l-2.669,2.669a4.746,4.746,0,0,1,1.742,3.765v.474a2.376,2.376,0,0,1,0,4.752h-4.752l-.474.481v2.85l.474.474h4.752a6.182,6.182,0,0,0,3.51-11.3Z",transform:"translate(-210.804 -74.614)",fill:"#6b8295"}),(0,a.jsx)("path",{id:"Trazado_6948","data-name":"Trazado 6948",d:"M6.558,142.319A6.18,6.18,0,0,0,2.828,153.4l2.756-2.756A2.376,2.376,0,1,1,8.727,147.5l2.756-2.756a6.166,6.166,0,0,0-4.924-2.423Z",transform:"translate(-0.415 -137.075)",fill:"#9aafbf"})]})})})}))},De=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({},e),{},{className:"min-icon",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 10 10",children:(0,a.jsx)("path",{d:"M0,0v10l2.8-2.2H10V0H0z M6.6,6L5.6,6.4l-0.8-2l-1.5,2L2.5,5.9l1.9-2.6L4.1,2.4H3.2v-1h1.5l1.4,3.7l0.9-0.4 l0.4,0.9L6.6,6z"})}))},Be=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 465",d:"M235.997 77.196c.388-15.754.958-32.242-.5-47.941-1.094-11.755-6.193-21.736-17.831-25.915a42.42 42.42 0 0 0-5.017-1.447C206.1.414 199.217.293 192.56.093c-11.727-.343-23.45.366-35.177.314-23.493-.1-46.985.322-70.479.414q-4.228.018-8.455.017H36.242a17.26 17.26 0 0 0-17.241 17.241v220.686a17.259 17.259 0 0 0 17.241 17.24h182.541a17.26 17.26 0 0 0 17.24-17.24V128.813c.003-17.182-.448-34.458-.026-51.617Zm-20.922 145.986a14.889 14.889 0 0 1-14.89 14.89H51.818a14.888 14.888 0 0 1-14.888-14.89V33.665a14.888 14.888 0 0 1 14.889-14.889h99.547v25.459a37.8 37.8 0 0 0 37.757 37.758h25.951Zm0-157.655h-25.949a21.321 21.321 0 0 1-21.3-21.3V18.765h32.359a14.888 14.888 0 0 1 14.888 14.889Z"}),(0,a.jsx)("path",{"data-name":"Trazado 466",d:"M125.412 80.164a71.163 71.163 0 0 0-71.086 71.082 71.163 71.163 0 0 0 71.082 71.082 71.163 71.163 0 0 0 71.083-71.082 71.163 71.163 0 0 0-71.079-71.082Zm-23.487 19.951c-8.025 12.368-14.515 27.117-16.227 43.732h-16.07a56.413 56.413 0 0 1 32.3-43.732Zm-32.3 58.529h15.866a88.49 88.49 0 0 0 4.224 21.1 102.125 102.125 0 0 0 10.114 21.612 56.4 56.4 0 0 1-30.2-42.712Zm48.386 43.154c-6.658-8.526-16.02-23.7-17.687-43.154h17.687Zm0-57.951h-17.4c1.562-12.561 6.66-26.4 17.4-41.033Zm14.8-41.032c10.734 14.633 15.833 28.471 17.4 41.032h-17.4Zm0 98.982v-43.154h17.687c-1.672 19.455-11.029 34.63-17.688 43.155Zm18.183-.441a102 102 0 0 0 10.112-21.612 88.429 88.429 0 0 0 4.224-21.1h15.867a56.4 56.4 0 0 1-30.2 42.713Zm14.133-57.51c-1.711-16.616-8.2-31.364-16.226-43.732a56.413 56.413 0 0 1 32.3 43.731Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 910",fill:"none",d:"M0 0h256v256H0z"})]})]}))},He=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{"data-name":"Back Settings",clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"arrow-icn",d:"M236.198 108.063c26.394 0 26.394 40.032 0 40.032H68.514l22.739 22.668c18.656 18.623-9.726 46.923-28.382 28.318L5.998 142.348a19.991 19.991 0 0 1 0-28.548l56.877-56.716c18.656-18.6 47.038 9.684 28.382 28.3l-22.743 22.679h167.684Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 863",fill:"none",d:"M0 0h256v256H0z"})]})]}))},Ve=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 16",d:"M15.084 248.677c-8.375 0-15.186-7.333-15.186-16.344V70.89c0-9.016 6.811-16.354 15.186-16.354l118.74-1.037a62.9 62.9 0 0 1 4.355-11.793 62.879 62.879 0 0 1 6.645-10.7 61.818 61.818 0 0 1 8.719-9.186 61.885 61.885 0 0 1 10.6-7.323 62.176 62.176 0 0 1 29.791-7.6 62.232 62.232 0 0 1 62.164 62.164 61.645 61.645 0 0 1-3.574 20.762 61.809 61.809 0 0 1-9.9 17.787 62.654 62.654 0 0 1-14.977 13.581 61.989 61.989 0 0 1-18.74 8.129v103.014c0 9.011-6.8 16.344-15.17 16.344Zm4.492-172.963a14.386 14.386 0 0 0-3.795 9.851V217.65c0 7.682 5.8 13.93 12.939 13.93h151.4c7.121 0 12.916-6.248 12.916-13.93v-86.472a61.49 61.49 0 0 1-23.232-4.875 61.964 61.964 0 0 1-19.193-12.784 62.138 62.138 0 0 1-13.236-18.857 61.664 61.664 0 0 1-5.465-23.021H28.723a12.414 12.414 0 0 0-9.147 4.072Zm152.111-47.433a46.458 46.458 0 0 0-24.189 40.779 46.493 46.493 0 0 0 46.438 46.442 46.4 46.4 0 0 0 14.4-2.311 5.7 5.7 0 0 0 .391-.509l.184-.269v.566a46.525 46.525 0 0 0 12.549-6.574 46.832 46.832 0 0 0 10-10.039 46.2 46.2 0 0 0 6.57-12.7 46.119 46.119 0 0 0 2.357-14.6 46.5 46.5 0 0 0-46.453-46.447 46.451 46.451 0 0 0-22.247 5.662ZM45.818 209.303a1.006 1.006 0 0 1-1-1.009v-20.649a1.006 1.006 0 0 1 1-1.009h110.521a1.011 1.011 0 0 1 1.01 1.009v20.649a1.011 1.011 0 0 1-1.01 1.009Zm0-44.934a1.006 1.006 0 0 1-1-1.009v-20.649a1.006 1.006 0 0 1 1-1.009h110.521a1.011 1.011 0 0 1 1.01 1.009v20.649a1.011 1.011 0 0 1-1.01 1.009Zm0-44.934a1.006 1.006 0 0 1-1-1.009V97.777a1.006 1.006 0 0 1 1-1.009h88.053a1.009 1.009 0 0 1 1.008 1.009v20.649a1.009 1.009 0 0 1-1.008 1.009Zm144.836-27.656h-.023a6.229 6.229 0 0 1-4.484-1.886L172.17 75.921a6.4 6.4 0 0 1 .316-9.04 6.387 6.387 0 0 1 4.361-1.716 6.392 6.392 0 0 1 4.357 1.716l9.449 9.459 23.482-23.436a6.3 6.3 0 0 1 4.518-1.881 6.312 6.312 0 0 1 4.461 1.825l.053.057a6.323 6.323 0 0 1 1.895 4.484 6.3 6.3 0 0 1-1.838 4.5l-.057.057-27.982 27.951a6.211 6.211 0 0 1-4.48 1.886Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 877",fill:"none",d:"M0 0h256v256H0z"})]})]}))},Ue=n(35150),Fe=n(30510),Ge=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 28 28"},e),{},{children:(0,a.jsxs)("g",{id:"Tiers-NotAvailable-icon",transform:"translate(-340 -149)",children:[(0,a.jsx)("circle",{id:"Elipse_594","data-name":"Elipse 594",cx:"14",cy:"14",r:"14",transform:"translate(340 149)",fill:"#c83b51"}),(0,a.jsxs)("g",{id:"Grupo_2399","data-name":"Grupo 2399",children:[(0,a.jsxs)("g",{id:"TiersIcon",transform:"translate(345 154)",children:[(0,a.jsx)("rect",{id:"Rect\xe1ngulo_848","data-name":"Rect\xe1ngulo 848",width:"17.95",height:"17.95",transform:"translate(0 0.021)",fill:"none"}),(0,a.jsx)("g",{id:"tiers-icn",transform:"translate(-0.001 0)",children:(0,a.jsx)("g",{id:"tiers",children:(0,a.jsx)("path",{id:"Trazado_441","data-name":"Trazado 441",d:"M13,3a.8.8,0,0,0-.392.092L4.374,7.482a.666.666,0,0,0,0,1.2l2.54,1.354-2.54,1.354a.666.666,0,0,0,0,1.2l2.54,1.353-2.54,1.354a.666.666,0,0,0,0,1.2l8.236,4.39a.8.8,0,0,0,.749,0l8.236-4.39a.666.666,0,0,0,0-1.2l-2.54-1.354,2.54-1.353a.666.666,0,0,0,0-1.2l-2.54-1.354L21.6,8.678a.666.666,0,0,0,0-1.2L13.36,3.092A.8.8,0,0,0,13,3ZM8.414,10.832l4.2,2.237a.8.8,0,0,0,.749,0l4.2-2.237,2.167,1.154-6.739,3.591L6.246,11.986Zm0,3.9,4.2,2.237a.8.8,0,0,0,.749,0l4.2-2.237,2.166,1.154-6.739,3.591L6.246,15.89Z",transform:"translate(-4 -3)"})})})]}),(0,a.jsxs)("g",{id:"Grupo_2398","data-name":"Grupo 2398",transform:"translate(-3 5)",children:[(0,a.jsx)("circle",{id:"Elipse_593","data-name":"Elipse 593",cx:"5",cy:"5",r:"5",transform:"translate(358 156)"}),(0,a.jsx)("path",{id:"Elipse_593_-_Contorno","data-name":"Elipse 593 - Contorno",d:"M5,1A4,4,0,1,0,9,5,4,4,0,0,0,5,1M5,0A5,5,0,1,1,0,5,5,5,0,0,1,5,0Z",transform:"translate(358 156)",fill:"#c83b51"}),(0,a.jsx)("g",{id:"Page-1",transform:"translate(361.707 159.513)",children:(0,a.jsxs)("g",{id:"Fill-2",transform:"translate(0 0)",children:[(0,a.jsx)("path",{id:"Trazado_6970","data-name":"Trazado 6970",d:"M2.978.3l-.3-.3L1.489,1.189.3,0,0,.3,1.189,1.489,0,2.678l.3.3L1.489,1.789,2.678,2.978l.3-.3L1.789,1.489Z",transform:"translate(0 0)",fill:"#c83b51"}),(0,a.jsx)("path",{id:"Trazado_6970_-_Contorno","data-name":"Trazado 6970 - Contorno",d:"M.3-.354,1.489.835,2.678-.354,3.331.3,2.142,1.489,3.331,2.678l-.653.653L1.489,2.142.3,3.331l-.653-.653L.835,1.489-.354.3Z",transform:"translate(0 0)",fill:"#c83b51"})]})})]})]})]})}))},We=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 25 23"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-perf-feat-icon",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_985","data-name":"Rect\xe1ngulo 985",width:"17",height:"17",transform:"translate(-0.12 0.298)",fill:"#07193e"})})}),(0,a.jsxs)("g",{id:"Grupo_2543","data-name":"Grupo 2543",transform:"translate(0.12 0.101)",children:[(0,a.jsx)("g",{id:"speedtest-icon-full",transform:"translate(0 5.601)",children:(0,a.jsxs)("g",{id:"Grupo_2352","data-name":"Grupo 2352",transform:"translate(0 0)",clipPath:"url(#clip-path-perf-feat-icon)",children:[(0,a.jsx)("path",{id:"Trazado_7077","data-name":"Trazado 7077",d:"M120.559,129.741a.529.529,0,1,0,.529.529h0a.529.529,0,0,0-.529-.529",transform:"translate(-112.345 -121.572)",fill:"#07193e"}),(0,a.jsx)("path",{id:"Trazado_7078","data-name":"Trazado 7078",d:"M8.2,0a8.2,8.2,0,1,0,8.2,8.2A8.2,8.2,0,0,0,8.2,0M8.16,2.27h.027a.5.5,0,1,1-.008,1H8.16a.5.5,0,0,1,0-1m-5.6,5.5v0a.19.19,0,0,1-.189.164H2.345a.19.19,0,0,1-.164-.214V7.717h0a.189.189,0,0,1,.213-.163h0a.19.19,0,0,1,.162.214M3,6.075H3a.278.278,0,0,1-.244-.406V5.662h0A.278.278,0,1,1,3,6.075M4.54,4.423l-.021.018-.006.005a.34.34,0,0,1-.225.088v0a.341.341,0,0,1-.224-.6l.006-.005h0l0,0a.342.342,0,1,1,.466.5m1.683-.868-.006,0-.011,0a.449.449,0,0,1-.162.034v0a.453.453,0,0,1-.16-.876l.013,0h0a.453.453,0,1,1,.325.845M9.1,12.6h0a.241.241,0,0,1-.241.241h-1.3a.241.241,0,1,1,0-.482h1.3A.241.241,0,0,1,9.1,12.6Zm1.067-4.771-.89.76a.021.021,0,0,0,0,.02,1.1,1.1,0,1,1-.668-.779.021.021,0,0,0,.021,0l.886-.76h0a.5.5,0,0,1,.651.759M10.1,3.7v0a.552.552,0,0,1-.2-.036L9.885,3.65a.554.554,0,0,1,.387-1.039l.019.007A.557.557,0,0,1,10.1,3.7m1.765,1.13a.628.628,0,0,1-.413-.155l-.016-.014a.629.629,0,0,1,.825-.948l.017.015a.628.628,0,0,1-.413,1.1M12.5,6.142l-.012-.022A.722.722,0,0,1,13.743,5.4l.017.032.013.023h0a.722.722,0,0,1-.291.979h0a.722.722,0,0,1-.979-.291m1.385,2.42a.817.817,0,0,1-.921-.7V7.835a.817.817,0,0,1,.809-.927.819.819,0,0,1,.807.7l0,.032a.817.817,0,0,1-.7.918",transform:"translate(0 -0.138)",fill:"#07193e"})]})}),(0,a.jsxs)("g",{id:"Grupo_2538","data-name":"Grupo 2538",transform:"translate(11.203 0)",children:[(0,a.jsxs)("g",{id:"Elipse_623","data-name":"Elipse 623",transform:"translate(-0.324 -0.101)",fill:"#4ccb92",stroke:"#fff",strokeWidth:"1",children:[(0,a.jsx)("circle",{cx:"7",cy:"7",r:"7",stroke:"none"}),(0,a.jsx)("circle",{cx:"7",cy:"7",r:"6.5",fill:"none"})]}),(0,a.jsx)("g",{id:"check",transform:"translate(2.797 4.098)",children:(0,a.jsx)("path",{id:"Trazado_7261","data-name":"Trazado 7261",d:"M14.938,10.864a.627.627,0,1,1,.895.877L12.5,15.91a.627.627,0,0,1-.9.017l-2.21-2.211a.627.627,0,1,1,.886-.886l1.75,1.748,2.9-3.7.017-.018Z",transform:"translate(-9.182 -10.676)"})})]})]})]}))},Ke=n(71353),qe=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 18.201 22"},e),{},{children:[(0,a.jsx)("path",{id:"Trazado_6934","data-name":"Trazado 6934",d:"M1.477,53.686,0,54.417V67.239l1.477.726.009-.011V53.7l-.009-.01",transform:"translate(0 -49.842)",fill:"#6b8295"}),(0,a.jsx)("path",{id:"Trazado_6935","data-name":"Trazado 6935",d:"M28.526,66.1l-7.9,1.861V53.686l7.9,1.821V66.1",transform:"translate(-19.147 -49.842)"}),(0,a.jsx)("path",{id:"Trazado_6936","data-name":"Trazado 6936",d:"M81.178,120.939l3.352.427.021-.049.019-5.5-.04-.043-3.352.421v4.74",transform:"translate(-75.415 -107.566)",fill:"#6b8295"}),(0,a.jsx)("path",{id:"Trazado_6937","data-name":"Trazado 6937",d:"M128,66.125l7.687,1.844.012-.019V53.7l-.012-.013L128,55.527v10.6",transform:"translate(-118.959 -49.842)",fill:"#6b8295"}),(0,a.jsx)("path",{id:"Trazado_6938","data-name":"Trazado 6938",d:"M131.349,120.939l-3.353.427v-5.588l3.353.421v4.74",transform:"translate(-118.91 -107.566)"}),(0,a.jsx)("path",{id:"Trazado_6939","data-name":"Trazado 6939",d:"M87.883,78.252l-3.353.611-3.352-.611,3.348-.877,3.357.877",transform:"translate(-75.429 -71.876)",fill:"#5a6e7e"}),(0,a.jsx)("path",{id:"Trazado_6940","data-name":"Trazado 6940",d:"M87.883,211.825l-3.353-.615-3.352.615,3.348.934,3.357-.934",transform:"translate(-75.429 -196.201)",fill:"#9aafbf"}),(0,a.jsx)("path",{id:"Trazado_6941","data-name":"Trazado 6941",d:"M81.178,6.417l3.352-.829.027-.008V.022L84.53,0,81.178,1.676V6.417",transform:"translate(-75.415)",fill:"#6b8295"}),(0,a.jsx)("path",{id:"Trazado_6942","data-name":"Trazado 6942",d:"M131.349,6.417,128,5.587V0l3.353,1.676V6.417",transform:"translate(-118.91)"}),(0,a.jsx)("path",{id:"Trazado_6943","data-name":"Trazado 6943",d:"M84.525,226.222l-3.352-1.676v-4.741l3.352.829.049.056-.013,5.434-.036.1",transform:"translate(-75.411 -204.222)",fill:"#6b8295"}),(0,a.jsx)("path",{id:"Trazado_6944","data-name":"Trazado 6944",d:"M128,226.222l3.352-1.676v-4.741l-3.352.829v5.587",transform:"translate(-118.91 -204.222)"}),(0,a.jsx)("path",{id:"Trazado_6945","data-name":"Trazado 6945",d:"M235.367,53.686l1.477.731V67.239l-1.477.73V53.686",transform:"translate(-218.643 -49.842)"})]}))},$e=n(73738),Ye=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"users-icn",children:[(0,a.jsx)("path",{"data-name":"Trazado 331",d:"M128.212 142.371c39.3 0 71.279-31.6 71.279-70.444S167.512 1.483 128.212 1.483s-71.268 31.6-71.268 70.444 31.977 70.444 71.268 70.444Zm0-121.306c28.383 0 51.463 22.818 51.463 50.862s-23.08 50.862-51.463 50.862-51.445-22.816-51.445-50.862 23.066-50.862 51.445-50.862Z"}),(0,a.jsx)("path",{"data-name":"Trazado 331 - Contorno",d:"M128.212 143.853c-40.124 0-72.768-32.266-72.768-71.927S88.088-.001 128.212-.001s72.779 32.266 72.779 71.927-32.649 71.927-72.779 71.927Zm0-140.888c-38.47 0-69.768 30.936-69.768 68.961s31.3 68.961 69.768 68.961 69.779-30.936 69.779-68.961-31.303-68.961-69.779-68.961Zm0 121.305c-29.194 0-52.945-23.481-52.945-52.344s23.751-52.345 52.945-52.345 52.963 23.482 52.963 52.345-23.76 52.345-52.963 52.345Zm0-101.724c-27.54 0-49.945 22.152-49.945 49.38s22.405 49.379 49.945 49.379 49.963-22.151 49.963-49.379-22.414-49.379-49.963-49.379Z"}),(0,a.jsx)("path",{"data-name":"Trazado 332",d:"M215.129 199.095a108.6 108.6 0 0 0-41.184-32.37 111.377 111.377 0 0 0-51.553-10.081c-31.26 1.575-62.109 17.524-80.5 41.632-.613.8-1.213 1.624-1.8 2.439a35.274 35.274 0 0 0-2.746 36.518c5.68 10.824 16.691 17.287 29.441 17.287h122.867c12.885 0 23.883-6.551 29.4-17.513a36.09 36.09 0 0 0-3.925-37.912Zm-13.812 29.2c-1.529 3.029-4.8 6.648-11.662 6.648H66.783c-7.25 0-10.545-4.215-11.861-6.724a15.692 15.692 0 0 1 1.361-16.225c.473-.647.938-1.29 1.43-1.93 14.951-19.6 40.129-32.58 65.688-33.869 1.408-.068 2.816-.1 4.213-.1 27.5 0 55.287 13.376 71.729 34.828a16.785 16.785 0 0 1 1.974 17.372Z"}),(0,a.jsx)("path",{"data-name":"Trazado 332 - Contorno",d:"M127.643 155.028a110.952 110.952 0 0 1 23.833 2.624 115.878 115.878 0 0 1 23.1 7.726 110.137 110.137 0 0 1 41.751 32.821 37.565 37.565 0 0 1 4.07 39.465 33.137 33.137 0 0 1-5.348 7.707 32.51 32.51 0 0 1-7.156 5.772 33.964 33.964 0 0 1-8.59 3.612 37.261 37.261 0 0 1-9.646 1.247H66.783a37.248 37.248 0 0 1-9.57-1.23 34.36 34.36 0 0 1-8.568-3.563 33.1 33.1 0 0 1-7.191-5.693 33.672 33.672 0 0 1-5.443-7.6 36.758 36.758 0 0 1 2.851-38.053l.009-.012c.576-.794 1.2-1.642 1.825-2.466 18.644-24.445 49.918-40.623 81.618-42.22 1.769-.092 3.556-.137 5.329-.137Zm62.011 98.007c12.31 0 22.8-6.24 28.053-16.691a34.607 34.607 0 0 0-3.773-36.354 107.135 107.135 0 0 0-40.617-31.92 112.854 112.854 0 0 0-22.492-7.524 107.908 107.908 0 0 0-23.179-2.552c-1.722 0-3.463.044-5.174.13-30.837 1.554-61.251 17.281-79.375 41.044-.608.8-1.214 1.627-1.779 2.4a33.793 33.793 0 0 0-2.638 34.976c5.418 10.324 15.926 16.488 28.11 16.488Zm-62.037-78.43a93.962 93.962 0 0 1 40.673 9.521 90.119 90.119 0 0 1 32.251 25.895 18.687 18.687 0 0 1 3.738 9.3 17.136 17.136 0 0 1-1.619 9.631 13.216 13.216 0 0 1-4.318 5.019 15.031 15.031 0 0 1-8.688 2.453H66.783a15.1 15.1 0 0 1-9.041-2.706 13.981 13.981 0 0 1-4.152-4.818 17.173 17.173 0 0 1 1.466-17.761l.01-.015.19-.261c.4-.554.822-1.127 1.258-1.694 15.213-19.942 40.813-33.145 66.808-34.457a84.647 84.647 0 0 1 4.295-.108Zm62.037 58.85a12.08 12.08 0 0 0 6.975-1.922 10.268 10.268 0 0 0 3.345-3.9 14.2 14.2 0 0 0 1.324-7.982 15.738 15.738 0 0 0-3.147-7.833 87.116 87.116 0 0 0-31.182-25.025 90.916 90.916 0 0 0-39.353-9.218c-1.373 0-2.765.034-4.14.1a89.517 89.517 0 0 0-36.2 9.9 84.252 84.252 0 0 0-28.362 23.379v.005c-.414.538-.8 1.072-1.216 1.637l-.186.254a14.21 14.21 0 0 0-1.252 14.683 10.988 10.988 0 0 0 3.259 3.788 12.148 12.148 0 0 0 7.271 2.136Z"})]}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 885",fill:"none",d:"M0 0h256v256H0z"})]})]}))},Qe=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 44",d:"M68.023 254.27a84.932 84.932 0 0 1-16-4.981 85.034 85.034 0 0 1-14.469-7.867 85.9 85.9 0 0 1-12.605-10.417 86.052 86.052 0 0 1-10.4-12.633 85.293 85.293 0 0 1-7.857-14.5 84.868 84.868 0 0 1-4.965-16.024 86.347 86.347 0 0 1-1.732-17.194 85.284 85.284 0 0 1 4.422-27.2 84.814 84.814 0 0 1 12.285-23.571 85.562 85.562 0 0 1 18.707-18.5q2.35-1.7 4.787-3.216V19.084c0-5.291 2.291-9.882 6.814-13.658A23.864 23.864 0 0 1 62.7.001h101.867a23.167 23.167 0 0 1 15.266 5.427c4.512 3.771 6.807 8.362 6.813 13.648v55.263h47.275a23.173 23.173 0 0 1 15.264 5.427c4.512 3.775 6.8 8.367 6.813 13.648v108.21a17.675 17.675 0 0 1-6.812 14.023 23.153 23.153 0 0 1-15.248 5.421h-80.016a86.359 86.359 0 0 1-25.8 23.31 84.684 84.684 0 0 1-20.33 8.577 85.257 85.257 0 0 1-22.617 3.046 86.2 86.2 0 0 1-17.152-1.731ZM35.275 136.923a60 60 0 0 0-10.312 33.733A60.345 60.345 0 0 0 85.18 230.99a59.739 59.739 0 0 0 36.213-12.148 22.746 22.746 0 0 1-5.031-3.2 17.621 17.621 0 0 1-6.812-14.018v-54.893H62.71a23.732 23.732 0 0 1-15.7-5.431 17.831 17.831 0 0 1-6.568-10.988 60.318 60.318 0 0 0-5.167 6.61Zm100.654 60.824h94.119V97.293h-43.4v29.992a17.675 17.675 0 0 1-6.812 14.023 23.148 23.148 0 0 1-15.252 5.421H135.93Zm0-74.337H160.7V97.294h-24.771Zm-69.348 0h42.967V93.418c0-5.286 2.295-9.882 6.813-13.653a23.874 23.874 0 0 1 15.693-5.427H160.7V22.956H66.581Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 926",fill:"none",d:"M0 0h256v256H0z"})]})]}))},Xe=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1023","data-name":"Rect\xe1ngulo 1023",width:"256",height:"255.998",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-Enable_Bucket_Encryption",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Enable_Bucket_Encryption","data-name":"Enable Bucket Encryption",clipPath:"url(#clip-Enable_Bucket_Encryption)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsx)("g",{id:"Enable_Bucket_Encryption_Icon","data-name":"Enable Bucket Encryption Icon",children:(0,a.jsxs)("g",{id:"Grupo_2410","data-name":"Grupo 2410",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7149","data-name":"Trazado 7149",d:"M127.927,130.84a8.009,8.009,0,0,0-4.486,14.645v6.451a4.238,4.238,0,0,0,4.228,4.228h.511a4.237,4.237,0,0,0,4.227-4.228v-6.451a8.009,8.009,0,0,0-4.48-14.645",transform:"translate(-0.009)"}),(0,a.jsx)("path",{id:"Trazado_7150","data-name":"Trazado 7150",d:"M250.852,8.773A21.516,21.516,0,0,0,233.732,0H22.264A21.507,21.507,0,0,0,5.148,8.773,25.864,25.864,0,0,0,.395,28.759c5.223,30.384,16.208,94.421,25,145.533l.014.1c4.457,26,8.337,48.644,10.616,61.787C37.988,247.666,47.17,256,57.875,256H198.129c10.712,0,19.873-8.332,21.859-19.818l10.591-61.712.076-.375,14.334-83.619.049-.243L255.6,28.759a25.8,25.8,0,0,0-4.748-19.986M37.855,98a9.544,9.544,0,0,1-9.408-7.93l-.007-.042a9.544,9.544,0,0,1,9.406-11.158h62.969A29.6,29.6,0,0,0,94.2,97.433v.176h-1.06a32.022,32.022,0,0,0-4.912.382Zm14.538,83.918a9.544,9.544,0,0,1-9.408-7.93l-.007-.041a9.544,9.544,0,0,1,9.405-11.159H63.256a26.924,26.924,0,0,0,8.909,18.292q.468.428.952.833ZM181.632,161.14c0,9.2-8.235,16.705-18.456,16.935l-35.261,6.136-35.259-6.135C82.434,177.844,74.2,170.337,74.2,161.14V125.55c0-9.342,8.5-16.941,18.943-16.941H105.2V97.433c0-11.162,10.19-20.244,22.714-20.244s22.714,9.08,22.714,20.244v11.176h12.059c10.446,0,18.944,7.6,18.944,16.941Zm31.479,12.751h0a9.543,9.543,0,0,1-9.413,7.989l-20.95.006c.311-.262.618-.529.918-.8a26.921,26.921,0,0,0,8.91-18.292H203.7a9.544,9.544,0,0,1,9.415,11.1M227.4,89.972a9.544,9.544,0,0,1-9.414,7.989l-50.5.012a32.024,32.024,0,0,0-4.8-.364h-1.06v-.176a29.6,29.6,0,0,0-6.613-18.56h62.97a9.544,9.544,0,0,1,9.416,11.1",transform:"translate(0)"}),(0,a.jsx)("path",{id:"Trazado_7151","data-name":"Trazado 7151",d:"M127.923,85.575c-7.334,0-13.3,5.32-13.3,11.858l0,11.175h26.61l0-11.175c0-6.538-5.967-11.858-13.3-11.858",transform:"translate(-0.009)"})]})})]})]}))},Je=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"documentation-icn",d:"M19.922 256.001H8.633a8.842 8.842 0 0 1-8.631-8.962V77.449a8.845 8.845 0 0 1 8.631-8.962h7.291a8.841 8.841 0 0 1 8.645 8.962v152.944h119.164a8.848 8.848 0 0 1 8.65 8.962v7.685a8.845 8.845 0 0 1-8.65 8.962Zm41.08-46a14.994 14.994 0 0 1-15-15v-180a15 15 0 0 1 15-15h180a15 15 0 0 1 15 15v180a15 15 0 0 1-15 15Zm5-20h170v-170h-170Zm28.742-18.884a.906.906 0 0 1-.9-.906v-23.3a.906.906 0 0 1 .9-.906H210a.907.907 0 0 1 .906.906v23.3a.907.907 0 0 1-.906.906Zm0-52a.91.91 0 0 1-.9-.91v-23.3a.909.909 0 0 1 .9-.905H210a.909.909 0 0 1 .906.905v23.3a.91.91 0 0 1-.906.91Zm0-53a.91.91 0 0 1-.9-.91v-23.3a.907.907 0 0 1 .9-.91H210a.908.908 0 0 1 .906.91v23.3a.911.911 0 0 1-.906.91Z",stroke:"rgba(0,0,0,0)",strokeMiterlimit:10}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 876",fill:"none",d:"M0 0h256v256H0z"})]})]}))},et=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 26 25"},e),{},{children:(0,a.jsxs)("g",{id:"Grupo_2542","data-name":"Grupo 2542",transform:"translate(0 0.249)",children:[(0,a.jsx)("g",{id:"health-icon",transform:"translate(0 7.842)",children:(0,a.jsx)("path",{id:"Uni\xf3n_51","data-name":"Uni\xf3n 51",d:"M1.977,17A1.976,1.976,0,0,1,0,15.015V4.938H2.144v9.918h9.892V17Zm12.591-.443V14.584h1.974v1.973Zm.288-4.538V2.144H4.965V0H15.023A1.98,1.98,0,0,1,17,1.973V12.019Zm-4.8,0V10.045h1.979v1.973Zm-5.094,0V10.045H6.944v1.973Zm5.094-5.106V4.938h1.979V6.912Zm-5.09,0V4.938H6.942V6.912ZM.458,2.448V.475H2.432V2.448Z",transform:"translate(0 -0.091)",fill:"#07193e"})}),(0,a.jsxs)("g",{id:"Grupo_2537","data-name":"Grupo 2537",transform:"translate(12.323 0)",children:[(0,a.jsxs)("g",{id:"Elipse_623","data-name":"Elipse 623",transform:"translate(-0.323 -0.249)",fill:"#4ccb92",stroke:"#fff",strokeWidth:"1",children:[(0,a.jsx)("circle",{cx:"7",cy:"7",r:"7",stroke:"none"}),(0,a.jsx)("circle",{cx:"7",cy:"7",r:"6.5",fill:"none"})]}),(0,a.jsx)("g",{id:"check",transform:"translate(2.934 4.069)",children:(0,a.jsx)("path",{id:"Trazado_7261","data-name":"Trazado 7261",d:"M14.9,10.862a.622.622,0,1,1,.889.871l-3.311,4.139a.622.622,0,0,1-.9.017L9.384,13.694a.622.622,0,1,1,.879-.879L12,14.551l2.881-3.67.017-.018Z",transform:"translate(-9.182 -10.676)"})})]})]})}))},tt=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 14 14"},e),{},{children:[(0,a.jsx)("path",{id:"Trazado_7179","data-name":"Trazado 7179",d:"M141.421,148.182a4.5,4.5,0,0,0-4.3,5.805l-5.188,5.195v3h3l5.187-5.2a4.5,4.5,0,0,0,5.8-3.936,4.39,4.39,0,0,0-.823-3A4.492,4.492,0,0,0,141.421,148.182Zm.5,5a1,1,0,1,1,1-1A1,1,0,0,1,141.92,153.182Z",transform:"translate(-131.934 -148.182)",fill:"#5e5e5e"}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1090","data-name":"Rect\xe1ngulo 1090",width:"13.764",height:"13.764",transform:"translate(0.118 0.118)",fill:"none"})]}))},nt=n(61846),rt=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-Subscribe_to_event",children:(0,a.jsx)("rect",{width:"256",height:"256"})})}),(0,a.jsxs)("g",{id:"Subscribe_to_event","data-name":"Subscribe to event",clipPath:"url(#clip-Subscribe_to_event)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsx)("g",{id:"subscribe_to_event_icon","data-name":"subscribe to event icon",transform:"translate(-675.16 -286.16)",children:(0,a.jsx)("g",{id:"Grupo_2272","data-name":"Grupo 2272",transform:"translate(676.2 287.84)",children:(0,a.jsxs)("g",{id:"Grupo_2271","data-name":"Grupo 2271",children:[(0,a.jsx)("path",{id:"Trazado_7031","data-name":"Trazado 7031",d:"M218.265,151a12.276,12.276,0,0,0-12.37,12.1v3.147H184.5c-17.317,0-31.3,13.678-31.3,30.383v178.3c0,16.7,14.1,30.383,31.3,30.383h191.73c17.318,0,31.3-13.678,31.3-30.383v-178.3c0-16.7-14.1-30.383-31.3-30.383h-24.74V163.1a12.372,12.372,0,0,0-24.739,0v3.147H230.634V163.1A12.275,12.275,0,0,0,218.265,151Zm157.96,229.99H184.5a6.408,6.408,0,0,1-6.556-6.173v-127.7H382.9v127.7A6.6,6.6,0,0,1,376.225,380.99ZM326.746,190.461v3.39a12.372,12.372,0,0,0,24.739,0v-3.39h24.74a6.408,6.408,0,0,1,6.556,6.174v26.388H177.939V196.635a6.408,6.408,0,0,1,6.556-6.174h21.4v3.39a12.373,12.373,0,0,0,24.74,0v-3.39Z",transform:"translate(-153.2 -151)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7032","data-name":"Trazado 7032",d:"M320.582,251.052l-58.245,57.325-20.692-20.386a15.283,15.283,0,0,0-21.459,21.766L262.337,351.3l79.857-78.478a15.336,15.336,0,1,0-21.612-21.765Z",transform:"translate(-151.567 -145.725)",fill:"#4ccb92"})]})})})]})]}))},at=n(51420),ot=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"ComputerLineIcon",children:[(0,a.jsx)("path",{"data-name":"ComputerLineIcon",d:"M19.678 227.007A19.678 19.678 0 0 1 0 207.328v-25.736h256.887v25.736a19.683 19.683 0 0 1-19.682 19.682Zm-4.844-19.682a4.541 4.541 0 0 0 4.541 4.541h218.289a4.541 4.541 0 0 0 4.541-4.541v-14.152h-75.387a12.4 12.4 0 0 1-11.354 7.567H101.5a12.416 12.416 0 0 1-11.355-7.567H14.836Zm204.662-40.871v-121.1H37.846v121.1H22.709V41.568a11.353 11.353 0 0 1 11.35-11.354h189.225a11.354 11.354 0 0 1 11.355 11.354v124.886Zm-166.516-.91V60.49h136.09l-11.957 12.108H65.093v92.945Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 892",fill:"none",d:"M0 0h256v256H0z"})]})]})]}))},it=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{"data-name":"All Buckets",clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 45",d:"M78.373 256c-7.594 0-14.115-5.922-15.51-14.087-1.619-9.346-4.373-25.445-7.537-43.926l-.01-.074C49.08 161.58 41.277 116.057 37.57 94.461a18.4 18.4 0 0 1 3.377-14.209 15.24 15.24 0 0 1 12.148-6.235h150.137a15.259 15.259 0 0 1 12.154 6.235 18.358 18.358 0 0 1 3.369 14.209l-7.5 43.7-.035.171-10.184 59.448-.049.265-7.523 43.872c-1.408 8.165-7.914 14.087-15.516 14.087Zm-3.418-16.57a3.582 3.582 0 0 0 3.418 3.1h99.58a3.582 3.582 0 0 0 3.424-3.105l6.178-36.084H68.768c2.591 15.142 4.818 28.093 6.187 36.086Zm-8.5-49.559h123.42l7.928-46.218H58.539c2.609 15.186 5.363 31.301 7.916 46.216ZM50.416 88.858a4.087 4.087 0 0 0-.738 3.12c1.572 9.228 3.922 22.825 6.549 38.2h143.895l6.531-38.2a4.055 4.055 0 0 0-.74-3.115 3.354 3.354 0 0 0-2.68-1.381H53.086a3.359 3.359 0 0 0-2.67 1.374Zm170.543 29.158v-1.083l.014-.088 1.615-9.414h6.221a1.281 1.281 0 0 0 1.188-1.151c.074-.412.148-.847.227-1.3l.029-.162c.043-.25.088-.5.131-.764.02-.127.045-.255.064-.382s.049-.279.074-.421c.063-.377.131-.759.2-1.156l.031-.171c.043-.25.088-.509.131-.769l.045-.245c.029-.191.063-.382.1-.578l.67-3.884c.855-4.981 1.486-8.66 2.055-12h-10.43l-.244-.656a25.505 25.505 0 0 0-3.664-6.74c-.4-.529-.822-1.043-1.252-1.523l-1.49-1.666h18.9l.158-.936c.172-1.009.35-2.038.525-3.061.367-2.15.734-4.3 1.076-6.289.1-.568.2-1.137.293-1.709.117-.676.23-1.362.348-2.042l.5-2.915c.59-3.443 1.2-6.989 1.8-10.5h-86.41l3.648 21.243h-10.016l-4.379-25.588-4.787-27.855a12.711 12.711 0 0 1 2.342-9.826 10.739 10.739 0 0 1 8.545-4.379h95.705a10.723 10.723 0 0 1 8.541 4.379 12.715 12.715 0 0 1 2.342 9.826c-.414 2.419-.9 5.241-1.463 8.5l-.943 5.535c-.143.8-.279 1.622-.426 2.454l-.189 1.117q-.381 2.249-.793 4.619l-.982 5.73c-1.7 9.958-3.67 21.39-5.25 30.579l-.68 3.962-.578 3.375v.039l-.713 4.183c-.1.563-.2 1.131-.3 1.758-.1.593-.211 1.229-.334 1.944l-.4 2.312-1 5.843c-.787 4.585-1.531 8.915-2.072 12.049-.975 5.682-5.547 9.806-10.875 9.806ZM148.313 11.072a1.612 1.612 0 0 0-.289 1.225l4.025 23.516h90.041a16029.61 16029.61 0 0 1 3.365-19.617l.088-.485.582-3.414a1.611 1.611 0 0 0-.289-1.225 1.174 1.174 0 0 0-.9-.475h-95.715a1.154 1.154 0 0 0-.909.473ZM34.038 118.016h-6.852c-5.326 0-9.9-4.125-10.877-9.811-.539-3.13-1.281-7.459-2.07-12.049l-.287-1.7-.711-4.144-.4-2.307c-.127-.72-.234-1.361-.336-1.954l-.3-1.749-.717-4.183v-.039l-1.252-7.293c-1.58-9.2-3.545-20.65-5.252-30.623L4 36.434q-.407-2.381-.8-4.639l-.186-1.1c-.143-.833-.283-1.651-.426-2.449l-.953-5.588C1.078 19.41.598 16.609.182 14.204a12.722 12.722 0 0 1 2.342-9.826 10.729 10.729 0 0 1 8.543-4.379h95.705a10.744 10.744 0 0 1 8.545 4.379 12.719 12.719 0 0 1 2.342 9.826l-4.809 27.968-4.359 25.475H98.479l.2-1.171 3.449-20.072H15.716c.607 3.512 1.213 7.058 1.8 10.5l.5 2.915c.117.681.23 1.366.346 2.047l.293 1.7c.344 1.993.711 4.153 1.082 6.313.17 1.019.348 2.038.52 3.037l.16.936h18.9l-1.49 1.666c-.432.48-.854.994-1.252 1.523a25.567 25.567 0 0 0-3.666 6.74l-.244.656H22.237c.566 3.34 1.2 7.019 2.053 12l.672 3.884c.035.2.068.387.1.583l.045.24c.043.26.088.52.131.769l.006.01.023.162c.07.4.137.779.2 1.151l.074.426c.025.142.045.255.064.382.043.254.088.509.131.754l.029.171c.078.451.152.886.227 1.3a1.284 1.284 0 0 0 1.188 1.151h6.223l1.629 9.5v1.083ZM10.155 11.077a1.609 1.609 0 0 0-.285 1.22l.672 3.9c1.027 5.966 2.318 13.509 3.365 19.617h90.041l4.025-23.516a1.612 1.612 0 0 0-.289-1.225 1.159 1.159 0 0 0-.908-.475H11.061a1.185 1.185 0 0 0-.907.477Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 927",fill:"none",d:"M0 0h256v256H0z"})]})]}))},st=n(80479),lt=n(6793),ct=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("g",{"data-name":"groups-icn",children:(0,a.jsx)("path",{"data-name":"Trazado 464",d:"M80.48 229.312a27.075 27.075 0 0 1-24.56-14.615 29.94 29.94 0 0 1 2.269-30.668v-.007c.519-.729.982-1.367 1.418-1.952l.008-.006a84.019 84.019 0 0 1 28.115-23.5 87.373 87.373 0 0 1 35.739-9.917 83.994 83.994 0 0 1 4.172-.107 85.882 85.882 0 0 1 18.631 2.076 89.934 89.934 0 0 1 18.062 6.117 86.479 86.479 0 0 1 32.679 25.974 30.568 30.568 0 0 1 3.2 31.789 26.323 26.323 0 0 1-9.982 10.9 28.124 28.124 0 0 1-14.539 3.924Zm43.97-61.409a67.92 67.92 0 0 0-27.724 7.673 64.647 64.647 0 0 0-21.71 18.1c-.32.426-.626.852-.945 1.3l-.116.162a10.394 10.394 0 0 0-.91 10.676 7.736 7.736 0 0 0 2.277 2.691 8.546 8.546 0 0 0 5.158 1.516h95.217c3.461 0 5.9-1.382 7.255-4.114v-.007a10.376 10.376 0 0 0 .951-5.807 11.664 11.664 0 0 0-2.273-5.746 66.98 66.98 0 0 0-23.879-19.38 68.976 68.976 0 0 0-30.14-7.144 70.658 70.658 0 0 0-3.161.076Zm87.819 40.475.254-2.2a40.828 40.828 0 0 0-.3-11.552l-.392-2.3h21.988c2.574 0 4.378-1.014 5.361-3.014v-.014a7.766 7.766 0 0 0 .718-4.344 8.714 8.714 0 0 0-1.715-4.319 52.307 52.307 0 0 0-18.683-15.17 53.964 53.964 0 0 0-23.583-5.594c-.883 0-1.722.021-2.488.062h-.01c-1.158.055-2.323.21-3.557.372-.15.021-.306.041-.457.058l-.817.106-.649-.505a98.534 98.534 0 0 0-13.759-8.872l-3.959-2.151 4.269-1.443a67.359 67.359 0 0 1 18.122-3.6c1.1-.055 2.213-.083 3.315-.083a67.958 67.958 0 0 1 14.8 1.649 71.23 71.23 0 0 1 14.336 4.849 68.418 68.418 0 0 1 25.905 20.624 24.5 24.5 0 0 1 2.584 25.507 21.121 21.121 0 0 1-8.038 8.776 22.614 22.614 0 0 1-11.7 3.154Zm-189.943 0a22.751 22.751 0 0 1-11.626-3.113 21.723 21.723 0 0 1-8.137-8.636v-.006a24.022 24.022 0 0 1 1.831-24.617 42.21 42.21 0 0 1 1.138-1.567 66.738 66.738 0 0 1 22.314-18.666 69.372 69.372 0 0 1 28.369-7.873 68.088 68.088 0 0 1 3.265-.079 68.894 68.894 0 0 1 21.835 3.618l4.27 1.423-3.944 2.168a99.584 99.584 0 0 0-13.552 8.982l-.657.519-.827-.113a50.98 50.98 0 0 0-7.089-.55c-.908 0-1.719.021-2.488.062h-.007a53.11 53.11 0 0 0-21.686 6 50.7 50.7 0 0 0-16.979 14.13c-.214.309-.44.615-.657.91l-.2.275a7.817 7.817 0 0 0-.675 7.986l.008.01a5.536 5.536 0 0 0 1.663 1.966 6.355 6.355 0 0 0 3.832 1.12h21.83l-.389 2.295a40.514 40.514 0 0 0-.269 11.55l.262 2.2ZM70.893 84.196a57.261 57.261 0 0 1 57.2-57.2 57.257 57.257 0 0 1 57.188 57.2 57.26 57.26 0 0 1-57.188 57.2 57.264 57.264 0 0 1-57.2-57.197Zm19.29 0a37.952 37.952 0 0 0 37.909 37.909 37.952 37.952 0 0 0 37.911-37.909 37.952 37.952 0 0 0-37.911-37.908 37.952 37.952 0 0 0-37.909 37.911Zm95.572 53.568a45.7 45.7 0 0 1-9.626-3.508l-2.433-1.213 1.908-1.935a66.163 66.163 0 0 0 7.772-9.446l.876-1.3 1.464.563a29.378 29.378 0 0 0 10.546 2.041 29.531 29.531 0 0 0 29.507-29.49 29.532 29.532 0 0 0-29.507-29.493 12.65 12.65 0 0 0-1.656.154c-.381.052-.773.107-1.189.145l-1.553.141-.5-1.478a66.318 66.318 0 0 0-4.962-11.288l-1.325-2.381 2.676-.512a45.609 45.609 0 0 1 8.5-.828 45.6 45.6 0 0 1 45.548 45.54 45.594 45.594 0 0 1-45.548 45.537 44.9 44.9 0 0 1-10.496-1.249Zm-171.42-44.29a45.586 45.586 0 0 1 45.526-45.54 45.391 45.391 0 0 1 8.56.835l2.69.512-1.339 2.385a66.792 66.792 0 0 0-4.993 11.292l-.5 1.48-1.557-.154c-.395-.038-.77-.089-1.134-.141a12.977 12.977 0 0 0-1.726-.162 29.517 29.517 0 0 0-29.479 29.493 29.517 29.517 0 0 0 29.479 29.49 29.18 29.18 0 0 0 10.57-2.048l1.453-.561.884 1.285a68.636 68.636 0 0 0 7.794 9.46l1.913 1.941-2.439 1.206a46.366 46.366 0 0 1-9.652 3.512 44.893 44.893 0 0 1-10.522 1.25 45.583 45.583 0 0 1-45.527-45.535Z"})}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 886",fill:"none",d:"M0 0h256v256H0z"})]})]}))},ut=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"DownloadStatIcon",children:[(0,a.jsx)("path",{"data-name":"Uni\\xF3n 24",d:"M0 127.996a128 128 0 0 1 128.008-128 128 128 0 0 1 128 128 128 128 0 0 1-128 128.009A128 128 0 0 1 0 127.996Zm20.484 0A107.643 107.643 0 0 0 128 235.52a107.633 107.633 0 0 0 107.512-107.523A107.631 107.631 0 0 0 128 20.487 107.641 107.641 0 0 0 20.48 127.996Zm98.063 71.518-32.336-32.338a13.192 13.192 0 0 1-3.172-14.743 14.934 14.934 0 0 1 13.3-9.235 13.542 13.542 0 0 1 9.637 4.224l8.563 8.554v-89.16c0-9.069 7.016-13.818 13.953-13.818 6.961 0 13.977 4.749 13.977 13.818v89.16l8.555-8.544a13.481 13.481 0 0 1 9.625-4.233 14.887 14.887 0 0 1 13.3 9.235 13.182 13.182 0 0 1-3.164 14.743l-32.348 32.348a14 14 0 0 1-9.906 4.155 14.085 14.085 0 0 1-9.988-4.166Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 893",fill:"none",d:"M0 0h256v256H0z"})]})]})]}))},dt=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({},e),{},{className:"min-icon",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",viewBox:"-1 -37.9 256 256",children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"a",children:(0,a.jsx)("path",{d:"M53.548,94.912v44.816c.43-.22.737-.378,1.517-.759a20.07,20.07,0,0,1,27.673,15.21c.1.677.115.688.163,1.1.063.567.084.968.108,1.463.01.21.068,1.914.072,2,.2,2.214.363,4.336.452,6.449.269,6.381.536,11,.957,15.5.6,6.412.964,12.128,1.066,17.7a19.838,19.838,0,0,1-.976,6.231c.683,6.455,1.592,14.938,1.752,16.438.014.128.023.253.036.38,3.927-.511,5.969-.716,8.382-.813,8.553-.344,16.809-.382,29.335-.235,1.42.017,2.559.021,5.094.054,10.044.13,14.46.163,19.906.127.93-.007,1.643,0,3.234,0,7.429.005,10.477-.237,12.174-.958-.178-1.123-.351-2.228-.614-3.558-.313-1.589-.586-2.862-1.264-5.979-2.292-10.53-3.161-15.585-3.414-22.508a68.539,68.539,0,0,1,2.764-23.067A29.713,29.713,0,0,1,164.278,159c.461-.922.889-1.737,1.372-2.547a22.021,22.021,0,0,1,1.987-2.836,19.87,19.87,0,0,1,3.776-3.5A19.984,19.984,0,0,1,192.33,125.6a20.223,20.223,0,0,1,9.195,3V94.912Z",fill:"none"})}),(0,a.jsx)("clipPath",{id:"b",children:(0,a.jsx)("path",{d:"M204.03,236.91c-.393.722-.717,1.447-1.156,2.168-.795,1.3-1.66,2.592-2.547,3.811h3.7Z",fill:"none"})})]}),(0,a.jsxs)("g",{transform:"translate(-0.036 -24.789)",children:[(0,a.jsx)("path",{d:"M239.185,72.637A29.456,29.456,0,0,0,209.767,43.6H128.581l-1.119-1.512c-5.078-6.886-12.756-17.3-26.1-17.3H49.394A29.455,29.455,0,0,0,19.972,54.21a19.778,19.778,0,0,0,.236,3.081V70.763A29.818,29.818,0,0,0,.036,98.947c0,.6.023,1.205.076,1.806L9.8,207.577A29.8,29.8,0,0,0,39.545,236.2h175.73A29.8,29.8,0,0,0,245.021,207.6L254.947,100.8q.088-.928.09-1.852A29.792,29.792,0,0,0,239.185,72.637ZM49.394,44.808h51.963c6.586,0,13.645,18.813,20.7,18.813h87.709a9.429,9.429,0,0,1,9.4,9.4v4.7H40.213V54.206h-.229A9.431,9.431,0,0,1,49.394,44.808ZM225.031,206.43a9.781,9.781,0,0,1-9.754,9.748H39.547a9.779,9.779,0,0,1-9.75-9.748L20.051,98.947A9.782,9.782,0,0,1,29.8,89.192H225.268a9.788,9.788,0,0,1,9.758,9.755Z"}),(0,a.jsx)("g",{transform:"translate(-351.512 467)",children:(0,a.jsx)("g",{transform:"translate(352 -469)",clipPath:"url(#a)",children:(0,a.jsx)("path",{d:"M118.046,203.4c0,12.123,18.976,12.123,18.976,0V126.379l10.748,10.443c8.823,8.569,22.236-4.465,13.415-13.034L134.3,97.665a9.685,9.685,0,0,0-13.526,0L93.89,123.788c-8.82,8.568,4.592,21.6,13.415,13.034l10.745-10.443V203.4Z"})})}),(0,a.jsx)("g",{clipPath:"url(#b)",children:(0,a.jsx)("path",{d:"M56.052,158.235c0-12.121,18.978-12.121,18.978,0v66.218H185.056V158.235c0-12.121,18.973-12.121,18.973,0v75.436a9.357,9.357,0,0,1-9.486,9.217h-129a9.357,9.357,0,0,1-9.486-9.217V158.235Zm64.5,45.162c0,12.123,18.976,12.123,18.976,0V126.379l10.748,10.443c8.823,8.569,22.236-4.465,13.415-13.034L136.8,97.665a9.685,9.685,0,0,0-13.526,0L96.394,123.788c-8.82,8.568,4.593,21.6,13.415,13.034l10.745-10.443V203.4Z"})})]})]}))},ft=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"TiersIcon",children:[(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 848",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 441",d:"M128.249 0a11.373 11.373 0 0 0-5.583 1.308L5.334 63.851a9.483 9.483 0 0 0 0 17.039l36.187 19.289-36.187 19.288a9.485 9.485 0 0 0 0 17.058l36.187 19.27-36.187 19.288a9.485 9.485 0 0 0 0 17.058l117.331 62.54a11.442 11.442 0 0 0 10.666 0l117.331-62.54a9.485 9.485 0 0 0 0-17.058l-36.187-19.289 36.187-19.27a9.485 9.485 0 0 0 0-17.058l-36.187-19.289 36.187-19.289a9.483 9.483 0 0 0 0-17.039L133.332 1.311A11.349 11.349 0 0 0 128.249 0ZM62.875 111.563l59.791 31.866a11.442 11.442 0 0 0 10.666 0l59.791-31.866 30.876 16.443-96 51.154-96-51.154Zm-.021 55.617 59.812 31.866a11.442 11.442 0 0 0 10.667 0l59.812-31.866 30.854 16.442-96 51.155-96-51.155Z"})]})]})]}))},pt=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({},e),{},{className:"min-icon",fill:"currentcolor",id:"Account_Icon","data-name":"Account Icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16.409 13.096",children:[(0,a.jsx)("path",{id:"Trazado_391","data-name":"Trazado 391",d:"M-4332.855-1143.481a3.023,3.023,0,0,0,2.958-3.078,3.023,3.023,0,0,0-2.958-3.078,3.023,3.023,0,0,0-2.958,3.078A3.023,3.023,0,0,0-4332.855-1143.481Zm0-5.194a2.078,2.078,0,0,1,2.03,2.116,2.077,2.077,0,0,1-2.03,2.116,2.075,2.075,0,0,1-2.028-2.116A2.076,2.076,0,0,1-4332.855-1148.675Z",transform:"translate(4339.12 1149.637)",fill:"#07193e"}),(0,a.jsx)("path",{id:"Trazado_392","data-name":"Trazado 392",d:"M-4337.952-1130.053a1.374,1.374,0,0,0,1.252.775h4.993a1.354,1.354,0,0,0,1.25-.786,1.675,1.675,0,0,0-.164-1.686,4.521,4.521,0,0,0-1.7-1.405,4.361,4.361,0,0,0-2.125-.438,4.483,4.483,0,0,0-3.318,1.808c-.026.035-.051.071-.075.106A1.641,1.641,0,0,0-4337.952-1130.053Zm6.663-.437a.426.426,0,0,1-.417.25h-4.993a.453.453,0,0,1-.427-.254.64.64,0,0,1,.053-.632h0c.017-.027.037-.054.057-.08a3.539,3.539,0,0,1,2.622-1.424c.056,0,.113,0,.168,0a3.606,3.606,0,0,1,2.864,1.466A.686.686,0,0,1-4331.29-1130.49Z",transform:"translate(4340.467 1140.236)",fill:"#07193e"}),(0,a.jsx)("path",{id:"Trazado_393","data-name":"Trazado 393",d:"M-4329.387-1146.951h-3.506a.476.476,0,0,0-.477.476.477.477,0,0,0,.477.476h3.506a1.047,1.047,0,0,1,1.046,1.045v7.99a1.047,1.047,0,0,1-1.046,1.045H-4341.8a1.047,1.047,0,0,1-1.046-1.045v-7.99A1.048,1.048,0,0,1-4341.8-1146a.476.476,0,0,0,.476-.476.476.476,0,0,0-.476-.476,2,2,0,0,0-2,2v7.99a2,2,0,0,0,2,2h12.412a2,2,0,0,0,2-2v-7.99A2,2,0,0,0-4329.387-1146.951Z",transform:"translate(4343.797 1148.063)",fill:"#07193e"}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_809","data-name":"Rect\xe1ngulo 809",width:"3.266",height:"2.781",rx:"1.024",transform:"translate(11.002 3.376)",fill:"#07193e"}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_810","data-name":"Rect\xe1ngulo 810",width:"3.266",height:"1.336",rx:"0.668",transform:"translate(11.002 7.328)",fill:"#07193e"}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_811","data-name":"Rect\xe1ngulo 811",width:"3.266",height:"1.336",rx:"0.668",transform:"translate(11.002 9.621)",fill:"#07193e"})]}))},ht=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1039","data-name":"Rect\xe1ngulo 1039",width:"256",height:"215.188",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-Create_Group",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Create_Group","data-name":"Create Group",clipPath:"url(#clip-Create_Group)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Create_Group_Icon","data-name":"Create Group Icon",children:[(0,a.jsx)("g",{id:"Grupo_2428","data-name":"Grupo 2428",transform:"translate(0 20)",children:(0,a.jsxs)("g",{id:"Grupo_2427","data-name":"Grupo 2427",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7184","data-name":"Trazado 7184",d:"M498.413,74.672a63.2,63.2,0,0,1-3.786,21.575c.9.049,1.8.078,2.709.078,26.871,0,48.733-21.605,48.733-48.162S524.2,0,497.337,0a48.855,48.855,0,0,0-36.642,16.469,64.109,64.109,0,0,1,37.719,58.2",transform:"translate(-305.609 0)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7185","data-name":"Trazado 7185",d:"M95.34,96.326c.921,0,1.836-.031,2.744-.081A63.2,63.2,0,0,1,94.3,74.674a64.109,64.109,0,0,1,37.693-58.2A48.867,48.867,0,0,0,95.34,0C68.473,0,46.614,21.605,46.614,48.163S68.473,96.326,95.34,96.326",transform:"translate(-30.922 0)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7186","data-name":"Trazado 7186",d:"M80.135,346.621a97.66,97.66,0,0,1,21.039-9.138,64.833,64.833,0,0,1-30.526-28.792c-2.2-.2-4.4-.306-6.612-.308-1.071,0-2.152.027-3.221.075-.121,0-.243.005-.365.011a70.315,70.315,0,0,0-7.835.841c-18.427,3-35.857,13.09-46.8,27.434-.419.55-.838,1.119-1.223,1.65l-.005.008a24.616,24.616,0,0,0-1.906,25.48,22.559,22.559,0,0,0,3.644,5.089,22.224,22.224,0,0,0,4.817,3.812,23.01,23.01,0,0,0,5.736,2.385,24.94,24.94,0,0,0,6.409.823H49.714a37.659,37.659,0,0,1,2.685-4.371l.027-.038.046-.063c.569-.785,1.067-1.457,1.525-2.058a90.337,90.337,0,0,1,26.138-22.841",transform:"translate(0 -204.572)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7187","data-name":"Trazado 7187",d:"M215.477,113.623c0,30.276,24.92,54.907,55.549,54.907s55.557-24.63,55.557-54.907-24.929-54.907-55.557-54.907-55.549,24.63-55.549,54.907",transform:"translate(-142.94 -38.95)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7188","data-name":"Trazado 7188",d:"M358.424,337.287l0,0a73.77,73.77,0,0,0-27.955-21.978A77.668,77.668,0,0,0,315,310.141a74.21,74.21,0,0,0-15.959-1.757c-1.071,0-2.152.028-3.22.075-.122.005-.244.006-.365.011-.73.036-1.46.088-2.189.147a64.831,64.831,0,0,1-14.437,18.4,47.462,47.462,0,0,0-24.218,17.921c-.357-.083-.713-.172-1.071-.252a84.586,84.586,0,0,0-18.192-2c-1.221,0-2.454.031-3.671.085-.138.005-.277.006-.416.012a80.086,80.086,0,0,0-8.933.959c-21.008,3.419-40.879,14.924-53.349,31.275-.478.628-.955,1.276-1.394,1.882l-.006.008a28.062,28.062,0,0,0-2.177,29.05,25.77,25.77,0,0,0,4.155,5.8,25.368,25.368,0,0,0,5.491,4.346,26.29,26.29,0,0,0,6.541,2.718,28.435,28.435,0,0,0,7.306.938h93.79a28.421,28.421,0,0,0,5.814-.589,47.926,47.926,0,0,0,4.917.253A47.353,47.353,0,0,0,340.6,375.992a24.947,24.947,0,0,0,6.424-.835,22.741,22.741,0,0,0,5.751-2.418,21.778,21.778,0,0,0,4.793-3.867,22.122,22.122,0,0,0,3.581-5.16,25.152,25.152,0,0,0-2.726-26.426m-64.729,72.2a37.411,37.411,0,1,1,37.411-37.411A37.411,37.411,0,0,1,293.7,409.484",transform:"translate(-107.694 -204.572)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7189","data-name":"Trazado 7189",d:"M523.713,445.287H511.978v11.735H500.243v11.735h11.735v11.735h11.735V468.757h11.735V457.022H523.713Z",transform:"translate(-331.844 -295.388)",fill:"#4ccb92"})]})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1040","data-name":"Rect\xe1ngulo 1040",width:"256",height:"256",fill:"none"})]})]})]}))},mt=n(78162),vt=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"CollapseIcon",children:[(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 841",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 842",d:"M0 46h256v28H0z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 843",d:"M0 116h256v28H0z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 844",d:"M0 186h256v28H0z"})]})]})]}))},gt=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1030","data-name":"Rect\xe1ngulo 1030",width:"256.722",height:"256.722",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-Generic_Delete",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Generic_Delete","data-name":"Generic Delete",clipPath:"url(#clip-Generic_Delete)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsx)("g",{id:"Generic_Delete_Icon","data-name":"Generic Delete Icon",children:(0,a.jsxs)("g",{id:"Grupo_2418","data-name":"Grupo 2418",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7169","data-name":"Trazado 7169",d:"M128.362,0a128.361,128.361,0,1,0,128.36,128.361A128.361,128.361,0,0,0,128.362,0m.764,229.776A101.415,101.415,0,1,1,230.541,128.361,101.415,101.415,0,0,1,129.126,229.776",fill:"#c83b51"}),(0,a.jsx)("path",{id:"Trazado_7170","data-name":"Trazado 7170",d:"M239.678,162.575l-18.744-19.187a4.572,4.572,0,0,0-6.36,0l-22.136,22.661-22.133-22.661a4.44,4.44,0,0,0-6.356,0L145.2,162.575a4.45,4.45,0,0,0,0,6.211L167.491,191.6,145.2,214.411a4.45,4.45,0,0,0,0,6.211l18.746,19.189a4.571,4.571,0,0,0,6.358,0l22.133-22.661,22.136,22.661a4.442,4.442,0,0,0,6.358,0l18.744-19.189a4.445,4.445,0,0,0,0-6.211L217.392,191.6l22.286-22.814a4.445,4.445,0,0,0,0-6.211",transform:"translate(-64.082 -63.239)",fill:"#c83b51"})]})})]})]}))},yt=n(67038),xt=n(10542),bt=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({},e),{},{className:"min-icon",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 13 12.996",children:(0,a.jsxs)("g",{transform:"translate(-63.686 -70.783)",children:[(0,a.jsx)("path",{className:"a",d:"M74.736,79.879v1.95h-9.1v-1.95h-1.95v3.9h13v-3.9Z"}),(0,a.jsx)("path",{className:"a",d:"M69.211,80.533h1.95V73.861h1.525l-2.5-3.078-2.5,3.078h1.525Z"})]})}))},wt=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 858",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 20",d:"M102.405 230.399v-76.79h-76.8a25.607 25.607 0 0 1 0-51.214h76.8V25.601a25.6 25.6 0 1 1 51.2 0v76.792h76.8a25.607 25.607 0 0 1 0 51.214h-76.8v76.792a25.6 25.6 0 1 1-51.2 0Z"})]})]}))},_t=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1005","data-name":"Rect\xe1ngulo 1005",width:"228.951",height:"256",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-Expand_Tenant:_Add_Pools",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Expand_Tenant:_Add_Pools","data-name":"Expand Tenant: Add Pools",clipPath:"url(#clip-Expand_Tenant:_Add_Pools)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Expand_Tenants_Add_Pools","data-name":"Expand Tenants Add Pools",children:[(0,a.jsx)("g",{id:"Grupo_2392","data-name":"Grupo 2392",transform:"translate(14)",children:(0,a.jsxs)("g",{id:"Grupo_2391","data-name":"Grupo 2391",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7129","data-name":"Trazado 7129",d:"M210.46,96.042a56.244,56.244,0,1,0-90.223-64.6A71.157,71.157,0,0,0,0,83.178v0A71.315,71.315,0,0,0,62.4,154l-1.316,24.278c-.121-.006-.238-.018-.354-.018a17.611,17.611,0,0,0,0,35.223h0a17.613,17.613,0,0,0,10.082-32.025l1.464-26.922a70.737,70.737,0,0,0,30.53-7.391l37.678,49.042a35.174,35.174,0,1,0,60.272,24.6h0a35.181,35.181,0,0,0-35.132-35.228h0a34.864,34.864,0,0,0-17.3,4.589L111.4,142.085a71.574,71.574,0,0,0,24.769-29.736l43.156,6.286c-.028.495-.075.985-.075,1.484A24.849,24.849,0,1,0,210.46,96.042m-39.406,4.639A44.437,44.437,0,1,1,215.49,56.244a44.437,44.437,0,0,1-44.437,44.437",transform:"translate(0)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7130","data-name":"Trazado 7130",d:"M224.419,96.438l-6.231-6.231V108.9H236.88l-6.23-6.231L243.11,90.207l-6.231-6.23Z",transform:"translate(-72.057 -27.733)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7131","data-name":"Trazado 7131",d:"M267.86,53,255.4,65.457l6.23,6.231L274.09,59.227l6.231,6.23V46.766H261.629Z",transform:"translate(-84.346 -15.444)",fill:"#4ccb92"})]})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1006","data-name":"Rect\xe1ngulo 1006",width:"256",height:"256",fill:"none"})]})]})]}))},jt=n(22598),St=n(58368),Et=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 22 17.043"},e),{},{children:(0,a.jsx)("g",{id:"azure-logo-gray",transform:"translate(-437.603 -471.382)",children:(0,a.jsx)("g",{id:"layer1-1",transform:"translate(437.603 471.382)",children:(0,a.jsx)("path",{id:"path21",d:"M447.781,487.513l5.188-.917.049-.011-2.668-3.173c-1.467-1.746-2.668-3.181-2.668-3.188s2.756-7.6,2.771-7.63c.006-.009,1.881,3.229,4.545,7.847l4.572,7.923.035.062-8.479,0-8.48,0S447.781,487.513,447.781,487.513Zm-10.178-.969s1.257-2.187,2.794-4.85l2.794-4.842,3.257-2.733c1.792-1.5,3.261-2.735,3.266-2.737a.672.672,0,0,1-.052.132c-.035.074-1.627,3.487-3.535,7.583l-3.472,7.448-2.525,0C438.739,486.551,437.6,486.55,437.6,486.544Z",transform:"translate(-437.603 -471.382)"})})})}))},Zt=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{"data-name":"Total Objects",clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"total-objects-icn",d:"M-.004 128.002a128.148 128.148 0 0 1 128-128 128.148 128.148 0 0 1 128 128 128.144 128.144 0 0 1-128 128 128.144 128.144 0 0 1-128-128Zm19.844 0a108.275 108.275 0 0 0 108.156 108.155 108.28 108.28 0 0 0 108.16-108.155 108.283 108.283 0 0 0-108.16-108.157A108.278 108.278 0 0 0 19.842 128.002Zm27.555 31.581a37.6 37.6 0 0 1 37.564-37.565 37.608 37.608 0 0 1 37.561 37.565 37.609 37.609 0 0 1-37.561 37.565 37.606 37.606 0 0 1-37.563-37.566Zm108.127 34.939a17.425 17.425 0 0 1-17.408-17.4v-37.7a17.429 17.429 0 0 1 17.408-17.407h37.689a17.429 17.429 0 0 1 17.408 17.407v37.7a17.425 17.425 0 0 1-17.408 17.4Zm-54.881-81.311a13.3 13.3 0 0 1-11.477-6.625 13.3 13.3 0 0 1 0-13.249l26.861-46.521a13.287 13.287 0 0 1 11.477-6.629 13.281 13.281 0 0 1 11.475 6.629l26.861 46.521a13.285 13.285 0 0 1 0 13.249 13.294 13.294 0 0 1-11.479 6.625Z",stroke:"rgba(0,0,0,0)",strokeMiterlimit:10}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 853",fill:"none",d:"M0 0h256v256H0z"})]})]}))},Tt=n(83842),At=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1016","data-name":"Rect\xe1ngulo 1016",width:"234.495",height:"256",fill:"#4ccb92"})}),(0,a.jsx)("clipPath",{id:"clip-Create_User",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Create_User","data-name":"Create User",clipPath:"url(#clip-Create_User)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Create_User-2","data-name":"Create User",children:[(0,a.jsx)("g",{id:"Grupo_2404","data-name":"Grupo 2404",transform:"translate(12)",children:(0,a.jsxs)("g",{id:"Grupo_2403","data-name":"Grupo 2403",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7140","data-name":"Trazado 7140",d:"M88.829,144.6h.048a66.829,66.829,0,0,0,27.035-5.707,69.009,69.009,0,0,0,22.1-15.529,72.055,72.055,0,0,0,14.891-22.977,73.863,73.863,0,0,0,5.463-28.1C158.372,32.435,127.183,0,88.831,0h0C50.5,0,19.316,32.43,19.316,72.292S50.5,144.6,88.829,144.6",transform:"translate(1.421)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7141","data-name":"Trazado 7141",d:"M170.085,117.467a64.39,64.39,0,0,0-57.412,35.223c-1.427-.4-2.86-.784-4.3-1.124A94.705,94.705,0,0,0,86.9,149.044v.005c-1.755,0-3.439.046-5,.135A99.747,99.747,0,0,0,8.1,189.42c-.388.519-.767,1.061-1.234,1.756l-.107.15c-.1.142-.214.3-.312.458l-.027.028a37.88,37.88,0,0,0-2.671,37.522A31.97,31.97,0,0,0,32.509,247.36H142.044a31.485,31.485,0,0,0,13.08-2.84,64.408,64.408,0,1,0,14.961-127.054m.383,115.3a50.889,50.889,0,1,1,50.888-50.888,50.888,50.888,0,0,1-50.888,50.888m-7.982-26.944V189.859H146.524V173.895h15.963V157.931H178.45v15.964h15.963v15.964H178.45v15.963Z",transform:"translate(0 8.64)",fill:"#4ccb92"})]})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1017","data-name":"Rect\xe1ngulo 1017",width:"256",height:"256",fill:"none"})]})]})]}))},Ct=n(56135),Mt=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"UploadStatIcon",children:[(0,a.jsx)("path",{"data-name":"Uni\\xF3n 27",d:"M256 127.997a128.006 128.006 0 0 1-128 128.006A128.008 128.008 0 0 1 0 127.997a128.007 128.007 0 0 1 128.008-128 128 128 0 0 1 127.992 128Zm-20.477 0a107.649 107.649 0 0 0-107.52-107.52 107.641 107.641 0 0 0-107.52 107.52A107.635 107.635 0 0 0 128 235.513a107.642 107.642 0 0 0 107.523-107.516Zm-97.082-77.788 32.332 32.331a13.2 13.2 0 0 1 3.184 14.751 14.916 14.916 0 0 1-13.316 9.225 13.45 13.45 0 0 1-9.617-4.216l-8.559-8.565v89.178c0 9.072-7.035 13.8-13.977 13.8s-13.965-4.731-13.965-13.8V93.738l-8.547 8.565a13.5 13.5 0 0 1-9.637 4.216 14.917 14.917 0 0 1-13.3-9.225 13.216 13.216 0 0 1 3.18-14.751l32.344-32.331a13.916 13.916 0 0 1 9.9-4.168 14.021 14.021 0 0 1 9.978 4.169Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 894",fill:"none",d:"M0 0h256v256H0z"})]})]})]}))},kt=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1021","data-name":"Rect\xe1ngulo 1021",width:"256",height:"191.369",fill:"#4ccb92"})}),(0,a.jsx)("clipPath",{id:"clip-Set_Bucket_Replication",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Set_Bucket_Replication","data-name":"Set Bucket Replication",clipPath:"url(#clip-Set_Bucket_Replication)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Set_Bucket_Replication_icon","data-name":"Set Bucket Replication icon",children:[(0,a.jsx)("g",{id:"Grupo_2409","data-name":"Grupo 2409",transform:"translate(0 32)",children:(0,a.jsxs)("g",{id:"Grupo_2408","data-name":"Grupo 2408",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7146","data-name":"Trazado 7146",d:"M21.3,87.4l-1.578-9.192H46.838c-.123-.722-.249-1.449-.371-2.162-1.931-11.245-3.66-21.315-4.976-28.97l-27.171.006-1.577-9.19H40.71a20.546,20.546,0,0,1,3.951-10.1,17.7,17.7,0,0,1,14.016-7.169h62.949l1.169-6.805a12.394,12.394,0,0,0-2.281-9.6A10.335,10.335,0,0,0,112.289,0H10.7A10.33,10.33,0,0,0,2.474,4.215a12.426,12.426,0,0,0-2.284,9.6C2.7,28.413,7.977,59.178,12.2,83.733l.007.048c2.141,12.491,4,23.369,5.1,29.683.943,5.519,5.354,9.523,10.5,9.523H54.529C52.5,111.17,50.4,98.923,48.415,87.392Z",transform:"translate(0)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7147","data-name":"Trazado 7147",d:"M264.2,97.863l2.41-14.045.037-.18,6.887-40.172.024-.117,5.074-29.533a12.4,12.4,0,0,0-2.281-9.6A10.336,10.336,0,0,0,268.128,0H166.535a10.331,10.331,0,0,0-8.223,4.215,12.425,12.425,0,0,0-2.283,9.6c.341,1.985.735,4.278,1.169,6.805H220.27A17.746,17.746,0,0,1,234.334,27.8a20.491,20.491,0,0,1,3.944,10.091h27.69l-1.514,9.169-26.959.006-5.351,31.141H259.1l-1.514,9.17-7.244,0A54.53,54.53,0,0,0,228,81.1l6.547-38.106a16.846,16.846,0,0,0-3.1-13.05,14.048,14.048,0,0,0-11.179-5.728H82.193a14.042,14.042,0,0,0-11.176,5.728,16.889,16.889,0,0,0-3.1,13.05C71.324,62.83,78.5,104.644,84.236,138.017l.01.065c2.91,16.977,5.443,31.762,6.932,40.344,1.282,7.5,7.277,12.942,14.267,12.942h91.579a13.777,13.777,0,0,0,9.436-3.82A54.824,54.824,0,0,0,264.2,97.863M87.119,88.2l-2.144-12.49H217.335l-.974,5.9a54.43,54.43,0,0,0-18.853,6.571ZM96.611,143l-2.144-12.492h75.608c-.168,1.748-.261,3.518-.261,5.31a55.27,55.27,0,0,0,.481,7.163Zm128.363,36.14A43.322,43.322,0,1,1,268.3,135.817a43.322,43.322,0,0,1-43.322,43.322",transform:"translate(-23.479)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7148","data-name":"Trazado 7148",d:"M313.356,176.316c-.055.053-.11.107-.163.162h-.014l-25.036,24.646-8.883-8.767a6.569,6.569,0,1,0-9.224,9.354l18.121,17.855,34.329-33.735a6.594,6.594,0,1,0-9.13-9.516",transform:"translate(-93.036 -60.553)",fill:"#4ccb92"})]})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1022","data-name":"Rect\xe1ngulo 1022",width:"256",height:"256",fill:"none"})]})]})]}))},Ot=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({},e),{},{className:"min-icon",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",children:(0,a.jsxs)("g",{id:"Layer 1",children:[(0,a.jsx)("path",{d:"M217.452+193.452L217.452+224.458L38.4601+224.458L38.4601+193.452L0.104767+193.452L0.104767+255.464L255.807+255.464L255.807+193.452L217.452+193.452Z",opacity:"1"}),(0,a.jsx)("path",{d:"M70.1156+194.746L98.6658+194.746L98.6658+97.0605L120.994+97.0605L84.3907+51.995L47.7878+97.0605L70.1156+97.0605L70.1156+194.746Z",opacity:"1"}),(0,a.jsx)("path",{d:"M183.757+52.6023L155.207+52.6922L155.515+150.377L133.187+150.448L169.932+195.398L206.392+150.217L184.065+150.288L183.757+52.6023Z",opacity:"1"})]})}))},Pt=n(93482),Rt=n(11733),Nt=n(90474),zt=n(30723),It=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 870",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 454",d:"M16.412 256A16.487 16.487 0 0 1-.002 239.463V104.082c0-21.752 32.824-21.752 32.824 0v118.829h190.355V104.082c0-21.752 32.822-21.752 32.822 0v135.381a16.477 16.477 0 0 1-16.4 16.537Zm95.176-61.308V56.465L93 75.208c-15.262 15.385-38.471-8-23.205-23.393l46.5-46.878a16.345 16.345 0 0 1 23.408 0l46.51 46.878c15.266 15.39-7.949 38.777-23.211 23.393L144.41 56.464v138.227c0 10.872-8.205 16.307-16.41 16.307s-16.412-5.435-16.412-16.307Z"}),(0,a.jsx)("path",{"data-name":"Trazado 454 - Contorno",d:"M239.6 256.5H16.416A17 17 0 0 1-.498 239.463V104.082a16.259 16.259 0 0 1 5.3-12.61 16.393 16.393 0 0 1 5.422-3.156 18.547 18.547 0 0 1 6.193-1.048 18.547 18.547 0 0 1 6.193 1.048 16.393 16.393 0 0 1 5.422 3.156 16.259 16.259 0 0 1 5.3 12.61v118.329h189.355V104.082a16.259 16.259 0 0 1 5.3-12.61 16.374 16.374 0 0 1 5.422-3.156 18.528 18.528 0 0 1 6.191-1.048 18.531 18.531 0 0 1 6.193 1.048 16.374 16.374 0 0 1 5.422 3.156 16.259 16.259 0 0 1 5.3 12.61v135.381a17.034 17.034 0 0 1-1.328 6.625 16.992 16.992 0 0 1-3.621 5.416 16.846 16.846 0 0 1-5.373 3.655 16.663 16.663 0 0 1-6.593 1.341ZM16.414 88.268a17.535 17.535 0 0 0-5.859.991 15.388 15.388 0 0 0-5.094 2.962 15.286 15.286 0 0 0-4.959 11.861v135.381A15.994 15.994 0 0 0 16.416 255.5H239.6a15.989 15.989 0 0 0 15.9-16.037V104.082a15.286 15.286 0 0 0-4.959-11.861 15.368 15.368 0 0 0-5.094-2.962 17.518 17.518 0 0 0-5.859-.991 17.515 17.515 0 0 0-5.857.991 15.368 15.368 0 0 0-5.094 2.962 15.286 15.286 0 0 0-4.959 11.861v119.329H32.323V104.082a15.286 15.286 0 0 0-4.959-11.861 15.388 15.388 0 0 0-5.094-2.962 17.526 17.526 0 0 0-5.86-.992ZM128 211.5a18.547 18.547 0 0 1-6.193-1.048 16.37 16.37 0 0 1-5.422-3.154 16.248 16.248 0 0 1-5.3-12.6V57.685L93.349 75.567a16.238 16.238 0 0 1-11.6 5.179 16.682 16.682 0 0 1-9.711-3.251 19.071 19.071 0 0 1-6.451-8.051 15.968 15.968 0 0 1-1.051-8.961 17 17 0 0 1 4.9-9.013l46.5-46.878a16.869 16.869 0 0 1 12.006-5.084 16.81 16.81 0 0 1 6.482 1.3 17.213 17.213 0 0 1 5.631 3.786l46.51 46.879a16.976 16.976 0 0 1 4.9 9.01 15.975 15.975 0 0 1-1.049 8.958 19.084 19.084 0 0 1-6.453 8.054 16.694 16.694 0 0 1-9.715 3.254 16.237 16.237 0 0 1-11.6-5.179l-17.736-17.882v137.013a16.249 16.249 0 0 1-5.3 12.6 16.351 16.351 0 0 1-5.422 3.154A18.527 18.527 0 0 1 128 211.5ZM112.088 55.252v139.441a15.275 15.275 0 0 0 4.959 11.855 15.365 15.365 0 0 0 5.094 2.961 17.538 17.538 0 0 0 5.859.991 17.547 17.547 0 0 0 5.859-.991 15.375 15.375 0 0 0 5.092-2.961 15.276 15.276 0 0 0 4.959-11.855V55.25l.855.862 18.592 18.744a15.257 15.257 0 0 0 10.891 4.883 15.7 15.7 0 0 0 9.133-3.067 18.064 18.064 0 0 0 6.111-7.625 14.955 14.955 0 0 0 .988-8.4 16 16 0 0 0-4.625-8.482l-46.51-46.878a16.222 16.222 0 0 0-5.3-3.567 15.825 15.825 0 0 0-6.1-1.222 15.868 15.868 0 0 0-11.295 4.789l-46.5 46.878a16.011 16.011 0 0 0-4.627 8.485 15 15 0 0 0 .988 8.4 18.055 18.055 0 0 0 6.111 7.623 15.688 15.688 0 0 0 9.129 3.064 15.259 15.259 0 0 0 10.893-4.883Z",fill:"rgba(0,0,0,0)"})]})]}))},Lt=n(52383),Dt=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 47.137 36.516"},e),{},{children:(0,a.jsx)("g",{id:"azure-logo-color",transform:"translate(-437.603 -471.382)",children:(0,a.jsx)("g",{id:"layer1-1",transform:"translate(437.603 471.382)",children:(0,a.jsx)("path",{id:"path21",d:"M459.411,505.944c6.055-1.07,11.056-1.953,11.115-1.965l.1-.024-5.717-6.8c-3.143-3.74-5.717-6.815-5.717-6.831,0-.032,5.9-16.291,5.936-16.347.012-.019,4.03,6.919,9.738,16.812,5.347,9.266,9.755,16.9,9.8,16.975l.075.132-18.168,0-18.169,0S459.411,505.944,459.411,505.944ZM437.6,503.868c0-.008,2.693-4.686,5.987-10.391l5.987-10.375,6.978-5.856c3.839-3.219,6.986-5.86,7-5.864a1.448,1.448,0,0,1-.112.282c-.075.159-3.485,7.471-7.574,16.247l-7.44,15.957-5.41.008C440.037,503.884,437.6,503.88,437.6,503.868Z",transform:"translate(-437.603 -471.382)",fill:"#2a94dc"})})})}))},Bt=n(15874),Ht=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"Calendar-icn",children:[(0,a.jsx)("path",{"data-name":"Trazado 412",d:"M65.175 146.527h24.651c3.4 0 6.162-3.188 6.162-7.115s-2.762-7.115-6.162-7.115H65.175c-3.4 0-6.164 3.188-6.164 7.115s2.758 7.115 6.164 7.115Z"}),(0,a.jsx)("path",{"data-name":"Trazado 413",d:"M118.028 146.527h24.651c3.4 0 6.162-3.188 6.162-7.115s-2.76-7.115-6.162-7.115h-24.651c-3.4 0-6.162 3.188-6.162 7.115s2.762 7.115 6.162 7.115Z"}),(0,a.jsx)("path",{"data-name":"Trazado 414",d:"M166.344 146.527h24.651c3.4 0 6.162-3.188 6.162-7.115s-2.762-7.115-6.162-7.115h-24.651c-3.4 0-6.165 3.188-6.165 7.115s2.762 7.115 6.165 7.115Z"}),(0,a.jsx)("path",{"data-name":"Trazado 415",d:"M65.175 178.762h24.651c3.4 0 6.162-3.188 6.162-7.115s-2.762-7.115-6.162-7.115H65.175c-3.4 0-6.164 3.188-6.164 7.115s2.758 7.115 6.164 7.115Z"}),(0,a.jsx)("path",{"data-name":"Trazado 416",d:"M118.028 178.762h24.651c3.4 0 6.162-3.188 6.162-7.115s-2.76-7.115-6.162-7.115h-24.651c-3.4 0-6.162 3.188-6.162 7.115s2.762 7.115 6.162 7.115Z"}),(0,a.jsx)("path",{"data-name":"Trazado 417",d:"M166.344 178.762h24.651c3.4 0 6.162-3.188 6.162-7.115s-2.762-7.115-6.162-7.115h-24.651c-3.4 0-6.165 3.188-6.165 7.115s2.762 7.115 6.165 7.115Z"}),(0,a.jsx)("path",{"data-name":"Trazado 418",d:"M65.175 210.997h24.651c3.4 0 6.162-3.187 6.162-7.115s-2.762-7.115-6.162-7.115H65.175c-3.4 0-6.164 3.188-6.164 7.115s2.758 7.115 6.164 7.115Z"}),(0,a.jsx)("path",{"data-name":"Trazado 419",d:"M118.028 210.997h24.651c3.4 0 6.162-3.187 6.162-7.115s-2.76-7.115-6.162-7.115h-24.651c-3.4 0-6.162 3.188-6.162 7.115s2.762 7.115 6.162 7.115Z"}),(0,a.jsx)("path",{"data-name":"Trazado 420",d:"M166.344 210.997h24.651c3.4 0 6.162-3.187 6.162-7.115s-2.762-7.115-6.162-7.115h-24.651c-3.4 0-6.165 3.188-6.165 7.115s2.762 7.115 6.165 7.115Z"}),(0,a.jsx)("path",{"data-name":"Trazado 421",d:"M215.81 30.376h-15.951V10.455a10.661 10.661 0 0 0-10.6-10.661 10.66 10.66 0 0 0-10.595 10.661v19.921h-40.089V10.455a10.661 10.661 0 0 0-10.6-10.661 10.66 10.66 0 0 0-10.595 10.661v19.921H77.291V10.455a10.661 10.661 0 0 0-10.6-10.661 10.66 10.66 0 0 0-10.595 10.661v19.921h-15.08a23.369 23.369 0 0 0-23.295 23.44v178.332a23.367 23.367 0 0 0 23.295 23.44h174.782a23.367 23.367 0 0 0 23.295-23.44V53.816a23.367 23.367 0 0 0-23.283-23.44Zm-3.051 198.641a.062.062 0 0 1-.062.062H44.14a.062.062 0 0 1-.064-.062V114.344h168.683Z"})]}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 862",fill:"none",d:"M0 0h256v255.794H0z"})]})]}))},Vt=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({},e),{},{className:"min-icon",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 10 9.5",children:(0,a.jsxs)("g",{transform:"translate(231 719.516)",children:[(0,a.jsx)("path",{d:"M-125.5,7.984a4.5,4.5,0,0,1,4.5-4.5,4.5,4.5,0,0,1,4.5,4.5Z",transform:"translate(-105 -720)"}),(0,a.jsx)("rect",{width:"10",height:"1",transform:"translate(-231 -711.016)"}),(0,a.jsx)("path",{d:"M-119.5.484h-3v1h1v1h1v-1h1Z",transform:"translate(-105 -720)"})]})}))},Ut=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"logs-icn",children:[(0,a.jsx)("path",{"data-name":"Uni\\xF3n 20",d:"M17.298 255.999a17.314 17.314 0 0 1-17.3-17.291V17.302a17.322 17.322 0 0 1 17.3-17.3h221.4a17.325 17.325 0 0 1 17.3 17.3v221.406a17.316 17.316 0 0 1-17.3 17.291Zm.7-32.922a14.938 14.938 0 0 0 14.934 14.937H223.07A14.935 14.935 0 0 0 238 223.077v-133.4H18Zm45.949-69.443a6.943 6.943 0 0 1-6.814-7.061v-16.314a6.937 6.937 0 0 1 6.814-7.054h62.056a6.924 6.924 0 0 1 6.795 7.054v16.318a6.929 6.929 0 0 1-6.795 7.061Z"}),(0,a.jsx)("path",{"data-name":"Trazado 343 - Contorno",d:"M17.3-.1h221.4a17.421 17.421 0 0 1 17.4 17.4v221.409a17.416 17.416 0 0 1-17.4 17.391H17.3A17.416 17.416 0 0 1-.1 238.709V17.301A17.421 17.421 0 0 1 17.3-.1Zm221.4 256a17.216 17.216 0 0 0 17.2-17.191V17.301a17.221 17.221 0 0 0-17.2-17.2H17.3a17.221 17.221 0 0 0-17.2 17.2v221.408A17.216 17.216 0 0 0 17.3 255.9ZM17.9 89.576h220.2v133.5a14.945 14.945 0 0 1-4.4 10.634 14.93 14.93 0 0 1-10.627 4.405H32.931a14.93 14.93 0 0 1-10.627-4.405 14.942 14.942 0 0 1-4.4-10.634Zm220 .2H18.1v133.3a14.745 14.745 0 0 0 4.346 10.493 14.73 14.73 0 0 0 10.486 4.347h190.139a14.73 14.73 0 0 0 10.486-4.347 14.745 14.745 0 0 0 4.346-10.493Z"}),(0,a.jsx)("path",{"data-name":"Trazado 344 - Contorno",d:"M63.948 123.102h62.057a6.726 6.726 0 0 1 4.878 2.1 7.247 7.247 0 0 1 2.015 5.058v16.318a7.038 7.038 0 0 1-6.893 7.16H63.948a7.049 7.049 0 0 1-6.915-7.16V130.26a7.045 7.045 0 0 1 6.915-7.158Zm62.057 30.431a6.838 6.838 0 0 0 6.693-6.96v-16.318a7.047 7.047 0 0 0-1.959-4.919 6.526 6.526 0 0 0-4.733-2.034H63.949a6.845 6.845 0 0 0-6.714 6.953v16.318a6.848 6.848 0 0 0 6.714 6.96Z"})]}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 889",fill:"none",d:"M0 0h256v256H0z"})]})]}))},Ft=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 36.369 36.346"},e),{},{children:(0,a.jsxs)("g",{id:"hardquota-icn",transform:"translate(-98.002 -28.027)",children:[(0,a.jsx)("path",{id:"Trazado_7233","data-name":"Trazado 7233",d:"M344.76,203.93l2.664-2.664,8.15,8.15-2.664,2.664Z",transform:"translate(-228.962 -160.744)",fill:"#07193e"}),(0,a.jsx)("path",{id:"Trazado_7234","data-name":"Trazado 7234",d:"M464.768,316.895a1.11,1.11,0,0,0-1.575,0l-2.827,2.827h0a1.111,1.111,0,0,0,0,1.575l5.182,5.182a1.114,1.114,0,0,0,.787.327,1.1,1.1,0,0,0,.808-.327l2.827-2.827a1.11,1.11,0,0,0,0-1.575Z",transform:"translate(-335.926 -267.73)",fill:"#07193e"}),(0,a.jsx)("path",{id:"Trazado_7235","data-name":"Trazado 7235",d:"M235.486,84.317l-5.408-5.408a2.141,2.141,0,0,1-.157-.174L222.2,86.45c.061.052.121.105.178.161l5.4,5.4c.057.057.109.117.161.178l7.718-7.718a2.2,2.2,0,0,1-.178-.157Z",transform:"translate(-115.243 -47.051)",fill:"#07193e"}),(0,a.jsx)("path",{id:"Trazado_7236","data-name":"Trazado 7236",d:"M337.566,36.693a1.912,1.912,0,0,0,2.706-2.7l-5.408-5.4a1.91,1.91,0,1,0-2.7,2.7Z",transform:"translate(-216.754)",fill:"#07193e"}),(0,a.jsx)("path",{id:"Trazado_7237","data-name":"Trazado 7237",d:"M174.741,188.807a1.912,1.912,0,1,0-2.7,2.706l5.408,5.392a1.911,1.911,0,1,0,2.7-2.7Z",transform:"translate(-68.177 -148.665)",fill:"#07193e"}),(0,a.jsx)("path",{id:"Trazado_7238","data-name":"Trazado 7238",d:"M143.562,432.083a3.239,3.239,0,0,1,.525.048v-.565a2.383,2.383,0,0,0-2.379-2.383h-15.63a2.383,2.383,0,0,0-2.379,2.383v.565a3.245,3.245,0,0,1,.525-.048Z",transform:"translate(-23.844 -372.224)",fill:"#07193e"}),(0,a.jsx)("path",{id:"Trazado_7239","data-name":"Trazado 7239",d:"M122.1,482.968a2.379,2.379,0,0,0-2.379-2.379H100.381A2.379,2.379,0,0,0,98,482.968V484.3h24.1Z",transform:"translate(0 -419.924)",fill:"#07193e"})]})}))},Gt=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 20",d:"M17.4 256.099A17.314 17.314 0 0 1 .1 238.808V17.402A17.322 17.322 0 0 1 17.4.102h221.4a17.325 17.325 0 0 1 17.3 17.3v221.406a17.316 17.316 0 0 1-17.3 17.291Zm.7-32.922a14.938 14.938 0 0 0 14.934 14.937h190.138a14.935 14.935 0 0 0 14.93-14.937v-133.4h-220Zm45.949-69.443a6.943 6.943 0 0 1-6.814-7.061v-16.314a6.937 6.937 0 0 1 6.814-7.054h62.056a6.924 6.924 0 0 1 6.795 7.054v16.318a6.929 6.929 0 0 1-6.795 7.061Z"}),(0,a.jsx)("path",{"data-name":"Trazado 343 - Contorno",d:"M17.402 0h221.4a17.421 17.421 0 0 1 17.4 17.4v221.409a17.416 17.416 0 0 1-17.4 17.391h-221.4a17.416 17.416 0 0 1-17.4-17.391V17.401A17.421 17.421 0 0 1 17.402 0Zm221.4 256a17.216 17.216 0 0 0 17.2-17.191V17.401a17.221 17.221 0 0 0-17.2-17.2h-221.4a17.221 17.221 0 0 0-17.2 17.2v221.408A17.216 17.216 0 0 0 17.402 256ZM18.002 89.676h220.2v133.5a14.945 14.945 0 0 1-4.4 10.634 14.93 14.93 0 0 1-10.627 4.405H33.033a14.93 14.93 0 0 1-10.627-4.405 14.942 14.942 0 0 1-4.4-10.634Zm220 .2h-219.8v133.3a14.745 14.745 0 0 0 4.346 10.493 14.73 14.73 0 0 0 10.486 4.347h190.139a14.73 14.73 0 0 0 10.486-4.347 14.745 14.745 0 0 0 4.346-10.493Z"}),(0,a.jsx)("path",{"data-name":"Trazado 344 - Contorno",d:"M64.05 123.202h62.057a6.726 6.726 0 0 1 4.878 2.1A7.247 7.247 0 0 1 133 130.36v16.318a7.038 7.038 0 0 1-6.893 7.16H64.05a7.049 7.049 0 0 1-6.915-7.16V130.36a7.045 7.045 0 0 1 6.915-7.158Zm62.057 30.431a6.838 6.838 0 0 0 6.693-6.96v-16.318a7.047 7.047 0 0 0-1.959-4.919 6.526 6.526 0 0 0-4.733-2.034H64.051a6.845 6.845 0 0 0-6.714 6.953v16.318a6.848 6.848 0 0 0 6.714 6.96Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 889",fill:"none",d:"M.102.1h256v256h-256z"})]})]}))},Wt=n(58729),Kt=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1033","data-name":"Rect\xe1ngulo 1033",width:"234.584",height:"256",fill:"#4ccb92"})}),(0,a.jsx)("clipPath",{id:"clip-Change_User_Password",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Change_User_Password","data-name":"Change User Password",clipPath:"url(#clip-Change_User_Password)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Change_User_Password_Icon","data-name":"Change User Password Icon",children:[(0,a.jsx)("g",{id:"Grupo_2422","data-name":"Grupo 2422",transform:"translate(11)",children:(0,a.jsxs)("g",{id:"Grupo_2421","data-name":"Grupo 2421",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7174","data-name":"Trazado 7174",d:"M89.039,144.5h.048a66.549,66.549,0,0,0,26.922-5.683,68.721,68.721,0,0,0,22.01-15.464,71.754,71.754,0,0,0,14.829-22.881,73.555,73.555,0,0,0,5.44-27.984C158.291,32.8,127.233.5,89.04.5h0C50.868.5,19.816,32.794,19.816,72.49S50.868,144.5,89.039,144.5",transform:"translate(1.369 0.035)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7175","data-name":"Trazado 7175",d:"M89.039,144.5h.048a66.549,66.549,0,0,0,26.922-5.683,68.721,68.721,0,0,0,22.01-15.464,71.754,71.754,0,0,0,14.829-22.881,73.555,73.555,0,0,0,5.44-27.984C158.291,32.8,127.233.5,89.04.5h0C50.868.5,19.816,32.794,19.816,72.49S50.868,144.5,89.039,144.5Z",transform:"translate(1.369 0.035)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7176","data-name":"Trazado 7176",d:"M169.875,117.967A64.121,64.121,0,0,0,112.7,153.043c-1.421-.4-2.848-.78-4.286-1.119a94.31,94.31,0,0,0-21.382-2.511v.005c-1.748,0-3.424.045-4.982.135A99.34,99.34,0,0,0,8.563,189.619c-.386.516-.763,1.056-1.228,1.749l-.107.15c-.1.141-.213.3-.311.456L6.89,192a37.722,37.722,0,0,0-2.66,37.365,31.837,31.837,0,0,0,28.644,17.951H141.951a31.362,31.362,0,0,0,13.027-2.828,64.139,64.139,0,1,0,14.9-126.523m.382,114.817a50.676,50.676,0,1,1,50.676-50.676,50.676,50.676,0,0,1-50.676,50.676",transform:"translate(0.035 8.148)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7177","data-name":"Trazado 7177",d:"M169.875,117.967A64.121,64.121,0,0,0,112.7,153.043c-1.421-.4-2.848-.78-4.286-1.119a94.31,94.31,0,0,0-21.382-2.511v.005c-1.748,0-3.424.045-4.982.135A99.34,99.34,0,0,0,8.563,189.619c-.386.516-.763,1.056-1.228,1.749l-.107.15c-.1.141-.213.3-.311.456L6.89,192a37.722,37.722,0,0,0-2.66,37.365,31.837,31.837,0,0,0,28.644,17.951H141.951a31.362,31.362,0,0,0,13.027-2.828,64.139,64.139,0,1,0,14.9-126.523Zm.382,114.817a50.676,50.676,0,1,1,50.676-50.676A50.676,50.676,0,0,1,170.256,232.784Z",transform:"translate(0.035 8.148)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7178","data-name":"Trazado 7178",d:"M175.869,148.182a20.812,20.812,0,0,0-20.809,20.813,20.593,20.593,0,0,0,.9,6.036l-24.028,24.024v13.874h13.875L169.833,188.9a20.816,20.816,0,0,0,26.849-18.2,20.283,20.283,0,0,0-3.813-13.874,20.814,20.814,0,0,0-17-8.642m2.311,23.125a4.625,4.625,0,1,1,4.626-4.624,4.625,4.625,0,0,1-4.626,4.624",transform:"translate(9.112 10.235)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7179","data-name":"Trazado 7179",d:"M175.869,148.182a20.812,20.812,0,0,0-20.809,20.813,20.593,20.593,0,0,0,.9,6.036l-24.028,24.024v13.874h13.875L169.833,188.9a20.816,20.816,0,0,0,26.849-18.2,20.283,20.283,0,0,0-3.813-13.874A20.814,20.814,0,0,0,175.869,148.182Zm2.311,23.125a4.625,4.625,0,1,1,4.626-4.624A4.625,4.625,0,0,1,178.181,171.307Z",transform:"translate(9.112 10.235)",fill:"#4ccb92"})]})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1034","data-name":"Rect\xe1ngulo 1034",width:"256",height:"256",fill:"none"})]})]})]}))},qt=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 856",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 406",d:"M210.861 74.863h-28.736V48.236C182.125 21.636 157.844 0 128 0S73.875 21.638 73.875 48.236v26.627H45.139C20.25 74.863.001 92.971.001 115.23v84.8c0 21.912 19.623 39.8 43.979 40.353l84.021 14.62 84.021-14.62c24.356-.551 43.979-18.441 43.979-40.353v-84.8c-.001-22.259-20.25-40.367-45.14-40.367ZM96.296 48.236c0-15.579 14.222-28.254 31.7-28.254s31.7 12.675 31.7 28.254v26.627H96.289Zm137.281 151.79c0 11.24-10.191 20.385-22.717 20.385h-1.084l-81.777 14.229-81.777-14.229h-1.084c-12.526 0-22.716-9.145-22.716-20.385v-84.8c0-11.24 10.19-20.385 22.716-20.385h165.723c12.526 0 22.717 9.145 22.717 20.385Z"}),(0,a.jsx)("path",{"data-name":"Trazado 407",d:"M127.707 139.723a19.085 19.085 0 0 0-19.085 19.086 19.066 19.066 0 0 0 8.4 15.818v15.377a10.1 10.1 0 0 0 10.073 10.073h1.218a10.1 10.1 0 0 0 10.073-10.073v-15.377a19.067 19.067 0 0 0 8.4-15.818 19.086 19.086 0 0 0-19.079-19.086Z"})]})]}))}},77130:function(e,t,n){"use strict";n.d(t,{Kr:function(){return r},ST:function(){return a},sp:function(){return o},mx:function(){return i},p9:function(){return s},YK:function(){return l},Mz:function(){return c},hO:function(){return u},vw:function(){return d},sP:function(){return f},cD:function(){return p},k7:function(){return h},Nv:function(){return m},Wz:function(){return v},qk:function(){return g},l5:function(){return y},pK:function(){return x},Og:function(){return b},YP:function(){return w},hN:function(){return _},i9:function(){return j},_X:function(){return S},FB:function(){return E},_n:function(){return Z},Tv:function(){return T},Mf:function(){return A},bC:function(){return C},d5:function(){return M},f4:function(){return k}});var r="ADD_BUCKET_OPEN",a="ADD_BUCKET_NAME",o="ADD_BUCKET_VERSIONED",i="ADD_BUCKET_LOCKING",s="ADD_BUCKET_QUOTA",l="ADD_BUCKET_QUOTA_TYPE",c="ADD_BUCKET_QUOTA_SIZE",u="ADD_BUCKET_QUOTA_UNIT",d="ADD_BUCKET_RESET",f="ADD_BUCKET_RETENTION",p="ADD_BUCKET_RETENTION_MODE",h="ADD_BUCKET_RETENTION_UNIT",m="ADD_BUCKET_RETENTION_VALIDITY",v="BUCKET_DETAILS/SET_TAB",g="BUCKET_DETAILS/LOADING",y="BUCKET_DETAILS/SET_INFO";function x(e){return{type:a,name:e}}function b(e){return{type:o,versioned:e}}function w(e){return{type:i,locking:e}}function _(e){return{type:s,quota:e}}function j(e){return{type:l,quotaType:e}}function S(e){return{type:c,quotaSize:e}}function E(e){return{type:u,quotaUnit:e}}function Z(e){return{type:f,retention:e}}function T(e){return{type:p,retentionMode:e}}function A(e){return{type:h,retentionUnit:e}}function C(e){return{type:m,retentionValidity:e}}var M=function(e){return{type:g,state:e}},k=function(e){return{type:y,info:e}}},72462:function(e,t,n){"use strict";n.d(t,{YI:function(){return o},oO:function(){return i},Hr:function(){return s},lM:function(){return c},FU:function(){return d},Bz:function(){return f},OR:function(){return p},qg:function(){return h},xx:function(){return m},cx:function(){return v},jY:function(){return g},Je:function(){return y},fc:function(){return x},o$:function(){return b},NP:function(){return w},bN:function(){return _},Rp:function(){return j},sN:function(){return S},AK:function(){return E},Si:function(){return Z},bp:function(){return T},oZ:function(){return A},gM:function(){return C},IX:function(){return M},SJ:function(){return O},Bw:function(){return P},bl:function(){return R},VX:function(){return N},bK:function(){return z},DF:function(){return I},bV:function(){return L},Qw:function(){return D},S:function(){return B},QV:function(){return H},ID:function(){return V},VI:function(){return U},$b:function(){return F},xS:function(){return G}});var r=n(18489),a={fontWeight:600,marginRight:10,fontSize:14,color:"#07193E",textAlign:"left",overflow:"hidden",alignItems:"center",display:"flex","& span":{display:"flex",alignItems:"center"}},o={inputLabel:(0,r.Z)((0,r.Z)({},a),{},{minWidth:160}),noMinWidthLabel:(0,r.Z)({},a),fieldLabelError:{paddingBottom:22},fieldContainer:{marginBottom:20,position:"relative",display:"flex",flexWrap:"wrap","@media (max-width: 600px)":{flexFlow:"column"}},tooltipContainer:{marginLeft:5,display:"flex",alignItems:"center","& .min-icon":{width:13}},switchContainer:{display:"flex",maxWidth:840}},i={formScrollable:{maxHeight:"calc(100vh - 300px)",overflowY:"auto",marginBottom:25},formSlider:{marginLeft:0},clearButton:{fontFamily:"Lato, sans-serif",border:"0",backgroundColor:"transparent",color:"#393939",fontWeight:600,fontSize:14,marginRight:10,outline:"0",padding:"16px 25px 16px 25px",cursor:"pointer"},floatingEnabled:{position:"absolute",right:58,zIndex:1e3,marginTop:-38},configureString:{border:"#EAEAEA 1px solid",borderRadius:4,padding:"24px 50px",overflowY:"auto",height:170,backgroundColor:"#FBFAFA"},moduleDescription:{color:"#848484",fontSize:12,fontStyle:"italic"}},s={tooltip:{"& .min-icon":{width:13}}},l={width:16,height:16,borderRadius:2},c={unCheckedIcon:(0,r.Z)((0,r.Z)({},l),{},{border:"1px solid #c3c3c3",boxShadow:"inset 0px 1px 3px rgba(0,0,0,0.1)"}),checkedIcon:(0,r.Z)((0,r.Z)({},l),{},{border:"1px solid #FFFFFF",backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 3px rgba(0,0,0,0.1)",width:14,height:14,marginLeft:1,"&:before":{content:"''",display:"block",marginLeft:-2,marginTop:-2,width:16,height:16,top:0,bottom:0,left:0,right:0,borderRadius:2,border:"1px solid #ccc"}})},u={width:16,height:16,borderRadius:"100%","input:disabled ~ &":{border:"1px solid #E5E5E5"},padding:1},d={radioUnselectedIcon:(0,r.Z)((0,r.Z)({},u),{},{border:"2px solid #E5E5E5"}),radioSelectedIcon:(0,r.Z)((0,r.Z)({},u),{},{border:"2px solid #E5E5E5",backgroundColor:"#072C4F"})},f=function(e){return{container:{position:"relative",maxWidth:1180,padding:"20px 35px 0","& h6":{color:"#777777",fontSize:30},"& p":{"& span:not(*[class*='smallUnit'])":{fontSize:16}}},sectionTitle:{margin:0,marginBottom:".8rem",fontSize:"1.3rem"},topSpacer:{height:"8px"},boxy:{border:"#E5E5E5 1px solid",borderRadius:2,padding:40,backgroundColor:"#fff"}}},p={filterTitle:{color:"#848484",fontSize:13,alignSelf:"center",whiteSpace:"nowrap","&:not(:first-of-type)":{marginLeft:10}},label:{color:"#07193E",fontSize:13,alignSelf:"center",whiteSpace:"nowrap","&:not(:first-of-type)":{marginLeft:10}},timeContainers:{display:"flex","& button":{flexGrow:0,marginLeft:15},height:40,maxWidth:1185,marginBottom:15,justifyContent:"flex-start","& > *":{marginRight:15}},actionsTray:{display:"flex",justifyContent:"space-between",marginBottom:"1rem",alignItems:"center","& button":{flexGrow:0,marginLeft:8}},filterContainer:{backgroundColor:"#fff",border:"#EEF1F4 2px solid",borderRadius:2,display:"flex",alignItems:"center",padding:"0 12px"},divisorLine:{borderRight:"#EEF1F4 1px solid",height:20,margin:"0 15px"}},h={searchField:{flexGrow:1,height:38,background:"#FFFFFF",borderRadius:3,border:"#EAEDEE 1px solid",display:"flex",justifyContent:"center",padding:"0 16px","& label, & label.MuiInputLabel-shrink":{fontSize:10,transform:"translate(5px, 2px)",transformOrigin:"top left"},"& input":{fontSize:12,fontWeight:700,color:"#000","&::placeholder":{color:"#858585",opacity:1,fontWeight:400}},"&:hover":{borderColor:"#000"},"& .min-icon":{width:16,height:16},"&:focus-within":{borderColor:"rgba(0, 0, 0, 0.87)"}}},m={prefinedContainer:{display:"flex",width:"100%",alignItems:"center",margin:"15px 0 0"},predefinedTitle:{color:"rgba(0, 0, 0, 0.87)",display:"flex",overflow:"hidden",fontSize:14,maxWidth:160,textAlign:"left",marginRight:10,flexGrow:0,fontWeight:"normal"},predefinedList:{backgroundColor:"#fbfafa",border:"#e5e5e5 1px solid",padding:"12px 10px",color:"#696969",fontSize:12,fontWeight:600,minHeight:41,borderRadius:4},innerContent:{width:"100%",overflowX:"auto",whiteSpace:"nowrap",scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}},innerContentMultiline:{width:"100%",maxHeight:100,overflowY:"auto",scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}},v={obTitleSection:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",marginBottom:20},sectionTitle:{fontSize:22,color:"#000",fontWeight:600,height:40,lineHeight:"40px"},breadcrumbs:{fontSize:10,color:"#000",marginTop:2,"& a":{textDecoration:"none",color:"#000","&:hover":{textDecoration:"underline"}},"&.fullSize":{fontSize:18,marginLeft:10}},smallLabel:{color:"#9C9C9C",fontSize:15},bucketDetails:{marginLeft:10,fontSize:14,color:"#969FA8"},detailsSpacer:{marginRight:18}},g={multiSelectTable:{height:200}},y={customTitle:{fontSize:18,color:"#000",fontWeight:600,padding:"12px 0",borderBottom:"#eaedee 1px solid",marginBottom:10,margin:"15px 38px 27px"},settingsFormContainer:{padding:38,overflowY:"auto",scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}},settingsButtonContainer:{padding:"15px 38px",textAlign:"right"},innerSettingsButtonContainer:{maxWidth:840,textAlign:"right"},settingsOptionsContainer:{height:"calc(100vh - 244px)",backgroundColor:"#fff",border:"#EAEDEE 1px solid",borderRadius:3,marginTop:15},backButton:{cursor:"pointer",fontSize:10,fontWeight:600,color:"#000",backgroundColor:"transparent",border:0,padding:0,display:"flex",alignItems:"center","&:active, &:focus":{outline:0},"& svg":{width:10,marginRight:4}},backContainer:{margin:"20px 38px 0"},mainCont:{paddingLeft:50,paddingRight:50},mainTitle:{fontSize:18,color:"#000",fontWeight:600,marginBottom:10,marginTop:10}},x={iconContainer:{display:"flex",flexDirection:"row",maxWidth:1180,justifyContent:"start",flexWrap:"wrap",width:"100%"},nonIconContainer:{marginBottom:16,width:455,marginTop:15,"& button":{marginRight:16}},pickTitle:{fontWeight:600,color:"#393939",fontSize:14,marginBottom:16},centerElements:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},logoButton:{height:"80px"},lambdaNotif:{background:"#ffffff",border:"#E5E5E5 1px solid",borderRadius:5,width:250,height:80,display:"flex",alignItems:"center",justifyContent:"start",marginBottom:16,marginRight:8,cursor:"pointer",padding:0,overflow:"hidden"},lambdaNotifIcon:{backgroundColor:"#FEFEFE",display:"flex",alignItems:"center",justifyContent:"center",width:80,height:80,"& img":{maxWidth:46,maxHeight:46}},lambdaNotifTitle:{color:"#07193E",fontSize:16,fontFamily:"Lato,sans-serif",paddingLeft:18}},b={logsSubContainer:{height:"calc(100vh - 230px)",padding:"15px 0"}},w={singleValueContainer:{height:200,maxWidth:1185,border:"#eef1f4 2px solid",backgroundColor:"#fff",borderRadius:10,width:"100%",padding:16},titleContainer:{color:"#404143",fontSize:14,textTransform:"uppercase",fontWeight:800,borderBottom:"#eef1f4 1px solid",paddingBottom:14,marginBottom:5,display:"flex",justifyContent:"space-between"},contentContainer:{justifyContent:"center",alignItems:"center",display:"flex",width:"100%",height:140},contentContainerWithLabel:{height:"calc(100% - 25px)"},legendBlock:{position:"absolute",bottom:5,display:"flex",width:"100%",height:15,flexWrap:"wrap",overflowY:"auto"},singleLegendContainer:{display:"flex",alignItems:"center",padding:"0 10px",maxWidth:"100%"},colorContainer:{width:8,height:8,minWidth:8,marginRight:5},legendLabel:{fontSize:"80%",color:"#393939",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},zoomChartCont:{position:"relative",height:340,width:"100%"},zoomChartIcon:{backgroundColor:"transparent",border:0,padding:0,cursor:"pointer","& svg":{color:"#D0D0D0",height:16},"&:hover":{"& svg":{color:"#404143"}}}},_={widgetPanelDelimiter:{padding:10},dashboardRow:{display:"flex",flexDirection:"row",justifyContent:"flex-start",flexWrap:"wrap",maxWidth:1180}},j={customTooltip:{backgroundColor:"rgba(255, 255, 255, 0.90)",border:"#eaeaea 1px solid",borderRadius:3,padding:"5px 10px",maxHeight:300,overflowY:"auto"},labelContainer:{display:"flex",alignItems:"center"},labelColor:{width:6,height:6,display:"block",borderRadius:"100%",marginRight:5},itemValue:{fontSize:"75%",color:"#393939"},valueContainer:{fontWeight:600},timeStampTitle:{fontSize:"80%",color:"#9c9c9c",textAlign:"center",marginBottom:6}},S={snackBar:{backgroundColor:"#081F44",fontWeight:400,fontFamily:"Lato, sans-serif",fontSize:14,padding:"0px 20px 0px 20px;",boxShadow:"none","&.MuiPaper-root.MuiSnackbarContent-root":{borderRadius:"0px 0px 5px 5px"},"& div":{textAlign:"center",padding:"6px 30px",width:"100%",overflowX:"hidden",textOverflow:"ellipsis"}},errorSnackBar:{backgroundColor:"#C72C48",color:"#fff"},snackBarExternal:{top:-1,height:33,position:"fixed",minWidth:348,whiteSpace:"nowrap",left:0,width:"100%",justifyContent:"center"},snackDiv:{top:"17px",left:"50%",position:"absolute"},snackBarModal:{top:0,position:"absolute",minWidth:"348px",whiteSpace:"nowrap",height:"33px",width:"100%",justifyContent:"center",left:0}},E={multiContainer:{display:"flex",alignItems:"center",justifyContent:"flex-start"},sizeFactorContainer:{marginLeft:8,alignSelf:"flex-start"},headerElement:{position:"sticky",top:0,paddingTop:5,marginBottom:10,zIndex:500,backgroundColor:"#fff"},tableTitle:{fontWeight:700,width:"30%"},poolError:{color:"#dc1f2e",fontSize:"0.75rem",paddingLeft:120},error:{color:"#dc1f2e",fontSize:"0.75rem"},h3Section:{marginTop:0,margin:0},descriptionText:{fontSize:14},container:{padding:"77px 0 0 0","& h6":{color:"#777777",fontSize:14},"& p":{"& span:not(*[class*='smallUnit'])":{fontSize:16}}},paperWrapper:{padding:12,border:0}},Z={anchorButton:{textDecoration:"underline",textTransform:"unset",fontWeight:"normal",padding:0,lineHeight:"unset",height:"unset",width:"unset",textAlign:"left",border:0,minWidth:"unset"}},T={hrClass:{borderTop:0,borderLeft:0,borderRight:0,borderColor:"#999999",backgroundColor:"transparent"}},A=(0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({buttonContainer:{textAlign:"right"},multiContainer:{display:"flex",alignItems:"center",justifyContent:"flex-start"},sizeFactorContainer:{marginLeft:8},containerHeader:{display:"flex",justifyContent:"space-between"},paperContainer:{padding:"15px 15px 15px 50px"},infoGrid:{display:"grid",gridTemplateColumns:"auto auto auto auto",gridGap:8,"& div":{display:"flex",alignItems:"center"},"& div:nth-child(odd)":{justifyContent:"flex-end",fontWeight:700},"& div:nth-child(2n)":{paddingRight:35}},masterActions:{width:"25%",minWidth:"120px","& div":{margin:"5px 0px"}},updateButton:{backgroundColor:"transparent",border:0,padding:"0 6px",cursor:"pointer","&:focus, &:active":{outline:"none"},"& svg":{height:12}},poolLabel:{color:"#666666"},titleCol:{fontWeight:700},breadcrumLink:{textDecoration:"none",color:"black"},healthCol:{fontWeight:700,paddingRight:"10px"}},i),p),Z),h),T),{},{actionsTray:(0,r.Z)((0,r.Z)({},p.actionsTray),{},{padding:"15px 0 0"})}),C={root:{borderRadius:3,"&::before":{borderColor:"#9c9c9c"},"& fieldset":{borderColor:"#e5e5e5"},"&:hover fieldset":{borderColor:"#07193E"},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"#07193E",borderWidth:1},"&.Mui-error + p":{marginLeft:3}},disabled:{"&.MuiOutlinedInput-root::before":{borderColor:"#e5e5e5",borderBottomStyle:"solid",borderRadius:3}},input:{height:38,padding:"0 35px 0 15px",color:"#07193E",fontSize:13,fontWeight:600,"&:placeholder":{color:"#858585",opacity:1,fontWeight:400}},error:{color:"#b53b4b"}},M={inlineCheckboxes:{display:"flex",justifyContent:"flex-start"}},k={marginRight:10,lineHeight:1,display:"inline-flex",marginTop:6},O={cardIconContainer:{display:"flex",position:"relative",alignItems:"center"},stateContainer:{display:"flex",flexWrap:"wrap",justifyContent:"flex-start"},infoValue:{fontWeight:500,color:"#07193E",fontSize:16,margin:"8px 40px 5px 0",display:"inline-flex","& strong":{marginRight:4},"& .min-icon":{width:20,height:20},alignItems:"center"},redState:(0,r.Z)({color:"#F55B5B"},k),greenState:(0,r.Z)({color:"#9FF281"},k),yellowState:(0,r.Z)({color:"#F7A25A"},k),greyState:(0,r.Z)({color:"grey"},k),healthStatusIcon:{position:"absolute",fontSize:8,left:18,height:10,bottom:2,marginRight:10,"& .min-icon":{width:5,height:5}},innerState:{fontSize:8,display:"flex",alignItems:"center",marginTop:-3,"& .min-icon":{marginTop:5,width:10,height:10}},cardContainer:{borderRadius:10,boxShadow:"0 0 15px #00000029",maxWidth:1185,marginBottom:30},cardHeader:{"& .MuiCardHeader-title":{fontWeight:"bolder"}},cardNumber:{color:"#848484",fontSize:16,fontWeight:400,marginBottom:10},referenceTitle:{display:"flex",alignItems:"center",lineHeight:1,fontWeight:"bold","& .min-icon":{width:10,height:10,marginTop:-5}}},P={contentSpacer:{padding:"2rem"}},R={jsonPolicyEditor:{minHeight:400,width:"100%"},buttonContainer:{textAlign:"right"},infoDetails:{color:"#393939",fontSize:12,fontStyle:"italic",marginBottom:"8px"},containerScrollable:{maxHeight:"calc(100vh - 200px)",overflowY:"auto"},codeMirrorContainer:{marginBottom:20,paddingLeft:15,"& label":{marginBottom:".5rem"},"& label + div":{display:"none"}},stackedInputs:{display:"flex",gap:15,paddingBottom:"1rem",paddingLeft:"1rem",flexFlow:"column"},buttonSpacer:{marginRight:"1rem"}},N={tableBlock:{display:"flex",flexDirection:"row","& .ReactVirtualized__Table__headerRow.rowLine, .ReactVirtualized__Table__row.rowLine":{borderBottom:"1px solid #EAEAEA"},"& .rowLine:hover:not(.ReactVirtualized__Table__headerRow)":{backgroundColor:"#F8F8F8"},"& .ReactVirtualized__Table__row.rowLine":{fontSize:".8rem"},"& .optionsAlignment ":{textAlign:"right","& .MuiButtonBase-root":{backgroundColor:"#F8F8F8"},"&:hover":{backgroundColor:"#E2E2E2"},"& .min-icon":{width:13,margin:3}}}},z={spacerRight:{marginRight:".9rem"},spacerLeft:{marginLeft:".9rem"},spacerBottom:{marginBottom:".9rem"},spacerTop:{marginTop:".9rem"}},I={formFieldRow:{marginBottom:".8rem","& .MuiInputLabel-root":{fontWeight:"normal"}}},L={fieldBottom:{borderBottom:0},fileReselect:{border:"1px solid #EAEAEA",width:"100%",paddingLeft:10,display:"flex",alignItems:"center",justifyContent:"center",height:36,maxWidth:300},textBoxContainer:{border:"1px solid #EAEAEA",borderRadius:3,height:36,padding:5,"& input":{width:"100%",margin:"auto"},display:"flex",alignItems:"center",justifyContent:"center",maxWidth:300}},D={root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},title:{display:"flex",alignItems:"center",justifyContent:"space-between"},titleText:{fontSize:"1rem",fontWeight:600,display:"flex",alignItems:"center","& svg":{marginRight:10}},closeContainer:{"& .MuiIconButton-root":{top:-20,left:30,position:"relative",padding:1,"&:focus, &:hover":{background:"#EAEAEA"}},"& .min-icon":{height:16,width:16}}},B={advancedButton:{flexGrow:1,alignItems:"flex-end",display:"flex",justifyContent:"flex-end"},advancedConfiguration:{color:"#2781B0",fontSize:10,textDecoration:"underline",border:"none",backgroundColor:"transparent",cursor:"pointer",alignItems:"center",display:"flex",float:"right","&:hover":{color:"#07193E"},"& svg":{width:10,alignSelf:"center",marginLeft:5}},advancedOpen:{transform:"rotateZ(-90deg) translateX(-4px) translateY(2px)"},advancedClosed:{transform:"rotateZ(90deg)"}},H={fieldGroup:{border:"1px solid #EAEAEA",paddingTop:15},descriptionText:{fontSize:14}},V={modalButtonBar:{marginTop:15,display:"flex",alignItems:"center",justifyContent:"flex-end","& button":{marginRight:10},"& button:last-child":{marginRight:0}},modalFormScrollable:{maxHeight:"calc(100vh - 300px)",overflowY:"auto",paddingTop:10}},U={textMuted:{color:"#8399AB"}},F={metadataLinear:{marginBottom:15,fontSize:14,maxHeight:180,overflowY:"auto"},hrClass:{borderTop:0,borderLeft:0,borderRight:0,borderColor:"#E2E2E2",backgroundColor:"transparent"},sectionTitle:{fontSize:18,color:"#000",fontWeight:"bold",borderBottom:"#E2E2E2 1px solid",margin:"10px 22px",paddingBottom:18,width:"100%"},detailContainer:{padding:"0 22px",marginBottom:20,fontSize:14},titleLabel:{fontSize:14,fontWeight:"bold",color:"#000",padding:"12px 22px 8px 22px"},objectActions:{backgroundColor:"#F8F8F8",border:"#F1F1F1 1px solid",borderRadius:3,margin:"8px 22px",padding:0,color:"#696969","& li":{listStyle:"none",padding:6,margin:0,borderBottom:"#E5E5E5 1px solid",fontSize:14,"&:first-of-type":{padding:10,fontWeight:"bold",color:"#000"},"&:last-of-type":{borderBottom:0}}}},G={deleted:{color:"#ACACAC",backgroundColor:"#FDFDFD",fontStyle:"italic"}}},45980:function(e,t,n){"use strict";var r,a=n(23430),o=n(50390),i=n(34424),s=n(38342),l=n.n(s),c=n(92125),u=n(19538),d=n(21278),f=n(86509),p=n(4285),h=n(44149),m=n(62559),v=function(e){r=setInterval(e,1e4)},g=function(){clearInterval(r)},y={displayErrorMessage:h.Ih},x=(0,i.$j)((function(e){return{snackBar:e.system.snackBar}}),y);t.Z=x((0,p.Z)((function(e){return(0,f.Z)({mainErrorContainer:{position:"fixed",width:"100%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:5e3,padding:"10px 15px",maxWidth:600,left:"50%",transform:"translateX(-50%)",marginTop:15,opacity:0,transitionDuration:"0.2s"},mainErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},simpleError:{marginTop:5,padding:"2px 5px",fontSize:16,color:"#000"},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var t=e.classes,n=e.snackBar,i=e.displayErrorMessage,s=e.customStyle,f=(0,o.useState)(!1),p=(0,a.Z)(f,2),h=p[0],y=p[1],x=(0,o.useState)(!1),b=(0,a.Z)(x,2),w=b[0],_=b[1],j=(0,o.useCallback)((function(){_(!1)}),[]);(0,o.useEffect)((function(){w||(i({detailedError:"",errorMessage:""}),y(!1),clearInterval(r))}),[i,w]),(0,o.useEffect)((function(){""!==n.message&&"error"===n.type&&(_(!0),v(j))}),[j,n.message,n.type]);var S=l()(n,"message",""),E=l()(n,"detailedErrorMsg","");return"error"!==n.type||""===S?null:(0,m.jsx)(o.Fragment,{children:(0,m.jsxs)("div",{className:"".concat(t.mainErrorContainer," ").concat(w?t.mainErrorShow:""),style:s,onMouseOver:g,onMouseLeave:function(){return v(j)},children:[(0,m.jsx)("button",{className:t.closeButton,onClick:j,children:(0,m.jsx)(d.Z,{})}),(0,m.jsxs)("div",{className:t.errorTitle,children:[(0,m.jsx)("span",{className:t.messageIcon,children:(0,m.jsx)(u.Z,{})}),(0,m.jsx)("span",{className:t.errorLabel,children:"Error"})]}),(0,m.jsx)("div",{className:t.simpleError,children:S}),""!==E&&(0,m.jsxs)(o.Fragment,{children:[(0,m.jsx)("div",{className:t.detailsContainerLink,children:(0,m.jsxs)("button",{className:t.detailsButton,onClick:function(){y(!h)},children:["Details",(0,m.jsx)(c.Z,{className:"".concat(t.arrowElement," ").concat(h?t.arrowOpen:"")})]})}),(0,m.jsx)("div",{className:"".concat(t.extraDetailsContainer," ").concat(h?t.extraDetailsOpen:""),children:E})]})]})})})))},47373:function(e,t,n){"use strict";n.d(t,{N1:function(){return r},cM:function(){return a},xG:function(){return o},jv:function(){return i}});var r="DASHBOARD/OPEN_ZOOM",a="DASHBOARD/CLOSE_ZOOM";function o(e){return{type:r,widget:e}}function i(){return{type:a}}},43117:function(e,t,n){"use strict";n.d(t,{J:function(){return r}});var r="DIRECT_CSI/SELECT_DRIVE"},71497:function(e,t,n){"use strict";n.d(t,{$P:function(){return r},X8:function(){return a},ec:function(){return o},Xp:function(){return i}});var r="HEALTH_INFO_MESSAGE_RECEIVED",a="HEALTH_INFO_RESET_MESSAGE";function o(e){return{type:r,message:e}}function i(){return{type:a}}},70753:function(e,t,n){"use strict";n.d(t,{JL:function(){return r},me:function(){return a},Qo:function(){return o},i1:function(){return i}});var r="LOG_MESSAGE_RECEIVED",a="LOG_RESET_MESSAGES";function o(e){return{type:r,message:e}}function i(){return{type:a}}},5265:function(e,t,n){"use strict";n.d(t,{lx:function(){return r},JR:function(){return a},lB:function(){return o},nY:function(){return i},kB:function(){return s},GW:function(){return l},P$:function(){return c},sR:function(){return u},Jt:function(){return d},f0:function(){return f},SZ:function(){return p},t$:function(){return h},SV:function(){return m},_w:function(){return v},WA:function(){return g},Mc:function(){return y},RO:function(){return x},oK:function(){return b},lF:function(){return w},XH:function(){return _},kQ:function(){return j},LD:function(){return S},G4:function(){return E}});var r="REWIND/SET_ENABLE",a="REWIND/RESET_REWIND",o="BUCKET_BROWSER/FILE_MODE_ENABLED",i="OBJECT_MANAGER/NEW_OBJECT",s="OBJECT_MANAGER/UPDATE_PROGRESS_OBJECT",l="OBJECT_MANAGER/COMPLETE_OBJECT",c="OBJECT_MANAGER/DELETE_FROM_OBJECT_LIST",u="OBJECT_MANAGER/CLEAN_LIST",d="OBJECT_MANAGER/TOGGLE_LIST",f="OBJECT_MANAGER/OPEN_LIST",p="OBJECT_MANAGER/CLOSE_LIST",h="OBJECT_MANAGER/SET_SEARCH_OBJECT",m=function(e,t,n){return{type:r,state:e,bucket:t,dateRewind:n}},v=function(){return{type:a}},g=function(e){return{type:o,status:e}},y=function(e){return{type:i,newObject:e}},x=function(e,t){return{type:s,instanceID:e,progress:t}},b=function(e){return{type:l,instanceID:e}},w=function(e){return{type:c,instanceID:e}},_=function(){return{type:u}},j=function(){return{type:d}},S=function(){return{type:f}},E=function(e){return{type:h,searchString:e}}},77441:function(e,t,n){"use strict";n.d(t,{d0:function(){return r},JC:function(){return a},Jq:function(){return o},j5:function(){return i},$0:function(){return s},WC:function(){return l},nr:function(){return c},KU:function(){return u},$j:function(){return d},Oz:function(){return f},PO:function(){return p},HD:function(){return h},wv:function(){return m},lV:function(){return v},dJ:function(){return g},AY:function(){return y},J7:function(){return x},ci:function(){return b},s5:function(){return w},A3:function(){return _},ox:function(){return j},Vr:function(){return S},Mm:function(){return E},Xq:function(){return Z},f$:function(){return T},E0:function(){return A}});var r="ADD_TENANT/SET_CURRENT_PAGE",a="ADD_TENANT/UPDATE_FIELD",o="ADD_TENANT/SET_PAGE_VALID",i="ADD_TENANT/RESET_FORM",s="ADD_TENANT/SET_STORAGE_CLASSES_LIST",l="ADD_TENANT/SET_LIMIT_SIZE",c="ADD_TENANT/ADD_MINIO_KEYPAIR",u="ADD_TENANT/ADD_FILE_MINIO_KEYPAIR",d="ADD_TENANT/DELETE_MINIO_KEYPAIR",f="ADD_TENANT/ADD_CA_KEYPAIR",p="ADD_TENANT/ADD_FILE_TO_CA_KEYPAIR",h="ADD_TENANT/DELETE_CA_KEYPAIR",m="ADD_TENANT/ADD_CONSOLE_CERT",v="ADD_TENANT/ADD_CONSOLE_CA_KEYPAIR",g="ADD_TENANT/ADD_FILE_TO_CONSOLE_CA_KEYPAIR",y="ADD_TENANT/DELETE_CONSOLE_CA_KEYPAIR",x="ADD_TENANT/ENCRYPTION_SERVER_CERT",b="ADD_TENANT/ENCRYPTION_CLIENT_CERT",w="ADD_TENANT/ENCRYPTION_VAULT_CERT",_="ADD_TENANT/ENCRYPTION_VAULT_CA",j="ADD_TENANT/ENCRYPTION_GEMALTO_CA",S="ADD_TENANT/SET_KEY_PAIR_VALUE",E="TENANT_DETAILS/SET_LOADING",Z="TENANT_DETAILS/SET_CURRENT_TENANT",T="TENANT_DETAILS/SET_TENANT",A="TENANT_DETAILS/SET_TAB"},10369:function(e,t,n){"use strict";n.d(t,{h:function(){return a},z:function(){return o}});var r=n(18489),a=function(e,t){var n=(0,r.Z)({},e);return delete n[t],n},o=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16,t="",n="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",r=0;r0&&void 0!==arguments[0]?arguments[0]:g,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case v.TY:return(0,m.Z)((0,m.Z)({},e),{},{loggedIn:t.logged});case v.M6:return(0,m.Z)((0,m.Z)({},e),{},{operatorMode:t.operatorMode});case v.YY:return localStorage.setItem("sidebarOpen",JSON.stringify({open:t.open})),(0,m.Z)((0,m.Z)({},e),{},{sidebarOpen:t.open});case v.vx:return(0,m.Z)((0,m.Z)({},e),{},{serverNeedsRestart:t.needsRestart});case v.mp:return(0,m.Z)((0,m.Z)({},e),{},{serverIsLoading:t.isLoading});case v.b7:return(0,m.Z)((0,m.Z)({},e),{},{loadingProgress:t.loadingProgress});case v.pX:return(0,m.Z)((0,m.Z)({},e),{},{snackBar:{message:t.message,detailedErrorMsg:"",type:"message"}});case v.Cs:return(0,m.Z)((0,m.Z)({},e),{},{snackBar:{message:t.message.errorMessage,detailedErrorMsg:t.message.detailedError,type:"error"}});case v.MC:return(0,m.Z)((0,m.Z)({},e),{},{modalSnackBar:{message:t.message,detailedErrorMsg:"",type:"message"}});case v.DA:return(0,m.Z)((0,m.Z)({},e),{},{modalSnackBar:{message:t.message.errorMessage,detailedErrorMsg:t.message.detailedError,type:"error"}});case v.YH:return(0,m.Z)((0,m.Z)({},e),{},{serverDiagnosticStatus:t.serverDiagnosticStatus});case v.nl:return(0,m.Z)((0,m.Z)({},e),{},{distributedSetup:t.distributedSetup});default:return e}},trace:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:b,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case x.Q:return(0,m.Z)((0,m.Z)({},e),{},{messages:[].concat((0,y.Z)(e.messages),[t.message])});case x.TU:return(0,m.Z)((0,m.Z)({},e),{},{messages:[]});case x.Dx:return(0,m.Z)((0,m.Z)({},e),{},{traceStarted:t.status});default:return e}},logs:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case w.JL:return(0,m.Z)((0,m.Z)({},e),{},{messages:[].concat((0,y.Z)(e.messages),[t.message])});case w.me:return(0,m.Z)((0,m.Z)({},e),{},{messages:[]});default:return e}},watch:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Z,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case E.jj:return(0,m.Z)((0,m.Z)({},e),{},{messages:[].concat((0,y.Z)(e.messages),[t.message])});case E.Vu:return(0,m.Z)((0,m.Z)({},e),{},{messages:[]});default:return e}},console:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:A,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case T.jj:return(0,m.Z)((0,m.Z)({},e),{},{session:t.message});case T.F9:return(0,m.Z)((0,m.Z)({},e),{},{session:A.session});default:return e}},buckets:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:M,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case C.Kr:return(0,m.Z)((0,m.Z)({},e),{},{open:t.open});case C.ST:return(0,m.Z)((0,m.Z)({},e),{},{addBucketName:t.name});case C.sp:return(0,m.Z)((0,m.Z)({},e),{},{addBucketVersioningEnabled:t.versioned});case C.mx:return(0,m.Z)((0,m.Z)({},e),{},{addBucketLockingEnabled:t.locking});case C.p9:return(0,m.Z)((0,m.Z)({},e),{},{addBucketQuotaEnabled:t.quota});case C.YK:return(0,m.Z)((0,m.Z)({},e),{},{addBucketQuotaType:t.quotaType});case C.Mz:return(0,m.Z)((0,m.Z)({},e),{},{addBucketQuotaSize:t.quotaSize});case C.hO:return(0,m.Z)((0,m.Z)({},e),{},{addBucketQuotaUnit:t.quotaUnit});case C.sP:return(0,m.Z)((0,m.Z)({},e),{},{addBucketRetentionEnabled:t.retention});case C.cD:return(0,m.Z)((0,m.Z)({},e),{},{addBucketRetentionMode:t.retentionMode});case C.k7:return(0,m.Z)((0,m.Z)({},e),{},{addBucketRetentionUnit:t.retentionUnit});case C.Nv:return(0,m.Z)((0,m.Z)({},e),{},{addBucketRetentionValidity:t.retentionValidity});case C.Wz:return(0,m.Z)((0,m.Z)({},e),{},{bucketDetails:(0,m.Z)((0,m.Z)({},e.bucketDetails),{},{selectedTab:t.tab})});case C.vw:return(0,m.Z)((0,m.Z)({},e),{},{addBucketName:"",addBucketVersioningEnabled:!1,addBucketLockingEnabled:!1,addBucketQuotaEnabled:!1,addBucketQuotaType:"hard",addBucketQuotaSize:"1",addBucketQuotaUnit:"TiB",addBucketRetentionEnabled:!1,addBucketRetentionMode:"compliance",addBucketRetentionUnit:"days",addBucketRetentionValidity:1});case C.qk:return(0,m.Z)((0,m.Z)({},e),{},{bucketDetails:(0,m.Z)((0,m.Z)({},e.bucketDetails),{},{loadingBucket:t.state})});case C.l5:return(0,m.Z)((0,m.Z)({},e),{},{bucketDetails:(0,m.Z)((0,m.Z)({},e.bucketDetails),{},{bucketInfo:t.info})});default:return e}},objectBrowser:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:O,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case k.lx:var n=(0,m.Z)((0,m.Z)({},e.rewind),{},{rewindEnabled:t.state,bucketToRewind:t.bucket,dateToRewind:t.dateRewind});return(0,m.Z)((0,m.Z)({},e),{},{rewind:n});case k.JR:var r={rewindEnabled:!1,bucketToRewind:"",dateToRewind:null};return(0,m.Z)((0,m.Z)({},e),{},{rewind:r});case k.lB:return(0,m.Z)((0,m.Z)({},e),{},{fileMode:t.status});case k.nY:var a=[t.newObject].concat((0,y.Z)(e.objectManager.objectsToManage));return(0,m.Z)((0,m.Z)({},e),{},{objectManager:{objectsToManage:a,managerOpen:e.objectManager.managerOpen}});case k.kB:var o=(0,y.Z)(e.objectManager.objectsToManage),i=e.objectManager.objectsToManage.findIndex((function(e){return e.instanceID===t.instanceID}));return-1===i?(0,m.Z)({},e):(o[i].percentage=t.progress,o[i].waitingForFile=!1,(0,m.Z)((0,m.Z)({},e),{},{objectManager:{objectsToManage:o,managerOpen:e.objectManager.managerOpen}}));case k.GW:var s=(0,y.Z)(e.objectManager.objectsToManage),l=e.objectManager.objectsToManage.findIndex((function(e){return e.instanceID===t.instanceID}));return-1===l?(0,m.Z)({},e):(s[l].percentage=100,s[l].waitingForFile=!1,s[l].done=!0,(0,m.Z)((0,m.Z)({},e),{},{objectManager:{objectsToManage:s,managerOpen:e.objectManager.managerOpen}}));case k.P$:var c=e.objectManager.objectsToManage.filter((function(e){return e.instanceID!==t.instanceID}));return(0,m.Z)((0,m.Z)({},e),{},{objectManager:{objectsToManage:c,managerOpen:0!==c.length&&e.objectManager.managerOpen}});case k.sR:var u=e.objectManager.objectsToManage.filter((function(e){return!e.done}));return(0,m.Z)((0,m.Z)({},e),{},{objectManager:{objectsToManage:u,managerOpen:0!==u.length&&e.objectManager.managerOpen}});case k.Jt:return(0,m.Z)((0,m.Z)({},e),{},{objectManager:(0,m.Z)((0,m.Z)({},e.objectManager),{},{managerOpen:!e.objectManager.managerOpen})});case k.f0:return(0,m.Z)((0,m.Z)({},e),{},{objectManager:(0,m.Z)((0,m.Z)({},e.objectManager),{},{managerOpen:!0})});case k.SZ:return(0,m.Z)((0,m.Z)({},e),{},{objectManager:(0,m.Z)((0,m.Z)({},e.objectManager),{},{managerOpen:!1})});case k.t$:return(0,m.Z)((0,m.Z)({},e),{},{searchObjects:t.searchString});default:return e}},healthInfo:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:S,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case j.$P:return(0,m.Z)((0,m.Z)({},e),{},{message:t.message});case j.X8:return(0,m.Z)((0,m.Z)({},e),{},{message:{}});default:return e}},tenants:function(){var e,t,n,r,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:B,o=arguments.length>1?arguments[1]:void 0,i=(0,m.Z)({},a);switch(o.type){case L.d0:return i.createTenant.page=o.page,(0,m.Z)({},i);case L.JC:if(N()(i.createTenant.fields,"".concat(o.pageName,".").concat(o.field))){var s=I()(i.createTenant.fields,"".concat(o.pageName),{}),l={};l[o.field]=o.value;var c=(0,m.Z)((0,m.Z)({},s),l);return i.createTenant.fields[o.pageName]=(0,m.Z)({},c),(0,m.Z)({},i)}return a;case L.Jq:var u=a.createTenant.validPages;if(o.valid)u.includes(o.pageName)||(u.push(o.pageName),i.createTenant.validPages=(0,y.Z)(u));else{var d=u.filter((function(e){return e!==o.pageName}));i.createTenant.validPages=(0,y.Z)(d)}return(0,m.Z)({},i);case L.$0:var f=(0,m.Z)((0,m.Z)({},a),{},{createTenant:(0,m.Z)((0,m.Z)({},a.createTenant),{},{storageClasses:o.storageClasses})});return(0,m.Z)({},f);case L.WC:var p=(0,m.Z)((0,m.Z)({},a),{},{createTenant:(0,m.Z)((0,m.Z)({},a.createTenant),{},{limitSize:o.limitSize})});return(0,m.Z)({},p);case L.nr:var h=[].concat((0,y.Z)(a.createTenant.certificates.minioCertificates),[{id:Date.now().toString(),key:"",cert:"",encoded_key:"",encoded_cert:""}]);return i.createTenant.certificates.minioCertificates=(0,y.Z)(h),(0,m.Z)({},i);case L.KU:var v=a.createTenant.certificates.minioCertificates,g=v.map((function(e){var t;return e.id===o.id?(0,m.Z)((0,m.Z)({},e),{},(t={},(0,P.Z)(t,o.key,o.fileName),(0,P.Z)(t,"encoded_".concat(o.key),o.value),t)):e}));return i.createTenant.certificates.minioCertificates=(0,y.Z)(g),(0,m.Z)({},i);case L.$j:var x=a.createTenant.certificates.minioCertificates;if(x.length>1){var b=x.filter((function(e){return e.id!==o.id}));return i.createTenant.certificates.minioCertificates=(0,y.Z)(b),(0,m.Z)({},i)}return(0,m.Z)({},a);case L.Oz:var w=[].concat((0,y.Z)(a.createTenant.certificates.caCertificates),[{id:Date.now().toString(),key:"",cert:"",encoded_key:"",encoded_cert:""}]);return i.createTenant.certificates.caCertificates=(0,y.Z)(w),(0,m.Z)({},i);case L.PO:var _=a.createTenant.certificates.caCertificates,j=_.map((function(e){var t;return e.id===o.id?(0,m.Z)((0,m.Z)({},e),{},(t={},(0,P.Z)(t,o.key,o.fileName),(0,P.Z)(t,"encoded_".concat(o.key),o.value),t)):e}));return i.createTenant.certificates.caCertificates=(0,y.Z)(j),(0,m.Z)({},i);case L.HD:var S=a.createTenant.certificates.caCertificates;if(S.length>1){var E=S.filter((function(e){return e.id!==o.id}));return i.createTenant.certificates.caCertificates=(0,y.Z)(E),(0,m.Z)({},i)}return(0,m.Z)({},a);case L.wv:var Z=a.createTenant.certificates.consoleCertificate;return i.createTenant.certificates.consoleCertificate=(0,m.Z)((0,m.Z)({},Z),{},(e={},(0,P.Z)(e,o.key,o.fileName),(0,P.Z)(e,"encoded_".concat(o.key),o.value),e)),(0,m.Z)({},i);case L.lV:var T=[].concat((0,y.Z)(a.createTenant.certificates.consoleCaCertificates),[{id:Date.now().toString(),key:"",cert:"",encoded_key:"",encoded_cert:""}]);return i.createTenant.certificates.consoleCaCertificates=(0,y.Z)(T),(0,m.Z)({},i);case L.dJ:var A=a.createTenant.certificates.consoleCaCertificates,C=A.map((function(e){var t;return e.id===o.id?(0,m.Z)((0,m.Z)({},e),{},(t={},(0,P.Z)(t,o.key,o.fileName),(0,P.Z)(t,"encoded_".concat(o.key),o.value),t)):e}));return i.createTenant.certificates.consoleCaCertificates=(0,y.Z)(C),(0,m.Z)({},i);case L.AY:var M=a.createTenant.certificates.consoleCaCertificates;if(M.length>1){var k=M.filter((function(e){return e.id!==o.id}));return i.createTenant.certificates.consoleCaCertificates=(0,y.Z)(k),(0,m.Z)({},i)}return(0,m.Z)({},a);case L.J7:var O=a.createTenant.certificates.serverCertificate;return i.createTenant.certificates.serverCertificate=(0,m.Z)((0,m.Z)({},O),{},(t={},(0,P.Z)(t,o.key,o.fileName),(0,P.Z)(t,"encoded_".concat(o.key),o.value),t)),(0,m.Z)({},i);case L.ci:var R=a.createTenant.certificates.clientCertificate;return i.createTenant.certificates.clientCertificate=(0,m.Z)((0,m.Z)({},R),{},(n={},(0,P.Z)(n,o.key,o.fileName),(0,P.Z)(n,"encoded_".concat(o.key),o.value),n)),(0,m.Z)({},i);case L.s5:var z=a.createTenant.certificates.vaultCertificate;return i.createTenant.certificates.vaultCertificate=(0,m.Z)((0,m.Z)({},z),{},(r={},(0,P.Z)(r,o.key,o.fileName),(0,P.Z)(r,"encoded_".concat(o.key),o.value),r)),(0,m.Z)({},i);case L.A3:var H=a.createTenant.certificates.vaultCA;return i.createTenant.certificates.vaultCA=(0,m.Z)((0,m.Z)({},H),{},{cert:o.fileName,encoded_cert:o.value}),(0,m.Z)({},i);case L.ox:var V=a.createTenant.certificates.gemaltoCA;return i.createTenant.certificates.gemaltoCA=(0,m.Z)((0,m.Z)({},V),{},{cert:o.fileName,encoded_cert:o.value}),(0,m.Z)({},i);case L.j5:return(0,m.Z)((0,m.Z)({},a),{},{createTenant:{page:0,validPages:["tenantSize","configure","affinity","identityProvider","security","encryption"],storageClasses:[],limitSize:{},fields:{nameTenant:{tenantName:"",namespace:"",selectedStorageClass:"",selectedStorageType:""},configure:{customImage:!1,imageName:"",customDockerhub:!1,imageRegistry:"",imageRegistryUsername:"",imageRegistryPassword:"",exposeMinIO:!0,exposeConsole:!0,tenantCustom:!1,logSearchCustom:!1,prometheusCustom:!1,logSearchVolumeSize:"5",logSearchSizeFactor:"Gi",logSearchSelectedStorageClass:"default",logSearchImage:"",kesImage:"",logSearchPostgresImage:"",logSearchPostgresInitImage:"",prometheusVolumeSize:"5",prometheusSizeFactor:"Gi",prometheusSelectedStorageClass:"default",prometheusImage:"",prometheusSidecarImage:"",prometheusInitImage:"",tenantSecurityContext:{runAsUser:"1000",runAsGroup:"1000",fsGroup:"1000",runAsNonRoot:!0},logSearchSecurityContext:{runAsUser:"1000",runAsGroup:"1000",fsGroup:"1000",runAsNonRoot:!0},logSearchPostgresSecurityContext:{runAsUser:"999",runAsGroup:"999",fsGroup:"999",runAsNonRoot:!0},prometheusSecurityContext:{runAsUser:"1000",runAsGroup:"1000",fsGroup:"1000",runAsNonRoot:!0}},identityProvider:{idpSelection:"Built-in",accessKeys:[(0,D.z)(16)],secretKeys:[(0,D.z)(32)],openIDConfigurationURL:"",openIDClientID:"",openIDSecretID:"",openIDCallbackURL:"",openIDClaimName:"",openIDScopes:"",ADURL:"",ADSkipTLS:!1,ADServerInsecure:!1,ADUserNameSearchFilter:"",ADGroupSearchBaseDN:"",ADGroupSearchFilter:"",ADGroupNameAttribute:"",ADUserDNs:[""],ADUserNameFormat:"",ADLookupBindDN:"",ADLookupBindPassword:"",ADUserDNSearchBaseDN:"",ADUserDNSearchFilter:"",ADServerStartTLS:!1},security:{enableAutoCert:!0,enableCustomCerts:!1,enableTLS:!0},encryption:{enableEncryption:!1,encryptionType:"vault",gemaltoEndpoint:"",gemaltoToken:"",gemaltoDomain:"",gemaltoRetry:"0",awsEndpoint:"",awsRegion:"",awsKMSKey:"",awsAccessKey:"",awsSecretKey:"",awsToken:"",vaultEndpoint:"",vaultEngine:"",vaultNamespace:"",vaultPrefix:"",vaultAppRoleEngine:"",vaultId:"",vaultSecret:"",vaultRetry:"0",vaultPing:"0",azureEndpoint:"",azureTenantID:"",azureClientID:"",azureClientSecret:"",gcpProjectID:"",gcpEndpoint:"",gcpClientEmail:"",gcpClientID:"",gcpPrivateKeyID:"",gcpPrivateKey:"",enableCustomCertsForKES:!1,replicas:"1",kesSecurityContext:{runAsUser:"1000",runAsGroup:"1000",fsGroup:"1000",runAsNonRoot:!0}},tenantSize:{volumeSize:"100",sizeFactor:"Gi",drivesPerServer:"1",nodes:"4",memoryNode:"2",ecParity:"",ecParityChoices:[],cleanECChoices:[],distribution:{error:"",nodes:0,persistentVolumes:0,disks:0},ecParityCalc:{error:0,defaultEC:"",erasureCodeSet:0,maxEC:"",rawCapacity:"0",storageFactors:[]},limitSize:{},cpuToUse:"0",resourcesSpecifyLimit:!1,resourcesCPURequestError:"",resourcesCPURequest:"",resourcesCPULimitError:"",resourcesCPULimit:"",resourcesMemoryRequestError:"",resourcesMemoryRequest:"",resourcesMemoryLimitError:"",resourcesMemoryLimit:"",resourcesSize:{error:"",memoryRequest:0,memoryLimit:0,cpuRequest:0,cpuLimit:0},maxAllocatableResources:{min_allocatable_mem:0,min_allocatable_cpu:0,cpu_priority:{max_allocatable_cpu:0,max_allocatable_mem:0},mem_priority:{max_allocatable_cpu:0,max_allocatable_mem:0}},maxCPUsUse:"0",maxMemorySize:"0",integrationSelection:{driveSize:{driveSize:"0",sizeUnit:"B"},CPU:0,typeSelection:"",memory:0,drivesPerServer:0,storageClass:""}},affinity:{nodeSelectorLabels:"",podAffinity:"default",withPodAntiAffinity:!0}},certificates:{minioCertificates:[{id:Date.now().toString(),key:"",cert:"",encoded_key:"",encoded_cert:""}],caCertificates:[{id:Date.now().toString(),key:"",cert:"",encoded_key:"",encoded_cert:""}],consoleCaCertificates:[{id:Date.now().toString(),key:"",cert:"",encoded_key:"",encoded_cert:""}],consoleCertificate:{id:"console_cert_pair",key:"",cert:"",encoded_key:"",encoded_cert:""},serverCertificate:{id:"encryptionServerCertificate",key:"",cert:"",encoded_key:"",encoded_cert:""},clientCertificate:{id:"encryptionClientCertificate",key:"",cert:"",encoded_key:"",encoded_cert:""},vaultCertificate:{id:"encryptionVaultCertificate",key:"",cert:"",encoded_key:"",encoded_cert:""},vaultCA:{id:"encryptionVaultCA",key:"",cert:"",encoded_key:"",encoded_cert:""},gemaltoCA:{id:"encryptionGemaltoCA",key:"",cert:"",encoded_key:"",encoded_cert:""}},nodeSelectorPairs:[{key:"",value:""}]}});case L.Vr:return(0,m.Z)((0,m.Z)({},a),{},{createTenant:(0,m.Z)((0,m.Z)({},a.createTenant),{},{nodeSelectorPairs:o.newArray})});case L.Mm:var U=(0,m.Z)((0,m.Z)({},a.tenantDetails),{},{loadingTenant:o.state});return(0,m.Z)((0,m.Z)({},a),{},{tenantDetails:(0,m.Z)({},U)});case L.Xq:var F=(0,m.Z)((0,m.Z)({},a.tenantDetails),{},{currentTenant:o.name,currentNamespace:o.namespace});return(0,m.Z)((0,m.Z)({},a),{},{tenantDetails:(0,m.Z)({},F)});case L.f$:var G=null;o.tenant&&(G={tenantInfo:(0,m.Z)({},o.tenant)});var W=(0,m.Z)((0,m.Z)({},a.tenantDetails),G);return(0,m.Z)((0,m.Z)({},a),{},{tenantDetails:(0,m.Z)({},W)});case L.E0:var K=(0,m.Z)((0,m.Z)({},a.tenantDetails),{},{currentTab:o.tab});return(0,m.Z)((0,m.Z)({},a),{},{tenantDetails:(0,m.Z)({},K)});default:return a}},directCSI:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:V,t=arguments.length>1?arguments[1]:void 0;if(t.type===H.J){if(""!==t.driveName){var n=(0,m.Z)({},e);return n.selectedDrive=t.driveName,n}return e}return e},dashboard:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:F,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case U.N1:return(0,m.Z)((0,m.Z)({},e),{},{zoom:{openZoom:!0,widgetRender:(0,m.Z)({},t.widget)}});case U.cM:return(0,m.Z)((0,m.Z)({},e),{},{zoom:{openZoom:!1,widgetRender:null}});default:return e}}}),W=function e(t,n,r){var a;if("function"===typeof n&&"function"===typeof r||"function"===typeof r&&"function"===typeof arguments[3])throw new Error(i(0));if("function"===typeof n&&"undefined"===typeof r&&(r=n,n=void 0),"undefined"!==typeof r){if("function"!==typeof r)throw new Error(i(1));return r(e)(t,n)}if("function"!==typeof t)throw new Error(i(2));var o=t,l=n,d=[],f=d,p=!1;function h(){f===d&&(f=d.slice())}function m(){if(p)throw new Error(i(3));return l}function v(e){if("function"!==typeof e)throw new Error(i(4));if(p)throw new Error(i(5));var t=!0;return h(),f.push(e),function(){if(t){if(p)throw new Error(i(6));t=!1,h();var n=f.indexOf(e);f.splice(n,1),d=null}}}function g(e){if(!u(e))throw new Error(i(7));if("undefined"===typeof e.type)throw new Error(i(8));if(p)throw new Error(i(9));try{p=!0,l=o(l,e)}finally{p=!1}for(var t=d=f,n=0;n0?u(b,--y):0,v--,10===x&&(v=1,m--),x}function S(){return x=y2||A(x)>3?"":" "}function P(e,t){for(;--t&&S()&&!(x<48||x>102||x>57&&x<65||x>70&&x<97););return T(e,Z()+(t<6&&32==E()&&32==S()))}function R(e){for(;S();)switch(x){case e:return y;case 34:case 39:34!==e&&39!==e&&R(x);break;case 40:41===e&&R(e);break;case 92:S()}return y}function N(e,t){for(;S()&&e+x!==57&&(e+x!==84||47!==E()););return"/*"+T(t,y-1)+"*"+o(47===e?e:S())}function z(e){for(;!A(E());)S();return T(e,y)}var I="-ms-",L="-moz-",D="-webkit-",B="comm",H="rule",V="decl",U="@keyframes";function F(e,t){for(var n="",r=p(e),a=0;a6)switch(u(e,t+1)){case 109:if(45!==u(e,t+4))break;case 102:return l(e,/(.+:)(.+)-([^]+)/,"$1-webkit-$2-$3$1"+L+(108==u(e,t+3)?"$3":"$2-$3"))+e;case 115:return~c(e,"stretch")?W(l(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==u(e,t+1))break;case 6444:switch(u(e,f(e)-3-(~c(e,"!important")&&10))){case 107:return l(e,":",":"+D)+e;case 101:return l(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+D+(45===u(e,14)?"inline-":"")+"box$3$1"+D+"$2$3$1"+I+"$2box$3")+e}break;case 5936:switch(u(e,t+11)){case 114:return D+e+I+l(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return D+e+I+l(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return D+e+I+l(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return D+e+I+e+e}return e}function K(e){return M(q("",null,null,null,[""],e=C(e),0,[0],e))}function q(e,t,n,r,a,i,s,u,d){for(var p=0,m=0,v=s,g=0,y=0,x=0,b=1,w=1,_=1,T=0,A="",C=a,M=i,R=r,I=A;w;)switch(x=T,T=S()){case 40:if(108!=x&&58==I.charCodeAt(v-1)){-1!=c(I+=l(k(T),"&","&\f"),"&\f")&&(_=-1);break}case 34:case 39:case 91:I+=k(T);break;case 9:case 10:case 13:case 32:I+=O(x);break;case 92:I+=P(Z()-1,7);continue;case 47:switch(E()){case 42:case 47:h(Y(N(S(),Z()),t,n),d);break;default:I+="/"}break;case 123*b:u[p++]=f(I)*_;case 125*b:case 59:case 0:switch(T){case 0:case 125:w=0;case 59+m:y>0&&f(I)-v&&h(y>32?Q(I+";",r,n,v-1):Q(l(I," ","")+";",r,n,v-2),d);break;case 59:I+=";";default:if(h(R=$(I,t,n,p,m,a,u,A,C=[],M=[],v),i),123===T)if(0===m)q(I,t,R,R,C,i,v,u,M);else switch(g){case 100:case 109:case 115:q(e,R,R,r&&h($(e,R,R,0,0,a,u,A,a,C=[],v),M),a,M,v,u,r?C:M);break;default:q(I,R,R,R,[""],M,0,u,M)}}p=m=y=0,b=_=1,A=I="",v=s;break;case 58:v=1+f(I),y=x;default:if(b<1)if(123==T)--b;else if(125==T&&0==b++&&125==j())continue;switch(I+=o(T),T*b){case 38:_=m>0?1:(I+="\f",-1);break;case 44:u[p++]=(f(I)-1)*_,_=1;break;case 64:45===E()&&(I+=k(S())),g=E(),m=v=f(A=I+=z(Z())),T++;break;case 45:45===x&&2==f(I)&&(b=0)}}return i}function $(e,t,n,r,o,i,c,u,f,h,m){for(var v=o-1,g=0===o?i:[""],y=p(g),x=0,b=0,_=0;x0?g[j]+" "+S:l(S,/&\f/g,g[j])))&&(f[_++]=E);return w(e,t,n,0===o?H:u,f,h,m)}function Y(e,t,n){return w(e,t,n,B,o(x),d(e,2,-2),0)}function Q(e,t,n,r){return w(e,t,n,V,d(e,0,r),d(e,r+1,-1),r)}var X=function(e,t,n){for(var r=0,a=0;r=a,a=E(),38===r&&12===a&&(t[n]=1),!A(a);)S();return T(e,y)},J=function(e,t){return M(function(e,t){var n=-1,r=44;do{switch(A(r)){case 0:38===r&&12===E()&&(t[n]=1),e[n]+=X(y-1,t,n);break;case 2:e[n]+=k(r);break;case 4:if(44===r){e[++n]=58===E()?"&\f":"",t[n]=e[n].length;break}default:e[n]+=o(r)}}while(r=S());return e}(C(e),t))},ee=new WeakMap,te=function(e){if("rule"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,n=e.parent,r=e.column===n.column&&e.line===n.line;"rule"!==n.type;)if(!(n=n.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||ee.get(n))&&!r){ee.set(e,!0);for(var a=[],o=J(t,a),i=n.props,s=0,l=0;s-1&&!e.return)switch(e.type){case V:e.return=W(e.value,e.length);break;case U:return F([_(e,{value:l(e.value,"@","@"+D)})],r);case H:if(e.length)return function(e,t){return e.map(t).join("")}(e.props,(function(t){switch(function(e,t){return(e=t.exec(e))?e[0]:e}(t,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return F([_(e,{props:[l(t,/:(read-\w+)/,":-moz-$1")]})],r);case"::placeholder":return F([_(e,{props:[l(t,/:(plac\w+)/,":-webkit-input-$1")]}),_(e,{props:[l(t,/:(plac\w+)/,":-moz-$1")]}),_(e,{props:[l(t,/:(plac\w+)/,I+"input-$1")]})],r)}return""}))}}],ae=function(e){var t=e.key;if("css"===t){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,(function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))}))}var a=e.stylisPlugins||re;var o,i,s={},l=[];o=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),(function(e){for(var t=e.getAttribute("data-emotion").split(" "),n=1;n=4;++r,a-=4)t=1540483477*(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(a){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(r)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)},a={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},o=n(71049),i=/[A-Z]|^ms/g,s=/_EMO_([^_]+?)_([^]*?)_EMO_/g,l=function(e){return 45===e.charCodeAt(1)},c=function(e){return null!=e&&"boolean"!==typeof e},u=(0,o.Z)((function(e){return l(e)?e:e.replace(i,"-$&").toLowerCase()})),d=function(e,t){switch(e){case"animation":case"animationName":if("string"===typeof t)return t.replace(s,(function(e,t,n){return p={name:t,styles:n,next:p},t}))}return 1===a[e]||l(e)||"number"!==typeof t||0===t?t:t+"px"};function f(e,t,n){if(null==n)return"";if(void 0!==n.__emotion_styles)return n;switch(typeof n){case"boolean":return"";case"object":if(1===n.anim)return p={name:n.name,styles:n.styles,next:p},n.name;if(void 0!==n.styles){var r=n.next;if(void 0!==r)for(;void 0!==r;)p={name:r.name,styles:r.styles,next:p},r=r.next;return n.styles+";"}return function(e,t,n){var r="";if(Array.isArray(n))for(var a=0;a0){var a,o,i=Boolean((null==(a=T.current)?void 0:a.shiftKey)&&"Tab"===(null==(o=T.current)?void 0:o.key)),s=r[0],l=r[r.length-1];i?l.focus():s.focus()}else n.focus()}}else x.current=!1},n=function(t){T.current=t,!d&&g()&&"Tab"===t.key&&e.activeElement===E.current&&t.shiftKey&&(x.current=!0,w.current.focus())};e.addEventListener("focusin",t),e.addEventListener("keydown",n,!0);var r=setInterval((function(){"BODY"===e.activeElement.tagName&&t()}),50);return function(){clearInterval(r),e.removeEventListener("focusin",t),e.removeEventListener("keydown",n,!0)}}}),[s,d,p,g,y,m]);var A=function(e){null===_.current&&(_.current=e.relatedTarget),S.current=!0};return(0,i.jsxs)(r.Fragment,{children:[(0,i.jsx)("div",{tabIndex:0,onFocus:A,ref:b,"data-test":"sentinelStart"}),r.cloneElement(t,{ref:Z,onFocus:function(e){null===_.current&&(_.current=e.relatedTarget),S.current=!0,j.current=e.target;var n=t.props.onFocus;n&&n(e)}}),(0,i.jsx)("div",{tabIndex:0,onFocus:A,ref:w,"data-test":"sentinelEnd"})]})}},50076:function(e,t,n){"use strict";function r(e,t,n){var r={};return Object.keys(e).forEach((function(a){r[a]=e[a].reduce((function(e,r){return r&&(n&&n[r]&&e.push(n[r]),e.push(t(r))),e}),[]).join(" ")})),r}n.d(t,{Z:function(){return r}})},91916:function(e,t){"use strict";var n=function(e){return e},r=function(){var e=n;return{configure:function(t){e=t},generate:function(t){return e(t)},reset:function(){e=n}}}();t.Z=r},10594:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(91916),a={active:"Mui-active",checked:"Mui-checked",completed:"Mui-completed",disabled:"Mui-disabled",error:"Mui-error",expanded:"Mui-expanded",focused:"Mui-focused",focusVisible:"Mui-focusVisible",required:"Mui-required",selected:"Mui-selected"};function o(e,t){return a[t]||"".concat(r.Z.generate(e),"-").concat(t)}},43349:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(10594);function a(e,t){var n={};return t.forEach((function(t){n[t]=(0,r.Z)(e,t)})),n}},53135:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(38331),a=n(45193);function o(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return(0,a.Z)(e)?t:(0,r.Z)({},t,{ownerState:(0,r.Z)({},t.ownerState,n)})}},45193:function(e,t){"use strict";t.Z=function(e){return"string"===typeof e}},92125:function(e,t,n){"use strict";var r=n(64119);t.Z=void 0;var a=r(n(66830)),o=n(62559),i=(0,a.default)((0,o.jsx)("path",{d:"m10 17 5-5-5-5v10z"}),"ArrowRight");t.Z=i},21278:function(e,t,n){"use strict";var r=n(64119);t.Z=void 0;var a=r(n(66830)),o=n(62559),i=(0,a.default)((0,o.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");t.Z=i},19538:function(e,t,n){"use strict";var r=n(64119);t.Z=void 0;var a=r(n(66830)),o=n(62559),i=(0,a.default)((0,o.jsx)("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"ErrorOutline");t.Z=i},57826:function(e,t,n){"use strict";var r=n(64119);t.Z=void 0;var a=r(n(66830)),o=n(62559),i=(0,a.default)((0,o.jsx)("path",{d:"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"}),"Menu");t.Z=i},66830:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r.createSvgIcon}});var r=n(41667)},96699:function(e,t,n){"use strict";n.d(t,{Z:function(){return _}});var r=n(1048),a=n(32793),o=n(50390),i=n(45193),s=n(38331),l=n(23960),c=n(44977),u=n(50076),d=n(43349),f=n(10594);function p(e){return(0,f.Z)("MuiBackdrop",e)}(0,d.Z)("MuiBackdrop",["root","invisible"]);var h=n(62559),m=["classes","className","invisible","component","components","componentsProps","theme"],v=o.forwardRef((function(e,t){var n=e.classes,r=e.className,a=e.invisible,o=void 0!==a&&a,d=e.component,f=void 0===d?"div":d,v=e.components,g=void 0===v?{}:v,y=e.componentsProps,x=void 0===y?{}:y,b=e.theme,w=(0,l.Z)(e,m),_=(0,s.Z)({},e,{classes:n,invisible:o}),j=function(e){var t=e.classes,n={root:["root",e.invisible&&"invisible"]};return(0,u.Z)(n,p,t)}(_),S=g.Root||f,E=x.root||{};return(0,h.jsx)(S,(0,s.Z)({"aria-hidden":!0},E,!(0,i.Z)(S)&&{as:f,ownerState:(0,s.Z)({},_,E.ownerState),theme:b},{ref:t},w,{className:(0,c.Z)(j.root,E.className,r)}))})),g=n(8208),y=n(15573),x=n(19454),b=["children","components","componentsProps","className","invisible","open","transitionDuration","TransitionComponent"],w=(0,g.ZP)("div",{name:"MuiBackdrop",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.invisible&&t.invisible]}})((function(e){var t=e.ownerState;return(0,a.Z)({position:"fixed",display:"flex",alignItems:"center",justifyContent:"center",right:0,bottom:0,top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.5)",WebkitTapHighlightColor:"transparent"},t.invisible&&{backgroundColor:"transparent"})})),_=o.forwardRef((function(e,t){var n,o=(0,y.Z)({props:e,name:"MuiBackdrop"}),s=o.children,l=o.components,c=void 0===l?{}:l,u=o.componentsProps,d=void 0===u?{}:u,f=o.className,p=o.invisible,m=void 0!==p&&p,g=o.open,_=o.transitionDuration,j=o.TransitionComponent,S=void 0===j?x.Z:j,E=(0,r.Z)(o,b),Z=function(e){return e.classes}((0,a.Z)({},o,{invisible:m}));return(0,h.jsx)(S,(0,a.Z)({in:g,timeout:_},E,{children:(0,h.jsx)(v,{className:f,invisible:m,components:(0,a.Z)({Root:w},c),componentsProps:{root:(0,a.Z)({},d.root,(!c.Root||!(0,i.Z)(c.Root))&&{ownerState:(0,a.Z)({},null==(n=d.root)?void 0:n.ownerState)})},classes:Z,ref:t,children:s})}))}))},56805:function(e,t,n){"use strict";n.d(t,{Z:function(){return m}});var r=n(54695),a=n(60916),o=n(50390),i=n(44977),s=n(45032),l=n(128),c=n(99301),u=n(85051),d=n(62559),f=["className","component"];var p=n(91916),h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.defaultTheme,n=e.defaultClassName,p=void 0===n?"MuiBox-root":n,h=e.generateClassName,m=(0,s.ZP)("div")(l.Z),v=o.forwardRef((function(e,n){var o=(0,u.Z)(t),s=(0,c.Z)(e),l=s.className,v=s.component,g=void 0===v?"div":v,y=(0,a.Z)(s,f);return(0,d.jsx)(m,(0,r.Z)({as:g,ref:n,className:(0,i.Z)(l,h?h(p):p),theme:o},y))}));return v}({defaultTheme:(0,n(80174).Z)(),defaultClassName:"MuiBox-root",generateClassName:p.Z.generate}),m=h},66946:function(e,t,n){"use strict";n.d(t,{Z:function(){return E}});var r=n(36222),a=n(1048),o=n(32793),i=n(50390),s=n(44977),l=n(95804),c=n(50076),u=n(36128),d=n(8208),f=n(15573),p=n(86875),h=n(91442),m=n(10594);function v(e){return(0,m.Z)("MuiButton",e)}var g=(0,n(43349).Z)("MuiButton",["root","text","textInherit","textPrimary","textSecondary","outlined","outlinedInherit","outlinedPrimary","outlinedSecondary","contained","containedInherit","containedPrimary","containedSecondary","disableElevation","focusVisible","disabled","colorInherit","textSizeSmall","textSizeMedium","textSizeLarge","outlinedSizeSmall","outlinedSizeMedium","outlinedSizeLarge","containedSizeSmall","containedSizeMedium","containedSizeLarge","sizeMedium","sizeSmall","sizeLarge","fullWidth","startIcon","endIcon","iconSizeSmall","iconSizeMedium","iconSizeLarge"]);var y=i.createContext({}),x=n(62559),b=["children","color","component","className","disabled","disableElevation","disableFocusRipple","endIcon","focusVisibleClassName","fullWidth","size","startIcon","type","variant"],w=function(e){return(0,o.Z)({},"small"===e.size&&{"& > *:nth-of-type(1)":{fontSize:18}},"medium"===e.size&&{"& > *:nth-of-type(1)":{fontSize:20}},"large"===e.size&&{"& > *:nth-of-type(1)":{fontSize:22}})},_=(0,d.ZP)(p.Z,{shouldForwardProp:function(e){return(0,d.FO)(e)||"classes"===e},name:"MuiButton",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t[n.variant],t["".concat(n.variant).concat((0,h.Z)(n.color))],t["size".concat((0,h.Z)(n.size))],t["".concat(n.variant,"Size").concat((0,h.Z)(n.size))],"inherit"===n.color&&t.colorInherit,n.disableElevation&&t.disableElevation,n.fullWidth&&t.fullWidth]}})((function(e){var t,n=e.theme,a=e.ownerState;return(0,o.Z)({},n.typography.button,(t={minWidth:64,padding:"6px 16px",borderRadius:n.shape.borderRadius,transition:n.transitions.create(["background-color","box-shadow","border-color","color"],{duration:n.transitions.duration.short}),"&:hover":(0,o.Z)({textDecoration:"none",backgroundColor:(0,u.Fq)(n.palette.text.primary,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"text"===a.variant&&"inherit"!==a.color&&{backgroundColor:(0,u.Fq)(n.palette[a.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"outlined"===a.variant&&"inherit"!==a.color&&{border:"1px solid ".concat(n.palette[a.color].main),backgroundColor:(0,u.Fq)(n.palette[a.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"contained"===a.variant&&{backgroundColor:n.palette.grey.A100,boxShadow:n.shadows[4],"@media (hover: none)":{boxShadow:n.shadows[2],backgroundColor:n.palette.grey[300]}},"contained"===a.variant&&"inherit"!==a.color&&{backgroundColor:n.palette[a.color].dark,"@media (hover: none)":{backgroundColor:n.palette[a.color].main}}),"&:active":(0,o.Z)({},"contained"===a.variant&&{boxShadow:n.shadows[8]})},(0,r.Z)(t,"&.".concat(g.focusVisible),(0,o.Z)({},"contained"===a.variant&&{boxShadow:n.shadows[6]})),(0,r.Z)(t,"&.".concat(g.disabled),(0,o.Z)({color:n.palette.action.disabled},"outlined"===a.variant&&{border:"1px solid ".concat(n.palette.action.disabledBackground)},"outlined"===a.variant&&"secondary"===a.color&&{border:"1px solid ".concat(n.palette.action.disabled)},"contained"===a.variant&&{color:n.palette.action.disabled,boxShadow:n.shadows[0],backgroundColor:n.palette.action.disabledBackground})),t),"text"===a.variant&&{padding:"6px 8px"},"text"===a.variant&&"inherit"!==a.color&&{color:n.palette[a.color].main},"outlined"===a.variant&&{padding:"5px 15px",border:"1px solid ".concat("light"===n.palette.mode?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)")},"outlined"===a.variant&&"inherit"!==a.color&&{color:n.palette[a.color].main,border:"1px solid ".concat((0,u.Fq)(n.palette[a.color].main,.5))},"contained"===a.variant&&{color:n.palette.getContrastText(n.palette.grey[300]),backgroundColor:n.palette.grey[300],boxShadow:n.shadows[2]},"contained"===a.variant&&"inherit"!==a.color&&{color:n.palette[a.color].contrastText,backgroundColor:n.palette[a.color].main},"inherit"===a.color&&{color:"inherit",borderColor:"currentColor"},"small"===a.size&&"text"===a.variant&&{padding:"4px 5px",fontSize:n.typography.pxToRem(13)},"large"===a.size&&"text"===a.variant&&{padding:"8px 11px",fontSize:n.typography.pxToRem(15)},"small"===a.size&&"outlined"===a.variant&&{padding:"3px 9px",fontSize:n.typography.pxToRem(13)},"large"===a.size&&"outlined"===a.variant&&{padding:"7px 21px",fontSize:n.typography.pxToRem(15)},"small"===a.size&&"contained"===a.variant&&{padding:"4px 10px",fontSize:n.typography.pxToRem(13)},"large"===a.size&&"contained"===a.variant&&{padding:"8px 22px",fontSize:n.typography.pxToRem(15)},a.fullWidth&&{width:"100%"})}),(function(e){var t;return e.ownerState.disableElevation&&(t={boxShadow:"none","&:hover":{boxShadow:"none"}},(0,r.Z)(t,"&.".concat(g.focusVisible),{boxShadow:"none"}),(0,r.Z)(t,"&:active",{boxShadow:"none"}),(0,r.Z)(t,"&.".concat(g.disabled),{boxShadow:"none"}),t)})),j=(0,d.ZP)("span",{name:"MuiButton",slot:"StartIcon",overridesResolver:function(e,t){var n=e.ownerState;return[t.startIcon,t["iconSize".concat((0,h.Z)(n.size))]]}})((function(e){var t=e.ownerState;return(0,o.Z)({display:"inherit",marginRight:8,marginLeft:-4},"small"===t.size&&{marginLeft:-2},w(t))})),S=(0,d.ZP)("span",{name:"MuiButton",slot:"EndIcon",overridesResolver:function(e,t){var n=e.ownerState;return[t.endIcon,t["iconSize".concat((0,h.Z)(n.size))]]}})((function(e){var t=e.ownerState;return(0,o.Z)({display:"inherit",marginRight:-4,marginLeft:8},"small"===t.size&&{marginRight:-2},w(t))})),E=i.forwardRef((function(e,t){var n=i.useContext(y),r=(0,l.Z)(n,e),u=(0,f.Z)({props:r,name:"MuiButton"}),d=u.children,p=u.color,m=void 0===p?"primary":p,g=u.component,w=void 0===g?"button":g,E=u.className,Z=u.disabled,T=void 0!==Z&&Z,A=u.disableElevation,C=void 0!==A&&A,M=u.disableFocusRipple,k=void 0!==M&&M,O=u.endIcon,P=u.focusVisibleClassName,R=u.fullWidth,N=void 0!==R&&R,z=u.size,I=void 0===z?"medium":z,L=u.startIcon,D=u.type,B=u.variant,H=void 0===B?"text":B,V=(0,a.Z)(u,b),U=(0,o.Z)({},u,{color:m,component:w,disabled:T,disableElevation:C,disableFocusRipple:k,fullWidth:N,size:I,type:D,variant:H}),F=function(e){var t=e.color,n=e.disableElevation,r=e.fullWidth,a=e.size,i=e.variant,s=e.classes,l={root:["root",i,"".concat(i).concat((0,h.Z)(t)),"size".concat((0,h.Z)(a)),"".concat(i,"Size").concat((0,h.Z)(a)),"inherit"===t&&"colorInherit",n&&"disableElevation",r&&"fullWidth"],label:["label"],startIcon:["startIcon","iconSize".concat((0,h.Z)(a))],endIcon:["endIcon","iconSize".concat((0,h.Z)(a))]},u=(0,c.Z)(l,v,s);return(0,o.Z)({},s,u)}(U),G=L&&(0,x.jsx)(j,{className:F.startIcon,ownerState:U,children:L}),W=O&&(0,x.jsx)(S,{className:F.endIcon,ownerState:U,children:O});return(0,x.jsxs)(_,(0,o.Z)({ownerState:U,className:(0,s.Z)(E,n.className),component:w,disabled:T,focusRipple:!k,focusVisibleClassName:(0,s.Z)(F.focusVisible,P),ref:t,type:D},V,{classes:F,children:[G,d,W]}))}))},86875:function(e,t,n){"use strict";n.d(t,{Z:function(){return W}});var r=n(23430),a=n(36222),o=n(32793),i=n(1048),s=n(50390),l=n(44977),c=n(50076),u=n(8208),d=n(15573),f=n(3299),p=n(87827),h=n(42081),m=n(35531),v=n(17186),g=n(10758),y=n(19471),x=n(62559);var b=function(e){var t=e.className,n=e.classes,a=e.pulsate,o=void 0!==a&&a,i=e.rippleX,c=e.rippleY,u=e.rippleSize,d=e.in,f=e.onExited,p=e.timeout,h=s.useState(!1),m=(0,r.Z)(h,2),v=m[0],g=m[1],y=(0,l.Z)(t,n.ripple,n.rippleVisible,o&&n.ripplePulsate),b={width:u,height:u,top:-u/2+c,left:-u/2+i},w=(0,l.Z)(n.child,v&&n.childLeaving,o&&n.childPulsate);return d||v||g(!0),s.useEffect((function(){if(!d&&null!=f){var e=setTimeout(f,p);return function(){clearTimeout(e)}}}),[f,d,p]),(0,x.jsx)("span",{className:y,style:b,children:(0,x.jsx)("span",{className:w})})},w=n(43349);var _,j,S,E,Z,T,A,C,M=(0,w.Z)("MuiTouchRipple",["root","ripple","rippleVisible","ripplePulsate","child","childLeaving","childPulsate"]),k=["center","classes","className"],O=(0,y.F4)(Z||(Z=_||(_=(0,v.Z)(["\n 0% {\n transform: scale(0);\n opacity: 0.1;\n }\n\n 100% {\n transform: scale(1);\n opacity: 0.3;\n }\n"])))),P=(0,y.F4)(T||(T=j||(j=(0,v.Z)(["\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n"])))),R=(0,y.F4)(A||(A=S||(S=(0,v.Z)(["\n 0% {\n transform: scale(1);\n }\n\n 50% {\n transform: scale(0.92);\n }\n\n 100% {\n transform: scale(1);\n }\n"])))),N=(0,u.ZP)("span",{name:"MuiTouchRipple",slot:"Root"})({overflow:"hidden",pointerEvents:"none",position:"absolute",zIndex:0,top:0,right:0,bottom:0,left:0,borderRadius:"inherit"}),z=(0,u.ZP)(b,{name:"MuiTouchRipple",slot:"Ripple"})(C||(C=E||(E=(0,v.Z)(["\n opacity: 0;\n position: absolute;\n\n &."," {\n opacity: 0.3;\n transform: scale(1);\n animation-name: ",";\n animation-duration: ","ms;\n animation-timing-function: ",";\n }\n\n &."," {\n animation-duration: ","ms;\n }\n\n & ."," {\n opacity: 1;\n display: block;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: currentColor;\n }\n\n & ."," {\n opacity: 0;\n animation-name: ",";\n animation-duration: ","ms;\n animation-timing-function: ",";\n }\n\n & ."," {\n position: absolute;\n /* @noflip */\n left: 0px;\n top: 0;\n animation-name: ",";\n animation-duration: 2500ms;\n animation-timing-function: ",";\n animation-iteration-count: infinite;\n animation-delay: 200ms;\n }\n"]))),M.rippleVisible,O,550,(function(e){return e.theme.transitions.easing.easeInOut}),M.ripplePulsate,(function(e){return e.theme.transitions.duration.shorter}),M.child,M.childLeaving,P,550,(function(e){return e.theme.transitions.easing.easeInOut}),M.childPulsate,R,(function(e){return e.theme.transitions.easing.easeInOut})),I=s.forwardRef((function(e,t){var n=(0,d.Z)({props:e,name:"MuiTouchRipple"}),a=n.center,c=void 0!==a&&a,u=n.classes,f=void 0===u?{}:u,p=n.className,h=(0,i.Z)(n,k),v=s.useState([]),y=(0,r.Z)(v,2),b=y[0],w=y[1],_=s.useRef(0),j=s.useRef(null);s.useEffect((function(){j.current&&(j.current(),j.current=null)}),[b]);var S=s.useRef(!1),E=s.useRef(null),Z=s.useRef(null),T=s.useRef(null);s.useEffect((function(){return function(){clearTimeout(E.current)}}),[]);var A=s.useCallback((function(e){var t=e.pulsate,n=e.rippleX,r=e.rippleY,a=e.rippleSize,o=e.cb;w((function(e){return[].concat((0,m.Z)(e),[(0,x.jsx)(z,{classes:{ripple:(0,l.Z)(f.ripple,M.ripple),rippleVisible:(0,l.Z)(f.rippleVisible,M.rippleVisible),ripplePulsate:(0,l.Z)(f.ripplePulsate,M.ripplePulsate),child:(0,l.Z)(f.child,M.child),childLeaving:(0,l.Z)(f.childLeaving,M.childLeaving),childPulsate:(0,l.Z)(f.childPulsate,M.childPulsate)},timeout:550,pulsate:t,rippleX:n,rippleY:r,rippleSize:a},_.current)])})),_.current+=1,j.current=o}),[f]),C=s.useCallback((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=t.pulsate,a=void 0!==r&&r,o=t.center,i=void 0===o?c||t.pulsate:o,s=t.fakeElement,l=void 0!==s&&s;if("mousedown"===e.type&&S.current)S.current=!1;else{"touchstart"===e.type&&(S.current=!0);var u,d,f,p=l?null:T.current,h=p?p.getBoundingClientRect():{width:0,height:0,left:0,top:0};if(i||0===e.clientX&&0===e.clientY||!e.clientX&&!e.touches)u=Math.round(h.width/2),d=Math.round(h.height/2);else{var m=e.touches?e.touches[0]:e,v=m.clientX,g=m.clientY;u=Math.round(v-h.left),d=Math.round(g-h.top)}if(i)(f=Math.sqrt((2*Math.pow(h.width,2)+Math.pow(h.height,2))/3))%2===0&&(f+=1);else{var y=2*Math.max(Math.abs((p?p.clientWidth:0)-u),u)+2,x=2*Math.max(Math.abs((p?p.clientHeight:0)-d),d)+2;f=Math.sqrt(Math.pow(y,2)+Math.pow(x,2))}e.touches?null===Z.current&&(Z.current=function(){A({pulsate:a,rippleX:u,rippleY:d,rippleSize:f,cb:n})},E.current=setTimeout((function(){Z.current&&(Z.current(),Z.current=null)}),80)):A({pulsate:a,rippleX:u,rippleY:d,rippleSize:f,cb:n})}}),[c,A]),O=s.useCallback((function(){C({},{pulsate:!0})}),[C]),P=s.useCallback((function(e,t){if(clearTimeout(E.current),"touchend"===e.type&&Z.current)return Z.current(),Z.current=null,void(E.current=setTimeout((function(){P(e,t)})));Z.current=null,w((function(e){return e.length>0?e.slice(1):e})),j.current=t}),[]);return s.useImperativeHandle(t,(function(){return{pulsate:O,start:C,stop:P}}),[O,C,P]),(0,x.jsx)(N,(0,o.Z)({className:(0,l.Z)(f.root,M.root,p),ref:T},h,{children:(0,x.jsx)(g.Z,{component:null,exit:!0,children:b})}))})),L=I,D=n(10594);function B(e){return(0,D.Z)("MuiButtonBase",e)}var H,V=(0,w.Z)("MuiButtonBase",["root","disabled","focusVisible"]),U=["action","centerRipple","children","className","component","disabled","disableRipple","disableTouchRipple","focusRipple","focusVisibleClassName","LinkComponent","onBlur","onClick","onContextMenu","onDragLeave","onFocus","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","tabIndex","TouchRippleProps","type"],F=(0,u.ZP)("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:function(e,t){return t.root}})((H={display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"}},(0,a.Z)(H,"&.".concat(V.disabled),{pointerEvents:"none",cursor:"default"}),(0,a.Z)(H,"@media print",{colorAdjust:"exact"}),H)),G=s.forwardRef((function(e,t){var n=(0,d.Z)({props:e,name:"MuiButtonBase"}),a=n.action,u=n.centerRipple,m=void 0!==u&&u,v=n.children,g=n.className,y=n.component,b=void 0===y?"button":y,w=n.disabled,_=void 0!==w&&w,j=n.disableRipple,S=void 0!==j&&j,E=n.disableTouchRipple,Z=void 0!==E&&E,T=n.focusRipple,A=void 0!==T&&T,C=n.LinkComponent,M=void 0===C?"a":C,k=n.onBlur,O=n.onClick,P=n.onContextMenu,R=n.onDragLeave,N=n.onFocus,z=n.onFocusVisible,I=n.onKeyDown,D=n.onKeyUp,H=n.onMouseDown,V=n.onMouseLeave,G=n.onMouseUp,W=n.onTouchEnd,K=n.onTouchMove,q=n.onTouchStart,$=n.tabIndex,Y=void 0===$?0:$,Q=n.TouchRippleProps,X=n.type,J=(0,i.Z)(n,U),ee=s.useRef(null),te=s.useRef(null),ne=(0,h.Z)(),re=ne.isFocusVisibleRef,ae=ne.onFocus,oe=ne.onBlur,ie=ne.ref,se=s.useState(!1),le=(0,r.Z)(se,2),ce=le[0],ue=le[1];function de(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Z;return(0,p.Z)((function(r){return t&&t(r),!n&&te.current&&te.current[e](r),!0}))}_&&ce&&ue(!1),s.useImperativeHandle(a,(function(){return{focusVisible:function(){ue(!0),ee.current.focus()}}}),[]),s.useEffect((function(){ce&&A&&!S&&te.current.pulsate()}),[S,A,ce]);var fe=de("start",H),pe=de("stop",P),he=de("stop",R),me=de("stop",G),ve=de("stop",(function(e){ce&&e.preventDefault(),V&&V(e)})),ge=de("start",q),ye=de("stop",W),xe=de("stop",K),be=de("stop",(function(e){oe(e),!1===re.current&&ue(!1),k&&k(e)}),!1),we=(0,p.Z)((function(e){ee.current||(ee.current=e.currentTarget),ae(e),!0===re.current&&(ue(!0),z&&z(e)),N&&N(e)})),_e=function(){var e=ee.current;return b&&"button"!==b&&!("A"===e.tagName&&e.href)},je=s.useRef(!1),Se=(0,p.Z)((function(e){A&&!je.current&&ce&&te.current&&" "===e.key&&(je.current=!0,te.current.stop(e,(function(){te.current.start(e)}))),e.target===e.currentTarget&&_e()&&" "===e.key&&e.preventDefault(),I&&I(e),e.target===e.currentTarget&&_e()&&"Enter"===e.key&&!_&&(e.preventDefault(),O&&O(e))})),Ee=(0,p.Z)((function(e){A&&" "===e.key&&te.current&&ce&&!e.defaultPrevented&&(je.current=!1,te.current.stop(e,(function(){te.current.pulsate(e)}))),D&&D(e),O&&e.target===e.currentTarget&&_e()&&" "===e.key&&!e.defaultPrevented&&O(e)})),Ze=b;"button"===Ze&&(J.href||J.to)&&(Ze=M);var Te={};"button"===Ze?(Te.type=void 0===X?"button":X,Te.disabled=_):(J.href||J.to||(Te.role="button"),_&&(Te["aria-disabled"]=_));var Ae=(0,f.Z)(ie,ee),Ce=(0,f.Z)(t,Ae),Me=s.useState(!1),ke=(0,r.Z)(Me,2),Oe=ke[0],Pe=ke[1];s.useEffect((function(){Pe(!0)}),[]);var Re=Oe&&!S&&!_;var Ne=(0,o.Z)({},n,{centerRipple:m,component:b,disabled:_,disableRipple:S,disableTouchRipple:Z,focusRipple:A,tabIndex:Y,focusVisible:ce}),ze=function(e){var t=e.disabled,n=e.focusVisible,r=e.focusVisibleClassName,a=e.classes,o={root:["root",t&&"disabled",n&&"focusVisible"]},i=(0,c.Z)(o,B,a);return n&&r&&(i.root+=" ".concat(r)),i}(Ne);return(0,x.jsxs)(F,(0,o.Z)({as:Ze,className:(0,l.Z)(ze.root,g),ownerState:Ne,onBlur:be,onClick:O,onContextMenu:pe,onFocus:we,onKeyDown:Se,onKeyUp:Ee,onMouseDown:fe,onMouseLeave:ve,onMouseUp:me,onDragLeave:he,onTouchEnd:ye,onTouchMove:xe,onTouchStart:ge,ref:Ce,tabIndex:_?-1:Y,type:X},Te,J,{children:[v,Re?(0,x.jsx)(L,(0,o.Z)({ref:te,center:m},Q)):null]}))})),W=G},18201:function(e,t,n){"use strict";n.d(t,{Z:function(){return k}});var r=n(17186),a=n(1048),o=n(32793),i=n(50390),s=n(44977),l=n(50076),c=n(19471),u=n(91442),d=n(15573),f=n(8208),p=n(10594);function h(e){return(0,p.Z)("MuiCircularProgress",e)}(0,n(43349).Z)("MuiCircularProgress",["root","determinate","indeterminate","colorPrimary","colorSecondary","svg","circle","circleDeterminate","circleIndeterminate","circleDisableShrink"]);var m,v,g,y,x,b,w,_,j=n(62559),S=["className","color","disableShrink","size","style","thickness","value","variant"],E=44,Z=(0,c.F4)(x||(x=m||(m=(0,r.Z)(["\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n"])))),T=(0,c.F4)(b||(b=v||(v=(0,r.Z)(["\n 0% {\n stroke-dasharray: 1px, 200px;\n stroke-dashoffset: 0;\n }\n\n 50% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -15px;\n }\n\n 100% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -125px;\n }\n"])))),A=(0,f.ZP)("span",{name:"MuiCircularProgress",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t[n.variant],t["color".concat((0,u.Z)(n.color))]]}})((function(e){var t=e.ownerState,n=e.theme;return(0,o.Z)({display:"inline-block"},"determinate"===t.variant&&{transition:n.transitions.create("transform")},"inherit"!==t.color&&{color:n.palette[t.color].main})}),(function(e){return"indeterminate"===e.ownerState.variant&&(0,c.iv)(w||(w=g||(g=(0,r.Z)(["\n animation: "," 1.4s linear infinite;\n "]))),Z)})),C=(0,f.ZP)("svg",{name:"MuiCircularProgress",slot:"Svg",overridesResolver:function(e,t){return t.svg}})({display:"block"}),M=(0,f.ZP)("circle",{name:"MuiCircularProgress",slot:"Circle",overridesResolver:function(e,t){var n=e.ownerState;return[t.circle,t["circle".concat((0,u.Z)(n.variant))],n.disableShrink&&t.circleDisableShrink]}})((function(e){var t=e.ownerState,n=e.theme;return(0,o.Z)({stroke:"currentColor"},"determinate"===t.variant&&{transition:n.transitions.create("stroke-dashoffset")},"indeterminate"===t.variant&&{strokeDasharray:"80px, 200px",strokeDashoffset:0})}),(function(e){var t=e.ownerState;return"indeterminate"===t.variant&&!t.disableShrink&&(0,c.iv)(_||(_=y||(y=(0,r.Z)(["\n animation: "," 1.4s ease-in-out infinite;\n "]))),T)})),k=i.forwardRef((function(e,t){var n=(0,d.Z)({props:e,name:"MuiCircularProgress"}),r=n.className,i=n.color,c=void 0===i?"primary":i,f=n.disableShrink,p=void 0!==f&&f,m=n.size,v=void 0===m?40:m,g=n.style,y=n.thickness,x=void 0===y?3.6:y,b=n.value,w=void 0===b?0:b,_=n.variant,Z=void 0===_?"indeterminate":_,T=(0,a.Z)(n,S),k=(0,o.Z)({},n,{color:c,disableShrink:p,size:v,thickness:x,value:w,variant:Z}),O=function(e){var t=e.classes,n=e.variant,r=e.color,a=e.disableShrink,o={root:["root",n,"color".concat((0,u.Z)(r))],svg:["svg"],circle:["circle","circle".concat((0,u.Z)(n)),a&&"circleDisableShrink"]};return(0,l.Z)(o,h,t)}(k),P={},R={},N={};if("determinate"===Z){var z=2*Math.PI*((E-x)/2);P.strokeDasharray=z.toFixed(3),N["aria-valuenow"]=Math.round(w),P.strokeDashoffset="".concat(((100-w)/100*z).toFixed(3),"px"),R.transform="rotate(-90deg)"}return(0,j.jsx)(A,(0,o.Z)({className:(0,s.Z)(O.root,r),style:(0,o.Z)({width:v,height:v},R,g),ownerState:k,ref:t,role:"progressbar"},N,T,{children:(0,j.jsx)(C,{className:O.svg,ownerState:k,viewBox:"".concat(22," ").concat(22," ").concat(E," ").concat(E),children:(0,j.jsx)(M,{className:O.circle,style:P,ownerState:k,cx:E,cy:E,r:(E-x)/2,fill:"none",strokeWidth:x})})}))}))},55600:function(e,t,n){"use strict";n.d(t,{Z:function(){return S}});var r=n(36222),a=n(1048),o=n(32793),i=n(50390),s=n(44977),l=n(25558),c=n(50076),u=n(8208),d=n(15573),f=n(78157),p=n(40138),h=n(88669),m=n(3299),v=n(10594);function g(e){return(0,v.Z)("MuiCollapse",e)}(0,n(43349).Z)("MuiCollapse",["root","horizontal","vertical","entered","hidden","wrapper","wrapperInner"]);var y=n(62559),x=["addEndListener","children","className","collapsedSize","component","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","orientation","style","timeout","TransitionComponent"],b=(0,u.ZP)("div",{name:"MuiCollapse",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t[n.orientation],"entered"===n.state&&t.entered,"exited"===n.state&&!n.in&&"0px"===n.collapsedSize&&t.hidden]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({height:0,overflow:"hidden",transition:t.transitions.create("height")},"horizontal"===n.orientation&&{height:"auto",width:0,transition:t.transitions.create("width")},"entered"===n.state&&(0,o.Z)({height:"auto",overflow:"visible"},"horizontal"===n.orientation&&{width:"auto"}),"exited"===n.state&&!n.in&&"0px"===n.collapsedSize&&{visibility:"hidden"})})),w=(0,u.ZP)("div",{name:"MuiCollapse",slot:"Wrapper",overridesResolver:function(e,t){return t.wrapper}})((function(e){var t=e.ownerState;return(0,o.Z)({display:"flex",width:"100%"},"horizontal"===t.orientation&&{width:"auto",height:"100%"})})),_=(0,u.ZP)("div",{name:"MuiCollapse",slot:"WrapperInner",overridesResolver:function(e,t){return t.wrapperInner}})((function(e){var t=e.ownerState;return(0,o.Z)({width:"100%"},"horizontal"===t.orientation&&{width:"auto",height:"100%"})})),j=i.forwardRef((function(e,t){var n=(0,d.Z)({props:e,name:"MuiCollapse"}),u=n.addEndListener,v=n.children,j=n.className,S=n.collapsedSize,E=void 0===S?"0px":S,Z=n.component,T=n.easing,A=n.in,C=n.onEnter,M=n.onEntered,k=n.onEntering,O=n.onExit,P=n.onExited,R=n.onExiting,N=n.orientation,z=void 0===N?"vertical":N,I=n.style,L=n.timeout,D=void 0===L?f.x9.standard:L,B=n.TransitionComponent,H=void 0===B?l.ZP:B,V=(0,a.Z)(n,x),U=(0,o.Z)({},n,{orientation:z,collapsedSize:E}),F=function(e){var t=e.orientation,n=e.classes,r={root:["root","".concat(t)],entered:["entered"],hidden:["hidden"],wrapper:["wrapper","".concat(t)],wrapperInner:["wrapperInner","".concat(t)]};return(0,c.Z)(r,g,n)}(U),G=(0,h.Z)(),W=i.useRef(),K=i.useRef(null),q=i.useRef(),$="number"===typeof E?"".concat(E,"px"):E,Y="horizontal"===z,Q=Y?"width":"height";i.useEffect((function(){return function(){clearTimeout(W.current)}}),[]);var X=i.useRef(null),J=(0,m.Z)(t,X),ee=function(e){return function(t){if(e){var n=X.current;void 0===t?e(n):e(n,t)}}},te=function(){return K.current?K.current[Y?"clientWidth":"clientHeight"]:0},ne=ee((function(e,t){K.current&&Y&&(K.current.style.position="absolute"),e.style[Q]=$,C&&C(e,t)})),re=ee((function(e,t){var n=te();K.current&&Y&&(K.current.style.position="");var r=(0,p.C)({style:I,timeout:D,easing:T},{mode:"enter"}),a=r.duration,o=r.easing;if("auto"===D){var i=G.transitions.getAutoHeightDuration(n);e.style.transitionDuration="".concat(i,"ms"),q.current=i}else e.style.transitionDuration="string"===typeof a?a:"".concat(a,"ms");e.style[Q]="".concat(n,"px"),e.style.transitionTimingFunction=o,k&&k(e,t)})),ae=ee((function(e,t){e.style[Q]="auto",M&&M(e,t)})),oe=ee((function(e){e.style[Q]="".concat(te(),"px"),O&&O(e)})),ie=ee(P),se=ee((function(e){var t=te(),n=(0,p.C)({style:I,timeout:D,easing:T},{mode:"exit"}),r=n.duration,a=n.easing;if("auto"===D){var o=G.transitions.getAutoHeightDuration(t);e.style.transitionDuration="".concat(o,"ms"),q.current=o}else e.style.transitionDuration="string"===typeof r?r:"".concat(r,"ms");e.style[Q]=$,e.style.transitionTimingFunction=a,R&&R(e)}));return(0,y.jsx)(H,(0,o.Z)({in:A,onEnter:ne,onEntered:ae,onEntering:re,onExit:oe,onExited:ie,onExiting:se,addEndListener:function(e){"auto"===D&&(W.current=setTimeout(e,q.current||0)),u&&u(X.current,e)},nodeRef:X,timeout:"auto"===D?null:D},V,{children:function(e,t){return(0,y.jsx)(b,(0,o.Z)({as:Z,className:(0,s.Z)(F.root,j,{entered:F.entered,exited:!A&&"0px"===$&&F.hidden}[e]),style:(0,o.Z)((0,r.Z)({},Y?"minWidth":"minHeight",$),I),ownerState:(0,o.Z)({},U,{state:e}),ref:J},t,{children:(0,y.jsx)(w,{ownerState:(0,o.Z)({},U,{state:e}),className:F.wrapper,ref:K,children:(0,y.jsx)(_,{ownerState:(0,o.Z)({},U,{state:e}),className:F.wrapperInner,children:v})})}))}}))}));j.muiSupportAuto=!0;var S=j},19454:function(e,t,n){"use strict";var r=n(32793),a=n(1048),o=n(50390),i=n(25558),s=n(78157),l=n(88669),c=n(40138),u=n(3299),d=n(62559),f=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"],p={entering:{opacity:1},entered:{opacity:1}},h={enter:s.x9.enteringScreen,exit:s.x9.leavingScreen},m=o.forwardRef((function(e,t){var n=e.addEndListener,s=e.appear,m=void 0===s||s,v=e.children,g=e.easing,y=e.in,x=e.onEnter,b=e.onEntered,w=e.onEntering,_=e.onExit,j=e.onExited,S=e.onExiting,E=e.style,Z=e.timeout,T=void 0===Z?h:Z,A=e.TransitionComponent,C=void 0===A?i.ZP:A,M=(0,a.Z)(e,f),k=(0,l.Z)(),O=o.useRef(null),P=(0,u.Z)(v.ref,t),R=(0,u.Z)(O,P),N=function(e){return function(t){if(e){var n=O.current;void 0===t?e(n):e(n,t)}}},z=N(w),I=N((function(e,t){(0,c.n)(e);var n=(0,c.C)({style:E,timeout:T,easing:g},{mode:"enter"});e.style.webkitTransition=k.transitions.create("opacity",n),e.style.transition=k.transitions.create("opacity",n),x&&x(e,t)})),L=N(b),D=N(S),B=N((function(e){var t=(0,c.C)({style:E,timeout:T,easing:g},{mode:"exit"});e.style.webkitTransition=k.transitions.create("opacity",t),e.style.transition=k.transitions.create("opacity",t),_&&_(e)})),H=N(j);return(0,d.jsx)(C,(0,r.Z)({appear:m,in:y,nodeRef:O,onEnter:I,onEntered:L,onEntering:z,onExit:B,onExited:H,onExiting:D,addEndListener:function(e){n&&n(O.current,e)},timeout:T},M,{children:function(e,t){return o.cloneElement(v,(0,r.Z)({style:(0,r.Z)({opacity:0,visibility:"exited"!==e||y?void 0:"hidden"},p[e],E,v.props.style),ref:R},t))}}))}));t.Z=m},90118:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var r=n(32793),a=(n(50390),n(19471)),o=n(62559);function i(e){var t=e.styles,n=e.defaultTheme,r=void 0===n?{}:n,i="function"===typeof t?function(e){return t(void 0===(n=e)||null===n||0===Object.keys(n).length?r:e);var n}:t;return(0,o.jsx)(a.xB,{styles:i})}var s=n(75158);var l=function(e){return(0,o.jsx)(i,(0,r.Z)({},e,{defaultTheme:s.Z}))}},25594:function(e,t,n){"use strict";n.d(t,{ZP:function(){return S}});var r=n(35531),a=n(36222),o=n(1048),i=n(32793),s=n(50390),l=n(44977),c=n(11188),u=n(99301),d=n(50076),f=n(8208),p=n(15573);var h=s.createContext(),m=n(10594);function v(e){return(0,m.Z)("MuiGrid",e)}var g=["auto",!0,1,2,3,4,5,6,7,8,9,10,11,12],y=(0,n(43349).Z)("MuiGrid",["root","container","item","zeroMinWidth"].concat((0,r.Z)([0,1,2,3,4,5,6,7,8,9,10].map((function(e){return"spacing-xs-".concat(e)}))),(0,r.Z)(["column-reverse","column","row-reverse","row"].map((function(e){return"direction-xs-".concat(e)}))),(0,r.Z)(["nowrap","wrap-reverse","wrap"].map((function(e){return"wrap-xs-".concat(e)}))),(0,r.Z)(g.map((function(e){return"grid-xs-".concat(e)}))),(0,r.Z)(g.map((function(e){return"grid-sm-".concat(e)}))),(0,r.Z)(g.map((function(e){return"grid-md-".concat(e)}))),(0,r.Z)(g.map((function(e){return"grid-lg-".concat(e)}))),(0,r.Z)(g.map((function(e){return"grid-xl-".concat(e)}))))),x=n(62559),b=["className","columns","columnSpacing","component","container","direction","item","lg","md","rowSpacing","sm","spacing","wrap","xl","xs","zeroMinWidth"];function w(e){var t=parseFloat(e);return"".concat(t).concat(String(e).replace(String(t),"")||"px")}function _(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!t||!e||e<=0)return[];if("string"===typeof e&&!Number.isNaN(Number(e))||"number"===typeof e)return[n["spacing-xs-".concat(String(e))]||"spacing-xs-".concat(String(e))];var r=e.xs,a=e.sm,o=e.md,i=e.lg,s=e.xl;return[Number(r)>0&&(n["spacing-xs-".concat(String(r))]||"spacing-xs-".concat(String(r))),Number(a)>0&&(n["spacing-sm-".concat(String(a))]||"spacing-sm-".concat(String(a))),Number(o)>0&&(n["spacing-md-".concat(String(o))]||"spacing-md-".concat(String(o))),Number(i)>0&&(n["spacing-lg-".concat(String(i))]||"spacing-lg-".concat(String(i))),Number(s)>0&&(n["spacing-xl-".concat(String(s))]||"spacing-xl-".concat(String(s)))]}var j=(0,f.ZP)("div",{name:"MuiGrid",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState,a=n.container,o=n.direction,i=n.item,s=n.lg,l=n.md,c=n.sm,u=n.spacing,d=n.wrap,f=n.xl,p=n.xs,h=n.zeroMinWidth;return[t.root,a&&t.container,i&&t.item,h&&t.zeroMinWidth].concat((0,r.Z)(_(u,a,t)),["row"!==o&&t["direction-xs-".concat(String(o))],"wrap"!==d&&t["wrap-xs-".concat(String(d))],!1!==p&&t["grid-xs-".concat(String(p))],!1!==c&&t["grid-sm-".concat(String(c))],!1!==l&&t["grid-md-".concat(String(l))],!1!==s&&t["grid-lg-".concat(String(s))],!1!==f&&t["grid-xl-".concat(String(f))]])}})((function(e){var t=e.ownerState;return(0,i.Z)({boxSizing:"border-box"},t.container&&{display:"flex",flexWrap:"wrap",width:"100%"},t.item&&{margin:0},t.zeroMinWidth&&{minWidth:0},"wrap"!==t.wrap&&{flexWrap:t.wrap})}),(function(e){var t=e.theme,n=e.ownerState,r=(0,c.P$)({values:n.direction,breakpoints:t.breakpoints.values});return(0,c.k9)({theme:t},r,(function(e){var t={flexDirection:e};return 0===e.indexOf("column")&&(t["& > .".concat(y.item)]={maxWidth:"none"}),t}))}),(function(e){var t=e.theme,n=e.ownerState,r=n.container,o=n.rowSpacing,i={};if(r&&0!==o){var s=(0,c.P$)({values:o,breakpoints:t.breakpoints.values});i=(0,c.k9)({theme:t},s,(function(e){var n=t.spacing(e);return"0px"!==n?(0,a.Z)({marginTop:"-".concat(w(n))},"& > .".concat(y.item),{paddingTop:w(n)}):{}}))}return i}),(function(e){var t=e.theme,n=e.ownerState,r=n.container,o=n.columnSpacing,i={};if(r&&0!==o){var s=(0,c.P$)({values:o,breakpoints:t.breakpoints.values});i=(0,c.k9)({theme:t},s,(function(e){var n=t.spacing(e);return"0px"!==n?(0,a.Z)({width:"calc(100% + ".concat(w(n),")"),marginLeft:"-".concat(w(n))},"& > .".concat(y.item),{paddingLeft:w(n)}):{}}))}return i}),(function(e){var t,n=e.theme,r=e.ownerState;return n.breakpoints.keys.reduce((function(e,a){var o={};if(r[a]&&(t=r[a]),!t)return e;if(!0===t)o={flexBasis:0,flexGrow:1,maxWidth:"100%"};else if("auto"===t)o={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"};else{var s=(0,c.P$)({values:r.columns,breakpoints:n.breakpoints.values}),l="object"===typeof s?s[a]:s;if(void 0===l||null===l)return e;var u="".concat(Math.round(t/l*1e8)/1e6,"%"),d={};if(r.container&&r.item&&0!==r.columnSpacing){var f=n.spacing(r.columnSpacing);if("0px"!==f){var p="calc(".concat(u," + ").concat(w(f),")");d={flexBasis:p,maxWidth:p}}}o=(0,i.Z)({flexBasis:u,flexGrow:0,maxWidth:u},d)}return 0===n.breakpoints.values[a]?Object.assign(e,o):e[n.breakpoints.up(a)]=o,e}),{})})),S=s.forwardRef((function(e,t){var n,a=(0,p.Z)({props:e,name:"MuiGrid"}),c=(0,u.Z)(a),f=c.className,m=c.columns,g=c.columnSpacing,y=c.component,w=void 0===y?"div":y,S=c.container,E=void 0!==S&&S,Z=c.direction,T=void 0===Z?"row":Z,A=c.item,C=void 0!==A&&A,M=c.lg,k=void 0!==M&&M,O=c.md,P=void 0!==O&&O,R=c.rowSpacing,N=c.sm,z=void 0!==N&&N,I=c.spacing,L=void 0===I?0:I,D=c.wrap,B=void 0===D?"wrap":D,H=c.xl,V=void 0!==H&&H,U=c.xs,F=void 0!==U&&U,G=c.zeroMinWidth,W=void 0!==G&&G,K=(0,o.Z)(c,b),q=R||L,$=g||L,Y=s.useContext(h),Q=m||Y||12,X=(0,i.Z)({},c,{columns:Q,container:E,direction:T,item:C,lg:k,md:P,sm:z,rowSpacing:q,columnSpacing:$,wrap:B,xl:V,xs:F,zeroMinWidth:W}),J=function(e){var t=e.classes,n=e.container,a=e.direction,o=e.item,i=e.lg,s=e.md,l=e.sm,c=e.spacing,u=e.wrap,f=e.xl,p=e.xs,h={root:["root",n&&"container",o&&"item",e.zeroMinWidth&&"zeroMinWidth"].concat((0,r.Z)(_(c,n)),["row"!==a&&"direction-xs-".concat(String(a)),"wrap"!==u&&"wrap-xs-".concat(String(u)),!1!==p&&"grid-xs-".concat(String(p)),!1!==l&&"grid-sm-".concat(String(l)),!1!==s&&"grid-md-".concat(String(s)),!1!==i&&"grid-lg-".concat(String(i)),!1!==f&&"grid-xl-".concat(String(f))])};return(0,d.Z)(h,v,t)}(X);return n=(0,x.jsx)(j,(0,i.Z)({ownerState:X,className:(0,l.Z)(J.root,f),as:w,ref:t},K)),12!==Q?(0,x.jsx)(h.Provider,{value:Q,children:n}):n}))},2074:function(e,t,n){"use strict";var r=n(32793),a=n(1048),o=n(50390),i=n(25558),s=n(88669),l=n(40138),c=n(3299),u=n(62559),d=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"];function f(e){return"scale(".concat(e,", ").concat(Math.pow(e,2),")")}var p={entering:{opacity:1,transform:f(1)},entered:{opacity:1,transform:"none"}},h=o.forwardRef((function(e,t){var n=e.addEndListener,h=e.appear,m=void 0===h||h,v=e.children,g=e.easing,y=e.in,x=e.onEnter,b=e.onEntered,w=e.onEntering,_=e.onExit,j=e.onExited,S=e.onExiting,E=e.style,Z=e.timeout,T=void 0===Z?"auto":Z,A=e.TransitionComponent,C=void 0===A?i.ZP:A,M=(0,a.Z)(e,d),k=o.useRef(),O=o.useRef(),P=(0,s.Z)(),R=o.useRef(null),N=(0,c.Z)(v.ref,t),z=(0,c.Z)(R,N),I=function(e){return function(t){if(e){var n=R.current;void 0===t?e(n):e(n,t)}}},L=I(w),D=I((function(e,t){(0,l.n)(e);var n,r=(0,l.C)({style:E,timeout:T,easing:g},{mode:"enter"}),a=r.duration,o=r.delay,i=r.easing;"auto"===T?(n=P.transitions.getAutoHeightDuration(e.clientHeight),O.current=n):n=a,e.style.transition=[P.transitions.create("opacity",{duration:n,delay:o}),P.transitions.create("transform",{duration:.666*n,delay:o,easing:i})].join(","),x&&x(e,t)})),B=I(b),H=I(S),V=I((function(e){var t,n=(0,l.C)({style:E,timeout:T,easing:g},{mode:"exit"}),r=n.duration,a=n.delay,o=n.easing;"auto"===T?(t=P.transitions.getAutoHeightDuration(e.clientHeight),O.current=t):t=r,e.style.transition=[P.transitions.create("opacity",{duration:t,delay:a}),P.transitions.create("transform",{duration:.666*t,delay:a||.333*t,easing:o})].join(","),e.style.opacity="0",e.style.transform=f(.75),_&&_(e)})),U=I(j);return o.useEffect((function(){return function(){clearTimeout(k.current)}}),[]),(0,u.jsx)(C,(0,r.Z)({appear:m,in:y,nodeRef:R,onEnter:D,onEntered:B,onEntering:L,onExit:V,onExited:U,onExiting:H,addEndListener:function(e){"auto"===T&&(k.current=setTimeout(e,O.current||0)),n&&n(R.current,e)},timeout:"auto"===T?null:T},M,{children:function(e,t){return o.cloneElement(v,(0,r.Z)({style:(0,r.Z)({opacity:0,transform:f(.75),visibility:"exited"!==e||y?void 0:"hidden"},p[e],E,v.props.style),ref:z},t))}}))}));h.muiSupportAuto=!0,t.Z=h},95467:function(e,t,n){"use strict";n.d(t,{Z:function(){return b}});var r=n(36222),a=n(1048),o=n(32793),i=n(50390),s=n(44977),l=n(50076),c=n(36128),u=n(8208),d=n(15573),f=n(86875),p=n(91442),h=n(10594);function m(e){return(0,h.Z)("MuiIconButton",e)}var v=(0,n(43349).Z)("MuiIconButton",["root","disabled","colorInherit","colorPrimary","colorSecondary","edgeStart","edgeEnd","sizeSmall","sizeMedium","sizeLarge"]),g=n(62559),y=["edge","children","className","color","disabled","disableFocusRipple","size"],x=(0,u.ZP)(f.Z,{name:"MuiIconButton",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,"default"!==n.color&&t["color".concat((0,p.Z)(n.color))],n.edge&&t["edge".concat((0,p.Z)(n.edge))],t["size".concat((0,p.Z)(n.size))]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({textAlign:"center",flex:"0 0 auto",fontSize:t.typography.pxToRem(24),padding:8,borderRadius:"50%",overflow:"visible",color:t.palette.action.active,transition:t.transitions.create("background-color",{duration:t.transitions.duration.shortest})},!n.disableRipple&&{"&:hover":{backgroundColor:(0,c.Fq)(t.palette.action.active,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"start"===n.edge&&{marginLeft:"small"===n.size?-3:-12},"end"===n.edge&&{marginRight:"small"===n.size?-3:-12})}),(function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({},"inherit"===n.color&&{color:"inherit"},"inherit"!==n.color&&"default"!==n.color&&(0,o.Z)({color:t.palette[n.color].main},!n.disableRipple&&{"&:hover":{backgroundColor:(0,c.Fq)(t.palette[n.color].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}}),"small"===n.size&&{padding:5,fontSize:t.typography.pxToRem(18)},"large"===n.size&&{padding:12,fontSize:t.typography.pxToRem(28)},(0,r.Z)({},"&.".concat(v.disabled),{backgroundColor:"transparent",color:t.palette.action.disabled}))})),b=i.forwardRef((function(e,t){var n=(0,d.Z)({props:e,name:"MuiIconButton"}),r=n.edge,i=void 0!==r&&r,c=n.children,u=n.className,f=n.color,h=void 0===f?"default":f,v=n.disabled,b=void 0!==v&&v,w=n.disableFocusRipple,_=void 0!==w&&w,j=n.size,S=void 0===j?"medium":j,E=(0,a.Z)(n,y),Z=(0,o.Z)({},n,{edge:i,color:h,disabled:b,disableFocusRipple:_,size:S}),T=function(e){var t=e.classes,n=e.disabled,r=e.color,a=e.edge,o=e.size,i={root:["root",n&&"disabled","default"!==r&&"color".concat((0,p.Z)(r)),a&&"edge".concat((0,p.Z)(a)),"size".concat((0,p.Z)(o))]};return(0,l.Z)(i,m,t)}(Z);return(0,g.jsx)(x,(0,o.Z)({className:(0,s.Z)(T.root,u),centerRipple:!0,focusRipple:!_,disabled:b,ref:t,ownerState:Z},E,{children:c}))}))},81378:function(e,t,n){"use strict";var r,a,o,i,s,l,c,u,d,f,p,h,m=n(17186),v=n(1048),g=n(32793),y=n(50390),x=n(44977),b=n(50076),w=n(19471),_=n(36128),j=n(91442),S=n(88669),E=n(8208),Z=n(15573),T=n(55179),A=n(62559),C=["className","color","value","valueBuffer","variant"],M=(0,w.F4)(c||(c=r||(r=(0,m.Z)(["\n 0% {\n left: -35%;\n right: 100%;\n }\n\n 60% {\n left: 100%;\n right: -90%;\n }\n\n 100% {\n left: 100%;\n right: -90%;\n }\n"])))),k=(0,w.F4)(u||(u=a||(a=(0,m.Z)(["\n 0% {\n left: -200%;\n right: 100%;\n }\n\n 60% {\n left: 107%;\n right: -8%;\n }\n\n 100% {\n left: 107%;\n right: -8%;\n }\n"])))),O=(0,w.F4)(d||(d=o||(o=(0,m.Z)(["\n 0% {\n opacity: 1;\n background-position: 0 -23px;\n }\n\n 60% {\n opacity: 0;\n background-position: 0 -23px;\n }\n\n 100% {\n opacity: 1;\n background-position: -200px -23px;\n }\n"])))),P=function(e,t){return"inherit"===t?"currentColor":"light"===e.palette.mode?(0,_.$n)(e.palette[t].main,.62):(0,_._j)(e.palette[t].main,.5)},R=(0,E.ZP)("span",{name:"MuiLinearProgress",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["color".concat((0,j.Z)(n.color))],t[n.variant]]}})((function(e){var t=e.ownerState,n=e.theme;return(0,g.Z)({position:"relative",overflow:"hidden",display:"block",height:4,zIndex:0,"@media print":{colorAdjust:"exact"},backgroundColor:P(n,t.color)},"inherit"===t.color&&"buffer"!==t.variant&&{backgroundColor:"none","&::before":{content:'""',position:"absolute",left:0,top:0,right:0,bottom:0,backgroundColor:"currentColor",opacity:.3}},"buffer"===t.variant&&{backgroundColor:"transparent"},"query"===t.variant&&{transform:"rotate(180deg)"})})),N=(0,E.ZP)("span",{name:"MuiLinearProgress",slot:"Dashed",overridesResolver:function(e,t){var n=e.ownerState;return[t.dashed,t["dashedColor".concat((0,j.Z)(n.color))]]}})((function(e){var t=e.ownerState,n=e.theme,r=P(n,t.color);return(0,g.Z)({position:"absolute",marginTop:0,height:"100%",width:"100%"},"inherit"===t.color&&{opacity:.3},{backgroundImage:"radial-gradient(".concat(r," 0%, ").concat(r," 16%, transparent 42%)"),backgroundSize:"10px 10px",backgroundPosition:"0 -23px"})}),(0,w.iv)(f||(f=i||(i=(0,m.Z)(["\n animation: "," 3s infinite linear;\n "]))),O)),z=(0,E.ZP)("span",{name:"MuiLinearProgress",slot:"Bar1",overridesResolver:function(e,t){var n=e.ownerState;return[t.bar,t["barColor".concat((0,j.Z)(n.color))],("indeterminate"===n.variant||"query"===n.variant)&&t.bar1Indeterminate,"determinate"===n.variant&&t.bar1Determinate,"buffer"===n.variant&&t.bar1Buffer]}})((function(e){var t=e.ownerState,n=e.theme;return(0,g.Z)({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left",backgroundColor:"inherit"===t.color?"currentColor":n.palette[t.color].main},"determinate"===t.variant&&{transition:"transform .".concat(4,"s linear")},"buffer"===t.variant&&{zIndex:1,transition:"transform .".concat(4,"s linear")})}),(function(e){var t=e.ownerState;return("indeterminate"===t.variant||"query"===t.variant)&&(0,w.iv)(p||(p=s||(s=(0,m.Z)(["\n width: auto;\n animation: "," 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;\n "]))),M)})),I=(0,E.ZP)("span",{name:"MuiLinearProgress",slot:"Bar2",overridesResolver:function(e,t){var n=e.ownerState;return[t.bar,t["barColor".concat((0,j.Z)(n.color))],("indeterminate"===n.variant||"query"===n.variant)&&t.bar2Indeterminate,"buffer"===n.variant&&t.bar2Buffer]}})((function(e){var t=e.ownerState,n=e.theme;return(0,g.Z)({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left"},"buffer"!==t.variant&&{backgroundColor:"inherit"===t.color?"currentColor":n.palette[t.color].main},"inherit"===t.color&&{opacity:.3},"buffer"===t.variant&&{backgroundColor:P(n,t.color),transition:"transform .".concat(4,"s linear")})}),(function(e){var t=e.ownerState;return("indeterminate"===t.variant||"query"===t.variant)&&(0,w.iv)(h||(h=l||(l=(0,m.Z)(["\n width: auto;\n animation: "," 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite;\n "]))),k)})),L=y.forwardRef((function(e,t){var n=(0,Z.Z)({props:e,name:"MuiLinearProgress"}),r=n.className,a=n.color,o=void 0===a?"primary":a,i=n.value,s=n.valueBuffer,l=n.variant,c=void 0===l?"indeterminate":l,u=(0,v.Z)(n,C),d=(0,g.Z)({},n,{color:o,variant:c}),f=function(e){var t=e.classes,n=e.variant,r=e.color,a={root:["root","color".concat((0,j.Z)(r)),n],dashed:["dashed","dashedColor".concat((0,j.Z)(r))],bar1:["bar","barColor".concat((0,j.Z)(r)),("indeterminate"===n||"query"===n)&&"bar1Indeterminate","determinate"===n&&"bar1Determinate","buffer"===n&&"bar1Buffer"],bar2:["bar","buffer"!==n&&"barColor".concat((0,j.Z)(r)),"buffer"===n&&"color".concat((0,j.Z)(r)),("indeterminate"===n||"query"===n)&&"bar2Indeterminate","buffer"===n&&"bar2Buffer"]};return(0,b.Z)(a,T.E,t)}(d),p=(0,S.Z)(),h={},m={bar1:{},bar2:{}};if("determinate"===c||"buffer"===c)if(void 0!==i){h["aria-valuenow"]=Math.round(i),h["aria-valuemin"]=0,h["aria-valuemax"]=100;var y=i-100;"rtl"===p.direction&&(y=-y),m.bar1.transform="translateX(".concat(y,"%)")}else 0;if("buffer"===c)if(void 0!==s){var w=(s||0)-100;"rtl"===p.direction&&(w=-w),m.bar2.transform="translateX(".concat(w,"%)")}else 0;return(0,A.jsxs)(R,(0,g.Z)({className:(0,x.Z)(f.root,r),ownerState:d,role:"progressbar"},h,{ref:t},u,{children:["buffer"===c?(0,A.jsx)(N,{className:f.dashed,ownerState:d}):null,(0,A.jsx)(z,{className:f.bar1,ownerState:d,style:m.bar1}),"determinate"===c?null:(0,A.jsx)(I,{className:f.bar2,ownerState:d,style:m.bar2})]}))}));t.Z=L},55179:function(e,t,n){"use strict";n.d(t,{E:function(){return a}});var r=n(10594);function a(e){return(0,r.Z)("MuiLinearProgress",e)}var o=(0,n(43349).Z)("MuiLinearProgress",["root","colorPrimary","colorSecondary","determinate","indeterminate","buffer","query","dashed","dashedColorPrimary","dashedColorSecondary","bar","barColorPrimary","barColorSecondary","bar1Indeterminate","bar1Determinate","bar1Buffer","bar2Indeterminate","bar2Buffer"]);t.Z=o},5211:function(e,t,n){"use strict";n.d(t,{Z:function(){return v}});var r=n(1048),a=n(32793),o=n(50390),i=n(44977),s=n(50076),l=n(8208),c=n(15573),u=n(57308),d=n(10594);function f(e){return(0,d.Z)("MuiList",e)}(0,n(43349).Z)("MuiList",["root","padding","dense","subheader"]);var p=n(62559),h=["children","className","component","dense","disablePadding","subheader"],m=(0,l.ZP)("ul",{name:"MuiList",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,!n.disablePadding&&t.padding,n.dense&&t.dense,n.subheader&&t.subheader]}})((function(e){var t=e.ownerState;return(0,a.Z)({listStyle:"none",margin:0,padding:0,position:"relative"},!t.disablePadding&&{paddingTop:8,paddingBottom:8},t.subheader&&{paddingTop:0})})),v=o.forwardRef((function(e,t){var n=(0,c.Z)({props:e,name:"MuiList"}),l=n.children,d=n.className,v=n.component,g=void 0===v?"ul":v,y=n.dense,x=void 0!==y&&y,b=n.disablePadding,w=void 0!==b&&b,_=n.subheader,j=(0,r.Z)(n,h),S=o.useMemo((function(){return{dense:x}}),[x]),E=(0,a.Z)({},n,{component:g,dense:x,disablePadding:w}),Z=function(e){var t=e.classes,n={root:["root",!e.disablePadding&&"padding",e.dense&&"dense",e.subheader&&"subheader"]};return(0,s.Z)(n,f,t)}(E);return(0,p.jsx)(u.Z.Provider,{value:S,children:(0,p.jsxs)(m,(0,a.Z)({as:g,className:(0,i.Z)(Z.root,d),ref:t,ownerState:E},j,{children:[_,l]}))})}))},57308:function(e,t,n){"use strict";var r=n(50390).createContext({});t.Z=r},14291:function(e,t,n){"use strict";n.d(t,{ZP:function(){return P}});var r=n(36222),a=n(1048),o=n(32793),i=n(50390),s=n(44977),l=n(50076),c=n(45193),u=n(36128),d=n(8208),f=n(15573),p=n(86875),h=n(43201),m=n(40839),v=n(3299),g=n(57308),y=n(10594),x=n(43349);function b(e){return(0,y.Z)("MuiListItem",e)}var w=(0,x.Z)("MuiListItem",["root","container","focusVisible","dense","alignItemsFlexStart","disabled","divider","gutters","padding","button","secondaryAction","selected"]),_=n(43432);function j(e){return(0,y.Z)("MuiListItemSecondaryAction",e)}(0,x.Z)("MuiListItemSecondaryAction",["root","disableGutters"]);var S=n(62559),E=["className"],Z=(0,d.ZP)("div",{name:"MuiListItemSecondaryAction",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.disableGutters&&t.disableGutters]}})((function(e){var t=e.ownerState;return(0,o.Z)({position:"absolute",right:16,top:"50%",transform:"translateY(-50%)"},t.disableGutters&&{right:0})})),T=i.forwardRef((function(e,t){var n=(0,f.Z)({props:e,name:"MuiListItemSecondaryAction"}),r=n.className,c=(0,a.Z)(n,E),u=i.useContext(g.Z),d=(0,o.Z)({},n,{disableGutters:u.disableGutters}),p=function(e){var t=e.disableGutters,n=e.classes,r={root:["root",t&&"disableGutters"]};return(0,l.Z)(r,j,n)}(d);return(0,S.jsx)(Z,(0,o.Z)({className:(0,s.Z)(p.root,r),ownerState:d,ref:t},c))}));T.muiName="ListItemSecondaryAction";var A=T,C=["className"],M=["alignItems","autoFocus","button","children","className","component","components","componentsProps","ContainerComponent","ContainerProps","dense","disabled","disableGutters","disablePadding","divider","focusVisibleClassName","secondaryAction","selected"],k=(0,d.ZP)("div",{name:"MuiListItem",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,!n.disablePadding&&t.padding,n.button&&t.button,n.hasSecondaryAction&&t.secondaryAction]}})((function(e){var t,n=e.theme,a=e.ownerState;return(0,o.Z)({display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",width:"100%",boxSizing:"border-box",textAlign:"left"},!a.disablePadding&&(0,o.Z)({paddingTop:8,paddingBottom:8},a.dense&&{paddingTop:4,paddingBottom:4},!a.disableGutters&&{paddingLeft:16,paddingRight:16},!!a.secondaryAction&&{paddingRight:48}),!!a.secondaryAction&&(0,r.Z)({},"& > .".concat(_.Z.root),{paddingRight:48}),(t={},(0,r.Z)(t,"&.".concat(w.focusVisible),{backgroundColor:n.palette.action.focus}),(0,r.Z)(t,"&.".concat(w.selected),(0,r.Z)({backgroundColor:(0,u.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(w.focusVisible),{backgroundColor:(0,u.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,r.Z)(t,"&.".concat(w.disabled),{opacity:n.palette.action.disabledOpacity}),t),"flex-start"===a.alignItems&&{alignItems:"flex-start"},a.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},a.button&&(0,r.Z)({transition:n.transitions.create("background-color",{duration:n.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(w.selected,":hover"),{backgroundColor:(0,u.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,u.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),a.hasSecondaryAction&&{paddingRight:48})})),O=(0,d.ZP)("li",{name:"MuiListItem",slot:"Container",overridesResolver:function(e,t){return t.container}})({position:"relative"}),P=i.forwardRef((function(e,t){var n=(0,f.Z)({props:e,name:"MuiListItem"}),r=n.alignItems,u=void 0===r?"center":r,d=n.autoFocus,y=void 0!==d&&d,x=n.button,_=void 0!==x&&x,j=n.children,E=n.className,Z=n.component,T=n.components,P=void 0===T?{}:T,R=n.componentsProps,N=void 0===R?{}:R,z=n.ContainerComponent,I=void 0===z?"li":z,L=n.ContainerProps,D=(L=void 0===L?{}:L).className,B=n.dense,H=void 0!==B&&B,V=n.disabled,U=void 0!==V&&V,F=n.disableGutters,G=void 0!==F&&F,W=n.disablePadding,K=void 0!==W&&W,q=n.divider,$=void 0!==q&&q,Y=n.focusVisibleClassName,Q=n.secondaryAction,X=n.selected,J=void 0!==X&&X,ee=(0,a.Z)(n.ContainerProps,C),te=(0,a.Z)(n,M),ne=i.useContext(g.Z),re={dense:H||ne.dense||!1,alignItems:u,disableGutters:G},ae=i.useRef(null);(0,m.Z)((function(){y&&ae.current&&ae.current.focus()}),[y]);var oe=i.Children.toArray(j),ie=oe.length&&(0,h.Z)(oe[oe.length-1],["ListItemSecondaryAction"]),se=(0,o.Z)({},n,{alignItems:u,autoFocus:y,button:_,dense:re.dense,disabled:U,disableGutters:G,disablePadding:K,divider:$,hasSecondaryAction:ie,selected:J}),le=function(e){var t=e.alignItems,n=e.button,r=e.classes,a=e.dense,o=e.disabled,i={root:["root",a&&"dense",!e.disableGutters&&"gutters",!e.disablePadding&&"padding",e.divider&&"divider",o&&"disabled",n&&"button","flex-start"===t&&"alignItemsFlexStart",e.hasSecondaryAction&&"secondaryAction",e.selected&&"selected"],container:["container"]};return(0,l.Z)(i,b,r)}(se),ce=(0,v.Z)(ae,t),ue=P.Root||k,de=N.root||{},fe=(0,o.Z)({className:(0,s.Z)(le.root,de.className,E),disabled:U},te),pe=Z||"li";return _&&(fe.component=Z||"div",fe.focusVisibleClassName=(0,s.Z)(w.focusVisible,Y),pe=p.Z),ie?(pe=fe.component||Z?pe:"div","li"===I&&("li"===pe?pe="div":"li"===fe.component&&(fe.component="div")),(0,S.jsx)(g.Z.Provider,{value:re,children:(0,S.jsxs)(O,(0,o.Z)({as:I,className:(0,s.Z)(le.container,D),ref:ce,ownerState:se},ee,{children:[(0,S.jsx)(ue,(0,o.Z)({},de,!(0,c.Z)(ue)&&{as:pe,ownerState:(0,o.Z)({},se,de.ownerState)},fe,{children:oe})),oe.pop()]}))})):(0,S.jsx)(g.Z.Provider,{value:re,children:(0,S.jsxs)(ue,(0,o.Z)({},de,{as:pe,ref:ce,ownerState:se},!(0,c.Z)(ue)&&{ownerState:(0,o.Z)({},se,de.ownerState)},fe,{children:[oe,Q&&(0,S.jsx)(A,{children:Q})]}))})}))},43432:function(e,t,n){"use strict";n.d(t,{t:function(){return a}});var r=n(10594);function a(e){return(0,r.Z)("MuiListItemButton",e)}var o=(0,n(43349).Z)("MuiListItemButton",["root","focusVisible","dense","alignItemsFlexStart","disabled","divider","gutters","selected"]);t.Z=o},80498:function(e,t,n){"use strict";var r=n(1048),a=n(32793),o=n(50390),i=n(44977),s=n(50076),l=n(8208),c=n(15573),u=n(2198),d=n(57308),f=n(62559),p=["className"],h=(0,l.ZP)("div",{name:"MuiListItemIcon",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,"flex-start"===n.alignItems&&t.alignItemsFlexStart]}})((function(e){var t=e.theme,n=e.ownerState;return(0,a.Z)({minWidth:56,color:t.palette.action.active,flexShrink:0,display:"inline-flex"},"flex-start"===n.alignItems&&{marginTop:8})})),m=o.forwardRef((function(e,t){var n=(0,c.Z)({props:e,name:"MuiListItemIcon"}),l=n.className,m=(0,r.Z)(n,p),v=o.useContext(d.Z),g=(0,a.Z)({},n,{alignItems:v.alignItems}),y=function(e){var t=e.alignItems,n=e.classes,r={root:["root","flex-start"===t&&"alignItemsFlexStart"]};return(0,s.Z)(r,u.f,n)}(g);return(0,f.jsx)(h,(0,a.Z)({className:(0,i.Z)(y.root,l),ownerState:g,ref:t},m))}));t.Z=m},2198:function(e,t,n){"use strict";n.d(t,{f:function(){return a}});var r=n(10594);function a(e){return(0,r.Z)("MuiListItemIcon",e)}var o=(0,n(43349).Z)("MuiListItemIcon",["root","alignItemsFlexStart"]);t.Z=o},70902:function(e,t,n){"use strict";var r=n(36222),a=n(1048),o=n(32793),i=n(50390),s=n(44977),l=n(50076),c=n(35477),u=n(57308),d=n(15573),f=n(8208),p=n(23586),h=n(62559),m=["children","className","disableTypography","inset","primary","primaryTypographyProps","secondary","secondaryTypographyProps"],v=(0,f.ZP)("div",{name:"MuiListItemText",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[(0,r.Z)({},"& .".concat(p.Z.primary),t.primary),(0,r.Z)({},"& .".concat(p.Z.secondary),t.secondary),t.root,n.inset&&t.inset,n.primary&&n.secondary&&t.multiline,n.dense&&t.dense]}})((function(e){var t=e.ownerState;return(0,o.Z)({flex:"1 1 auto",minWidth:0,marginTop:4,marginBottom:4},t.primary&&t.secondary&&{marginTop:6,marginBottom:6},t.inset&&{paddingLeft:56})})),g=i.forwardRef((function(e,t){var n=(0,d.Z)({props:e,name:"MuiListItemText"}),r=n.children,f=n.className,g=n.disableTypography,y=void 0!==g&&g,x=n.inset,b=void 0!==x&&x,w=n.primary,_=n.primaryTypographyProps,j=n.secondary,S=n.secondaryTypographyProps,E=(0,a.Z)(n,m),Z=i.useContext(u.Z).dense,T=null!=w?w:r,A=j,C=(0,o.Z)({},n,{disableTypography:y,inset:b,primary:!!T,secondary:!!A,dense:Z}),M=function(e){var t=e.classes,n=e.inset,r=e.primary,a=e.secondary,o={root:["root",n&&"inset",e.dense&&"dense",r&&a&&"multiline"],primary:["primary"],secondary:["secondary"]};return(0,l.Z)(o,p.L,t)}(C);return null==T||T.type===c.Z||y||(T=(0,h.jsx)(c.Z,(0,o.Z)({variant:Z?"body2":"body1",className:M.primary,component:"span",display:"block"},_,{children:T}))),null==A||A.type===c.Z||y||(A=(0,h.jsx)(c.Z,(0,o.Z)({variant:"body2",className:M.secondary,color:"text.secondary",display:"block"},S,{children:A}))),(0,h.jsxs)(v,(0,o.Z)({className:(0,s.Z)(M.root,f),ownerState:C,ref:t},E,{children:[T,A]}))}));t.Z=g},23586:function(e,t,n){"use strict";n.d(t,{L:function(){return a}});var r=n(10594);function a(e){return(0,r.Z)("MuiListItemText",e)}var o=(0,n(43349).Z)("MuiListItemText",["root","multiline","dense","inset","primary","secondary"]);t.Z=o},57757:function(e,t,n){"use strict";n.d(t,{Z:function(){return V}});var r=n(23430),a=n(1048),o=n(32793),i=n(50390),s=n(45193),l=n(38331),c=n(23960),u=n(44977),d=n(15851),f=n(78241),p=n(84449),h=n(68888),m=n(50076),v=n(15118),g=n(27853),y=n(84531),x=n(35531),b=n(52064),w=n(20630);function _(e,t){t?e.setAttribute("aria-hidden","true"):e.removeAttribute("aria-hidden")}function j(e){return parseInt((0,b.Z)(e).getComputedStyle(e).paddingRight,10)||0}function S(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],a=arguments.length>4?arguments[4]:void 0,o=[t,n].concat((0,x.Z)(r)),i=["TEMPLATE","SCRIPT","STYLE"];[].forEach.call(e.children,(function(e){-1===o.indexOf(e)&&-1===i.indexOf(e.tagName)&&_(e,a)}))}function E(e,t){var n=-1;return e.some((function(e,r){return!!t(e)&&(n=r,!0)})),n}function Z(e,t){var n=[],r=e.container;if(!t.disableScrollLock){if(function(e){var t=(0,f.Z)(e);return t.body===e?(0,b.Z)(e).innerWidth>t.documentElement.clientWidth:e.scrollHeight>e.clientHeight}(r)){var a=(0,w.Z)((0,f.Z)(r));n.push({value:r.style.paddingRight,property:"padding-right",el:r}),r.style.paddingRight="".concat(j(r)+a,"px");var o=(0,f.Z)(r).querySelectorAll(".mui-fixed");[].forEach.call(o,(function(e){n.push({value:e.style.paddingRight,property:"padding-right",el:e}),e.style.paddingRight="".concat(j(e)+a,"px")}))}var i=r.parentElement,s=(0,b.Z)(r),l="HTML"===(null==i?void 0:i.nodeName)&&"scroll"===s.getComputedStyle(i).overflowY?i:r;n.push({value:l.style.overflow,property:"overflow",el:l},{value:l.style.overflowX,property:"overflow-x",el:l},{value:l.style.overflowY,property:"overflow-y",el:l}),l.style.overflow="hidden"}return function(){n.forEach((function(e){var t=e.value,n=e.el,r=e.property;t?n.style.setProperty(r,t):n.style.removeProperty(r)}))}}var T=function(){function e(){(0,g.Z)(this,e),this.containers=void 0,this.modals=void 0,this.modals=[],this.containers=[]}return(0,y.Z)(e,[{key:"add",value:function(e,t){var n=this.modals.indexOf(e);if(-1!==n)return n;n=this.modals.length,this.modals.push(e),e.modalRef&&_(e.modalRef,!1);var r=function(e){var t=[];return[].forEach.call(e.children,(function(e){"true"===e.getAttribute("aria-hidden")&&t.push(e)})),t}(t);S(t,e.mount,e.modalRef,r,!0);var a=E(this.containers,(function(e){return e.container===t}));return-1!==a?(this.containers[a].modals.push(e),n):(this.containers.push({modals:[e],container:t,restore:null,hiddenSiblings:r}),n)}},{key:"mount",value:function(e,t){var n=E(this.containers,(function(t){return-1!==t.modals.indexOf(e)})),r=this.containers[n];r.restore||(r.restore=Z(r,t))}},{key:"remove",value:function(e){var t=this.modals.indexOf(e);if(-1===t)return t;var n=E(this.containers,(function(t){return-1!==t.modals.indexOf(e)})),r=this.containers[n];if(r.modals.splice(r.modals.indexOf(e),1),this.modals.splice(t,1),0===r.modals.length)r.restore&&r.restore(),e.modalRef&&_(e.modalRef,!0),S(r.container,e.mount,e.modalRef,r.hiddenSiblings,!1),this.containers.splice(n,1);else{var a=r.modals[r.modals.length-1];a.modalRef&&_(a.modalRef,!1)}return t}},{key:"isTopModal",value:function(e){return this.modals.length>0&&this.modals[this.modals.length-1]===e}}]),e}(),A=n(20250),C=n(43349),M=n(10594);function k(e){return(0,M.Z)("MuiModal",e)}(0,C.Z)("MuiModal",["root","hidden"]);var O=n(62559),P=["BackdropComponent","BackdropProps","children","classes","className","closeAfterTransition","component","components","componentsProps","container","disableAutoFocus","disableEnforceFocus","disableEscapeKeyDown","disablePortal","disableRestoreFocus","disableScrollLock","hideBackdrop","keepMounted","manager","onBackdropClick","onClose","onKeyDown","open","theme","onTransitionEnter","onTransitionExited"];var R=new T,N=i.forwardRef((function(e,t){var n=e.BackdropComponent,a=e.BackdropProps,o=e.children,g=e.classes,y=e.className,x=e.closeAfterTransition,b=void 0!==x&&x,w=e.component,j=void 0===w?"div":w,S=e.components,E=void 0===S?{}:S,Z=e.componentsProps,T=void 0===Z?{}:Z,C=e.container,M=e.disableAutoFocus,N=void 0!==M&&M,z=e.disableEnforceFocus,I=void 0!==z&&z,L=e.disableEscapeKeyDown,D=void 0!==L&&L,B=e.disablePortal,H=void 0!==B&&B,V=e.disableRestoreFocus,U=void 0!==V&&V,F=e.disableScrollLock,G=void 0!==F&&F,W=e.hideBackdrop,K=void 0!==W&&W,q=e.keepMounted,$=void 0!==q&&q,Y=e.manager,Q=void 0===Y?R:Y,X=e.onBackdropClick,J=e.onClose,ee=e.onKeyDown,te=e.open,ne=e.theme,re=e.onTransitionEnter,ae=e.onTransitionExited,oe=(0,c.Z)(e,P),ie=i.useState(!0),se=(0,r.Z)(ie,2),le=se[0],ce=se[1],ue=i.useRef({}),de=i.useRef(null),fe=i.useRef(null),pe=(0,d.Z)(fe,t),he=function(e){return!!e.children&&e.children.props.hasOwnProperty("in")}(e),me=function(){return ue.current.modalRef=fe.current,ue.current.mountNode=de.current,ue.current},ve=function(){Q.mount(me(),{disableScrollLock:G}),fe.current.scrollTop=0},ge=(0,p.Z)((function(){var e=function(e){return"function"===typeof e?e():e}(C)||(0,f.Z)(de.current).body;Q.add(me(),e),fe.current&&ve()})),ye=i.useCallback((function(){return Q.isTopModal(me())}),[Q]),xe=(0,p.Z)((function(e){de.current=e,e&&(te&&ye()?ve():_(fe.current,!0))})),be=i.useCallback((function(){Q.remove(me())}),[Q]);i.useEffect((function(){return function(){be()}}),[be]),i.useEffect((function(){te?ge():he&&b||be()}),[te,be,he,b,ge]);var we=(0,l.Z)({},e,{classes:g,closeAfterTransition:b,disableAutoFocus:N,disableEnforceFocus:I,disableEscapeKeyDown:D,disablePortal:H,disableRestoreFocus:U,disableScrollLock:G,exited:le,hideBackdrop:K,keepMounted:$}),_e=function(e){var t=e.open,n=e.exited,r=e.classes,a={root:["root",!t&&n&&"hidden"]};return(0,m.Z)(a,k,r)}(we);if(!$&&!te&&(!he||le))return null;var je={};void 0===o.props.tabIndex&&(je.tabIndex="-1"),he&&(je.onEnter=(0,h.Z)((function(){ce(!1),re&&re()}),o.props.onEnter),je.onExited=(0,h.Z)((function(){ce(!0),ae&&ae(),b&&be()}),o.props.onExited));var Se=E.Root||j,Ee=T.root||{};return(0,O.jsx)(v.Z,{ref:xe,container:C,disablePortal:H,children:(0,O.jsxs)(Se,(0,l.Z)({role:"presentation"},Ee,!(0,s.Z)(Se)&&{as:j,ownerState:(0,l.Z)({},we,Ee.ownerState),theme:ne},oe,{ref:pe,onKeyDown:function(e){ee&&ee(e),"Escape"===e.key&&ye()&&(D||(e.stopPropagation(),J&&J(e,"escapeKeyDown")))},className:(0,u.Z)(_e.root,Ee.className,y),children:[!K&&n?(0,O.jsx)(n,(0,l.Z)({open:te,onClick:function(e){e.target===e.currentTarget&&(X&&X(e),J&&J(e,"backdropClick"))}},a)):null,(0,O.jsx)(A.Z,{disableEnforceFocus:I,disableAutoFocus:N,disableRestoreFocus:U,isEnabled:ye,open:te,children:i.cloneElement(o,je)})]}))})})),z=n(8208),I=n(15573),L=n(96699),D=["BackdropComponent","closeAfterTransition","children","components","componentsProps","disableAutoFocus","disableEnforceFocus","disableEscapeKeyDown","disablePortal","disableRestoreFocus","disableScrollLock","hideBackdrop","keepMounted"],B=(0,z.ZP)("div",{name:"MuiModal",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,!n.open&&n.exited&&t.hidden]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({position:"fixed",zIndex:t.zIndex.modal,right:0,bottom:0,top:0,left:0},!n.open&&n.exited&&{visibility:"hidden"})})),H=(0,z.ZP)(L.Z,{name:"MuiModal",slot:"Backdrop",overridesResolver:function(e,t){return t.backdrop}})({zIndex:-1}),V=i.forwardRef((function(e,t){var n,l=(0,I.Z)({name:"MuiModal",props:e}),c=l.BackdropComponent,u=void 0===c?H:c,d=l.closeAfterTransition,f=void 0!==d&&d,p=l.children,h=l.components,m=void 0===h?{}:h,v=l.componentsProps,g=void 0===v?{}:v,y=l.disableAutoFocus,x=void 0!==y&&y,b=l.disableEnforceFocus,w=void 0!==b&&b,_=l.disableEscapeKeyDown,j=void 0!==_&&_,S=l.disablePortal,E=void 0!==S&&S,Z=l.disableRestoreFocus,T=void 0!==Z&&Z,A=l.disableScrollLock,C=void 0!==A&&A,M=l.hideBackdrop,k=void 0!==M&&M,P=l.keepMounted,R=void 0!==P&&P,z=(0,a.Z)(l,D),L=i.useState(!0),V=(0,r.Z)(L,2),U=V[0],F=V[1],G={closeAfterTransition:f,disableAutoFocus:x,disableEnforceFocus:w,disableEscapeKeyDown:j,disablePortal:E,disableRestoreFocus:T,disableScrollLock:C,hideBackdrop:k,keepMounted:R},W=function(e){return e.classes}((0,o.Z)({},l,G,{exited:U}));return(0,O.jsx)(N,(0,o.Z)({components:(0,o.Z)({Root:B},m),componentsProps:{root:(0,o.Z)({},g.root,(!m.Root||!(0,s.Z)(m.Root))&&{ownerState:(0,o.Z)({},null==(n=g.root)?void 0:n.ownerState)})},BackdropComponent:u,onTransitionEnter:function(){return F(!1)},onTransitionExited:function(){return F(!0)},ref:t},z,{classes:W},G,{children:p}))}))},46981:function(e,t,n){"use strict";n.d(t,{Z:function(){return g}});var r=n(1048),a=n(32793),o=n(50390),i=n(44977),s=n(50076),l=n(36128),c=n(8208),u=n(15573),d=n(10594);function f(e){return(0,d.Z)("MuiPaper",e)}(0,n(43349).Z)("MuiPaper",["root","rounded","outlined","elevation","elevation0","elevation1","elevation2","elevation3","elevation4","elevation5","elevation6","elevation7","elevation8","elevation9","elevation10","elevation11","elevation12","elevation13","elevation14","elevation15","elevation16","elevation17","elevation18","elevation19","elevation20","elevation21","elevation22","elevation23","elevation24"]);var p=n(62559),h=["className","component","elevation","square","variant"],m=function(e){return((e<1?5.11916*Math.pow(e,2):4.5*Math.log(e+1)+2)/100).toFixed(2)},v=(0,c.ZP)("div",{name:"MuiPaper",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t[n.variant],!n.square&&t.rounded,"elevation"===n.variant&&t["elevation".concat(n.elevation)]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,a.Z)({backgroundColor:t.palette.background.paper,color:t.palette.text.primary,transition:t.transitions.create("box-shadow")},!n.square&&{borderRadius:t.shape.borderRadius},"outlined"===n.variant&&{border:"1px solid ".concat(t.palette.divider)},"elevation"===n.variant&&(0,a.Z)({boxShadow:t.shadows[n.elevation]},"dark"===t.palette.mode&&{backgroundImage:"linear-gradient(".concat((0,l.Fq)("#fff",m(n.elevation)),", ").concat((0,l.Fq)("#fff",m(n.elevation)),")")}))})),g=o.forwardRef((function(e,t){var n=(0,u.Z)({props:e,name:"MuiPaper"}),o=n.className,l=n.component,c=void 0===l?"div":l,d=n.elevation,m=void 0===d?1:d,g=n.square,y=void 0!==g&&g,x=n.variant,b=void 0===x?"elevation":x,w=(0,r.Z)(n,h),_=(0,a.Z)({},n,{component:c,elevation:m,square:y,variant:b}),j=function(e){var t=e.square,n=e.elevation,r=e.variant,a=e.classes,o={root:["root",r,!t&&"rounded","elevation"===r&&"elevation".concat(n)]};return(0,s.Z)(o,f,a)}(_);return(0,p.jsx)(v,(0,a.Z)({as:c,ownerState:_,className:(0,i.Z)(j.root,o),ref:t},w))}))},67361:function(e,t,n){"use strict";n.d(t,{Z:function(){return ke}});var r=n(32793),a=n(50390),o=n(23430),i=n(38331),s=n(23960),l=n(15851),c=n(62752),u=n(78241);function d(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function f(e){return e instanceof d(e).Element||e instanceof Element}function p(e){return e instanceof d(e).HTMLElement||e instanceof HTMLElement}function h(e){return"undefined"!==typeof ShadowRoot&&(e instanceof d(e).ShadowRoot||e instanceof ShadowRoot)}var m=Math.max,v=Math.min,g=Math.round;function y(e,t){void 0===t&&(t=!1);var n=e.getBoundingClientRect(),r=1,a=1;if(p(e)&&t){var o=e.offsetHeight,i=e.offsetWidth;i>0&&(r=g(n.width)/i||1),o>0&&(a=g(n.height)/o||1)}return{width:n.width/r,height:n.height/a,top:n.top/a,right:n.right/r,bottom:n.bottom/a,left:n.left/r,x:n.left/r,y:n.top/a}}function x(e){var t=d(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function b(e){return e?(e.nodeName||"").toLowerCase():null}function w(e){return((f(e)?e.ownerDocument:e.document)||window.document).documentElement}function _(e){return y(w(e)).left+x(e).scrollLeft}function j(e){return d(e).getComputedStyle(e)}function S(e){var t=j(e),n=t.overflow,r=t.overflowX,a=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+a+r)}function E(e,t,n){void 0===n&&(n=!1);var r=p(t),a=p(t)&&function(e){var t=e.getBoundingClientRect(),n=g(t.width)/e.offsetWidth||1,r=g(t.height)/e.offsetHeight||1;return 1!==n||1!==r}(t),o=w(t),i=y(e,a),s={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!n)&&(("body"!==b(t)||S(o))&&(s=function(e){return e!==d(e)&&p(e)?{scrollLeft:(t=e).scrollLeft,scrollTop:t.scrollTop}:x(e);var t}(t)),p(t)?((l=y(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=_(o))),{x:i.left+s.scrollLeft-l.x,y:i.top+s.scrollTop-l.y,width:i.width,height:i.height}}function Z(e){var t=y(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function T(e){return"html"===b(e)?e:e.assignedSlot||e.parentNode||(h(e)?e.host:null)||w(e)}function A(e){return["html","body","#document"].indexOf(b(e))>=0?e.ownerDocument.body:p(e)&&S(e)?e:A(T(e))}function C(e,t){var n;void 0===t&&(t=[]);var r=A(e),a=r===(null==(n=e.ownerDocument)?void 0:n.body),o=d(r),i=a?[o].concat(o.visualViewport||[],S(r)?r:[]):r,s=t.concat(i);return a?s:s.concat(C(T(i)))}function M(e){return["table","td","th"].indexOf(b(e))>=0}function k(e){return p(e)&&"fixed"!==j(e).position?e.offsetParent:null}function O(e){for(var t=d(e),n=k(e);n&&M(n)&&"static"===j(n).position;)n=k(n);return n&&("html"===b(n)||"body"===b(n)&&"static"===j(n).position)?t:n||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&p(e)&&"fixed"===j(e).position)return null;for(var n=T(e);p(n)&&["html","body"].indexOf(b(n))<0;){var r=j(n);if("none"!==r.transform||"none"!==r.perspective||"paint"===r.contain||-1!==["transform","perspective"].indexOf(r.willChange)||t&&"filter"===r.willChange||t&&r.filter&&"none"!==r.filter)return n;n=n.parentNode}return null}(e)||t}var P="top",R="bottom",N="right",z="left",I="auto",L=[P,R,N,z],D="start",B="end",H="viewport",V="popper",U=L.reduce((function(e,t){return e.concat([t+"-"+D,t+"-"+B])}),[]),F=[].concat(L,[I]).reduce((function(e,t){return e.concat([t,t+"-"+D,t+"-"+B])}),[]),G=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function W(e){var t=new Map,n=new Set,r=[];function a(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var r=t.get(e);r&&a(r)}})),r.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||a(e)})),r}function K(e){var t;return function(){return t||(t=new Promise((function(n){Promise.resolve().then((function(){t=void 0,n(e())}))}))),t}}var q={placement:"bottom",modifiers:[],strategy:"absolute"};function $(){for(var e=arguments.length,t=new Array(e),n=0;n=0?"x":"y"}function te(e){var t,n=e.reference,r=e.element,a=e.placement,o=a?X(a):null,i=a?J(a):null,s=n.x+n.width/2-r.width/2,l=n.y+n.height/2-r.height/2;switch(o){case P:t={x:s,y:n.y-r.height};break;case R:t={x:s,y:n.y+n.height};break;case N:t={x:n.x+n.width,y:l};break;case z:t={x:n.x-r.width,y:l};break;default:t={x:n.x,y:n.y}}var c=o?ee(o):null;if(null!=c){var u="y"===c?"height":"width";switch(i){case D:t[c]=t[c]-(n[u]/2-r[u]/2);break;case B:t[c]=t[c]+(n[u]/2-r[u]/2)}}return t}var ne={top:"auto",right:"auto",bottom:"auto",left:"auto"};function re(e){var t,n=e.popper,r=e.popperRect,a=e.placement,o=e.variation,i=e.offsets,s=e.position,l=e.gpuAcceleration,c=e.adaptive,u=e.roundOffsets,f=e.isFixed,p=i.x,h=void 0===p?0:p,m=i.y,v=void 0===m?0:m,y="function"===typeof u?u({x:h,y:v}):{x:h,y:v};h=y.x,v=y.y;var x=i.hasOwnProperty("x"),b=i.hasOwnProperty("y"),_=z,S=P,E=window;if(c){var Z=O(n),T="clientHeight",A="clientWidth";if(Z===d(n)&&"static"!==j(Z=w(n)).position&&"absolute"===s&&(T="scrollHeight",A="scrollWidth"),Z=Z,a===P||(a===z||a===N)&&o===B)S=R,v-=(f&&E.visualViewport?E.visualViewport.height:Z[T])-r.height,v*=l?1:-1;if(a===z||(a===P||a===R)&&o===B)_=N,h-=(f&&E.visualViewport?E.visualViewport.width:Z[A])-r.width,h*=l?1:-1}var C,M=Object.assign({position:s},c&&ne),k=!0===u?function(e){var t=e.x,n=e.y,r=window.devicePixelRatio||1;return{x:g(t*r)/r||0,y:g(n*r)/r||0}}({x:h,y:v}):{x:h,y:v};return h=k.x,v=k.y,l?Object.assign({},M,((C={})[S]=b?"0":"",C[_]=x?"0":"",C.transform=(E.devicePixelRatio||1)<=1?"translate("+h+"px, "+v+"px)":"translate3d("+h+"px, "+v+"px, 0)",C)):Object.assign({},M,((t={})[S]=b?v+"px":"",t[_]=x?h+"px":"",t.transform="",t))}var ae={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,r=e.name,a=n.offset,o=void 0===a?[0,0]:a,i=F.reduce((function(e,n){return e[n]=function(e,t,n){var r=X(e),a=[z,P].indexOf(r)>=0?-1:1,o="function"===typeof n?n(Object.assign({},t,{placement:e})):n,i=o[0],s=o[1];return i=i||0,s=(s||0)*a,[z,N].indexOf(r)>=0?{x:s,y:i}:{x:i,y:s}}(n,t.rects,o),e}),{}),s=i[t.placement],l=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=i}},oe={left:"right",right:"left",bottom:"top",top:"bottom"};function ie(e){return e.replace(/left|right|bottom|top/g,(function(e){return oe[e]}))}var se={start:"end",end:"start"};function le(e){return e.replace(/start|end/g,(function(e){return se[e]}))}function ce(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&h(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function ue(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function de(e,t){return t===H?ue(function(e){var t=d(e),n=w(e),r=t.visualViewport,a=n.clientWidth,o=n.clientHeight,i=0,s=0;return r&&(a=r.width,o=r.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(i=r.offsetLeft,s=r.offsetTop)),{width:a,height:o,x:i+_(e),y:s}}(e)):f(t)?function(e){var t=y(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):ue(function(e){var t,n=w(e),r=x(e),a=null==(t=e.ownerDocument)?void 0:t.body,o=m(n.scrollWidth,n.clientWidth,a?a.scrollWidth:0,a?a.clientWidth:0),i=m(n.scrollHeight,n.clientHeight,a?a.scrollHeight:0,a?a.clientHeight:0),s=-r.scrollLeft+_(e),l=-r.scrollTop;return"rtl"===j(a||n).direction&&(s+=m(n.clientWidth,a?a.clientWidth:0)-o),{width:o,height:i,x:s,y:l}}(w(e)))}function fe(e,t,n){var r="clippingParents"===t?function(e){var t=C(T(e)),n=["absolute","fixed"].indexOf(j(e).position)>=0&&p(e)?O(e):e;return f(n)?t.filter((function(e){return f(e)&&ce(e,n)&&"body"!==b(e)})):[]}(e):[].concat(t),a=[].concat(r,[n]),o=a[0],i=a.reduce((function(t,n){var r=de(e,n);return t.top=m(r.top,t.top),t.right=v(r.right,t.right),t.bottom=v(r.bottom,t.bottom),t.left=m(r.left,t.left),t}),de(e,o));return i.width=i.right-i.left,i.height=i.bottom-i.top,i.x=i.left,i.y=i.top,i}function pe(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function he(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function me(e,t){void 0===t&&(t={});var n=t,r=n.placement,a=void 0===r?e.placement:r,o=n.boundary,i=void 0===o?"clippingParents":o,s=n.rootBoundary,l=void 0===s?H:s,c=n.elementContext,u=void 0===c?V:c,d=n.altBoundary,p=void 0!==d&&d,h=n.padding,m=void 0===h?0:h,v=pe("number"!==typeof m?m:he(m,L)),g=u===V?"reference":V,x=e.rects.popper,b=e.elements[p?g:u],_=fe(f(b)?b:b.contextElement||w(e.elements.popper),i,l),j=y(e.elements.reference),S=te({reference:j,element:x,strategy:"absolute",placement:a}),E=ue(Object.assign({},x,S)),Z=u===V?E:j,T={top:_.top-Z.top+v.top,bottom:Z.bottom-_.bottom+v.bottom,left:_.left-Z.left+v.left,right:Z.right-_.right+v.right},A=e.modifiersData.offset;if(u===V&&A){var C=A[a];Object.keys(T).forEach((function(e){var t=[N,R].indexOf(e)>=0?1:-1,n=[P,R].indexOf(e)>=0?"y":"x";T[e]+=C[n]*t}))}return T}function ve(e,t,n){return m(e,v(t,n))}var ge={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,a=n.mainAxis,o=void 0===a||a,i=n.altAxis,s=void 0!==i&&i,l=n.boundary,c=n.rootBoundary,u=n.altBoundary,d=n.padding,f=n.tether,p=void 0===f||f,h=n.tetherOffset,g=void 0===h?0:h,y=me(t,{boundary:l,rootBoundary:c,padding:d,altBoundary:u}),x=X(t.placement),b=J(t.placement),w=!b,_=ee(x),j="x"===_?"y":"x",S=t.modifiersData.popperOffsets,E=t.rects.reference,T=t.rects.popper,A="function"===typeof g?g(Object.assign({},t.rects,{placement:t.placement})):g,C="number"===typeof A?{mainAxis:A,altAxis:A}:Object.assign({mainAxis:0,altAxis:0},A),M=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,k={x:0,y:0};if(S){if(o){var I,L="y"===_?P:z,B="y"===_?R:N,H="y"===_?"height":"width",V=S[_],U=V+y[L],F=V-y[B],G=p?-T[H]/2:0,W=b===D?E[H]:T[H],K=b===D?-T[H]:-E[H],q=t.elements.arrow,$=p&&q?Z(q):{width:0,height:0},Y=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Q=Y[L],te=Y[B],ne=ve(0,E[H],$[H]),re=w?E[H]/2-G-ne-Q-C.mainAxis:W-ne-Q-C.mainAxis,ae=w?-E[H]/2+G+ne+te+C.mainAxis:K+ne+te+C.mainAxis,oe=t.elements.arrow&&O(t.elements.arrow),ie=oe?"y"===_?oe.clientTop||0:oe.clientLeft||0:0,se=null!=(I=null==M?void 0:M[_])?I:0,le=V+ae-se,ce=ve(p?v(U,V+re-se-ie):U,V,p?m(F,le):F);S[_]=ce,k[_]=ce-V}if(s){var ue,de="x"===_?P:z,fe="x"===_?R:N,pe=S[j],he="y"===j?"height":"width",ge=pe+y[de],ye=pe-y[fe],xe=-1!==[P,z].indexOf(x),be=null!=(ue=null==M?void 0:M[j])?ue:0,we=xe?ge:pe-E[he]-T[he]-be+C.altAxis,_e=xe?pe+E[he]+T[he]-be-C.altAxis:ye,je=p&&xe?function(e,t,n){var r=ve(e,t,n);return r>n?n:r}(we,pe,_e):ve(p?we:ge,pe,p?_e:ye);S[j]=je,k[j]=je-pe}t.modifiersData[r]=k}},requiresIfExists:["offset"]};var ye={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,r=e.name,a=e.options,o=n.elements.arrow,i=n.modifiersData.popperOffsets,s=X(n.placement),l=ee(s),c=[z,N].indexOf(s)>=0?"height":"width";if(o&&i){var u=function(e,t){return pe("number"!==typeof(e="function"===typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:he(e,L))}(a.padding,n),d=Z(o),f="y"===l?P:z,p="y"===l?R:N,h=n.rects.reference[c]+n.rects.reference[l]-i[l]-n.rects.popper[c],m=i[l]-n.rects.reference[l],v=O(o),g=v?"y"===l?v.clientHeight||0:v.clientWidth||0:0,y=h/2-m/2,x=u[f],b=g-d[c]-u[p],w=g/2-d[c]/2+y,_=ve(x,w,b),j=l;n.modifiersData[r]=((t={})[j]=_,t.centerOffset=_-w,t)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!==typeof r||(r=t.elements.popper.querySelector(r)))&&ce(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function xe(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function be(e){return[P,N,R,z].some((function(t){return e[t]>=0}))}var we=Y({defaultModifiers:[{name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,n=e.instance,r=e.options,a=r.scroll,o=void 0===a||a,i=r.resize,s=void 0===i||i,l=d(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&c.forEach((function(e){e.addEventListener("scroll",n.update,Q)})),s&&l.addEventListener("resize",n.update,Q),function(){o&&c.forEach((function(e){e.removeEventListener("scroll",n.update,Q)})),s&&l.removeEventListener("resize",n.update,Q)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=te({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,r=n.gpuAcceleration,a=void 0===r||r,o=n.adaptive,i=void 0===o||o,s=n.roundOffsets,l=void 0===s||s,c={placement:X(t.placement),variation:J(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:a,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,re(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:i,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,re(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},a=t.elements[e];p(a)&&b(a)&&(Object.assign(a.style,n),Object.keys(r).forEach((function(e){var t=r[e];!1===t?a.removeAttribute(e):a.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var r=t.elements[e],a=t.attributes[e]||{},o=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{});p(r)&&b(r)&&(Object.assign(r.style,o),Object.keys(a).forEach((function(e){r.removeAttribute(e)})))}))}},requires:["computeStyles"]},ae,{name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var a=n.mainAxis,o=void 0===a||a,i=n.altAxis,s=void 0===i||i,l=n.fallbackPlacements,c=n.padding,u=n.boundary,d=n.rootBoundary,f=n.altBoundary,p=n.flipVariations,h=void 0===p||p,m=n.allowedAutoPlacements,v=t.options.placement,g=X(v),y=l||(g===v||!h?[ie(v)]:function(e){if(X(e)===I)return[];var t=ie(e);return[le(e),t,le(t)]}(v)),x=[v].concat(y).reduce((function(e,n){return e.concat(X(n)===I?function(e,t){void 0===t&&(t={});var n=t,r=n.placement,a=n.boundary,o=n.rootBoundary,i=n.padding,s=n.flipVariations,l=n.allowedAutoPlacements,c=void 0===l?F:l,u=J(r),d=u?s?U:U.filter((function(e){return J(e)===u})):L,f=d.filter((function(e){return c.indexOf(e)>=0}));0===f.length&&(f=d);var p=f.reduce((function(t,n){return t[n]=me(e,{placement:n,boundary:a,rootBoundary:o,padding:i})[X(n)],t}),{});return Object.keys(p).sort((function(e,t){return p[e]-p[t]}))}(t,{placement:n,boundary:u,rootBoundary:d,padding:c,flipVariations:h,allowedAutoPlacements:m}):n)}),[]),b=t.rects.reference,w=t.rects.popper,_=new Map,j=!0,S=x[0],E=0;E=0,M=C?"width":"height",k=me(t,{placement:Z,boundary:u,rootBoundary:d,altBoundary:f,padding:c}),O=C?A?N:z:A?R:P;b[M]>w[M]&&(O=ie(O));var B=ie(O),H=[];if(o&&H.push(k[T]<=0),s&&H.push(k[O]<=0,k[B]<=0),H.every((function(e){return e}))){S=Z,j=!1;break}_.set(Z,H)}if(j)for(var V=function(e){var t=x.find((function(t){var n=_.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return S=t,"break"},G=h?3:1;G>0;G--){if("break"===V(G))break}t.placement!==S&&(t.modifiersData[r]._skip=!0,t.placement=S,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},ge,ye,{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,a=t.rects.popper,o=t.modifiersData.preventOverflow,i=me(t,{elementContext:"reference"}),s=me(t,{altBoundary:!0}),l=xe(i,r),c=xe(s,a,o),u=be(l),d=be(c);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:u,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":d})}}]}),_e=n(15118),je=n(62559),Se=["anchorEl","children","direction","disablePortal","modifiers","open","ownerState","placement","popperOptions","popperRef","TransitionProps"],Ee=["anchorEl","children","container","direction","disablePortal","keepMounted","modifiers","open","placement","popperOptions","popperRef","style","transition"];function Ze(e){return"function"===typeof e?e():e}var Te={},Ae=a.forwardRef((function(e,t){var n=e.anchorEl,r=e.children,u=e.direction,d=e.disablePortal,f=e.modifiers,p=e.open,h=e.placement,m=e.popperOptions,v=e.popperRef,g=e.TransitionProps,y=(0,s.Z)(e,Se),x=a.useRef(null),b=(0,l.Z)(x,t),w=a.useRef(null),_=(0,l.Z)(w,v),j=a.useRef(_);(0,c.Z)((function(){j.current=_}),[_]),a.useImperativeHandle(v,(function(){return w.current}),[]);var S=function(e,t){if("ltr"===t)return e;switch(e){case"bottom-end":return"bottom-start";case"bottom-start":return"bottom-end";case"top-end":return"top-start";case"top-start":return"top-end";default:return e}}(h,u),E=a.useState(S),Z=(0,o.Z)(E,2),T=Z[0],A=Z[1];a.useEffect((function(){w.current&&w.current.forceUpdate()})),(0,c.Z)((function(){if(n&&p){Ze(n);var e=[{name:"preventOverflow",options:{altBoundary:d}},{name:"flip",options:{altBoundary:d}},{name:"onUpdate",enabled:!0,phase:"afterWrite",fn:function(e){var t=e.state;A(t.placement)}}];null!=f&&(e=e.concat(f)),m&&null!=m.modifiers&&(e=e.concat(m.modifiers));var t=we(Ze(n),x.current,(0,i.Z)({placement:S},m,{modifiers:e}));return j.current(t),function(){t.destroy(),j.current(null)}}}),[n,d,f,p,m,S]);var C={placement:T};return null!==g&&(C.TransitionProps=g),(0,je.jsx)("div",(0,i.Z)({ref:b,role:"tooltip"},y,{children:"function"===typeof r?r(C):r}))})),Ce=a.forwardRef((function(e,t){var n=e.anchorEl,r=e.children,l=e.container,c=e.direction,d=void 0===c?"ltr":c,f=e.disablePortal,p=void 0!==f&&f,h=e.keepMounted,m=void 0!==h&&h,v=e.modifiers,g=e.open,y=e.placement,x=void 0===y?"bottom":y,b=e.popperOptions,w=void 0===b?Te:b,_=e.popperRef,j=e.style,S=e.transition,E=void 0!==S&&S,Z=(0,s.Z)(e,Ee),T=a.useState(!0),A=(0,o.Z)(T,2),C=A[0],M=A[1];if(!m&&!g&&(!E||C))return null;var k=l||(n?(0,u.Z)(Ze(n)).body:void 0);return(0,je.jsx)(_e.Z,{disablePortal:p,container:k,children:(0,je.jsx)(Ae,(0,i.Z)({anchorEl:n,direction:d,disablePortal:p,modifiers:v,ref:t,open:E?!C:g,placement:x,popperOptions:w,popperRef:_},Z,{style:(0,i.Z)({position:"fixed",top:0,left:0,display:g||!m||E&&!C?null:"none"},j),TransitionProps:E?{in:g,onEnter:function(){M(!1)},onExited:function(){M(!0)}}:null,children:r}))})})),Me=n(92638),ke=a.forwardRef((function(e,t){var n=(0,Me.Z)();return(0,je.jsx)(Ce,(0,r.Z)({direction:null==n?void 0:n.direction},e,{ref:t}))}))},97771:function(e,t,n){"use strict";n.d(t,{Z:function(){return L}});var r=n(23430),a=n(36222),o=n(1048),i=n(32793),s=n(50390),l=n(44977),c=n(50076),u=n(15851),d=n(84449),f=n(78241),p=n(62559);function h(e){return e.substring(2).toLowerCase()}var m=function(e){var t=e.children,n=e.disableReactTree,r=void 0!==n&&n,a=e.mouseEvent,o=void 0===a?"onClick":a,i=e.onClickAway,l=e.touchEvent,c=void 0===l?"onTouchEnd":l,m=s.useRef(!1),v=s.useRef(null),g=s.useRef(!1),y=s.useRef(!1);s.useEffect((function(){return setTimeout((function(){g.current=!0}),0),function(){g.current=!1}}),[]);var x=(0,u.Z)(t.ref,v),b=(0,d.Z)((function(e){var t=y.current;y.current=!1;var n=(0,f.Z)(v.current);!g.current||!v.current||"clientX"in e&&function(e,t){return t.documentElement.clientWidth-1:!n.documentElement.contains(e.target)||v.current.contains(e.target))||!r&&t||i(e))})),w=function(e){return function(n){y.current=!0;var r=t.props[e];r&&r(n)}},_={ref:x};return!1!==c&&(_[c]=w(c)),s.useEffect((function(){if(!1!==c){var e=h(c),t=(0,f.Z)(v.current),n=function(){m.current=!0};return t.addEventListener(e,b),t.addEventListener("touchmove",n),function(){t.removeEventListener(e,b),t.removeEventListener("touchmove",n)}}}),[b,c]),!1!==o&&(_[o]=w(o)),s.useEffect((function(){if(!1!==o){var e=h(o),t=(0,f.Z)(v.current);return t.addEventListener(e,b),function(){t.removeEventListener(e,b)}}}),[b,o]),(0,p.jsx)(s.Fragment,{children:s.cloneElement(t,_)})},v=n(8208),g=n(88669),y=n(15573),x=n(78157),b=n(87827),w=n(91442),_=n(2074),j=n(36128),S=n(46981),E=n(10594),Z=n(43349);function T(e){return(0,E.Z)("MuiSnackbarContent",e)}(0,Z.Z)("MuiSnackbarContent",["root","message","action"]);var A=["action","className","message","role"],C=(0,v.ZP)(S.Z,{name:"MuiSnackbarContent",slot:"Root",overridesResolver:function(e,t){return t.root}})((function(e){var t=e.theme,n="light"===t.palette.mode?.8:.98,r=(0,j._4)(t.palette.background.default,n);return(0,i.Z)({},t.typography.body2,(0,a.Z)({color:t.palette.getContrastText(r),backgroundColor:r,display:"flex",alignItems:"center",flexWrap:"wrap",padding:"6px 16px",borderRadius:t.shape.borderRadius,flexGrow:1},t.breakpoints.up("sm"),{flexGrow:"initial",minWidth:288}))})),M=(0,v.ZP)("div",{name:"MuiSnackbarContent",slot:"Message",overridesResolver:function(e,t){return t.message}})({padding:"8px 0"}),k=(0,v.ZP)("div",{name:"MuiSnackbarContent",slot:"Action",overridesResolver:function(e,t){return t.action}})({display:"flex",alignItems:"center",marginLeft:"auto",paddingLeft:16,marginRight:-8}),O=s.forwardRef((function(e,t){var n=(0,y.Z)({props:e,name:"MuiSnackbarContent"}),r=n.action,a=n.className,s=n.message,u=n.role,d=void 0===u?"alert":u,f=(0,o.Z)(n,A),h=n,m=function(e){var t=e.classes;return(0,c.Z)({root:["root"],action:["action"],message:["message"]},T,t)}(h);return(0,p.jsxs)(C,(0,i.Z)({role:d,square:!0,elevation:6,className:(0,l.Z)(m.root,a),ownerState:h,ref:t},f,{children:[(0,p.jsx)(M,{className:m.message,ownerState:h,children:s}),r?(0,p.jsx)(k,{className:m.action,ownerState:h,children:r}):null]}))}));function P(e){return(0,E.Z)("MuiSnackbar",e)}(0,Z.Z)("MuiSnackbar",["root","anchorOriginTopCenter","anchorOriginBottomCenter","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft"]);var R=["onEnter","onExited"],N=["action","anchorOrigin","autoHideDuration","children","className","ClickAwayListenerProps","ContentProps","disableWindowBlurListener","message","onBlur","onClose","onFocus","onMouseEnter","onMouseLeave","open","resumeHideDuration","TransitionComponent","transitionDuration","TransitionProps"],z=(0,v.ZP)("div",{name:"MuiSnackbar",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["anchorOrigin".concat((0,w.Z)(n.anchorOrigin.vertical)).concat((0,w.Z)(n.anchorOrigin.horizontal))]]}})((function(e){var t=e.theme,n=e.ownerState,r=(0,i.Z)({},!n.isRtl&&{left:"50%",right:"auto",transform:"translateX(-50%)"},n.isRtl&&{right:"50%",left:"auto",transform:"translateX(50%)"});return(0,i.Z)({zIndex:t.zIndex.snackbar,position:"fixed",display:"flex",left:8,right:8,justifyContent:"center",alignItems:"center"},"top"===n.anchorOrigin.vertical?{top:8}:{bottom:8},"left"===n.anchorOrigin.horizontal&&{justifyContent:"flex-start"},"right"===n.anchorOrigin.horizontal&&{justifyContent:"flex-end"},(0,a.Z)({},t.breakpoints.up("sm"),(0,i.Z)({},"top"===n.anchorOrigin.vertical?{top:24}:{bottom:24},"center"===n.anchorOrigin.horizontal&&r,"left"===n.anchorOrigin.horizontal&&(0,i.Z)({},!n.isRtl&&{left:24,right:"auto"},n.isRtl&&{right:24,left:"auto"}),"right"===n.anchorOrigin.horizontal&&(0,i.Z)({},!n.isRtl&&{right:24,left:"auto"},n.isRtl&&{left:24,right:"auto"}))))})),I=s.forwardRef((function(e,t){var n=(0,y.Z)({props:e,name:"MuiSnackbar"}),a=n.action,u=n.anchorOrigin,d=(u=void 0===u?{vertical:"bottom",horizontal:"left"}:u).vertical,f=u.horizontal,h=n.autoHideDuration,v=void 0===h?null:h,j=n.children,S=n.className,E=n.ClickAwayListenerProps,Z=n.ContentProps,T=n.disableWindowBlurListener,A=void 0!==T&&T,C=n.message,M=n.onBlur,k=n.onClose,I=n.onFocus,L=n.onMouseEnter,D=n.onMouseLeave,B=n.open,H=n.resumeHideDuration,V=n.TransitionComponent,U=void 0===V?_.Z:V,F=n.transitionDuration,G=void 0===F?{enter:x.x9.enteringScreen,exit:x.x9.leavingScreen}:F,W=n.TransitionProps,K=(W=void 0===W?{}:W).onEnter,q=W.onExited,$=(0,o.Z)(n.TransitionProps,R),Y=(0,o.Z)(n,N),Q="rtl"===(0,g.Z)().direction,X=(0,i.Z)({},n,{anchorOrigin:{vertical:d,horizontal:f},isRtl:Q}),J=function(e){var t=e.classes,n=e.anchorOrigin,r={root:["root","anchorOrigin".concat((0,w.Z)(n.vertical)).concat((0,w.Z)(n.horizontal))]};return(0,c.Z)(r,P,t)}(X),ee=s.useRef(),te=s.useState(!0),ne=(0,r.Z)(te,2),re=ne[0],ae=ne[1],oe=(0,b.Z)((function(){k&&k.apply(void 0,arguments)})),ie=(0,b.Z)((function(e){k&&null!=e&&(clearTimeout(ee.current),ee.current=setTimeout((function(){oe(null,"timeout")}),e))}));s.useEffect((function(){return B&&ie(v),function(){clearTimeout(ee.current)}}),[B,v,ie]);var se=function(){clearTimeout(ee.current)},le=s.useCallback((function(){null!=v&&ie(null!=H?H:.5*v)}),[v,H,ie]);return s.useEffect((function(){if(!A&&B)return window.addEventListener("focus",le),window.addEventListener("blur",se),function(){window.removeEventListener("focus",le),window.removeEventListener("blur",se)}}),[A,le,B]),s.useEffect((function(){if(B)return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)};function e(e){e.defaultPrevented||"Escape"!==e.key&&"Esc"!==e.key||k&&k(e,"escapeKeyDown")}}),[re,B,k]),!B&&re?null:(0,p.jsx)(m,(0,i.Z)({onClickAway:function(e){k&&k(e,"clickaway")}},E,{children:(0,p.jsx)(z,(0,i.Z)({className:(0,l.Z)(J.root,S),onBlur:function(e){M&&M(e),le()},onFocus:function(e){I&&I(e),se()},onMouseEnter:function(e){L&&L(e),se()},onMouseLeave:function(e){D&&D(e),le()},ownerState:X,ref:t},Y,{children:(0,p.jsx)(U,(0,i.Z)({appear:!0,in:B,timeout:G,direction:"top"===d?"down":"up",onEnter:function(e,t){ae(!1),K&&K(e,t)},onExited:function(e){ae(!0),q&&q(e)}},$,{children:j||(0,p.jsx)(O,(0,i.Z)({message:C,action:a},Z))}))}))}))})),L=I},94187:function(e,t,n){"use strict";n.d(t,{Z:function(){return R}});var r=n(23430),a=n(36222),o=n(1048),i=n(32793),s=n(50390),l=n(44977),c=n(50076),u=n(53135),d=n(36128),f=n(8208),p=n(88669),h=n(15573),m=n(91442),v=n(2074),g=n(67361),y=n(87827),x=n(3299),b=n(4733),w=n(42081),_=n(55386),j=n(10594);function S(e){return(0,j.Z)("MuiTooltip",e)}var E=(0,n(43349).Z)("MuiTooltip",["popper","popperInteractive","popperArrow","popperClose","tooltip","tooltipArrow","touch","tooltipPlacementLeft","tooltipPlacementRight","tooltipPlacementTop","tooltipPlacementBottom","arrow"]),Z=n(62559),T=["arrow","children","classes","components","componentsProps","describeChild","disableFocusListener","disableHoverListener","disableInteractive","disableTouchListener","enterDelay","enterNextDelay","enterTouchDelay","followCursor","id","leaveDelay","leaveTouchDelay","onClose","onOpen","open","placement","PopperComponent","PopperProps","title","TransitionComponent","TransitionProps"];var A=(0,f.ZP)(g.Z,{name:"MuiTooltip",slot:"Popper",overridesResolver:function(e,t){var n=e.ownerState;return[t.popper,!n.disableInteractive&&t.popperInteractive,n.arrow&&t.popperArrow,!n.open&&t.popperClose]}})((function(e){var t,n=e.theme,r=e.ownerState,o=e.open;return(0,i.Z)({zIndex:n.zIndex.tooltip,pointerEvents:"none"},!r.disableInteractive&&{pointerEvents:"auto"},!o&&{pointerEvents:"none"},r.arrow&&(t={},(0,a.Z)(t,'&[data-popper-placement*="bottom"] .'.concat(E.arrow),{top:0,marginTop:"-0.71em","&::before":{transformOrigin:"0 100%"}}),(0,a.Z)(t,'&[data-popper-placement*="top"] .'.concat(E.arrow),{bottom:0,marginBottom:"-0.71em","&::before":{transformOrigin:"100% 0"}}),(0,a.Z)(t,'&[data-popper-placement*="right"] .'.concat(E.arrow),(0,i.Z)({},r.isRtl?{right:0,marginRight:"-0.71em"}:{left:0,marginLeft:"-0.71em"},{height:"1em",width:"0.71em","&::before":{transformOrigin:"100% 100%"}})),(0,a.Z)(t,'&[data-popper-placement*="left"] .'.concat(E.arrow),(0,i.Z)({},r.isRtl?{left:0,marginLeft:"-0.71em"}:{right:0,marginRight:"-0.71em"},{height:"1em",width:"0.71em","&::before":{transformOrigin:"0 0"}})),t))})),C=(0,f.ZP)("div",{name:"MuiTooltip",slot:"Tooltip",overridesResolver:function(e,t){var n=e.ownerState;return[t.tooltip,n.touch&&t.touch,n.arrow&&t.tooltipArrow,t["tooltipPlacement".concat((0,m.Z)(n.placement.split("-")[0]))]]}})((function(e){var t,n,r=e.theme,o=e.ownerState;return(0,i.Z)({backgroundColor:(0,d.Fq)(r.palette.grey[700],.92),borderRadius:r.shape.borderRadius,color:r.palette.common.white,fontFamily:r.typography.fontFamily,padding:"4px 8px",fontSize:r.typography.pxToRem(11),maxWidth:300,margin:2,wordWrap:"break-word",fontWeight:r.typography.fontWeightMedium},o.arrow&&{position:"relative",margin:0},o.touch&&{padding:"8px 16px",fontSize:r.typography.pxToRem(14),lineHeight:"".concat((n=16/14,Math.round(1e5*n)/1e5),"em"),fontWeight:r.typography.fontWeightRegular},(t={},(0,a.Z)(t,".".concat(E.popper,'[data-popper-placement*="left"] &'),(0,i.Z)({transformOrigin:"right center"},o.isRtl?(0,i.Z)({marginLeft:"14px"},o.touch&&{marginLeft:"24px"}):(0,i.Z)({marginRight:"14px"},o.touch&&{marginRight:"24px"}))),(0,a.Z)(t,".".concat(E.popper,'[data-popper-placement*="right"] &'),(0,i.Z)({transformOrigin:"left center"},o.isRtl?(0,i.Z)({marginRight:"14px"},o.touch&&{marginRight:"24px"}):(0,i.Z)({marginLeft:"14px"},o.touch&&{marginLeft:"24px"}))),(0,a.Z)(t,".".concat(E.popper,'[data-popper-placement*="top"] &'),(0,i.Z)({transformOrigin:"center bottom",marginBottom:"14px"},o.touch&&{marginBottom:"24px"})),(0,a.Z)(t,".".concat(E.popper,'[data-popper-placement*="bottom"] &'),(0,i.Z)({transformOrigin:"center top",marginTop:"14px"},o.touch&&{marginTop:"24px"})),t))})),M=(0,f.ZP)("span",{name:"MuiTooltip",slot:"Arrow",overridesResolver:function(e,t){return t.arrow}})((function(e){var t=e.theme;return{overflow:"hidden",position:"absolute",width:"1em",height:"0.71em",boxSizing:"border-box",color:(0,d.Fq)(t.palette.grey[700],.9),"&::before":{content:'""',margin:"auto",display:"block",width:"100%",height:"100%",backgroundColor:"currentColor",transform:"rotate(45deg)"}}})),k=!1,O=null;function P(e,t){return function(n){t&&t(n),e(n)}}var R=s.forwardRef((function(e,t){var n,a,d,f,j,E,R=(0,h.Z)({props:e,name:"MuiTooltip"}),N=R.arrow,z=void 0!==N&&N,I=R.children,L=R.components,D=void 0===L?{}:L,B=R.componentsProps,H=void 0===B?{}:B,V=R.describeChild,U=void 0!==V&&V,F=R.disableFocusListener,G=void 0!==F&&F,W=R.disableHoverListener,K=void 0!==W&&W,q=R.disableInteractive,$=void 0!==q&&q,Y=R.disableTouchListener,Q=void 0!==Y&&Y,X=R.enterDelay,J=void 0===X?100:X,ee=R.enterNextDelay,te=void 0===ee?0:ee,ne=R.enterTouchDelay,re=void 0===ne?700:ne,ae=R.followCursor,oe=void 0!==ae&&ae,ie=R.id,se=R.leaveDelay,le=void 0===se?0:se,ce=R.leaveTouchDelay,ue=void 0===ce?1500:ce,de=R.onClose,fe=R.onOpen,pe=R.open,he=R.placement,me=void 0===he?"bottom":he,ve=R.PopperComponent,ge=R.PopperProps,ye=void 0===ge?{}:ge,xe=R.title,be=R.TransitionComponent,we=void 0===be?v.Z:be,_e=R.TransitionProps,je=(0,o.Z)(R,T),Se=(0,p.Z)(),Ee="rtl"===Se.direction,Ze=s.useState(),Te=(0,r.Z)(Ze,2),Ae=Te[0],Ce=Te[1],Me=s.useState(null),ke=(0,r.Z)(Me,2),Oe=ke[0],Pe=ke[1],Re=s.useRef(!1),Ne=$||oe,ze=s.useRef(),Ie=s.useRef(),Le=s.useRef(),De=s.useRef(),Be=(0,_.Z)({controlled:pe,default:!1,name:"Tooltip",state:"open"}),He=(0,r.Z)(Be,2),Ve=He[0],Ue=He[1],Fe=Ve,Ge=(0,b.Z)(ie),We=s.useRef(),Ke=s.useCallback((function(){void 0!==We.current&&(document.body.style.WebkitUserSelect=We.current,We.current=void 0),clearTimeout(De.current)}),[]);s.useEffect((function(){return function(){clearTimeout(ze.current),clearTimeout(Ie.current),clearTimeout(Le.current),Ke()}}),[Ke]);var qe=function(e){clearTimeout(O),k=!0,Ue(!0),fe&&!Fe&&fe(e)},$e=(0,y.Z)((function(e){clearTimeout(O),O=setTimeout((function(){k=!1}),800+le),Ue(!1),de&&Fe&&de(e),clearTimeout(ze.current),ze.current=setTimeout((function(){Re.current=!1}),Se.transitions.duration.shortest)})),Ye=function(e){Re.current&&"touchstart"!==e.type||(Ae&&Ae.removeAttribute("title"),clearTimeout(Ie.current),clearTimeout(Le.current),J||k&&te?Ie.current=setTimeout((function(){qe(e)}),k?te:J):qe(e))},Qe=function(e){clearTimeout(Ie.current),clearTimeout(Le.current),Le.current=setTimeout((function(){$e(e)}),le)},Xe=(0,w.Z)(),Je=Xe.isFocusVisibleRef,et=Xe.onBlur,tt=Xe.onFocus,nt=Xe.ref,rt=s.useState(!1),at=(0,r.Z)(rt,2)[1],ot=function(e){et(e),!1===Je.current&&(at(!1),Qe(e))},it=function(e){Ae||Ce(e.currentTarget),tt(e),!0===Je.current&&(at(!0),Ye(e))},st=function(e){Re.current=!0;var t=I.props;t.onTouchStart&&t.onTouchStart(e)},lt=Ye,ct=Qe;s.useEffect((function(){if(Fe)return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)};function e(e){"Escape"!==e.key&&"Esc"!==e.key||$e(e)}}),[$e,Fe]);var ut=(0,x.Z)(Ce,t),dt=(0,x.Z)(nt,ut),ft=(0,x.Z)(I.ref,dt);""===xe&&(Fe=!1);var pt=s.useRef({x:0,y:0}),ht=s.useRef(),mt={},vt="string"===typeof xe;U?(mt.title=Fe||!vt||K?null:xe,mt["aria-describedby"]=Fe?Ge:null):(mt["aria-label"]=vt?xe:null,mt["aria-labelledby"]=Fe&&!vt?Ge:null);var gt=(0,i.Z)({},mt,je,I.props,{className:(0,l.Z)(je.className,I.props.className),onTouchStart:st,ref:ft},oe?{onMouseMove:function(e){var t=I.props;t.onMouseMove&&t.onMouseMove(e),pt.current={x:e.clientX,y:e.clientY},ht.current&&ht.current.update()}}:{});var yt={};Q||(gt.onTouchStart=function(e){st(e),clearTimeout(Le.current),clearTimeout(ze.current),Ke(),We.current=document.body.style.WebkitUserSelect,document.body.style.WebkitUserSelect="none",De.current=setTimeout((function(){document.body.style.WebkitUserSelect=We.current,Ye(e)}),re)},gt.onTouchEnd=function(e){I.props.onTouchEnd&&I.props.onTouchEnd(e),Ke(),clearTimeout(Le.current),Le.current=setTimeout((function(){$e(e)}),ue)}),K||(gt.onMouseOver=P(lt,gt.onMouseOver),gt.onMouseLeave=P(ct,gt.onMouseLeave),Ne||(yt.onMouseOver=lt,yt.onMouseLeave=ct)),G||(gt.onFocus=P(it,gt.onFocus),gt.onBlur=P(ot,gt.onBlur),Ne||(yt.onFocus=it,yt.onBlur=ot));var xt=s.useMemo((function(){var e,t=[{name:"arrow",enabled:Boolean(Oe),options:{element:Oe,padding:4}}];return null!=(e=ye.popperOptions)&&e.modifiers&&(t=t.concat(ye.popperOptions.modifiers)),(0,i.Z)({},ye.popperOptions,{modifiers:t})}),[Oe,ye]),bt=(0,i.Z)({},R,{isRtl:Ee,arrow:z,disableInteractive:Ne,placement:me,PopperComponentProp:ve,touch:Re.current}),wt=function(e){var t=e.classes,n=e.disableInteractive,r=e.arrow,a=e.touch,o=e.placement,i={popper:["popper",!n&&"popperInteractive",r&&"popperArrow"],tooltip:["tooltip",r&&"tooltipArrow",a&&"touch","tooltipPlacement".concat((0,m.Z)(o.split("-")[0]))],arrow:["arrow"]};return(0,c.Z)(i,S,t)}(bt),_t=null!=(n=D.Popper)?n:A,jt=null!=(a=null!=(d=D.Transition)?d:we)?a:v.Z,St=null!=(f=D.Tooltip)?f:C,Et=null!=(j=D.Arrow)?j:M,Zt=(0,u.Z)(_t,(0,i.Z)({},ye,H.popper),bt),Tt=(0,u.Z)(jt,(0,i.Z)({},_e,H.transition),bt),At=(0,u.Z)(St,(0,i.Z)({},H.tooltip),bt),Ct=(0,u.Z)(Et,(0,i.Z)({},H.arrow),bt);return(0,Z.jsxs)(s.Fragment,{children:[s.cloneElement(I,gt),(0,Z.jsx)(_t,(0,i.Z)({as:null!=ve?ve:g.Z,placement:me,anchorEl:oe?{getBoundingClientRect:function(){return{top:pt.current.y,left:pt.current.x,right:pt.current.x,bottom:pt.current.y,width:0,height:0}}}:Ae,popperRef:ht,open:!!Ae&&Fe,id:Ge,transition:!0},yt,Zt,{className:(0,l.Z)(wt.popper,null==ye?void 0:ye.className,null==(E=H.popper)?void 0:E.className),popperOptions:xt,children:function(e){var t,n,r=e.TransitionProps;return(0,Z.jsx)(jt,(0,i.Z)({timeout:Se.transitions.duration.shorter},r,Tt,{children:(0,Z.jsxs)(St,(0,i.Z)({},At,{className:(0,l.Z)(wt.tooltip,null==(t=H.tooltip)?void 0:t.className),children:[xe,z?(0,Z.jsx)(Et,(0,i.Z)({},Ct,{className:(0,l.Z)(wt.arrow,null==(n=H.arrow)?void 0:n.className),ref:Pe})):null]}))}))}}))]})}))},35477:function(e,t,n){"use strict";n.d(t,{Z:function(){return x}});var r=n(1048),a=n(32793),o=n(50390),i=n(44977),s=n(99301),l=n(50076),c=n(8208),u=n(15573),d=n(91442),f=n(10594);function p(e){return(0,f.Z)("MuiTypography",e)}(0,n(43349).Z)("MuiTypography",["root","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","inherit","button","caption","overline","alignLeft","alignRight","alignCenter","alignJustify","noWrap","gutterBottom","paragraph"]);var h=n(62559),m=["align","className","component","gutterBottom","noWrap","paragraph","variant","variantMapping"],v=(0,c.ZP)("span",{name:"MuiTypography",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.variant&&t[n.variant],"inherit"!==n.align&&t["align".concat((0,d.Z)(n.align))],n.noWrap&&t.noWrap,n.gutterBottom&&t.gutterBottom,n.paragraph&&t.paragraph]}})((function(e){var t=e.theme,n=e.ownerState;return(0,a.Z)({margin:0},n.variant&&t.typography[n.variant],"inherit"!==n.align&&{textAlign:n.align},n.noWrap&&{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},n.gutterBottom&&{marginBottom:"0.35em"},n.paragraph&&{marginBottom:16})})),g={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p",inherit:"p"},y={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},x=o.forwardRef((function(e,t){var n=(0,u.Z)({props:e,name:"MuiTypography"}),o=function(e){return y[e]||e}(n.color),c=(0,s.Z)((0,a.Z)({},n,{color:o})),f=c.align,x=void 0===f?"inherit":f,b=c.className,w=c.component,_=c.gutterBottom,j=void 0!==_&&_,S=c.noWrap,E=void 0!==S&&S,Z=c.paragraph,T=void 0!==Z&&Z,A=c.variant,C=void 0===A?"body1":A,M=c.variantMapping,k=void 0===M?g:M,O=(0,r.Z)(c,m),P=(0,a.Z)({},c,{align:x,color:o,className:b,component:w,gutterBottom:j,noWrap:E,paragraph:T,variant:C,variantMapping:k}),R=w||(T?"p":k[C]||g[C])||"span",N=function(e){var t=e.align,n=e.gutterBottom,r=e.noWrap,a=e.paragraph,o=e.variant,i=e.classes,s={root:["root",o,"inherit"!==e.align&&"align".concat((0,d.Z)(t)),n&&"gutterBottom",r&&"noWrap",a&&"paragraph"]};return(0,l.Z)(s,p,i)}(P);return(0,h.jsx)(v,(0,a.Z)({as:R,ref:t,ownerState:P,className:(0,i.Z)(N.root,b)},O))}))},83310:function(e,t){"use strict";t.Z={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"}},80174:function(e,t,n){"use strict";n.d(t,{Z:function(){return R}});var r=n(32793),a=n(1048),o=n(64487),i=n(29605),s=n(36222);function l(e,t,n){var a;return(0,r.Z)({toolbar:(a={minHeight:56},(0,s.Z)(a,"".concat(e.up("xs")," and (orientation: landscape)"),{minHeight:48}),(0,s.Z)(a,e.up("sm"),{minHeight:64}),a)},n)}var c=n(87838),u=n(36128),d={black:"#000",white:"#fff"},f={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},p={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff"},h=n(83310),m={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},v={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},g={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea"},y={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},x=["mode","contrastThreshold","tonalOffset"],b={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:d.white,default:d.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}},w={text:{primary:d.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:d.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}};function _(e,t,n,r){var a=r.light||r,o=r.dark||1.5*r;e[t]||(e.hasOwnProperty(n)?e[t]=e[n]:"light"===t?e.light=(0,u.$n)(e.main,a):"dark"===t&&(e.dark=(0,u._j)(e.main,o)))}function j(e){var t=e.mode,n=void 0===t?"light":t,i=e.contrastThreshold,s=void 0===i?3:i,l=e.tonalOffset,j=void 0===l?.2:l,S=(0,a.Z)(e,x),E=e.primary||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:v[200],light:v[50],dark:v[400]}:{main:v[700],light:v[400],dark:v[800]}}(n),Z=e.secondary||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:p[200],light:p[50],dark:p[400]}:{main:p[500],light:p[300],dark:p[700]}}(n),T=e.error||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:h.Z[500],light:h.Z[300],dark:h.Z[700]}:{main:h.Z[700],light:h.Z[400],dark:h.Z[800]}}(n),A=e.info||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:g[400],light:g[300],dark:g[700]}:{main:g[700],light:g[500],dark:g[900]}}(n),C=e.success||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:y[400],light:y[300],dark:y[700]}:{main:y[800],light:y[500],dark:y[900]}}(n),M=e.warning||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:m[400],light:m[300],dark:m[700]}:{main:"#ed6c02",light:m[500],dark:m[900]}}(n);function k(e){return(0,u.mi)(e,w.text.primary)>=s?w.text.primary:b.text.primary}var O=function(e){var t=e.color,n=e.name,a=e.mainShade,o=void 0===a?500:a,i=e.lightShade,s=void 0===i?300:i,l=e.darkShade,u=void 0===l?700:l;if(!(t=(0,r.Z)({},t)).main&&t[o]&&(t.main=t[o]),!t.hasOwnProperty("main"))throw new Error((0,c.Z)(11,n?" (".concat(n,")"):"",o));if("string"!==typeof t.main)throw new Error((0,c.Z)(12,n?" (".concat(n,")"):"",JSON.stringify(t.main)));return _(t,"light",s,j),_(t,"dark",u,j),t.contrastText||(t.contrastText=k(t.main)),t},P={dark:w,light:b};return(0,o.Z)((0,r.Z)({common:d,mode:n,primary:O({color:E,name:"primary"}),secondary:O({color:Z,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:O({color:T,name:"error"}),warning:O({color:M,name:"warning"}),info:O({color:A,name:"info"}),success:O({color:C,name:"success"}),grey:f,contrastThreshold:s,getContrastText:k,augmentColor:O,tonalOffset:j},P[n]),S)}var S=["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"];var E={textTransform:"uppercase"},Z='"Roboto", "Helvetica", "Arial", sans-serif';function T(e,t){var n="function"===typeof t?t(e):t,i=n.fontFamily,s=void 0===i?Z:i,l=n.fontSize,c=void 0===l?14:l,u=n.fontWeightLight,d=void 0===u?300:u,f=n.fontWeightRegular,p=void 0===f?400:f,h=n.fontWeightMedium,m=void 0===h?500:h,v=n.fontWeightBold,g=void 0===v?700:v,y=n.htmlFontSize,x=void 0===y?16:y,b=n.allVariants,w=n.pxToRem,_=(0,a.Z)(n,S);var j=c/14,T=w||function(e){return"".concat(e/x*j,"rem")},A=function(e,t,n,a,o){return(0,r.Z)({fontFamily:s,fontWeight:e,fontSize:T(t),lineHeight:n},s===Z?{letterSpacing:"".concat((i=a/t,Math.round(1e5*i)/1e5),"em")}:{},o,b);var i},C={h1:A(d,96,1.167,-1.5),h2:A(d,60,1.2,-.5),h3:A(p,48,1.167,0),h4:A(p,34,1.235,.25),h5:A(p,24,1.334,0),h6:A(m,20,1.6,.15),subtitle1:A(p,16,1.75,.15),subtitle2:A(m,14,1.57,.1),body1:A(p,16,1.5,.15),body2:A(p,14,1.43,.15),button:A(m,14,1.75,.4,E),caption:A(p,12,1.66,.4),overline:A(p,12,2.66,1,E)};return(0,o.Z)((0,r.Z)({htmlFontSize:x,pxToRem:T,fontFamily:s,fontSize:c,fontWeightLight:d,fontWeightRegular:p,fontWeightMedium:m,fontWeightBold:g},C),_,{clone:!1})}function A(){return["".concat(arguments.length<=0?void 0:arguments[0],"px ").concat(arguments.length<=1?void 0:arguments[1],"px ").concat(arguments.length<=2?void 0:arguments[2],"px ").concat(arguments.length<=3?void 0:arguments[3],"px rgba(0,0,0,").concat(.2,")"),"".concat(arguments.length<=4?void 0:arguments[4],"px ").concat(arguments.length<=5?void 0:arguments[5],"px ").concat(arguments.length<=6?void 0:arguments[6],"px ").concat(arguments.length<=7?void 0:arguments[7],"px rgba(0,0,0,").concat(.14,")"),"".concat(arguments.length<=8?void 0:arguments[8],"px ").concat(arguments.length<=9?void 0:arguments[9],"px ").concat(arguments.length<=10?void 0:arguments[10],"px ").concat(arguments.length<=11?void 0:arguments[11],"px rgba(0,0,0,").concat(.12,")")].join(",")}var C=["none",A(0,2,1,-1,0,1,1,0,0,1,3,0),A(0,3,1,-2,0,2,2,0,0,1,5,0),A(0,3,3,-2,0,3,4,0,0,1,8,0),A(0,2,4,-1,0,4,5,0,0,1,10,0),A(0,3,5,-1,0,5,8,0,0,1,14,0),A(0,3,5,-1,0,6,10,0,0,1,18,0),A(0,4,5,-2,0,7,10,1,0,2,16,1),A(0,5,5,-3,0,8,10,1,0,3,14,2),A(0,5,6,-3,0,9,12,1,0,3,16,2),A(0,6,6,-3,0,10,14,1,0,4,18,3),A(0,6,7,-4,0,11,15,1,0,4,20,3),A(0,7,8,-4,0,12,17,2,0,5,22,4),A(0,7,8,-4,0,13,19,2,0,5,24,4),A(0,7,9,-4,0,14,21,2,0,5,26,4),A(0,8,9,-5,0,15,22,2,0,6,28,5),A(0,8,10,-5,0,16,24,2,0,6,30,5),A(0,8,11,-5,0,17,26,2,0,6,32,5),A(0,9,11,-5,0,18,28,2,0,7,34,6),A(0,9,12,-6,0,19,29,2,0,7,36,6),A(0,10,13,-6,0,20,31,3,0,8,38,7),A(0,10,13,-6,0,21,33,3,0,8,40,7),A(0,10,14,-6,0,22,35,3,0,8,42,7),A(0,11,14,-7,0,23,36,3,0,9,44,8),A(0,11,15,-7,0,24,38,3,0,9,46,8)],M=n(78157),k={mobileStepper:1e3,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500},O=["breakpoints","mixins","spacing","palette","transitions","typography","shape"];function P(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.mixins,n=void 0===t?{}:t,s=e.palette,c=void 0===s?{}:s,u=e.transitions,d=void 0===u?{}:u,f=e.typography,p=void 0===f?{}:f,h=(0,a.Z)(e,O),m=j(c),v=(0,i.Z)(e),g=(0,o.Z)(v,{mixins:l(v.breakpoints,v.spacing,n),palette:m,shadows:C.slice(),typography:T(m,p),transitions:(0,M.ZP)(d),zIndex:(0,r.Z)({},k)});g=(0,o.Z)(g,h);for(var y=arguments.length,x=new Array(y>1?y-1:0),b=1;b0&&void 0!==arguments[0]?arguments[0]:["all"],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=a.duration,s=void 0===i?n.standard:i,c=a.easing,u=void 0===c?t.easeInOut:c,d=a.delay,f=void 0===d?0:d;(0,r.Z)(a,o);return(Array.isArray(e)?e:[e]).map((function(e){return"".concat(e," ").concat("string"===typeof s?s:l(s)," ").concat(u," ").concat("string"===typeof f?f:l(f))})).join(",")}},e,{easing:t,duration:n})}},75158:function(e,t,n){"use strict";var r=(0,n(80174).Z)();t.Z=r},8208:function(e,t,n){"use strict";n.d(t,{ZP:function(){return T},FO:function(){return S},Dz:function(){return E}});var r=n(35531),a=n(23430),o=n(54695),i=n(60916),s=n(45032),l=n(29605),c=n(128),u=n(89705),d=["variant"];function f(e){return 0===e.length}function p(e){var t=e.variant,n=(0,i.Z)(e,d),r=t||"";return Object.keys(n).sort().forEach((function(t){r+="color"===t?f(r)?e[t]:(0,u.Z)(e[t]):"".concat(f(r)?t:(0,u.Z)(t)).concat((0,u.Z)(e[t].toString()))})),r}var h=["name","slot","skipVariantsResolver","skipSx","overridesResolver"],m=["theme"],v=["theme"];function g(e){return 0===Object.keys(e).length}var y=function(e,t){return t.components&&t.components[e]&&t.components[e].styleOverrides?t.components[e].styleOverrides:null},x=function(e,t){var n=[];t&&t.components&&t.components[e]&&t.components[e].variants&&(n=t.components[e].variants);var r={};return n.forEach((function(e){var t=p(e.props);r[t]=e.style})),r},b=function(e,t,n,r){var a,o,i=e.ownerState,s=void 0===i?{}:i,l=[],c=null==n||null==(a=n.components)||null==(o=a[r])?void 0:o.variants;return c&&c.forEach((function(n){var r=!0;Object.keys(n.props).forEach((function(t){s[t]!==n.props[t]&&e[t]!==n.props[t]&&(r=!1)})),r&&l.push(t[p(n.props)])})),l};function w(e){return"ownerState"!==e&&"theme"!==e&&"sx"!==e&&"as"!==e}var _=(0,l.Z)();var j=n(75158),S=function(e){return w(e)&&"classes"!==e},E=w,Z=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.defaultTheme,n=void 0===t?_:t,l=e.rootShouldForwardProp,u=void 0===l?w:l,d=e.slotShouldForwardProp,f=void 0===d?w:d;return function(e){var t,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},d=l.name,p=l.slot,_=l.skipVariantsResolver,j=l.skipSx,S=l.overridesResolver,E=(0,i.Z)(l,h),Z=void 0!==_?_:p&&"Root"!==p||!1,T=j||!1;var A=w;"Root"===p?A=u:p&&(A=f);var C=(0,s.ZP)(e,(0,o.Z)({shouldForwardProp:A,label:t},E)),M=function(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),l=1;l0){var h=new Array(p).fill("");(f=[].concat((0,r.Z)(e),(0,r.Z)(h))).raw=[].concat((0,r.Z)(e.raw),(0,r.Z)(h))}else"function"===typeof e&&(f=function(t){var r=t.theme,a=(0,i.Z)(t,v);return e((0,o.Z)({theme:g(r)?n:r},a))});var w=C.apply(void 0,[f].concat((0,r.Z)(u)));return w};return C.withConfig&&(M.withConfig=C.withConfig),M}}({defaultTheme:j.Z,rootShouldForwardProp:S}),T=Z},88669:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});n(50390);var r=n(85051),a=n(75158);function o(){return(0,r.Z)(a.Z)}},15573:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=n(41398),a=n(85051);var o=n(75158);function i(e){return function(e){var t=e.props,n=e.name,o=e.defaultTheme,i=(0,a.Z)(o);return(0,r.Z)({theme:i,name:n,props:t})}({props:e.props,name:e.name,defaultTheme:o.Z})}},40138:function(e,t,n){"use strict";n.d(t,{n:function(){return r},C:function(){return a}});var r=function(e){return e.scrollTop};function a(e,t){var n,r,a=e.timeout,o=e.easing,i=e.style,s=void 0===i?{}:i;return{duration:null!=(n=s.transitionDuration)?n:"number"===typeof a?a:a[t.mode]||0,easing:null!=(r=s.transitionTimingFunction)?r:"object"===typeof o?o[t.mode]:o,delay:s.transitionDelay}}},91442:function(e,t,n){"use strict";var r=n(89705);t.Z=r.Z},8908:function(e,t,n){"use strict";var r=n(68888);t.Z=r.Z},55900:function(e,t,n){"use strict";n.d(t,{Z:function(){return y}});var r=n(32793),a=n(50390),o=n(1048),i=n(44977),s=n(50076),l=n(91442),c=n(15573),u=n(8208),d=n(10594);function f(e){return(0,d.Z)("MuiSvgIcon",e)}(0,n(43349).Z)("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]);var p=n(62559),h=["children","className","color","component","fontSize","htmlColor","inheritViewBox","titleAccess","viewBox"],m=(0,u.ZP)("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,"inherit"!==n.color&&t["color".concat((0,l.Z)(n.color))],t["fontSize".concat((0,l.Z)(n.fontSize))]]}})((function(e){var t,n,r,a,o,i,s,l,c,u,d,f,p,h,m,v,g,y=e.theme,x=e.ownerState;return{userSelect:"none",width:"1em",height:"1em",display:"inline-block",fill:"currentColor",flexShrink:0,transition:null==(t=y.transitions)||null==(n=t.create)?void 0:n.call(t,"fill",{duration:null==(r=y.transitions)||null==(a=r.duration)?void 0:a.shorter}),fontSize:{inherit:"inherit",small:(null==(o=y.typography)||null==(i=o.pxToRem)?void 0:i.call(o,20))||"1.25rem",medium:(null==(s=y.typography)||null==(l=s.pxToRem)?void 0:l.call(s,24))||"1.5rem",large:(null==(c=y.typography)||null==(u=c.pxToRem)?void 0:u.call(c,35))||"2.1875"}[x.fontSize],color:null!=(d=null==(f=y.palette)||null==(p=f[x.color])?void 0:p.main)?d:{action:null==(h=y.palette)||null==(m=h.action)?void 0:m.active,disabled:null==(v=y.palette)||null==(g=v.action)?void 0:g.disabled,inherit:void 0}[x.color]}})),v=a.forwardRef((function(e,t){var n=(0,c.Z)({props:e,name:"MuiSvgIcon"}),a=n.children,u=n.className,d=n.color,v=void 0===d?"inherit":d,g=n.component,y=void 0===g?"svg":g,x=n.fontSize,b=void 0===x?"medium":x,w=n.htmlColor,_=n.inheritViewBox,j=void 0!==_&&_,S=n.titleAccess,E=n.viewBox,Z=void 0===E?"0 0 24 24":E,T=(0,o.Z)(n,h),A=(0,r.Z)({},n,{color:v,component:y,fontSize:b,inheritViewBox:j,viewBox:Z}),C={};j||(C.viewBox=Z);var M=function(e){var t=e.color,n=e.fontSize,r=e.classes,a={root:["root","inherit"!==t&&"color".concat((0,l.Z)(t)),"fontSize".concat((0,l.Z)(n))]};return(0,s.Z)(a,f,r)}(A);return(0,p.jsxs)(m,(0,r.Z)({as:y,className:(0,i.Z)(M.root,u),ownerState:A,focusable:"false",color:w,"aria-hidden":!S||void 0,role:S?"img":void 0,ref:t},C,T,{children:[a,S?(0,p.jsx)("title",{children:S}):null]}))}));v.muiName="SvgIcon";var g=v;function y(e,t){var n=function(n,a){return(0,p.jsx)(g,(0,r.Z)({"data-testid":"".concat(t,"Icon"),ref:a},n,{children:e}))};return n.muiName=g.muiName,a.memo(a.forwardRef(n))}},60563:function(e,t,n){"use strict";var r=n(53693);t.Z=r.Z},41667:function(e,t,n){"use strict";n.r(t),n.d(t,{capitalize:function(){return r.Z},createChainedFunction:function(){return a.Z},createSvgIcon:function(){return o.Z},debounce:function(){return i.Z},deprecatedPropType:function(){return s},isMuiElement:function(){return l.Z},ownerDocument:function(){return c.Z},ownerWindow:function(){return u.Z},requirePropFactory:function(){return d},setRef:function(){return f},unstable_ClassNameGenerator:function(){return b.Z},unstable_useEnhancedEffect:function(){return p.Z},unstable_useId:function(){return h.Z},unsupportedProp:function(){return m},useControlled:function(){return v.Z},useEventCallback:function(){return g.Z},useForkRef:function(){return y.Z},useIsFocusVisible:function(){return x.Z}});var r=n(91442),a=n(8908),o=n(55900),i=n(60563);var s=function(e,t){return function(){return null}},l=n(43201),c=n(64132),u=n(89603);n(71860);var d=function(e,t){return function(){return null}},f=n(65017).Z,p=n(40839),h=n(4733);var m=function(e,t,n,r,a){return null},v=n(55386),g=n(87827),y=n(3299),x=n(42081),b=n(91916)},43201:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(50390);var a=function(e,t){return r.isValidElement(e)&&-1!==t.indexOf(e.type.muiName)}},64132:function(e,t,n){"use strict";var r=n(78241);t.Z=r.Z},89603:function(e,t,n){"use strict";var r=n(52064);t.Z=r.Z},55386:function(e,t,n){"use strict";var r=n(17832);t.Z=r.Z},40839:function(e,t,n){"use strict";var r=n(62752);t.Z=r.Z},87827:function(e,t,n){"use strict";var r=n(84449);t.Z=r.Z},3299:function(e,t,n){"use strict";var r=n(15851);t.Z=r.Z},4733:function(e,t,n){"use strict";var r=n(83364);t.Z=r.Z},42081:function(e,t,n){"use strict";n.d(t,{Z:function(){return f}});var r,a=n(50390),o=!0,i=!1,s={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function l(e){e.metaKey||e.altKey||e.ctrlKey||(o=!0)}function c(){o=!1}function u(){"hidden"===this.visibilityState&&i&&(o=!0)}function d(e){var t=e.target;try{return t.matches(":focus-visible")}catch(n){}return o||function(e){var t=e.type,n=e.tagName;return!("INPUT"!==n||!s[t]||e.readOnly)||"TEXTAREA"===n&&!e.readOnly||!!e.isContentEditable}(t)}var f=function(){var e=a.useCallback((function(e){var t;null!=e&&((t=e.ownerDocument).addEventListener("keydown",l,!0),t.addEventListener("mousedown",c,!0),t.addEventListener("pointerdown",c,!0),t.addEventListener("touchstart",c,!0),t.addEventListener("visibilitychange",u,!0))}),[]),t=a.useRef(!1);return{isFocusVisibleRef:t,onFocus:function(e){return!!d(e)&&(t.current=!0,!0)},onBlur:function(){return!!t.current&&(i=!0,window.clearTimeout(r),r=window.setTimeout((function(){i=!1}),100),t.current=!1,!0)},ref:e}}},46663:function(e,t){"use strict";var n="function"===typeof Symbol&&Symbol.for;t.Z=n?Symbol.for("mui.nested"):"__THEME_NESTED__"},45319:function(e,t,n){"use strict";var r=n(50390).createContext(null);t.Z=r},32657:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(50390),a=n(45319);function o(){return r.useContext(a.Z)}},45032:function(e,t,n){"use strict";n.d(t,{ZP:function(){return x}});var r=n(50390),a=n(87462),o=n(71049),i=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,s=(0,o.Z)((function(e){return i.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91})),l=n(83998),c=n(61866),u=n(34473),d=s,f=function(e){return"theme"!==e},p=function(e){return"string"===typeof e&&e.charCodeAt(0)>96?d:f},h=function(e,t,n){var r;if(t){var a=t.shouldForwardProp;r=e.__emotion_forwardProp&&a?function(t){return e.__emotion_forwardProp(t)&&a(t)}:a}return"function"!==typeof r&&n&&(r=e.__emotion_forwardProp),r},m=function(){return null},v=function e(t,n){var o,i,s=t.__emotion_real===t,d=s&&t.__emotion_base||t;void 0!==n&&(o=n.label,i=n.target);var f=h(t,n,s),v=f||p(d),g=!v("as");return function(){var y=arguments,x=s&&void 0!==t.__emotion_styles?t.__emotion_styles.slice(0):[];if(void 0!==o&&x.push("label:"+o+";"),null==y[0]||void 0===y[0].raw)x.push.apply(x,y);else{0,x.push(y[0][0]);for(var b=y.length,w=1;w<+~=|^:(),"'`\s])/g,_="undefined"!==typeof CSS&&CSS.escape,j=function(e){return _?_(e):e.replace(w,"\\$1")},S=function(){function e(e,t,n){this.type="style",this.isProcessed=!1;var r=n.sheet,a=n.Renderer;this.key=e,this.options=n,this.style=t,r?this.renderer=r.renderer:a&&(this.renderer=new a)}return e.prototype.prop=function(e,t,n){if(void 0===t)return this.style[e];var r=!!n&&n.force;if(!r&&this.style[e]===t)return this;var a=t;n&&!1===n.process||(a=this.options.jss.plugins.onChangeValue(t,e,this));var o=null==a||!1===a,i=e in this.style;if(o&&!i&&!r)return this;var s=o&&i;if(s?delete this.style[e]:this.style[e]=a,this.renderable&&this.renderer)return s?this.renderer.removeProperty(this.renderable,e):this.renderer.setProperty(this.renderable,e,a),this;var l=this.options.sheet;return l&&l.attached,this},e}(),E=function(e){function t(t,n,r){var a;a=e.call(this,t,n,r)||this;var o=r.selector,i=r.scoped,s=r.sheet,l=r.generateId;return o?a.selectorText=o:!1!==i&&(a.id=l((0,d.Z)((0,d.Z)(a)),s),a.selectorText="."+j(a.id)),a}(0,u.Z)(t,e);var n=t.prototype;return n.applyTo=function(e){var t=this.renderer;if(t){var n=this.toJSON();for(var r in n)t.setProperty(e,r,n[r])}return this},n.toJSON=function(){var e={};for(var t in this.style){var n=this.style[t];"object"!==typeof n?e[t]=n:Array.isArray(n)&&(e[t]=g(n))}return e},n.toString=function(e){var t=this.options.sheet,n=!!t&&t.options.link?(0,i.Z)({},e,{allowEmpty:!0}):e;return b(this.selectorText,this.style,n)},(0,c.Z)(t,[{key:"selector",set:function(e){if(e!==this.selectorText){this.selectorText=e;var t=this.renderer,n=this.renderable;if(n&&t)t.setSelector(n,e)||t.replaceRule(n,this)}},get:function(){return this.selectorText}}]),t}(S),Z={onCreateRule:function(e,t,n){return"@"===e[0]||n.parent&&"keyframes"===n.parent.type?null:new E(e,t,n)}},T={indent:1,children:!0},A=/@([\w-]+)/,C=function(){function e(e,t,n){this.type="conditional",this.isProcessed=!1,this.key=e;var r=e.match(A);for(var a in this.at=r?r[1]:"unknown",this.query=n.name||"@"+this.at,this.options=n,this.rules=new J((0,i.Z)({},n,{parent:this})),t)this.rules.add(a,t[a]);this.rules.process()}var t=e.prototype;return t.getRule=function(e){return this.rules.get(e)},t.indexOf=function(e){return this.rules.indexOf(e)},t.addRule=function(e,t,n){var r=this.rules.add(e,t,n);return r?(this.options.jss.plugins.onProcessRule(r),r):null},t.replaceRule=function(e,t,n){var r=this.rules.replace(e,t,n);return r&&this.options.jss.plugins.onProcessRule(r),r},t.toString=function(e){void 0===e&&(e=T);var t=y(e).linebreak;if(null==e.indent&&(e.indent=T.indent),null==e.children&&(e.children=T.children),!1===e.children)return this.query+" {}";var n=this.rules.toString(e);return n?this.query+" {"+t+n+t+"}":""},e}(),M=/@media|@supports\s+/,k={onCreateRule:function(e,t,n){return M.test(e)?new C(e,t,n):null}},O={indent:1,children:!0},P=/@keyframes\s+([\w-]+)/,R=function(){function e(e,t,n){this.type="keyframes",this.at="@keyframes",this.isProcessed=!1;var r=e.match(P);r&&r[1]?this.name=r[1]:this.name="noname",this.key=this.type+"-"+this.name,this.options=n;var a=n.scoped,o=n.sheet,s=n.generateId;for(var l in this.id=!1===a?this.name:j(s(this,o)),this.rules=new J((0,i.Z)({},n,{parent:this})),t)this.rules.add(l,t[l],(0,i.Z)({},n,{parent:this}));this.rules.process()}return e.prototype.toString=function(e){void 0===e&&(e=O);var t=y(e).linebreak;if(null==e.indent&&(e.indent=O.indent),null==e.children&&(e.children=O.children),!1===e.children)return this.at+" "+this.id+" {}";var n=this.rules.toString(e);return n&&(n=""+t+n+t),this.at+" "+this.id+" {"+n+"}"},e}(),N=/@keyframes\s+/,z=/\$([\w-]+)/g,I=function(e,t){return"string"===typeof e?e.replace(z,(function(e,n){return n in t?t[n]:e})):e},L=function(e,t,n){var r=e[t],a=I(r,n);a!==r&&(e[t]=a)},D={onCreateRule:function(e,t,n){return"string"===typeof e&&N.test(e)?new R(e,t,n):null},onProcessStyle:function(e,t,n){return"style"===t.type&&n?("animation-name"in e&&L(e,"animation-name",n.keyframes),"animation"in e&&L(e,"animation",n.keyframes),e):e},onChangeValue:function(e,t,n){var r=n.options.sheet;if(!r)return e;switch(t){case"animation":case"animation-name":return I(e,r.keyframes);default:return e}}},B=function(e){function t(){return e.apply(this,arguments)||this}return(0,u.Z)(t,e),t.prototype.toString=function(e){var t=this.options.sheet,n=!!t&&t.options.link?(0,i.Z)({},e,{allowEmpty:!0}):e;return b(this.key,this.style,n)},t}(S),H={onCreateRule:function(e,t,n){return n.parent&&"keyframes"===n.parent.type?new B(e,t,n):null}},V=function(){function e(e,t,n){this.type="font-face",this.at="@font-face",this.isProcessed=!1,this.key=e,this.style=t,this.options=n}return e.prototype.toString=function(e){var t=y(e).linebreak;if(Array.isArray(this.style)){for(var n="",r=0;r=this.index)t.push(e);else for(var r=0;rn)return void t.splice(r,0,e)},t.reset=function(){this.registry=[]},t.remove=function(e){var t=this.registry.indexOf(e);this.registry.splice(t,1)},t.toString=function(e){for(var t=void 0===e?{}:e,n=t.attached,r=(0,f.Z)(t,["attached"]),a=y(r).linebreak,o="",i=0;i0){var n=function(e,t){for(var n=0;nt.index&&r.options.insertionPoint===t.insertionPoint)return r}return null}(t,e);if(n&&n.renderer)return{parent:n.renderer.element.parentNode,node:n.renderer.element};if(n=function(e,t){for(var n=e.length-1;n>=0;n--){var r=e[n];if(r.attached&&r.options.insertionPoint===t.insertionPoint)return r}return null}(t,e),n&&n.renderer)return{parent:n.renderer.element.parentNode,node:n.renderer.element.nextSibling}}var r=e.insertionPoint;if(r&&"string"===typeof r){var a=function(e){for(var t=pe(),n=0;nn?n:t},ye=function(){function e(e){this.getPropertyValue=ce,this.setProperty=ue,this.removeProperty=de,this.setSelector=fe,this.hasInsertedRules=!1,this.cssRules=[],e&&re.add(e),this.sheet=e;var t=this.sheet?this.sheet.options:{},n=t.media,r=t.meta,a=t.element;this.element=a||function(){var e=document.createElement("style");return e.textContent="\n",e}(),this.element.setAttribute("data-jss",""),n&&this.element.setAttribute("media",n),r&&this.element.setAttribute("data-meta",r);var o=me();o&&this.element.setAttribute("nonce",o)}var t=e.prototype;return t.attach=function(){if(!this.element.parentNode&&this.sheet){!function(e,t){var n=t.insertionPoint,r=he(t);if(!1!==r&&r.parent)r.parent.insertBefore(e,r.node);else if(n&&"number"===typeof n.nodeType){var a=n,o=a.parentNode;o&&o.insertBefore(e,a.nextSibling)}else pe().appendChild(e)}(this.element,this.sheet.options);var e=Boolean(this.sheet&&this.sheet.deployed);this.hasInsertedRules&&e&&(this.hasInsertedRules=!1,this.deploy())}},t.detach=function(){if(this.sheet){var e=this.element.parentNode;e&&e.removeChild(this.element),this.sheet.options.link&&(this.cssRules=[],this.element.textContent="\n")}},t.deploy=function(){var e=this.sheet;e&&(e.options.link?this.insertRules(e.rules):this.element.textContent="\n"+e.toString()+"\n")},t.insertRules=function(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{},t=e.baseClasses,n=e.newClasses;e.Component;if(!n)return t;var r=(0,a.Z)({},t);return Object.keys(n).forEach((function(e){n[e]&&(r[e]="".concat(t[e]," ").concat(n[e]))})),r}var Ee={set:function(e,t,n,r){var a=e.get(t);a||(a=new Map,e.set(t,a)),a.set(n,r)},get:function(e,t,n){var r=e.get(t);return r?r.get(n):void 0},delete:function(e,t,n){e.get(t).delete(n)}},Ze=Ee,Te=n(32657),Ae=n(46663),Ce=["checked","disabled","error","focused","focusVisible","required","expanded","selected"];var Me=Date.now(),ke="fnValues"+Me,Oe="fnStyle"+ ++Me,Pe=function(){return{onCreateRule:function(e,t,n){if("function"!==typeof t)return null;var r=m(e,{},n);return r[Oe]=t,r},onProcessStyle:function(e,t){if(ke in t||Oe in t)return e;var n={};for(var r in e){var a=e[r];"function"===typeof a&&(delete e[r],n[r]=a)}return t[ke]=n,e},onUpdate:function(e,t,n,r){var a=t,o=a[Oe];o&&(a.style=o(e)||{});var i=a[ke];if(i)for(var s in i)a.prop(s,i[s](e),r)}}},Re="@global",Ne="@global ",ze=function(){function e(e,t,n){for(var r in this.type="global",this.at=Re,this.isProcessed=!1,this.key=e,this.options=n,this.rules=new J((0,i.Z)({},n,{parent:this})),t)this.rules.add(r,t[r]);this.rules.process()}var t=e.prototype;return t.getRule=function(e){return this.rules.get(e)},t.addRule=function(e,t,n){var r=this.rules.add(e,t,n);return r&&this.options.jss.plugins.onProcessRule(r),r},t.replaceRule=function(e,t,n){var r=this.rules.replace(e,t,n);return r&&this.options.jss.plugins.onProcessRule(r),r},t.indexOf=function(e){return this.rules.indexOf(e)},t.toString=function(e){return this.rules.toString(e)},e}(),Ie=function(){function e(e,t,n){this.type="global",this.at=Re,this.isProcessed=!1,this.key=e,this.options=n;var r=e.substr(Ne.length);this.rule=n.jss.createRule(r,t,(0,i.Z)({},n,{parent:this}))}return e.prototype.toString=function(e){return this.rule?this.rule.toString(e):""},e}(),Le=/\s*,\s*/g;function De(e,t){for(var n=e.split(Le),r="",a=0;a-1){var a=Bt[e];if(!Array.isArray(a))return ht+St(a)in t&&mt+a;if(!r)return!1;for(var o=0;ot?1:-1:e.length-t.length};return{onProcessStyle:function(t,n){if("style"!==n.type)return t;for(var r={},a=Object.keys(t).sort(e),o=0;o0&&void 0!==arguments[0]?arguments[0]:{},t=e.disableGlobal,n=void 0!==t&&t,r=e.productionPrefix,a=void 0===r?"jss":r,o=e.seed,i=void 0===o?"":o,s=""===i?"":"".concat(i,"-"),l=0,c=function(){return l+=1};return function(e,t){var r=t.options.name;if(r&&0===r.indexOf("Mui")&&!t.options.link&&!n){if(-1!==Ce.indexOf(e.key))return"Mui-".concat(e.key);var o="".concat(s).concat(r,"-").concat(e.key);return t.options.theme[Ae.Z]&&""===i?"".concat(o,"-").concat(c()):o}return"".concat(s).concat(a).concat(c())}}(),ln={disableGeneration:!1,generateClassName:sn,jss:on,sheetsCache:null,sheetsManager:new Map,sheetsRegistry:null},cn=o.createContext(ln);var un=-1e9;function dn(){return un+=1}var fn=n(64487),pn=n(89705),hn=["variant"];function mn(e){return 0===e.length}function vn(e){var t="function"===typeof e;return{create:function(n,o){var i;try{i=t?e(n):e}catch(u){throw u}if(!o||!n.components||!n.components[o]||!n.components[o].styleOverrides&&!n.components[o].variants)return i;var s=n.components[o].styleOverrides||{},l=n.components[o].variants||[],c=(0,a.Z)({},i);return Object.keys(s).forEach((function(e){c[e]=(0,fn.Z)(c[e]||{},s[e])})),l.forEach((function(e){var t=function(e){var t=e.variant,n=(0,r.Z)(e,hn),a=t||"";return Object.keys(n).sort().forEach((function(t){a+="color"===t?mn(a)?e[t]:(0,pn.Z)(e[t]):"".concat(mn(a)?t:(0,pn.Z)(t)).concat((0,pn.Z)(e[t].toString()))})),a}(e.props);c[t]=(0,fn.Z)(c[t]||{},e.style)})),c},options:{}}}var gn={},yn=["name","classNamePrefix","Component","defaultTheme"];function xn(e,t,n){var r=e.state;if(e.stylesOptions.disableGeneration)return t||{};r.cacheClasses||(r.cacheClasses={value:null,lastProp:null,lastJSS:{}});var a=!1;return r.classes!==r.cacheClasses.lastJSS&&(r.cacheClasses.lastJSS=r.classes,a=!0),t!==r.cacheClasses.lastProp&&(r.cacheClasses.lastProp=t,a=!0),a&&(r.cacheClasses.value=Se({baseClasses:r.cacheClasses.lastJSS,newClasses:t,Component:n})),r.cacheClasses.value}function bn(e,t){var n=e.state,r=e.theme,o=e.stylesOptions,i=e.stylesCreator,s=e.name;if(!o.disableGeneration){var l=Ze.get(o.sheetsManager,i,r);l||(l={refs:0,staticSheet:null,dynamicStyles:null},Ze.set(o.sheetsManager,i,r,l));var c=(0,a.Z)({},i.options,o,{theme:r,flip:"boolean"===typeof o.flip?o.flip:"rtl"===r.direction});c.generateId=c.serverGenerateClassName||c.generateClassName;var u=o.sheetsRegistry;if(0===l.refs){var d;o.sheetsCache&&(d=Ze.get(o.sheetsCache,i,r));var f=i.create(r,s);d||((d=o.jss.createStyleSheet(f,(0,a.Z)({link:!1},c))).attach(),o.sheetsCache&&Ze.set(o.sheetsCache,i,r,d)),u&&u.add(d),l.staticSheet=d,l.dynamicStyles=je(f)}if(l.dynamicStyles){var p=o.jss.createStyleSheet(l.dynamicStyles,(0,a.Z)({link:!0},c));p.update(t),p.attach(),n.dynamicSheet=p,n.classes=Se({baseClasses:l.staticSheet.classes,newClasses:p.classes}),u&&u.add(p)}else n.classes=l.staticSheet.classes;l.refs+=1}}function wn(e,t){var n=e.state;n.dynamicSheet&&n.dynamicSheet.update(t)}function _n(e){var t=e.state,n=e.theme,r=e.stylesOptions,a=e.stylesCreator;if(!r.disableGeneration){var o=Ze.get(r.sheetsManager,a,n);o.refs-=1;var i=r.sheetsRegistry;0===o.refs&&(Ze.delete(r.sheetsManager,a,n),r.jss.removeStyleSheet(o.staticSheet),i&&i.remove(o.staticSheet)),t.dynamicSheet&&(r.jss.removeStyleSheet(t.dynamicSheet),i&&i.remove(t.dynamicSheet))}}function jn(e,t){var n,r=o.useRef([]),a=o.useMemo((function(){return{}}),t);r.current!==a&&(r.current=a,n=e()),o.useEffect((function(){return function(){n&&n()}}),[a])}function Sn(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.name,i=t.classNamePrefix,s=t.Component,l=t.defaultTheme,c=void 0===l?gn:l,u=(0,r.Z)(t,yn),d=vn(e),f=n||i||"makeStyles";d.options={index:dn(),name:n,meta:f,classNamePrefix:f};var p=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,Te.Z)()||c,r=(0,a.Z)({},o.useContext(cn),u),i=o.useRef(),l=o.useRef();jn((function(){var a={name:n,state:{},stylesCreator:d,stylesOptions:r,theme:t};return bn(a,e),l.current=!1,i.current=a,function(){_n(a)}}),[t,d]),o.useEffect((function(){l.current&&wn(i.current,e),l.current=!0}));var f=xn(i.current,e.classes,s);return f};return p}},4285:function(e,t,n){"use strict";n.d(t,{Z:function(){return h}});var r=n(22516),a=n(99411),o=n(50390),i=n(97178),s=n.n(i),l=n(62449);function c(e){var t=e.theme,n=e.name,a=e.props;if(!t||!t.components||!t.components[n]||!t.components[n].defaultProps)return a;var o,i=(0,r.Z)({},a),s=t.components[n].defaultProps;for(o in s)void 0===i[o]&&(i[o]=s[o]);return i}var u=n(32657),d=n(62559),f=["defaultTheme","withTheme","name"],p=["classes"],h=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(n){var i=t.defaultTheme,h=t.withTheme,m=void 0!==h&&h,v=t.name,g=(0,a.Z)(t,f);var y=v,x=(0,l.Z)(e,(0,r.Z)({defaultTheme:i,Component:n,name:v||n.displayName,classNamePrefix:y},g)),b=o.forwardRef((function(e,t){var o,s=(0,a.Z)(e,p),l=x((0,r.Z)({},n.defaultProps,e)),f=s;return("string"===typeof v||m)&&(o=(0,u.Z)()||i,v&&(f=c({theme:o,name:v,props:s})),m&&!f.theme&&(f.theme=o)),(0,d.jsx)(n,(0,r.Z)({ref:t,classes:l},f))}));return s()(b,n),b}}},11188:function(e,t,n){"use strict";n.d(t,{VO:function(){return r},k9:function(){return o},W8:function(){return i},L7:function(){return s},P$:function(){return l}});var r={xs:0,sm:600,md:900,lg:1200,xl:1536},a={keys:["xs","sm","md","lg","xl"],up:function(e){return"@media (min-width:".concat(r[e],"px)")}};function o(e,t,n){var o=e.theme||{};if(Array.isArray(t)){var i=o.breakpoints||a;return t.reduce((function(e,r,a){return e[i.up(i.keys[a])]=n(t[a]),e}),{})}if("object"===typeof t){var s=o.breakpoints||a;return Object.keys(t).reduce((function(e,a){if(-1!==Object.keys(s.values||r).indexOf(a)){e[s.up(a)]=n(t[a],a)}else{var o=a;e[o]=t[o]}return e}),{})}return n(t)}function i(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=null==t||null==(e=t.keys)?void 0:e.reduce((function(e,n){return e[t.up(n)]={},e}),{});return n||{}}function s(e,t){return e.reduce((function(e,t){var n=e[t];return(!n||0===Object.keys(n).length)&&delete e[t],e}),t)}function l(e){var t,n=e.values,r=e.breakpoints,a=e.base||function(e,t){if("object"!==typeof e)return{};var n={},r=Object.keys(t);return Array.isArray(e)?r.forEach((function(t,r){r1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return Math.min(Math.max(t,e),n)}function o(e){if(e.type)return e;if("#"===e.charAt(0))return o(function(e){e=e.substr(1);var t=new RegExp(".{1,".concat(e.length>=6?2:1,"}"),"g"),n=e.match(t);return n&&1===n[0].length&&(n=n.map((function(e){return e+e}))),n?"rgb".concat(4===n.length?"a":"","(").concat(n.map((function(e,t){return t<3?parseInt(e,16):Math.round(parseInt(e,16)/255*1e3)/1e3})).join(", "),")"):""}(e));var t=e.indexOf("("),n=e.substring(0,t);if(-1===["rgb","rgba","hsl","hsla","color"].indexOf(n))throw new Error((0,r.Z)(9,e));var a,i=e.substring(t+1,e.length-1);if("color"===n){if(a=(i=i.split(" ")).shift(),4===i.length&&"/"===i[3].charAt(0)&&(i[3]=i[3].substr(1)),-1===["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(a))throw new Error((0,r.Z)(10,a))}else i=i.split(",");return{type:n,values:i=i.map((function(e){return parseFloat(e)})),colorSpace:a}}function i(e){var t=e.type,n=e.colorSpace,r=e.values;return-1!==t.indexOf("rgb")?r=r.map((function(e,t){return t<3?parseInt(e,10):e})):-1!==t.indexOf("hsl")&&(r[1]="".concat(r[1],"%"),r[2]="".concat(r[2],"%")),r=-1!==t.indexOf("color")?"".concat(n," ").concat(r.join(" ")):"".concat(r.join(", ")),"".concat(t,"(").concat(r,")")}function s(e){var t="hsl"===(e=o(e)).type?o(function(e){var t=(e=o(e)).values,n=t[0],r=t[1]/100,a=t[2]/100,s=r*Math.min(a,1-a),l=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(e+n/30)%12;return a-s*Math.max(Math.min(t-3,9-t,1),-1)},c="rgb",u=[Math.round(255*l(0)),Math.round(255*l(8)),Math.round(255*l(4))];return"hsla"===e.type&&(c+="a",u.push(t[3])),i({type:c,values:u})}(e)).values:e.values;return t=t.map((function(t){return"color"!==e.type&&(t/=255),t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)})),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function l(e,t){var n=s(e),r=s(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}function c(e,t){return e=o(e),t=a(t),"rgb"!==e.type&&"hsl"!==e.type||(e.type+="a"),"color"===e.type?e.values[3]="/".concat(t):e.values[3]=t,i(e)}function u(e,t){if(e=o(e),t=a(t),-1!==e.type.indexOf("hsl"))e.values[2]*=1-t;else if(-1!==e.type.indexOf("rgb")||-1!==e.type.indexOf("color"))for(var n=0;n<3;n+=1)e.values[n]*=1-t;return i(e)}function d(e,t){if(e=o(e),t=a(t),-1!==e.type.indexOf("hsl"))e.values[2]+=(100-e.values[2])*t;else if(-1!==e.type.indexOf("rgb"))for(var n=0;n<3;n+=1)e.values[n]+=(255-e.values[n])*t;else if(-1!==e.type.indexOf("color"))for(var r=0;r<3;r+=1)e.values[r]+=(1-e.values[r])*t;return i(e)}function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.15;return s(e)>.5?u(e,t):d(e,t)}},29605:function(e,t,n){"use strict";n.d(t,{Z:function(){return f}});var r=n(54695),a=n(60916),o=n(64487),i=["values","unit","step"];function s(e){var t=e.values,n=void 0===t?{xs:0,sm:600,md:900,lg:1200,xl:1536}:t,o=e.unit,s=void 0===o?"px":o,l=e.step,c=void 0===l?5:l,u=(0,a.Z)(e,i),d=Object.keys(n);function f(e){var t="number"===typeof n[e]?n[e]:e;return"@media (min-width:".concat(t).concat(s,")")}function p(e){var t="number"===typeof n[e]?n[e]:e;return"@media (max-width:".concat(t-c/100).concat(s,")")}function h(e,t){var r=d.indexOf(t);return"@media (min-width:".concat("number"===typeof n[e]?n[e]:e).concat(s,") and ")+"(max-width:".concat((-1!==r&&"number"===typeof n[d[r]]?n[d[r]]:t)-c/100).concat(s,")")}return(0,r.Z)({keys:d,values:n,up:f,down:p,between:h,only:function(e){return d.indexOf(e)+10&&void 0!==arguments[0]?arguments[0]:8;if(e.mui)return e;var t=(0,c.hB)({spacing:e}),n=function(){for(var e=arguments.length,n=new Array(e),r=0;r0&&void 0!==arguments[0]?arguments[0]:{},t=e.breakpoints,n=void 0===t?{}:t,i=e.palette,c=void 0===i?{}:i,f=e.spacing,p=e.shape,h=void 0===p?{}:p,m=(0,a.Z)(e,d),v=s(n),g=u(f),y=(0,o.Z)({breakpoints:v,direction:"ltr",components:{},palette:(0,r.Z)({mode:"light"},c),spacing:g,shape:(0,r.Z)({},l,h)},m),x=arguments.length,b=new Array(x>1?x-1:0),w=1;w2){if(!c[e])return[e];e=c[e]}var t=e.split(""),n=(0,r.Z)(t,2),a=n[0],o=n[1],i=s[a],u=l[o]||"";return Array.isArray(u)?u.map((function(e){return i+e})):[i+u]})),d=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],f=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"],p=[].concat(d,f);function h(e,t,n,r){var a=(0,o.D)(e,t)||n;return"number"===typeof a?function(e){return"string"===typeof e?e:a*e}:Array.isArray(a)?function(e){return"string"===typeof e?e:a[e]}:"function"===typeof a?a:function(){}}function m(e){return h(e,"spacing",8)}function v(e,t){if("string"===typeof t||null==t)return t;var n=e(Math.abs(t));return t>=0?n:"number"===typeof n?-n:"-".concat(n)}function g(e,t,n,r){if(-1===t.indexOf(n))return null;var o=function(e,t){return function(n){return e.reduce((function(e,r){return e[r]=v(t,n),e}),{})}}(u(n),r),i=e[n];return(0,a.k9)(e,i,o)}function y(e,t){var n=m(e.theme);return Object.keys(e).map((function(r){return g(e,t,r,n)})).reduce(i.Z,{})}function x(e){return y(e,d)}function b(e){return y(e,f)}function w(e){return y(e,p)}x.propTypes={},x.filterProps=d,b.propTypes={},b.filterProps=f,w.propTypes={},w.filterProps=p;var _=w},29001:function(e,t,n){"use strict";n.d(t,{D:function(){return i}});var r=n(36222),a=n(89705),o=n(11188);function i(e,t){return t&&"string"===typeof t?t.split(".").reduce((function(e,t){return e&&e[t]?e[t]:null}),e):null}function s(e,t,n){var r,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:n;return r="function"===typeof e?e(n):Array.isArray(e)?e[n]||a:i(e,n)||a,t&&(r=t(r)),r}t.Z=function(e){var t=e.prop,n=e.cssProperty,l=void 0===n?e.prop:n,c=e.themeKey,u=e.transform,d=function(e){if(null==e[t])return null;var n=e[t],d=i(e.theme,c)||{};return(0,o.k9)(e,n,(function(e){var n=s(d,u,e);return e===n&&"string"===typeof e&&(n=s(d,u,"".concat(t).concat("default"===e?"":(0,a.Z)(e)),e)),!1===l?n:(0,r.Z)({},l,n)}))};return d.propTypes={},d.filterProps=[t],d}},99301:function(e,t,n){"use strict";n.d(t,{Z:function(){return c}});var r=n(35531),a=n(54695),o=n(60916),i=n(64487),s=n(92039),l=["sx"];function c(e){var t,n=e.sx,c=function(e){var t={systemProps:{},otherProps:{}};return Object.keys(e).forEach((function(n){s.G[n]?t.systemProps[n]=e[n]:t.otherProps[n]=e[n]})),t}((0,o.Z)(e,l)),u=c.systemProps,d=c.otherProps;return t=Array.isArray(n)?[u].concat((0,r.Z)(n)):"function"===typeof n?function(){var e=n.apply(void 0,arguments);return(0,i.P)(e)?(0,a.Z)({},u,e):u}:(0,a.Z)({},u,n),(0,a.Z)({},d,{sx:t})}},128:function(e,t,n){"use strict";var r=n(36222),a=n(75243),o=n(92039),i=n(11188);function s(e){var t=e||{},n=t.sx,l=t.theme,c=void 0===l?{}:l;if(!n)return null;function u(e){var t=e;if("function"===typeof e)t=e(c);else if("object"!==typeof e)return e;var n=(0,i.W8)(c.breakpoints),l=Object.keys(n),u=n;return Object.keys(t).forEach((function(e){var n,l,d=(n=t[e],l=c,"function"===typeof n?n(l):n);if(null!==d&&void 0!==d)if("object"===typeof d)if(o.G[e])u=(0,a.Z)(u,(0,o.Z)(e,d,c));else{var f=(0,i.k9)({theme:c},d,(function(t){return(0,r.Z)({},e,t)}));!function(){for(var e=arguments.length,t=new Array(e),n=0;n0&&void 0!==arguments[0]?arguments[0]:o;return(0,a.Z)(e)}},41398:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(95804);function a(e){var t=e.theme,n=e.name,a=e.props;return t&&t.components&&t.components[n]&&t.components[n].defaultProps?(0,r.Z)(t.components[n].defaultProps,a):a}},92638:function(e,t,n){"use strict";var r=n(32657);function a(e){return 0===Object.keys(e).length}t.Z=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=(0,r.Z)();return!t||a(t)?e:t}},89705:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(87838);function a(e){if("string"!==typeof e)throw new Error((0,r.Z)(7));return e.charAt(0).toUpperCase()+e.slice(1)}},68888:function(e,t,n){"use strict";function r(){for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:166;function r(){for(var r=this,a=arguments.length,o=new Array(a),i=0;i2&&void 0!==arguments[2]?arguments[2]:{clone:!0},i=n.clone?(0,r.Z)({},e):e;return a(e)&&a(t)&&Object.keys(t).forEach((function(r){"__proto__"!==r&&(a(t[r])&&r in e&&a(e[r])?i[r]=o(e[r],t[r],n):i[r]=t[r])})),i}},87838:function(e,t,n){"use strict";function r(e){for(var t="https://mui.com/production-error/?code="+e,n=1;n-1?a(n):n}},94912:function(e,t,n){"use strict";var r=n(64480),a=n(49793),o=a("%Function.prototype.apply%"),i=a("%Function.prototype.call%"),s=a("%Reflect.apply%",!0)||r.call(i,o),l=a("%Object.getOwnPropertyDescriptor%",!0),c=a("%Object.defineProperty%",!0),u=a("%Math.max%");if(c)try{c({},"a",{value:1})}catch(f){c=null}e.exports=function(e){var t=s(r,i,arguments);if(l&&c){var n=l(t,"length");n.configurable&&c(t,"length",{value:1+u(0,e.length-(arguments.length-1))})}return t};var d=function(){return s(r,o,arguments)};c?c(e.exports,"apply",{value:d}):e.exports.apply=d},44977:function(e,t,n){"use strict";function r(e){var t,n,a="";if("string"===typeof e||"number"===typeof e)a+=e;else if("object"===typeof e)if(Array.isArray(e))for(t=0;t0;)if(!n(e[a],t[a],r))return!1;return!0}function d(e,t,n,r){var a=e.size===t.size;if(a&&e.size){var o={};e.forEach((function(e,i){if(a){var s=!1,l=0;t.forEach((function(t,a){s||o[l]||(s=n(i,a,r)&&n(e,t,r))&&(o[l]=!0),l++})),a=s}}))}return a}var f="_owner",p=Function.prototype.bind.call(Function.prototype.call,Object.prototype.hasOwnProperty);function h(e,t,r,a){var o=n(e),s=o.length;if(n(t).length!==s)return!1;if(s)for(var l=void 0;s-- >0;){if((l=o[s])===f){var c=i(e),u=i(t);if((c||u)&&c!==u)return!1}if(!p(t,l)||!r(e[l],t[l],a))return!1}return!0}function m(e,t){return e.source===t.source&&e.global===t.global&&e.ignoreCase===t.ignoreCase&&e.multiline===t.multiline&&e.unicode===t.unicode&&e.sticky===t.sticky&&e.lastIndex===t.lastIndex}function v(e,t,n,r){var a=e.size===t.size;if(a&&e.size){var o={};e.forEach((function(e){if(a){var i=!1,s=0;t.forEach((function(t){i||o[s]||(i=n(e,t,r))&&(o[s]=!0),s++})),a=i}}))}return a}var g="function"===typeof Map,y="function"===typeof Set;function x(e){var t="function"===typeof e?e(n):n;function n(e,n,i){if(e===n)return!0;if(e&&n&&"object"===typeof e&&"object"===typeof n){if(a(e)&&a(n))return h(e,n,t,i);var s=Array.isArray(e),l=Array.isArray(n);return s||l?s===l&&u(e,n,t,i):(s=e instanceof Date,l=n instanceof Date,s||l?s===l&&r(e.getTime(),n.getTime()):(s=e instanceof RegExp,l=n instanceof RegExp,s||l?s===l&&m(e,n):o(e)||o(n)?e===n:g&&(s=e instanceof Map,l=n instanceof Map,s||l)?s===l&&d(e,n,t,i):y&&(s=e instanceof Set,l=n instanceof Set,s||l)?s===l&&v(e,n,t,i):h(e,n,t,i)))}return e!==e&&n!==n}return n}var b=x(),w=x((function(){return r})),_=x(c()),j=x(c(r));e.circularDeepEqual=_,e.circularShallowEqual=j,e.createCustomEqual=x,e.deepEqual=b,e.sameValueZeroEqual=r,e.shallowEqual=w,Object.defineProperty(e,"__esModule",{value:!0})}(t)},72218:function(e){e.exports=i,i.default=i,i.stable=u,i.stableStringify=u;var t="[...]",n="[Circular]",r=[],a=[];function o(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function i(e,t,n,i){var s;"undefined"===typeof i&&(i=o()),l(e,"",0,[],void 0,0,i);try{s=0===a.length?JSON.stringify(e,t,n):JSON.stringify(e,f(t),n)}catch(u){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==r.length;){var c=r.pop();4===c.length?Object.defineProperty(c[0],c[1],c[3]):c[0][c[1]]=c[2]}}return s}function s(e,t,n,o){var i=Object.getOwnPropertyDescriptor(o,n);void 0!==i.get?i.configurable?(Object.defineProperty(o,n,{value:e}),r.push([o,n,t,i])):a.push([t,n,e]):(o[n]=e,r.push([o,n,t]))}function l(e,r,a,o,i,c,u){var d;if(c+=1,"object"===typeof e&&null!==e){for(d=0;du.depthLimit)return void s(t,e,r,i);if("undefined"!==typeof u.edgesLimit&&a+1>u.edgesLimit)return void s(t,e,r,i);if(o.push(e),Array.isArray(e))for(d=0;dt?1:0}function u(e,t,n,i){"undefined"===typeof i&&(i=o());var s,l=d(e,"",0,[],void 0,0,i)||e;try{s=0===a.length?JSON.stringify(l,t,n):JSON.stringify(l,f(t),n)}catch(u){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==r.length;){var c=r.pop();4===c.length?Object.defineProperty(c[0],c[1],c[3]):c[0][c[1]]=c[2]}}return s}function d(e,a,o,i,l,u,f){var p;if(u+=1,"object"===typeof e&&null!==e){for(p=0;pf.depthLimit)return void s(t,e,a,l);if("undefined"!==typeof f.edgesLimit&&o+1>f.edgesLimit)return void s(t,e,a,l);if(i.push(e),Array.isArray(e))for(p=0;p0)for(var r=0;r1&&"boolean"!==typeof t)throw new i('"allowMissing" argument must be a boolean');var n=Z(e),r=n.length>0?n[0]:"",o=T("%"+r+"%",t),s=o.name,c=o.value,u=!1,d=o.alias;d&&(r=d[0],w(n,b([0,1],d)));for(var f=1,p=!0;f=n.length){var y=l(c,h);c=(p=!!y)&&"get"in y&&!("originalValue"in y.get)?y.get:c[h]}else p=x(c,h),c=c[h];p&&!u&&(m[s]=c)}}return c}},32285:function(e,t,n){"use strict";var r="undefined"!==typeof Symbol&&Symbol,a=n(23004);e.exports=function(){return"function"===typeof r&&("function"===typeof Symbol&&("symbol"===typeof r("foo")&&("symbol"===typeof Symbol("bar")&&a())))}},23004:function(e){"use strict";e.exports=function(){if("function"!==typeof Symbol||"function"!==typeof Object.getOwnPropertySymbols)return!1;if("symbol"===typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),n=Object(t);if("string"===typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(t in e[t]=42,e)return!1;if("function"===typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"===typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var r=Object.getOwnPropertySymbols(e);if(1!==r.length||r[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"===typeof Object.getOwnPropertyDescriptor){var a=Object.getOwnPropertyDescriptor(e,t);if(42!==a.value||!0!==a.enumerable)return!1}return!0}},14285:function(e,t,n){"use strict";var r=n(64480);e.exports=r.call(Function.call,Object.prototype.hasOwnProperty)},33156:function(e,t,n){"use strict";n.d(t,{lX:function(){return j},q_:function(){return C},ob:function(){return m},PP:function(){return k},Ep:function(){return h},Hp:function(){return v}});var r=n(87462);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r=0;f--){var p=i[f];"."===p?o(i,f):".."===p?(o(i,f),d++):d&&(o(i,f),d--)}if(!c)for(;d--;d)i.unshift("..");!c||""===i[0]||i[0]&&a(i[0])||i.unshift("");var h=i.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h};function s(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}var l=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every((function(t,r){return e(t,n[r])}));if("object"===typeof t||"object"===typeof n){var r=s(t),a=s(n);return r!==t||a!==n?e(r,a):Object.keys(Object.assign({},t,n)).every((function(r){return e(t[r],n[r])}))}return!1},c=n(73400);function u(e){return"/"===e.charAt(0)?e:"/"+e}function d(e){return"/"===e.charAt(0)?e.substr(1):e}function f(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function p(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function h(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function m(e,t,n,a){var o;"string"===typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.Z)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function v(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&l(e.state,t.state)}function g(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"===typeof e?e(t,n):e;"string"===typeof o?"function"===typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=m(e,t,f(),b.location);u.confirmTransitionTo(a,r,n,(function(e){e&&(b.entries[b.index]=a,d({action:r,location:a}))}))},go:x,goBack:function(){x(-1)},goForward:function(){x(1)},canGo:function(e){var t=b.index+e;return t>=0&&t400&&(a=[]),a.push(h),o=m;for(var v=a.join(""),g=0,y=e;g0?e-1:e;if("string"===typeof a.current[t]){if(0===t)return e;t-=1}return t}))):"ArrowDown"===e.key||e.ctrlKey&&"n"===e.key?(e.preventDefault(),f.setActiveIndex((function(e){var t=e0&&(n.push.apply(n,t[r].children),e(t[r].children,n));return n}(e)}),[]),f=!n,p=function(e,t){var n=l.useMemo((function(){return{filtered:e,search:t}}),[e,t]),r=(0,u.useThrottledValue)(n),a=r.filtered,o=r.search;return l.useMemo((function(){return""===o.trim()?a:(0,s.matchSorter)(a,o,{keys:["name","keywords","subtitle"]})}),[a,o])}(l.useMemo((function(){return f?o:d(o)}),[d,o,f]),n),h=l.useMemo((function(){for(var e={},n=0;n-1)return this.subscribers.splice(t,1)}},e.prototype.notify=function(){this.subscribers.forEach((function(e){return e.collect()}))},e}(),p=function(){function e(e,t){this.collector=e,this.onChange=t}return e.prototype.collect=function(){try{var e=this.collector();(0,s.deepEqual)(e,this.collected)||(this.collected=e,this.onChange&&this.onChange(this.collected))}catch(t){console.warn(t)}},e}()},73575:function(e,t,n){"use strict";var r=this&&this.__assign||function(){return r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&void 0!==arguments[0]?arguments[0]:{};s(this,e),this.cookieOptions=Object.assign({path:"/"},t),l=void 0===t.prefix?l:t.prefix}return r(e,[{key:"getItem",value:function(e){var t=i.default.parse(document.cookie);return t&&t.hasOwnProperty(l+e)?t[l+e]:null}},{key:"setItem",value:function(e,t){return document.cookie=i.default.serialize(l+e,t,this.cookieOptions),t}},{key:"removeItem",value:function(e){var t=Object.assign({},this.cookieOptions,{maxAge:-1});return document.cookie=i.default.serialize(l+e,"",t),null}},{key:"clear",value:function(){var e=i.default.parse(document.cookie);for(var t in e)0===t.indexOf(l)&&this.removeItem(t.substr(l.length));return null}}]),e}();t.default=c},89902:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:"localStorage",t=String(e).replace(/storage$/i,"").toLowerCase();if("local"===t)return o("localStorage");if("session"===t)return o("sessionStorage");if("cookie"===t)return(0,r.hasCookies)();if("memory"===t)return!0;throw new Error("Storage method `"+e+"` is not available.\n Please use one of the following: localStorage, sessionStorage, cookieStorage, memoryStorage.")};var r=n(55549),a="__test";function o(e){try{var t=window[e];return t.setItem(a,"1"),t.removeItem(a),!0}catch(n){return!1}}},45678:function(e,t,n){var r=n(56738),a=n(98697),o=n(74299),i=n(29467),s=n(73643);function l(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e-1}},93191:function(e,t,n){var r=n(80981);e.exports=function(e,t){var n=this.__data__,a=r(n,e);return a<0?(++this.size,n.push([e,t])):n[a][1]=t,this}},68805:function(e,t,n){var r=n(45678),a=n(32272),o=n(37161);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||a),string:new r}}},2718:function(e,t,n){var r=n(90711);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},71399:function(e,t,n){var r=n(90711);e.exports=function(e){return r(this,e).get(e)}},13221:function(e,t,n){var r=n(90711);e.exports=function(e){return r(this,e).has(e)}},56910:function(e,t,n){var r=n(90711);e.exports=function(e,t){var n=r(this,e),a=n.size;return n.set(e,t),this.size+=n.size==a?0:1,this}},11974:function(e,t,n){var r=n(29190);e.exports=function(e){var t=r(e,(function(e){return 500===n.size&&n.clear(),e})),n=t.cache;return t}},15571:function(e,t,n){var r=n(26006)(Object,"create");e.exports=r},1031:function(e){var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},81683:function(e,t,n){var r=n(52769),a="object"==typeof self&&self&&self.Object===Object&&self,o=r||a||Function("return this")();e.exports=o},2788:function(e,t,n){var r=n(11974),a=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,i=r((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(a,(function(e,n,r,a){t.push(r?a.replace(o,"$1"):n||e)})),t}));e.exports=i},99556:function(e,t,n){var r=n(82913);e.exports=function(e){if("string"==typeof e||r(e))return e;var t=e+"";return"0"==t&&1/e==-Infinity?"-0":t}},14939:function(e){var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(n){}try{return e+""}catch(n){}}return""}},81786:function(e){e.exports=function(e,t){return e===t||e!==e&&t!==t}},38342:function(e,t,n){var r=n(61423);e.exports=function(e,t,n){var a=null==e?void 0:r(e,t);return void 0===a?n:a}},93270:function(e,t,n){var r=n(73724),a=n(94370);e.exports=function(e,t){return null!=e&&a(e,t,r)}},39326:function(e,t,n){var r=n(38883),a=n(30135),o=Object.prototype,i=o.hasOwnProperty,s=o.propertyIsEnumerable,l=r(function(){return arguments}())?r:function(e){return a(e)&&i.call(e,"callee")&&!s.call(e,"callee")};e.exports=l},85809:function(e){var t=Array.isArray;e.exports=t},66071:function(e,t,n){var r=n(28485),a=n(74216);e.exports=function(e){if(!a(e))return!1;var t=r(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},29228:function(e){e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},74216:function(e){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},30135:function(e){e.exports=function(e){return null!=e&&"object"==typeof e}},82913:function(e,t,n){var r=n(28485),a=n(30135);e.exports=function(e){return"symbol"==typeof e||a(e)&&"[object Symbol]"==r(e)}},29190:function(e,t,n){var r=n(30081);function a(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function n(){var r=arguments,a=t?t.apply(this,r):r[0],o=n.cache;if(o.has(a))return o.get(a);var i=e.apply(this,r);return n.cache=o.set(a,i)||o,i};return n.cache=new(a.Cache||r),n}a.Cache=r,e.exports=a},73865:function(e,t,n){var r=n(36675);e.exports=function(e){return null==e?"":r(e)}},79327:function(e,t,n){"use strict";function r(){return r=Object.assign||function(e){for(var t=1;ts?r:a}(e,t,h)}))}:m,g=e.reduce((function(e,a,s){var l=function(e,t,n,r){if(!t){return{rankedValue:e,rank:c(e,n,r),keyIndex:-1,keyThreshold:r.threshold}}return function(e,t){for(var n=[],r=0,a=t.length;r=i.MATCHES?p=m:p>v&&(p=v),p>o&&(o=p,l=a,u=g,h=d),{rankedValue:h,rank:o,keyIndex:l,keyThreshold:u}}),{rankedValue:e,rank:i.NO_MATCH,keyIndex:-1,keyThreshold:r.threshold})}(a,o,t,n),f=l.rank,h=l.keyThreshold;f>=(void 0===h?u:h)&&e.push(r({},l,{item:a,index:s}));return e}),[]);return v(g).map((function(e){return e.item}))}function c(e,t,n){return e=u(e,n),(t=u(t,n)).length>e.length?i.NO_MATCH:e===t?i.CASE_SENSITIVE_EQUAL:(e=e.toLowerCase())===(t=t.toLowerCase())?i.EQUAL:e.startsWith(t)?i.STARTS_WITH:e.includes(" "+t)?i.WORD_STARTS_WITH:e.includes(t)?i.CONTAINS:1===t.length?i.NO_MATCH:function(e){var t="";return e.split(" ").forEach((function(e){e.split("-").forEach((function(e){t+=e.substr(0,1)}))})),t}(e).includes(t)?i.ACRONYM:function(e,t){var n=0,r=0;function a(e,t,r){for(var a=r,o=t.length;a-1))return i.NO_MATCH}return o(r-s)}(e,t)}function u(e,t){return e=""+e,t.keepDiacritics||(e=o()(e)),e}function d(e,t){var n;if("object"===typeof t&&(t=t.key),"function"===typeof t)n=t(e);else if(null==e)n=null;else if(Object.hasOwnProperty.call(e,t))n=e[t];else{if(t.includes("."))return function(e,t){for(var n=e.split("."),r=[t],a=0,o=n.length;a-1e3&&e<1e3||_.call(/e/,t))return t;var n=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"===typeof e){var r=e<0?-Z(-e):Z(e);if(r!==e){var a=String(r),o=y.call(t,a.length+1);return x.call(a,n,"$&_")+"."+x.call(x.call(o,/([0-9]{3})/g,"$&_"),/_$/,"")}}return x.call(t,n,"$&_")}var N=n(24654).custom,z=N&&B(N)?N:null;function I(e,t,n){var r="double"===(n.quoteStyle||t)?'"':"'";return r+e+r}function L(e){return x.call(String(e),/"/g,""")}function D(e){return"[object Array]"===U(e)&&(!k||!("object"===typeof e&&k in e))}function B(e){if(M)return e&&"object"===typeof e&&e instanceof Symbol;if("symbol"===typeof e)return!0;if(!e||"object"!==typeof e||!C)return!1;try{return C.call(e),!0}catch(t){}return!1}e.exports=function e(t,n,r,a){var s=n||{};if(V(s,"quoteStyle")&&"single"!==s.quoteStyle&&"double"!==s.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(V(s,"maxStringLength")&&("number"===typeof s.maxStringLength?s.maxStringLength<0&&s.maxStringLength!==1/0:null!==s.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var l=!V(s,"customInspect")||s.customInspect;if("boolean"!==typeof l&&"symbol"!==l)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(V(s,"indent")&&null!==s.indent&&"\t"!==s.indent&&!(parseInt(s.indent,10)===s.indent&&s.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(V(s,"numericSeparator")&&"boolean"!==typeof s.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var m=s.numericSeparator;if("undefined"===typeof t)return"undefined";if(null===t)return"null";if("boolean"===typeof t)return t?"true":"false";if("string"===typeof t)return G(t,s);if("number"===typeof t){if(0===t)return 1/0/t>0?"0":"-0";var b=String(t);return m?R(t,b):b}if("bigint"===typeof t){var _=String(t)+"n";return m?R(t,_):_}var Z="undefined"===typeof s.depth?5:s.depth;if("undefined"===typeof r&&(r=0),r>=Z&&Z>0&&"object"===typeof t)return D(t)?"[Array]":"[Object]";var A=function(e,t){var n;if("\t"===e.indent)n="\t";else{if(!("number"===typeof e.indent&&e.indent>0))return null;n=S.call(Array(e.indent+1)," ")}return{base:n,prev:S.call(Array(t+1),n)}}(s,r);if("undefined"===typeof a)a=[];else if(F(a,t)>=0)return"[Circular]";function N(t,n,o){if(n&&(a=E.call(a)).push(n),o){var i={depth:s.depth};return V(s,"quoteStyle")&&(i.quoteStyle=s.quoteStyle),e(t,i,r+1,a)}return e(t,s,r+1,a)}if("function"===typeof t){var H=function(e){if(e.name)return e.name;var t=g.call(v.call(e),/^function\s*([\w$]+)/);if(t)return t[1];return null}(t),W=Q(t,N);return"[Function"+(H?": "+H:" (anonymous)")+"]"+(W.length>0?" { "+S.call(W,", ")+" }":"")}if(B(t)){var X=M?x.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):C.call(t);return"object"!==typeof t||M?X:K(X)}if(function(e){if(!e||"object"!==typeof e)return!1;if("undefined"!==typeof HTMLElement&&e instanceof HTMLElement)return!0;return"string"===typeof e.nodeName&&"function"===typeof e.getAttribute}(t)){for(var J="<"+w.call(String(t.nodeName)),ee=t.attributes||[],te=0;te"}if(D(t)){if(0===t.length)return"[]";var ne=Q(t,N);return A&&!function(e){for(var t=0;t=0)return!1;return!0}(ne)?"["+Y(ne,A)+"]":"[ "+S.call(ne,", ")+" ]"}if(function(e){return"[object Error]"===U(e)&&(!k||!("object"===typeof e&&k in e))}(t)){var re=Q(t,N);return"cause"in t&&!O.call(t,"cause")?"{ ["+String(t)+"] "+S.call(j.call("[cause]: "+N(t.cause),re),", ")+" }":0===re.length?"["+String(t)+"]":"{ ["+String(t)+"] "+S.call(re,", ")+" }"}if("object"===typeof t&&l){if(z&&"function"===typeof t[z])return t[z]();if("symbol"!==l&&"function"===typeof t.inspect)return t.inspect()}if(function(e){if(!o||!e||"object"!==typeof e)return!1;try{o.call(e);try{c.call(e)}catch(J){return!0}return e instanceof Map}catch(t){}return!1}(t)){var ae=[];return i.call(t,(function(e,n){ae.push(N(n,t,!0)+" => "+N(e,t))})),$("Map",o.call(t),ae,A)}if(function(e){if(!c||!e||"object"!==typeof e)return!1;try{c.call(e);try{o.call(e)}catch(t){return!0}return e instanceof Set}catch(n){}return!1}(t)){var oe=[];return u.call(t,(function(e){oe.push(N(e,t))})),$("Set",c.call(t),oe,A)}if(function(e){if(!d||!e||"object"!==typeof e)return!1;try{d.call(e,d);try{f.call(e,f)}catch(J){return!0}return e instanceof WeakMap}catch(t){}return!1}(t))return q("WeakMap");if(function(e){if(!f||!e||"object"!==typeof e)return!1;try{f.call(e,f);try{d.call(e,d)}catch(J){return!0}return e instanceof WeakSet}catch(t){}return!1}(t))return q("WeakSet");if(function(e){if(!p||!e||"object"!==typeof e)return!1;try{return p.call(e),!0}catch(t){}return!1}(t))return q("WeakRef");if(function(e){return"[object Number]"===U(e)&&(!k||!("object"===typeof e&&k in e))}(t))return K(N(Number(t)));if(function(e){if(!e||"object"!==typeof e||!T)return!1;try{return T.call(e),!0}catch(t){}return!1}(t))return K(N(T.call(t)));if(function(e){return"[object Boolean]"===U(e)&&(!k||!("object"===typeof e&&k in e))}(t))return K(h.call(t));if(function(e){return"[object String]"===U(e)&&(!k||!("object"===typeof e&&k in e))}(t))return K(N(String(t)));if(!function(e){return"[object Date]"===U(e)&&(!k||!("object"===typeof e&&k in e))}(t)&&!function(e){return"[object RegExp]"===U(e)&&(!k||!("object"===typeof e&&k in e))}(t)){var ie=Q(t,N),se=P?P(t)===Object.prototype:t instanceof Object||t.constructor===Object,le=t instanceof Object?"":"null prototype",ce=!se&&k&&Object(t)===t&&k in t?y.call(U(t),8,-1):le?"Object":"",ue=(se||"function"!==typeof t.constructor?"":t.constructor.name?t.constructor.name+" ":"")+(ce||le?"["+S.call(j.call([],ce||[],le||[]),": ")+"] ":"");return 0===ie.length?ue+"{}":A?ue+"{"+Y(ie,A)+"}":ue+"{ "+S.call(ie,", ")+" }"}return String(t)};var H=Object.prototype.hasOwnProperty||function(e){return e in this};function V(e,t){return H.call(e,t)}function U(e){return m.call(e)}function F(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,r=e.length;nt.maxStringLength){var n=e.length-t.maxStringLength,r="... "+n+" more character"+(n>1?"s":"");return G(y.call(e,0,t.maxStringLength),t)+r}return I(x.call(x.call(e,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,W),"single",t)}function W(e){var t=e.charCodeAt(0),n={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return n?"\\"+n:"\\x"+(t<16?"0":"")+b.call(t.toString(16))}function K(e){return"Object("+e+")"}function q(e){return e+" { ? }"}function $(e,t,n,r){return e+" ("+t+") {"+(r?Y(n,r):S.call(n,", "))+"}"}function Y(e,t){if(0===e.length)return"";var n="\n"+t.prev+t.base;return n+S.call(e,","+n)+"\n"+t.prev}function Q(e,t){var n=D(e),r=[];if(n){r.length=e.length;for(var a=0;a