\n )}\n \n \n\n \n {\n onBeforeChange(null, null, evn.target.value);\n }}\n id={\"code_wrapper\"}\n padding={15}\n style={{\n fontSize: 12,\n backgroundColor: \"#fefefe\",\n fontFamily:\n \"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace\",\n minHeight: editorHeight || \"initial\",\n color: \"#000000\",\n }}\n />\n \n \n \n \n \n }\n color={\"primary\"}\n variant={\"regular\"}\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 .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useNavigate } from \"react-router-dom\";\nimport { LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport api from \"../../../../common/api\";\nimport {\n fieldBasic,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport CodeMirrorWrapper from \"../../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport { setModalErrorSnackMessage } from \"../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport { getTenantAsync } from \"../thunks/tenantDetailsAsync\";\nimport SectionTitle from \"../../Common/SectionTitle\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n errorState: {\n color: \"#b53b4b\",\n fontSize: 14,\n fontWeight: \"bold\",\n },\n codeMirrorContainer: {\n marginBottom: 20,\n paddingLeft: 15,\n \"& label\": {\n marginBottom: \".5rem\",\n },\n \"& label + div\": {\n display: \"none\",\n },\n },\n ...modalStyleUtils,\n ...fieldBasic,\n });\n\ninterface ITenantYAML {\n yaml: string;\n}\n\ninterface ITenantYAMLProps {\n classes: any;\n}\n\nconst TenantYAML = ({ classes }: ITenantYAMLProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const tenant = useSelector((state: AppState) => state.tenants.currentTenant);\n const namespace = useSelector(\n (state: AppState) => state.tenants.currentNamespace\n );\n\n const [addLoading, setAddLoading] = useState(false);\n const [loading, setLoading] = useState(false);\n const [tenantYaml, setTenantYaml] = useState(\"\");\n const [errorMessage, setErrorMessage] = useState(\"\");\n\n const updateTenant = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n setErrorMessage(\"\");\n api\n .invoke(\"PUT\", `/api/v1/namespaces/${namespace}/tenants/${tenant}/yaml`, {\n yaml: tenantYaml,\n })\n .then((res) => {\n setAddLoading(false);\n dispatch(getTenantAsync());\n setErrorMessage(\"\");\n navigate(`/namespaces/${namespace}/tenants/${tenant}/summary`);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setErrorMessage(err.errorMessage);\n });\n };\n\n useEffect(() => {\n api\n .invoke(\"GET\", `/api/v1/namespaces/${namespace}/tenants/${tenant}/yaml`)\n .then((res: ITenantYAML) => {\n setLoading(false);\n setTenantYaml(res.yaml);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n }, [tenant, namespace, dispatch]);\n\n useEffect(() => {}, []);\n\n const validSave = tenantYaml.trim() !== \"\";\n\n return (\n \n {addLoading ||\n (loading && (\n \n \n \n ))}\n {errorMessage !== \"\" && (\n
{errorMessage}
\n )}\n\n {!loading && (\n \n )}\n \n );\n};\n\nexport default withStyles(styles)(TenantYAML);\n","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}"],"names":["withStyles","theme","createStyles","fieldBasic","value","label","tooltip","mode","classes","onBeforeChange","readOnly","editorHeight","item","xs","sx","marginBottom","className","inputLabel","tooltipContainer","title","placement","style","maxHeight","overflow","border","language","onChange","evn","target","id","padding","fontSize","backgroundColor","fontFamily","minHeight","color","background","borderTop","display","alignItems","paddingRight","justifyContent","height","width","marginLeft","text","type","icon","variant","errorState","fontWeight","codeMirrorContainer","paddingLeft","modalStyleUtils","dispatch","useAppDispatch","navigate","useNavigate","tenant","useSelector","state","tenants","currentTenant","namespace","currentNamespace","useState","addLoading","setAddLoading","loading","setLoading","tenantYaml","setTenantYaml","errorMessage","setErrorMessage","useEffect","api","then","res","yaml","catch","err","setModalErrorSnackMessage","validSave","trim","Fragment","noValidate","autoComplete","onSubmit","e","preventDefault","getTenantAsync","container","editor","data","paddingTop","disabled","onClick","_getPrototypeOf","o","Object","setPrototypeOf","getPrototypeOf","bind","__proto__","_inherits","subClass","superClass","TypeError","prototype","create","constructor","writable","configurable","defineProperty","_possibleConstructorReturn","self","call"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1268.ed4d5bd8.chunk.js b/portal-ui/build/static/js/1268.ed4d5bd8.chunk.js
deleted file mode 100644
index 5356bee5f..000000000
--- a/portal-ui/build/static/js/1268.ed4d5bd8.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1268],{92217:function(e,n,t){var o=t(1413),r=t(72791),i=t(61889),a=t(30829),c=t(20068),s=t(64554),l=t(11135),u=t(25787),d=t(84570),f=t(23814),p=t(38734),m=t(75952),x=t(78029),h=t.n(x),b=t(90932),g=t(27454),j=t(80184);n.Z=(0,u.Z)((function(e){return(0,l.Z)((0,o.Z)({},f.YI))}))((function(e){var n=e.value,t=e.label,o=void 0===t?"":t,l=e.tooltip,u=void 0===l?"":l,f=e.mode,x=void 0===f?"json":f,y=e.classes,Z=e.onBeforeChange,v=(e.readOnly,e.editorHeight),C=void 0===v?"250px":v;return(0,j.jsxs)(r.Fragment,{children:[(0,j.jsx)(i.ZP,{item:!0,xs:12,sx:{marginBottom:"10px"},children:(0,j.jsxs)(a.Z,{className:y.inputLabel,children:[(0,j.jsx)("span",{children:o}),""!==u&&(0,j.jsx)("div",{className:y.tooltipContainer,children:(0,j.jsx)(c.Z,{title:u,placement:"top-start",children:(0,j.jsx)("div",{className:y.tooltip,children:(0,j.jsx)(d.Z,{})})})})]})}),(0,j.jsx)(i.ZP,{item:!0,xs:12,style:{maxHeight:C,overflow:"auto",border:"1px solid #eaeaea"},children:(0,j.jsx)(b.Z,{value:n,language:x,onChange:function(e){Z(null,null,e.target.value)},id:"code_wrapper",padding:15,style:{fontSize:12,backgroundColor:"#fefefe",fontFamily:"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace",minHeight:C||"initial",color:"#000000"}})}),(0,j.jsx)(i.ZP,{item:!0,xs:12,sx:{background:"#f7f7f7",border:"1px solid #eaeaea",borderTop:0},children:(0,j.jsx)(s.Z,{sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}}},children:(0,j.jsx)(g.Z,{tooltip:"Copy to Clipboard",children:(0,j.jsx)(h(),{text:n,children:(0,j.jsx)(m.z,{type:"button",id:"copy-code-mirror",icon:(0,j.jsx)(p.TIy,{}),color:"primary",variant:"regular"})})})})})]})}))},82859:function(e,n,t){t.r(n);var o=t(29439),r=t(1413),i=t(72791),a=t(60364),c=t(16871),s=t(40986),l=t(75952),u=t(61889),d=t(11135),f=t(25787),p=t(81207),m=t(23814),x=t(92217),h=t(87995),b=t(25469),g=t(82295),j=t(50896),y=t(80184);n.default=(0,f.Z)((function(e){return(0,d.Z)((0,r.Z)((0,r.Z)({errorState:{color:"#b53b4b",fontSize:14,fontWeight:"bold"},codeMirrorContainer:{marginBottom:20,paddingLeft:15,"& label":{marginBottom:".5rem"},"& label + div":{display:"none"}}},m.ID),m.YI))}))((function(e){var n=e.classes,t=(0,b.TL)(),r=(0,c.s0)(),d=(0,a.v9)((function(e){return e.tenants.currentTenant})),f=(0,a.v9)((function(e){return e.tenants.currentNamespace})),m=(0,i.useState)(!1),Z=(0,o.Z)(m,2),v=Z[0],C=Z[1],S=(0,i.useState)(!1),P=(0,o.Z)(S,2),w=P[0],T=P[1],k=(0,i.useState)(""),O=(0,o.Z)(k,2),_=O[0],z=O[1],L=(0,i.useState)(""),M=(0,o.Z)(L,2),B=M[0],E=M[1];(0,i.useEffect)((function(){p.Z.invoke("GET","/api/v1/namespaces/".concat(f,"/tenants/").concat(d,"/yaml")).then((function(e){T(!1),z(e.yaml)})).catch((function(e){T(!1),t((0,h.zb)(e))}))}),[d,f,t]),(0,i.useEffect)((function(){}),[]);var F=""!==_.trim();return(0,y.jsxs)(i.Fragment,{children:[v||w&&(0,y.jsx)(u.ZP,{item:!0,xs:12,children:(0,y.jsx)(s.Z,{})}),""!==B&&(0,y.jsx)("div",{className:n.errorState,children:B}),!w&&(0,y.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),v||(C(!0),E(""),p.Z.invoke("PUT","/api/v1/namespaces/".concat(f,"/tenants/").concat(d,"/yaml"),{yaml:_}).then((function(e){C(!1),t((0,g.v)()),E(""),r("/namespaces/".concat(f,"/tenants/").concat(d,"/summary"))})).catch((function(e){C(!1),E(e.errorMessage)})))},children:(0,y.jsxs)(u.ZP,{container:!0,children:[(0,y.jsx)(u.ZP,{item:!0,xs:12,children:(0,y.jsx)(j.Z,{children:"Tenant Specification"})}),(0,y.jsx)(u.ZP,{item:!0,xs:12,children:(0,y.jsx)(x.Z,{value:_,mode:"yaml",onBeforeChange:function(e,n,t){z(t)},editorHeight:"550px"})}),(0,y.jsxs)(u.ZP,{item:!0,xs:12,style:{textAlign:"right",paddingTop:16},children:[(0,y.jsx)(l.z,{id:"cancel-tenant-yaml",type:"button",variant:"regular",disabled:v,onClick:function(){r("/namespaces/".concat(f,"/tenants/").concat(d,"/summary"))},label:"Cancel"}),(0,y.jsx)(l.z,{id:"save-tenant-yaml",type:"submit",variant:"callAction",disabled:v||!F,style:{marginLeft:8},label:"Save"})]})]})})]})}))},61120:function(e,n,t){function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}t.d(n,{Z:function(){return o}})},60136:function(e,n,t){t.d(n,{Z:function(){return r}});var o=t(89611);function r(e,n){if("function"!==typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&(0,o.Z)(e,n)}},82963:function(e,n,t){t.d(n,{Z:function(){return i}});var o=t(71002),r=t(97326);function i(e,n){if(n&&("object"===(0,o.Z)(n)||"function"===typeof n))return n;if(void 0!==n)throw new TypeError("Derived constructors may only return object or undefined");return(0,r.Z)(e)}}}]);
-//# sourceMappingURL=1268.ed4d5bd8.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1268.ed4d5bd8.chunk.js.map b/portal-ui/build/static/js/1268.ed4d5bd8.chunk.js.map
deleted file mode 100644
index 589d5fe21..000000000
--- a/portal-ui/build/static/js/1268.ed4d5bd8.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/1268.ed4d5bd8.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Tenants/TenantDetails/TenantYAML.tsx","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.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 from \"@mui/material/Grid\";\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 } from \"../../../../../icons\";\nimport { Button } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport CodeEditor from \"@uiw/react-textarea-code-editor\";\nimport TooltipWrapper from \"../../TooltipWrapper/TooltipWrapper\";\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 });\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 return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n \n
\n )}\n \n \n\n \n {\n onBeforeChange(null, null, evn.target.value);\n }}\n id={\"code_wrapper\"}\n padding={15}\n style={{\n fontSize: 12,\n backgroundColor: \"#fefefe\",\n fontFamily:\n \"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace\",\n minHeight: editorHeight || \"initial\",\n color: \"#000000\",\n }}\n />\n \n \n \n \n \n }\n color={\"primary\"}\n variant={\"regular\"}\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 .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useNavigate } from \"react-router-dom\";\nimport { LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport api from \"../../../../common/api\";\nimport {\n fieldBasic,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport CodeMirrorWrapper from \"../../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport { setModalErrorSnackMessage } from \"../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport { getTenantAsync } from \"../thunks/tenantDetailsAsync\";\nimport SectionTitle from \"../../Common/SectionTitle\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n errorState: {\n color: \"#b53b4b\",\n fontSize: 14,\n fontWeight: \"bold\",\n },\n codeMirrorContainer: {\n marginBottom: 20,\n paddingLeft: 15,\n \"& label\": {\n marginBottom: \".5rem\",\n },\n \"& label + div\": {\n display: \"none\",\n },\n },\n ...modalStyleUtils,\n ...fieldBasic,\n });\n\ninterface ITenantYAML {\n yaml: string;\n}\n\ninterface ITenantYAMLProps {\n classes: any;\n}\n\nconst TenantYAML = ({ classes }: ITenantYAMLProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const tenant = useSelector((state: AppState) => state.tenants.currentTenant);\n const namespace = useSelector(\n (state: AppState) => state.tenants.currentNamespace\n );\n\n const [addLoading, setAddLoading] = useState(false);\n const [loading, setLoading] = useState(false);\n const [tenantYaml, setTenantYaml] = useState(\"\");\n const [errorMessage, setErrorMessage] = useState(\"\");\n\n const updateTenant = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n setErrorMessage(\"\");\n api\n .invoke(\"PUT\", `/api/v1/namespaces/${namespace}/tenants/${tenant}/yaml`, {\n yaml: tenantYaml,\n })\n .then((res) => {\n setAddLoading(false);\n dispatch(getTenantAsync());\n setErrorMessage(\"\");\n navigate(`/namespaces/${namespace}/tenants/${tenant}/summary`);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setErrorMessage(err.errorMessage);\n });\n };\n\n useEffect(() => {\n api\n .invoke(\"GET\", `/api/v1/namespaces/${namespace}/tenants/${tenant}/yaml`)\n .then((res: ITenantYAML) => {\n setLoading(false);\n setTenantYaml(res.yaml);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setModalErrorSnackMessage(err));\n });\n }, [tenant, namespace, dispatch]);\n\n useEffect(() => {}, []);\n\n const validSave = tenantYaml.trim() !== \"\";\n\n return (\n \n {addLoading ||\n (loading && (\n \n \n \n ))}\n {errorMessage !== \"\" && (\n
{errorMessage}
\n )}\n\n {!loading && (\n \n )}\n \n );\n};\n\nexport default withStyles(styles)(TenantYAML);\n","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}"],"names":["withStyles","theme","createStyles","fieldBasic","value","label","tooltip","mode","classes","onBeforeChange","readOnly","editorHeight","item","xs","sx","marginBottom","className","inputLabel","tooltipContainer","title","placement","style","maxHeight","overflow","border","language","onChange","evn","target","id","padding","fontSize","backgroundColor","fontFamily","minHeight","color","background","borderTop","display","alignItems","paddingRight","justifyContent","height","width","marginLeft","text","type","icon","variant","errorState","fontWeight","codeMirrorContainer","paddingLeft","modalStyleUtils","dispatch","useAppDispatch","navigate","useNavigate","tenant","useSelector","state","tenants","currentTenant","namespace","currentNamespace","useState","addLoading","setAddLoading","loading","setLoading","tenantYaml","setTenantYaml","errorMessage","setErrorMessage","useEffect","api","then","res","yaml","catch","err","setModalErrorSnackMessage","validSave","trim","Fragment","noValidate","autoComplete","onSubmit","e","preventDefault","getTenantAsync","container","editor","data","textAlign","paddingTop","disabled","onClick","_getPrototypeOf","o","Object","setPrototypeOf","getPrototypeOf","bind","__proto__","_inherits","subClass","superClass","TypeError","prototype","create","constructor","writable","configurable","defineProperty","_possibleConstructorReturn","self","call"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1367.0465294b.chunk.js b/portal-ui/build/static/js/1367.0465294b.chunk.js
deleted file mode 100644
index 791cc5164..000000000
--- a/portal-ui/build/static/js/1367.0465294b.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1367,2691],{92217:function(e,n,t){"use strict";var r=t(1413),i=t(72791),o=t(61889),a=t(30829),c=t(20068),s=t(64554),l=t(11135),d=t(25787),u=t(84570),p=t(23814),f=t(38734),h=t(75952),x=t(78029),m=t.n(x),v=t(90932),Z=t(27454),b=t(80184);n.Z=(0,d.Z)((function(e){return(0,l.Z)((0,r.Z)({},p.YI))}))((function(e){var n=e.value,t=e.label,r=void 0===t?"":t,l=e.tooltip,d=void 0===l?"":l,p=e.mode,x=void 0===p?"json":p,j=e.classes,g=e.onBeforeChange,C=(e.readOnly,e.editorHeight),y=void 0===C?"250px":C;return(0,b.jsxs)(i.Fragment,{children:[(0,b.jsx)(o.ZP,{item:!0,xs:12,sx:{marginBottom:"10px"},children:(0,b.jsxs)(a.Z,{className:j.inputLabel,children:[(0,b.jsx)("span",{children:r}),""!==d&&(0,b.jsx)("div",{className:j.tooltipContainer,children:(0,b.jsx)(c.Z,{title:d,placement:"top-start",children:(0,b.jsx)("div",{className:j.tooltip,children:(0,b.jsx)(u.Z,{})})})})]})}),(0,b.jsx)(o.ZP,{item:!0,xs:12,style:{maxHeight:y,overflow:"auto",border:"1px solid #eaeaea"},children:(0,b.jsx)(v.Z,{value:n,language:x,onChange:function(e){g(null,null,e.target.value)},id:"code_wrapper",padding:15,style:{fontSize:12,backgroundColor:"#fefefe",fontFamily:"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace",minHeight:y||"initial",color:"#000000"}})}),(0,b.jsx)(o.ZP,{item:!0,xs:12,sx:{background:"#f7f7f7",border:"1px solid #eaeaea",borderTop:0},children:(0,b.jsx)(s.Z,{sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}}},children:(0,b.jsx)(Z.Z,{tooltip:"Copy to Clipboard",children:(0,b.jsx)(m(),{text:n,children:(0,b.jsx)(h.z,{type:"button",id:"copy-code-mirror",icon:(0,b.jsx)(f.TIy,{}),color:"primary",variant:"regular"})})})})})]})}))},59114:function(e,n,t){"use strict";var r=t(4942),i=t(1413),o=(t(72791),t(63466)),a=t(74900),c=t(27391),s=t(25787),l=t(11135),d=t(23814),u=t(80184);n.Z=(0,s.Z)((function(e){return(0,l.Z)({searchField:(0,i.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,i=e.classes,s=e.onChange,l=e.adornmentPosition,d=void 0===l?"end":l,p=e.overrideClass,f=e.value,h=(0,r.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(o.Z,{position:d,className:i.adornment,children:(0,u.jsx)(a.Z,{})}));return(0,u.jsx)(c.Z,{placeholder:t,className:p||i.searchField,id:"search-resource",label:"",InputProps:h,onChange:function(e){s(e.target.value)},variant:"standard",value:f})}))},27454:function(e,n,t){"use strict";var r=t(1413),i=t(72791),o=t(20068),a=t(80184);n.Z=function(e){var n=e.tooltip,t=e.children,c=e.errorProps,s=void 0===c?null:c;return(0,a.jsx)(o.Z,{title:n,children:(0,a.jsx)("span",{children:s?(0,i.cloneElement)(t,(0,r.Z)({},s)):t})})}},50276:function(e,n,t){"use strict";var r=t(1413),i=t(29439),o=t(72791),a=t(64554),c=t(43896),s=t(83449),l=t(47283),d=t(82851),u=t(25787),p=t(13967),f=t(11135),h=t(95193),x=t(16871),m=t(80184),v={minHeight:60};n.Z=(0,u.Z)((function(e){return(0,f.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 n=e.children,t=e.classes,u=e.selectedTab,f=void 0===u?"0":u,Z=e.routes,b=e.isRouteTabs,j=(0,p.Z)(),g=(0,x.TH)().pathname,C=void 0===g?"":g,y=(0,h.Z)(j.breakpoints.down("md")),E=(0,o.useState)(f),P=(0,i.Z)(E,2),S=P[0],w=P[1],N=[],M=[];if((0,o.useEffect)((function(){if(b){var e=n.find((function(e){return e.tabConfig.to===C}));e&&w(e.tabConfig.value)}}),[b,n,C]),!n)return null;n.forEach((function(e){N.push(e.tabConfig),M.push(e.content)}));return(0,m.jsx)(s.ZP,{value:"".concat(S),children:(0,m.jsxs)(a.Z,{className:t.tabsContainer,children:[(0,m.jsx)(a.Z,{className:t.tabsHeaderContainer,children:(0,m.jsx)(l.Z,{onChange:function(e,n){w(n)},orientation:y?"horizontal":"vertical",variant:y?"scrollable":"standard",scrollButtons:"auto",className:t.tabList,children:N.map((function(e,n){return e?(0,m.jsx)(c.Z,(0,r.Z)((0,r.Z)({className:t.tabHeader,value:"".concat(n),style:v},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(n)):null}))})}),(0,m.jsxs)(a.Z,{className:t.tabContentContainer,children:[b?null:M.map((function(e,n){return(0,m.jsx)(d.Z,{classes:(0,r.Z)({},t.tabPanel),value:"".concat(n),children:e||null},"v-tab-p-".concat(n))})),b?(0,m.jsx)("div",{className:t.tabPanel,children:Z}):null]})]})})}))},879:function(e,n,t){"use strict";t.d(n,{D_:function(){return a},Et:function(){return i},GJ:function(){return o},yh:function(){return r}});var r={RED:"#C83B51",GREEN:"#4CCB92",YELLOW:"#E7A219"},i=function(e,n){return e<=n/2?r.RED:2!==n&&e===n/2+1?r.YELLOW:e===n?r.GREEN:void 0},o=function(e){switch(e){case"offline":return r.RED;case"online":return r.GREEN;default:return r.YELLOW}},a=function(e,n){return e<=n/2?r.RED:e===n/2+1?r.YELLOW:e===n?r.GREEN:void 0}},1191:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return W}});var r=t(29439),i=t(1413),o=t(72791),a=t(60364),c=t(16871),s=t(75952),l=t(11135),d=t(25787),u=t(23814),p=t(10703),f=t(61889),h=t(40986),x=t(92983),m=t(81207),v=t(32291),Z=t(92217),b=t(63466),j=t(27391),g=t(14917),C=t(64244),y=t(28789),E=t(74900),P=t(54599),S=t(74794),w=t(50276),N=t(84669),M=t(56087),T=t(38442),F=t(75578),R=t(64554),A=t(59114),I=t(38734),L=t(879),k=t(80184),O={display:"grid",gridTemplateColumns:"60px 1fr",gap:"15px"},D=function(e){var n=e.search,t=void 0===n?"":n,r=e.children,i=void 0===r?"":r,o=new RegExp("(".concat(function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}(t),")"),"i"),a=String(i).split(o);return t?a.map((function(e,n){return o.test(e)?(0,k.jsx)("mark",{children:e},n):e})):i},z=(0,d.Z)((function(e){return(0,l.Z)({searchField:(0,i.Z)((0,i.Z)({},u.qg.searchField),{},{maxWidth:380})})}))((function(e){var n=e.policyStatements,t=e.classes,i=void 0===t?{}:t,a=(0,o.useState)(""),c=(0,r.Z)(a,2),s=c[0],l=c[1];return(0,k.jsxs)(f.ZP,{container:!0,children:[(0,k.jsx)(f.ZP,{item:!0,xs:12,children:(0,k.jsxs)(R.Z,{sx:{display:"grid",gridTemplateColumns:{sm:"1fr 1fr",xs:"1fr"},alignItems:"center",justifyContent:"space-between",gap:"15px"},children:[(0,k.jsx)(R.Z,{children:"Statements"}),(0,k.jsx)(A.Z,{placeholder:"Search",onChange:l,overrideClass:i.searchField,value:s})]})}),(0,k.jsx)(f.ZP,{item:!0,xs:12,sx:{"& .policy-row":{borderBottom:"1px solid #eaeaea"},"& .policy-row:first-child":{borderTop:"1px solid #eaeaea"},"& .policy-row:last-child":{borderBottom:"0px"},paddingTop:"15px","& mark":{color:"#000000",fontWeight:500}},children:n.map((function(e,n){var t=e.Effect,r="Allow"===t;return(0,k.jsxs)(R.Z,{className:"policy-row",sx:{display:"grid",gridTemplateColumns:"1fr",gap:"15px",fontSize:"14px",padding:"10px 0 10px 0","& .label":{fontWeight:600}},children:[(0,k.jsxs)(R.Z,{sx:O,children:[(0,k.jsx)(R.Z,{className:"label",children:"Effect:"}),(0,k.jsxs)(R.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{marginRight:"5px",fill:r?L.yh.GREEN:L.yh.RED,height:"14px",width:"14px"}},children:[r?(0,k.jsx)(I.E31,{}):(0,k.jsx)(I.dRf,{}),t]})]}),(0,k.jsxs)(R.Z,{sx:{display:"grid",gridTemplateColumns:{sm:"1fr 1fr",xs:"1fr"},gap:"15px"},children:[(0,k.jsxs)(R.Z,{sx:O,children:[(0,k.jsx)(R.Z,{className:"label",children:"Actions:"}),(0,k.jsx)(R.Z,{children:e.Action&&e.Action.map((function(e,t){return(0,k.jsx)("div",{children:(0,k.jsx)(D,{search:s,children:e})},"".concat(n,"-r-").concat(t))}))})]}),(0,k.jsxs)(R.Z,{sx:O,children:[(0,k.jsx)(R.Z,{className:"label",children:"Resources:"}),(0,k.jsx)(R.Z,{children:e.Resource&&e.Resource.map((function(e,t){return(0,k.jsxs)("div",{children:[" ",(0,k.jsx)(D,{search:s,children:e})]},"".concat(n,"-r-").concat(t))}))})]})]})]},"".concat(n))}))})]})})),_=t(45248),B=t(87995),G=t(46078),U=t(25469),H=t(27454),V=(0,F.Z)(o.lazy((function(){return t.e(312).then(t.bind(t,312))}))),W=(0,d.Z)((function(e){return(0,l.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({buttonContainer:{display:"flex",justifyContent:"flex-end",paddingTop:16,"& button":{marginLeft:8}},pageContainer:{border:"1px solid #EAEAEA",height:"100%"},paperContainer:{padding:"15px 15px 15px 50px",minHeight:"450px"},statement:{border:"1px solid #DADADA",padding:8,marginBottom:8,borderRadius:4},labelCol:{fontWeight:"bold"}},u.OR),u.qg),u.oO),(0,u.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=(0,U.TL)(),i=(0,c.s0)(),l=(0,c.UO)(),d=(0,a.v9)(G.$4),u=(0,o.useState)(null),F=(0,r.Z)(u,2),R=F[0],A=F[1],I=(0,o.useState)([]),L=(0,r.Z)(I,2),O=L[0],D=L[1],W=(0,o.useState)([]),Y=(0,r.Z)(W,2),q=Y[0],J=Y[1],Q=(0,o.useState)([]),$=(0,r.Z)(Q,2),K=$[0],X=$[1],ee=(0,o.useState)(!1),ne=(0,r.Z)(ee,2),te=ne[0],re=ne[1],ie=(0,_.IO)(l.policyName||""),oe=(0,o.useState)(""),ae=(0,r.Z)(oe,2),ce=ae[0],se=ae[1],le=(0,o.useState)(!0),de=(0,r.Z)(le,2),ue=de[0],pe=de[1],fe=(0,o.useState)(""),he=(0,r.Z)(fe,2),xe=he[0],me=he[1],ve=(0,o.useState)(!0),Ze=(0,r.Z)(ve,2),be=Ze[0],je=Ze[1],ge=(0,o.useState)(""),Ce=(0,r.Z)(ge,2),ye=Ce[0],Ee=Ce[1],Pe=(0,o.useState)(!0),Se=(0,r.Z)(Pe,2),we=Se[0],Ne=Se[1],Me=(0,o.useState)(!1),Te=(0,r.Z)(Me,2),Fe=Te[0],Re=Te[1],Ae=d&&d.includes("ldap-idp")||!1,Ie=(0,T.F)(M.C3,[M.Ft.ADMIN_LIST_GROUPS,M.Ft.ADMIN_GET_GROUP],!0),Le=(0,T.F)(M.C3,[M.Ft.ADMIN_GET_GROUP]),ke=(0,T.F)(M.C3,[M.Ft.ADMIN_LIST_GROUPS]),Oe=(0,T.F)(M.C3,[M.Ft.ADMIN_GET_USER]),De=(0,T.F)(M.C3,[M.Ft.ADMIN_GET_POLICY]),ze=(0,T.F)(M.C3,[M.Ft.ADMIN_CREATE_POLICY]);(0,o.useEffect)((function(){ue&&(ue&&(De?m.Z.invoke("GET","/api/v1/policy/".concat((0,_.LL)(ie))).then((function(e){if(e){A(e),se(e?JSON.stringify(JSON.parse(e.policy),null,4):"");var n=JSON.parse(e.policy);D(n.Statement)}pe(!1)})).catch((function(e){t((0,B.Ih)(e)),pe(!1)})):pe(!1)),be&&(ke&&!Ae?m.Z.invoke("GET","/api/v1/policies/".concat((0,_.LL)(ie),"/users")).then((function(e){J(e),je(!1)})).catch((function(e){t((0,B.Ih)(e)),je(!1)})):je(!1)),we&&(Ie&&!Ae?m.Z.invoke("GET","/api/v1/policies/".concat((0,_.LL)(ie),"/groups")).then((function(e){X(e),Ne(!1)})).catch((function(e){t((0,B.Ih)(e)),Ne(!1)})):Ne(!1)))}),[ie,ue,be,we,J,X,se,A,je,Ne,ke,Ie,De,Ae,t]);var _e=""!==ie.trim(),Be=[{type:"view",onClick:function(e){i("".concat(M.gA.USERS,"/").concat((0,_.LL)(e)))},disableButtonFunction:function(){return!Oe}}],Ge=q.filter((function(e){return e.includes(xe)})),Ue=[{type:"view",onClick:function(e){i("".concat(M.gA.GROUPS,"/").concat((0,_.LL)(e)))},disableButtonFunction:function(){return!Le}}],He=K.filter((function(e){return e.includes(ye)}));return(0,k.jsxs)(o.Fragment,{children:[Fe&&(0,k.jsx)(V,{deleteOpen:Fe,selectedPolicy:ie,closeDeleteModalAndRefresh:function(e){Re(!1),i(M.gA.POLICIES)}}),(0,k.jsx)(v.Z,{label:(0,k.jsx)(o.Fragment,{children:(0,k.jsx)(N.Z,{to:M.gA.POLICIES,label:"Policy"})})}),(0,k.jsxs)(S.Z,{className:n.pageContainer,children:[(0,k.jsx)(f.ZP,{item:!0,xs:12,children:(0,k.jsx)(g.Z,{icon:(0,k.jsx)(o.Fragment,{children:(0,k.jsx)(C.Z,{width:40})}),title:ie,subTitle:(0,k.jsx)(o.Fragment,{children:"IAM Policy"}),actions:(0,k.jsxs)(o.Fragment,{children:[(0,k.jsx)(T.s,{scopes:[M.Ft.ADMIN_DELETE_POLICY],resource:M.C3,errorProps:{disabled:!0},children:(0,k.jsx)(H.Z,{tooltip:"Delete Policy",children:(0,k.jsx)(s.z,{id:"delete-policy",label:"Delete Policy",variant:"secondary",icon:(0,k.jsx)(P.Z,{}),onClick:function(){Re(!0)}})})}),(0,k.jsx)(H.Z,{tooltip:"Refresh",children:(0,k.jsx)(s.z,{id:"refresh-policy",label:"Refresh",variant:"regular",icon:(0,k.jsx)(y.default,{}),onClick:function(){je(!0),Ne(!0),pe(!0)}})})]})})}),(0,k.jsxs)(w.Z,{children:[{tabConfig:{label:"Summary",disabled:!De},content:(0,k.jsxs)(o.Fragment,{children:[(0,k.jsx)("div",{className:n.sectionTitle,children:"Policy Summary"}),(0,k.jsx)(p.Z,{className:n.paperContainer,children:(0,k.jsx)(z,{policyStatements:O})})]})},{tabConfig:{label:"Users",disabled:!ke||Ae},content:(0,k.jsxs)(o.Fragment,{children:[(0,k.jsx)("div",{className:n.sectionTitle,children:"Users"}),(0,k.jsxs)(f.ZP,{container:!0,children:[(0,k.jsx)(f.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,k.jsx)(j.Z,{placeholder:"Search Users",className:n.searchField,id:"search-resource",label:"",onChange:function(e){me(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,k.jsx)(b.Z,{position:"start",children:(0,k.jsx)(E.Z,{})})},variant:"standard"})}),(0,k.jsx)(x.Z,{itemActions:Be,columns:[{label:"Name",elementKey:"name"}],isLoading:be,records:Ge,entityName:"Users",idField:"name"})]})]})},{tabConfig:{label:"Groups",disabled:!Ie||Ae},content:(0,k.jsxs)(o.Fragment,{children:[(0,k.jsx)("div",{className:n.sectionTitle,children:"Groups"}),(0,k.jsxs)(f.ZP,{container:!0,children:[(0,k.jsx)(f.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,k.jsx)(j.Z,{placeholder:"Search Groups",className:n.searchField,id:"search-resource",label:"",onChange:function(e){Ee(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,k.jsx)(b.Z,{position:"start",children:(0,k.jsx)(E.Z,{})})},variant:"standard"})}),(0,k.jsx)(x.Z,{itemActions:Ue,columns:[{label:"Name",elementKey:"name"}],isLoading:we,records:He,entityName:"Groups",idField:"name"})]})]})},{tabConfig:{label:"Raw Policy",disabled:!De},content:(0,k.jsxs)(o.Fragment,{children:[(0,k.jsx)("div",{className:n.sectionTitle,children:"Raw Policy"}),(0,k.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),te||(re(!0),ze?m.Z.invoke("POST","/api/v1/policies",{name:ie,policy:ce}).then((function(e){re(!1),t((0,B.y1)("Policy successfully updated"))})).catch((function(e){re(!1),t((0,B.Ih)(e))})):re(!1))},children:(0,k.jsxs)(f.ZP,{container:!0,children:[(0,k.jsx)(f.ZP,{item:!0,xs:12,children:(0,k.jsx)(Z.Z,{readOnly:!ze,value:ce,onBeforeChange:function(e,n,t){se(t)},editorHeight:"350px"})}),(0,k.jsxs)(f.ZP,{item:!0,xs:12,className:n.buttonContainer,children:[!R&&(0,k.jsx)("button",{type:"button",color:"primary",className:n.clearButton,onClick:function(){se("{}")},children:"Clear"}),(0,k.jsx)(T.s,{scopes:[M.Ft.ADMIN_CREATE_POLICY],resource:M.C3,errorProps:{disabled:!0},children:(0,k.jsx)(s.z,{id:"save",type:"submit",variant:"callAction",color:"primary",disabled:te||!_e,label:"Save"})})]}),te&&(0,k.jsx)(f.ZP,{item:!0,xs:12,children:(0,k.jsx)(h.Z,{})})]})})]})}]})]})]})}))},26759:function(e,n,t){"use strict";var r=t(64836);n.Z=void 0;var i=r(t(45649)),o=t(80184),a=(0,i.default)((0,o.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");n.Z=a},70366:function(e,n,t){"use strict";var r=t(64836);n.Z=void 0;var i=r(t(45649)),o=t(80184),a=(0,i.default)((0,o.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");n.Z=a},97911:function(e,n,t){"use strict";var r=t(64836);n.Z=void 0;var i=r(t(45649)),o=t(80184),a=(0,i.default)((0,o.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");n.Z=a},83449:function(e,n,t){"use strict";t.d(n,{ZP:function(){return c},_i:function(){return s},pQ:function(){return d},uU:function(){return l}});var r=t(29439),i=t(72791),o=t(80184),a=i.createContext(null);function c(e){var n=e.children,t=e.value,c=function(){var e=i.useState(null),n=(0,r.Z)(e,2),t=n[0],o=n[1];return i.useEffect((function(){o("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),t}(),s=i.useMemo((function(){return{idPrefix:c,value:t}}),[c,t]);return(0,o.jsx)(a.Provider,{value:s,children:n})}function s(){return i.useContext(a)}function l(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(n)}function d(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(n)}},47283:function(e,n,t){"use strict";var r=t(87462),i=t(63366),o=t(72791),a=t(18073),c=t(83449),s=t(80184),l=["children"],d=o.forwardRef((function(e,n){var t=e.children,d=(0,i.Z)(e,l),u=(0,c._i)();if(null===u)throw new TypeError("No TabContext provided");var p=o.Children.map(t,(function(e){return o.isValidElement(e)?o.cloneElement(e,{"aria-controls":(0,c.uU)(u,e.props.value),id:(0,c.pQ)(u,e.props.value)}):null}));return(0,s.jsx)(a.Z,(0,r.Z)({},d,{ref:n,value:u.value,children:p}))}));n.Z=d},82851:function(e,n,t){"use strict";t.d(n,{Z:function(){return m}});var r=t(87462),i=t(63366),o=t(72791),a=t(28182),c=t(66934),s=t(31402),l=t(94419),d=t(21217);function u(e){return(0,d.Z)("MuiTabPanel",e)}(0,t(75878).Z)("MuiTabPanel",["root"]);var p=t(83449),f=t(80184),h=["children","className","value"],x=(0,c.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,n){return n.root}})((function(e){return{padding:e.theme.spacing(3)}})),m=o.forwardRef((function(e,n){var t=(0,s.Z)({props:e,name:"MuiTabPanel"}),o=t.children,c=t.className,d=t.value,m=(0,i.Z)(t,h),v=(0,r.Z)({},t),Z=function(e){var n=e.classes;return(0,l.Z)({root:["root"]},u,n)}(v),b=(0,p._i)();if(null===b)throw new TypeError("No TabContext provided");var j=(0,p.uU)(b,d),g=(0,p.pQ)(b,d);return(0,f.jsx)(x,(0,r.Z)({"aria-labelledby":g,className:(0,a.Z)(Z.root,c),hidden:d!==b.value,id:j,ref:n,role:"tabpanel",ownerState:v},m,{children:d===b.value&&o}))}))},94454:function(e,n,t){"use strict";t.d(n,{Z:function(){return S}});var r=t(4942),i=t(63366),o=t(87462),a=t(72791),c=t(94419),s=t(12065),l=t(97278),d=t(76189),u=t(80184),p=(0,d.Z)((0,u.jsx)("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),f=(0,d.Z)((0,u.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),h=(0,d.Z)((0,u.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox"),x=t(14036),m=t(31402),v=t(66934),Z=t(21217);function b(e){return(0,Z.Z)("MuiCheckbox",e)}var j=(0,t(75878).Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),g=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size"],C=(0,v.ZP)(l.Z,{shouldForwardProp:function(e){return(0,v.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,t.indeterminate&&n.indeterminate,"default"!==t.color&&n["color".concat((0,x.Z)(t.color))]]}})((function(e){var n,t=e.theme,i=e.ownerState;return(0,o.Z)({color:(t.vars||t).palette.text.secondary},!i.disableRipple&&{"&:hover":{backgroundColor:t.vars?"rgba(".concat("default"===i.color?t.vars.palette.action.activeChannel:t.vars.palette.primary.mainChannel," / ").concat(t.vars.palette.action.hoverOpacity,")"):(0,s.Fq)("default"===i.color?t.palette.action.active:t.palette[i.color].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==i.color&&(n={},(0,r.Z)(n,"&.".concat(j.checked,", &.").concat(j.indeterminate),{color:(t.vars||t).palette[i.color].main}),(0,r.Z)(n,"&.".concat(j.disabled),{color:(t.vars||t).palette.action.disabled}),n))})),y=(0,u.jsx)(f,{}),E=(0,u.jsx)(p,{}),P=(0,u.jsx)(h,{}),S=a.forwardRef((function(e,n){var t,r,s=(0,m.Z)({props:e,name:"MuiCheckbox"}),l=s.checkedIcon,d=void 0===l?y:l,p=s.color,f=void 0===p?"primary":p,h=s.icon,v=void 0===h?E:h,Z=s.indeterminate,j=void 0!==Z&&Z,S=s.indeterminateIcon,w=void 0===S?P:S,N=s.inputProps,M=s.size,T=void 0===M?"medium":M,F=(0,i.Z)(s,g),R=j?w:v,A=j?w:d,I=(0,o.Z)({},s,{color:f,indeterminate:j,size:T}),L=function(e){var n=e.classes,t=e.indeterminate,r=e.color,i={root:["root",t&&"indeterminate","color".concat((0,x.Z)(r))]},a=(0,c.Z)(i,b,n);return(0,o.Z)({},n,a)}(I);return(0,u.jsx)(C,(0,o.Z)({type:"checkbox",inputProps:(0,o.Z)({"data-indeterminate":j},N),icon:a.cloneElement(R,{fontSize:null!=(t=R.props.fontSize)?t:T}),checkedIcon:a.cloneElement(A,{fontSize:null!=(r=A.props.fontSize)?r:T}),ownerState:I,ref:n},F,{classes:L}))}))},95193:function(e,n,t){"use strict";var r;t.d(n,{Z:function(){return p}});var i=t(29439),o=t(72791),a=t(69120),c=t(33073),s=t(40162);function l(e,n,t,r,a){var c="undefined"!==typeof window&&"undefined"!==typeof window.matchMedia,l=o.useState((function(){return a&&c?t(e).matches:r?r(e).matches:n})),d=(0,i.Z)(l,2),u=d[0],p=d[1];return(0,s.Z)((function(){var n=!0;if(c){var r=t(e),i=function(){n&&p(r.matches)};return i(),r.addListener(i),function(){n=!1,r.removeListener(i)}}}),[e,t,c]),u}var d=(r||(r=t.t(o,2))).useSyncExternalStore;function u(e,n,t,r){var a=o.useCallback((function(){return n}),[n]),c=o.useMemo((function(){if(null!==r){var n=r(e).matches;return function(){return n}}return a}),[a,e,r]),s=o.useMemo((function(){if(null===t)return[a,function(){return function(){}}];var n=t(e);return[function(){return n.matches},function(e){return n.addListener(e),function(){n.removeListener(e)}}]}),[a,t,e]),l=(0,i.Z)(s,2),u=l[0],p=l[1];return d(p,u,c)}function p(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=(0,a.Z)(),r="undefined"!==typeof window&&"undefined"!==typeof window.matchMedia,i=(0,c.Z)({name:"MuiUseMediaQuery",props:n,theme:t}),o=i.defaultMatches,s=void 0!==o&&o,p=i.matchMedia,f=void 0===p?r?window.matchMedia:null:p,h=i.ssrMatchMedia,x=void 0===h?null:h,m=i.noSsr;var v="function"===typeof e?e(t):e;v=v.replace(/^@media( ?)/m,"");var Z=void 0!==d?u:l,b=Z(v,s,f,x,m);return b}},26769:function(e,n,t){var r=t(39066),i=t(93629),o=t(43141);e.exports=function(e){return"string"==typeof e||!i(e)&&o(e)&&"[object String]"==r(e)}}}]);
-//# sourceMappingURL=1367.0465294b.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1367.0465294b.chunk.js.map b/portal-ui/build/static/js/1367.0465294b.chunk.js.map
deleted file mode 100644
index 2cb16ed43..000000000
--- a/portal-ui/build/static/js/1367.0465294b.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/1367.0465294b.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Common/TooltipWrapper/TooltipWrapper.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","screens/Console/Dashboard/BasicDashboard/Utils.tsx","screens/Console/Policies/PolicyView.tsx","screens/Console/Policies/PolicyDetails.tsx","../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/ViewColumn.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/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/@mui/material/useMediaQuery/useMediaQuery.js","../node_modules/lodash/isString.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 from \"@mui/material/Grid\";\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 } from \"../../../../../icons\";\nimport { Button } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport CodeEditor from \"@uiw/react-textarea-code-editor\";\nimport TooltipWrapper from \"../../TooltipWrapper/TooltipWrapper\";\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 });\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 return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n \n
\n )}\n \n \n\n \n {\n onBeforeChange(null, null, evn.target.value);\n }}\n id={\"code_wrapper\"}\n padding={15}\n style={{\n fontSize: 12,\n backgroundColor: \"#fefefe\",\n fontFamily:\n \"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace\",\n minHeight: editorHeight || \"initial\",\n color: \"#000000\",\n }}\n />\n \n \n \n \n \n }\n color={\"primary\"}\n variant={\"regular\"}\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) 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, { cloneElement } from \"react\";\nimport { Tooltip } from \"@mui/material\";\n\ninterface ITooltipWrapperProps {\n tooltip: string;\n children: any;\n errorProps?: any;\n}\n\nconst TooltipWrapper = ({\n tooltip,\n children,\n errorProps = null,\n}: ITooltipWrapperProps) => {\n return (\n \n \n {errorProps ? cloneElement(children, { ...errorProps }) : children}\n \n \n );\n};\n\nexport default TooltipWrapper;\n","import React, { useState, useEffect } 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\";\nimport { useLocation } from \"react-router-dom\";\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 theme = useTheme();\n const { pathname = \"\" } = useLocation();\n\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const [value, setValue] = useState(selectedTab);\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n useEffect(() => {\n if (isRouteTabs) {\n const tabConfigElement = children.find(\n (item) => item.tabConfig.to === pathname\n );\n\n if (tabConfigElement) {\n setValue(tabConfigElement.tabConfig.value);\n }\n }\n }, [isRouteTabs, children, pathname]);\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\n });\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\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","// 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\nexport const STATUS_COLORS = {\n RED: \"#C83B51\",\n GREEN: \"#4CCB92\",\n YELLOW: \"#E7A219\",\n};\n\nexport const getDriveStatusColor = (\n activeDisks: number,\n totalDrives: number\n) => {\n if (activeDisks <= totalDrives / 2) {\n return STATUS_COLORS.RED;\n }\n if (totalDrives !== 2 && activeDisks === totalDrives / 2 + 1) {\n return STATUS_COLORS.YELLOW;\n }\n if (activeDisks === totalDrives) {\n return STATUS_COLORS.GREEN;\n }\n};\n\nexport const serverStatusColor = (health_status: string) => {\n switch (health_status) {\n case \"offline\":\n return STATUS_COLORS.RED;\n case \"online\":\n return STATUS_COLORS.GREEN;\n default:\n return STATUS_COLORS.YELLOW;\n }\n};\nexport const getNetworkStatusColor = (\n activeNetwork: number,\n networkTotal: number\n) => {\n if (activeNetwork <= networkTotal / 2) {\n return STATUS_COLORS.RED;\n }\n if (activeNetwork === networkTotal / 2 + 1) {\n return STATUS_COLORS.YELLOW;\n }\n if (activeNetwork === networkTotal) {\n return STATUS_COLORS.GREEN;\n }\n};\n","// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { IAMStatement } from \"./types\";\nimport { Box } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport SearchBox from \"../Common/SearchBox\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"../Common/FormComponents/common/styleLibrary\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { DisabledIcon, EnabledIcon } from \"../../../icons\";\nimport { STATUS_COLORS } from \"../Dashboard/BasicDashboard/Utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n });\n\nconst rowGridStyle = {\n display: \"grid\",\n gridTemplateColumns: \"60px 1fr\",\n gap: \"15px\",\n};\n\nconst escapeRegExp = (str = \"\") =>\n str.replace(/([.?*+^$[\\]\\\\(){}|-])/g, \"\\\\$1\");\n\nconst Highlight = ({ search = \"\", children = \"\" }): any => {\n const txtParts = new RegExp(`(${escapeRegExp(search)})`, \"i\");\n const parts = String(children).split(txtParts);\n\n if (search) {\n return parts.map((part, index) =>\n txtParts.test(part) ? {part} : part\n );\n } else {\n return children;\n }\n};\n\nconst PolicyView = ({\n policyStatements,\n classes = {},\n}: {\n policyStatements: IAMStatement[];\n classes?: any;\n}) => {\n const [filter, setFilter] = useState(\"\");\n\n return (\n \n \n \n Statements\n \n \n \n \n {policyStatements.map((stmt, i) => {\n const effect = stmt.Effect;\n const isAllow = effect === \"Allow\";\n return (\n \n \n Effect:\n \n {isAllow ? : }\n {effect}\n \n \n\n \n \n Actions:\n \n {stmt.Action &&\n stmt.Action.map((act, actIndex) => (\n
\n \n \n ),\n }}\n \n \n \n );\n};\n\nexport default withStyles(styles)(PolicyDetails);\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: \"m7 10 5 5 5-5z\"\n}), 'ArrowDropDown');\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: \"m7 14 5-5 5 5z\"\n}), 'ArrowDropUp');\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: \"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z\"\n}), 'ViewColumn');\n\nexports.default = _default;","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';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'CheckBoxOutlineBlank');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckBox');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"\n}), 'IndeterminateCheckBox');","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getCheckboxUtilityClass(slot) {\n return generateUtilityClass('MuiCheckbox', slot);\n}\nconst checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary']);\nexport default checkboxClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checkedIcon\", \"color\", \"icon\", \"indeterminate\", \"indeterminateIcon\", \"inputProps\", \"size\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport SwitchBase from '../internal/SwitchBase';\nimport CheckBoxOutlineBlankIcon from '../internal/svg-icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '../internal/svg-icons/CheckBox';\nimport IndeterminateCheckBoxIcon from '../internal/svg-icons/IndeterminateCheckBox';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport checkboxClasses, { getCheckboxUtilityClass } from './checkboxClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n indeterminate,\n color\n } = ownerState;\n const slots = {\n root: ['root', indeterminate && 'indeterminate', `color${capitalize(color)}`]\n };\n const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst CheckboxRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiCheckbox',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.indeterminate && styles.indeterminate, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${ownerState.color === 'default' ? theme.vars.palette.action.activeChannel : theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(ownerState.color === 'default' ? theme.palette.action.active : theme.palette[ownerState.color].main, 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 [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${checkboxClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n}));\n\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\n\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\n\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\n\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n var _icon$props$fontSize, _indeterminateIcon$pr;\n\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCheckbox'\n });\n\n const {\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon: iconProp = defaultIcon,\n indeterminate = false,\n indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,\n inputProps,\n size = 'medium'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n\n const ownerState = _extends({}, props, {\n color,\n indeterminate,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CheckboxRoot, _extends({\n type: \"checkbox\",\n inputProps: _extends({\n 'data-indeterminate': indeterminate\n }, inputProps),\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: (_icon$props$fontSize = icon.props.fontSize) != null ? _icon$props$fontSize : size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(indeterminateIcon, {\n fontSize: (_indeterminateIcon$pr = indeterminateIcon.props.fontSize) != null ? _indeterminateIcon$pr : size\n }),\n ownerState: ownerState,\n ref: ref\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.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 * @default \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 * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).\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 * The icon to display when the component is unchecked.\n * @default \n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the component appears indeterminate.\n * This does not set the native input element to indeterminate due\n * to inconsistent behavior across browsers.\n * However, we set a `data-indeterminate` attribute on the `input`.\n * @default false\n */\n indeterminate: PropTypes.bool,\n\n /**\n * The icon to display when the component is indeterminate.\n * @default \n */\n indeterminateIcon: PropTypes.node,\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 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 checkbox 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 Checkbox;","import * as React from 'react';\nimport { getThemeProps, useThemeWithoutDefault as useTheme } from '@mui/system';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\n/**\n * @deprecated Not used internally. Use `MediaQueryListEvent` from lib.dom.d.ts instead.\n */\n\nfunction useMediaQueryOld(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr) {\n const supportMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined';\n const [match, setMatch] = React.useState(() => {\n if (noSsr && supportMatchMedia) {\n return matchMedia(query).matches;\n }\n\n if (ssrMatchMedia) {\n return ssrMatchMedia(query).matches;\n } // Once the component is mounted, we rely on the\n // event listeners to return the correct matches value.\n\n\n return defaultMatches;\n });\n useEnhancedEffect(() => {\n let active = true;\n\n if (!supportMatchMedia) {\n return undefined;\n }\n\n const queryList = matchMedia(query);\n\n const updateMatch = () => {\n // Workaround Safari wrong implementation of matchMedia\n // TODO can we remove it?\n // https://github.com/mui/material-ui/pull/17315#issuecomment-528286677\n if (active) {\n setMatch(queryList.matches);\n }\n };\n\n updateMatch(); // TODO: Use `addEventListener` once support for Safari < 14 is dropped\n\n queryList.addListener(updateMatch);\n return () => {\n active = false;\n queryList.removeListener(updateMatch);\n };\n }, [query, matchMedia, supportMatchMedia]);\n return match;\n} // eslint-disable-next-line no-useless-concat -- Workaround for https://github.com/webpack/webpack/issues/14814\n\n\nconst maybeReactUseSyncExternalStore = React['useSyncExternalStore' + ''];\n\nfunction useMediaQueryNew(query, defaultMatches, matchMedia, ssrMatchMedia) {\n const getDefaultSnapshot = React.useCallback(() => defaultMatches, [defaultMatches]);\n const getServerSnapshot = React.useMemo(() => {\n if (ssrMatchMedia !== null) {\n const {\n matches\n } = ssrMatchMedia(query);\n return () => matches;\n }\n\n return getDefaultSnapshot;\n }, [getDefaultSnapshot, query, ssrMatchMedia]);\n const [getSnapshot, subscribe] = React.useMemo(() => {\n if (matchMedia === null) {\n return [getDefaultSnapshot, () => () => {}];\n }\n\n const mediaQueryList = matchMedia(query);\n return [() => mediaQueryList.matches, notify => {\n // TODO: Use `addEventListener` once support for Safari < 14 is dropped\n mediaQueryList.addListener(notify);\n return () => {\n mediaQueryList.removeListener(notify);\n };\n }];\n }, [getDefaultSnapshot, matchMedia, query]);\n const match = maybeReactUseSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n return match;\n}\n\nexport default function useMediaQuery(queryInput, options = {}) {\n const theme = useTheme(); // Wait for jsdom to support the match media feature.\n // All the browsers MUI support have this built-in.\n // This defensive check is here for simplicity.\n // Most of the time, the match media logic isn't central to people tests.\n\n const supportMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined';\n const {\n defaultMatches = false,\n matchMedia = supportMatchMedia ? window.matchMedia : null,\n ssrMatchMedia = null,\n noSsr\n } = getThemeProps({\n name: 'MuiUseMediaQuery',\n props: options,\n theme\n });\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof queryInput === 'function' && theme === null) {\n console.error(['MUI: The `query` argument provided is invalid.', 'You are providing a function without a theme in the context.', 'One of the parent elements needs to use a ThemeProvider.'].join('\\n'));\n }\n }\n\n let query = typeof queryInput === 'function' ? queryInput(theme) : queryInput;\n query = query.replace(/^@media( ?)/m, ''); // TODO: Drop `useMediaQueryOld` and use `use-sync-external-store` shim in `useMediaQueryNew` once the package is stable\n\n const useMediaQueryImplementation = maybeReactUseSyncExternalStore !== undefined ? useMediaQueryNew : useMediaQueryOld;\n const match = useMediaQueryImplementation(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr);\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue({\n query,\n match\n });\n }\n\n return match;\n}","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n"],"names":["withStyles","theme","createStyles","fieldBasic","value","label","tooltip","mode","classes","onBeforeChange","readOnly","editorHeight","item","xs","sx","marginBottom","className","inputLabel","tooltipContainer","title","placement","style","maxHeight","overflow","border","language","onChange","evn","target","id","padding","fontSize","backgroundColor","fontFamily","minHeight","color","background","borderTop","display","alignItems","paddingRight","justifyContent","height","width","marginLeft","text","type","icon","variant","searchField","adornment","placeholder","adornmentPosition","overrideClass","inputProps","disableUnderline","position","InputProps","e","children","errorProps","cloneElement","tabStripStyle","tabsContainer","tabsHeaderContainer","borderRight","flexFlow","borderBottom","marginRight","fontWeight","tabContentContainer","tabPanel","flexDirection","selectedTab","routes","isRouteTabs","useTheme","useLocation","pathname","isSmallScreen","useMediaQuery","breakpoints","down","useState","setValue","headerList","contentList","useEffect","tabConfigElement","find","tabConfig","to","forEach","child","push","content","event","newValue","orientation","scrollButtons","tabList","map","index","tabHeader","disableRipple","disableTouchRipple","focusRipple","STATUS_COLORS","RED","GREEN","YELLOW","getDriveStatusColor","activeDisks","totalDrives","serverStatusColor","health_status","getNetworkStatusColor","activeNetwork","networkTotal","rowGridStyle","gridTemplateColumns","gap","Highlight","search","txtParts","RegExp","replace","escapeRegExp","parts","String","split","part","test","maxWidth","policyStatements","filter","setFilter","Grid","container","Box","sm","SearchBox","paddingTop","stmt","i","effect","Effect","isAllow","fill","Action","act","actIndex","Resource","res","resIndex","DeletePolicy","withSuspense","React","buttonContainer","pageContainer","paperContainer","statement","borderRadius","labelCol","actionsTray","modalBasic","containerForHeader","spacing","dispatch","useAppDispatch","navigate","useNavigate","params","useParams","features","useSelector","selFeatures","policy","setPolicy","setPolicyStatements","userList","setUserList","groupList","setGroupList","addLoading","setAddLoading","policyName","decodeURLString","policyDefinition","setPolicyDefinition","loadingPolicy","setLoadingPolicy","filterUsers","setFilterUsers","loadingUsers","setLoadingUsers","filterGroups","setFilterGroups","loadingGroups","setLoadingGroups","deleteOpen","setDeleteOpen","ldapIsEnabled","includes","displayGroups","hasPermission","CONSOLE_UI_RESOURCE","IAM_SCOPES","viewGroup","displayUsers","viewUser","displayPolicy","editPolicy","api","encodeURLString","then","result","JSON","stringify","parse","pol","Statement","catch","err","setErrorSnackMessage","validSave","trim","userTableActions","onClick","user","IAM_PAGES","disableButtonFunction","filteredUsers","elementItem","groupTableActions","group","filteredGroups","Fragment","selectedPolicy","closeDeleteModalAndRefresh","refresh","PageHeader","BackLink","PageLayout","ScreenTitle","IAMPoliciesIcon","subTitle","actions","SecureComponent","scopes","resource","disabled","TooltipWrapper","TrashIcon","RefreshIcon","VerticalTabs","sectionTitle","Paper","TextField","val","startAdornment","InputAdornment","SearchIcon","TableWrapper","itemActions","columns","elementKey","isLoading","records","entityName","idField","noValidate","autoComplete","onSubmit","preventDefault","name","_","setSnackBarMessage","CodeMirrorWrapper","editor","data","clearButton","LinearProgress","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Context","TabContext","props","idPrefix","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","overridesResolver","styles","root","inProps","useThemeProps","ownerState","composeClasses","useUtilityClasses","tabId","clsx","hidden","role","createSvgIcon","getCheckboxUtilityClass","CheckboxRoot","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","indeterminate","capitalize","vars","palette","secondary","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","main","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","_icon$props$fontSize","_indeterminateIcon$pr","checkedIcon","iconProp","indeterminateIcon","indeterminateIconProp","size","slots","composedClasses","useMediaQueryOld","query","defaultMatches","matchMedia","ssrMatchMedia","noSsr","supportMatchMedia","window","matches","match","setMatch","useEnhancedEffect","queryList","updateMatch","addListener","removeListener","maybeReactUseSyncExternalStore","useMediaQueryNew","getDefaultSnapshot","getServerSnapshot","mediaQueryList","notify","getSnapshot","subscribe","queryInput","options","getThemeProps","useMediaQueryImplementation","undefined","baseGetTag","isArray","isObjectLike","module"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1367.18b69587.chunk.js b/portal-ui/build/static/js/1367.18b69587.chunk.js
new file mode 100644
index 000000000..463281438
--- /dev/null
+++ b/portal-ui/build/static/js/1367.18b69587.chunk.js
@@ -0,0 +1,2 @@
+(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1367,2691],{92217:function(e,n,t){"use strict";var i=t(1413),r=t(72791),o=t(61889),a=t(30829),c=t(20068),s=t(64554),l=t(11135),d=t(25787),u=t(84570),p=t(23814),h=t(38734),f=t(75952),x=t(78029),m=t.n(x),v=t(90932),Z=t(27454),b=t(80184);n.Z=(0,d.Z)((function(e){return(0,l.Z)((0,i.Z)({},p.YI))}))((function(e){var n=e.value,t=e.label,i=void 0===t?"":t,l=e.tooltip,d=void 0===l?"":l,p=e.mode,x=void 0===p?"json":p,j=e.classes,g=e.onBeforeChange,C=(e.readOnly,e.editorHeight),y=void 0===C?"250px":C;return(0,b.jsxs)(r.Fragment,{children:[(0,b.jsx)(o.ZP,{item:!0,xs:12,sx:{marginBottom:"10px"},children:(0,b.jsxs)(a.Z,{className:j.inputLabel,children:[(0,b.jsx)("span",{children:i}),""!==d&&(0,b.jsx)("div",{className:j.tooltipContainer,children:(0,b.jsx)(c.Z,{title:d,placement:"top-start",children:(0,b.jsx)("div",{className:j.tooltip,children:(0,b.jsx)(u.Z,{})})})})]})}),(0,b.jsx)(o.ZP,{item:!0,xs:12,style:{maxHeight:y,overflow:"auto",border:"1px solid #eaeaea"},children:(0,b.jsx)(v.Z,{value:n,language:x,onChange:function(e){g(null,null,e.target.value)},id:"code_wrapper",padding:15,style:{fontSize:12,backgroundColor:"#fefefe",fontFamily:"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace",minHeight:y||"initial",color:"#000000"}})}),(0,b.jsx)(o.ZP,{item:!0,xs:12,sx:{background:"#f7f7f7",border:"1px solid #eaeaea",borderTop:0},children:(0,b.jsx)(s.Z,{sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}}},children:(0,b.jsx)(Z.Z,{tooltip:"Copy to Clipboard",children:(0,b.jsx)(m(),{text:n,children:(0,b.jsx)(f.z,{type:"button",id:"copy-code-mirror",icon:(0,b.jsx)(h.TIy,{}),color:"primary",variant:"regular"})})})})})]})}))},59114:function(e,n,t){"use strict";var i=t(4942),r=t(1413),o=(t(72791),t(63466)),a=t(74900),c=t(27391),s=t(25787),l=t(11135),d=t(23814),u=t(80184);n.Z=(0,s.Z)((function(e){return(0,l.Z)({searchField:(0,r.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,r=e.classes,s=e.onChange,l=e.adornmentPosition,d=void 0===l?"end":l,p=e.overrideClass,h=e.value,f=(0,i.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(o.Z,{position:d,className:r.adornment,children:(0,u.jsx)(a.Z,{})}));return(0,u.jsx)(c.Z,{placeholder:t,className:p||r.searchField,id:"search-resource",label:"",InputProps:f,onChange:function(e){s(e.target.value)},variant:"standard",value:h})}))},27454:function(e,n,t){"use strict";var i=t(1413),r=t(72791),o=t(20068),a=t(80184);n.Z=function(e){var n=e.tooltip,t=e.children,c=e.errorProps,s=void 0===c?null:c;return(0,a.jsx)(o.Z,{title:n,children:(0,a.jsx)("span",{children:s?(0,r.cloneElement)(t,(0,i.Z)({},s)):t})})}},50276:function(e,n,t){"use strict";var i=t(1413),r=t(29439),o=t(72791),a=t(64554),c=t(43896),s=t(83449),l=t(47283),d=t(82851),u=t(25787),p=t(13967),h=t(11135),f=t(95193),x=t(16871),m=t(80184),v={minHeight:60};n.Z=(0,u.Z)((function(e){return(0,h.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 n=e.children,t=e.classes,u=e.selectedTab,h=void 0===u?"0":u,Z=e.routes,b=e.isRouteTabs,j=(0,p.Z)(),g=(0,x.TH)().pathname,C=void 0===g?"":g,y=(0,f.Z)(j.breakpoints.down("md")),E=(0,o.useState)(h),P=(0,r.Z)(E,2),w=P[0],S=P[1],M=[],N=[];if((0,o.useEffect)((function(){if(b){var e=n.find((function(e){return e.tabConfig.to===C}));e&&S(e.tabConfig.value)}}),[b,n,C]),!n)return null;n.forEach((function(e){M.push(e.tabConfig),N.push(e.content)}));return(0,m.jsx)(s.ZP,{value:"".concat(w),children:(0,m.jsxs)(a.Z,{className:t.tabsContainer,children:[(0,m.jsx)(a.Z,{className:t.tabsHeaderContainer,children:(0,m.jsx)(l.Z,{onChange:function(e,n){S(n)},orientation:y?"horizontal":"vertical",variant:y?"scrollable":"standard",scrollButtons:"auto",className:t.tabList,children:M.map((function(e,n){return e?(0,m.jsx)(c.Z,(0,i.Z)((0,i.Z)({className:t.tabHeader,value:"".concat(n),style:v},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(n)):null}))})}),(0,m.jsxs)(a.Z,{className:t.tabContentContainer,children:[b?null:N.map((function(e,n){return(0,m.jsx)(d.Z,{classes:(0,i.Z)({},t.tabPanel),value:"".concat(n),children:e||null},"v-tab-p-".concat(n))})),b?(0,m.jsx)("div",{className:t.tabPanel,children:Z}):null]})]})})}))},879:function(e,n,t){"use strict";t.d(n,{D_:function(){return a},Et:function(){return r},GJ:function(){return o},yh:function(){return i}});var i={RED:"#C83B51",GREEN:"#4CCB92",YELLOW:"#E7A219"},r=function(e,n){return e<=n/2?i.RED:2!==n&&e===n/2+1?i.YELLOW:e===n?i.GREEN:void 0},o=function(e){switch(e){case"offline":return i.RED;case"online":return i.GREEN;default:return i.YELLOW}},a=function(e,n){return e<=n/2?i.RED:e===n/2+1?i.YELLOW:e===n?i.GREEN:void 0}},1191:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return W}});var i=t(29439),r=t(1413),o=t(72791),a=t(60364),c=t(16871),s=t(75952),l=t(11135),d=t(25787),u=t(23814),p=t(10703),h=t(61889),f=t(40986),x=t(92983),m=t(81207),v=t(32291),Z=t(92217),b=t(63466),j=t(27391),g=t(14917),C=t(64244),y=t(28789),E=t(74900),P=t(54599),w=t(74794),S=t(50276),M=t(84669),N=t(56087),R=t(38442),T=t(75578),F=t(64554),k=t(59114),A=t(38734),L=t(879),I=t(80184),z={display:"grid",gridTemplateColumns:"60px 1fr",gap:"15px"},O=function(e){var n=e.search,t=void 0===n?"":n,i=e.children,r=void 0===i?"":i,o=new RegExp("(".concat(function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}(t),")"),"i"),a=String(r).split(o);return t?a.map((function(e,n){return o.test(e)?(0,I.jsx)("mark",{children:e},n):e})):r},B=(0,d.Z)((function(e){return(0,l.Z)({searchField:(0,r.Z)((0,r.Z)({},u.qg.searchField),{},{maxWidth:380})})}))((function(e){var n=e.policyStatements,t=e.classes,r=void 0===t?{}:t,a=(0,o.useState)(""),c=(0,i.Z)(a,2),s=c[0],l=c[1];return(0,I.jsxs)(h.ZP,{container:!0,children:[(0,I.jsx)(h.ZP,{item:!0,xs:12,children:(0,I.jsxs)(F.Z,{sx:{display:"grid",gridTemplateColumns:{sm:"1fr 1fr",xs:"1fr"},alignItems:"center",justifyContent:"space-between",gap:"15px"},children:[(0,I.jsx)(F.Z,{children:"Statements"}),(0,I.jsx)(k.Z,{placeholder:"Search",onChange:l,overrideClass:r.searchField,value:s})]})}),(0,I.jsx)(h.ZP,{item:!0,xs:12,sx:{"& .policy-row":{borderBottom:"1px solid #eaeaea"},"& .policy-row:first-child":{borderTop:"1px solid #eaeaea"},"& .policy-row:last-child":{borderBottom:"0px"},paddingTop:"15px","& mark":{color:"#000000",fontWeight:500}},children:n.map((function(e,n){var t=e.Effect,i="Allow"===t;return(0,I.jsxs)(F.Z,{className:"policy-row",sx:{display:"grid",gridTemplateColumns:"1fr",gap:"15px",fontSize:"14px",padding:"10px 0 10px 0","& .label":{fontWeight:600}},children:[(0,I.jsxs)(F.Z,{sx:z,children:[(0,I.jsx)(F.Z,{className:"label",children:"Effect:"}),(0,I.jsxs)(F.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{marginRight:"5px",fill:i?L.yh.GREEN:L.yh.RED,height:"14px",width:"14px"}},children:[i?(0,I.jsx)(A.E31,{}):(0,I.jsx)(A.dRf,{}),t]})]}),(0,I.jsxs)(F.Z,{sx:{display:"grid",gridTemplateColumns:{sm:"1fr 1fr",xs:"1fr"},gap:"15px"},children:[(0,I.jsxs)(F.Z,{sx:z,children:[(0,I.jsx)(F.Z,{className:"label",children:"Actions:"}),(0,I.jsx)(F.Z,{children:e.Action&&e.Action.map((function(e,t){return(0,I.jsx)("div",{children:(0,I.jsx)(O,{search:s,children:e})},"".concat(n,"-r-").concat(t))}))})]}),(0,I.jsxs)(F.Z,{sx:z,children:[(0,I.jsx)(F.Z,{className:"label",children:"Resources:"}),(0,I.jsx)(F.Z,{children:e.Resource&&e.Resource.map((function(e,t){return(0,I.jsxs)("div",{children:[" ",(0,I.jsx)(O,{search:s,children:e})]},"".concat(n,"-r-").concat(t))}))})]})]})]},"".concat(n))}))})]})})),D=t(45248),H=t(87995),G=t(46078),U=t(25469),_=t(27454),V=(0,T.Z)(o.lazy((function(){return t.e(312).then(t.bind(t,312))}))),W=(0,d.Z)((function(e){return(0,l.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({buttonContainer:{display:"flex",justifyContent:"flex-end",paddingTop:16,"& button":{marginLeft:8}},pageContainer:{border:"1px solid #EAEAEA",height:"100%"},paperContainer:{padding:"15px 15px 15px 50px",minHeight:"450px"},statement:{border:"1px solid #DADADA",padding:8,marginBottom:8,borderRadius:4},labelCol:{fontWeight:"bold"}},u.OR),u.qg),u.oO),(0,u.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=(0,U.TL)(),r=(0,c.s0)(),l=(0,c.UO)(),d=(0,a.v9)(G.$4),u=(0,o.useState)(null),T=(0,i.Z)(u,2),F=T[0],k=T[1],A=(0,o.useState)([]),L=(0,i.Z)(A,2),z=L[0],O=L[1],W=(0,o.useState)([]),Y=(0,i.Z)(W,2),K=Y[0],q=Y[1],J=(0,o.useState)([]),Q=(0,i.Z)(J,2),$=Q[0],X=Q[1],ee=(0,o.useState)(!1),ne=(0,i.Z)(ee,2),te=ne[0],ie=ne[1],re=(0,D.IO)(l.policyName||""),oe=(0,o.useState)(""),ae=(0,i.Z)(oe,2),ce=ae[0],se=ae[1],le=(0,o.useState)(!0),de=(0,i.Z)(le,2),ue=de[0],pe=de[1],he=(0,o.useState)(""),fe=(0,i.Z)(he,2),xe=fe[0],me=fe[1],ve=(0,o.useState)(!0),Ze=(0,i.Z)(ve,2),be=Ze[0],je=Ze[1],ge=(0,o.useState)(""),Ce=(0,i.Z)(ge,2),ye=Ce[0],Ee=Ce[1],Pe=(0,o.useState)(!0),we=(0,i.Z)(Pe,2),Se=we[0],Me=we[1],Ne=(0,o.useState)(!1),Re=(0,i.Z)(Ne,2),Te=Re[0],Fe=Re[1],ke=d&&d.includes("ldap-idp")||!1,Ae=(0,R.F)(N.C3,N.K6,!0),Le=(0,R.F)(N.C3,N.k_,!0),Ie=(0,R.F)(N.C3,N.Rs,!0),ze=(0,R.F)(N.C3,N.iw,!0),Oe=(0,R.F)(N.C3,N.GD,!0),Be=(0,R.F)(N.C3,N.bE,!0),De=(0,R.F)(N.C3,N.XM,!0);(0,o.useEffect)((function(){ue&&(ue&&(Oe?m.Z.invoke("GET","/api/v1/policy/".concat((0,D.LL)(re))).then((function(e){if(e){k(e),se(e?JSON.stringify(JSON.parse(e.policy),null,4):"");var n=JSON.parse(e.policy);O(n.Statement)}pe(!1)})).catch((function(e){t((0,H.Ih)(e)),pe(!1)})):pe(!1)),be&&(Ie&&!ke?m.Z.invoke("GET","/api/v1/policies/".concat((0,D.LL)(re),"/users")).then((function(e){q(e),je(!1)})).catch((function(e){t((0,H.Ih)(e)),je(!1)})):je(!1)),Se&&(Ae&&!ke?m.Z.invoke("GET","/api/v1/policies/".concat((0,D.LL)(re),"/groups")).then((function(e){X(e),Me(!1)})).catch((function(e){t((0,H.Ih)(e)),Me(!1)})):Me(!1)))}),[re,ue,be,Se,q,X,se,k,je,Me,Ie,Ae,Oe,ke,t]);var He=""!==re.trim(),Ge=[{type:"view",onClick:function(e){r("".concat(N.gA.USERS,"/").concat((0,D.LL)(e)))},disableButtonFunction:function(){return!ze}}],Ue=K.filter((function(e){return e.includes(xe)})),_e=[{type:"view",onClick:function(e){r("".concat(N.gA.GROUPS,"/").concat((0,D.LL)(e)))},disableButtonFunction:function(){return!Le}}],Ve=$.filter((function(e){return e.includes(ye)})),We=function(){je(!0),Me(!0),pe(!0)};return(0,I.jsxs)(o.Fragment,{children:[Te&&(0,I.jsx)(V,{deleteOpen:Te,selectedPolicy:re,closeDeleteModalAndRefresh:function(e){Fe(!1),r(N.gA.POLICIES)}}),(0,I.jsx)(v.Z,{label:(0,I.jsx)(o.Fragment,{children:(0,I.jsx)(M.Z,{to:N.gA.POLICIES,label:"Policy"})})}),(0,I.jsxs)(w.Z,{className:n.pageContainer,children:[(0,I.jsx)(h.ZP,{item:!0,xs:12,children:(0,I.jsx)(g.Z,{icon:(0,I.jsx)(o.Fragment,{children:(0,I.jsx)(C.Z,{width:40})}),title:re,subTitle:(0,I.jsx)(o.Fragment,{children:"IAM Policy"}),actions:(0,I.jsxs)(o.Fragment,{children:[(0,I.jsx)(R.s,{scopes:[N.Ft.ADMIN_DELETE_POLICY],resource:N.C3,errorProps:{disabled:!0},children:(0,I.jsx)(_.Z,{tooltip:Be?"":(0,N.MK)(N.bE,"delete Policies"),children:(0,I.jsx)(s.z,{id:"delete-policy",label:"Delete Policy",variant:"secondary",icon:(0,I.jsx)(P.Z,{}),onClick:function(){Fe(!0)},disabled:!Be})})}),(0,I.jsx)(_.Z,{tooltip:"Refresh",children:(0,I.jsx)(s.z,{id:"refresh-policy",label:"Refresh",variant:"regular",icon:(0,I.jsx)(y.default,{}),onClick:function(){We()}})})]})})}),(0,I.jsxs)(S.Z,{children:[{tabConfig:{label:"Summary",disabled:!Oe},content:(0,I.jsxs)(o.Fragment,{children:[(0,I.jsx)("div",{className:n.sectionTitle,children:"Policy Summary"}),(0,I.jsx)(p.Z,{className:n.paperContainer,children:(0,I.jsx)(B,{policyStatements:z})})]})},{tabConfig:{label:"Users",disabled:!Ie||ke},content:(0,I.jsxs)(o.Fragment,{children:[(0,I.jsx)("div",{className:n.sectionTitle,children:"Users"}),(0,I.jsxs)(h.ZP,{container:!0,children:[K.length>0&&(0,I.jsx)(h.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,I.jsx)(j.Z,{placeholder:"Search Users",className:n.searchField,id:"search-resource",label:"",onChange:function(e){me(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,I.jsx)(b.Z,{position:"start",children:(0,I.jsx)(E.Z,{})})},variant:"standard"})}),(0,I.jsx)(x.Z,{itemActions:Ge,columns:[{label:"Name",elementKey:"name"}],isLoading:be,records:Ue,entityName:"Users with this Policy associated",idField:"name"})]})]})},{tabConfig:{label:"Groups",disabled:!Ae||ke},content:(0,I.jsxs)(o.Fragment,{children:[(0,I.jsx)("div",{className:n.sectionTitle,children:"Groups"}),(0,I.jsxs)(h.ZP,{container:!0,children:[$.length>0&&(0,I.jsx)(h.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,I.jsx)(j.Z,{placeholder:"Search Groups",className:n.searchField,id:"search-resource",label:"",onChange:function(e){Ee(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,I.jsx)(b.Z,{position:"start",children:(0,I.jsx)(E.Z,{})})},variant:"standard"})}),(0,I.jsx)(x.Z,{itemActions:_e,columns:[{label:"Name",elementKey:"name"}],isLoading:Se,records:Ve,entityName:"Groups with this Policy associated",idField:"name"})]})]})},{tabConfig:{label:"Raw Policy",disabled:!Oe},content:(0,I.jsxs)(o.Fragment,{children:[(0,I.jsx)("div",{className:n.sectionTitle,children:"Raw Policy"}),(0,I.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),te||(ie(!0),De?m.Z.invoke("POST","/api/v1/policies",{name:re,policy:ce}).then((function(e){ie(!1),t((0,H.y1)("Policy successfully updated")),We()})).catch((function(e){ie(!1),t((0,H.Ih)(e))})):ie(!1))},children:(0,I.jsxs)(h.ZP,{container:!0,children:[(0,I.jsx)(h.ZP,{item:!0,xs:12,children:(0,I.jsx)(Z.Z,{readOnly:!De,value:ce,onBeforeChange:function(e,n,t){se(t)},editorHeight:"350px"})}),(0,I.jsxs)(h.ZP,{item:!0,xs:12,className:n.buttonContainer,children:[!F&&(0,I.jsx)("button",{type:"button",color:"primary",className:n.clearButton,onClick:function(){se("{}")},children:"Clear"}),(0,I.jsx)(R.s,{scopes:[N.Ft.ADMIN_CREATE_POLICY],resource:N.C3,errorProps:{disabled:!0},children:(0,I.jsx)(_.Z,{tooltip:De?"":(0,N.MK)(N.XM,"edit a Policy"),children:(0,I.jsx)(s.z,{id:"save",type:"submit",variant:"callAction",color:"primary",disabled:te||!He||!De,label:"Save"})})})]}),te&&(0,I.jsx)(h.ZP,{item:!0,xs:12,children:(0,I.jsx)(f.Z,{})})]})})]})}]})]})]})}))},26759:function(e,n,t){"use strict";var i=t(64836);n.Z=void 0;var r=i(t(45649)),o=t(80184),a=(0,r.default)((0,o.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");n.Z=a},70366:function(e,n,t){"use strict";var i=t(64836);n.Z=void 0;var r=i(t(45649)),o=t(80184),a=(0,r.default)((0,o.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");n.Z=a},97911:function(e,n,t){"use strict";var i=t(64836);n.Z=void 0;var r=i(t(45649)),o=t(80184),a=(0,r.default)((0,o.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");n.Z=a},83449:function(e,n,t){"use strict";t.d(n,{ZP:function(){return c},_i:function(){return s},pQ:function(){return d},uU:function(){return l}});var i=t(29439),r=t(72791),o=t(80184),a=r.createContext(null);function c(e){var n=e.children,t=e.value,c=function(){var e=r.useState(null),n=(0,i.Z)(e,2),t=n[0],o=n[1];return r.useEffect((function(){o("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),t}(),s=r.useMemo((function(){return{idPrefix:c,value:t}}),[c,t]);return(0,o.jsx)(a.Provider,{value:s,children:n})}function s(){return r.useContext(a)}function l(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(n)}function d(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(n)}},47283:function(e,n,t){"use strict";var i=t(87462),r=t(63366),o=t(72791),a=t(18073),c=t(83449),s=t(80184),l=["children"],d=o.forwardRef((function(e,n){var t=e.children,d=(0,r.Z)(e,l),u=(0,c._i)();if(null===u)throw new TypeError("No TabContext provided");var p=o.Children.map(t,(function(e){return o.isValidElement(e)?o.cloneElement(e,{"aria-controls":(0,c.uU)(u,e.props.value),id:(0,c.pQ)(u,e.props.value)}):null}));return(0,s.jsx)(a.Z,(0,i.Z)({},d,{ref:n,value:u.value,children:p}))}));n.Z=d},82851:function(e,n,t){"use strict";t.d(n,{Z:function(){return m}});var i=t(87462),r=t(63366),o=t(72791),a=t(28182),c=t(66934),s=t(31402),l=t(94419),d=t(21217);function u(e){return(0,d.Z)("MuiTabPanel",e)}(0,t(75878).Z)("MuiTabPanel",["root"]);var p=t(83449),h=t(80184),f=["children","className","value"],x=(0,c.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,n){return n.root}})((function(e){return{padding:e.theme.spacing(3)}})),m=o.forwardRef((function(e,n){var t=(0,s.Z)({props:e,name:"MuiTabPanel"}),o=t.children,c=t.className,d=t.value,m=(0,r.Z)(t,f),v=(0,i.Z)({},t),Z=function(e){var n=e.classes;return(0,l.Z)({root:["root"]},u,n)}(v),b=(0,p._i)();if(null===b)throw new TypeError("No TabContext provided");var j=(0,p.uU)(b,d),g=(0,p.pQ)(b,d);return(0,h.jsx)(x,(0,i.Z)({"aria-labelledby":g,className:(0,a.Z)(Z.root,c),hidden:d!==b.value,id:j,ref:n,role:"tabpanel",ownerState:v},m,{children:d===b.value&&o}))}))},94454:function(e,n,t){"use strict";t.d(n,{Z:function(){return w}});var i=t(4942),r=t(63366),o=t(87462),a=t(72791),c=t(94419),s=t(12065),l=t(97278),d=t(76189),u=t(80184),p=(0,d.Z)((0,u.jsx)("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),h=(0,d.Z)((0,u.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),f=(0,d.Z)((0,u.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox"),x=t(14036),m=t(31402),v=t(66934),Z=t(21217);function b(e){return(0,Z.Z)("MuiCheckbox",e)}var j=(0,t(75878).Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),g=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size"],C=(0,v.ZP)(l.Z,{shouldForwardProp:function(e){return(0,v.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,t.indeterminate&&n.indeterminate,"default"!==t.color&&n["color".concat((0,x.Z)(t.color))]]}})((function(e){var n,t=e.theme,r=e.ownerState;return(0,o.Z)({color:(t.vars||t).palette.text.secondary},!r.disableRipple&&{"&:hover":{backgroundColor:t.vars?"rgba(".concat("default"===r.color?t.vars.palette.action.activeChannel:t.vars.palette.primary.mainChannel," / ").concat(t.vars.palette.action.hoverOpacity,")"):(0,s.Fq)("default"===r.color?t.palette.action.active:t.palette[r.color].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==r.color&&(n={},(0,i.Z)(n,"&.".concat(j.checked,", &.").concat(j.indeterminate),{color:(t.vars||t).palette[r.color].main}),(0,i.Z)(n,"&.".concat(j.disabled),{color:(t.vars||t).palette.action.disabled}),n))})),y=(0,u.jsx)(h,{}),E=(0,u.jsx)(p,{}),P=(0,u.jsx)(f,{}),w=a.forwardRef((function(e,n){var t,i,s=(0,m.Z)({props:e,name:"MuiCheckbox"}),l=s.checkedIcon,d=void 0===l?y:l,p=s.color,h=void 0===p?"primary":p,f=s.icon,v=void 0===f?E:f,Z=s.indeterminate,j=void 0!==Z&&Z,w=s.indeterminateIcon,S=void 0===w?P:w,M=s.inputProps,N=s.size,R=void 0===N?"medium":N,T=(0,r.Z)(s,g),F=j?S:v,k=j?S:d,A=(0,o.Z)({},s,{color:h,indeterminate:j,size:R}),L=function(e){var n=e.classes,t=e.indeterminate,i=e.color,r={root:["root",t&&"indeterminate","color".concat((0,x.Z)(i))]},a=(0,c.Z)(r,b,n);return(0,o.Z)({},n,a)}(A);return(0,u.jsx)(C,(0,o.Z)({type:"checkbox",inputProps:(0,o.Z)({"data-indeterminate":j},M),icon:a.cloneElement(F,{fontSize:null!=(t=F.props.fontSize)?t:R}),checkedIcon:a.cloneElement(k,{fontSize:null!=(i=k.props.fontSize)?i:R}),ownerState:A,ref:n},T,{classes:L}))}))},95193:function(e,n,t){"use strict";var i;t.d(n,{Z:function(){return p}});var r=t(29439),o=t(72791),a=t(69120),c=t(33073),s=t(40162);function l(e,n,t,i,a){var c="undefined"!==typeof window&&"undefined"!==typeof window.matchMedia,l=o.useState((function(){return a&&c?t(e).matches:i?i(e).matches:n})),d=(0,r.Z)(l,2),u=d[0],p=d[1];return(0,s.Z)((function(){var n=!0;if(c){var i=t(e),r=function(){n&&p(i.matches)};return r(),i.addListener(r),function(){n=!1,i.removeListener(r)}}}),[e,t,c]),u}var d=(i||(i=t.t(o,2))).useSyncExternalStore;function u(e,n,t,i){var a=o.useCallback((function(){return n}),[n]),c=o.useMemo((function(){if(null!==i){var n=i(e).matches;return function(){return n}}return a}),[a,e,i]),s=o.useMemo((function(){if(null===t)return[a,function(){return function(){}}];var n=t(e);return[function(){return n.matches},function(e){return n.addListener(e),function(){n.removeListener(e)}}]}),[a,t,e]),l=(0,r.Z)(s,2),u=l[0],p=l[1];return d(p,u,c)}function p(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=(0,a.Z)(),i="undefined"!==typeof window&&"undefined"!==typeof window.matchMedia,r=(0,c.Z)({name:"MuiUseMediaQuery",props:n,theme:t}),o=r.defaultMatches,s=void 0!==o&&o,p=r.matchMedia,h=void 0===p?i?window.matchMedia:null:p,f=r.ssrMatchMedia,x=void 0===f?null:f,m=r.noSsr;var v="function"===typeof e?e(t):e;v=v.replace(/^@media( ?)/m,"");var Z=void 0!==d?u:l,b=Z(v,s,h,x,m);return b}},26769:function(e,n,t){var i=t(39066),r=t(93629),o=t(43141);e.exports=function(e){return"string"==typeof e||!r(e)&&o(e)&&"[object String]"==i(e)}}}]);
+//# sourceMappingURL=1367.18b69587.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1367.18b69587.chunk.js.map b/portal-ui/build/static/js/1367.18b69587.chunk.js.map
new file mode 100644
index 000000000..95dff27e0
--- /dev/null
+++ b/portal-ui/build/static/js/1367.18b69587.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/1367.18b69587.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Common/TooltipWrapper/TooltipWrapper.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","screens/Console/Dashboard/BasicDashboard/Utils.tsx","screens/Console/Policies/PolicyView.tsx","screens/Console/Policies/PolicyDetails.tsx","../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/ViewColumn.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/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/@mui/material/useMediaQuery/useMediaQuery.js","../node_modules/lodash/isString.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 from \"@mui/material/Grid\";\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 } from \"../../../../../icons\";\nimport { Button } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport CodeEditor from \"@uiw/react-textarea-code-editor\";\nimport TooltipWrapper from \"../../TooltipWrapper/TooltipWrapper\";\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 });\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 return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n \n
\n )}\n \n \n\n \n {\n onBeforeChange(null, null, evn.target.value);\n }}\n id={\"code_wrapper\"}\n padding={15}\n style={{\n fontSize: 12,\n backgroundColor: \"#fefefe\",\n fontFamily:\n \"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace\",\n minHeight: editorHeight || \"initial\",\n color: \"#000000\",\n }}\n />\n \n \n \n \n \n }\n color={\"primary\"}\n variant={\"regular\"}\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) 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, { cloneElement } from \"react\";\nimport { Tooltip } from \"@mui/material\";\n\ninterface ITooltipWrapperProps {\n tooltip: string;\n children: any;\n errorProps?: any;\n}\n\nconst TooltipWrapper = ({\n tooltip,\n children,\n errorProps = null,\n}: ITooltipWrapperProps) => {\n return (\n \n \n {errorProps ? cloneElement(children, { ...errorProps }) : children}\n \n \n );\n};\n\nexport default TooltipWrapper;\n","import React, { useState, useEffect } 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\";\nimport { useLocation } from \"react-router-dom\";\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 theme = useTheme();\n const { pathname = \"\" } = useLocation();\n\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const [value, setValue] = useState(selectedTab);\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n useEffect(() => {\n if (isRouteTabs) {\n const tabConfigElement = children.find(\n (item) => item.tabConfig.to === pathname\n );\n\n if (tabConfigElement) {\n setValue(tabConfigElement.tabConfig.value);\n }\n }\n }, [isRouteTabs, children, pathname]);\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\n });\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\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","// 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\nexport const STATUS_COLORS = {\n RED: \"#C83B51\",\n GREEN: \"#4CCB92\",\n YELLOW: \"#E7A219\",\n};\n\nexport const getDriveStatusColor = (\n activeDisks: number,\n totalDrives: number\n) => {\n if (activeDisks <= totalDrives / 2) {\n return STATUS_COLORS.RED;\n }\n if (totalDrives !== 2 && activeDisks === totalDrives / 2 + 1) {\n return STATUS_COLORS.YELLOW;\n }\n if (activeDisks === totalDrives) {\n return STATUS_COLORS.GREEN;\n }\n};\n\nexport const serverStatusColor = (health_status: string) => {\n switch (health_status) {\n case \"offline\":\n return STATUS_COLORS.RED;\n case \"online\":\n return STATUS_COLORS.GREEN;\n default:\n return STATUS_COLORS.YELLOW;\n }\n};\nexport const getNetworkStatusColor = (\n activeNetwork: number,\n networkTotal: number\n) => {\n if (activeNetwork <= networkTotal / 2) {\n return STATUS_COLORS.RED;\n }\n if (activeNetwork === networkTotal / 2 + 1) {\n return STATUS_COLORS.YELLOW;\n }\n if (activeNetwork === networkTotal) {\n return STATUS_COLORS.GREEN;\n }\n};\n","// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { IAMStatement } from \"./types\";\nimport { Box } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport SearchBox from \"../Common/SearchBox\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"../Common/FormComponents/common/styleLibrary\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { DisabledIcon, EnabledIcon } from \"../../../icons\";\nimport { STATUS_COLORS } from \"../Dashboard/BasicDashboard/Utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n });\n\nconst rowGridStyle = {\n display: \"grid\",\n gridTemplateColumns: \"60px 1fr\",\n gap: \"15px\",\n};\n\nconst escapeRegExp = (str = \"\") =>\n str.replace(/([.?*+^$[\\]\\\\(){}|-])/g, \"\\\\$1\");\n\nconst Highlight = ({ search = \"\", children = \"\" }): any => {\n const txtParts = new RegExp(`(${escapeRegExp(search)})`, \"i\");\n const parts = String(children).split(txtParts);\n\n if (search) {\n return parts.map((part, index) =>\n txtParts.test(part) ? {part} : part\n );\n } else {\n return children;\n }\n};\n\nconst PolicyView = ({\n policyStatements,\n classes = {},\n}: {\n policyStatements: IAMStatement[];\n classes?: any;\n}) => {\n const [filter, setFilter] = useState(\"\");\n\n return (\n \n \n \n Statements\n \n \n \n \n {policyStatements.map((stmt, i) => {\n const effect = stmt.Effect;\n const isAllow = effect === \"Allow\";\n return (\n \n \n Effect:\n \n {isAllow ? : }\n {effect}\n \n \n\n \n \n Actions:\n \n {stmt.Action &&\n stmt.Action.map((act, actIndex) => (\n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n border: 0,\n backgroundColor: \"transparent\",\n textDecoration: \"underline\",\n cursor: \"pointer\",\n fontSize: \"inherit\",\n color: theme.palette.info.main,\n fontFamily: \"Lato, sans-serif\",\n },\n });\n\ninterface IAButton extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst AButton = ({ classes, children, ...rest }: IAButton) => {\n return (\n \n );\n};\n\nexport default withStyles(styles)(AButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense
(\n WrappedComponent: ComponentType
,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { cloneElement } from \"react\";\nimport { Tooltip } from \"@mui/material\";\n\ninterface ITooltipWrapperProps {\n tooltip: string;\n children: any;\n errorProps?: any;\n}\n\nconst TooltipWrapper = ({\n tooltip,\n children,\n errorProps = null,\n}: ITooltipWrapperProps) => {\n return (\n \n \n {errorProps ? cloneElement(children, { ...errorProps }) : children}\n \n \n );\n};\n\nexport default TooltipWrapper;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Theme } from \"@mui/material/styles\";\nimport { useNavigate } from \"react-router-dom\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, LinearProgress } from \"@mui/material\";\nimport {\n AddIcon,\n DeleteIcon,\n GroupsIcon,\n IAMPoliciesIcon,\n UsersIcon,\n} from \"../../../icons\";\n\nimport { GroupsList } from \"./types\";\nimport { stringSort } from \"../../../utils/sortFunctions\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport AButton from \"../Common/AButton/AButton\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport SearchBox from \"../Common/SearchBox\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../common/SecureComponent\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\n\nimport { encodeURLString } from \"../../../common/utils\";\n\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\n\nconst DeleteGroup = withSuspense(React.lazy(() => import(\"./DeleteGroup\")));\nconst SetPolicy = withSuspense(\n React.lazy(() => import(\"../Policies/SetPolicy\"))\n);\n\ninterface IGroupsProps {\n classes: any;\n openGroupModal: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n tableBlock: {\n ...tableStyles.tableBlock,\n marginTop: 15,\n },\n ...actionsTray,\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst Groups = ({ classes }: IGroupsProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [loading, isLoading] = useState(false);\n const [records, setRecords] = useState([]);\n const [filter, setFilter] = useState(\"\");\n const [policyOpen, setPolicyOpen] = useState(false);\n const [checkedGroups, setCheckedGroups] = useState([]);\n\n useEffect(() => {\n isLoading(true);\n }, []);\n\n useEffect(() => {\n isLoading(true);\n }, []);\n\n const displayGroups = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_LIST_GROUPS,\n ]);\n\n const deleteGroup = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_REMOVE_USER_FROM_GROUP,\n ]);\n\n const getGroup = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_GET_GROUP,\n ]);\n\n const selectionChanged = (e: React.ChangeEvent) => {\n const { target: { value = \"\", checked = false } = {} } = e;\n\n let elements: string[] = [...checkedGroups]; // We clone the checkedUsers array\n\n if (checked) {\n // If the user has checked this field we need to push this to checkedUsersList\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\n setCheckedGroups(elements);\n\n return elements;\n };\n\n useEffect(() => {\n if (loading) {\n if (displayGroups) {\n const fetchRecords = () => {\n api\n .invoke(\"GET\", `/api/v1/groups`)\n .then((res: GroupsList) => {\n let resGroups: string[] = [];\n if (res.groups !== null) {\n resGroups = res.groups.sort(stringSort);\n }\n setRecords(resGroups);\n isLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n isLoading(false);\n });\n };\n fetchRecords();\n } else {\n isLoading(false);\n }\n }\n }, [loading, dispatch, displayGroups]);\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n setCheckedGroups([]);\n if (refresh) {\n isLoading(true);\n }\n };\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.includes(filter)\n );\n\n const viewAction = (group: any) => {\n navigate(`${IAM_PAGES.GROUPS}/${encodeURLString(group)}`);\n };\n\n const tableActions = [\n {\n type: \"view\",\n onClick: viewAction,\n disableButtonFunction: () => !getGroup,\n },\n {\n type: \"edit\",\n onClick: viewAction,\n disableButtonFunction: () => !getGroup,\n },\n ];\n\n return (\n \n {deleteOpen && (\n \n )}\n {policyOpen && (\n {\n setPolicyOpen(false);\n }}\n />\n )}\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n }\n onClick={() => {\n navigate(`${IAM_PAGES.GROUPS_ADD}`);\n }}\n />\n \n \n \n \n {loading && }\n {!loading && (\n \n {records.length > 0 && (\n \n \n \n \n \n \n \n }\n help={\n \n A group can have one attached IAM policy, where all\n users with membership in that group inherit that policy.\n Groups support more simplified management of user\n permissions on the MinIO Tenant.\n \n \n You can learn more at our{\" \"}\n \n documentation\n \n .\n \n }\n />\n \n \n )}\n {records.length === 0 && (\n \n \n }\n help={\n \n A group can have one attached IAM policy, where all\n users with membership in that group inherit that policy.\n Groups support more simplified management of user\n permissions on the MinIO Tenant.\n \n \n \n To get started,{\" \"}\n {\n navigate(`${IAM_PAGES.GROUPS_ADD}`);\n }}\n >\n Create a Group\n \n .\n \n \n }\n />\n \n \n )}\n \n )}\n \n \n );\n};\n\nexport default withStyles(styles)(Groups);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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\ninterface policyDetailsInterface {\n policy: 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\nexport const policyDetailsSort = (\n a: policyDetailsInterface,\n b: policyDetailsInterface\n) => {\n if (a.policy > b.policy) {\n return 1;\n }\n if (a.policy < b.policy) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 10 5 5 5-5z\"\n}), 'ArrowDropDown');\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: \"m7 14 5-5 5 5z\"\n}), 'ArrowDropUp');\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: \"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z\"\n}), 'ViewColumn');\n\nexports.default = _default;","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'CheckBoxOutlineBlank');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckBox');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"\n}), 'IndeterminateCheckBox');","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getCheckboxUtilityClass(slot) {\n return generateUtilityClass('MuiCheckbox', slot);\n}\nconst checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary']);\nexport default checkboxClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checkedIcon\", \"color\", \"icon\", \"indeterminate\", \"indeterminateIcon\", \"inputProps\", \"size\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport SwitchBase from '../internal/SwitchBase';\nimport CheckBoxOutlineBlankIcon from '../internal/svg-icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '../internal/svg-icons/CheckBox';\nimport IndeterminateCheckBoxIcon from '../internal/svg-icons/IndeterminateCheckBox';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport checkboxClasses, { getCheckboxUtilityClass } from './checkboxClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n indeterminate,\n color\n } = ownerState;\n const slots = {\n root: ['root', indeterminate && 'indeterminate', `color${capitalize(color)}`]\n };\n const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst CheckboxRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiCheckbox',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.indeterminate && styles.indeterminate, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${ownerState.color === 'default' ? theme.vars.palette.action.activeChannel : theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(ownerState.color === 'default' ? theme.palette.action.active : theme.palette[ownerState.color].main, 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 [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${checkboxClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n}));\n\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\n\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\n\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\n\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n var _icon$props$fontSize, _indeterminateIcon$pr;\n\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCheckbox'\n });\n\n const {\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon: iconProp = defaultIcon,\n indeterminate = false,\n indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,\n inputProps,\n size = 'medium'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n\n const ownerState = _extends({}, props, {\n color,\n indeterminate,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CheckboxRoot, _extends({\n type: \"checkbox\",\n inputProps: _extends({\n 'data-indeterminate': indeterminate\n }, inputProps),\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: (_icon$props$fontSize = icon.props.fontSize) != null ? _icon$props$fontSize : size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(indeterminateIcon, {\n fontSize: (_indeterminateIcon$pr = indeterminateIcon.props.fontSize) != null ? _indeterminateIcon$pr : size\n }),\n ownerState: ownerState,\n ref: ref\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.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 * @default \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 * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).\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 * The icon to display when the component is unchecked.\n * @default \n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the component appears indeterminate.\n * This does not set the native input element to indeterminate due\n * to inconsistent behavior across browsers.\n * However, we set a `data-indeterminate` attribute on the `input`.\n * @default false\n */\n indeterminate: PropTypes.bool,\n\n /**\n * The icon to display when the component is indeterminate.\n * @default \n */\n indeterminateIcon: PropTypes.node,\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 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 checkbox 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 Checkbox;","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","padding","margin","textDecoration","cursor","color","palette","info","main","fontFamily","children","rest","WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","searchField","adornment","placeholder","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","id","label","InputProps","e","target","variant","tooltip","errorProps","cloneElement","DeleteGroup","withSuspense","React","SetPolicy","tableBlock","tableStyles","marginTop","actionsTray","maxWidth","containerForHeader","spacing","dispatch","useAppDispatch","navigate","useNavigate","useState","deleteOpen","setDeleteOpen","loading","isLoading","records","setRecords","filter","setFilter","policyOpen","setPolicyOpen","checkedGroups","setCheckedGroups","useEffect","displayGroups","hasPermission","CONSOLE_UI_RESOURCE","IAM_SCOPES","deleteGroup","getGroup","api","then","res","resGroups","groups","sort","stringSort","catch","err","setErrorSnackMessage","filteredRecords","elementItem","includes","viewAction","group","IAM_PAGES","encodeURLString","tableActions","type","onClick","disableButtonFunction","Fragment","selectedGroups","closeDeleteModalAndRefresh","refresh","open","selectedUser","closeModalAndRefresh","resource","scopes","disabled","sx","matchAll","icon","length","itemActions","columns","elementKey","selectedItems","onSelect","checked","elements","push","element","undefined","entityName","idField","href","rel","justifyContent","alignContent","usersSort","a","b","accessKey","policySort","name","policyDetailsSort","policy","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","createSvgIcon","_jsx","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","styles","ownerState","indeterminate","capitalize","_extends","vars","text","secondary","disableRipple","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","checkedIcon","iconProp","indeterminateIcon","indeterminateIconProp","size","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","baseGetTag","isArray","isObjectLike","module"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/2555.4b5c108a.chunk.js b/portal-ui/build/static/js/2555.4b5c108a.chunk.js
new file mode 100644
index 000000000..519b80dd3
--- /dev/null
+++ b/portal-ui/build/static/js/2555.4b5c108a.chunk.js
@@ -0,0 +1,2 @@
+(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2555],{23804:function(e,n,t){"use strict";t(72791);var r=t(11135),o=t(25787),i=t(61889),c=t(80184);n.Z=(0,o.Z)((function(e){return(0,r.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,r=e.title,o=e.help;return(0,c.jsx)("div",{className:n.root,children:(0,c.jsxs)(i.ZP,{container:!0,children:[(0,c.jsxs)(i.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,r]}),(0,c.jsx)(i.ZP,{item:!0,xs:12,className:n.helpText,children:o})]})})}))},81806:function(e,n,t){"use strict";var r=t(1413),o=t(45987),i=(t(72791),t(11135)),c=t(25787),s=t(80184),a=["classes","children"];n.Z=(0,c.Z)((function(e){return(0,i.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,i=(0,o.Z)(e,a);return(0,s.jsx)("button",(0,r.Z)((0,r.Z)({},i),{},{className:n.root,children:t}))}))},75578:function(e,n,t){"use strict";var r=t(1413),o=t(72791),i=t(80184);n.Z=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function t(t){return(0,i.jsx)(o.Suspense,{fallback:n,children:(0,i.jsx)(e,(0,r.Z)({},t))})}return t}},59114:function(e,n,t){"use strict";var r=t(4942),o=t(1413),i=(t(72791),t(63466)),c=t(74900),s=t(27391),a=t(25787),l=t(11135),u=t(23814),d=t(80184);n.Z=(0,a.Z)((function(e){return(0,l.Z)({searchField:(0,o.Z)({},u.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,o=e.classes,a=e.onChange,l=e.adornmentPosition,u=void 0===l?"end":l,p=e.overrideClass,h=e.value,m=(0,r.Z)({disableUnderline:!0},"".concat(u,"Adornment"),(0,d.jsx)(i.Z,{position:u,className:o.adornment,children:(0,d.jsx)(c.Z,{})}));return(0,d.jsx)(s.Z,{placeholder:t,className:p||o.searchField,id:"search-resource",label:"",InputProps:m,onChange:function(e){a(e.target.value)},variant:"standard",value:h})}))},27454:function(e,n,t){"use strict";var r=t(1413),o=t(72791),i=t(20068),c=t(80184);n.Z=function(e){var n=e.tooltip,t=e.children,s=e.errorProps,a=void 0===s?null:s;return(0,c.jsx)(i.Z,{title:n,children:(0,c.jsx)("span",{children:a?(0,o.cloneElement)(t,(0,r.Z)({},a)):t})})}},60191:function(e,n,t){"use strict";t.r(n);var r=t(93433),o=t(29439),i=t(1413),c=t(72791),s=t(16871),a=t(75952),l=t(11135),u=t(25787),d=t(61889),p=t(64554),h=t(40986),m=t(38734),f=t(21639),v=t(23814),x=t(81207),Z=t(92983),g=t(32291),j=t(23804),b=t(81806),C=t(74794),y=t(59114),k=t(56087),P=t(38442),S=t(75578),z=t(45248),F=t(87995),A=t(25469),w=t(27454),G=t(80184),I=(0,S.Z)(c.lazy((function(){return t.e(8896).then(t.bind(t,88896))}))),M=(0,S.Z)(c.lazy((function(){return t.e(9134).then(t.bind(t,39134))})));n.default=(0,u.Z)((function(e){return(0,l.Z)((0,i.Z)((0,i.Z)({tableBlock:(0,i.Z)((0,i.Z)({},v.VX.tableBlock),{},{marginTop:15})},v.OR),{},{searchField:(0,i.Z)((0,i.Z)({},v.qg.searchField),{},{maxWidth:380})},(0,v.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=(0,A.TL)(),i=(0,s.s0)(),l=(0,c.useState)(!1),u=(0,o.Z)(l,2),v=u[0],S=u[1],B=(0,c.useState)(!1),R=(0,o.Z)(B,2),N=R[0],D=R[1],E=(0,c.useState)([]),O=(0,o.Z)(E,2),T=O[0],V=O[1],L=(0,c.useState)(""),K=(0,o.Z)(L,2),H=K[0],_=K[1],U=(0,c.useState)(!1),q=(0,o.Z)(U,2),X=q[0],W=q[1],J=(0,c.useState)([]),Q=(0,o.Z)(J,2),Y=Q[0],$=Q[1];(0,c.useEffect)((function(){D(!0)}),[]),(0,c.useEffect)((function(){D(!0)}),[]);var ee=(0,P.F)(k.C3,k.vh),ne=(0,P.F)(k.C3,k.oX),te=(0,P.F)(k.C3,k.k_),re=(0,P.F)(k.C3,k.fC,!0);(0,c.useEffect)((function(){if(N)if(ee){x.Z.invoke("GET","/api/v1/groups").then((function(e){var n=[];null!==e.groups&&(n=e.groups.sort(f.V2)),V(n),D(!1)})).catch((function(e){t((0,F.Ih)(e)),D(!1)}))}else D(!1)}),[N,t,ee]);var oe=T.filter((function(e){return e.includes(H)})),ie=function(e){i("".concat(k.gA.GROUPS,"/").concat((0,z.LL)(e)))},ce=[{type:"view",onClick:ie,disableButtonFunction:function(){return!te}},{type:"edit",onClick:ie,disableButtonFunction:function(){return!te}}];return(0,G.jsxs)(c.Fragment,{children:[v&&(0,G.jsx)(I,{deleteOpen:v,selectedGroups:Y,closeDeleteModalAndRefresh:function(e){S(!1),$([]),e&&D(!0)}}),X&&(0,G.jsx)(M,{open:X,selectedGroups:Y,selectedUser:null,closeModalAndRefresh:function(){W(!1)}}),(0,G.jsx)(g.Z,{label:"Groups"}),(0,G.jsxs)(C.Z,{children:[(0,G.jsxs)(d.ZP,{item:!0,xs:12,className:n.actionsTray,children:[(0,G.jsx)(P.s,{resource:k.C3,scopes:k.vh,errorProps:{disabled:!0},children:(0,G.jsx)(y.Z,{placeholder:"Search Groups",onChange:_,overrideClass:n.searchField,value:H})}),(0,G.jsxs)(p.Z,{sx:{display:"flex"},children:[(0,G.jsx)(P.s,{resource:k.C3,scopes:k.fC,matchAll:!0,errorProps:{disabled:!0},children:(0,G.jsx)(w.Z,{tooltip:Y.length<1?"Please select Groups on which you want to apply Policies":re?"Select Policy":(0,k.MK)(k.fC,"apply policies to Groups"),children:(0,G.jsx)(a.z,{id:"assign-policy",onClick:function(){W(!0)},label:"Assign Policy",icon:(0,G.jsx)(m.v42,{}),disabled:Y.length<1||!re,variant:"regular"})})}),(0,G.jsx)(P.s,{resource:k.C3,scopes:k.oX,matchAll:!0,errorProps:{disabled:!0},children:(0,G.jsx)(w.Z,{tooltip:0===Y.length?"Select Groups to delete":te?"Delete Selected":(0,k.MK)(k.k_,"delete Groups"),children:(0,G.jsx)(a.z,{id:"delete-selected-groups",onClick:function(){S(!0)},label:"Delete Selected",icon:(0,G.jsx)(m.pJl,{}),variant:"secondary",disabled:0===Y.length||!te})})}),(0,G.jsx)(P.s,{resource:k.C3,scopes:k.vN,matchAll:!0,errorProps:{disabled:!0},children:(0,G.jsx)(w.Z,{tooltip:"Create Group",children:(0,G.jsx)(a.z,{id:"create-group",label:"Create Group",variant:"callAction",icon:(0,G.jsx)(m.dtP,{}),onClick:function(){i("".concat(k.gA.GROUPS_ADD))}})})})]})]}),N&&(0,G.jsx)(h.Z,{}),!N&&(0,G.jsxs)(c.Fragment,{children:[T.length>0&&(0,G.jsxs)(c.Fragment,{children:[(0,G.jsx)(w.Z,{tooltip:te?"":(0,k.MK)(k.k_,"view Group details"),children:(0,G.jsx)(d.ZP,{item:!0,xs:12,className:n.tableBlock,children:(0,G.jsx)(P.s,{resource:k.C3,scopes:k.vh,errorProps:{disabled:!0},children:(0,G.jsx)(Z.Z,{itemActions:ce,columns:[{label:"Name",elementKey:""}],isLoading:N,selectedItems:Y,onSelect:ne||te?function(e){var n=e.target,t=(n=void 0===n?{}:n).value,o=void 0===t?"":t,i=n.checked,c=void 0!==i&&i,s=(0,r.Z)(Y);return c?s.push(o):s=s.filter((function(e){return e!==o})),$(s),s}:void 0,records:oe,entityName:"Groups",idField:""})})})}),(0,G.jsx)(d.ZP,{item:!0,xs:12,marginTop:"25px",children:(0,G.jsx)(j.Z,{title:"Groups",iconComponent:(0,G.jsx)(m.wws,{}),help:(0,G.jsxs)(c.Fragment,{children:["A group can have one attached IAM policy, where all users with membership in that group inherit that policy. Groups support more simplified management of user permissions on the MinIO Tenant.",(0,G.jsx)("br",{}),(0,G.jsx)("br",{}),"You can learn more at our"," ",(0,G.jsx)("a",{href:"https://min.io/docs/minio/linux/administration/identity-access-management/minio-group-management.html?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})})]}),0===T.length&&(0,G.jsx)(d.ZP,{container:!0,justifyContent:"center",alignContent:"center",alignItems:"center",children:(0,G.jsx)(d.ZP,{item:!0,xs:8,children:(0,G.jsx)(j.Z,{title:"Groups",iconComponent:(0,G.jsx)(m.oyc,{}),help:(0,G.jsxs)(c.Fragment,{children:["A group can have one attached IAM policy, where all users with membership in that group inherit that policy. Groups support more simplified management of user permissions on the MinIO Tenant.",(0,G.jsxs)(P.s,{resource:k.C3,scopes:k.vN,matchAll:!0,children:[(0,G.jsx)("br",{}),(0,G.jsx)("br",{}),"To get started,"," ",(0,G.jsx)(b.Z,{onClick:function(){i("".concat(k.gA.GROUPS_ADD))},children:"Create a Group"}),"."]})]})})})})]})]})]})}))},21639:function(e,n,t){"use strict";t.d(n,{KE:function(){return c},LQ:function(){return r},V2:function(){return i},g4:function(){return o}});var r=function(e,n){return e.accessKey>n.accessKey?1:e.accessKeyn.name?1:e.namen?1:en.policy?1:e.policy.\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n border: 0,\n backgroundColor: \"transparent\",\n textDecoration: \"underline\",\n cursor: \"pointer\",\n fontSize: \"inherit\",\n color: theme.palette.info.main,\n fontFamily: \"Lato, sans-serif\",\n },\n });\n\ninterface IAButton extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst AButton = ({ classes, children, ...rest }: IAButton) => {\n return (\n \n );\n};\n\nexport default withStyles(styles)(AButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense
(\n WrappedComponent: ComponentType
,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { cloneElement } from \"react\";\nimport { Tooltip } from \"@mui/material\";\n\ninterface ITooltipWrapperProps {\n tooltip: string;\n children: any;\n errorProps?: any;\n}\n\nconst TooltipWrapper = ({\n tooltip,\n children,\n errorProps = null,\n}: ITooltipWrapperProps) => {\n return (\n \n \n {errorProps ? cloneElement(children, { ...errorProps }) : children}\n \n \n );\n};\n\nexport default TooltipWrapper;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Theme } from \"@mui/material/styles\";\nimport { useNavigate } from \"react-router-dom\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, LinearProgress } from \"@mui/material\";\nimport {\n AddIcon,\n DeleteIcon,\n GroupsIcon,\n IAMPoliciesIcon,\n UsersIcon,\n} from \"../../../icons\";\n\nimport { GroupsList } from \"./types\";\nimport { stringSort } from \"../../../utils/sortFunctions\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport AButton from \"../Common/AButton/AButton\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport SearchBox from \"../Common/SearchBox\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n permissionTooltipHelper,\n applyPolicyPermissions,\n displayGroupsPermissions,\n deleteGroupPermissions,\n getGroupPermissions,\n createGroupPermissions,\n} from \"../../../common/SecureComponent/permissions\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../common/SecureComponent\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\n\nimport { encodeURLString } from \"../../../common/utils\";\n\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\n\nconst DeleteGroup = withSuspense(React.lazy(() => import(\"./DeleteGroup\")));\nconst SetPolicy = withSuspense(\n React.lazy(() => import(\"../Policies/SetPolicy\"))\n);\n\ninterface IGroupsProps {\n classes: any;\n openGroupModal: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n tableBlock: {\n ...tableStyles.tableBlock,\n marginTop: 15,\n },\n ...actionsTray,\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst Groups = ({ classes }: IGroupsProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [loading, isLoading] = useState(false);\n const [records, setRecords] = useState([]);\n const [filter, setFilter] = useState(\"\");\n const [policyOpen, setPolicyOpen] = useState(false);\n const [checkedGroups, setCheckedGroups] = useState([]);\n\n useEffect(() => {\n isLoading(true);\n }, []);\n\n useEffect(() => {\n isLoading(true);\n }, []);\n\n const displayGroups = hasPermission(\n CONSOLE_UI_RESOURCE,\n displayGroupsPermissions\n );\n\n const deleteGroup = hasPermission(\n CONSOLE_UI_RESOURCE,\n deleteGroupPermissions\n );\n\n const getGroup = hasPermission(CONSOLE_UI_RESOURCE, getGroupPermissions);\n\n const applyPolicy = hasPermission(\n CONSOLE_UI_RESOURCE,\n applyPolicyPermissions,\n true\n );\n\n const selectionChanged = (e: React.ChangeEvent) => {\n const { target: { value = \"\", checked = false } = {} } = e;\n\n let elements: string[] = [...checkedGroups]; // We clone the checkedUsers array\n\n if (checked) {\n // If the user has checked this field we need to push this to checkedUsersList\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\n setCheckedGroups(elements);\n\n return elements;\n };\n\n useEffect(() => {\n if (loading) {\n if (displayGroups) {\n const fetchRecords = () => {\n api\n .invoke(\"GET\", `/api/v1/groups`)\n .then((res: GroupsList) => {\n let resGroups: string[] = [];\n if (res.groups !== null) {\n resGroups = res.groups.sort(stringSort);\n }\n setRecords(resGroups);\n isLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n isLoading(false);\n });\n };\n fetchRecords();\n } else {\n isLoading(false);\n }\n }\n }, [loading, dispatch, displayGroups]);\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n setCheckedGroups([]);\n if (refresh) {\n isLoading(true);\n }\n };\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.includes(filter)\n );\n\n const viewAction = (group: any) => {\n navigate(`${IAM_PAGES.GROUPS}/${encodeURLString(group)}`);\n };\n\n const tableActions = [\n {\n type: \"view\",\n onClick: viewAction,\n disableButtonFunction: () => !getGroup,\n },\n {\n type: \"edit\",\n onClick: viewAction,\n disableButtonFunction: () => !getGroup,\n },\n ];\n\n return (\n \n {deleteOpen && (\n \n )}\n {policyOpen && (\n {\n setPolicyOpen(false);\n }}\n />\n )}\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n }\n onClick={() => {\n navigate(`${IAM_PAGES.GROUPS_ADD}`);\n }}\n />\n \n \n \n \n {loading && }\n {!loading && (\n \n {records.length > 0 && (\n \n \n \n \n \n \n \n \n \n }\n help={\n \n A group can have one attached IAM policy, where all\n users with membership in that group inherit that policy.\n Groups support more simplified management of user\n permissions on the MinIO Tenant.\n \n \n You can learn more at our{\" \"}\n \n documentation\n \n .\n \n }\n />\n \n \n )}\n {records.length === 0 && (\n \n \n }\n help={\n \n A group can have one attached IAM policy, where all\n users with membership in that group inherit that policy.\n Groups support more simplified management of user\n permissions on the MinIO Tenant.\n \n \n \n To get started,{\" \"}\n {\n navigate(`${IAM_PAGES.GROUPS_ADD}`);\n }}\n >\n Create a Group\n \n .\n \n \n }\n />\n \n \n )}\n \n )}\n \n \n );\n};\n\nexport default withStyles(styles)(Groups);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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\ninterface policyDetailsInterface {\n policy: 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\nexport const policyDetailsSort = (\n a: policyDetailsInterface,\n b: policyDetailsInterface\n) => {\n if (a.policy > b.policy) {\n return 1;\n }\n if (a.policy < b.policy) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 10 5 5 5-5z\"\n}), 'ArrowDropDown');\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: \"m7 14 5-5 5 5z\"\n}), 'ArrowDropUp');\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: \"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z\"\n}), 'ViewColumn');\n\nexports.default = _default;","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'CheckBoxOutlineBlank');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckBox');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"\n}), 'IndeterminateCheckBox');","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getCheckboxUtilityClass(slot) {\n return generateUtilityClass('MuiCheckbox', slot);\n}\nconst checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary']);\nexport default checkboxClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checkedIcon\", \"color\", \"icon\", \"indeterminate\", \"indeterminateIcon\", \"inputProps\", \"size\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport SwitchBase from '../internal/SwitchBase';\nimport CheckBoxOutlineBlankIcon from '../internal/svg-icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '../internal/svg-icons/CheckBox';\nimport IndeterminateCheckBoxIcon from '../internal/svg-icons/IndeterminateCheckBox';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport checkboxClasses, { getCheckboxUtilityClass } from './checkboxClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n indeterminate,\n color\n } = ownerState;\n const slots = {\n root: ['root', indeterminate && 'indeterminate', `color${capitalize(color)}`]\n };\n const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst CheckboxRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiCheckbox',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.indeterminate && styles.indeterminate, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${ownerState.color === 'default' ? theme.vars.palette.action.activeChannel : theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(ownerState.color === 'default' ? theme.palette.action.active : theme.palette[ownerState.color].main, 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 [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${checkboxClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n}));\n\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\n\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\n\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\n\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n var _icon$props$fontSize, _indeterminateIcon$pr;\n\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCheckbox'\n });\n\n const {\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon: iconProp = defaultIcon,\n indeterminate = false,\n indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,\n inputProps,\n size = 'medium'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n\n const ownerState = _extends({}, props, {\n color,\n indeterminate,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CheckboxRoot, _extends({\n type: \"checkbox\",\n inputProps: _extends({\n 'data-indeterminate': indeterminate\n }, inputProps),\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: (_icon$props$fontSize = icon.props.fontSize) != null ? _icon$props$fontSize : size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(indeterminateIcon, {\n fontSize: (_indeterminateIcon$pr = indeterminateIcon.props.fontSize) != null ? _indeterminateIcon$pr : size\n }),\n ownerState: ownerState,\n ref: ref\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.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 * @default \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 * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).\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 * The icon to display when the component is unchecked.\n * @default \n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the component appears indeterminate.\n * This does not set the native input element to indeterminate due\n * to inconsistent behavior across browsers.\n * However, we set a `data-indeterminate` attribute on the `input`.\n * @default false\n */\n indeterminate: PropTypes.bool,\n\n /**\n * The icon to display when the component is indeterminate.\n * @default \n */\n indeterminateIcon: PropTypes.node,\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 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 checkbox 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 Checkbox;","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","padding","margin","textDecoration","cursor","color","palette","info","main","fontFamily","children","rest","WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","searchField","adornment","placeholder","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","id","label","InputProps","e","target","variant","tooltip","errorProps","cloneElement","DeleteGroup","withSuspense","React","SetPolicy","tableBlock","tableStyles","marginTop","actionsTray","maxWidth","containerForHeader","spacing","dispatch","useAppDispatch","navigate","useNavigate","useState","deleteOpen","setDeleteOpen","loading","isLoading","records","setRecords","filter","setFilter","policyOpen","setPolicyOpen","checkedGroups","setCheckedGroups","useEffect","displayGroups","hasPermission","CONSOLE_UI_RESOURCE","displayGroupsPermissions","deleteGroup","deleteGroupPermissions","getGroup","getGroupPermissions","applyPolicy","applyPolicyPermissions","api","then","res","resGroups","groups","sort","stringSort","catch","err","setErrorSnackMessage","filteredRecords","elementItem","includes","viewAction","group","IAM_PAGES","encodeURLString","tableActions","type","onClick","disableButtonFunction","Fragment","selectedGroups","closeDeleteModalAndRefresh","refresh","open","selectedUser","closeModalAndRefresh","resource","scopes","disabled","sx","matchAll","length","permissionTooltipHelper","icon","createGroupPermissions","itemActions","columns","elementKey","selectedItems","onSelect","checked","elements","push","element","undefined","entityName","idField","href","rel","justifyContent","alignContent","usersSort","a","b","accessKey","policySort","name","policyDetailsSort","policy","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","createSvgIcon","_jsx","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","styles","ownerState","indeterminate","capitalize","_extends","vars","text","secondary","disableRipple","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","checkedIcon","iconProp","indeterminateIcon","indeterminateIconProp","size","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","baseGetTag","isArray","isObjectLike","module"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/2949.c6b7f4b7.chunk.js b/portal-ui/build/static/js/2949.c6b7f4b7.chunk.js
deleted file mode 100644
index f7099dd62..000000000
--- a/portal-ui/build/static/js/2949.c6b7f4b7.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2949],{23804:function(e,t,n){"use strict";n(72791);var r=n(11135),o=n(25787),i=n(61889),a=n(80184);t.Z=(0,o.Z)((function(e){return(0,r.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,n=e.iconComponent,r=e.title,o=e.help;return(0,a.jsx)("div",{className:t.root,children:(0,a.jsxs)(i.ZP,{container:!0,children:[(0,a.jsxs)(i.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,r]}),(0,a.jsx)(i.ZP,{item:!0,xs:12,className:t.helpText,children:o})]})})}))},75578:function(e,t,n){"use strict";var r=n(1413),o=n(72791),i=n(80184);t.Z=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function n(n){return(0,i.jsx)(o.Suspense,{fallback:t,children:(0,i.jsx)(e,(0,r.Z)({},n))})}return n}},57338:function(e,t,n){"use strict";n.r(t);var r=n(93433),o=n(29439),i=n(1413),a=n(72791),c=n(75952),l=n(11135),s=n(25787),d=n(61889),u=n(27391),v=n(63466),m=n(26181),p=n.n(m),h=n(78243),f=n(38734),Z=n(23814),x=n(45248),b=n(81207),j=n(92983),g=n(28789),k=n(74900),y=n(23804),z=n(75578),S=n(32291),C=n(74794),F=n(80184),P=(0,z.Z)(a.lazy((function(){return n.e(1799).then(n.bind(n,61799))}))),V=(0,z.Z)(a.lazy((function(){return n.e(9297).then(n.bind(n,89297))})));t.default=(0,s.Z)((function(e){return(0,l.Z)((0,i.Z)((0,i.Z)((0,i.Z)({tableWrapper:{height:"calc(100vh - 275px)"},linkItem:{display:"default",color:e.palette.info.main,textDecoration:"none","&:hover":{textDecoration:"underline",color:"#000"}}},Z.OR),Z.qg),(0,Z.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,n=(0,a.useState)([]),l=(0,o.Z)(n,2),s=l[0],m=l[1],Z=(0,a.useState)(""),z=(0,o.Z)(Z,2),D=z[0],I=z[1],w=(0,a.useState)([]),A=(0,o.Z)(w,2),L=A[0],M=A[1],N=(0,a.useState)(!0),R=(0,o.Z)(N,2),H=R[0],B=R[1],E=(0,a.useState)(!1),K=(0,o.Z)(E,2),O=K[0],T=K[1],W=(0,a.useState)(!1),_=(0,o.Z)(W,2),q=_[0],G=_[1],U=(0,a.useState)([]),J=(0,o.Z)(U,2),Q=J[0],X=J[1],Y=(0,a.useState)(!1),$=(0,o.Z)(Y,2),ee=$[0],te=$[1],ne=(0,a.useState)([]),re=(0,o.Z)(ne,2),oe=re[0],ie=re[1],ae=(0,a.useState)(!0),ce=(0,o.Z)(ae,2),le=ce[0],se=ce[1];(0,a.useEffect)((function(){H&&b.Z.invoke("GET","/api/v1/directpv/drives").then((function(e){var t=p()(e,"drives",[]);t||(t=[]),(t=t.map((function(e){var t=(0,i.Z)({},e);return t.joinName="".concat(t.node,":").concat(t.drive),t}))).sort((function(e,t){return e.drive>t.drive?1:e.drive0&&(X(t),te(!0)),B(!0),M([]))},deleteOpen:O,allDrives:q,drivesToFormat:oe}),ee&&(0,F.jsx)(V,{errorsList:Q,open:ee,onCloseFormatErrorsList:function(){te(!1)}}),(0,F.jsx)(S.Z,{label:"Local Drives"}),(0,F.jsxs)(C.Z,{children:[(0,F.jsxs)(d.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,F.jsx)(u.Z,{placeholder:"Search Drives",className:t.searchField,id:"search-resource",label:"",InputProps:{disableUnderline:!0,startAdornment:(0,F.jsx)(v.Z,{position:"start",children:(0,F.jsx)(k.Z,{})})},onChange:function(e){I(e.target.value)},disabled:le,variant:"standard"}),(0,F.jsx)(c.z,{id:"refresh-directpv-list",color:"primary","aria-label":"Refresh DirectPV List",onClick:function(){B(!0)},disabled:le,icon:(0,F.jsx)(g.default,{})}),(0,F.jsx)(c.z,{id:"format-selected-drives",variant:"callAction",disabled:L.length<=0||le,onClick:function(){L.length>0&&(ie(L),G(!1),T(!0))},label:"Format Selected Drives",icon:(0,F.jsx)(h.Z,{})}),(0,F.jsx)(c.z,{id:"format-all-drives",variant:"callAction",label:"Format All Drives",onClick:function(){var e=s.map((function(e){return"".concat(e.node,":").concat(e.drive)}));G(!0),ie(e),T(!0)},disabled:le,icon:(0,F.jsx)(f.dtP,{})})]}),(0,F.jsx)(d.ZP,{item:!0,xs:12,children:le&&!H?(0,F.jsx)(y.Z,{title:"Leverage locally attached drives",iconComponent:(0,F.jsx)(f.idV,{}),help:(0,F.jsxs)(a.Fragment,{children:["We can automatically provision persistent volumes (PVs) on top locally attached drives on your Kubernetes nodes by leveraging DirectPV.",(0,F.jsx)("br",{}),(0,F.jsx)("br",{}),"For more information"," ",(0,F.jsx)("a",{href:"https://github.com/minio/directpv",rel:"noreferrer",target:"_blank",className:t.linkItem,children:"Visit DirectPV Documentation"})]})}):(0,F.jsx)(j.Z,{itemActions:de,columns:[{label:"Drive",elementKey:"drive"},{label:"Capacity",elementKey:"capacity",renderFunction:x.ae},{label:"Allocated",elementKey:"allocated",renderFunction:x.ae},{label:"Volumes",elementKey:"volumes"},{label:"Node",elementKey:"node"},{label:"Status",elementKey:"status"}],onSelect:function(e){var t=e.target,n=t.value,o=t.checked,i=(0,r.Z)(L);return o?i.push(n):i=i.filter((function(e){return e!==n})),M(i),i},selectedItems:L,isLoading:H,records:ue,customPaperHeight:t.tableWrapper,entityName:"Drives",idField:"joinName"})})]})]})}))},26759:function(e,t,n){"use strict";var r=n(64836);t.Z=void 0;var o=r(n(45649)),i=n(80184),a=(0,o.default)((0,i.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");t.Z=a},70366:function(e,t,n){"use strict";var r=n(64836);t.Z=void 0;var o=r(n(45649)),i=n(80184),a=(0,o.default)((0,i.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");t.Z=a},78243:function(e,t,n){"use strict";var r=n(64836);t.Z=void 0;var o=r(n(45649)),i=n(80184),a=(0,o.default)((0,i.jsx)("path",{d:"M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z"}),"Group");t.Z=a},97911:function(e,t,n){"use strict";var r=n(64836);t.Z=void 0;var o=r(n(45649)),i=n(80184),a=(0,o.default)((0,i.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");t.Z=a},94454:function(e,t,n){"use strict";n.d(t,{Z:function(){return C}});var r=n(4942),o=n(63366),i=n(87462),a=n(72791),c=n(94419),l=n(12065),s=n(97278),d=n(76189),u=n(80184),v=(0,d.Z)((0,u.jsx)("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),m=(0,d.Z)((0,u.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),p=(0,d.Z)((0,u.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox"),h=n(14036),f=n(31402),Z=n(66934),x=n(21217);function b(e){return(0,x.Z)("MuiCheckbox",e)}var j=(0,n(75878).Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),g=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size"],k=(0,Z.ZP)(s.Z,{shouldForwardProp:function(e){return(0,Z.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.indeterminate&&t.indeterminate,"default"!==n.color&&t["color".concat((0,h.Z)(n.color))]]}})((function(e){var t,n=e.theme,o=e.ownerState;return(0,i.Z)({color:(n.vars||n).palette.text.secondary},!o.disableRipple&&{"&:hover":{backgroundColor:n.vars?"rgba(".concat("default"===o.color?n.vars.palette.action.activeChannel:n.vars.palette.primary.mainChannel," / ").concat(n.vars.palette.action.hoverOpacity,")"):(0,l.Fq)("default"===o.color?n.palette.action.active:n.palette[o.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==o.color&&(t={},(0,r.Z)(t,"&.".concat(j.checked,", &.").concat(j.indeterminate),{color:(n.vars||n).palette[o.color].main}),(0,r.Z)(t,"&.".concat(j.disabled),{color:(n.vars||n).palette.action.disabled}),t))})),y=(0,u.jsx)(m,{}),z=(0,u.jsx)(v,{}),S=(0,u.jsx)(p,{}),C=a.forwardRef((function(e,t){var n,r,l=(0,f.Z)({props:e,name:"MuiCheckbox"}),s=l.checkedIcon,d=void 0===s?y:s,v=l.color,m=void 0===v?"primary":v,p=l.icon,Z=void 0===p?z:p,x=l.indeterminate,j=void 0!==x&&x,C=l.indeterminateIcon,F=void 0===C?S:C,P=l.inputProps,V=l.size,D=void 0===V?"medium":V,I=(0,o.Z)(l,g),w=j?F:Z,A=j?F:d,L=(0,i.Z)({},l,{color:m,indeterminate:j,size:D}),M=function(e){var t=e.classes,n=e.indeterminate,r=e.color,o={root:["root",n&&"indeterminate","color".concat((0,h.Z)(r))]},a=(0,c.Z)(o,b,t);return(0,i.Z)({},t,a)}(L);return(0,u.jsx)(k,(0,i.Z)({type:"checkbox",inputProps:(0,i.Z)({"data-indeterminate":j},P),icon:a.cloneElement(w,{fontSize:null!=(n=w.props.fontSize)?n:D}),checkedIcon:a.cloneElement(A,{fontSize:null!=(r=A.props.fontSize)?r:D}),ownerState:L,ref:t},I,{classes:M}))}))},26769:function(e,t,n){var r=n(39066),o=n(93629),i=n(43141);e.exports=function(e){return"string"==typeof e||!o(e)&&i(e)&&"[object String]"==r(e)}}}]);
-//# sourceMappingURL=2949.c6b7f4b7.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/2949.c6b7f4b7.chunk.js.map b/portal-ui/build/static/js/2949.c6b7f4b7.chunk.js.map
deleted file mode 100644
index c0560392d..000000000
--- a/portal-ui/build/static/js/2949.c6b7f4b7.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/2949.c6b7f4b7.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/DirectPV/DirectPVDrives.tsx","../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/Group.js","../node_modules/@mui/icons-material/ViewColumn.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/lodash/isString.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense
(\n WrappedComponent: ComponentType
,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","// 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 { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, InputAdornment, TextField } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport GroupIcon from \"@mui/icons-material/Group\";\nimport { AddIcon, StorageIcon } from \"../../../icons\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport {\n IDirectPVDrives,\n IDirectPVFormatResItem,\n IDrivesResponse,\n} from \"./types\";\nimport { niceBytes } from \"../../../common/utils\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport RefreshIcon from \"../../../icons/RefreshIcon\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport HelpBox from \"../../../common/HelpBox\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\n\nconst FormatDrives = withSuspense(React.lazy(() => import(\"./FormatDrives\")));\nconst FormatErrorsResult = withSuspense(\n React.lazy(() => import(\"./FormatErrorsResult\"))\n);\n\ninterface IDirectPVMain {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n tableWrapper: {\n height: \"calc(100vh - 275px)\",\n },\n linkItem: {\n display: \"default\",\n color: theme.palette.info.main,\n textDecoration: \"none\",\n \"&:hover\": {\n textDecoration: \"underline\",\n color: \"#000\",\n },\n },\n ...actionsTray,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst DirectPVMain = ({ classes }: IDirectPVMain) => {\n const [records, setRecords] = useState([]);\n const [filter, setFilter] = useState(\"\");\n const [checkedDrives, setCheckedDrives] = useState([]);\n const [loading, setLoading] = useState(true);\n const [formatOpen, setFormatOpen] = useState(false);\n const [formatAll, setFormatAll] = useState(false);\n const [formatErrorsResult, setFormatErrorsResult] = useState<\n IDirectPVFormatResItem[]\n >([]);\n const [formatErrorsOpen, setFormatErrorsOpen] = useState(false);\n const [drivesToFormat, setDrivesToFormat] = useState([]);\n const [notAvailable, setNotAvailable] = useState(true);\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", \"/api/v1/directpv/drives\")\n .then((res: IDrivesResponse) => {\n let drives: IDirectPVDrives[] = get(res, \"drives\", []);\n\n if (!drives) {\n drives = [];\n }\n\n drives = drives.map((item) => {\n const newItem = { ...item };\n newItem.joinName = `${newItem.node}:${newItem.drive}`;\n\n return newItem;\n });\n\n drives.sort((d1, d2) => {\n if (d1.drive > d2.drive) {\n return 1;\n }\n\n if (d1.drive < d2.drive) {\n return -1;\n }\n\n return 0;\n });\n\n setRecords(drives);\n setLoading(false);\n setNotAvailable(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setNotAvailable(true);\n });\n }\n }, [loading, notAvailable]);\n\n const formatAllDrives = () => {\n const allDrives = records.map((item) => {\n return `${item.node}:${item.drive}`;\n });\n setFormatAll(true);\n setDrivesToFormat(allDrives);\n setFormatOpen(true);\n };\n\n const formatSingleUnit = (driveID: string) => {\n const selectedUnit = [driveID];\n setDrivesToFormat(selectedUnit);\n setFormatAll(false);\n setFormatOpen(true);\n };\n\n const formatSelectedDrives = () => {\n if (checkedDrives.length > 0) {\n setDrivesToFormat(checkedDrives);\n setFormatAll(false);\n setFormatOpen(true);\n }\n };\n\n const selectionChanged = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...checkedDrives]; // We clone the checkedDrives array\n\n if (checked) {\n // If the user has checked this field we need to push this to checkedDrivesList\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\n setCheckedDrives(elements);\n\n return elements;\n };\n\n const closeFormatModal = (\n refresh: boolean,\n errorsList: IDirectPVFormatResItem[]\n ) => {\n setFormatOpen(false);\n if (refresh) {\n // Errors are present, we trigger the modal box to show these changes.\n if (errorsList && errorsList.length > 0) {\n setFormatErrorsResult(errorsList);\n setFormatErrorsOpen(true);\n }\n setLoading(true);\n setCheckedDrives([]);\n }\n };\n\n const tableActions = [\n {\n type: \"format\",\n onClick: formatSingleUnit,\n sendOnlyId: true,\n },\n ];\n\n const filteredRecords: IDirectPVDrives[] = records.filter((elementItem) =>\n elementItem.drive.includes(filter)\n );\n\n return (\n \n {formatOpen && (\n \n )}\n\n {formatErrorsOpen && (\n {\n setFormatErrorsOpen(false);\n }}\n />\n )}\n \n \n \n \n \n \n ),\n }}\n onChange={(e) => {\n setFilter(e.target.value);\n }}\n disabled={notAvailable}\n variant=\"standard\"\n />\n \n\n \n {notAvailable && !loading ? (\n }\n help={\n \n We can automatically provision persistent volumes (PVs) on top\n locally attached drives on your Kubernetes nodes by leveraging\n DirectPV.\n \n \n For more information{\" \"}\n \n Visit DirectPV Documentation\n \n \n }\n />\n ) : (\n \n )}\n \n \n \n );\n};\n\nexport default withStyles(styles)(DirectPVMain);\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: \"m7 10 5 5 5-5z\"\n}), 'ArrowDropDown');\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: \"m7 14 5-5 5 5z\"\n}), 'ArrowDropUp');\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: \"M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z\"\n}), 'Group');\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: \"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z\"\n}), 'ViewColumn');\n\nexports.default = _default;","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'CheckBoxOutlineBlank');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckBox');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"\n}), 'IndeterminateCheckBox');","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getCheckboxUtilityClass(slot) {\n return generateUtilityClass('MuiCheckbox', slot);\n}\nconst checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary']);\nexport default checkboxClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checkedIcon\", \"color\", \"icon\", \"indeterminate\", \"indeterminateIcon\", \"inputProps\", \"size\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport SwitchBase from '../internal/SwitchBase';\nimport CheckBoxOutlineBlankIcon from '../internal/svg-icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '../internal/svg-icons/CheckBox';\nimport IndeterminateCheckBoxIcon from '../internal/svg-icons/IndeterminateCheckBox';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport checkboxClasses, { getCheckboxUtilityClass } from './checkboxClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n indeterminate,\n color\n } = ownerState;\n const slots = {\n root: ['root', indeterminate && 'indeterminate', `color${capitalize(color)}`]\n };\n const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst CheckboxRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiCheckbox',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.indeterminate && styles.indeterminate, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${ownerState.color === 'default' ? theme.vars.palette.action.activeChannel : theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(ownerState.color === 'default' ? theme.palette.action.active : theme.palette[ownerState.color].main, 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 [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${checkboxClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n}));\n\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\n\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\n\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\n\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n var _icon$props$fontSize, _indeterminateIcon$pr;\n\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCheckbox'\n });\n\n const {\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon: iconProp = defaultIcon,\n indeterminate = false,\n indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,\n inputProps,\n size = 'medium'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n\n const ownerState = _extends({}, props, {\n color,\n indeterminate,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CheckboxRoot, _extends({\n type: \"checkbox\",\n inputProps: _extends({\n 'data-indeterminate': indeterminate\n }, inputProps),\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: (_icon$props$fontSize = icon.props.fontSize) != null ? _icon$props$fontSize : size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(indeterminateIcon, {\n fontSize: (_indeterminateIcon$pr = indeterminateIcon.props.fontSize) != null ? _indeterminateIcon$pr : size\n }),\n ownerState: ownerState,\n ref: ref\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.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 * @default \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 * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).\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 * The icon to display when the component is unchecked.\n * @default \n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the component appears indeterminate.\n * This does not set the native input element to indeterminate due\n * to inconsistent behavior across browsers.\n * However, we set a `data-indeterminate` attribute on the `input`.\n * @default false\n */\n indeterminate: PropTypes.bool,\n\n /**\n * The icon to display when the component is indeterminate.\n * @default \n */\n indeterminateIcon: PropTypes.node,\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 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 checkbox 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 Checkbox;","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","FormatDrives","withSuspense","React","FormatErrorsResult","tableWrapper","linkItem","color","palette","info","main","textDecoration","actionsTray","searchField","containerForHeader","spacing","useState","records","setRecords","filter","setFilter","checkedDrives","setCheckedDrives","loading","setLoading","formatOpen","setFormatOpen","formatAll","setFormatAll","formatErrorsResult","setFormatErrorsResult","formatErrorsOpen","setFormatErrorsOpen","drivesToFormat","setDrivesToFormat","notAvailable","setNotAvailable","useEffect","api","then","res","drives","get","map","newItem","joinName","node","drive","sort","d1","d2","catch","err","tableActions","type","onClick","driveID","sendOnlyId","filteredRecords","elementItem","includes","Fragment","closeFormatModalAndRefresh","refresh","errorsList","length","deleteOpen","allDrives","open","onCloseFormatErrorsList","label","placeholder","id","InputProps","disableUnderline","startAdornment","position","onChange","e","target","value","disabled","variant","icon","href","rel","itemActions","columns","elementKey","renderFunction","niceBytes","onSelect","targetD","checked","elements","push","element","selectedItems","isLoading","customPaperHeight","entityName","idField","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","createSvgIcon","_jsx","getCheckboxUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","CheckboxRoot","styled","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","styles","ownerState","indeterminate","capitalize","_extends","vars","text","secondary","disableRipple","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","inProps","ref","_icon$props$fontSize","_indeterminateIcon$pr","useThemeProps","checkedIcon","iconProp","indeterminateIcon","indeterminateIconProp","inputProps","size","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","baseGetTag","isArray","isObjectLike","module"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/2983.15e04479.chunk.js b/portal-ui/build/static/js/2983.15e04479.chunk.js
deleted file mode 100644
index 683a77398..000000000
--- a/portal-ui/build/static/js/2983.15e04479.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2983],{34866:function(e,n,t){var o=t(1413),i=t(72791),r=t(61889),c=t(94454),l=t(30829),a=t(20068),s=t(11135),d=t(25787),u=t(23814),h=t(84570),p=t(80184);n.Z=(0,d.Z)((function(e){return(0,s.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},u.YI),u.Hr),u.lM),{},{fieldContainer:(0,o.Z)((0,o.Z)({},u.YI.fieldContainer),{},{display:"flex",justifyContent:"flex-start",alignItems:"center",margin:"15px 0",marginBottom:0,flexBasis:"initial",flexWrap:"nowrap"}),noTopMargin:{marginTop:0}}))}))((function(e){var n=e.label,t=e.onChange,o=e.value,s=e.id,d=e.name,u=e.checked,x=void 0!==u&&u,g=e.disabled,v=void 0!==g&&g,m=e.noTopMargin,f=void 0!==m&&m,b=e.tooltip,w=void 0===b?"":b,j=e.overrideLabelClasses,C=void 0===j?"":j,y=e.overrideCheckboxStyles,S=e.classes,Z=e.className;return(0,p.jsx)(i.Fragment,{children:(0,p.jsxs)(r.ZP,{item:!0,xs:12,className:"".concat(S.fieldContainer," ").concat(f?S.noTopMargin:""," ").concat(Z||""),children:[(0,p.jsx)("div",{children:(0,p.jsx)(c.Z,{name:d,id:s,value:o,color:"primary",inputProps:{"aria-label":"secondary checkbox"},checked:x,onChange:t,checkedIcon:(0,p.jsx)("span",{className:S.checkedIcon}),icon:(0,p.jsx)("span",{className:S.unCheckedIcon}),disabled:v,disableRipple:!0,disableFocusRipple:!0,focusRipple:!1,centerRipple:!1,disableTouchRipple:!0,style:y||{}})}),""!==n&&(0,p.jsxs)(l.Z,{htmlFor:s,className:"".concat(S.noMinWidthLabel," ").concat(C),children:[(0,p.jsx)("span",{children:n}),""!==w&&(0,p.jsx)("div",{className:S.tooltipContainer,children:(0,p.jsx)(a.Z,{title:w,placement:"top-start",children:(0,p.jsx)("div",{className:S.tooltip,children:(0,p.jsx)(h.Z,{})})})})]})]})})}))},92983:function(e,n,t){t.d(n,{Z:function(){return O}});var o=t(29439),i=t(93433),r=t(1413),c=t(72791),l=t(20890),a=t(13400),s=t(15473),d=t(61889),u=t(10703),h=t(40986),p=t(94454),x=t(16871),g=t(5171),v=t(26181),m=t.n(v),f=t(26769),b=t.n(f),w=t(11135),j=t(25787),C=t(97911),y=t(26759),S=t(70366),Z=t(43504),k=t(20068),N="#081C42",R="#081C42",T=t(80184),F=function(e){var n=e.active,t=void 0!==n&&n;return(0,T.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",children:(0,T.jsx)("path",{fill:t?R:N,d:"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96z"})})},A=function(e){var n=e.active,t=void 0!==n&&n;return(0,T.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",children:(0,T.jsx)("path",{fill:t?R:N,d:"M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3v-3h18v3z"})})},B=function(e){var n=e.active,t=void 0!==n&&n;return(0,T.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",children:(0,T.jsx)("path",{fill:t?R:N,d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm5 11H7v-2h10v2z"})})},z=function(e){return(0,T.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",className:"min-icon",fill:"currentcolor"},e),{},{children:(0,T.jsx)("path",{d:"M20 16h2v-2h-2v2zm0-9v5h2V7h-2zM10 4c-4.42 0-8 3.58-8 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm0 10c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"})}))},I=t(33548),M=t(54599),P=t(38734),D=t(67186),H=(0,j.Z)((function(){return(0,w.Z)({spacing:{margin:"0 8px"},buttonDisabled:{"&.MuiButtonBase-root.Mui-disabled":{cursor:"not-allowed",filter:"grayscale(100%)",opacity:"30%"}}})}))((function(e){var n=e.type,t=e.onClick,o=e.valueToSend,i=e.idField,r=e.selected,c=e.to,l=e.sendOnlyId,s=void 0!==l&&l,d=e.disabled,u=void 0!==d&&d,h=e.classes,p=e.label,x=s?o[i]:o,g="string"===typeof n?function(e,n){switch(e){case"view":case"preview":return(0,T.jsx)(P.P99,{});case"edit":return(0,T.jsx)(I.Z,{});case"delete":return(0,T.jsx)(M.Z,{});case"description":return(0,T.jsx)(P.v42,{});case"share":return(0,T.jsx)(P.aAc,{});case"cloud":return(0,T.jsx)(F,{active:n});case"console":return(0,T.jsx)(A,{active:n});case"download":return(0,T.jsx)(D.Z,{});case"disable":return(0,T.jsx)(B,{active:n});case"format":return(0,T.jsx)(z,{})}return null}(n,r):n,v=(0,T.jsx)(a.Z,{"aria-label":"string"===typeof n?n:"",size:"small",className:"".concat(h.spacing," ").concat(u?h.buttonDisabled:""),disabled:u,onClick:t?function(e){e.stopPropagation(),u?e.preventDefault():t(x)}:function(){return null},children:g});return p&&""!==p&&(v=(0,T.jsx)(k.Z,{title:p,children:v})),t?v:b()(c)?u?v:(0,T.jsx)(Z.rU,{to:"".concat(c,"/").concat(x),onClick:function(e){e.stopPropagation()},children:v}):null})),L=t(34866),K=t(23814),_=t(72401),W=function(e,n,t,o,r,l,a,s,d,u,h){var p=function(e,n,t,o,r,c,l){var a=(0,i.Z)(e);c&&(a=e.filter((function(e){return l.includes(e.elementKey)})));var s=n;return o&&(s-=45),r&&(s-=t),a.reduce((function(e,n){return n.width?e-n.width:e}),s)/a.filter((function(e){return!e.width})).length}(e,n,t,o,r,s,d);return e.map((function(e,n){if(s&&!d.includes(e.elementKey))return null;var t=!e.enableSort||!e.enableSort;return(0,T.jsx)(g.sg,{dataKey:e.elementKey,headerClassName:"titleHeader ".concat(e.headerTextAlign?"text-".concat(e.headerTextAlign):""),headerRenderer:function(){return(0,T.jsxs)(c.Fragment,{children:[u===e.elementKey&&(0,T.jsx)(c.Fragment,{children:"ASC"===h?(0,T.jsx)(S.Z,{}):(0,T.jsx)(y.Z,{})}),e.label]})},className:e.contentTextAlign?"text-".concat(e.contentTextAlign):"",cellRenderer:function(n){var t=n.rowData,o=!!l&&l.includes(b()(t)?t:t[a]);return function(e,n,t){var o=b()(e)?e:m()(e,n.elementKey,null),i=n.renderFullObject?e:o,r=n.renderFunction?n.renderFunction(i):i;return(0,T.jsx)(c.Fragment,{children:(0,T.jsx)("span",{className:t?"selected":"",children:r})})}(t,e,o)},width:e.width||p,disableSort:t,defaultSortDirection:"ASC"},"col-tb-".concat(n.toString()))}))},O=(0,j.Z)((function(){return(0,w.Z)((0,r.Z)((0,r.Z)({paper:{display:"flex",overflow:"auto",flexDirection:"column",padding:"0 16px 8px",boxShadow:"none",border:"#EAEDEE 1px solid",borderRadius:3,minHeight:200,overflowY:"scroll",position:"relative","&::-webkit-scrollbar":{width:0,height:3}},noBackground:{backgroundColor:"transparent",border:0},disabled:{backgroundColor:"#fbfafa",color:"#cccccc"},defaultPaperHeight:{height:"calc(100vh - 205px)"},loadingBox:{paddingTop:"100px",paddingBottom:"100px"},overlayColumnSelection:{position:"absolute",right:0,top:0},popoverContent:{maxHeight:250,overflowY:"auto",padding:"0 10px 10px"},shownColumnsLabel:{color:"#9c9c9c",fontSize:12,padding:10,borderBottom:"#eaeaea 1px solid",width:"100%"},checkAllWrapper:{marginTop:-16},"@global":{".rowLine":{borderBottom:"1px solid ".concat("#9c9c9c80"),height:40,fontSize:14,transitionDuration:.3,"&:focus":{outline:"initial"},"&:hover:not(.ReactVirtualized__Table__headerRow)":{userSelect:"none",backgroundColor:"#ececec",fontWeight:600,"&.canClick":{cursor:"pointer"},"&.canSelectText":{userSelect:"text"}},"& .selected":{color:"#081C42",fontWeight:600}},".headerItem":{userSelect:"none",fontWeight:700,fontSize:14,fontStyle:"initial",display:"flex",alignItems:"center",outline:"none"},".ReactVirtualized__Table__headerRow":{fontWeight:700,fontSize:14,borderColor:"#39393980",textTransform:"initial"},".optionsAlignment":{textAlign:"center","& .min-icon":{width:16,height:16}},".text-center":{textAlign:"center"},".text-right":{textAlign:"right"},".progress-enabled":{paddingTop:3,display:"inline-block",margin:"0 10px",position:"relative",width:18,height:18},".progress-enabled > .MuiCircularProgress-root":{position:"absolute",left:0,top:3}}},K.lM),K.FU))}))((function(e){var n=e.itemActions,t=e.columns,i=e.onSelect,r=e.records,v=e.isLoading,f=e.loadingMessage,w=void 0===f?(0,T.jsx)(l.Z,{component:"h3",children:"Loading..."}):f,j=e.entityName,y=e.selectedItems,S=e.idField,Z=e.classes,k=e.radioSelection,N=void 0!==k&&k,R=e.customEmptyMessage,F=void 0===R?"":R,A=e.customPaperHeight,B=void 0===A?"":A,z=e.noBackground,I=void 0!==z&&z,M=e.columnsSelector,P=void 0!==M&&M,D=e.textSelectable,O=void 0!==D&&D,E=e.columnsShown,V=void 0===E?[]:E,Y=e.onColumnChange,U=void 0===Y?function(e,n){}:Y,q=e.infiniteScrollConfig,G=e.sortConfig,J=e.autoScrollToBottom,Q=void 0!==J&&J,X=e.disabled,$=void 0!==X&&X,ee=e.onSelectAll,ne=e.rowStyle,te=e.parentClassName,oe=void 0===te?"":te,ie=(0,x.s0)(),re=(0,c.useState)(!1),ce=(0,o.Z)(re,2),le=ce[0],ae=ce[1],se=c.useState(null),de=(0,o.Z)(se,2),ue=de[0],he=de[1],pe=n?n.find((function(e){return"view"===e.type})):null,xe=function(e){ae(!le),he(e.currentTarget)},ge=function(){ae(!1),he(null)};return(0,T.jsx)(d.ZP,{item:!0,xs:12,className:oe,children:(0,T.jsxs)(u.Z,{className:"".concat(Z.paper," ").concat(I?Z.noBackground:"","\n ").concat($?Z.disabled:""," \n ").concat(""!==B?B:Z.defaultPaperHeight),children:[v&&(0,T.jsxs)(d.ZP,{container:!0,className:Z.loadingBox,children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,style:{textAlign:"center"},children:w}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)(h.Z,{})})]}),P&&!v&&r.length>0&&(0,T.jsx)("div",{className:Z.overlayColumnSelection,children:function(e){return(0,T.jsxs)(c.Fragment,{children:[(0,T.jsx)(a.Z,{"aria-describedby":"columnsSelector",color:"primary",onClick:xe,size:"large",children:(0,T.jsx)(C.Z,{fontSize:"inherit"})}),(0,T.jsxs)(s.ZP,{anchorEl:ue,id:"columnsSelector",open:le,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},onClose:ge,children:[(0,T.jsx)("div",{className:Z.shownColumnsLabel,children:"Shown Columns"}),(0,T.jsx)("div",{className:Z.popoverContent,children:e.map((function(e){return(0,T.jsx)(L.Z,{label:e.label,checked:V.includes(e.elementKey),onChange:function(n){U(e.elementKey,n.target.checked)},id:"chbox-".concat(e.label),name:"chbox-".concat(e.label),value:e.label},"tableColumns-".concat(e.label))}))})]})]})}(t)}),r&&!v&&r.length>0?(0,T.jsx)(g.b2,{isRowLoaded:function(e){var n=e.index;return!!r[n]},loadMoreRows:q?q.loadMoreRecords:function(){return new Promise((function(){return!0}))},rowCount:q?q.recordsCount:r.length,children:function(e){var o=e.onRowsRendered,l=e.registerChild;return(0,T.jsx)(g.qj,{children:function(e){var a=e.width,s=e.height,d=function(e,n){var t=45*n+15;return t<80?80:t>e?e:t}(a,n?n.filter((function(e){return"view"!==e.type})).length:0),u=!(!i||!y),h=!!(n&&n.length>1||n&&1===n.length&&"view"!==n[0].type);return(0,T.jsxs)(g.iA,{ref:l,disableHeader:!1,headerClassName:"headerItem",headerHeight:40,height:s,noRowsRenderer:function(){return(0,T.jsx)(c.Fragment,{children:""!==F?F:"There are no ".concat(j," yet.")})},overscanRowCount:10,rowHeight:40,width:a,rowCount:r.length,rowGetter:function(e){var n=e.index;return r[n]},onRowClick:function(e){!function(e){if(pe){var n=pe.sendOnlyId?e[S]:e,t=!1;if(pe.disableButtonFunction&&pe.disableButtonFunction(n)&&(t=!0),pe.to&&!t)return void ie("".concat(pe.to,"/").concat(n));pe.onClick&&!t&&pe.onClick(n)}}(e.rowData)},rowClassName:"rowLine ".concat(pe?"canClick":""," ").concat(!pe&&O?"canSelectText":""),onRowsRendered:o,sort:G?G.triggerSort:void 0,sortBy:G?G.currentSort:void 0,sortDirection:G?G.currentDirection:void 0,scrollToIndex:Q?r.length-1:-1,rowStyle:function(e){if(ne){var n=ne(e);return"string"===typeof n?m()(K.xS,n,{}):n}return{}},children:[u&&(0,T.jsx)(g.sg,{headerRenderer:function(){return(0,T.jsx)(c.Fragment,{children:ee?(0,T.jsx)("div",{className:Z.checkAllWrapper,children:(0,T.jsx)(L.Z,{label:"",onChange:ee,value:"all",id:"selectAll",name:"selectAll",checked:(null===y||void 0===y?void 0:y.length)===r.length})}):(0,T.jsx)(c.Fragment,{children:"Select"})})},dataKey:"select-".concat(S),width:45,disableSort:!0,cellRenderer:function(e){var n=e.rowData,t=!!y&&y.includes(b()(n)?n:n[S]);return(0,T.jsx)(p.Z,{value:b()(n)?n:n[S],color:"primary",inputProps:{"aria-label":"secondary checkbox"},className:"TableCheckbox",checked:t,onChange:i,onClick:function(e){e.stopPropagation()},checkedIcon:(0,T.jsx)("span",{className:N?Z.radioSelectedIcon:Z.checkedIcon}),icon:(0,T.jsx)("span",{className:N?Z.radioUnselectedIcon:Z.unCheckedIcon})})}}),W(t,a,d,u,h,y||[],S,P,V,G?G.currentSort:"",G?G.currentDirection:void 0),h&&(0,T.jsx)(g.sg,{dataKey:S,width:d,headerClassName:"optionsAlignment",className:"optionsAlignment",cellRenderer:function(e){var t=e.rowData,o=!!y&&y.includes(b()(t)?t:t[S]);return function(e,n,t,o){return e.map((function(e,i){if("view"===e.type)return null;var r="string"===typeof n?n:n[o],c=!1;return e.disableButtonFunction&&e.disableButtonFunction(r)&&(c=!0),e.showLoaderFunction&&e.showLoaderFunction(r)?(0,T.jsx)("div",{className:"progress-enabled",children:(0,T.jsx)(_.Z,{style:{width:18,height:18}},"actions-loader-".concat(e.type,"-").concat(i.toString()))}):(0,T.jsx)(H,{label:e.label,type:e.type,onClick:e.onClick,to:e.to,valueToSend:n,selected:t,idField:o,sendOnlyId:!!e.sendOnlyId,disabled:c},"actions-".concat(e.type,"-").concat(i.toString()))}))}(n||[],t,o,S)}})]})}})}}):(0,T.jsx)(c.Fragment,{children:!v&&(0,T.jsx)("div",{id:"empty-results",children:""!==F?F:"There are no ".concat(j," yet.")})})]})})}))}}]);
-//# sourceMappingURL=2983.15e04479.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/2983.15e04479.chunk.js.map b/portal-ui/build/static/js/2983.15e04479.chunk.js.map
deleted file mode 100644
index 5cc47cf19..000000000
--- a/portal-ui/build/static/js/2983.15e04479.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/2983.15e04479.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CheckboxWrapper/CheckboxWrapper.tsx","screens/Console/Common/TableWrapper/TableActionIcons/common.ts","screens/Console/Common/TableWrapper/TableActionIcons/CloudIcon.tsx","screens/Console/Common/TableWrapper/TableActionIcons/ConsoleIcon.tsx","screens/Console/Common/TableWrapper/TableActionIcons/DisableIcon.tsx","screens/Console/Common/TableWrapper/TableActionIcons/FormatDriveIcon.tsx","screens/Console/Common/TableWrapper/TableActionButton.tsx","screens/Console/Common/TableWrapper/TableWrapper.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 .\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 overrideLabelClasses?: string;\n overrideCheckboxStyles?: React.CSSProperties;\n index?: number;\n noTopMargin?: boolean;\n checked: boolean;\n className?: string;\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 flexWrap: \"nowrap\",\n },\n noTopMargin: {\n marginTop: 0,\n },\n });\n\nconst CheckboxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n noTopMargin = false,\n tooltip = \"\",\n overrideLabelClasses = \"\",\n overrideCheckboxStyles,\n classes,\n className,\n}: CheckBoxProps) => {\n return (\n \n \n
\n {customEmptyMessage !== \"\"\n ? customEmptyMessage\n : `There are no ${entityName} yet.`}\n
\n )}\n \n )}\n \n \n \n );\n};\n\nexport default withStyles(styles)(TableWrapper);\n"],"names":["withStyles","theme","createStyles","fieldBasic","tooltipHelper","checkboxIcons","fieldContainer","display","justifyContent","alignItems","margin","marginBottom","flexBasis","flexWrap","noTopMargin","marginTop","label","onChange","value","id","name","checked","disabled","tooltip","overrideLabelClasses","overrideCheckboxStyles","classes","className","item","xs","color","inputProps","checkedIcon","icon","unCheckedIcon","disableRipple","disableFocusRipple","focusRipple","centerRipple","disableTouchRipple","style","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","unSelected","selected","active","xmlns","width","height","viewBox","fill","d","props","spacing","buttonDisabled","cursor","filter","opacity","type","onClick","valueToSend","idField","to","sendOnlyId","valueClick","EditIcon","TrashIcon","DownloadIcon","DisableIcon","defineIcon","buttonElement","IconButton","size","e","stopPropagation","preventDefault","Tooltip","isString","generateColumnsMap","columns","containerWidth","actionsWidth","hasSelect","hasActions","selectedItems","columnsSelector","columnsShown","sortColumn","sortDirection","commonRestWidth","colsItems","column","includes","elementKey","initialValue","reduce","total","currValue","el","length","calculateColumnRest","map","index","disableSort","enableSort","dataKey","headerClassName","headerTextAlign","headerRenderer","Fragment","ArrowDropUp","ArrowDropDown","contentTextAlign","cellRenderer","rowData","isSelected","itemElement","get","renderConst","renderFullObject","renderElement","renderFunction","subRenderFunction","defaultSortDirection","toString","paper","overflow","flexDirection","padding","boxShadow","border","borderRadius","minHeight","overflowY","position","noBackground","backgroundColor","defaultPaperHeight","loadingBox","paddingTop","paddingBottom","overlayColumnSelection","right","top","popoverContent","maxHeight","shownColumnsLabel","fontSize","borderBottom","checkAllWrapper","transitionDuration","outline","userSelect","fontWeight","fontStyle","borderColor","textTransform","textAlign","left","radioIcons","itemActions","onSelect","records","isLoading","loadingMessage","Typography","component","entityName","radioSelection","customEmptyMessage","customPaperHeight","textSelectable","onColumnChange","state","infiniteScrollConfig","sortConfig","autoScrollToBottom","onSelectAll","rowStyle","parentClassName","navigate","useNavigate","useState","columnSelectorOpen","setColumnSelectorOpen","React","anchorEl","setAnchorEl","findView","find","openColumnsSelector","event","currentTarget","closeColumnSelector","Grid","TooltipWrapper","Paper","container","LinearProgress","ViewColumn","Popover","open","anchorOrigin","vertical","horizontal","transformOrigin","onClose","CheckboxWrapper","target","columnsSelection","isRowLoaded","loadMoreRows","loadMoreRecords","Promise","rowCount","recordsCount","onRowsRendered","registerChild","optionsWidth","totalOptions","sizeOptions","calculateOptionsSize","hasOptions","ref","disableHeader","headerHeight","noRowsRenderer","overscanRowCount","rowHeight","rowGetter","onRowClick","rowItem","disableButtonFunction","clickAction","rowClassName","sort","triggerSort","undefined","sortBy","currentSort","currentDirection","scrollToIndex","r","returnElement","TableRowPredefStyles","Checkbox","radioSelectedIcon","radioUnselectedIcon","actions","action","vlSend","showLoaderFunction","Loader","elementActions"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/3097.c51c1e97.chunk.js b/portal-ui/build/static/js/3097.c51c1e97.chunk.js
deleted file mode 100644
index 4a30ecf41..000000000
--- a/portal-ui/build/static/js/3097.c51c1e97.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3097,9478],{23804:function(e,t,n){n(72791);var o=n(11135),i=n(25787),r=n(61889),a=n(80184);t.Z=(0,i.Z)((function(e){return(0,o.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,n=e.iconComponent,o=e.title,i=e.help;return(0,a.jsx)("div",{className:t.root,children:(0,a.jsxs)(r.ZP,{container:!0,children:[(0,a.jsxs)(r.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,o]}),(0,a.jsx)(r.ZP,{item:!0,xs:12,className:t.helpText,children:i})]})})}))},57314:function(e,t,n){var o=n(1413),i=n(72791),r=n(61889),a=n(30829),l=n(20068),s=n(27391),c=n(11135),u=n(25787),d=n(23814),p=n(84570),m=n(80184);t.Z=(0,u.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},d.YI),d.Hr),{},{inputLabel:(0,o.Z)((0,o.Z)({},d.YI.inputLabel),{},{fontSize:14,margin:0,alignItems:"flex-start",paddingTop:"20px",flexWrap:"wrap",display:"flex"}),textBoxContainer:{flexGrow:1,position:"relative"},cssOutlinedInput:{borderColor:"#EAEAEA",padding:16},rootContainer:{"& .MuiOutlinedInput-inputMultiline":(0,o.Z)((0,o.Z)({},d.YI.inputLabel),{},{fontSize:13,minHeight:150}),"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"#07193E",borderWidth:1},"& textarea":{color:"#07193E",fontSize:13,fontWeight:600,"&:placeholder":{color:"#858585",opacity:1,fontWeight:400}}}}))}))((function(e){var t=e.label,n=e.onChange,o=e.value,c=e.id,u=e.name,d=e.disabled,f=void 0!==d&&d,h=e.tooltip,g=void 0===h?"":h,x=e.index,b=void 0===x?0:x,v=e.error,y=void 0===v?"":v,Z=e.required,j=void 0!==Z&&Z,_=e.placeholder,C=void 0===_?"":_,E=e.classes,w={"data-index":b};return(0,m.jsx)(i.Fragment,{children:(0,m.jsxs)(r.ZP,{item:!0,xs:12,className:"".concat(E.fieldContainer," ").concat(""!==y?E.errorInField:""),children:[""!==t&&(0,m.jsxs)(a.Z,{htmlFor:c,className:E.inputLabel,children:[(0,m.jsxs)("span",{children:[t,j?"*":""]}),""!==g&&(0,m.jsx)("div",{className:E.tooltipContainer,children:(0,m.jsx)(l.Z,{title:g,placement:"top-start",children:(0,m.jsx)("div",{className:E.tooltip,children:(0,m.jsx)(p.Z,{})})})})]}),(0,m.jsx)("div",{className:E.textBoxContainer,children:(0,m.jsx)(s.Z,{id:c,name:u,fullWidth:!0,value:o,disabled:f,onChange:n,multiline:!0,rows:5,inputProps:w,error:""!==y,helperText:y,placeholder:C,InputLabelProps:{shrink:!0},InputProps:{classes:{notchedOutline:E.cssOutlinedInput,root:E.rootContainer}},variant:"outlined"})})]})})}))},50276:function(e,t,n){var o=n(1413),i=n(29439),r=n(72791),a=n(64554),l=n(43896),s=n(83449),c=n(47283),u=n(82851),d=n(25787),p=n(13967),m=n(11135),f=n(95193),h=n(16871),g=n(80184),x={minHeight:60};t.Z=(0,d.Z)((function(e){return(0,m.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,m=void 0===d?"0":d,b=e.routes,v=e.isRouteTabs,y=(0,p.Z)(),Z=(0,h.TH)().pathname,j=void 0===Z?"":Z,_=(0,f.Z)(y.breakpoints.down("md")),C=(0,r.useState)(m),E=(0,i.Z)(C,2),w=E[0],k=E[1],S=[],N=[];if((0,r.useEffect)((function(){if(v){var e=t.find((function(e){return e.tabConfig.to===j}));e&&k(e.tabConfig.value)}}),[v,t,j]),!t)return null;t.forEach((function(e){S.push(e.tabConfig),N.push(e.content)}));return(0,g.jsx)(s.ZP,{value:"".concat(w),children:(0,g.jsxs)(a.Z,{className:n.tabsContainer,children:[(0,g.jsx)(a.Z,{className:n.tabsHeaderContainer,children:(0,g.jsx)(c.Z,{onChange:function(e,t){k(t)},orientation:_?"horizontal":"vertical",variant:_?"scrollable":"standard",scrollButtons:"auto",className:n.tabList,children:S.map((function(e,t){return e?(0,g.jsx)(l.Z,(0,o.Z)((0,o.Z)({className:n.tabHeader,value:"".concat(t),style:x},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(t)):null}))})}),(0,g.jsxs)(a.Z,{className:n.tabContentContainer,children:[v?null:N.map((function(e,t){return(0,g.jsx)(u.Z,{classes:(0,o.Z)({},n.tabPanel),value:"".concat(t),children:e||null},"v-tab-p-".concat(t))})),v?(0,g.jsx)("div",{className:n.tabPanel,children:b}):null]})]})})}))},63097:function(e,t,n){n.r(t),n.d(t,{default:function(){return R}});var o=n(1413),i=n(72791),r=n(11135),a=n(25787),l=n(61889),s=n(58493),c=n(23814),u=n(32291),d=n(23804),p=n(38734),m=n(16871),f=n(43504),h=n(50276),g=n(74794),x=n(14917),b=n(29439),v=n(75952),y=n(26181),Z=n.n(y),j=n(64554),_=n(81207),C=n(29478),E=n(40986),w=n(51691),k=n(23508),S=n(87995),N=n(25469),q=n(80184),T=(0,a.Z)((function(e){return(0,r.Z)((0,o.Z)({wrapText:{maxWidth:"200px",whiteSpace:"normal",wordWrap:"break-word"}},c.Qw))}))((function(e){var t=e.classes,n=e.configurationName,o=e.closeResetModalAndRefresh,r=e.resetOpen,a=(0,N.TL)(),l=(0,i.useState)(!1),s=(0,b.Z)(l,2),c=s[0],u=s[1];(0,i.useEffect)((function(){c&&_.Z.invoke("POST","/api/v1/configs/".concat(n,"/reset")).then((function(e){u(!1),o(!0)})).catch((function(e){u(!1),a((0,S.Ih)(e))}))}),[o,n,c,a]);return(0,q.jsx)(k.Z,{title:"Restore Defaults",confirmText:"Yes, Reset Configuration",isOpen:r,titleIcon:(0,q.jsx)(p.NvT,{}),isLoading:c,onConfirm:function(){u(!0)},onClose:function(){o(!1)},confirmationContent:(0,q.jsxs)(i.Fragment,{children:[c&&(0,q.jsx)(E.Z,{}),(0,q.jsxs)(w.Z,{children:["Are you sure you want to restore these configurations to default values?",(0,q.jsx)("br",{}),(0,q.jsx)("b",{className:t.wrapText,children:"Please note that this may cause your system to not be accessible"})]})]})})})),A=n(72401),P=n(92983),I=(0,a.Z)((function(e){return(0,r.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},c.YI),c.Je),{},{settingsFormContainer:{display:"grid",gridTemplateColumns:"1fr",gridGap:"10px"}}))}))((function(e){var t=e.classes,n=e.configSubsysList,o=(e.className,(0,i.useState)([])),r=(0,b.Z)(o,2),a=r[0],l=r[1];return(0,i.useEffect)((function(){var e=[];null!==n&&(n.forEach((function(t){null!==t.name&&null!==t.key_values&&(e.push({name:t.name,endpoint:t.key_values[0].value}),"off"===t.key_values[0].value&&(e=[]))})),l(e))}),[n]),(0,q.jsxs)(i.Fragment,{children:[(0,q.jsx)("h3",{children:"Currently Configured Endpoints"}),(0,q.jsx)(P.Z,{columns:[{label:"Name",elementKey:"name"},{label:"Endpoint",elementKey:"endpoint"}],idField:"config-id",isLoading:!1,records:a,classes:t,entityName:"endpoints"})]})})),D=(0,a.Z)((function(e){return(0,r.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},c.YI),c.Je),{},{settingsFormContainer:{display:"grid",gridTemplateColumns:"1fr",gridGap:"10px"}}))}))((function(e){var t=e.selectedConfiguration,n=e.classes,o=e.className,r=void 0===o?"":o,a=(0,N.TL)(),c=(0,m.s0)(),u=(0,m.TH)().pathname,d=void 0===u?"":u,p=d.substring(d.lastIndexOf("/")+1);p="settings"===p?"region":p;var f=(0,i.useState)([]),h=(0,b.Z)(f,2),g=h[0],x=h[1],y=(0,i.useState)(!1),E=(0,b.Z)(y,2),w=E[0],k=E[1],P=(0,i.useState)(!0),D=(0,b.Z)(P,2),L=D[0],M=D[1],R=(0,i.useState)([]),F=(0,b.Z)(R,2),W=F[0],B=F[1],O=(0,i.useState)([]),H=(0,b.Z)(O,2),Y=H[0],z=H[1],U=(0,i.useState)(!1),G=(0,b.Z)(U,2),V=G[0],K=G[1];(0,i.useEffect)((function(){M(!0)}),[p]),(0,i.useEffect)((function(){if(L){var e=Z()(t,"configuration_id",!1);if(e)return void _.Z.invoke("GET","/api/v1/configs/".concat(e)).then((function(e){z(e);var t=Z()(e[0],"key_values",[]);B(t),M(!1)})).catch((function(e){M(!1),a((0,S.Ih)(e))}));M(!1)}}),[L,t,a]),(0,i.useEffect)((function(){if(w){var e={key_values:(0,s.DD)(g)};_.Z.invoke("PUT","/api/v1/configs/".concat(t.configuration_id),e).then((function(e){k(!1),a((0,S.cN)(e.restart)),e.restart||a((0,S.y1)("Configuration saved successfully"))})).catch((function(e){k(!1),a((0,S.Ih)(e))}))}}),[w,a,t,g,c]);var J=(0,i.useCallback)((function(e){x(e)}),[x]);return(0,q.jsxs)(i.Fragment,{children:[V&&(0,q.jsx)(T,{configurationName:t.configuration_id,closeResetModalAndRefresh:function(e){K(!1),a((0,S.cN)(e)),e&&M(!0)},resetOpen:V}),L?(0,q.jsx)(l.ZP,{item:!0,xs:12,sx:{textAlign:"center",paddingTop:"15px"},children:(0,q.jsx)(A.Z,{})}):(0,q.jsx)(j.Z,{sx:{padding:"15px",height:"100%"},children:(0,q.jsxs)("form",{noValidate:!0,onSubmit:function(e){e.preventDefault(),k(!0)},className:r,style:{height:"100%",display:"flex",flexFlow:"column"},children:[(0,q.jsxs)(l.ZP,{item:!0,xs:12,className:n.settingsFormContainer,children:[(0,q.jsx)(C.default,{fields:s.DP[t.configuration_id],onChange:J,defaultVals:W}),("logger_webhook"===t.configuration_id||"audit_webhook"===t.configuration_id)&&(0,q.jsx)(I,{classes:n,configSubsysList:Y})]}),(0,q.jsxs)(l.ZP,{item:!0,xs:12,sx:{paddingTop:"15px ",textAlign:"right",maxHeight:"60px",display:"flex",alignItems:"center",justifyContent:"flex-end"},children:[(0,q.jsx)(v.z,{id:"restore-defaults",variant:"secondary",onClick:function(){K(!0)},label:"Restore Defaults"}),"\xa0 \xa0",(0,q.jsx)(v.z,{id:"save",type:"submit",variant:"callAction",disabled:w,label:"Save"})]})]})})]})})),L=function(){var e=(0,m.TH)().pathname,t=void 0===e?"":e,n=t.substring(t.lastIndexOf("/")+1),o=s.bx.find((function(e){return e.configuration_id===n})),i="".concat(n);return(0,q.jsx)(l.ZP,{item:!0,xs:12,sx:{height:"100%","& .identity_ldap, .api":{"& label":{minWidth:220,marginRight:0}}},children:o&&(0,q.jsx)(D,{className:"".concat(i),selectedConfiguration:o})})},M=n(56087),R=(0,a.Z)((function(e){return(0,r.Z)((0,o.Z)((0,o.Z)((0,o.Z)({settingsOptionsContainer:{display:"flex",flexDirection:"row",justifyContent:"flex-start",flexWrap:"wrap",border:"#E5E5E5 1px solid",borderRadius:2,backgroundColor:"#fff"}},c.qg),c.OR),(0,c.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,n=(0,m.TH)().pathname,o=void 0===n?"":n,r=o.substring(o.lastIndexOf("/")+1);return r="settings"===r?"region":r,(0,q.jsxs)(i.Fragment,{children:[(0,q.jsx)(u.Z,{label:"Configurations"}),(0,q.jsxs)(g.Z,{children:[(0,q.jsx)(l.ZP,{item:!0,xs:12,children:(0,q.jsxs)("div",{id:"settings-container",className:t.settingsOptionsContainer,children:[(0,q.jsx)(x.Z,{icon:(0,q.jsx)(p.ewm,{}),title:"Configuration:"}),(0,q.jsx)(h.Z,{selectedTab:r,isRouteTabs:!0,routes:(0,q.jsxs)(m.Z5,{children:[s.bx.map((function(e){return(0,q.jsx)(m.AW,{path:"".concat(e.configuration_id),element:(0,q.jsx)(L,{})},"configItem-".concat(e.configuration_label))})),(0,q.jsx)(m.AW,{path:"/",element:(0,q.jsx)(m.Fg,{to:"".concat(M.gA.SETTINGS,"/region")})})]}),children:s.bx.map((function(e){var t,n=e.configuration_id;return{tabConfig:{label:e.configuration_label,value:n,icon:e.icon,component:f.rU,to:(t=n,"".concat(M.gA.SETTINGS,"/").concat(t))}}}))})]})}),(0,q.jsx)(l.ZP,{item:!0,xs:12,sx:{paddingTop:"15px"},children:(0,q.jsx)(d.Z,{title:"Learn more about Configurations",iconComponent:(0,q.jsx)(p.ewm,{}),help:(0,q.jsxs)(i.Fragment,{children:["MinIO supports a variety of configurations ranging from encryption, compression, region, notifications, etc.",(0,q.jsx)("br",{}),(0,q.jsx)("br",{}),"You can learn more at our"," ",(0,q.jsx)("a",{href:"https://min.io/docs/minio/linux/reference/minio-mc-admin/mc-admin-config.html?ref=con#id4",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})})]})]})}))},58493:function(e,t,n){n.d(t,{DD:function(){return b},DP:function(){return x},_0:function(){return v},bx:function(){return g}});var o=n(93433),i=(n(72791),n(87569)),r=n(59314),a=n(61809),l=n(31292),s=n(98095),c=n(67055),u=n(21141),d=n(61248),p=n(50521),m=n(36909),f=n(13901),h=n(80184),g=[{icon:(0,h.jsx)(i.Z,{}),configuration_id:"region",configuration_label:"Region"},{icon:(0,h.jsx)(r.Z,{}),configuration_id:"cache",configuration_label:"Cache"},{icon:(0,h.jsx)(a.Z,{}),configuration_id:"compression",configuration_label:"Compression"},{icon:(0,h.jsx)(l.Z,{}),configuration_id:"api",configuration_label:"API"},{icon:(0,h.jsx)(s.Z,{}),configuration_id:"heal",configuration_label:"Heal"},{icon:(0,h.jsx)(c.Z,{}),configuration_id:"scanner",configuration_label:"Scanner"},{icon:(0,h.jsx)(u.Z,{}),configuration_id:"etcd",configuration_label:"Etcd"},{icon:(0,h.jsx)(d.Z,{}),configuration_id:"identity_openid",configuration_label:"Identity Openid"},{icon:(0,h.jsx)(p.Z,{}),configuration_id:"identity_ldap",configuration_label:"Identity LDAP"},{icon:(0,h.jsx)(f.Z,{}),configuration_id:"logger_webhook",configuration_label:"Logger Webhook"},{icon:(0,h.jsx)(m.Z,{}),configuration_id:"audit_webhook",configuration_label:"Audit Webhook"}],x={region:[{name:"name",required:!0,label:"Server Location",tooltip:'Name of the location of the server e.g. "us-west-rack2"',type:"string",placeholder:"e.g. us-west-rack-2"},{name:"comment",required:!1,label:"Comment",tooltip:"You can add a comment to this setting",type:"comment",placeholder:"Enter custom notes if any"}],cache:[{name:"drives",required:!0,label:"Drives",tooltip:'Mountpoints e.g. "/optane1" or "/optane2", you can write one per field',type:"csv",placeholder:"Enter Mount Point"},{name:"expiry",required:!1,label:"Expiry",tooltip:'Cache expiry duration in days e.g. "90"',type:"number",placeholder:"Enter Number of Days"},{name:"quota",required:!1,label:"Quota",tooltip:'Limit cache drive usage in percentage e.g. "90"',type:"number",placeholder:"Enter in %"},{name:"exclude",required:!1,label:"Exclude",tooltip:'Wildcard exclusion patterns e.g. "bucket/*.tmp" or "*.exe", you can write one per field',type:"csv",placeholder:"Enter Wildcard Exclusion Patterns"},{name:"after",required:!1,label:"After",tooltip:"Minimum number of access before caching an object",type:"number",placeholder:"Enter Number of Attempts"},{name:"watermark_low",required:!1,label:"Watermark Low",tooltip:"Watermark Low",type:"number",placeholder:"Enter Watermark Low"},{name:"watermark_high",required:!1,label:"Watermark High",tooltip:"Watermark High",type:"number",placeholder:"Enter Watermark High"},{name:"comment",required:!1,label:"Comment",tooltip:"You can add a comment to this setting",type:"comment",multiline:!0,placeholder:"Enter custom notes if any"}],compression:[{name:"extensions",required:!1,label:"Extensions",tooltip:'Extensions to compress e.g. ".txt",".log" or ".csv", you can write one per field',type:"csv",placeholder:"Enter an Extension",withBorder:!0},{name:"mime_types",required:!1,label:"Mime Types",tooltip:'Mime types e.g. "text/*","application/json" or "application/xml", you can write one per field',type:"csv",placeholder:"Enter a Mime Type",withBorder:!0}],api:[{name:"requests_max",required:!1,label:"Requests Max",tooltip:"Maximum number of concurrent requests, e.g. '1600'",type:"number",placeholder:"Enter Requests Max"},{name:"cors_allow_origin",required:!1,label:"Cors Allow Origin",tooltip:"List of origins allowed for CORS requests",type:"csv",placeholder:"Enter allowed origin e.g. https://example.com"},{name:"replication_workers",required:!1,label:"Replication Workers",tooltip:"Number of replication workers, defaults to 100",type:"number",placeholder:"Enter Replication Workers"},{name:"replication_failed_workers",required:!1,label:"Replication Failed Workers",tooltip:"Number of replication workers for recently failed replicas, defaults to 4",type:"number",placeholder:"Enter Replication Failed Workers"}],heal:[{name:"bitrotscan",required:!1,label:"Bitrot Scan",tooltip:"Perform bitrot scan on disks when checking objects during scanner",type:"on|off"},{name:"max_sleep",required:!1,label:"Max Sleep",tooltip:"Maximum sleep duration between objects to slow down heal operation. eg. 2s",type:"duration",placeholder:"Enter Max Sleep duration"},{name:"max_io",required:!1,label:"Max IO",tooltip:"Maximum IO requests allowed between objects to slow down heal operation. eg. 3",type:"number",placeholder:"Enter Max IO"}],scanner:[{name:"delay",required:!1,label:"Delay multiplier",tooltip:"Scanner delay multiplier, defaults to '10.0'",type:"number",placeholder:"Enter Delay"},{name:"max_wait",required:!1,label:"Max Wait",tooltip:"Maximum wait time between operations, defaults to '15s'",type:"duration",placeholder:"Enter Max Wait"},{name:"cycle",required:!1,label:"Cycle",tooltip:"Time duration between scanner cycles, defaults to '1m'",type:"duration",placeholder:"Enter Cycle"}],etcd:[{name:"endpoints",required:!0,label:"Endpoints",tooltip:'List of etcd endpoints e.g. "http://localhost:2379", you can write one per field',type:"csv",placeholder:"Enter Endpoint"},{name:"path_prefix",required:!1,label:"Path Prefix",tooltip:'Namespace prefix to isolate tenants e.g. "customer1/"',type:"string",placeholder:"Enter Path Prefix"},{name:"coredns_path",required:!1,label:"Coredns Path",tooltip:'Shared bucket DNS records, default is "/skydns"',type:"string",placeholder:"Enter Coredns Path"},{name:"client_cert",required:!1,label:"Client Cert",tooltip:"Client cert for mTLS authentication",type:"string",placeholder:"Enter Client Cert"},{name:"client_cert_key",required:!1,label:"Client Cert Key",tooltip:"Client cert key for mTLS authentication",type:"string",placeholder:"Enter Client Cert Key"},{name:"comment",required:!1,label:"Comment",tooltip:"You can add a comment to this setting",type:"comment",multiline:!0,placeholder:"Enter custom notes if any"}],identity_openid:[{name:"config_url",required:!1,label:"Config URL",tooltip:"Config URL for identity provider configuration",type:"string",placeholder:"https://identity-provider-url/.well-known/openid-configuration"},{name:"client_id",required:!1,label:"Client ID",type:"string",placeholder:"Enter Client ID"},{name:"client_secret",required:!1,label:"Secret ID",type:"string",placeholder:"Enter Secret ID"},{name:"claim_name",required:!1,label:"Claim Name",tooltip:"Claim from which MinIO will read the policy or role to use",type:"string",placeholder:"Enter Claim Name"},{name:"claim_prefix",required:!1,label:"Claim Prefix",tooltip:"Claim Prefix",type:"string",placeholder:"Enter Claim Prefix"},{name:"claim_userinfo",required:!1,label:"Claim UserInfo",type:"on|off"},{name:"redirect_uri",required:!1,label:"Redirect URI",type:"string",placeholder:"https://console-endpoint-url/oauth_callback"},{name:"scopes",required:!1,label:"Scopes",type:"string",placeholder:"openid,profile,email"}],identity_ldap:[{name:"server_addr",required:!0,label:"Server Addr",tooltip:'AD/LDAP server address e.g. "myldapserver.com:636"',type:"string",placeholder:"myldapserver.com:636"},{name:"tls_skip_verify",required:!1,label:"TLS Skip Verify",tooltip:'Trust server TLS without verification, defaults to "off" (verify)',type:"on|off"},{name:"server_insecure",required:!1,label:"Server Insecure",tooltip:'Allow plain text connection to AD/LDAP server, defaults to "off"',type:"on|off"},{name:"server_starttls",required:!1,label:"Start TLS connection to AD/LDAP server",tooltip:"Use StartTLS connection to AD/LDAP server",type:"on|off"},{name:"lookup_bind_dn",required:!0,label:"Lookup Bind DN",tooltip:"DN for LDAP read-only service account used to perform DN and group lookups",type:"string",placeholder:"cn=admin,dc=min,dc=io"},{name:"lookup_bind_password",required:!1,label:"Lookup Bind Password",tooltip:"Password for LDAP read-only service account used to perform DN and group lookups",type:"string",placeholder:"admin"},{name:"user_dn_search_base_dn",required:!1,label:"User DN Search Base DN",tooltip:"Base LDAP DN to search for user DN",type:"csv",placeholder:"dc=myldapserver"},{name:"user_dn_search_filter",required:!1,label:"User DN Search Filter",tooltip:"Search filter to lookup user DN",type:"string",placeholder:"(sAMAcountName=%s)"},{name:"group_search_filter",required:!1,label:"Group Search Filter",tooltip:"Search filter for groups",type:"string",placeholder:"(&(objectclass=groupOfNames)(member=%d))"},{name:"group_search_base_dn",required:!1,label:"Group Search Base DN",tooltip:"List of group search base DNs",type:"csv",placeholder:"dc=minioad,dc=local"},{name:"comment",required:!1,label:"Comment",tooltip:"Optionally add a comment to this setting",type:"comment",placeholder:"Enter custom notes if any"}],logger_webhook:[{name:"endpoint",required:!0,label:"Endpoint",type:"string",placeholder:"Enter Endpoint"},{name:"auth_token",required:!0,label:"Auth Token",type:"string",placeholder:"Enter Auth Token"}],audit_webhook:[{name:"endpoint",required:!0,label:"Endpoint",type:"string",placeholder:"Enter Endpoint"},{name:"auth_token",required:!0,label:"Auth Token",type:"string",placeholder:"Enter Auth Token"}]},b=function(e){return e.filter((function(e){return""!==e.value}))},v=function(e,t,n){var i=e.target,r=i.value,a=i.checked,l=(0,o.Z)(n);return a?l.push(r):l=l.filter((function(e){return e!==r})),t(l),l}},29478:function(e,t,n){n.r(t),n.d(t,{default:function(){return _},valueDef:function(){return j}});var o=n(93433),i=n(29439),r=n(1413),a=n(72791),l=n(11135),s=n(25787),c=n(61889),u=n(23814),d=n(21435),p=n(26181),m=n.n(p),f=n(30829),h=n(20068),g=n(84570),x=n(47919),b=n(80184),v=(0,s.Z)((function(e){return(0,l.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},u.YI),u.Hr),{},{inputWithBorder:{border:"1px solid #EAEAEA",padding:15,height:150,overflowY:"auto",position:"relative",marginTop:15,flex:1},inputBoxSpacer:{marginBottom:7},inputLabel:(0,r.Z)((0,r.Z)({},u.YI.inputLabel),{},{margin:0,alignItems:"flex-start",paddingTop:"20px",minWidth:162})}))}))((function(e){var t=e.elements,n=e.name,r=e.label,l=e.tooltip,s=void 0===l?"":l,u=e.commonPlaceholder,p=void 0===u?"":u,v=e.onChange,y=e.withBorder,Z=void 0!==y&&y,j=e.classes,_=(0,a.useState)([""]),C=(0,i.Z)(_,2),E=C[0],w=C[1],k=(0,a.createRef)();(0,a.useEffect)((function(){if(1===E.length&&""===E[0]&&t&&""!==t){var e=t.split(",");e.push(""),w(e)}}),[t,E]),(0,a.useEffect)((function(){if(E.length>1){var e=k.current;e&&e.scrollIntoView(!1)}}),[E,k]);var S=(0,a.useCallback)((function(e){v(e)}),[v]),N=(0,a.useRef)(!0);(0,a.useEffect)((function(){if(N.current)N.current=!1;else{var e=E.filter((function(e){return""!==e.trim()})).join(",");S(e)}}),[E]);var q=function(e){e.persist();var t=(0,o.Z)(E);t[m()(e.target,"dataset.index",0)]=e.target.value,w(t)},T=E.map((function(e,t){return(0,b.jsx)("div",{className:j.inputBoxSpacer,children:(0,b.jsx)(d.Z,{id:"".concat(n,"-").concat(t.toString()),label:"",name:"".concat(n,"-").concat(t.toString()),value:E[t],onChange:q,index:t,placeholder:p,overlayIcon:t===E.length-1?(0,b.jsx)(x.Z,{}):null,overlayAction:function(){!function(e){if(""!==e[e.length-1].trim()){var t=(0,o.Z)(e);t.push(""),w(t)}}(E)}},"csv-".concat(n,"-").concat(t.toString()))},"csv-multi-".concat(n,"-").concat(t.toString()))}));return(0,b.jsx)(a.Fragment,{children:(0,b.jsxs)(c.ZP,{item:!0,xs:12,className:j.fieldContainer,children:[(0,b.jsxs)(f.Z,{className:j.inputLabel,children:[(0,b.jsx)("span",{children:r}),""!==s&&(0,b.jsx)("div",{className:j.tooltipContainer,children:(0,b.jsx)(h.Z,{title:s,placement:"top-start",children:(0,b.jsx)("div",{className:j.tooltip,children:(0,b.jsx)(g.Z,{})})})})]}),(0,b.jsxs)(c.ZP,{item:!0,xs:12,className:"".concat(Z?j.inputWithBorder:""),children:[T,(0,b.jsx)("div",{ref:k})]})]})})})),y=n(57314),Z=n(37516),j=function(e,t,n){var o="on|off"===t?"off":"";if(n.length>0){var i=n.find((function(t){return t.key===e}));i&&(o=i.value||"")}return o},_=(0,s.Z)((function(e){return(0,l.Z)((0,r.Z)((0,r.Z)({},u.DF),{},{formFieldRow:(0,r.Z)({},u.DF.formFieldRow)},u.oO))}))((function(e){var t=e.onChange,n=e.fields,r=e.defaultVals,l=e.classes,s=(0,a.useState)([]),u=(0,i.Z)(s,2),p=u[0],m=u[1],f=n||[],h=r||[];(0,a.useEffect)((function(){var e=n.map((function(e){return{key:e.name,value:j(e.name,e.type,h)}}));m(e)}),[n,r]),(0,a.useEffect)((function(){t(p)}),[p]);var g=function(e,t,n){var i=(0,o.Z)(p);i[n]={key:e,value:t},m(i)},x=function(e,t){switch(e.type){case"on|off":var n=p[t]?p[t].value:"off";return(0,b.jsx)(Z.Z,{onChange:function(n){var o=n.target.checked?"on":"off";g(e.name,o,t)},id:e.name,name:e.name,label:e.label,value:"switch_on",tooltip:e.tooltip,checked:"on"===n});case"csv":return(0,b.jsx)(v,{elements:p[t]?p[t].value:"",label:e.label,name:e.name,onChange:function(n){g(e.name,n,t)},tooltip:e.tooltip,commonPlaceholder:e.placeholder,withBorder:!0});case"comment":return(0,b.jsx)(y.Z,{id:e.name,name:e.name,label:e.label,tooltip:e.tooltip,value:p[t]?p[t].value:"",onChange:function(n){return g(e.name,n.target.value,t)},placeholder:e.placeholder});default:return(0,b.jsx)(d.Z,{id:e.name,name:e.name,label:e.label,tooltip:e.tooltip,value:p[t]?p[t].value:"",onChange:function(n){return g(e.name,n.target.value,t)},multiline:!!e.multiline,placeholder:e.placeholder})}};return(0,b.jsx)(c.ZP,{container:!0,children:(0,b.jsx)(c.ZP,{xs:12,item:!0,className:l.fieldBox,children:f.map((function(e,t){return(0,b.jsx)(c.ZP,{item:!0,xs:12,className:l.formFieldRow,children:x(e,t)},e.name)}))})})}))}}]);
-//# sourceMappingURL=3097.c51c1e97.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/3097.c51c1e97.chunk.js.map b/portal-ui/build/static/js/3097.c51c1e97.chunk.js.map
deleted file mode 100644
index c43264683..000000000
--- a/portal-ui/build/static/js/3097.c51c1e97.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/3097.c51c1e97.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","screens/Console/NotificationEndpoints/CustomForms/ResetConfigurationModal.tsx","screens/Console/NotificationEndpoints/CustomForms/EndpointDisplay.tsx","screens/Console/NotificationEndpoints/CustomForms/EditConfiguration.tsx","screens/Console/Configurations/ConfigurationPanels/ConfigurationForm.tsx","screens/Console/Configurations/ConfigurationPanels/ConfigurationOptions.tsx","screens/Console/Configurations/utils.tsx","screens/Console/Common/FormComponents/CSVMultiSelector/CSVMultiSelector.tsx","screens/Console/NotificationEndpoints/ConfTargetGeneric.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { 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 ) : null}\n \n \n \n );\n};\n\nexport default withStyles(styles)(VerticalTabs);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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\";\n\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 { deleteDialogStyles } from \"../../Common/FormComponents/common/styleLibrary\";\n\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wrapText: {\n maxWidth: \"200px\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n },\n ...deleteDialogStyles,\n });\n\ninterface IResetConfiguration {\n classes: any;\n configurationName: string;\n closeResetModalAndRefresh: (reloadConfiguration: boolean) => void;\n\n resetOpen: boolean;\n}\n\nconst ResetConfigurationModal = ({\n classes,\n configurationName,\n closeResetModalAndRefresh,\n resetOpen,\n}: IResetConfiguration) => {\n const dispatch = useAppDispatch();\n const [resetLoading, setResetLoading] = useState(false);\n\n useEffect(() => {\n if (resetLoading) {\n api\n .invoke(\"POST\", `/api/v1/configs/${configurationName}/reset`)\n .then((res) => {\n setResetLoading(false);\n closeResetModalAndRefresh(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setResetLoading(false);\n dispatch(setErrorSnackMessage(err));\n });\n }\n }, [closeResetModalAndRefresh, configurationName, resetLoading, dispatch]);\n\n const resetConfiguration = () => {\n setResetLoading(true);\n };\n\n return (\n }\n isLoading={resetLoading}\n onConfirm={resetConfiguration}\n onClose={() => {\n closeResetModalAndRefresh(false);\n }}\n confirmationContent={\n \n {resetLoading && }\n \n Are you sure you want to restore these configurations to default\n values?\n \n \n Please note that this may cause your system to not be accessible\n \n \n \n }\n />\n );\n};\n\nexport default withStyles(styles)(ResetConfigurationModal);\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\";\n\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\nimport {\n fieldBasic,\n settingsCommon,\n} from \"../../Common/FormComponents/common/styleLibrary\";\n\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...settingsCommon,\n settingsFormContainer: {\n display: \"grid\",\n gridTemplateColumns: \"1fr\",\n gridGap: \"10px\",\n },\n });\n\ninterface IEndpointDisplayProps {\n // selectedConfiguration: IConfigurationElement;\n classes: any;\n configSubsysList: any[];\n className?: string;\n}\n\nconst EndpointDisplay = ({\n // selectedConfiguration,\n classes,\n configSubsysList,\n className = \"\",\n}: IEndpointDisplayProps) => {\n const [configRecords, setConfigRecords] = useState([]);\n\n useEffect(() => {\n let records: any[] = [];\n if (configSubsysList !== null) {\n configSubsysList.forEach((config) => {\n if (config.name !== null && config.key_values !== null) {\n records.push({\n name: config.name,\n endpoint: config.key_values[0][\"value\"],\n });\n if (config.key_values[0][\"value\"] === \"off\") {\n records = [];\n }\n }\n });\n setConfigRecords(records);\n }\n }, [configSubsysList]);\n\n return (\n \n
Currently Configured Endpoints
\n\n \n \n );\n};\n\nexport default withStyles(styles)(EndpointDisplay);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Button } from \"mds\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Box } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport api from \"../../../../common/api\";\nimport ConfTargetGeneric from \"../ConfTargetGeneric\";\n\nimport {\n fieldBasic,\n settingsCommon,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport {\n fieldsConfigurations,\n removeEmptyFields,\n} from \"../../Configurations/utils\";\nimport {\n IConfigurationElement,\n IElementValue,\n} from \"../../Configurations/types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport ResetConfigurationModal from \"./ResetConfigurationModal\";\nimport {\n setErrorSnackMessage,\n setServerNeedsRestart,\n setSnackBarMessage,\n} from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\nimport Loader from \"../../Common/Loader/Loader\";\nimport EndpointDisplay from \"./EndpointDisplay\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...settingsCommon,\n settingsFormContainer: {\n display: \"grid\",\n gridTemplateColumns: \"1fr\",\n gridGap: \"10px\",\n },\n });\n\ninterface IAddNotificationEndpointProps {\n selectedConfiguration: IConfigurationElement;\n classes: any;\n className?: string;\n}\n\nconst EditConfiguration = ({\n selectedConfiguration,\n classes,\n className = \"\",\n}: IAddNotificationEndpointProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const { pathname = \"\" } = useLocation();\n\n let selConfigTab = pathname.substring(pathname.lastIndexOf(\"/\") + 1);\n selConfigTab = selConfigTab === \"settings\" ? \"region\" : selConfigTab;\n\n //Local States\n const [valuesObj, setValueObj] = useState([]);\n const [saving, setSaving] = useState(false);\n const [loadingConfig, setLoadingConfig] = useState(true);\n const [configValues, setConfigValues] = useState([]);\n const [configSubsysList, setConfigSubsysList] = useState([]);\n const [resetConfigurationOpen, setResetConfigurationOpen] =\n useState(false);\n\n useEffect(() => {\n setLoadingConfig(true);\n }, [selConfigTab]);\n\n useEffect(() => {\n if (loadingConfig) {\n const configId = get(selectedConfiguration, \"configuration_id\", false);\n\n if (configId) {\n api\n .invoke(\"GET\", `/api/v1/configs/${configId}`)\n .then((res) => {\n setConfigSubsysList(res);\n const keyVals = get(res[0], \"key_values\", []);\n setConfigValues(keyVals);\n setLoadingConfig(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingConfig(false);\n dispatch(setErrorSnackMessage(err));\n });\n\n return;\n }\n setLoadingConfig(false);\n }\n }, [loadingConfig, selectedConfiguration, dispatch]);\n\n useEffect(() => {\n if (saving) {\n const payload = {\n key_values: removeEmptyFields(valuesObj),\n };\n api\n .invoke(\n \"PUT\",\n `/api/v1/configs/${selectedConfiguration.configuration_id}`,\n payload\n )\n .then((res) => {\n setSaving(false);\n dispatch(setServerNeedsRestart(res.restart));\n if (!res.restart) {\n dispatch(setSnackBarMessage(\"Configuration saved successfully\"));\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setSaving(false);\n dispatch(setErrorSnackMessage(err));\n });\n }\n }, [saving, dispatch, selectedConfiguration, valuesObj, navigate]);\n\n //Fetch Actions\n const submitForm = (event: React.FormEvent) => {\n event.preventDefault();\n setSaving(true);\n };\n\n const onValueChange = useCallback(\n (newValue: IElementValue[]) => {\n setValueObj(newValue);\n },\n [setValueObj]\n );\n\n const continueReset = (restart: boolean) => {\n setResetConfigurationOpen(false);\n dispatch(setServerNeedsRestart(restart));\n if (restart) {\n setLoadingConfig(true);\n }\n };\n\n return (\n \n {resetConfigurationOpen && (\n \n )}\n {loadingConfig ? (\n \n \n \n ) : (\n \n \n \n )}\n \n );\n};\n\nexport default withStyles(styles)(EditConfiguration);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { useLocation } from \"react-router-dom\";\nimport Grid from \"@mui/material/Grid\";\nimport { configurationElements } from \"../utils\";\nimport EditConfiguration from \"../../NotificationEndpoints/CustomForms/EditConfiguration\";\n\nconst ConfigurationsList = () => {\n const { pathname = \"\" } = useLocation();\n\n const configName = pathname.substring(pathname.lastIndexOf(\"/\") + 1);\n\n const validActiveConfig = configurationElements.find(\n (element) => element.configuration_id === configName\n );\n const containerClassName = `${configName}`;\n return (\n \n {validActiveConfig && (\n \n )}\n \n );\n};\n\nexport default ConfigurationsList;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nimport { configurationElements } from \"../utils\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport HelpBox from \"../../../../common/HelpBox\";\nimport { SettingsIcon } from \"../../../../icons\";\nimport { Link, Navigate, Route, Routes, useLocation } from \"react-router-dom\";\nimport VerticalTabs from \"../../Common/VerticalTabs/VerticalTabs\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport ScreenTitle from \"../../Common/ScreenTitle/ScreenTitle\";\nimport ConfigurationForm from \"./ConfigurationForm\";\nimport { IAM_PAGES } from \"../../../../common/SecureComponent/permissions\";\n\ninterface IConfigurationOptions {\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n settingsOptionsContainer: {\n display: \"flex\" as const,\n flexDirection: \"row\" as const,\n justifyContent: \"flex-start\" as const,\n flexWrap: \"wrap\" as const,\n border: \"#E5E5E5 1px solid\",\n borderRadius: 2,\n backgroundColor: \"#fff\",\n },\n ...searchField,\n ...actionsTray,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst getRoutePath = (path: string) => {\n return `${IAM_PAGES.SETTINGS}/${path}`;\n};\n\nconst ConfigurationOptions = ({ classes }: IConfigurationOptions) => {\n const { pathname = \"\" } = useLocation();\n\n let selConfigTab = pathname.substring(pathname.lastIndexOf(\"/\") + 1);\n selConfigTab = selConfigTab === \"settings\" ? \"region\" : selConfigTab;\n\n return (\n \n \n\n \n \n