\ No newline at end of file
diff --git a/web-app/build/scripts/pdf.worker.min.mjs b/web-app/build/scripts/pdf.worker.min.mjs
index 40161952bb..3a7a2d2452 100644
--- a/web-app/build/scripts/pdf.worker.min.mjs
+++ b/web-app/build/scripts/pdf.worker.min.mjs
@@ -56796,7 +56796,7 @@ class WorkerMessageHandler {
infoRef: Q.trailer.getRaw("Info") || null,
info: e,
fileIds: Q.trailer.get("ID") || null,
- startXRef: E ? h : Q.lastXRefStreamPos ?? h,
+ startXRef: E ? h : (Q.lastXRefStreamPos ?? h),
filename: s,
};
}
diff --git a/web-app/build/static/js/2332.f3909952.chunk.js b/web-app/build/static/js/2332.f3909952.chunk.js
deleted file mode 100644
index f1caccd953..0000000000
--- a/web-app/build/static/js/2332.f3909952.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";(self.webpackChunkweb_app=self.webpackChunkweb_app||[]).push([[2332],{32332:(e,t,n)=>{n.r(t),n.d(t,{default:()=>j,emptyContent:()=>y});var a=n(65043),s=n(89923),l=n(73216),o=n(99161),r=n(64159),c=n(21383),i=n(77403),p=n(38375),x=n(48793),m=n(55968),d=n(56629),u=n(53518),h=n(70579);const y='{\n "bytes": ""\n}',j=()=>{const e=(0,c.jL)(),t=(0,l.Zp)(),[n,j]=(0,a.useState)(!1),[b,k]=(0,a.useState)(""),[f,C]=(0,a.useState)(y),S=""!==b.trim()&&-1===b.indexOf(" ");return(0,a.useEffect)((()=>{e((0,r.ph)("import_key"))}),[]),(0,h.jsx)(a.Fragment,{children:(0,h.jsxs)(s.xA9,{item:!0,xs:12,children:[(0,h.jsx)(x.A,{label:(0,h.jsx)(s.EGL,{onClick:()=>t(o.zZ.KMS_KEYS),label:"Keys"}),actions:(0,h.jsx)(m.A,{})}),(0,h.jsx)(s.Mxu,{children:(0,h.jsx)(s.Hbc,{title:"Import Key",icon:(0,h.jsx)(s.No_,{}),helpBox:(0,h.jsx)(p.A,{helpText:"Encryption Key",contents:["Import a cryptographic key in the Key Management Service server connected to MINIO."]}),children:(0,h.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:n=>{(n=>{j(!0),n.preventDefault();let a=JSON.parse(f);d.F.kms.kmsImportKey(b,a).then((e=>{t("".concat(o.zZ.KMS_KEYS))})).catch((async t=>{const n=await t.json();e((0,r.C9)((0,u.S)(n)))})).finally((()=>j(!1)))})(n)},children:[(0,h.jsx)(s.cl_,{id:"key-name",name:"key-name",label:"Key Name",autoFocus:!0,value:b,error:(e=>-1!==e.indexOf(" ")?"Key name cannot contain spaces":"")(b),onChange:e=>{k(e.target.value)}}),(0,h.jsx)(s.BYM,{label:"Set key Content",value:f,onChange:e=>{C(e)},editorHeight:"350px"}),(0,h.jsxs)(s.xA9,{item:!0,xs:12,sx:i.Uz.modalButtonBar,children:[(0,h.jsx)(s.$nd,{id:"clear",type:"button",variant:"regular",onClick:()=>{k(""),C("")},label:"Clear"}),(0,h.jsx)(s.$nd,{id:"import-key",type:"submit",variant:"callAction",color:"primary",disabled:n||!S,label:"Import"})]})]})})})]})})}},38375:(e,t,n)=>{n.d(t,{A:()=>o});var a=n(65043),s=n(89923),l=n(70579);const o=e=>{let{helpText:t,contents:n}=e;return(0,l.jsx)(s.lVp,{iconComponent:(0,l.jsx)(s.nag,{}),title:t,help:(0,l.jsx)(a.Fragment,{children:n.map((e=>(0,l.jsx)(s.azJ,{sx:{paddingBottom:"20px"},children:e})))})})}}}]);
-//# sourceMappingURL=2332.f3909952.chunk.js.map
\ No newline at end of file
diff --git a/web-app/build/static/js/2332.f3909952.chunk.js.map b/web-app/build/static/js/2332.f3909952.chunk.js.map
deleted file mode 100644
index 1c46f068bf..0000000000
--- a/web-app/build/static/js/2332.f3909952.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/2332.f3909952.chunk.js","mappings":"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","sources":["screens/Console/KMS/ImportKey.tsx","screens/Console/KMS/KMSHelpbox.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport {\n AddAccessRuleIcon,\n BackLink,\n Button,\n CodeEditor,\n FormLayout,\n Grid,\n InputBox,\n PageLayout,\n} from \"mds\";\nimport { useNavigate } from \"react-router-dom\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport { setErrorSnackMessage, setHelpName } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport { modalStyleUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport KMSHelpBox from \"./KMSHelpbox\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../HelpMenu\";\nimport { api } from \"api\";\nimport { ApiError, HttpResponse } from \"api/consoleApi\";\nimport { errorToHandler } from \"api/errors\";\n\nexport const emptyContent = '{\\n \"bytes\": \"\"\\n}';\n\nconst ImportKey = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const [loadingImport, setLoadingImport] = useState(false);\n const [keyName, setKeyName] = useState(\"\");\n const [keyContent, setKeyContent] = useState(emptyContent);\n\n const importRecord = (event: React.FormEvent) => {\n setLoadingImport(true);\n event.preventDefault();\n let data = JSON.parse(keyContent);\n\n api.kms\n .kmsImportKey(keyName, data)\n .then((_) => {\n navigate(`${IAM_PAGES.KMS_KEYS}`);\n })\n .catch(async (res: HttpResponse) => {\n const err = (await res.json()) as ApiError;\n dispatch(setErrorSnackMessage(errorToHandler(err)));\n })\n .finally(() => setLoadingImport(false));\n };\n\n const resetForm = () => {\n setKeyName(\"\");\n setKeyContent(\"\");\n };\n\n const validateKeyName = (keyName: string) => {\n if (keyName.indexOf(\" \") !== -1) {\n return \"Key name cannot contain spaces\";\n } else return \"\";\n };\n\n const validSave = keyName.trim() !== \"\" && keyName.indexOf(\" \") === -1;\n\n useEffect(() => {\n dispatch(setHelpName(\"import_key\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n \n navigate(IAM_PAGES.KMS_KEYS)}\n label={\"Keys\"}\n />\n }\n actions={}\n />\n \n }\n helpBox={\n \n }\n >\n \n \n \n \n \n );\n};\n\nexport default ImportKey;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { HelpBox, HelpIconFilled, Box } from \"mds\";\n\ninterface IKMSHelpBoxProps {\n helpText: string;\n contents: string[];\n}\n\nconst KMSHelpBox = ({ helpText, contents }: IKMSHelpBoxProps) => {\n return (\n }\n title={helpText}\n help={\n \n {contents.map((content) => (\n {content}\n ))}\n \n }\n />\n );\n};\n\nexport default KMSHelpBox;\n"],"names":["emptyContent","ImportKey","dispatch","useAppDispatch","navigate","useNavigate","loadingImport","setLoadingImport","useState","keyName","setKeyName","keyContent","setKeyContent","validSave","trim","indexOf","useEffect","setHelpName","_jsx","Fragment","children","_jsxs","Grid","item","xs","PageHeaderWrapper","label","BackLink","onClick","IAM_PAGES","KMS_KEYS","actions","HelpMenu","PageLayout","FormLayout","title","icon","AddAccessRuleIcon","helpBox","KMSHelpBox","helpText","contents","noValidate","autoComplete","onSubmit","e","event","preventDefault","data","JSON","parse","api","kms","kmsImportKey","then","_","concat","catch","async","err","res","json","setErrorSnackMessage","errorToHandler","finally","importRecord","InputBox","id","name","autoFocus","value","error","validateKeyName","onChange","target","CodeEditor","editorHeight","sx","modalStyleUtils","modalButtonBar","Button","type","variant","resetForm","color","disabled","_ref","HelpBox","iconComponent","HelpIconFilled","help","map","content","Box","paddingBottom"],"sourceRoot":""}
\ No newline at end of file
diff --git a/web-app/build/static/js/7601.4e033e78.chunk.js b/web-app/build/static/js/7601.4e033e78.chunk.js
deleted file mode 100644
index 8be3513be2..0000000000
--- a/web-app/build/static/js/7601.4e033e78.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";(self.webpackChunkweb_app=self.webpackChunkweb_app||[]).push([[7601],{72237:(e,n,t)=>{t.d(n,{A:()=>a});var s=t(65043),l=t(70579);const a=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return function(t){return(0,l.jsx)(s.Suspense,{fallback:n,children:(0,l.jsx)(e,{...t})})}}},17601:(e,n,t)=>{t.r(n),t.d(n,{default:()=>r});var s=t(65043),l=t(73216),a=t(72237),h=t(39808),p=t(70579);const j=(0,a.A)(s.lazy((()=>Promise.all([t.e(4581),t.e(960)]).then(t.bind(t,960))))),x=(0,a.A)(s.lazy((()=>t.e(8642).then(t.bind(t,8642))))),d=(0,a.A)(s.lazy((()=>t.e(3329).then(t.bind(t,53329))))),i=(0,a.A)(s.lazy((()=>t.e(2332).then(t.bind(t,32332))))),r=()=>(0,p.jsxs)(l.BV,{children:[(0,p.jsx)(l.qh,{path:"status",element:(0,p.jsx)(j,{})}),(0,p.jsx)(l.qh,{path:"keys",element:(0,p.jsx)(x,{})}),(0,p.jsx)(l.qh,{path:"add-key",element:(0,p.jsx)(d,{})}),(0,p.jsx)(l.qh,{path:"import-key",element:(0,p.jsx)(i,{})}),(0,p.jsx)(l.qh,{path:"*",element:(0,p.jsx)(h.A,{})})]})}}]);
-//# sourceMappingURL=7601.4e033e78.chunk.js.map
\ No newline at end of file
diff --git a/web-app/build/static/js/7601.4e033e78.chunk.js.map b/web-app/build/static/js/7601.4e033e78.chunk.js.map
deleted file mode 100644
index 92c0dad681..0000000000
--- a/web-app/build/static/js/7601.4e033e78.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/7601.4e033e78.chunk.js","mappings":"8IAiCA,QAfA,SACEA,GAEC,IADDC,EAAmCC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,KAUtC,OARA,SAA+BG,GAC7B,OACEC,EAAAA,EAAAA,KAACC,EAAAA,SAAQ,CAACN,SAAUA,EAASO,UAC3BF,EAAAA,EAAAA,KAACN,EAAgB,IAAMK,KAG7B,CAGF,C,2GCTA,MAAMI,GAASC,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,IAAM,yDACvCC,GAAWF,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,IAAM,kCACzCE,GAASH,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,IAAM,mCACvCG,GAAYJ,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,IAAM,mCAchD,EAZkBI,KAEdC,EAAAA,EAAAA,MAACC,EAAAA,GAAM,CAAAT,SAAA,EACLF,EAAAA,EAAAA,KAACY,EAAAA,GAAK,CAACC,KAAM,SAAUC,SAASd,EAAAA,EAAAA,KAACG,EAAM,OACvCH,EAAAA,EAAAA,KAACY,EAAAA,GAAK,CAACC,KAAM,OAAQC,SAASd,EAAAA,EAAAA,KAACM,EAAQ,OACvCN,EAAAA,EAAAA,KAACY,EAAAA,GAAK,CAACC,KAAM,UAAWC,SAASd,EAAAA,EAAAA,KAACO,EAAM,OACxCP,EAAAA,EAAAA,KAACY,EAAAA,GAAK,CAACC,KAAM,aAAcC,SAASd,EAAAA,EAAAA,KAACQ,EAAS,OAC9CR,EAAAA,EAAAA,KAACY,EAAAA,GAAK,CAACC,KAAM,IAAKC,SAASd,EAAAA,EAAAA,KAACe,EAAAA,EAAY,Q","sources":["screens/Console/Common/Components/withSuspense.tsx","screens/Console/KMS/KMSRoutes.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, { 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 { Route, Routes } from \"react-router-dom\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport NotFoundPage from \"../../NotFoundPage\";\n\nconst Status = withSuspense(React.lazy(() => import(\"./Status\")));\nconst ListKeys = withSuspense(React.lazy(() => import(\"./ListKeys\")));\nconst AddKey = withSuspense(React.lazy(() => import(\"./AddKey\")));\nconst ImportKey = withSuspense(React.lazy(() => import(\"./ImportKey\")));\n\nconst KMSRoutes = () => {\n return (\n \n } />\n } />\n } />\n } />\n } />\n \n );\n};\n\nexport default KMSRoutes;\n"],"names":["WrappedComponent","fallback","arguments","length","undefined","props","_jsx","Suspense","children","Status","withSuspense","React","ListKeys","AddKey","ImportKey","KMSRoutes","_jsxs","Routes","Route","path","element","NotFoundPage"],"sourceRoot":""}
\ No newline at end of file
diff --git a/web-app/build/static/js/7601.b9b33cda.chunk.js b/web-app/build/static/js/7601.b9b33cda.chunk.js
new file mode 100644
index 0000000000..ddad6a3bfe
--- /dev/null
+++ b/web-app/build/static/js/7601.b9b33cda.chunk.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkweb_app=self.webpackChunkweb_app||[]).push([[7601],{72237:(e,n,s)=>{s.d(n,{A:()=>a});var t=s(65043),l=s(70579);const a=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return function(s){return(0,l.jsx)(t.Suspense,{fallback:n,children:(0,l.jsx)(e,{...s})})}}},17601:(e,n,s)=>{s.r(n),s.d(n,{default:()=>r});var t=s(65043),l=s(73216),a=s(72237),h=s(39808),p=s(70579);const u=(0,a.A)(t.lazy((()=>Promise.all([s.e(4581),s.e(960)]).then(s.bind(s,960))))),d=(0,a.A)(t.lazy((()=>s.e(8642).then(s.bind(s,8642))))),j=(0,a.A)(t.lazy((()=>s.e(3329).then(s.bind(s,53329))))),r=()=>(0,p.jsxs)(l.BV,{children:[(0,p.jsx)(l.qh,{path:"status",element:(0,p.jsx)(u,{})}),(0,p.jsx)(l.qh,{path:"keys",element:(0,p.jsx)(d,{})}),(0,p.jsx)(l.qh,{path:"add-key",element:(0,p.jsx)(j,{})}),(0,p.jsx)(l.qh,{path:"*",element:(0,p.jsx)(h.A,{})})]})}}]);
+//# sourceMappingURL=7601.b9b33cda.chunk.js.map
\ No newline at end of file
diff --git a/web-app/build/static/js/7601.b9b33cda.chunk.js.map b/web-app/build/static/js/7601.b9b33cda.chunk.js.map
new file mode 100644
index 0000000000..af012eb15f
--- /dev/null
+++ b/web-app/build/static/js/7601.b9b33cda.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/7601.b9b33cda.chunk.js","mappings":"8IAiCA,QAfA,SACEA,GAEC,IADDC,EAAmCC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,KAUtC,OARA,SAA+BG,GAC7B,OACEC,EAAAA,EAAAA,KAACC,EAAAA,SAAQ,CAACN,SAAUA,EAASO,UAC3BF,EAAAA,EAAAA,KAACN,EAAgB,IAAMK,KAG7B,CAGF,C,2GCTA,MAAMI,GAASC,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,IAAM,yDACvCC,GAAWF,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,IAAM,kCACzCE,GAASH,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,IAAM,mCAa7C,EAXkBG,KAEdC,EAAAA,EAAAA,MAACC,EAAAA,GAAM,CAAAR,SAAA,EACLF,EAAAA,EAAAA,KAACW,EAAAA,GAAK,CAACC,KAAM,SAAUC,SAASb,EAAAA,EAAAA,KAACG,EAAM,OACvCH,EAAAA,EAAAA,KAACW,EAAAA,GAAK,CAACC,KAAM,OAAQC,SAASb,EAAAA,EAAAA,KAACM,EAAQ,OACvCN,EAAAA,EAAAA,KAACW,EAAAA,GAAK,CAACC,KAAM,UAAWC,SAASb,EAAAA,EAAAA,KAACO,EAAM,OACxCP,EAAAA,EAAAA,KAACW,EAAAA,GAAK,CAACC,KAAM,IAAKC,SAASb,EAAAA,EAAAA,KAACc,EAAAA,EAAY,Q","sources":["screens/Console/Common/Components/withSuspense.tsx","screens/Console/KMS/KMSRoutes.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, { 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 { Route, Routes } from \"react-router-dom\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport NotFoundPage from \"../../NotFoundPage\";\n\nconst Status = withSuspense(React.lazy(() => import(\"./Status\")));\nconst ListKeys = withSuspense(React.lazy(() => import(\"./ListKeys\")));\nconst AddKey = withSuspense(React.lazy(() => import(\"./AddKey\")));\n\nconst KMSRoutes = () => {\n return (\n \n } />\n } />\n } />\n } />\n \n );\n};\n\nexport default KMSRoutes;\n"],"names":["WrappedComponent","fallback","arguments","length","undefined","props","_jsx","Suspense","children","Status","withSuspense","React","ListKeys","AddKey","KMSRoutes","_jsxs","Routes","Route","path","element","NotFoundPage"],"sourceRoot":""}
\ No newline at end of file
diff --git a/web-app/build/static/js/7945.5cbf1d20.chunk.js.map b/web-app/build/static/js/7945.5cbf1d20.chunk.js.map
index 484133de32..e4dcd771f2 100644
--- a/web-app/build/static/js/7945.5cbf1d20.chunk.js.map
+++ b/web-app/build/static/js/7945.5cbf1d20.chunk.js.map
@@ -1 +1 @@
-{"version":3,"file":"static/js/7945.5cbf1d20.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/AddAccessRule.tsx","screens/Console/Buckets/ListBuckets/UploadPermissionUtils.ts","screens/Console/ObjectBrowser/BrowserBreadcrumbs.tsx","utils/validationFunctions.ts","screens/Console/Buckets/ListBuckets/UploadFilesButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DetailsListPanel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/IconWithLabel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/utils.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ObjectMetaData.tsx","screens/Console/Common/FormComponents/DateSelector/utils.ts","screens/Console/Common/FormComponents/DateSelector/DateSelector.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetRetention.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteObject.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetLegalHoldModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/TagsModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/InspectObject.tsx","screens/Console/ObjectBrowser/RenameLongFilename.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/RestoreFileVersion.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SpecificVersionPill.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/FileVersionItem.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteNonCurrent.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/DeleteSelectedVersions.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjectsHelpers.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjectsTable.tsx","screens/Console/ObjectBrowser/FilterObjectsSB.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx","screens/Console/ObjectBrowser/OBHeader.tsx","screens/Console/Buckets/BucketDetails/BrowserHandler.tsx","screens/Console/Common/FormComponents/DaysSelector/DaysSelector.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ShareFile.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewPDF.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileContent.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileModal.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/ObjectBrowser/objectBrowserThunks.ts","screens/Console/ObjectBrowser/utils.ts","screens/Console/Tools/KeyRevealer.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState, Fragment } from \"react\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport {\n AddAccessRuleIcon,\n Button,\n FormLayout,\n Grid,\n InputBox,\n Select,\n} from \"mds\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { modalStyleUtils } from \"../../Common/FormComponents/common/styleLibrary\";\nimport {\n setErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IAddAccessRule {\n modalOpen: boolean;\n onClose: () => any;\n bucket: string;\n prefilledRoute?: string;\n}\n\nconst AddAccessRule = ({\n modalOpen,\n onClose,\n bucket,\n prefilledRoute,\n}: IAddAccessRule) => {\n const dispatch = useAppDispatch();\n\n const [prefix, setPrefix] = useState(\"\");\n const [selectedAccess, setSelectedAccess] = useState(\"readonly\");\n\n useEffect(() => {\n if (prefilledRoute) {\n setPrefix(prefilledRoute);\n }\n }, [prefilledRoute]);\n\n const accessOptions = [\n { label: \"readonly\", value: \"readonly\" },\n { label: \"writeonly\", value: \"writeonly\" },\n { label: \"readwrite\", value: \"readwrite\" },\n ];\n\n const resetForm = () => {\n setPrefix(\"\");\n setSelectedAccess(\"readonly\");\n };\n\n const createProcess = () => {\n api.bucket\n .setAccessRuleWithBucket(bucket, {\n prefix: prefix,\n access: selectedAccess,\n })\n .then((res: any) => {\n dispatch(setSnackBarMessage(\"Access Rule added successfully\"));\n onClose();\n })\n .catch((res) => {\n dispatch(setErrorSnackMessage(errorToHandler(res.error)));\n onClose();\n });\n };\n\n return (\n }\n >\n \n {\n setPrefix(e.target.value);\n }}\n tooltip={\n \"Enter '/' to apply the rule to all prefixes and objects at the bucket root. Do not include the wildcard asterisk '*' as part of the prefix *unless* it is an explicit part of the prefix name. The Console automatically appends an asterisk to the appropriate sections of the resulting IAM policy.\"\n }\n />\n \n \n );\n};\n\nexport default AddAccessRule;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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 extractFileExtn = (resourceStr: string) => {\n //file extensions may contain query string. so exclude query strings !\n return (resourceStr.match(/\\.([^.]*?)(?=\\?|#|$)/) || [])[1];\n};\nexport const getPolicyAllowedFileExtensions = (\n sessionGrants: Record,\n uploadPath: string,\n scopes: string[] = [],\n) => {\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n uploadPath,\n scopes,\n );\n\n //get acceptable files if any in the policy.\n const allowedFileExtensions = sessionGrantWildCards.reduce(\n (acc: string[], cv: string) => {\n const extension: string = extractFileExtn(cv);\n if (extension) {\n acc.push(`.${extension}`); //strict extension matching.\n }\n return acc;\n },\n [],\n );\n\n const uniqueExtensions = [...new Set(allowedFileExtensions)];\n return uniqueExtensions.join(\",\");\n};\n\n// The resource should not have the extensions (*.ext) for the hasPermission to work.\n// so sanitize this and also use to extract the allowed extensions outside of permission check.\nexport const getSessionGrantsWildCard = (\n sessionGrants: Record,\n uploadPath: string,\n scopes: string[] = [],\n) => {\n //get only the path matching grants to reduce processing.\n const grantsWithExtension = Object.keys(sessionGrants).reduce(\n (acc: Record, grantKey: string) => {\n if (extractFileExtn(grantKey) && grantKey.includes(uploadPath)) {\n acc[grantKey] = sessionGrants[grantKey];\n }\n return acc;\n },\n {},\n );\n\n const checkPathsForPermission = (sessionGrantKey: string) => {\n const grantActions = grantsWithExtension[sessionGrantKey];\n const hasScope = grantActions.some((actionKey) =>\n scopes.find((scopeKey) => {\n let wildCardMatch = false;\n const hasWildCard = scopeKey.indexOf(\"*\") !== -1;\n if (hasWildCard) {\n const scopeActionKey = scopeKey.substring(0, scopeKey.length - 1);\n\n wildCardMatch = actionKey.includes(scopeActionKey);\n }\n\n return wildCardMatch || actionKey === scopeKey;\n }),\n );\n\n const sessionGrantKeyPath = sessionGrantKey.substring(\n 0,\n sessionGrantKey.indexOf(\"/*.\"), //start of extension part.\n );\n const isUploadPathMatching =\n sessionGrantKeyPath === `arn:aws:s3:::${uploadPath}`;\n\n const hasGrant =\n isUploadPathMatching && sessionGrantKey !== \"arn:aws:s3:::*\";\n\n return hasScope && hasGrant;\n };\n\n return Object.keys(grantsWithExtension).filter(checkPathsForPermission);\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport styled from \"styled-components\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport { safeDecodeURIComponent } from \"../../../common/utils\";\nimport {\n Button,\n CopyIcon,\n NewPathIcon,\n Tooltip,\n Breadcrumbs,\n breakPoints,\n Box,\n} from \"mds\";\nimport { hasPermission } from \"../../../common/SecureComponent\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../common/SecureComponent/permissions\";\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { setVersionsModeEnabled } from \"./objectBrowserSlice\";\nimport { getSessionGrantsWildCard } from \"../Buckets/ListBuckets/UploadPermissionUtils\";\n\nconst CreatePathModal = withSuspense(\n React.lazy(\n () => import(\"../Buckets/ListBuckets/Objects/ListObjects/CreatePathModal\"),\n ),\n);\n\nconst BreadcrumbsMain = styled.div(() => ({\n display: \"flex\",\n \"& .additionalOptions\": {\n paddingRight: \"10px\",\n display: \"flex\",\n alignItems: \"center\",\n [`@media (max-width: ${breakPoints.lg}px)`]: {\n display: \"none\",\n },\n },\n \"& .slashSpacingStyle\": {\n margin: \"0 5px\",\n },\n}));\n\ninterface IObjectBrowser {\n bucketName: string;\n internalPaths: string;\n hidePathButton?: boolean;\n additionalOptions?: React.ReactNode;\n}\n\nconst BrowserBreadcrumbs = ({\n bucketName,\n internalPaths,\n hidePathButton,\n additionalOptions,\n}: IObjectBrowser) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const rewindEnabled = useSelector(\n (state: AppState) => state.objectBrowser.rewind.rewindEnabled,\n );\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode,\n );\n const versionedFile = useSelector(\n (state: AppState) => state.objectBrowser.versionedFile,\n );\n const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n\n const [createFolderOpen, setCreateFolderOpen] = useState(false);\n const [canCreateSubpath, setCanCreateSubpath] = useState(false);\n\n const putObjectPermScopes = [\n IAM_SCOPES.S3_PUT_OBJECT,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ];\n\n const sessionGrants = useSelector((state: AppState) =>\n state.console.session ? state.console.session.permissions || {} : {},\n );\n\n let paths = internalPaths;\n\n if (internalPaths !== \"\") {\n paths = `/${internalPaths}`;\n }\n\n const splitPaths = paths.split(\"/\").filter((path) => path !== \"\");\n const lastBreadcrumbsIndex = splitPaths.length - 1;\n\n const pathToCheckPerms = bucketName + paths || bucketName;\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n pathToCheckPerms,\n putObjectPermScopes,\n );\n\n useEffect(() => {\n setCanCreateSubpath(false);\n Object.keys(sessionGrants).forEach((grant) => {\n grant.includes(pathToCheckPerms) &&\n grant.includes(\"/*\") &&\n setCanCreateSubpath(true);\n });\n }, [pathToCheckPerms, internalPaths, sessionGrants]);\n\n const canCreatePath =\n hasPermission(\n [pathToCheckPerms, ...sessionGrantWildCards],\n putObjectPermScopes,\n ) ||\n anonymousMode ||\n canCreateSubpath;\n\n let breadcrumbsMap = splitPaths.map((objectItem: string, index: number) => {\n const subSplit = `${splitPaths.slice(0, index + 1).join(\"/\")}/`;\n const route = `/browser/${encodeURIComponent(bucketName)}/${\n subSplit ? `${encodeURIComponent(subSplit)}` : ``\n }`;\n\n if (index === lastBreadcrumbsIndex && objectItem === versionedFile) {\n return null;\n }\n\n return (\n \n /\n {index === lastBreadcrumbsIndex ? (\n \n {safeDecodeURIComponent(objectItem) /*Only for display*/}\n \n ) : (\n {\n dispatch(\n setVersionsModeEnabled({ status: false, objectName: \"\" }),\n );\n }}\n >\n {\n safeDecodeURIComponent(\n objectItem,\n ) /*Only for display to preserve */\n }\n \n )}\n \n );\n });\n\n let versionsItem: any[] = [];\n\n if (versionsMode) {\n versionsItem = [\n \n \n /\n {versionedFile} - Versions\n \n ,\n ];\n }\n\n const listBreadcrumbs: any[] = [\n \n {\n dispatch(setVersionsModeEnabled({ status: false, objectName: \"\" }));\n }}\n >\n {bucketName}\n \n ,\n ...breadcrumbsMap,\n ...versionsItem,\n ];\n\n const closeAddFolderModal = () => {\n setCreateFolderOpen(false);\n };\n\n const goBackFunction = () => {\n if (versionsMode) {\n dispatch(setVersionsModeEnabled({ status: false, objectName: \"\" }));\n } else {\n if (splitPaths.length === 0) {\n navigate(\"/browser\");\n\n return;\n }\n\n const prevPath = splitPaths.slice(0, -1);\n\n navigate(\n `/browser/${bucketName}${\n prevPath.length > 0\n ? `/${encodeURIComponent(`${prevPath.join(\"/\")}/`)}`\n : \"\"\n }`,\n );\n }\n };\n\n return (\n \n \n {createFolderOpen && (\n \n )}\n \n \n \n }\n variant={\"regular\"}\n onClick={() => {\n dispatch(setSnackBarMessage(\"Path copied to clipboard\"));\n }}\n style={{\n width: \"28px\",\n height: \"28px\",\n color: \"#969FA8\",\n border: \"#969FA8 1px solid\",\n marginRight: 5,\n }}\n />\n \n {additionalOptions}\n \n }\n >\n {listBreadcrumbs}\n \n {!hidePathButton && (\n \n \n )}\n \n div\": {\n fontSize: 12,\n fontWeight: \"normal\",\n flexDirection: \"row\",\n flexWrap: \"nowrap\",\n },\n [`@media (max-width: ${breakPoints.lg}px)`]: {\n display: \"flex\",\n },\n }}\n >\n {additionalOptions}\n \n \n );\n};\n\nexport default BrowserBreadcrumbs;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const isVersionedMode = (status: string | undefined) => {\n return status === \"Enabled\" || status === \"Suspended\";\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { CSSObject } from \"styled-components\";\nimport { Button, DropdownSelector, UploadFolderIcon, UploadIcon } from \"mds\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../../common/SecureComponent\";\nimport TooltipWrapper from \"../../Common/TooltipWrapper/TooltipWrapper\";\nimport { useSelector } from \"react-redux\";\nimport { AppState } from \"../../../../store\";\nimport { getSessionGrantsWildCard } from \"./UploadPermissionUtils\";\n\ninterface IUploadFilesButton {\n uploadPath: string;\n bucketName: string;\n forceDisable?: boolean;\n uploadFileFunction: (closeFunction: () => void) => void;\n uploadFolderFunction: (closeFunction: () => void) => void;\n overrideStyles?: CSSObject;\n}\n\nconst UploadFilesButton = ({\n uploadPath,\n bucketName,\n forceDisable = false,\n uploadFileFunction,\n uploadFolderFunction,\n overrideStyles = {},\n}: IUploadFilesButton) => {\n const [anchorEl, setAnchorEl] = useState(null);\n const [uploadOptionsOpen, uploadOptionsSetOpen] = useState(false);\n\n const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n\n const sessionGrants = useSelector((state: AppState) =>\n state.console.session ? state.console.session.permissions || {} : {},\n );\n\n const putObjectPermScopes = [\n IAM_SCOPES.S3_PUT_OBJECT,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ];\n\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n uploadPath,\n putObjectPermScopes,\n );\n\n const openUploadMenu = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n uploadOptionsSetOpen(!uploadOptionsOpen);\n setAnchorEl(event.currentTarget);\n };\n const handleCloseUpload = () => {\n setAnchorEl(null);\n };\n\n const uploadObjectAllowed =\n hasPermission(\n [uploadPath, ...sessionGrantWildCards],\n putObjectPermScopes,\n ) || anonymousMode;\n\n const uploadFolderAllowed = hasPermission(\n [bucketName, ...sessionGrantWildCards],\n putObjectPermScopes,\n false,\n true,\n );\n\n const uploadFolderAction = (action: string) => {\n if (action === \"folder\") {\n uploadFolderFunction(handleCloseUpload);\n return;\n }\n\n uploadFileFunction(handleCloseUpload);\n };\n\n const uploadEnabled: boolean = uploadObjectAllowed || uploadFolderAllowed;\n\n return (\n \n \n }\n variant={\"callAction\"}\n disabled={forceDisable || !uploadEnabled}\n sx={overrideStyles}\n />\n \n ,\n value: \"file\",\n disabled: !uploadObjectAllowed || forceDisable,\n },\n {\n label: \"Upload Folder\",\n icon: ,\n value: \"folder\",\n disabled: !uploadFolderAllowed || forceDisable,\n },\n ]}\n selectedOption={\"\"}\n onSelect={(nValue) => uploadFolderAction(nValue)}\n hideTriggerAction={() => {\n uploadOptionsSetOpen(false);\n }}\n open={uploadOptionsOpen}\n anchorEl={anchorEl}\n anchorOrigin={\"end\"}\n useAnchorWidth\n />\n \n );\n};\n\nexport default UploadFilesButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box, Button, ClosePanelIcon } from \"mds\";\n\ninterface IDetailsListPanel {\n open: boolean;\n className?: string;\n closePanel: () => void;\n children: React.ReactNode;\n}\n\nconst DetailsListPanel = ({\n open,\n closePanel,\n className = \"\",\n children,\n}: IDetailsListPanel) => {\n return (\n \n }\n sx={{\n position: \"absolute\",\n right: 5,\n top: 18,\n padding: 0,\n height: 14,\n \"&:hover:not(:disabled)\": {\n backgroundColor: \"transparent\",\n },\n }}\n />\n {children}\n \n );\n};\n\nexport default DetailsListPanel;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// This object contains variables that will be used across form components.\n\nimport React from \"react\";\nimport { Box } from \"mds\";\nimport { replaceUnicodeChar } from \"../../../../../../common/utils\";\n\ninterface IIconWithLabel {\n icon: React.ReactNode;\n strings: string[];\n}\n\nconst IconWithLabel = ({ icon, strings }: IIconWithLabel) => {\n return (\n \n {icon}\n \n {replaceUnicodeChar(strings[strings.length - 1])}\n \n \n );\n};\n\nexport default IconWithLabel;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\n\nimport {\n FileBookIcon,\n FileCodeIcon,\n FileConfigIcon,\n FileDbIcon,\n FileFontIcon,\n FileImageIcon,\n FileLockIcon,\n FileMissingIcon,\n FileMusicIcon,\n FileNonType,\n FilePdfIcon,\n FilePptIcon,\n FileTxtIcon,\n FileVideoIcon,\n FileXlsIcon,\n FileZipIcon,\n FolderBrowserIcon,\n} from \"mds\";\nimport IconWithLabel from \"./IconWithLabel\";\n\ninterface IExtToIcon {\n icon: any;\n extensions: string[];\n}\n\nexport const extensionToIcon: IExtToIcon[] = [\n {\n icon: ,\n extensions: [\"mp4\", \"mov\", \"avi\", \"mpeg\", \"mpg\"],\n },\n {\n icon: ,\n extensions: [\"mp3\", \"m4a\", \"aac\"],\n },\n {\n icon: ,\n extensions: [\"pdf\"],\n },\n {\n icon: ,\n extensions: [\"ppt\", \"pptx\"],\n },\n {\n icon: ,\n extensions: [\"xls\", \"xlsx\"],\n },\n {\n icon: ,\n extensions: [\"cer\", \"crt\", \"pem\"],\n },\n {\n icon: ,\n extensions: [\"html\", \"xml\", \"css\", \"py\", \"go\", \"php\", \"cpp\", \"h\", \"java\"],\n },\n {\n icon: ,\n extensions: [\"cfg\", \"yaml\"],\n },\n {\n icon: ,\n extensions: [\"sql\"],\n },\n {\n icon: ,\n extensions: [\"ttf\", \"otf\"],\n },\n {\n icon: ,\n extensions: [\"doc\", \"docx\", \"txt\", \"rtf\"],\n },\n {\n icon: ,\n extensions: [\"zip\", \"rar\", \"tar\", \"gz\"],\n },\n {\n icon: ,\n extensions: [\"epub\", \"mobi\", \"azw\", \"azw3\"],\n },\n {\n icon: ,\n extensions: [\"jpeg\", \"jpg\", \"gif\", \"tiff\", \"png\", \"heic\", \"dng\"],\n },\n];\n\nexport const displayFileIconName = (\n element: string,\n returnOnlyIcon: boolean = false,\n) => {\n let elementString = element;\n let icon = ;\n // Element is a folder\n if (element.endsWith(\"/\")) {\n icon = ;\n elementString = element.slice(0, -1);\n }\n\n const lowercaseElement = element.toLowerCase();\n for (const etc of extensionToIcon) {\n for (const ext of etc.extensions) {\n if (lowercaseElement.endsWith(`.${ext}`)) {\n icon = etc.icon;\n }\n }\n }\n\n if (!element.endsWith(\"/\") && element.indexOf(\".\") < 0) {\n icon = ;\n }\n\n const splitItem = elementString.split(\"/\");\n\n if (returnOnlyIcon) {\n return icon;\n }\n\n return ;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Box } from \"mds\";\nimport { safeDecodeURIComponent } from \"../../../../../../common/utils\";\n\ninterface IObjectMetadata {\n metaData: any;\n}\n\nconst itemRendererFn = (element: any) => {\n return Array.isArray(element)\n ? element.map(safeDecodeURIComponent).join(\", \")\n : safeDecodeURIComponent(element);\n};\n\nconst ObjectMetaData = ({ metaData }: IObjectMetadata) => {\n const metaKeys = Object.keys(metaData);\n\n return (\n \n {metaKeys.map((element: string, index: number) => {\n const renderItem = itemRendererFn(metaData[element]);\n return (\n \n {element}\n \n {renderItem}\n \n );\n })}\n \n );\n};\n\nexport default ObjectMetaData;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const months = [\n { value: \"01\", label: \"January\" },\n { value: \"02\", label: \"February\" },\n { value: \"03\", label: \"March\" },\n { value: \"04\", label: \"April\" },\n { value: \"05\", label: \"May\" },\n { value: \"06\", label: \"June\" },\n { value: \"07\", label: \"July\" },\n { value: \"08\", label: \"August\" },\n { value: \"09\", label: \"September\" },\n { value: \"10\", label: \"October\" },\n { value: \"11\", label: \"November\" },\n { value: \"12\", label: \"December\" },\n];\n\nexport const days = Array.from(Array(31), (_, num) => ({\n value: (num + 1).toString(),\n label: (num + 1).toString(),\n}));\n\nconst currentYear = new Date().getFullYear();\n\nexport const years = Array.from(Array(50), (_, numYear) => ({\n value: (numYear + currentYear).toString(),\n label: (numYear + currentYear).toString(),\n}));\n\nexport const validDate = (year: string, month: string, day: string): any[] => {\n const currentDate = Date.parse(`${year}-${month}-${day}`);\n\n if (isNaN(currentDate)) {\n return [false, \"\"];\n }\n\n const parsedMonth = parseInt(month);\n const parsedDay = parseInt(day);\n\n const monthForString = parsedMonth < 10 ? `0${parsedMonth}` : parsedMonth;\n const dayForString = parsedDay < 10 ? `0${parsedDay}` : parsedDay;\n\n const parsedDate = new Date(currentDate).toISOString().split(\"T\")[0];\n const dateString = `${year}-${monthForString}-${dayForString}`;\n\n return [parsedDate === dateString, dateString];\n};\n\n// twoDigitDate gets a two digit string number used for months or days\n// returns \"NaN\" if number is NaN\nexport const twoDigitDate = (num: number): string => {\n return num < 10 ? `0${num}` : `${num}`;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useState,\n} from \"react\";\nimport { Box, HelpIcon, InputLabel, Select, Tooltip } from \"mds\";\nimport { days, months, validDate, years } from \"./utils\";\n\ninterface IDateSelectorProps {\n id: string;\n label: string;\n disableOptions?: boolean;\n tooltip?: string;\n borderBottom?: boolean;\n value?: string;\n onDateChange: (date: string, isValid: boolean) => any;\n}\n\nconst DateSelector = forwardRef(\n (\n {\n id,\n label,\n disableOptions = false,\n tooltip = \"\",\n borderBottom = false,\n onDateChange,\n value = \"\",\n }: IDateSelectorProps,\n ref: any,\n ) => {\n useImperativeHandle(ref, () => ({ resetDate }));\n\n const [month, setMonth] = useState(\"\");\n const [day, setDay] = useState(\"\");\n const [year, setYear] = useState(\"\");\n\n useEffect(() => {\n // verify if there is a current value\n // assume is in the format \"2021-12-30\"\n if (value !== \"\") {\n const valueSplit = value.split(\"-\");\n\n setYear(valueSplit[0]);\n setMonth(valueSplit[1]);\n // Turn to single digit to be displayed on dropdown buttons\n setDay(`${parseInt(valueSplit[2])}`);\n }\n }, [value]);\n\n useEffect(() => {\n const [isValid, dateString] = validDate(year, month, day);\n onDateChange(dateString, isValid);\n }, [month, day, year, onDateChange]);\n\n const resetDate = () => {\n setMonth(\"\");\n setDay(\"\");\n setYear(\"\");\n };\n\n const isDateDisabled = () => {\n if (disableOptions) {\n return disableOptions;\n } else {\n return false;\n }\n };\n\n const monthForDropDown = [{ value: \"\", label: \"\" }, ...months];\n const daysForDrop = [{ value: \"\", label: \"\" }, ...days];\n const yearsForDrop = [{ value: \"\", label: \"\" }, ...years];\n\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n \n \n \n \n \n \n \n )}\n \n \n \n \n \n );\n },\n);\n\nexport default DateSelector;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { Box, Button, FormLayout, Grid, RadioGroup, Switch } from \"mds\";\nimport { useSelector } from \"react-redux\";\nimport { BucketObject, ObjectRetentionMode } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { modalStyleUtils } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { twoDigitDate } from \"../../../../Common/FormComponents/DateSelector/utils\";\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport DateSelector from \"../../../../Common/FormComponents/DateSelector/DateSelector\";\n\ninterface ISetRetentionProps {\n open: boolean;\n closeModalAndRefresh: (updateInfo: boolean) => void;\n objectName: string;\n bucketName: string;\n objectInfo: BucketObject;\n}\n\ninterface IRefObject {\n resetDate: () => void;\n}\n\nconst SetRetention = ({\n open,\n closeModalAndRefresh,\n objectName,\n objectInfo,\n bucketName,\n}: ISetRetentionProps) => {\n const dispatch = useAppDispatch();\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const [statusEnabled, setStatusEnabled] = useState(true);\n const [type, setType] = useState(\"\");\n const [date, setDate] = useState(\"\");\n const [isDateValid, setIsDateValid] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const [alreadyConfigured, setAlreadyConfigured] = useState(false);\n\n useEffect(() => {\n if (objectInfo.retention_mode) {\n setType(retentionConfig?.mode || ObjectRetentionMode.Governance);\n setAlreadyConfigured(true);\n }\n // get retention_until_date if defined\n if (objectInfo.retention_until_date) {\n const valueDate = new Date(objectInfo.retention_until_date);\n if (valueDate.toString() !== \"Invalid Date\") {\n const year = valueDate.getFullYear();\n const month = twoDigitDate(valueDate.getMonth() + 1);\n const day = valueDate.getDate();\n if (!isNaN(day) && month !== \"NaN\" && !isNaN(year)) {\n setDate(`${year}-${month}-${day}`);\n }\n }\n setAlreadyConfigured(true);\n }\n }, [objectInfo, retentionConfig?.mode]);\n\n const dateElement = useRef(null);\n\n const dateFieldDisabled = () => {\n return !(statusEnabled && (type === \"governance\" || type === \"compliance\"));\n };\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n };\n\n const resetForm = () => {\n setStatusEnabled(false);\n setType(ObjectRetentionMode.Governance);\n if (dateElement.current) {\n dateElement.current.resetDate();\n }\n };\n\n const addRetention = (\n selectedObject: string,\n versionId: string | null,\n expireDate: string,\n ) => {\n api.buckets\n .putObjectRetention(\n bucketName,\n {\n prefix: selectedObject,\n version_id: versionId || \"\",\n },\n {\n expires: expireDate,\n mode: type as ObjectRetentionMode,\n },\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSaving(false);\n });\n };\n\n const disableRetention = (\n selectedObject: string,\n versionId: string | null,\n ) => {\n api.buckets\n .deleteObjectRetention(bucketName, {\n prefix: selectedObject,\n version_id: versionId || \"\",\n })\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSaving(false);\n });\n };\n\n const saveNewRetentionPolicy = () => {\n setIsSaving(true);\n const selectedObject = objectInfo.name || \"\";\n const versionId = objectInfo.version_id || null;\n\n const expireDate =\n !statusEnabled && type === \"governance\" ? \"\" : `${date}T23:59:59Z`;\n\n if (!statusEnabled && type === \"governance\") {\n disableRetention(selectedObject, versionId);\n\n return;\n }\n\n addRetention(selectedObject, versionId, expireDate);\n };\n\n const showSwitcher =\n alreadyConfigured && (type === \"governance\" || type === \"\");\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n \n \n );\n};\n\nexport default SetRetention;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport { ConfirmDeleteIcon, Switch } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { useSelector } from \"react-redux\";\nimport { isVersionedMode } from \"../../../../../../utils/validationFunctions\";\nimport { BucketVersioningResponse } from \"api/consoleApi\";\n\ninterface IDeleteObjectProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObject: string;\n selectedBucket: string;\n\n versioningInfo: BucketVersioningResponse | undefined;\n selectedVersion?: string;\n}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n versioningInfo,\n selectedVersion = \"\",\n}: IDeleteObjectProps) => {\n const dispatch = useAppDispatch();\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n\n // We close the modal box on access denied.\n if (err.detailedError === \"Access Denied.\") {\n closeDeleteModalAndRefresh(true);\n }\n };\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n const [deleteVersions, setDeleteVersions] = useState(false);\n const [bypassGovernance, setBypassGovernance] = useState(false);\n\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const canBypass =\n hasPermission(\n [selectedBucket],\n [IAM_SCOPES.S3_BYPASS_GOVERNANCE_RETENTION],\n ) && retentionConfig?.mode === \"governance\";\n\n if (!selectedObject) {\n return null;\n }\n const onConfirmDelete = () => {\n const recursive = selectedObject.endsWith(\"/\");\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/buckets/${encodeURIComponent(selectedBucket)}/objects?prefix=${encodeURIComponent(selectedObject)}${\n selectedVersion !== \"\"\n ? `&version_id=${encodeURIComponent(selectedVersion)}`\n : `&recursive=${recursive}&all_versions=${deleteVersions}`\n }${bypassGovernance ? \"&bypass=true\" : \"\"}`,\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete: \n {selectedObject}{\" \"}\n {selectedVersion !== \"\" ? (\n \n \n \n Version ID:\n \n {selectedVersion}\n \n ) : (\n \"\"\n )}\n ? \n \n {isVersionedMode(versioningInfo?.status) &&\n selectedVersion === \"\" && (\n \n {\n setDeleteVersions(!deleteVersions);\n }}\n description=\"\"\n />\n \n )}\n {canBypass && (deleteVersions || selectedVersion !== \"\") && (\n \n
\n This will remove the object as well as all of its versions,{\" \"}\n \n This action is irreversible.\n
\n \n Are you sure you want to continue?\n \n )}\n \n }\n />\n );\n};\n\nexport default DeleteObject;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { Box, Button, FormLayout, Grid, Switch } from \"mds\";\nimport { BucketObject, ObjectLegalHoldStatus } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { modalStyleUtils } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\n\ninterface ISetRetentionProps {\n open: boolean;\n closeModalAndRefresh: (reload: boolean) => void;\n objectName: string;\n bucketName: string;\n actualInfo: BucketObject;\n}\n\nconst SetLegalHoldModal = ({\n open,\n closeModalAndRefresh,\n objectName,\n bucketName,\n actualInfo,\n}: ISetRetentionProps) => {\n const dispatch = useAppDispatch();\n const [legalHoldEnabled, setLegalHoldEnabled] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const versionId = actualInfo.version_id;\n\n useEffect(() => {\n const status = get(actualInfo, \"legal_hold_status\", \"OFF\");\n setLegalHoldEnabled(status === \"ON\");\n }, [actualInfo]);\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n setIsSaving(true);\n\n api.buckets\n .putObjectLegalHold(\n bucketName,\n {\n prefix: objectName,\n version_id: versionId || \"\",\n },\n {\n status: legalHoldEnabled\n ? ObjectLegalHoldStatus.Enabled\n : ObjectLegalHoldStatus.Disabled,\n },\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSaving(false);\n });\n };\n\n const resetForm = () => {\n setLegalHoldEnabled(false);\n };\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n \n \n );\n};\n\nexport default SetLegalHoldModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport get from \"lodash/get\";\nimport styled from \"styled-components\";\nimport {\n AddNewTagIcon,\n Button,\n DisabledIcon,\n EditTagIcon,\n InputBox,\n SectionTitle,\n Box,\n Grid,\n Tag,\n FormLayout,\n} from \"mds\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { useSelector } from \"react-redux\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport { modalStyleUtils } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { SecureComponent } from \"../../../../../../common/SecureComponent\";\nimport {\n selDistSet,\n setModalErrorSnackMessage,\n} from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\ninterface ITagModal {\n modalOpen: boolean;\n bucketName: string;\n actualInfo: BucketObject;\n onCloseAndUpdate: (refresh: boolean) => void;\n}\n\nconst DeleteTag = styled.b(({ theme }) => ({\n color: get(theme, \"signalColors.danger\", \"#C83B51\"),\n marginLeft: 5,\n}));\n\nconst AddTagModal = ({\n modalOpen,\n onCloseAndUpdate,\n bucketName,\n actualInfo,\n}: ITagModal) => {\n const dispatch = useAppDispatch();\n const distributedSetup = useSelector(selDistSet);\n const [newKey, setNewKey] = useState(\"\");\n const [newLabel, setNewLabel] = useState(\"\");\n const [isSending, setIsSending] = useState(false);\n const [deleteEnabled, setDeleteEnabled] = useState(false);\n const [deleteKey, setDeleteKey] = useState(\"\");\n const [deleteLabel, setDeleteLabel] = useState(\"\");\n\n const currentTags = actualInfo.tags;\n const currTagKeys = Object.keys(currentTags || {});\n\n const allPathData = actualInfo.name?.split(\"/\");\n const currentItem = allPathData?.pop() || \"\";\n\n const resetForm = () => {\n setNewLabel(\"\");\n setNewKey(\"\");\n };\n\n const addTagProcess = () => {\n setIsSending(true);\n const newTag: any = {};\n\n newTag[newKey] = newLabel;\n const newTagList = { ...currentTags, ...newTag };\n\n const verID = distributedSetup ? actualInfo.version_id || \"\" : \"null\";\n\n api.buckets\n .putObjectTags(\n bucketName,\n { prefix: actualInfo.name || \"\", version_id: verID },\n { tags: newTagList },\n )\n .then(() => {\n onCloseAndUpdate(true);\n setIsSending(false);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSending(false);\n });\n };\n\n const deleteTagProcess = () => {\n const cleanObject: any = { ...currentTags };\n delete cleanObject[deleteKey];\n\n const verID = distributedSetup ? actualInfo.version_id || \"\" : \"null\";\n\n api.buckets\n .putObjectTags(\n bucketName,\n { prefix: actualInfo.name || \"\", version_id: verID },\n { tags: cleanObject },\n )\n .then(() => {\n onCloseAndUpdate(true);\n setIsSending(false);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSending(false);\n });\n };\n\n const onDeleteTag = (tagKey: string, tag: string) => {\n setDeleteKey(tagKey);\n setDeleteLabel(tag);\n setDeleteEnabled(true);\n };\n\n const cancelDelete = () => {\n setDeleteKey(\"\");\n setDeleteLabel(\"\");\n setDeleteEnabled(false);\n };\n\n const tagsFor = (plural: boolean) => (\n \n Tag{plural ? \"s\" : \"\"} for: {currentItem}\n \n );\n\n return (\n \n {\n onCloseAndUpdate(true);\n }}\n iconColor={deleteEnabled ? \"delete\" : \"default\"}\n titleIcon={deleteEnabled ? : }\n >\n {deleteEnabled ? (\n \n \n {tagsFor(false)}\n Are you sure you want to delete the tag{\" \"}\n \n {deleteKey} : {deleteLabel}\n {\" \"}\n ?\n \n \n \n \n \n \n ) : (\n \n \n \n {tagsFor(true)}\n \n Current Tags:\n \n {currTagKeys.length === 0 ? (\n \n There are no tags for this object\n \n ) : (\n \n )}\n \n {currTagKeys.map((tagKey: string, index: number) => {\n const tag = get(currentTags, `${tagKey}`, \"\");\n if (tag !== \"\") {\n return (\n \n {\n onDeleteTag(tagKey, tag);\n }}\n />\n \n );\n }\n return null;\n })}\n \n \n \n \n \n \n } separator={false}>\n Add New Tag\n \n \n {\n setNewKey(e.target.value);\n }}\n />\n {\n setNewLabel(e.target.value);\n }}\n />\n \n \n \n \n \n \n \n \n )}\n \n \n );\n};\n\nexport default AddTagModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport {\n Button,\n InspectMenuIcon,\n PasswordKeyIcon,\n Switch,\n Grid,\n Box,\n} from \"mds\";\nimport {\n deleteCookie,\n getCookieValue,\n performDownload,\n} from \"../../../../../../common/utils\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport { modalStyleUtils } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport KeyRevealer from \"../../../../Tools/KeyRevealer\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\ninterface IInspectObjectProps {\n closeInspectModalAndRefresh: (refresh: boolean) => void;\n inspectOpen: boolean;\n inspectPath: string;\n volumeName: string;\n}\n\nconst InspectObject = ({\n closeInspectModalAndRefresh,\n inspectOpen,\n inspectPath,\n volumeName,\n}: IInspectObjectProps) => {\n const dispatch = useAppDispatch();\n const onClose = () => closeInspectModalAndRefresh(false);\n const [isEncrypt, setIsEncrypt] = useState(true);\n const [decryptionKey, setDecryptionKey] = useState(\"\");\n const [insFileName, setInsFileName] = useState(\"\");\n\n if (!inspectPath) {\n return null;\n }\n const makeRequest = async (url: string) => {\n return await fetch(url, { method: \"GET\" });\n };\n\n const performInspect = async () => {\n let basename = document.baseURI.replace(window.location.origin, \"\");\n const urlOfInspectApi = `${window.location.origin}${basename}/api/v1/admin/inspect?volume=${encodeURIComponent(volumeName)}&file=${encodeURIComponent(inspectPath + \"/xl.meta\")}&encrypt=${isEncrypt}`;\n\n makeRequest(urlOfInspectApi)\n .then(async (res) => {\n if (!res.ok) {\n const resErr: any = await res.json();\n\n dispatch(\n setErrorSnackMessage({\n errorMessage: resErr.message,\n detailedError: resErr.code,\n }),\n );\n }\n const blob: Blob = await res.blob();\n\n //@ts-ignore\n const filename = res.headers.get(\"content-disposition\").split('\"')[1];\n const decryptKey = getCookieValue(filename) || \"\";\n\n performDownload(blob, filename);\n setInsFileName(filename);\n if (decryptKey === \"\") {\n onClose();\n return;\n }\n setDecryptionKey(decryptKey);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(err));\n });\n };\n\n const onCloseDecKeyModal = () => {\n deleteCookie(insFileName);\n onClose();\n setDecryptionKey(\"\");\n };\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n };\n\n return (\n \n {!decryptionKey && (\n }\n title={`Inspect Object`}\n onClose={onClose}\n >\n \n \n )}\n {decryptionKey ? (\n }\n >\n \n This will be displayed only once. It cannot be recovered.\n \n Use secure medium to share this key.\n \n \n \n \n \n ) : null}\n \n );\n};\n\nexport default InspectObject;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Button, EditIcon, FormLayout, Grid, InputBox, Switch } from \"mds\";\nimport { modalStyleUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport { useAppDispatch } from \"../../../store\";\nimport { downloadObject } from \"./utils\";\nimport { BucketObject } from \"api/consoleApi\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\n\ninterface IRenameLongFilename {\n open: boolean;\n bucketName: string;\n internalPaths: string;\n currentItem: string;\n actualInfo: BucketObject;\n closeModal: () => void;\n}\n\nconst RenameLongFileName = ({\n open,\n closeModal,\n currentItem,\n internalPaths,\n actualInfo,\n bucketName,\n}: IRenameLongFilename) => {\n const dispatch = useAppDispatch();\n\n const [newFileName, setNewFileName] = useState(currentItem);\n const [acceptLongName, setAcceptLongName] = useState(false);\n\n const doDownload = (e: React.FormEvent) => {\n e.preventDefault();\n downloadObject(dispatch, bucketName, internalPaths, actualInfo);\n closeModal();\n };\n\n return (\n }\n >\n
\n The file you are trying to download has a long name.\n \n This can cause issues on Windows Systems by trimming the file name after\n download.\n \n We recommend to rename the file download\n
\n \n \n );\n};\n\nexport default RenameLongFileName;\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 get from \"lodash/get\";\nimport { useSelector } from \"react-redux\";\nimport {\n ActionsList,\n Box,\n Button,\n DeleteIcon,\n DownloadIcon,\n Grid,\n InspectMenuIcon,\n LegalHoldIcon,\n Loader,\n MetadataIcon,\n ObjectInfoIcon,\n PreviewIcon,\n RetentionIcon,\n ShareIcon,\n SimpleHeader,\n TagsIcon,\n VersionsIcon,\n} from \"mds\";\nimport { api } from \"api\";\nimport { downloadObject } from \"../../../../ObjectBrowser/utils\";\nimport { BucketObject, BucketVersioningResponse } from \"api/consoleApi\";\nimport { AllowedPreviews, previewObjectType } from \"../utils\";\nimport {\n niceBytes,\n niceBytesInt,\n niceDaysInt,\n} from \"../../../../../../common/utils\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../../../common/SecureComponent/permissions\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../../../common/SecureComponent\";\nimport { selDistSet } from \"../../../../../../systemSlice\";\nimport {\n setLoadingObjectInfo,\n setLoadingVersions,\n setSelectedVersion,\n setVersionsModeEnabled,\n} from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport { displayFileIconName } from \"./utils\";\nimport PreviewFileModal from \"../Preview/PreviewFileModal\";\nimport ObjectMetaData from \"../ObjectDetails/ObjectMetaData\";\nimport ShareFile from \"../ObjectDetails/ShareFile\";\nimport SetRetention from \"../ObjectDetails/SetRetention\";\nimport DeleteObject from \"../ListObjects/DeleteObject\";\nimport SetLegalHoldModal from \"../ObjectDetails/SetLegalHoldModal\";\nimport TagsModal from \"../ObjectDetails/TagsModal\";\nimport InspectObject from \"./InspectObject\";\nimport RenameLongFileName from \"../../../../ObjectBrowser/RenameLongFilename\";\nimport TooltipWrapper from \"../../../../Common/TooltipWrapper/TooltipWrapper\";\n\nconst emptyFile: BucketObject = {\n is_latest: true,\n last_modified: \"\",\n legal_hold_status: \"\",\n name: \"\",\n retention_mode: \"\",\n retention_until_date: \"\",\n size: 0,\n tags: {},\n version_id: undefined,\n};\n\ninterface IObjectDetailPanelProps {\n internalPaths: string;\n bucketName: string;\n versioningInfo: BucketVersioningResponse;\n locking: boolean | undefined;\n onClosePanel: (hardRefresh: boolean) => void;\n}\n\nconst ObjectDetailPanel = ({\n internalPaths,\n bucketName,\n versioningInfo,\n locking,\n onClosePanel,\n}: IObjectDetailPanelProps) => {\n const dispatch = useAppDispatch();\n\n const distributedSetup = useSelector(selDistSet);\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode,\n );\n const selectedVersion = useSelector(\n (state: AppState) => state.objectBrowser.selectedVersion,\n );\n const loadingObjectInfo = useSelector(\n (state: AppState) => state.objectBrowser.loadingObjectInfo,\n );\n\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [retentionModalOpen, setRetentionModalOpen] = useState(false);\n const [tagModalOpen, setTagModalOpen] = useState(false);\n const [legalholdOpen, setLegalholdOpen] = useState(false);\n const [inspectModalOpen, setInspectModalOpen] = useState(false);\n const [actualInfo, setActualInfo] = useState(null);\n const [allInfoElements, setAllInfoElements] = useState([]);\n const [objectToShare, setObjectToShare] = useState(null);\n const [versions, setVersions] = useState([]);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [previewOpen, setPreviewOpen] = useState(false);\n const [totalVersionsSize, setTotalVersionsSize] = useState(0);\n const [longFileOpen, setLongFileOpen] = useState(false);\n const [metaData, setMetaData] = useState(null);\n const [loadMetadata, setLoadingMetadata] = useState(false);\n\n const internalPathsDecoded = internalPaths || \"\";\n const allPathData = internalPathsDecoded.split(\"/\");\n const currentItem = allPathData.pop() || \"\";\n\n // calculate object name to display\n let objectNameArray: string[] = [];\n if (actualInfo && actualInfo.name) {\n objectNameArray = actualInfo.name.split(\"/\");\n }\n\n useEffect(() => {\n if (distributedSetup && allInfoElements && allInfoElements.length >= 1) {\n let infoElement =\n allInfoElements.find((el: BucketObject) => el.is_latest) || emptyFile;\n\n if (selectedVersion !== \"\") {\n infoElement =\n allInfoElements.find(\n (el: BucketObject) => el.version_id === selectedVersion,\n ) || emptyFile;\n }\n\n if (!infoElement.is_delete_marker) {\n setLoadingMetadata(true);\n }\n\n setActualInfo(infoElement);\n }\n }, [selectedVersion, distributedSetup, allInfoElements]);\n\n useEffect(() => {\n if (loadingObjectInfo && internalPaths !== \"\") {\n api.buckets\n .listObjects(bucketName, {\n prefix: internalPaths,\n with_versions: distributedSetup,\n })\n .then((res) => {\n const result: BucketObject[] = res.data.objects || [];\n if (distributedSetup) {\n setAllInfoElements(result);\n setVersions(result);\n\n const tVersionSize = result.reduce(\n (acc: number, currValue: BucketObject): number => {\n if (currValue?.size) {\n return acc + currValue.size;\n }\n return acc;\n },\n 0,\n );\n\n setTotalVersionsSize(tVersionSize);\n } else {\n const resInfo = result[0];\n\n setActualInfo(resInfo);\n setVersions([]);\n\n if (!resInfo.is_delete_marker) {\n setLoadingMetadata(true);\n }\n }\n\n dispatch(setLoadingObjectInfo(false));\n })\n .catch((err) => {\n console.error(\"Error loading object details\", err.error);\n dispatch(setLoadingObjectInfo(false));\n });\n }\n }, [\n loadingObjectInfo,\n bucketName,\n internalPaths,\n dispatch,\n distributedSetup,\n selectedVersion,\n ]);\n\n useEffect(() => {\n if (loadMetadata && internalPaths !== \"\") {\n api.buckets\n .getObjectMetadata(bucketName, {\n prefix: internalPaths,\n versionID: actualInfo?.version_id || \"\",\n })\n .then((res) => {\n let metadata = get(res.data, \"objectMetadata\", {});\n\n setMetaData(metadata);\n setLoadingMetadata(false);\n })\n .catch((err) => {\n console.error(\"Error Getting Metadata Status: \", err.detailedError);\n setLoadingMetadata(false);\n });\n }\n }, [bucketName, internalPaths, loadMetadata, actualInfo?.version_id]);\n\n let tagKeys: string[] = [];\n\n if (actualInfo && actualInfo.tags) {\n tagKeys = Object.keys(actualInfo.tags);\n }\n\n const openRetentionModal = () => {\n setRetentionModalOpen(true);\n };\n\n const closeRetentionModal = (updateInfo: boolean) => {\n setRetentionModalOpen(false);\n if (updateInfo) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const shareObject = () => {\n setShareFileModalOpen(true);\n };\n\n const closeShareModal = () => {\n setObjectToShare(null);\n setShareFileModalOpen(false);\n };\n\n const closeFileOpen = () => {\n setLongFileOpen(false);\n };\n\n const closeDeleteModal = (closeAndReload: boolean) => {\n setDeleteOpen(false);\n\n if (closeAndReload && selectedVersion === \"\") {\n onClosePanel(true);\n } else {\n dispatch(setLoadingVersions(true));\n dispatch(setSelectedVersion(\"\"));\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeAddTagModal = (reloadObjectData: boolean) => {\n setTagModalOpen(false);\n if (reloadObjectData) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeInspectModal = (reloadObjectData: boolean) => {\n setInspectModalOpen(false);\n if (reloadObjectData) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeLegalholdModal = (reload: boolean) => {\n setLegalholdOpen(false);\n if (reload) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const loaderForContainer = (\n
\n \n {selectedVersion !== \"\" && (\n \n Version ID:\n \n {selectedVersion}\n \n )}\n \n Size:\n \n {niceBytes(`${actualInfo.size || \"0\"}`)}\n \n {actualInfo.version_id &&\n actualInfo.version_id !== \"null\" &&\n selectedVersion === \"\" && (\n \n Versions:\n \n {versions.length} version{versions.length !== 1 ? \"s\" : \"\"},{\" \"}\n {niceBytesInt(totalVersionsSize)}\n \n )}\n {selectedVersion === \"\" && (\n \n Last Modified:\n \n {calculateLastModifyTime(actualInfo.last_modified || \"\")}\n \n )}\n \n ETAG:\n \n {actualInfo.etag || \"N/A\"}\n \n \n Tags:\n \n {tagKeys.length === 0\n ? \"N/A\"\n : tagKeys.map((tagKey, index) => {\n return (\n \n {tagKey}:{get(actualInfo, `tags.${tagKey}`, \"\")}\n {index < tagKeys.length - 1 ? \", \" : \"\"}\n \n );\n })}\n \n \n \n \n Legal Hold:\n \n {actualInfo.legal_hold_status ? \"On\" : \"Off\"}\n \n \n \n \n \n \n Retention Policy:\n \n \n {actualInfo.version_id && actualInfo.version_id !== \"null\" ? (\n \n {actualInfo.retention_mode\n ? actualInfo.retention_mode.toLowerCase()\n : \"None\"}\n \n ) : (\n \n {actualInfo.retention_mode\n ? actualInfo.retention_mode.toLowerCase()\n : \"None\"}\n \n )}\n \n \n \n \n {!actualInfo.is_delete_marker && (\n \n } />\n \n {actualInfo && metaData ? (\n \n ) : null}\n \n \n )}\n \n )}\n \n );\n};\n\nexport default ObjectDetailPanel;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { Box, RecoverIcon } from \"mds\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport { restoreLocalObjectList } from \"../../../../ObjectBrowser/objectBrowserSlice\";\n\ninterface IRestoreFileVersion {\n restoreOpen: boolean;\n bucketName: string;\n versionToRestore: BucketObject;\n objectPath: string;\n onCloseAndUpdate: (refresh: boolean) => void;\n}\n\nconst RestoreFileVersion = ({\n versionToRestore,\n bucketName,\n objectPath,\n restoreOpen,\n onCloseAndUpdate,\n}: IRestoreFileVersion) => {\n const dispatch = useAppDispatch();\n const [restoreLoading, setRestoreLoading] = useState(false);\n\n const restoreVersion = () => {\n setRestoreLoading(true);\n\n api.buckets\n .putObjectRestore(bucketName, {\n prefix: objectPath,\n version_id: versionToRestore.version_id || \"\",\n })\n .then(() => {\n setRestoreLoading(false);\n onCloseAndUpdate(true);\n dispatch(\n restoreLocalObjectList({\n prefix: objectPath,\n objectInfo: versionToRestore,\n }),\n );\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setRestoreLoading(false);\n });\n };\n\n return (\n }\n onConfirm={restoreVersion}\n confirmButtonProps={{\n variant: \"secondary\",\n disabled: restoreLoading,\n }}\n onClose={() => {\n onCloseAndUpdate(false);\n }}\n confirmationContent={\n \n Are you sure you want to restore \n {objectPath} with Version ID:\n \n {versionToRestore.version_id}?\n \n }\n />\n );\n};\n\nexport default RestoreFileVersion;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\n\ninterface ISpecificVersionPillProps {\n type: \"null\" | \"current\" | \"deleted\";\n}\n\nconst SpecificVersionPill = ({ type }: ISpecificVersionPillProps) => {\n let bgColor = \"#000\";\n let message = \"\";\n\n switch (type) {\n case \"null\":\n bgColor = \"#07193E\";\n message = \"NULL VERSION\";\n break;\n case \"deleted\":\n bgColor = \"#868686\";\n message = \"DELETED\";\n break;\n default:\n bgColor = \"#174551\";\n message = \"CURRENT VERSION\";\n }\n\n return (\n \n {message}\n \n );\n};\n\nexport default SpecificVersionPill;\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 { DateTime } from \"luxon\";\nimport styled from \"styled-components\";\nimport get from \"lodash/get\";\nimport { displayFileIconName } from \"../ListObjects/utils\";\nimport {\n DownloadIcon,\n PreviewIcon,\n RecoverIcon,\n ShareIcon,\n IconButton,\n Tooltip,\n Grid,\n Checkbox,\n} from \"mds\";\nimport { niceBytes } from \"../../../../../../common/utils\";\nimport SpecificVersionPill from \"./SpecificVersionPill\";\nimport { BucketObject } from \"api/consoleApi\";\n\ninterface IFileVersionItem {\n fileName: string;\n versionInfo: BucketObject;\n index: number;\n isSelected?: boolean;\n checkable: boolean;\n isChecked: boolean;\n onCheck: (versionID: string) => void;\n onShare: (versionInfo: BucketObject) => void;\n onDownload: (versionInfo: BucketObject) => void;\n onRestore: (versionInfo: BucketObject) => void;\n onPreview: (versionInfo: BucketObject) => void;\n globalClick: (versionInfo: BucketObject) => void;\n key: any;\n style: any;\n}\n\nconst FileVersionStyled = styled.div(({ theme }) => {\n return {\n \"&:before\": {\n content: \"' '\",\n display: \"block\",\n position: \"absolute\",\n width: \"2px\",\n height: \"calc(100% + 2px)\",\n backgroundColor: get(theme, \"borderColor\", \"#F8F8F8\"),\n left: \"24px\",\n },\n \"& .mainFileVersionItem\": {\n borderBottom: `${get(theme, \"borderColor\", \"#F8F8F8\")} 1px solid`,\n padding: \"1rem 0\",\n margin: \"0 0.5rem 0 2.5rem\",\n cursor: \"pointer\",\n \"&.deleted\": {\n color: \"#868686\",\n },\n },\n \"& .intermediateLayer\": {\n margin: \"0 1.5rem 0 1.5rem\",\n \"&:hover, &.selected\": {\n backgroundColor: get(theme, \"boxBackground\", \"#F8F8F8\"),\n \"& > div\": {\n borderBottomColor: get(theme, \"boxBackground\", \"#F8F8F8\"),\n },\n },\n },\n \"& .versionContainer\": {\n fontSize: 16,\n fontWeight: \"bold\",\n display: \"flex\",\n alignItems: \"center\",\n \"& svg.min-icon\": {\n width: 18,\n height: 18,\n minWidth: 18,\n minHeight: 18,\n marginRight: 10,\n },\n },\n \"& .buttonContainer\": {\n textAlign: \"right\",\n \"& button\": {\n marginLeft: \"1.5rem\",\n },\n },\n \"& .versionID\": {\n fontSize: \"12px\",\n margin: \"2px 0\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n maxWidth: \"95%\",\n overflow: \"hidden\",\n },\n \"& .versionData\": {\n marginRight: \"10px\",\n fontSize: 12,\n color: \"#868686\",\n },\n \"@media (max-width: 600px)\": {\n \"& .buttonContainer\": {\n \"& button\": {\n marginLeft: \"5px\",\n },\n },\n },\n \"@media (max-width: 799px)\": {\n \"&:before\": {\n display: \"none\",\n },\n \"& .mainFileVersionItem\": {\n padding: \"5px 0px\",\n margin: 0,\n },\n \"& .intermediateLayer\": {\n margin: 0,\n \"&:hover, &.selected\": {\n backgroundColor: \"transparent\",\n \"& > div\": {\n borderBottomColor: get(theme, \"boxBackground\", \"#F8F8F8\"),\n },\n },\n },\n \"& .versionContainer\": {\n fontSize: 14,\n \"& svg.min-icon\": {\n display: \"none\",\n },\n },\n \"& .versionData\": {\n textOverflow: \"ellipsis\",\n maxWidth: \"95%\",\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n },\n \"& .collapsableInfo\": {\n display: \"flex\",\n flexDirection: \"column\",\n },\n \"& .versionItem\": {\n display: \"none\",\n },\n },\n };\n});\n\nconst FileVersionItem = ({\n fileName,\n versionInfo,\n isSelected,\n checkable,\n isChecked,\n onCheck,\n onShare,\n onDownload,\n onRestore,\n onPreview,\n globalClick,\n index,\n key,\n style,\n}: IFileVersionItem) => {\n const disableButtons = versionInfo.is_delete_marker;\n\n const versionItemButtons = [\n {\n icon: ,\n action: onPreview,\n tooltip: \"Preview\",\n },\n {\n icon: ,\n action: onDownload,\n tooltip: \"Download this version\",\n },\n {\n icon: ,\n action: onShare,\n tooltip: \"Share this version\",\n },\n {\n icon: ,\n action: onRestore,\n tooltip: \"Restore this version\",\n },\n ];\n\n let pill: \"deleted\" | \"current\" | \"null\" | null = null;\n\n if (versionInfo.is_delete_marker) {\n pill = \"deleted\";\n } else if (versionInfo.is_latest) {\n pill = \"current\";\n } else if (versionInfo.version_id === \"null\") {\n pill = \"null\";\n }\n\n let lastModified = DateTime.now();\n\n if (versionInfo.last_modified) {\n lastModified = DateTime.fromISO(\n versionInfo.last_modified,\n ) as DateTime;\n }\n\n return (\n \n {\n globalClick(versionInfo);\n }}\n key={key}\n style={style}\n >\n \n \n \n \n \n {checkable && (\n {\n e.stopPropagation();\n onCheck(versionInfo.version_id || \"\");\n }}\n value={versionInfo.version_id || \"\"}\n disabled={versionInfo.is_delete_marker}\n sx={{\n width: \"initial\",\n }}\n />\n )}\n {displayFileIconName(fileName, true)} v{index.toString()}\n \n {pill && }\n \n \n \n {versionItemButtons.map((button, index) => {\n return (\n \n {\n e.stopPropagation();\n if (!disableButtons) {\n button.action(versionInfo);\n } else {\n e.preventDefault();\n }\n }}\n sx={{\n backgroundColor: \"#F8F8F8\",\n borderRadius: \"100%\",\n width: \"28px\",\n height: \"28px\",\n padding: \"5px\",\n \"& .min-icon\": {\n width: \"14px\",\n height: \"14px\",\n },\n }}\n >\n {button.icon}\n \n \n );\n })}\n \n \n \n \n {versionInfo.version_id !== \"null\" ? versionInfo.version_id : \"-\"}\n \n \n \n Last modified:{\" \"}\n {lastModified.toFormat(\"ccc, LLL dd yyyy HH:mm:ss (ZZZZ)\")}\n \n \n Size: {niceBytes(`${versionInfo.size || \"0\"}`)}\n \n \n \n \n \n \n );\n};\n\nexport default FileVersionItem;\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 { ConfirmDeleteIcon, Switch, Grid, InputBox } from \"mds\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { useSelector } from \"react-redux\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\n\ninterface IDeleteNonCurrentProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObject: string;\n selectedBucket: string;\n}\n\nconst DeleteNonCurrentVersions = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n}: IDeleteNonCurrentProps) => {\n const dispatch = useAppDispatch();\n const [deleteLoading, setDeleteLoading] = useState(false);\n const [typeConfirm, setTypeConfirm] = useState(\"\");\n const [bypassGovernance, setBypassGovernance] = useState(false);\n\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const canBypass =\n hasPermission(\n [selectedBucket],\n [IAM_SCOPES.S3_BYPASS_GOVERNANCE_RETENTION],\n ) && retentionConfig?.mode === \"governance\";\n\n useEffect(() => {\n if (deleteLoading) {\n api.buckets\n .deleteObject(selectedBucket, {\n prefix: selectedObject,\n non_current_versions: true,\n bypass: bypassGovernance,\n })\n .then(() => {\n closeDeleteModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setDeleteLoading(false);\n });\n }\n }, [\n deleteLoading,\n closeDeleteModalAndRefresh,\n dispatch,\n selectedObject,\n selectedBucket,\n bypassGovernance,\n ]);\n\n if (!selectedObject) {\n return null;\n }\n const onConfirmDelete = () => {\n setDeleteLoading(true);\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={() => closeDeleteModalAndRefresh(false)}\n confirmButtonProps={{\n disabled: typeConfirm !== \"YES, PROCEED\" || deleteLoading,\n }}\n confirmationContent={\n \n Are you sure you want to delete all the non-current versions for:{\" \"}\n {selectedObject}? \n {canBypass && (\n \n
\n \n )}\n \n To continue please type YES, PROCEED in the box.\n \n \n \n ) => {\n setTypeConfirm(event.target.value);\n }}\n label=\"\"\n value={typeConfirm}\n />\n \n \n }\n />\n );\n};\n\nexport default DeleteNonCurrentVersions;\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 ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon, Switch } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { useSelector } from \"react-redux\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\n\ninterface IDeleteSelectedVersionsProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedVersions: string[];\n selectedObject: string;\n selectedBucket: string;\n}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedVersions,\n selectedObject,\n}: IDeleteSelectedVersionsProps) => {\n const dispatch = useAppDispatch();\n const [deleteLoading, setDeleteLoading] = useState(false);\n const [bypassGovernance, setBypassGovernance] = useState(false);\n\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const canBypass =\n hasPermission(\n [selectedBucket],\n [IAM_SCOPES.S3_BYPASS_GOVERNANCE_RETENTION],\n ) && retentionConfig?.mode === \"governance\";\n\n const onClose = () => closeDeleteModalAndRefresh(false);\n const onConfirmDelete = () => {\n setDeleteLoading(true);\n };\n\n useEffect(() => {\n if (deleteLoading) {\n const selectedObjectsRequest = selectedVersions.map((versionID) => {\n return {\n path: selectedObject,\n versionID: versionID,\n recursive: false,\n };\n });\n\n if (selectedObjectsRequest.length > 0) {\n api.buckets\n .deleteMultipleObjects(selectedBucket, selectedObjectsRequest, {\n all_versions: false,\n bypass: bypassGovernance,\n })\n .then(() => {\n setDeleteLoading(false);\n closeDeleteModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setDeleteLoading(false);\n });\n }\n }\n }, [\n deleteLoading,\n closeDeleteModalAndRefresh,\n selectedBucket,\n selectedObject,\n selectedVersions,\n bypassGovernance,\n dispatch,\n ]);\n\n if (!selectedVersions) {\n return null;\n }\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete the selected {selectedVersions.length}{\" \"}\n versions for {selectedObject}?\n {canBypass && (\n \n
\n )}\n \n \n );\n};\n\nexport default DaysSelector;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport {\n Button,\n CopyIcon,\n ReadBox,\n ShareIcon,\n Grid,\n ProgressBar,\n Tooltip,\n} from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport DaysSelector from \"../../../../Common/FormComponents/DaysSelector/DaysSelector\";\nimport { niceTimeFromSeconds } from \"../../../../../../common/utils\";\nimport {\n selDistSet,\n setModalErrorSnackMessage,\n setModalSnackMessage,\n} from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { getMaxShareLinkExpTime } from \"screens/Console/ObjectBrowser/objectBrowserThunks\";\nimport { maxShareLinkExpTime } from \"screens/Console/ObjectBrowser/objectBrowserSlice\";\nimport debounce from \"lodash/debounce\";\n\ninterface IShareFileProps {\n open: boolean;\n bucketName: string;\n dataObject: BucketObject;\n closeModalAndRefresh: () => void;\n}\n\nconst ShareFile = ({\n open,\n closeModalAndRefresh,\n bucketName,\n dataObject,\n}: IShareFileProps) => {\n const dispatch = useAppDispatch();\n const distributedSetup = useSelector(selDistSet);\n const maxShareLinkExpTimeVal = useSelector(maxShareLinkExpTime);\n const [shareURL, setShareURL] = useState(\"\");\n const [isLoadingVersion, setIsLoadingVersion] = useState(true);\n const [isLoadingFile, setIsLoadingFile] = useState(false);\n const [selectedDate, setSelectedDate] = useState(\"\");\n const [dateValid, setDateValid] = useState(true);\n const [versionID, setVersionID] = useState(\"null\");\n\n const debouncedDateChange = debounce((newDate: string, isValid: boolean) => {\n setDateValid(isValid);\n if (isValid) {\n setSelectedDate(newDate);\n return;\n }\n setSelectedDate(\"\");\n setShareURL(\"\");\n }, 300);\n\n useEffect(() => {\n dispatch(getMaxShareLinkExpTime());\n }, [dispatch]);\n\n useEffect(() => {\n // In case version is undefined, we get the latest version of the object\n if (dataObject.version_id === undefined) {\n // In case it is not distributed setup, then we default to \"null\";\n if (distributedSetup) {\n api.buckets\n .listObjects(bucketName, {\n prefix: dataObject.name || \"\",\n with_versions: distributedSetup,\n })\n .then((res) => {\n const result: BucketObject[] = res.data.objects || [];\n\n const latestVersion: BucketObject | undefined = result.find(\n (elem: BucketObject) => elem.is_latest,\n );\n\n if (latestVersion) {\n setVersionID(`${latestVersion.version_id}`);\n return;\n }\n\n // Version couldn't be retrieved, we default\n setVersionID(\"null\");\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n });\n\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(\"null\");\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(dataObject.version_id || \"null\");\n setIsLoadingVersion(false);\n }, [bucketName, dataObject, distributedSetup, dispatch]);\n\n useEffect(() => {\n if (dateValid && !isLoadingVersion) {\n setIsLoadingFile(true);\n setShareURL(\"\");\n\n const slDate = new Date(`${selectedDate}`);\n const currDate = new Date();\n\n const diffDate = Math.ceil(\n (slDate.getTime() - currDate.getTime()) / 1000,\n );\n\n if (diffDate > 0) {\n api.buckets\n .shareObject(bucketName, {\n prefix: dataObject.name || \"\",\n version_id: versionID,\n expires: selectedDate !== \"\" ? `${diffDate}s` : \"\",\n })\n .then((res) => {\n setShareURL(res.data);\n setIsLoadingFile(false);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setShareURL(\"\");\n setIsLoadingFile(false);\n });\n }\n }\n }, [\n dataObject,\n selectedDate,\n bucketName,\n dateValid,\n setShareURL,\n dispatch,\n distributedSetup,\n isLoadingVersion,\n versionID,\n ]);\n\n return (\n \n }\n modalOpen={open}\n onClose={() => {\n closeModalAndRefresh();\n }}\n >\n {isLoadingVersion && (\n \n \n \n )}\n {!isLoadingVersion && (\n \n \n \n You can reset your session by logging out and logging back\n in to the web UI.
\n You can increase the maximum configuration time by setting\n the MINIO_STS_DURATION environment variable on all your\n nodes.
\n You can use mc share as an alternative to this UI,\n where the session length does not limit the URL validity.\n \n }\n >\n \n The following URL lets you share this object without requiring\n a login. \n The URL expires automatically at the earlier of your\n configured time ({niceTimeFromSeconds(maxShareLinkExpTimeVal)}\n ) or the expiration of your current web session.\n \n \n \n \n \n \n \n \n \n \n \n \n )}\n \n \n );\n};\n\nexport default ShareFile;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { Document, Page, pdfjs } from \"react-pdf\";\nimport { Box, Button, InformativeMessage } from \"mds\";\n\npdfjs.GlobalWorkerOptions.workerSrc = \"./scripts/pdf.worker.min.mjs\";\n\ninterface IPreviewPDFProps {\n path: string;\n loading: boolean;\n onLoad: () => void;\n downloadFile: () => void;\n}\n\nconst PreviewPDF = ({\n path,\n loading,\n onLoad,\n downloadFile,\n}: IPreviewPDFProps) => {\n const [errorState, setErrorState] = useState(false);\n const [totalPages, setTotalPages] = useState(0);\n\n if (!path) {\n return null;\n }\n\n const renderPages = totalPages > 5 ? 5 : totalPages;\n const arrayCreate = Array.from(Array(renderPages).keys());\n\n return (\n \n {errorState && totalPages === 0 && (\n \n File preview couldn't be displayed, Please try Download instead.\n \n \n \n \n }\n sx={{ marginBottom: 10 }}\n />\n )}\n {!loading && !errorState && (\n \n This is a File Preview for the first {arrayCreate.length} pages of\n the document, if you wish to work with the full document please\n download instead.\n \n \n \n \n }\n sx={{ marginBottom: 10 }}\n />\n )}\n {!errorState && (\n \n {\n setTotalPages(_pdfInfo.numPages || 0);\n setErrorState(false);\n onLoad();\n }}\n onLoadError={(error) => {\n setErrorState(true);\n onLoad();\n console.error(error);\n }}\n >\n {arrayCreate.map((item) => (\n \n ))}\n \n \n )}\n \n );\n};\n\nexport default PreviewPDF;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { ProgressBar, Grid, Box, InformativeMessage } from \"mds\";\nimport get from \"lodash/get\";\nimport { AllowedPreviews, previewObjectType } from \"../utils\";\nimport { api } from \"../../../../../../api\";\nimport PreviewPDF from \"./PreviewPDF\";\nimport { downloadObject } from \"../../../../ObjectBrowser/utils\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport { BucketObject } from \"../../../../../../api/consoleApi\";\n\ninterface IPreviewFileProps {\n bucketName: string;\n actualInfo: BucketObject;\n isFullscreen?: boolean;\n}\n\nconst PreviewFile = ({\n bucketName,\n actualInfo,\n isFullscreen = false,\n}: IPreviewFileProps) => {\n const dispatch = useAppDispatch();\n\n const [loading, setLoading] = useState(true);\n\n const [metaData, setMetaData] = useState(null);\n const [isMetaDataLoaded, setIsMetaDataLoaded] = useState(false);\n\n const objectName = actualInfo?.name || \"\";\n\n const fetchMetadata = useCallback(() => {\n if (!isMetaDataLoaded) {\n api.buckets\n .getObjectMetadata(bucketName, {\n prefix: objectName,\n versionID: actualInfo.version_id || \"\",\n })\n .then((res) => {\n let metadata = get(res.data, \"objectMetadata\", {});\n setIsMetaDataLoaded(true);\n setMetaData(metadata);\n })\n .catch((err) => {\n console.error(\n \"Error Getting Metadata Status: \",\n err,\n err?.detailedError,\n );\n setIsMetaDataLoaded(true);\n });\n }\n }, [bucketName, objectName, isMetaDataLoaded, actualInfo.version_id]);\n\n useEffect(() => {\n if (bucketName && objectName) {\n fetchMetadata();\n }\n }, [bucketName, objectName, fetchMetadata]);\n\n let path = \"\";\n\n if (actualInfo) {\n let basename = document.baseURI.replace(window.location.origin, \"\");\n path = `${window.location.origin}${basename}api/v1/buckets/${encodeURIComponent(bucketName)}/objects/download?preview=true&prefix=${encodeURIComponent(actualInfo.name || \"\")}`;\n if (actualInfo.version_id) {\n path = path.concat(`&version_id=${actualInfo.version_id}`);\n }\n }\n\n let objectType: AllowedPreviews = previewObjectType(metaData, objectName);\n\n const iframeLoaded = () => {\n setLoading(false);\n };\n\n return (\n \n {objectType !== \"none\" && loading && (\n \n \n \n )}\n {isMetaDataLoaded ? (\n \n {objectType === \"video\" && (\n \n )}\n {objectType === \"audio\" && (\n \n )}\n {objectType === \"image\" && (\n \n )}\n {objectType === \"pdf\" && (\n \n \n downloadObject(dispatch, bucketName, path, actualInfo)\n }\n />\n \n )}\n {objectType === \"none\" && (\n
\n )}\n \n ) : null}\n \n );\n};\nexport default PreviewFile;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport PreviewFileContent from \"./PreviewFileContent\";\nimport { ObjectPreviewIcon } from \"mds\";\nimport { BucketObject } from \"../../../../../../api/consoleApi\";\n\ninterface IPreviewFileProps {\n open: boolean;\n bucketName: string;\n actualInfo: BucketObject;\n onClosePreview: () => void;\n}\n\nconst PreviewFileModal = ({\n open,\n bucketName,\n actualInfo,\n onClosePreview,\n}: IPreviewFileProps) => {\n return (\n \n }\n >\n \n \n \n );\n};\n\nexport default PreviewFileModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense
(\n WrappedComponent: ComponentType
,\n fallback: SuspenseProps[\"fallback\"] = null,\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { ModalBox, Snackbar } from \"mds\";\nimport { CSSObject } from \"styled-components\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n titleIcon?: React.ReactNode;\n iconColor?: \"default\" | \"delete\" | \"accept\";\n sx?: CSSObject;\n}\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n wideLimit = true,\n titleIcon = null,\n iconColor = \"default\",\n sx,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar,\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (message === \"\" || (message && message.length < 5)) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n \n \n \n {children}\n \n );\n};\n\nexport default ModalWrapper;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { AppState } from \"../../../store\";\nimport { getClientOS } from \"../../../common/utils\";\nimport { BucketObjectItem } from \"../Buckets/ListBuckets/Objects/ListObjects/types\";\nimport { makeid, storeCallForObjectWithID } from \"./transferManager\";\nimport {\n download,\n downloadSelectedAsZip,\n} from \"../Buckets/ListBuckets/Objects/utils\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n setAnonymousAccessOpen,\n setDownloadRenameModal,\n setMaxShareLinkExpTime,\n setNewObject,\n setPreviewOpen,\n setSelectedPreview,\n setShareFileModalOpen,\n updateProgress,\n} from \"./objectBrowserSlice\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { DateTime } from \"luxon\";\nimport { api } from \"api\";\n\nexport const downloadSelected = createAsyncThunk(\n \"objectBrowser/downloadSelected\",\n async (bucketName: string, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\n\n const downloadObject = (object: BucketObjectItem) => {\n const identityDownload = encodeURIComponent(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`,\n );\n\n const ID = makeid(8);\n\n const downloadCall = download(\n bucketName,\n object.name,\n object.version_id,\n object.size,\n null,\n ID,\n (progress) => {\n dispatch(\n updateProgress({\n instanceID: identityDownload,\n progress: progress,\n }),\n );\n },\n () => {\n dispatch(completeObject(identityDownload));\n },\n (msg: string) => {\n dispatch(failObject({ instanceID: identityDownload, msg }));\n },\n () => {\n dispatch(cancelObjectInList(identityDownload));\n },\n () => {\n dispatch(\n setSnackBarMessage(\n \"File download will be handled directly by the browser.\",\n ),\n );\n },\n );\n storeCallForObjectWithID(ID, downloadCall);\n dispatch(\n setNewObject({\n ID,\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name,\n type: \"download\",\n waitingForFile: true,\n failed: false,\n cancelled: false,\n errorMessage: \"\",\n }),\n );\n };\n\n if (state.objectBrowser.selectedObjects.length !== 0) {\n let itemsToDownload: BucketObjectItem[] = [];\n\n const filterFunction = (currValue: BucketObjectItem) =>\n state.objectBrowser.selectedObjects.includes(currValue.name);\n\n itemsToDownload = state.objectBrowser.records.filter(filterFunction);\n\n // In case just one element is selected, then we trigger download modal validation.\n if (itemsToDownload.length === 1) {\n if (\n itemsToDownload[0].name.length > 200 &&\n getClientOS().toLowerCase().includes(\"win\")\n ) {\n dispatch(setDownloadRenameModal(itemsToDownload[0]));\n return;\n } else {\n downloadObject(itemsToDownload[0]);\n }\n } else {\n if (itemsToDownload.length === 1) {\n downloadObject(itemsToDownload[0]);\n } else if (itemsToDownload.length > 1) {\n const fileName = `${DateTime.now().toFormat(\n \"LL-dd-yyyy-HH-mm-ss\",\n )}_files_list.zip`;\n\n // We are enforcing zip download when multiple files are selected for better user experience\n const multiObjList = itemsToDownload.reduce((dwList: any[], bi) => {\n // Download objects/prefixes(recursively) as zip\n // Skip any deleted files selected via \"Show deleted objects\" in selection and log for debugging\n const isDeleted = bi?.delete_flag;\n if (bi && !isDeleted) {\n dwList.push(bi.name);\n } else {\n console.log(`Skipping ${bi?.name} from download.`);\n }\n return dwList;\n }, []);\n\n await downloadSelectedAsZip(bucketName, multiObjList, fileName);\n return;\n }\n }\n }\n },\n);\n\nexport const openPreview = createAsyncThunk(\n \"objectBrowser/openPreview\",\n async (_, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\n\n if (state.objectBrowser.selectedObjects.length === 1) {\n let fileObject: BucketObjectItem | undefined;\n\n const findFunction = (currValue: BucketObjectItem) =>\n state.objectBrowser.selectedObjects.includes(currValue.name);\n\n fileObject = state.objectBrowser.records.find(findFunction);\n\n if (fileObject) {\n dispatch(setSelectedPreview(fileObject));\n dispatch(setPreviewOpen(true));\n }\n }\n },\n);\n\nexport const openShare = createAsyncThunk(\n \"objectBrowser/openShare\",\n async (_, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\n\n if (state.objectBrowser.selectedObjects.length === 1) {\n let fileObject: BucketObjectItem | undefined;\n\n const findFunction = (currValue: BucketObjectItem) =>\n state.objectBrowser.selectedObjects.includes(currValue.name);\n\n fileObject = state.objectBrowser.records.find(findFunction);\n\n if (fileObject) {\n dispatch(setSelectedPreview(fileObject));\n dispatch(setShareFileModalOpen(true));\n }\n }\n },\n);\n\nexport const openAnonymousAccess = createAsyncThunk(\n \"objectBrowser/openAnonymousAccess\",\n async (_, { getState, dispatch }) => {\n const state = getState() as AppState;\n\n if (\n state.objectBrowser.selectedObjects.length === 1 &&\n state.objectBrowser.selectedObjects[0].endsWith(\"/\")\n ) {\n dispatch(setAnonymousAccessOpen(true));\n }\n },\n);\n\nexport const getMaxShareLinkExpTime = createAsyncThunk(\n \"objectBrowser/maxShareLinkExpTime\",\n async (_, { rejectWithValue, dispatch }) => {\n return api.buckets\n .getMaxShareLinkExp()\n .then((res) => {\n dispatch(setMaxShareLinkExpTime(res.data.exp));\n })\n .catch(async (res) => {\n return rejectWithValue(res.error);\n });\n },\n);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { getClientOS } from \"../../../common/utils\";\nimport { makeid, storeCallForObjectWithID } from \"./transferManager\";\nimport { download } from \"../Buckets/ListBuckets/Objects/utils\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n setLongFileOpen,\n setNewObject,\n updateProgress,\n} from \"./objectBrowserSlice\";\nimport { AppDispatch } from \"../../../store\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { BucketObject } from \"api/consoleApi\";\n\nexport const downloadObject = (\n dispatch: AppDispatch,\n bucketName: string,\n internalPaths: string,\n object: BucketObject,\n) => {\n const identityDownload = encodeURIComponent(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`,\n );\n\n const isWinOs = getClientOS().toLowerCase().includes(\"win\");\n\n if ((object.name?.length || 0) > 200 && isWinOs) {\n dispatch(setLongFileOpen(true));\n return;\n }\n\n const ID = makeid(8);\n\n const downloadCall = download(\n bucketName,\n internalPaths,\n object.version_id,\n object.size || 0,\n null,\n ID,\n (progress) => {\n dispatch(\n updateProgress({\n instanceID: identityDownload,\n progress: progress,\n }),\n );\n },\n () => {\n dispatch(completeObject(identityDownload));\n },\n (msg: string) => {\n dispatch(failObject({ instanceID: identityDownload, msg }));\n },\n () => {\n dispatch(cancelObjectInList(identityDownload));\n },\n () => {\n dispatch(\n setSnackBarMessage(\n \"File download will be handled directly by the browser.\",\n ),\n );\n },\n );\n\n storeCallForObjectWithID(ID, downloadCall);\n dispatch(\n setNewObject({\n ID,\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name || \"\",\n type: \"download\",\n waitingForFile: true,\n failed: false,\n cancelled: false,\n errorMessage: \"\",\n }),\n );\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { Button, CopyIcon, InputBox, Box, breakPoints } from \"mds\";\n\nconst KeyRevealer = ({ value }: { value: string }) => {\n const [shown, setShown] = useState(false);\n\n return (\n \n {}}\n value={value}\n overlayIcon={}\n readOnly={true}\n overlayAction={() => navigator.clipboard.writeText(value)}\n />\n\n \n );\n};\n\nexport default KeyRevealer;\n"],"names":["_ref","modalOpen","onClose","bucket","prefilledRoute","dispatch","useAppDispatch","prefix","setPrefix","useState","selectedAccess","setSelectedAccess","useEffect","_jsx","ModalWrapper","title","titleIcon","AddAccessRuleIcon","children","_jsxs","FormLayout","withBorders","containerPadding","InputBox","value","label","id","name","placeholder","onChange","e","target","tooltip","Select","options","disabled","helpTip","Fragment","helpTipPlacement","Grid","item","xs","sx","modalStyleUtils","modalButtonBar","Button","type","variant","onClick","resetForm","trim","createProcess","api","setAccessRuleWithBucket","access","then","res","setSnackBarMessage","catch","setErrorSnackMessage","errorToHandler","error","extractFileExtn","resourceStr","match","getSessionGrantsWildCard","sessionGrants","uploadPath","scopes","arguments","length","undefined","grantsWithExtension","Object","keys","reduce","acc","grantKey","includes","filter","sessionGrantKey","hasScope","some","actionKey","find","scopeKey","wildCardMatch","indexOf","scopeActionKey","substring","isUploadPathMatching","concat","CreatePathModal","withSuspense","React","BreadcrumbsMain","styled","div","display","paddingRight","alignItems","breakPoints","lg","margin","bucketName","internalPaths","hidePathButton","additionalOptions","navigate","useNavigate","rewindEnabled","useSelector","state","objectBrowser","rewind","versionsMode","versionedFile","anonymousMode","system","createFolderOpen","setCreateFolderOpen","canCreateSubpath","setCanCreateSubpath","putObjectPermScopes","IAM_SCOPES","S3_PUT_OBJECT","S3_PUT_ACTIONS","console","session","permissions","paths","splitPaths","split","path","lastBreadcrumbsIndex","pathToCheckPerms","sessionGrantWildCards","forEach","grant","canCreatePath","hasPermission","breadcrumbsMap","map","objectItem","index","subSplit","slice","join","route","encodeURIComponent","className","style","cursor","whiteSpace","safeDecodeURIComponent","Link","to","setVersionsModeEnabled","status","objectName","toString","versionsItem","listBreadcrumbs","folderName","closeAddFolderModal","limitedSubPath","Breadcrumbs","goBackFunction","prevPath","CopyToClipboard","text","icon","CopyIcon","width","height","fill","marginTop","color","border","marginRight","Box","Tooltip","permissionTooltipHelper","NewPathIcon","marginBottom","justifyContent","fontSize","fontWeight","flexDirection","flexWrap","isVersionedMode","forceDisable","uploadFileFunction","uploadFolderFunction","overrideStyles","anchorEl","setAnchorEl","uploadOptionsOpen","uploadOptionsSetOpen","openUploadMenu","Boolean","handleCloseUpload","uploadObjectAllowed","uploadFolderAllowed","uploadEnabled","TooltipWrapper","event","currentTarget","UploadIcon","DropdownSelector","UploadFolderIcon","selectedOption","onSelect","nValue","hideTriggerAction","open","anchorOrigin","useAnchorWidth","closePanel","borderColor","borderWidth","borderStyle","borderRadius","borderBottomLeftRadius","borderBottomRightRadius","transitionDuration","overflowX","overflowY","position","opacity","marginLeft","minWidth","borderLeftWidth","ClosePanelIcon","right","top","padding","backgroundColor","strings","minHeight","overflow","textOverflow","replaceUnicodeChar","extensionToIcon","FileVideoIcon","extensions","FileMusicIcon","FilePdfIcon","FilePptIcon","FileXlsIcon","FileLockIcon","FileCodeIcon","FileConfigIcon","FileDbIcon","FileFontIcon","FileTxtIcon","FileZipIcon","FileBookIcon","FileImageIcon","displayFileIconName","element","returnOnlyIcon","elementString","FileNonType","endsWith","FolderBrowserIcon","lowercaseElement","toLowerCase","etc","ext","FileMissingIcon","splitItem","IconWithLabel","metaData","metaKeys","renderItem","Array","isArray","itemRendererFn","maxHeight","months","days","from","_","num","currentYear","Date","getFullYear","years","numYear","forwardRef","ref","disableOptions","borderBottom","onDateChange","useImperativeHandle","resetDate","month","setMonth","day","setDay","year","setYear","valueSplit","parseInt","isValid","dateString","validDate","currentDate","parse","isNaN","parsedMonth","parsedDay","monthForString","dayForString","parsedDate","toISOString","isDateDisabled","monthForDropDown","daysForDrop","yearsForDrop","gap","InputLabel","htmlFor","placement","HelpIcon","newValue","closeModalAndRefresh","objectInfo","retentionConfig","statusEnabled","setStatusEnabled","setType","date","setDate","isDateValid","setIsDateValid","isSaving","setIsSaving","alreadyConfigured","setAlreadyConfigured","retention_mode","mode","ObjectRetentionMode","Governance","retention_until_date","valueDate","getMonth","getDate","dateElement","useRef","current","showSwitcher","noValidate","autoComplete","onSubmit","preventDefault","Switch","checked","indicatorLabels","RadioGroup","currentValue","selectorOptions","Compliance","DateSelector","saveNewRetentionPolicy","selectedObject","versionId","version_id","expireDate","addRetention","buckets","putObjectRetention","expires","err","setModalErrorSnackMessage","disableRetention","deleteObjectRetention","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","versioningInfo","selectedVersion","deleteLoading","invokeDeleteApi","useApi","onDelSuccess","detailedError","deleteVersions","setDeleteVersions","bypassGovernance","setBypassGovernance","canBypass","S3_BYPASS_GOVERNANCE_RETENTION","ConfirmDialog","confirmText","isOpen","ConfirmDeleteIcon","isLoading","onConfirm","onConfirmDelete","recursive","confirmationContent","description","actualInfo","legalHoldEnabled","setLegalHoldEnabled","get","putObjectLegalHold","ObjectLegalHoldStatus","Enabled","Disabled","DeleteTag","b","theme","_ref2","_actualInfo$name","onCloseAndUpdate","distributedSetup","selDistSet","newKey","setNewKey","newLabel","setNewLabel","isSending","setIsSending","deleteEnabled","setDeleteEnabled","deleteKey","setDeleteKey","deleteLabel","setDeleteLabel","currentTags","tags","currTagKeys","allPathData","currentItem","pop","tagsFor","plural","iconColor","DisabledIcon","EditTagIcon","container","cancelDelete","deleteTagProcess","cleanObject","verID","putObjectTags","SecureComponent","S3_GET_OBJECT_TAGGING","S3_GET_ACTIONS","resource","flexFlow","tagKey","tag","S3_DELETE_OBJECT_TAGGING","errorProps","deleteIcon","onDelete","Tag","onDeleteTag","S3_PUT_OBJECT_TAGGING","SectionTitle","AddNewTagIcon","separator","addTagProcess","newTag","newTagList","closeInspectModalAndRefresh","inspectOpen","inspectPath","volumeName","isEncrypt","setIsEncrypt","decryptionKey","setDecryptionKey","insFileName","setInsFileName","InspectMenuIcon","async","basename","document","baseURI","replace","window","location","origin","fetch","url","method","makeRequest","ok","resErr","json","errorMessage","message","code","blob","filename","headers","decryptKey","getCookieValue","performDownload","onCloseDecKeyModal","deleteCookie","PasswordKeyIcon","KeyRevealer","closeModal","newFileName","setNewFileName","acceptLongName","setAcceptLongName","EditIcon","downloadObject","doDownload","emptyFile","is_latest","last_modified","legal_hold_status","size","locking","onClosePanel","loadingObjectInfo","shareFileModalOpen","setShareFileModalOpen","retentionModalOpen","setRetentionModalOpen","tagModalOpen","setTagModalOpen","legalholdOpen","setLegalholdOpen","inspectModalOpen","setInspectModalOpen","setActualInfo","allInfoElements","setAllInfoElements","objectToShare","setObjectToShare","versions","setVersions","setDeleteOpen","previewOpen","setPreviewOpen","totalVersionsSize","setTotalVersionsSize","longFileOpen","setLongFileOpen","setMetaData","loadMetadata","setLoadingMetadata","objectNameArray","infoElement","el","is_delete_marker","listObjects","with_versions","result","data","objects","tVersionSize","currValue","resInfo","setLoadingObjectInfo","getObjectMetadata","versionID","metadata","tagKeys","loaderForContainer","textAlign","Loader","objectResources","canSetLegalHold","S3_PUT_OBJECT_LEGAL_HOLD","canSetTags","canChangeRetention","S3_GET_OBJECT_RETENTION","S3_PUT_OBJECT_RETENTION","canInspect","ADMIN_INSPECT_DATA","canChangeVersioning","S3_GET_BUCKET_VERSIONING","S3_PUT_BUCKET_VERSIONING","S3_GET_OBJECT_VERSION","canGetObject","S3_GET_OBJECT","canDelete","S3_DELETE_OBJECT","objectType","previewObjectType","multiActionButtons","action","DownloadIcon","ShareIcon","PreviewIcon","LegalHoldIcon","openRetentionModal","RetentionIcon","TagsIcon","VersionsIcon","ShareFile","closeShareModal","dataObject","SetRetention","updateInfo","DeleteObject","closeAndReload","setLoadingVersions","setSelectedVersion","SetLegalHoldModal","reload","PreviewFileModal","onClosePreview","TagsModal","reloadObjectData","InspectObject","RenameLongFileName","closeFileOpen","textTransform","ActionsList","items","DeleteIcon","iconLocation","fullWidth","SimpleHeader","ObjectInfoIcon","overflowWrap","niceBytes","niceBytesInt","lastModified","currentTime","modifiedTime","difTime","getTime","formatTime","niceDaysInt","calculateLastModifyTime","etag","S3_GET_OBJECT_LEGAL_HOLD","MetadataIcon","ObjectMetaData","versionToRestore","objectPath","restoreOpen","restoreLoading","setRestoreLoading","RecoverIcon","restoreVersion","putObjectRestore","restoreLocalObjectList","confirmButtonProps","bgColor","FileVersionStyled","content","left","borderBottomColor","maxWidth","fileName","versionInfo","isSelected","checkable","isChecked","onCheck","onShare","onDownload","onRestore","onPreview","globalClick","key","disableButtons","versionItemButtons","pill","DateTime","now","fromISO","md","Checkbox","stopPropagation","SpecificVersionPill","button","IconButton","toFormat","setDeleteLoading","typeConfirm","setTypeConfirm","deleteObject","non_current_versions","bypass","selectedVersions","selectedObjectsRequest","deleteMultipleObjects","all_versions","searchVersions","loadingVersions","restoreVersionOpen","setRestoreVersionOpen","setRestoreVersion","sortValue","setSortValue","deleteNonCurrentOpen","setDeleteNonCurrentOpen","selectEnabled","setSelectEnabled","selectedItems","setSelectedItems","delSelectedVOpen","setDelSelectedVOpen","filteredPrefixes","onShareItem","onPreviewItem","onRestoreItem","onDownloadItem","onGlobalClick","filteredRecords","version","totalSpace","sort","a","dateA","dateB","onCheckVersion","filteredItems","cloneState","push","RestoreFileVersion","content_type","DeleteNonCurrent","reloadAfterDelete","DeleteSelectedVersions","reloadOnComplete","ProgressBar","BrowserBreadcrumbs","ScreenTitle","subTitle","actions","SelectMultipleIcon","DeleteNonCurrentIcon","noLabelMinWidth","bottomBorder","flexGrow","List","containerStyle","rowCount","rowHeight","rowRenderer","isScrolling","isVisible","versOrd","FileVersionItem","displayParsedDate","object","currTime","objectTime","hasSame","displayNiceBytes","String","listModeColumns","elementKey","renderFunction","enableSort","renderFullObject","rewindModeColumns","ListObjectsTable","params","useParams","sortDirection","setSortDirection","currentSortField","setCurrentSortField","detailsOpen","objectDetailsOpen","requestInProgress","features","selFeatures","obOnly","records","searchObjects","selectedObjects","connectionError","displayListObjects","S3_LIST_BUCKET","S3_ALL_LIST_BUCKET","sortASC","sortListObjects","payload","reverse","tableActions","_object$name","idElement","newPath","setSelectedObjects","setObjectDetailsView","setSelectedObjectView","sendOnlyId","customPaperHeight","DataTable","itemActions","columns","entityName","idField","targetD","elements","customEmptyMessage","sortEnabled","currentSort","currentDirection","onSortClick","sortData","newSortDirection","sortBy","setReloadObjectsList","onSelectAll","selectAllItems","rowStyle","_payload$index","delete_flag","noBackground","FilterObjectsSB","SearchBox","setSearchObjects","DeleteMultipleObjects","RewindEnable","baseDnDStyle","outline","activeDnDStyle","acceptDnDStyle","ListObjects","_downloadRenameModal$","useLocation","bucketToRewind","showDeleted","selectedInternalPaths","simplePath","versioningConfig","lockingEnabled","downloadRenameModal","selectedPreview","anonymousAccessOpen","_state$objectBrowser","loadingBucket","selBucketDetailsLoading","bucketInfo","selBucketDetailsInfo","deleteMultipleOpen","setDeleteMultipleOpen","rewindSelect","setRewindSelect","iniLoad","setIniLoad","canShareFile","setCanShareFile","canPreviewFile","setCanPreviewFile","quota","setQuota","isMetaDataLoaded","setIsMetaDataLoaded","isVersioningApplied","pathSegment","pathname","decodeURIComponent","currentPath","i","fileUpload","folderUpload","pathAsResourceInPolicy","allowedFileExtensions","cv","extension","Set","getPolicyAllowedFileExtensions","canDownload","canRewind","canUpload","canSetAnonymousAccess","S3_GET_BUCKET_POLICY","S3_PUT_BUCKET_POLICY","isSelObjectDelMarker","checkForDelMarker","isObjDelMarker","obj","fetchMetadata","useCallback","resetRewind","setAttribute","isPrefix","getBucketQuota","quotaVals","detailedMessage","setBucketDetailsLoad","setBucketInfo","getBucketRetentionConfig","setRetentionConfig","handleUploadButton","files","newFiles","uploadObject","folderPath","pathPrefix","upload","uploadPromise","file","Promise","resolve","reject","uploadUrl","blobFile","Blob","filePath","fileWebkitRelativePath","relativeFolderPath","ID","makeid","prefixPath","finalFolderPath","pathClean","startsWith","identity","Math","random","xhr","XMLHttpRequest","setRequestHeader","areMultipleFiles","errorMessages","withCredentials","onload","completeObject","removeTrace","response","JSON","failObject","instanceID","msg","addEventListener","progress","floor","loaded","total","updateProgress","onerror","onloadend","onabort","cancelObjectInList","formData","FormData","append","storeCallForObjectWithID","setNewObject","done","percentage","waitingForFile","failed","cancelled","storeFormDataWithID","uploadFilePromises","openList","allSettled","results","errors","totalFiles","successUploadedFiles","onDrop","acceptedFiles","newFolderPath","allowedFiles","fileExtn","log","getRootProps","getInputProps","isDragActive","isDragAccept","useDropzone","noClick","dndStyles","useMemo","forceRefresh","splitURLS","URLItem","createdTime","creation_date","downloadToolTip","downloadSelected","openShare","openPreview","openAnonymousAccess","AccessRuleIcon","setSelectedPreview","refresh","versioning","rewindCloseModal","closePreviewWindow","closeRenameModal","setDownloadRenameModal","AddAccessRule","closeAddAccessRule","setAnonymousAccessOpen","PageLayout","paddingBottom","BucketsIcon","Badge","dotOnly","invisible","HistoryIcon","RefreshIcon","resetMessages","multiple","accept","UploadFilesButton","closeMenu","click","borderTop","VersionsNavigator","setDeletedAction","setShowDeletedObjects","DetailsListPanel","ObjectDetailPanel","configureBucketAllowed","S3_GET_BUCKET_ENCRYPTION_CONFIGURATION","S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION","S3_DELETE_BUCKET","S3_GET_BUCKET_NOTIFICATIONS","S3_PUT_BUCKET_NOTIFICATIONS","S3_GET_REPLICATION_CONFIGURATION","S3_PUT_REPLICATION_CONFIGURATION","S3_GET_LIFECYCLE_CONFIGURATION","S3_PUT_LIFECYCLE_CONFIGURATION","ADMIN_GET_BUCKET_QUOTA","ADMIN_SET_BUCKET_QUOTA","S3_PUT_BUCKET_TAGGING","S3_GET_BUCKET_TAGGING","S3_LIST_BUCKET_VERSIONS","S3_GET_BUCKET_POLICY_STATUS","S3_DELETE_BUCKET_POLICY","searchBar","setSearchVersions","setHelpName","AutoColorIcon","ObjectManagerButton","PageHeaderWrapper","BackLink","IAM_PAGES","OBJECT_BROWSER_VIEW","IAM_PERMISSIONS","IAM_ROLES","BUCKET_ADMIN","SettingsIcon","HelpMenu","middleComponent","BrowserHandler","loadingVersioning","rewindDate","dateToRewind","loadingLocking","reloadObjectsList","initWSRequest","rewindMode","pathLoad","forceLoad","searchPath","setRequestInProgress","setLoadingVersioning","setLoadingLocking","getBucketVersioning","setIsVersioned","getBucketObjectLockingStatus","setLockingEnabled","object_locking_enabled","OBHeader","maxSeconds","entity","maxDays","maxHours","maxMinutes","selectedDays","setSelectedDays","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","setValidDate","dateSelected","setDateSelected","calculateNewTime","hours","minutes","plus","toISO","formattedDate","valid","extraStyles","paddingLeft","min","max","LinkIcon","maxShareLinkExpTimeVal","maxShareLinkExpTime","shareURL","setShareURL","isLoadingVersion","setIsLoadingVersion","isLoadingFile","setIsLoadingFile","selectedDate","setSelectedDate","dateValid","setDateValid","setVersionID","debouncedDateChange","debounce","newDate","getMaxShareLinkExpTime","latestVersion","elem","slDate","currDate","diffDate","ceil","shareObject","niceTimeFromSeconds","DaysSelector","ReadBox","actionButton","setModalSnackMessage","pdfjs","workerSrc","loading","onLoad","downloadFile","errorState","setErrorState","totalPages","setTotalPages","renderPages","arrayCreate","InformativeMessage","Document","onLoadSuccess","_pdfInfo","numPages","onLoadError","Page","pageNumber","renderAnnotationLayer","renderTextLayer","renderForms","isFullscreen","setLoading","iframeLoaded","flex","autoPlay","controls","muted","playsInline","onPlay","src","alt","PreviewPDF","allowTransparency","wideLimit","ObjectPreviewIcon","PreviewFileContent","WrappedComponent","fallback","props","Suspense","openSnackbar","setOpenSnackbar","modalSnackMessage","modalSnackBar","detailedErrorMsg","ModalBox","widthLimit","MainError","isModal","Snackbar","closeSnackBar","autoHideDuration","condensed","createAsyncThunk","getState","rejectWithValue","identityDownload","downloadCall","download","itemsToDownload","filterFunction","getClientOS","multiObjList","dwList","bi","isDeleted","downloadSelectedAsZip","fileObject","findFunction","_ref3","_ref4","_ref5","getMaxShareLinkExp","setMaxShareLinkExpTime","exp","isWinOs","shown","setShown","sm","overlayIcon","readOnly","overlayAction","navigator","clipboard","writeText"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"static/js/7945.5cbf1d20.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/AddAccessRule.tsx","screens/Console/Buckets/ListBuckets/UploadPermissionUtils.ts","screens/Console/ObjectBrowser/BrowserBreadcrumbs.tsx","utils/validationFunctions.ts","screens/Console/Buckets/ListBuckets/UploadFilesButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DetailsListPanel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/IconWithLabel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/utils.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ObjectMetaData.tsx","screens/Console/Common/FormComponents/DateSelector/utils.ts","screens/Console/Common/FormComponents/DateSelector/DateSelector.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetRetention.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteObject.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetLegalHoldModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/TagsModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/InspectObject.tsx","screens/Console/ObjectBrowser/RenameLongFilename.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/RestoreFileVersion.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SpecificVersionPill.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/FileVersionItem.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteNonCurrent.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/DeleteSelectedVersions.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjectsHelpers.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjectsTable.tsx","screens/Console/ObjectBrowser/FilterObjectsSB.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx","screens/Console/ObjectBrowser/OBHeader.tsx","screens/Console/Buckets/BucketDetails/BrowserHandler.tsx","screens/Console/Common/FormComponents/DaysSelector/DaysSelector.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ShareFile.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewPDF.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileContent.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileModal.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/ObjectBrowser/objectBrowserThunks.ts","screens/Console/ObjectBrowser/utils.ts","screens/Console/Tools/KeyRevealer.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState, Fragment } from \"react\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport {\n AddAccessRuleIcon,\n Button,\n FormLayout,\n Grid,\n InputBox,\n Select,\n} from \"mds\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { modalStyleUtils } from \"../../Common/FormComponents/common/styleLibrary\";\nimport {\n setErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IAddAccessRule {\n modalOpen: boolean;\n onClose: () => any;\n bucket: string;\n prefilledRoute?: string;\n}\n\nconst AddAccessRule = ({\n modalOpen,\n onClose,\n bucket,\n prefilledRoute,\n}: IAddAccessRule) => {\n const dispatch = useAppDispatch();\n\n const [prefix, setPrefix] = useState(\"\");\n const [selectedAccess, setSelectedAccess] = useState(\"readonly\");\n\n useEffect(() => {\n if (prefilledRoute) {\n setPrefix(prefilledRoute);\n }\n }, [prefilledRoute]);\n\n const accessOptions = [\n { label: \"readonly\", value: \"readonly\" },\n { label: \"writeonly\", value: \"writeonly\" },\n { label: \"readwrite\", value: \"readwrite\" },\n ];\n\n const resetForm = () => {\n setPrefix(\"\");\n setSelectedAccess(\"readonly\");\n };\n\n const createProcess = () => {\n api.bucket\n .setAccessRuleWithBucket(bucket, {\n prefix: prefix,\n access: selectedAccess,\n })\n .then((res: any) => {\n dispatch(setSnackBarMessage(\"Access Rule added successfully\"));\n onClose();\n })\n .catch((res) => {\n dispatch(setErrorSnackMessage(errorToHandler(res.error)));\n onClose();\n });\n };\n\n return (\n }\n >\n \n {\n setPrefix(e.target.value);\n }}\n tooltip={\n \"Enter '/' to apply the rule to all prefixes and objects at the bucket root. Do not include the wildcard asterisk '*' as part of the prefix *unless* it is an explicit part of the prefix name. The Console automatically appends an asterisk to the appropriate sections of the resulting IAM policy.\"\n }\n />\n {\n setSelectedAccess(value);\n }}\n label=\"Access\"\n value={selectedAccess}\n options={accessOptions}\n disabled={false}\n helpTip={\n \n Select the desired level of access available to unauthenticated\n Users\n \n }\n helpTipPlacement=\"right\"\n />\n \n \n\n \n \n \n \n );\n};\n\nexport default AddAccessRule;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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 extractFileExtn = (resourceStr: string) => {\n //file extensions may contain query string. so exclude query strings !\n return (resourceStr.match(/\\.([^.]*?)(?=\\?|#|$)/) || [])[1];\n};\nexport const getPolicyAllowedFileExtensions = (\n sessionGrants: Record,\n uploadPath: string,\n scopes: string[] = [],\n) => {\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n uploadPath,\n scopes,\n );\n\n //get acceptable files if any in the policy.\n const allowedFileExtensions = sessionGrantWildCards.reduce(\n (acc: string[], cv: string) => {\n const extension: string = extractFileExtn(cv);\n if (extension) {\n acc.push(`.${extension}`); //strict extension matching.\n }\n return acc;\n },\n [],\n );\n\n const uniqueExtensions = [...new Set(allowedFileExtensions)];\n return uniqueExtensions.join(\",\");\n};\n\n// The resource should not have the extensions (*.ext) for the hasPermission to work.\n// so sanitize this and also use to extract the allowed extensions outside of permission check.\nexport const getSessionGrantsWildCard = (\n sessionGrants: Record,\n uploadPath: string,\n scopes: string[] = [],\n) => {\n //get only the path matching grants to reduce processing.\n const grantsWithExtension = Object.keys(sessionGrants).reduce(\n (acc: Record, grantKey: string) => {\n if (extractFileExtn(grantKey) && grantKey.includes(uploadPath)) {\n acc[grantKey] = sessionGrants[grantKey];\n }\n return acc;\n },\n {},\n );\n\n const checkPathsForPermission = (sessionGrantKey: string) => {\n const grantActions = grantsWithExtension[sessionGrantKey];\n const hasScope = grantActions.some((actionKey) =>\n scopes.find((scopeKey) => {\n let wildCardMatch = false;\n const hasWildCard = scopeKey.indexOf(\"*\") !== -1;\n if (hasWildCard) {\n const scopeActionKey = scopeKey.substring(0, scopeKey.length - 1);\n\n wildCardMatch = actionKey.includes(scopeActionKey);\n }\n\n return wildCardMatch || actionKey === scopeKey;\n }),\n );\n\n const sessionGrantKeyPath = sessionGrantKey.substring(\n 0,\n sessionGrantKey.indexOf(\"/*.\"), //start of extension part.\n );\n const isUploadPathMatching =\n sessionGrantKeyPath === `arn:aws:s3:::${uploadPath}`;\n\n const hasGrant =\n isUploadPathMatching && sessionGrantKey !== \"arn:aws:s3:::*\";\n\n return hasScope && hasGrant;\n };\n\n return Object.keys(grantsWithExtension).filter(checkPathsForPermission);\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport styled from \"styled-components\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport { safeDecodeURIComponent } from \"../../../common/utils\";\nimport {\n Button,\n CopyIcon,\n NewPathIcon,\n Tooltip,\n Breadcrumbs,\n breakPoints,\n Box,\n} from \"mds\";\nimport { hasPermission } from \"../../../common/SecureComponent\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../common/SecureComponent/permissions\";\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { setVersionsModeEnabled } from \"./objectBrowserSlice\";\nimport { getSessionGrantsWildCard } from \"../Buckets/ListBuckets/UploadPermissionUtils\";\n\nconst CreatePathModal = withSuspense(\n React.lazy(\n () => import(\"../Buckets/ListBuckets/Objects/ListObjects/CreatePathModal\"),\n ),\n);\n\nconst BreadcrumbsMain = styled.div(() => ({\n display: \"flex\",\n \"& .additionalOptions\": {\n paddingRight: \"10px\",\n display: \"flex\",\n alignItems: \"center\",\n [`@media (max-width: ${breakPoints.lg}px)`]: {\n display: \"none\",\n },\n },\n \"& .slashSpacingStyle\": {\n margin: \"0 5px\",\n },\n}));\n\ninterface IObjectBrowser {\n bucketName: string;\n internalPaths: string;\n hidePathButton?: boolean;\n additionalOptions?: React.ReactNode;\n}\n\nconst BrowserBreadcrumbs = ({\n bucketName,\n internalPaths,\n hidePathButton,\n additionalOptions,\n}: IObjectBrowser) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const rewindEnabled = useSelector(\n (state: AppState) => state.objectBrowser.rewind.rewindEnabled,\n );\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode,\n );\n const versionedFile = useSelector(\n (state: AppState) => state.objectBrowser.versionedFile,\n );\n const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n\n const [createFolderOpen, setCreateFolderOpen] = useState(false);\n const [canCreateSubpath, setCanCreateSubpath] = useState(false);\n\n const putObjectPermScopes = [\n IAM_SCOPES.S3_PUT_OBJECT,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ];\n\n const sessionGrants = useSelector((state: AppState) =>\n state.console.session ? state.console.session.permissions || {} : {},\n );\n\n let paths = internalPaths;\n\n if (internalPaths !== \"\") {\n paths = `/${internalPaths}`;\n }\n\n const splitPaths = paths.split(\"/\").filter((path) => path !== \"\");\n const lastBreadcrumbsIndex = splitPaths.length - 1;\n\n const pathToCheckPerms = bucketName + paths || bucketName;\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n pathToCheckPerms,\n putObjectPermScopes,\n );\n\n useEffect(() => {\n setCanCreateSubpath(false);\n Object.keys(sessionGrants).forEach((grant) => {\n grant.includes(pathToCheckPerms) &&\n grant.includes(\"/*\") &&\n setCanCreateSubpath(true);\n });\n }, [pathToCheckPerms, internalPaths, sessionGrants]);\n\n const canCreatePath =\n hasPermission(\n [pathToCheckPerms, ...sessionGrantWildCards],\n putObjectPermScopes,\n ) ||\n anonymousMode ||\n canCreateSubpath;\n\n let breadcrumbsMap = splitPaths.map((objectItem: string, index: number) => {\n const subSplit = `${splitPaths.slice(0, index + 1).join(\"/\")}/`;\n const route = `/browser/${encodeURIComponent(bucketName)}/${\n subSplit ? `${encodeURIComponent(subSplit)}` : ``\n }`;\n\n if (index === lastBreadcrumbsIndex && objectItem === versionedFile) {\n return null;\n }\n\n return (\n \n /\n {index === lastBreadcrumbsIndex ? (\n \n {safeDecodeURIComponent(objectItem) /*Only for display*/}\n \n ) : (\n {\n dispatch(\n setVersionsModeEnabled({ status: false, objectName: \"\" }),\n );\n }}\n >\n {\n safeDecodeURIComponent(\n objectItem,\n ) /*Only for display to preserve */\n }\n \n )}\n \n );\n });\n\n let versionsItem: any[] = [];\n\n if (versionsMode) {\n versionsItem = [\n \n \n /\n {versionedFile} - Versions\n \n ,\n ];\n }\n\n const listBreadcrumbs: any[] = [\n \n {\n dispatch(setVersionsModeEnabled({ status: false, objectName: \"\" }));\n }}\n >\n {bucketName}\n \n ,\n ...breadcrumbsMap,\n ...versionsItem,\n ];\n\n const closeAddFolderModal = () => {\n setCreateFolderOpen(false);\n };\n\n const goBackFunction = () => {\n if (versionsMode) {\n dispatch(setVersionsModeEnabled({ status: false, objectName: \"\" }));\n } else {\n if (splitPaths.length === 0) {\n navigate(\"/browser\");\n\n return;\n }\n\n const prevPath = splitPaths.slice(0, -1);\n\n navigate(\n `/browser/${bucketName}${\n prevPath.length > 0\n ? `/${encodeURIComponent(`${prevPath.join(\"/\")}/`)}`\n : \"\"\n }`,\n );\n }\n };\n\n return (\n \n \n {createFolderOpen && (\n \n )}\n \n \n \n }\n variant={\"regular\"}\n onClick={() => {\n dispatch(setSnackBarMessage(\"Path copied to clipboard\"));\n }}\n style={{\n width: \"28px\",\n height: \"28px\",\n color: \"#969FA8\",\n border: \"#969FA8 1px solid\",\n marginRight: 5,\n }}\n />\n \n {additionalOptions}\n \n }\n >\n {listBreadcrumbs}\n \n {!hidePathButton && (\n \n \n )}\n \n div\": {\n fontSize: 12,\n fontWeight: \"normal\",\n flexDirection: \"row\",\n flexWrap: \"nowrap\",\n },\n [`@media (max-width: ${breakPoints.lg}px)`]: {\n display: \"flex\",\n },\n }}\n >\n {additionalOptions}\n \n \n );\n};\n\nexport default BrowserBreadcrumbs;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const isVersionedMode = (status: string | undefined) => {\n return status === \"Enabled\" || status === \"Suspended\";\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { CSSObject } from \"styled-components\";\nimport { Button, DropdownSelector, UploadFolderIcon, UploadIcon } from \"mds\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../../common/SecureComponent\";\nimport TooltipWrapper from \"../../Common/TooltipWrapper/TooltipWrapper\";\nimport { useSelector } from \"react-redux\";\nimport { AppState } from \"../../../../store\";\nimport { getSessionGrantsWildCard } from \"./UploadPermissionUtils\";\n\ninterface IUploadFilesButton {\n uploadPath: string;\n bucketName: string;\n forceDisable?: boolean;\n uploadFileFunction: (closeFunction: () => void) => void;\n uploadFolderFunction: (closeFunction: () => void) => void;\n overrideStyles?: CSSObject;\n}\n\nconst UploadFilesButton = ({\n uploadPath,\n bucketName,\n forceDisable = false,\n uploadFileFunction,\n uploadFolderFunction,\n overrideStyles = {},\n}: IUploadFilesButton) => {\n const [anchorEl, setAnchorEl] = useState(null);\n const [uploadOptionsOpen, uploadOptionsSetOpen] = useState(false);\n\n const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n\n const sessionGrants = useSelector((state: AppState) =>\n state.console.session ? state.console.session.permissions || {} : {},\n );\n\n const putObjectPermScopes = [\n IAM_SCOPES.S3_PUT_OBJECT,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ];\n\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n uploadPath,\n putObjectPermScopes,\n );\n\n const openUploadMenu = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n uploadOptionsSetOpen(!uploadOptionsOpen);\n setAnchorEl(event.currentTarget);\n };\n const handleCloseUpload = () => {\n setAnchorEl(null);\n };\n\n const uploadObjectAllowed =\n hasPermission(\n [uploadPath, ...sessionGrantWildCards],\n putObjectPermScopes,\n ) || anonymousMode;\n\n const uploadFolderAllowed = hasPermission(\n [bucketName, ...sessionGrantWildCards],\n putObjectPermScopes,\n false,\n true,\n );\n\n const uploadFolderAction = (action: string) => {\n if (action === \"folder\") {\n uploadFolderFunction(handleCloseUpload);\n return;\n }\n\n uploadFileFunction(handleCloseUpload);\n };\n\n const uploadEnabled: boolean = uploadObjectAllowed || uploadFolderAllowed;\n\n return (\n \n \n }\n variant={\"callAction\"}\n disabled={forceDisable || !uploadEnabled}\n sx={overrideStyles}\n />\n \n ,\n value: \"file\",\n disabled: !uploadObjectAllowed || forceDisable,\n },\n {\n label: \"Upload Folder\",\n icon: ,\n value: \"folder\",\n disabled: !uploadFolderAllowed || forceDisable,\n },\n ]}\n selectedOption={\"\"}\n onSelect={(nValue) => uploadFolderAction(nValue)}\n hideTriggerAction={() => {\n uploadOptionsSetOpen(false);\n }}\n open={uploadOptionsOpen}\n anchorEl={anchorEl}\n anchorOrigin={\"end\"}\n useAnchorWidth\n />\n \n );\n};\n\nexport default UploadFilesButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box, Button, ClosePanelIcon } from \"mds\";\n\ninterface IDetailsListPanel {\n open: boolean;\n className?: string;\n closePanel: () => void;\n children: React.ReactNode;\n}\n\nconst DetailsListPanel = ({\n open,\n closePanel,\n className = \"\",\n children,\n}: IDetailsListPanel) => {\n return (\n \n }\n sx={{\n position: \"absolute\",\n right: 5,\n top: 18,\n padding: 0,\n height: 14,\n \"&:hover:not(:disabled)\": {\n backgroundColor: \"transparent\",\n },\n }}\n />\n {children}\n \n );\n};\n\nexport default DetailsListPanel;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// This object contains variables that will be used across form components.\n\nimport React from \"react\";\nimport { Box } from \"mds\";\nimport { replaceUnicodeChar } from \"../../../../../../common/utils\";\n\ninterface IIconWithLabel {\n icon: React.ReactNode;\n strings: string[];\n}\n\nconst IconWithLabel = ({ icon, strings }: IIconWithLabel) => {\n return (\n \n {icon}\n \n {replaceUnicodeChar(strings[strings.length - 1])}\n \n \n );\n};\n\nexport default IconWithLabel;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\n\nimport {\n FileBookIcon,\n FileCodeIcon,\n FileConfigIcon,\n FileDbIcon,\n FileFontIcon,\n FileImageIcon,\n FileLockIcon,\n FileMissingIcon,\n FileMusicIcon,\n FileNonType,\n FilePdfIcon,\n FilePptIcon,\n FileTxtIcon,\n FileVideoIcon,\n FileXlsIcon,\n FileZipIcon,\n FolderBrowserIcon,\n} from \"mds\";\nimport IconWithLabel from \"./IconWithLabel\";\n\ninterface IExtToIcon {\n icon: any;\n extensions: string[];\n}\n\nexport const extensionToIcon: IExtToIcon[] = [\n {\n icon: ,\n extensions: [\"mp4\", \"mov\", \"avi\", \"mpeg\", \"mpg\"],\n },\n {\n icon: ,\n extensions: [\"mp3\", \"m4a\", \"aac\"],\n },\n {\n icon: ,\n extensions: [\"pdf\"],\n },\n {\n icon: ,\n extensions: [\"ppt\", \"pptx\"],\n },\n {\n icon: ,\n extensions: [\"xls\", \"xlsx\"],\n },\n {\n icon: ,\n extensions: [\"cer\", \"crt\", \"pem\"],\n },\n {\n icon: ,\n extensions: [\"html\", \"xml\", \"css\", \"py\", \"go\", \"php\", \"cpp\", \"h\", \"java\"],\n },\n {\n icon: ,\n extensions: [\"cfg\", \"yaml\"],\n },\n {\n icon: ,\n extensions: [\"sql\"],\n },\n {\n icon: ,\n extensions: [\"ttf\", \"otf\"],\n },\n {\n icon: ,\n extensions: [\"doc\", \"docx\", \"txt\", \"rtf\"],\n },\n {\n icon: ,\n extensions: [\"zip\", \"rar\", \"tar\", \"gz\"],\n },\n {\n icon: ,\n extensions: [\"epub\", \"mobi\", \"azw\", \"azw3\"],\n },\n {\n icon: ,\n extensions: [\"jpeg\", \"jpg\", \"gif\", \"tiff\", \"png\", \"heic\", \"dng\"],\n },\n];\n\nexport const displayFileIconName = (\n element: string,\n returnOnlyIcon: boolean = false,\n) => {\n let elementString = element;\n let icon = ;\n // Element is a folder\n if (element.endsWith(\"/\")) {\n icon = ;\n elementString = element.slice(0, -1);\n }\n\n const lowercaseElement = element.toLowerCase();\n for (const etc of extensionToIcon) {\n for (const ext of etc.extensions) {\n if (lowercaseElement.endsWith(`.${ext}`)) {\n icon = etc.icon;\n }\n }\n }\n\n if (!element.endsWith(\"/\") && element.indexOf(\".\") < 0) {\n icon = ;\n }\n\n const splitItem = elementString.split(\"/\");\n\n if (returnOnlyIcon) {\n return icon;\n }\n\n return ;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Box } from \"mds\";\nimport { safeDecodeURIComponent } from \"../../../../../../common/utils\";\n\ninterface IObjectMetadata {\n metaData: any;\n}\n\nconst itemRendererFn = (element: any) => {\n return Array.isArray(element)\n ? element.map(safeDecodeURIComponent).join(\", \")\n : safeDecodeURIComponent(element);\n};\n\nconst ObjectMetaData = ({ metaData }: IObjectMetadata) => {\n const metaKeys = Object.keys(metaData);\n\n return (\n \n {metaKeys.map((element: string, index: number) => {\n const renderItem = itemRendererFn(metaData[element]);\n return (\n \n {element}\n \n {renderItem}\n \n );\n })}\n \n );\n};\n\nexport default ObjectMetaData;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const months = [\n { value: \"01\", label: \"January\" },\n { value: \"02\", label: \"February\" },\n { value: \"03\", label: \"March\" },\n { value: \"04\", label: \"April\" },\n { value: \"05\", label: \"May\" },\n { value: \"06\", label: \"June\" },\n { value: \"07\", label: \"July\" },\n { value: \"08\", label: \"August\" },\n { value: \"09\", label: \"September\" },\n { value: \"10\", label: \"October\" },\n { value: \"11\", label: \"November\" },\n { value: \"12\", label: \"December\" },\n];\n\nexport const days = Array.from(Array(31), (_, num) => ({\n value: (num + 1).toString(),\n label: (num + 1).toString(),\n}));\n\nconst currentYear = new Date().getFullYear();\n\nexport const years = Array.from(Array(50), (_, numYear) => ({\n value: (numYear + currentYear).toString(),\n label: (numYear + currentYear).toString(),\n}));\n\nexport const validDate = (year: string, month: string, day: string): any[] => {\n const currentDate = Date.parse(`${year}-${month}-${day}`);\n\n if (isNaN(currentDate)) {\n return [false, \"\"];\n }\n\n const parsedMonth = parseInt(month);\n const parsedDay = parseInt(day);\n\n const monthForString = parsedMonth < 10 ? `0${parsedMonth}` : parsedMonth;\n const dayForString = parsedDay < 10 ? `0${parsedDay}` : parsedDay;\n\n const parsedDate = new Date(currentDate).toISOString().split(\"T\")[0];\n const dateString = `${year}-${monthForString}-${dayForString}`;\n\n return [parsedDate === dateString, dateString];\n};\n\n// twoDigitDate gets a two digit string number used for months or days\n// returns \"NaN\" if number is NaN\nexport const twoDigitDate = (num: number): string => {\n return num < 10 ? `0${num}` : `${num}`;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useState,\n} from \"react\";\nimport { Box, HelpIcon, InputLabel, Select, Tooltip } from \"mds\";\nimport { days, months, validDate, years } from \"./utils\";\n\ninterface IDateSelectorProps {\n id: string;\n label: string;\n disableOptions?: boolean;\n tooltip?: string;\n borderBottom?: boolean;\n value?: string;\n onDateChange: (date: string, isValid: boolean) => any;\n}\n\nconst DateSelector = forwardRef(\n (\n {\n id,\n label,\n disableOptions = false,\n tooltip = \"\",\n borderBottom = false,\n onDateChange,\n value = \"\",\n }: IDateSelectorProps,\n ref: any,\n ) => {\n useImperativeHandle(ref, () => ({ resetDate }));\n\n const [month, setMonth] = useState(\"\");\n const [day, setDay] = useState(\"\");\n const [year, setYear] = useState(\"\");\n\n useEffect(() => {\n // verify if there is a current value\n // assume is in the format \"2021-12-30\"\n if (value !== \"\") {\n const valueSplit = value.split(\"-\");\n\n setYear(valueSplit[0]);\n setMonth(valueSplit[1]);\n // Turn to single digit to be displayed on dropdown buttons\n setDay(`${parseInt(valueSplit[2])}`);\n }\n }, [value]);\n\n useEffect(() => {\n const [isValid, dateString] = validDate(year, month, day);\n onDateChange(dateString, isValid);\n }, [month, day, year, onDateChange]);\n\n const resetDate = () => {\n setMonth(\"\");\n setDay(\"\");\n setYear(\"\");\n };\n\n const isDateDisabled = () => {\n if (disableOptions) {\n return disableOptions;\n } else {\n return false;\n }\n };\n\n const monthForDropDown = [{ value: \"\", label: \"\" }, ...months];\n const daysForDrop = [{ value: \"\", label: \"\" }, ...days];\n const yearsForDrop = [{ value: \"\", label: \"\" }, ...years];\n\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n \n \n \n \n \n \n \n )}\n \n \n \n {\n setMonth(newValue);\n }}\n options={monthForDropDown}\n label={\"\"}\n disabled={isDateDisabled()}\n />\n\n {\n setDay(newValue);\n }}\n options={daysForDrop}\n label={\"\"}\n disabled={isDateDisabled()}\n />\n\n {\n setYear(newValue);\n }}\n options={yearsForDrop}\n label={\"\"}\n disabled={isDateDisabled()}\n sx={{\n marginBottom: 12,\n }}\n />\n \n \n );\n },\n);\n\nexport default DateSelector;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { Box, Button, FormLayout, Grid, RadioGroup, Switch } from \"mds\";\nimport { useSelector } from \"react-redux\";\nimport { BucketObject, ObjectRetentionMode } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { modalStyleUtils } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { twoDigitDate } from \"../../../../Common/FormComponents/DateSelector/utils\";\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport DateSelector from \"../../../../Common/FormComponents/DateSelector/DateSelector\";\n\ninterface ISetRetentionProps {\n open: boolean;\n closeModalAndRefresh: (updateInfo: boolean) => void;\n objectName: string;\n bucketName: string;\n objectInfo: BucketObject;\n}\n\ninterface IRefObject {\n resetDate: () => void;\n}\n\nconst SetRetention = ({\n open,\n closeModalAndRefresh,\n objectName,\n objectInfo,\n bucketName,\n}: ISetRetentionProps) => {\n const dispatch = useAppDispatch();\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const [statusEnabled, setStatusEnabled] = useState(true);\n const [type, setType] = useState(\"\");\n const [date, setDate] = useState(\"\");\n const [isDateValid, setIsDateValid] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const [alreadyConfigured, setAlreadyConfigured] = useState(false);\n\n useEffect(() => {\n if (objectInfo.retention_mode) {\n setType(retentionConfig?.mode || ObjectRetentionMode.Governance);\n setAlreadyConfigured(true);\n }\n // get retention_until_date if defined\n if (objectInfo.retention_until_date) {\n const valueDate = new Date(objectInfo.retention_until_date);\n if (valueDate.toString() !== \"Invalid Date\") {\n const year = valueDate.getFullYear();\n const month = twoDigitDate(valueDate.getMonth() + 1);\n const day = valueDate.getDate();\n if (!isNaN(day) && month !== \"NaN\" && !isNaN(year)) {\n setDate(`${year}-${month}-${day}`);\n }\n }\n setAlreadyConfigured(true);\n }\n }, [objectInfo, retentionConfig?.mode]);\n\n const dateElement = useRef(null);\n\n const dateFieldDisabled = () => {\n return !(statusEnabled && (type === \"governance\" || type === \"compliance\"));\n };\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n };\n\n const resetForm = () => {\n setStatusEnabled(false);\n setType(ObjectRetentionMode.Governance);\n if (dateElement.current) {\n dateElement.current.resetDate();\n }\n };\n\n const addRetention = (\n selectedObject: string,\n versionId: string | null,\n expireDate: string,\n ) => {\n api.buckets\n .putObjectRetention(\n bucketName,\n {\n prefix: selectedObject,\n version_id: versionId || \"\",\n },\n {\n expires: expireDate,\n mode: type as ObjectRetentionMode,\n },\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSaving(false);\n });\n };\n\n const disableRetention = (\n selectedObject: string,\n versionId: string | null,\n ) => {\n api.buckets\n .deleteObjectRetention(bucketName, {\n prefix: selectedObject,\n version_id: versionId || \"\",\n })\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSaving(false);\n });\n };\n\n const saveNewRetentionPolicy = () => {\n setIsSaving(true);\n const selectedObject = objectInfo.name || \"\";\n const versionId = objectInfo.version_id || null;\n\n const expireDate =\n !statusEnabled && type === \"governance\" ? \"\" : `${date}T23:59:59Z`;\n\n if (!statusEnabled && type === \"governance\") {\n disableRetention(selectedObject, versionId);\n\n return;\n }\n\n addRetention(selectedObject, versionId, expireDate);\n };\n\n const showSwitcher =\n alreadyConfigured && (type === \"governance\" || type === \"\");\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n \n \n );\n};\n\nexport default SetRetention;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport { ConfirmDeleteIcon, Switch } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { useSelector } from \"react-redux\";\nimport { isVersionedMode } from \"../../../../../../utils/validationFunctions\";\nimport { BucketVersioningResponse } from \"api/consoleApi\";\n\ninterface IDeleteObjectProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObject: string;\n selectedBucket: string;\n\n versioningInfo: BucketVersioningResponse | undefined;\n selectedVersion?: string;\n}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n versioningInfo,\n selectedVersion = \"\",\n}: IDeleteObjectProps) => {\n const dispatch = useAppDispatch();\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n\n // We close the modal box on access denied.\n if (err.detailedError === \"Access Denied.\") {\n closeDeleteModalAndRefresh(true);\n }\n };\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n const [deleteVersions, setDeleteVersions] = useState(false);\n const [bypassGovernance, setBypassGovernance] = useState(false);\n\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const canBypass =\n hasPermission(\n [selectedBucket],\n [IAM_SCOPES.S3_BYPASS_GOVERNANCE_RETENTION],\n ) && retentionConfig?.mode === \"governance\";\n\n if (!selectedObject) {\n return null;\n }\n const onConfirmDelete = () => {\n const recursive = selectedObject.endsWith(\"/\");\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/buckets/${encodeURIComponent(selectedBucket)}/objects?prefix=${encodeURIComponent(selectedObject)}${\n selectedVersion !== \"\"\n ? `&version_id=${encodeURIComponent(selectedVersion)}`\n : `&recursive=${recursive}&all_versions=${deleteVersions}`\n }${bypassGovernance ? \"&bypass=true\" : \"\"}`,\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete: \n {selectedObject}{\" \"}\n {selectedVersion !== \"\" ? (\n \n \n \n Version ID:\n \n {selectedVersion}\n \n ) : (\n \"\"\n )}\n ? \n \n {isVersionedMode(versioningInfo?.status) &&\n selectedVersion === \"\" && (\n \n {\n setDeleteVersions(!deleteVersions);\n }}\n description=\"\"\n />\n \n )}\n {canBypass && (deleteVersions || selectedVersion !== \"\") && (\n \n
\n This will remove the object as well as all of its versions,{\" \"}\n \n This action is irreversible.\n
\n \n Are you sure you want to continue?\n \n )}\n \n }\n />\n );\n};\n\nexport default DeleteObject;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { Box, Button, FormLayout, Grid, Switch } from \"mds\";\nimport { BucketObject, ObjectLegalHoldStatus } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { modalStyleUtils } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\n\ninterface ISetRetentionProps {\n open: boolean;\n closeModalAndRefresh: (reload: boolean) => void;\n objectName: string;\n bucketName: string;\n actualInfo: BucketObject;\n}\n\nconst SetLegalHoldModal = ({\n open,\n closeModalAndRefresh,\n objectName,\n bucketName,\n actualInfo,\n}: ISetRetentionProps) => {\n const dispatch = useAppDispatch();\n const [legalHoldEnabled, setLegalHoldEnabled] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const versionId = actualInfo.version_id;\n\n useEffect(() => {\n const status = get(actualInfo, \"legal_hold_status\", \"OFF\");\n setLegalHoldEnabled(status === \"ON\");\n }, [actualInfo]);\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n setIsSaving(true);\n\n api.buckets\n .putObjectLegalHold(\n bucketName,\n {\n prefix: objectName,\n version_id: versionId || \"\",\n },\n {\n status: legalHoldEnabled\n ? ObjectLegalHoldStatus.Enabled\n : ObjectLegalHoldStatus.Disabled,\n },\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSaving(false);\n });\n };\n\n const resetForm = () => {\n setLegalHoldEnabled(false);\n };\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n \n \n );\n};\n\nexport default SetLegalHoldModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport get from \"lodash/get\";\nimport styled from \"styled-components\";\nimport {\n AddNewTagIcon,\n Button,\n DisabledIcon,\n EditTagIcon,\n InputBox,\n SectionTitle,\n Box,\n Grid,\n Tag,\n FormLayout,\n} from \"mds\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { useSelector } from \"react-redux\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport { modalStyleUtils } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { SecureComponent } from \"../../../../../../common/SecureComponent\";\nimport {\n selDistSet,\n setModalErrorSnackMessage,\n} from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\ninterface ITagModal {\n modalOpen: boolean;\n bucketName: string;\n actualInfo: BucketObject;\n onCloseAndUpdate: (refresh: boolean) => void;\n}\n\nconst DeleteTag = styled.b(({ theme }) => ({\n color: get(theme, \"signalColors.danger\", \"#C83B51\"),\n marginLeft: 5,\n}));\n\nconst AddTagModal = ({\n modalOpen,\n onCloseAndUpdate,\n bucketName,\n actualInfo,\n}: ITagModal) => {\n const dispatch = useAppDispatch();\n const distributedSetup = useSelector(selDistSet);\n const [newKey, setNewKey] = useState(\"\");\n const [newLabel, setNewLabel] = useState(\"\");\n const [isSending, setIsSending] = useState(false);\n const [deleteEnabled, setDeleteEnabled] = useState(false);\n const [deleteKey, setDeleteKey] = useState(\"\");\n const [deleteLabel, setDeleteLabel] = useState(\"\");\n\n const currentTags = actualInfo.tags;\n const currTagKeys = Object.keys(currentTags || {});\n\n const allPathData = actualInfo.name?.split(\"/\");\n const currentItem = allPathData?.pop() || \"\";\n\n const resetForm = () => {\n setNewLabel(\"\");\n setNewKey(\"\");\n };\n\n const addTagProcess = () => {\n setIsSending(true);\n const newTag: any = {};\n\n newTag[newKey] = newLabel;\n const newTagList = { ...currentTags, ...newTag };\n\n const verID = distributedSetup ? actualInfo.version_id || \"\" : \"null\";\n\n api.buckets\n .putObjectTags(\n bucketName,\n { prefix: actualInfo.name || \"\", version_id: verID },\n { tags: newTagList },\n )\n .then(() => {\n onCloseAndUpdate(true);\n setIsSending(false);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSending(false);\n });\n };\n\n const deleteTagProcess = () => {\n const cleanObject: any = { ...currentTags };\n delete cleanObject[deleteKey];\n\n const verID = distributedSetup ? actualInfo.version_id || \"\" : \"null\";\n\n api.buckets\n .putObjectTags(\n bucketName,\n { prefix: actualInfo.name || \"\", version_id: verID },\n { tags: cleanObject },\n )\n .then(() => {\n onCloseAndUpdate(true);\n setIsSending(false);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSending(false);\n });\n };\n\n const onDeleteTag = (tagKey: string, tag: string) => {\n setDeleteKey(tagKey);\n setDeleteLabel(tag);\n setDeleteEnabled(true);\n };\n\n const cancelDelete = () => {\n setDeleteKey(\"\");\n setDeleteLabel(\"\");\n setDeleteEnabled(false);\n };\n\n const tagsFor = (plural: boolean) => (\n \n Tag{plural ? \"s\" : \"\"} for: {currentItem}\n \n );\n\n return (\n \n {\n onCloseAndUpdate(true);\n }}\n iconColor={deleteEnabled ? \"delete\" : \"default\"}\n titleIcon={deleteEnabled ? : }\n >\n {deleteEnabled ? (\n \n \n {tagsFor(false)}\n Are you sure you want to delete the tag{\" \"}\n \n {deleteKey} : {deleteLabel}\n {\" \"}\n ?\n \n \n \n \n \n \n ) : (\n \n \n \n {tagsFor(true)}\n \n Current Tags:\n \n {currTagKeys.length === 0 ? (\n \n There are no tags for this object\n \n ) : (\n \n )}\n \n {currTagKeys.map((tagKey: string, index: number) => {\n const tag = get(currentTags, `${tagKey}`, \"\");\n if (tag !== \"\") {\n return (\n \n {\n onDeleteTag(tagKey, tag);\n }}\n />\n \n );\n }\n return null;\n })}\n \n \n \n \n \n \n } separator={false}>\n Add New Tag\n \n \n {\n setNewKey(e.target.value);\n }}\n />\n {\n setNewLabel(e.target.value);\n }}\n />\n \n \n \n \n \n \n \n \n )}\n \n \n );\n};\n\nexport default AddTagModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport {\n Button,\n InspectMenuIcon,\n PasswordKeyIcon,\n Switch,\n Grid,\n Box,\n} from \"mds\";\nimport {\n deleteCookie,\n getCookieValue,\n performDownload,\n} from \"../../../../../../common/utils\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport { modalStyleUtils } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport KeyRevealer from \"../../../../Tools/KeyRevealer\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\ninterface IInspectObjectProps {\n closeInspectModalAndRefresh: (refresh: boolean) => void;\n inspectOpen: boolean;\n inspectPath: string;\n volumeName: string;\n}\n\nconst InspectObject = ({\n closeInspectModalAndRefresh,\n inspectOpen,\n inspectPath,\n volumeName,\n}: IInspectObjectProps) => {\n const dispatch = useAppDispatch();\n const onClose = () => closeInspectModalAndRefresh(false);\n const [isEncrypt, setIsEncrypt] = useState(true);\n const [decryptionKey, setDecryptionKey] = useState(\"\");\n const [insFileName, setInsFileName] = useState(\"\");\n\n if (!inspectPath) {\n return null;\n }\n const makeRequest = async (url: string) => {\n return await fetch(url, { method: \"GET\" });\n };\n\n const performInspect = async () => {\n let basename = document.baseURI.replace(window.location.origin, \"\");\n const urlOfInspectApi = `${window.location.origin}${basename}/api/v1/admin/inspect?volume=${encodeURIComponent(volumeName)}&file=${encodeURIComponent(inspectPath + \"/xl.meta\")}&encrypt=${isEncrypt}`;\n\n makeRequest(urlOfInspectApi)\n .then(async (res) => {\n if (!res.ok) {\n const resErr: any = await res.json();\n\n dispatch(\n setErrorSnackMessage({\n errorMessage: resErr.message,\n detailedError: resErr.code,\n }),\n );\n }\n const blob: Blob = await res.blob();\n\n //@ts-ignore\n const filename = res.headers.get(\"content-disposition\").split('\"')[1];\n const decryptKey = getCookieValue(filename) || \"\";\n\n performDownload(blob, filename);\n setInsFileName(filename);\n if (decryptKey === \"\") {\n onClose();\n return;\n }\n setDecryptionKey(decryptKey);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(err));\n });\n };\n\n const onCloseDecKeyModal = () => {\n deleteCookie(insFileName);\n onClose();\n setDecryptionKey(\"\");\n };\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n };\n\n return (\n \n {!decryptionKey && (\n }\n title={`Inspect Object`}\n onClose={onClose}\n >\n \n \n )}\n {decryptionKey ? (\n }\n >\n \n This will be displayed only once. It cannot be recovered.\n \n Use secure medium to share this key.\n \n \n \n \n \n ) : null}\n \n );\n};\n\nexport default InspectObject;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Button, EditIcon, FormLayout, Grid, InputBox, Switch } from \"mds\";\nimport { modalStyleUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport { useAppDispatch } from \"../../../store\";\nimport { downloadObject } from \"./utils\";\nimport { BucketObject } from \"api/consoleApi\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\n\ninterface IRenameLongFilename {\n open: boolean;\n bucketName: string;\n internalPaths: string;\n currentItem: string;\n actualInfo: BucketObject;\n closeModal: () => void;\n}\n\nconst RenameLongFileName = ({\n open,\n closeModal,\n currentItem,\n internalPaths,\n actualInfo,\n bucketName,\n}: IRenameLongFilename) => {\n const dispatch = useAppDispatch();\n\n const [newFileName, setNewFileName] = useState(currentItem);\n const [acceptLongName, setAcceptLongName] = useState(false);\n\n const doDownload = (e: React.FormEvent) => {\n e.preventDefault();\n downloadObject(dispatch, bucketName, internalPaths, actualInfo);\n closeModal();\n };\n\n return (\n }\n >\n
\n The file you are trying to download has a long name.\n \n This can cause issues on Windows Systems by trimming the file name after\n download.\n \n We recommend to rename the file download\n
\n \n \n );\n};\n\nexport default RenameLongFileName;\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 get from \"lodash/get\";\nimport { useSelector } from \"react-redux\";\nimport {\n ActionsList,\n Box,\n Button,\n DeleteIcon,\n DownloadIcon,\n Grid,\n InspectMenuIcon,\n LegalHoldIcon,\n Loader,\n MetadataIcon,\n ObjectInfoIcon,\n PreviewIcon,\n RetentionIcon,\n ShareIcon,\n SimpleHeader,\n TagsIcon,\n VersionsIcon,\n} from \"mds\";\nimport { api } from \"api\";\nimport { downloadObject } from \"../../../../ObjectBrowser/utils\";\nimport { BucketObject, BucketVersioningResponse } from \"api/consoleApi\";\nimport { AllowedPreviews, previewObjectType } from \"../utils\";\nimport {\n niceBytes,\n niceBytesInt,\n niceDaysInt,\n} from \"../../../../../../common/utils\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../../../common/SecureComponent/permissions\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../../../common/SecureComponent\";\nimport { selDistSet } from \"../../../../../../systemSlice\";\nimport {\n setLoadingObjectInfo,\n setLoadingVersions,\n setSelectedVersion,\n setVersionsModeEnabled,\n} from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport { displayFileIconName } from \"./utils\";\nimport PreviewFileModal from \"../Preview/PreviewFileModal\";\nimport ObjectMetaData from \"../ObjectDetails/ObjectMetaData\";\nimport ShareFile from \"../ObjectDetails/ShareFile\";\nimport SetRetention from \"../ObjectDetails/SetRetention\";\nimport DeleteObject from \"../ListObjects/DeleteObject\";\nimport SetLegalHoldModal from \"../ObjectDetails/SetLegalHoldModal\";\nimport TagsModal from \"../ObjectDetails/TagsModal\";\nimport InspectObject from \"./InspectObject\";\nimport RenameLongFileName from \"../../../../ObjectBrowser/RenameLongFilename\";\nimport TooltipWrapper from \"../../../../Common/TooltipWrapper/TooltipWrapper\";\n\nconst emptyFile: BucketObject = {\n is_latest: true,\n last_modified: \"\",\n legal_hold_status: \"\",\n name: \"\",\n retention_mode: \"\",\n retention_until_date: \"\",\n size: 0,\n tags: {},\n version_id: undefined,\n};\n\ninterface IObjectDetailPanelProps {\n internalPaths: string;\n bucketName: string;\n versioningInfo: BucketVersioningResponse;\n locking: boolean | undefined;\n onClosePanel: (hardRefresh: boolean) => void;\n}\n\nconst ObjectDetailPanel = ({\n internalPaths,\n bucketName,\n versioningInfo,\n locking,\n onClosePanel,\n}: IObjectDetailPanelProps) => {\n const dispatch = useAppDispatch();\n\n const distributedSetup = useSelector(selDistSet);\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode,\n );\n const selectedVersion = useSelector(\n (state: AppState) => state.objectBrowser.selectedVersion,\n );\n const loadingObjectInfo = useSelector(\n (state: AppState) => state.objectBrowser.loadingObjectInfo,\n );\n\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [retentionModalOpen, setRetentionModalOpen] = useState(false);\n const [tagModalOpen, setTagModalOpen] = useState(false);\n const [legalholdOpen, setLegalholdOpen] = useState(false);\n const [inspectModalOpen, setInspectModalOpen] = useState(false);\n const [actualInfo, setActualInfo] = useState(null);\n const [allInfoElements, setAllInfoElements] = useState([]);\n const [objectToShare, setObjectToShare] = useState(null);\n const [versions, setVersions] = useState([]);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [previewOpen, setPreviewOpen] = useState(false);\n const [totalVersionsSize, setTotalVersionsSize] = useState(0);\n const [longFileOpen, setLongFileOpen] = useState(false);\n const [metaData, setMetaData] = useState(null);\n const [loadMetadata, setLoadingMetadata] = useState(false);\n\n const internalPathsDecoded = internalPaths || \"\";\n const allPathData = internalPathsDecoded.split(\"/\");\n const currentItem = allPathData.pop() || \"\";\n\n // calculate object name to display\n let objectNameArray: string[] = [];\n if (actualInfo && actualInfo.name) {\n objectNameArray = actualInfo.name.split(\"/\");\n }\n\n useEffect(() => {\n if (distributedSetup && allInfoElements && allInfoElements.length >= 1) {\n let infoElement =\n allInfoElements.find((el: BucketObject) => el.is_latest) || emptyFile;\n\n if (selectedVersion !== \"\") {\n infoElement =\n allInfoElements.find(\n (el: BucketObject) => el.version_id === selectedVersion,\n ) || emptyFile;\n }\n\n if (!infoElement.is_delete_marker) {\n setLoadingMetadata(true);\n }\n\n setActualInfo(infoElement);\n }\n }, [selectedVersion, distributedSetup, allInfoElements]);\n\n useEffect(() => {\n if (loadingObjectInfo && internalPaths !== \"\") {\n api.buckets\n .listObjects(bucketName, {\n prefix: internalPaths,\n with_versions: distributedSetup,\n })\n .then((res) => {\n const result: BucketObject[] = res.data.objects || [];\n if (distributedSetup) {\n setAllInfoElements(result);\n setVersions(result);\n\n const tVersionSize = result.reduce(\n (acc: number, currValue: BucketObject): number => {\n if (currValue?.size) {\n return acc + currValue.size;\n }\n return acc;\n },\n 0,\n );\n\n setTotalVersionsSize(tVersionSize);\n } else {\n const resInfo = result[0];\n\n setActualInfo(resInfo);\n setVersions([]);\n\n if (!resInfo.is_delete_marker) {\n setLoadingMetadata(true);\n }\n }\n\n dispatch(setLoadingObjectInfo(false));\n })\n .catch((err) => {\n console.error(\"Error loading object details\", err.error);\n dispatch(setLoadingObjectInfo(false));\n });\n }\n }, [\n loadingObjectInfo,\n bucketName,\n internalPaths,\n dispatch,\n distributedSetup,\n selectedVersion,\n ]);\n\n useEffect(() => {\n if (loadMetadata && internalPaths !== \"\") {\n api.buckets\n .getObjectMetadata(bucketName, {\n prefix: internalPaths,\n versionID: actualInfo?.version_id || \"\",\n })\n .then((res) => {\n let metadata = get(res.data, \"objectMetadata\", {});\n\n setMetaData(metadata);\n setLoadingMetadata(false);\n })\n .catch((err) => {\n console.error(\"Error Getting Metadata Status: \", err.detailedError);\n setLoadingMetadata(false);\n });\n }\n }, [bucketName, internalPaths, loadMetadata, actualInfo?.version_id]);\n\n let tagKeys: string[] = [];\n\n if (actualInfo && actualInfo.tags) {\n tagKeys = Object.keys(actualInfo.tags);\n }\n\n const openRetentionModal = () => {\n setRetentionModalOpen(true);\n };\n\n const closeRetentionModal = (updateInfo: boolean) => {\n setRetentionModalOpen(false);\n if (updateInfo) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const shareObject = () => {\n setShareFileModalOpen(true);\n };\n\n const closeShareModal = () => {\n setObjectToShare(null);\n setShareFileModalOpen(false);\n };\n\n const closeFileOpen = () => {\n setLongFileOpen(false);\n };\n\n const closeDeleteModal = (closeAndReload: boolean) => {\n setDeleteOpen(false);\n\n if (closeAndReload && selectedVersion === \"\") {\n onClosePanel(true);\n } else {\n dispatch(setLoadingVersions(true));\n dispatch(setSelectedVersion(\"\"));\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeAddTagModal = (reloadObjectData: boolean) => {\n setTagModalOpen(false);\n if (reloadObjectData) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeInspectModal = (reloadObjectData: boolean) => {\n setInspectModalOpen(false);\n if (reloadObjectData) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeLegalholdModal = (reload: boolean) => {\n setLegalholdOpen(false);\n if (reload) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const loaderForContainer = (\n
\n \n {selectedVersion !== \"\" && (\n \n Version ID:\n \n {selectedVersion}\n \n )}\n \n Size:\n \n {niceBytes(`${actualInfo.size || \"0\"}`)}\n \n {actualInfo.version_id &&\n actualInfo.version_id !== \"null\" &&\n selectedVersion === \"\" && (\n \n Versions:\n \n {versions.length} version{versions.length !== 1 ? \"s\" : \"\"},{\" \"}\n {niceBytesInt(totalVersionsSize)}\n \n )}\n {selectedVersion === \"\" && (\n \n Last Modified:\n \n {calculateLastModifyTime(actualInfo.last_modified || \"\")}\n \n )}\n \n ETAG:\n \n {actualInfo.etag || \"N/A\"}\n \n \n Tags:\n \n {tagKeys.length === 0\n ? \"N/A\"\n : tagKeys.map((tagKey, index) => {\n return (\n \n {tagKey}:{get(actualInfo, `tags.${tagKey}`, \"\")}\n {index < tagKeys.length - 1 ? \", \" : \"\"}\n \n );\n })}\n \n \n \n \n Legal Hold:\n \n {actualInfo.legal_hold_status ? \"On\" : \"Off\"}\n \n \n \n \n \n \n Retention Policy:\n \n \n {actualInfo.version_id && actualInfo.version_id !== \"null\" ? (\n \n {actualInfo.retention_mode\n ? actualInfo.retention_mode.toLowerCase()\n : \"None\"}\n \n ) : (\n \n {actualInfo.retention_mode\n ? actualInfo.retention_mode.toLowerCase()\n : \"None\"}\n \n )}\n \n \n \n \n {!actualInfo.is_delete_marker && (\n \n } />\n \n {actualInfo && metaData ? (\n \n ) : null}\n \n \n )}\n \n )}\n \n );\n};\n\nexport default ObjectDetailPanel;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { Box, RecoverIcon } from \"mds\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport { restoreLocalObjectList } from \"../../../../ObjectBrowser/objectBrowserSlice\";\n\ninterface IRestoreFileVersion {\n restoreOpen: boolean;\n bucketName: string;\n versionToRestore: BucketObject;\n objectPath: string;\n onCloseAndUpdate: (refresh: boolean) => void;\n}\n\nconst RestoreFileVersion = ({\n versionToRestore,\n bucketName,\n objectPath,\n restoreOpen,\n onCloseAndUpdate,\n}: IRestoreFileVersion) => {\n const dispatch = useAppDispatch();\n const [restoreLoading, setRestoreLoading] = useState(false);\n\n const restoreVersion = () => {\n setRestoreLoading(true);\n\n api.buckets\n .putObjectRestore(bucketName, {\n prefix: objectPath,\n version_id: versionToRestore.version_id || \"\",\n })\n .then(() => {\n setRestoreLoading(false);\n onCloseAndUpdate(true);\n dispatch(\n restoreLocalObjectList({\n prefix: objectPath,\n objectInfo: versionToRestore,\n }),\n );\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setRestoreLoading(false);\n });\n };\n\n return (\n }\n onConfirm={restoreVersion}\n confirmButtonProps={{\n variant: \"secondary\",\n disabled: restoreLoading,\n }}\n onClose={() => {\n onCloseAndUpdate(false);\n }}\n confirmationContent={\n \n Are you sure you want to restore \n {objectPath} with Version ID:\n \n {versionToRestore.version_id}?\n \n }\n />\n );\n};\n\nexport default RestoreFileVersion;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\n\ninterface ISpecificVersionPillProps {\n type: \"null\" | \"current\" | \"deleted\";\n}\n\nconst SpecificVersionPill = ({ type }: ISpecificVersionPillProps) => {\n let bgColor = \"#000\";\n let message = \"\";\n\n switch (type) {\n case \"null\":\n bgColor = \"#07193E\";\n message = \"NULL VERSION\";\n break;\n case \"deleted\":\n bgColor = \"#868686\";\n message = \"DELETED\";\n break;\n default:\n bgColor = \"#174551\";\n message = \"CURRENT VERSION\";\n }\n\n return (\n \n {message}\n \n );\n};\n\nexport default SpecificVersionPill;\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 { DateTime } from \"luxon\";\nimport styled from \"styled-components\";\nimport get from \"lodash/get\";\nimport { displayFileIconName } from \"../ListObjects/utils\";\nimport {\n DownloadIcon,\n PreviewIcon,\n RecoverIcon,\n ShareIcon,\n IconButton,\n Tooltip,\n Grid,\n Checkbox,\n} from \"mds\";\nimport { niceBytes } from \"../../../../../../common/utils\";\nimport SpecificVersionPill from \"./SpecificVersionPill\";\nimport { BucketObject } from \"api/consoleApi\";\n\ninterface IFileVersionItem {\n fileName: string;\n versionInfo: BucketObject;\n index: number;\n isSelected?: boolean;\n checkable: boolean;\n isChecked: boolean;\n onCheck: (versionID: string) => void;\n onShare: (versionInfo: BucketObject) => void;\n onDownload: (versionInfo: BucketObject) => void;\n onRestore: (versionInfo: BucketObject) => void;\n onPreview: (versionInfo: BucketObject) => void;\n globalClick: (versionInfo: BucketObject) => void;\n key: any;\n style: any;\n}\n\nconst FileVersionStyled = styled.div(({ theme }) => {\n return {\n \"&:before\": {\n content: \"' '\",\n display: \"block\",\n position: \"absolute\",\n width: \"2px\",\n height: \"calc(100% + 2px)\",\n backgroundColor: get(theme, \"borderColor\", \"#F8F8F8\"),\n left: \"24px\",\n },\n \"& .mainFileVersionItem\": {\n borderBottom: `${get(theme, \"borderColor\", \"#F8F8F8\")} 1px solid`,\n padding: \"1rem 0\",\n margin: \"0 0.5rem 0 2.5rem\",\n cursor: \"pointer\",\n \"&.deleted\": {\n color: \"#868686\",\n },\n },\n \"& .intermediateLayer\": {\n margin: \"0 1.5rem 0 1.5rem\",\n \"&:hover, &.selected\": {\n backgroundColor: get(theme, \"boxBackground\", \"#F8F8F8\"),\n \"& > div\": {\n borderBottomColor: get(theme, \"boxBackground\", \"#F8F8F8\"),\n },\n },\n },\n \"& .versionContainer\": {\n fontSize: 16,\n fontWeight: \"bold\",\n display: \"flex\",\n alignItems: \"center\",\n \"& svg.min-icon\": {\n width: 18,\n height: 18,\n minWidth: 18,\n minHeight: 18,\n marginRight: 10,\n },\n },\n \"& .buttonContainer\": {\n textAlign: \"right\",\n \"& button\": {\n marginLeft: \"1.5rem\",\n },\n },\n \"& .versionID\": {\n fontSize: \"12px\",\n margin: \"2px 0\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n maxWidth: \"95%\",\n overflow: \"hidden\",\n },\n \"& .versionData\": {\n marginRight: \"10px\",\n fontSize: 12,\n color: \"#868686\",\n },\n \"@media (max-width: 600px)\": {\n \"& .buttonContainer\": {\n \"& button\": {\n marginLeft: \"5px\",\n },\n },\n },\n \"@media (max-width: 799px)\": {\n \"&:before\": {\n display: \"none\",\n },\n \"& .mainFileVersionItem\": {\n padding: \"5px 0px\",\n margin: 0,\n },\n \"& .intermediateLayer\": {\n margin: 0,\n \"&:hover, &.selected\": {\n backgroundColor: \"transparent\",\n \"& > div\": {\n borderBottomColor: get(theme, \"boxBackground\", \"#F8F8F8\"),\n },\n },\n },\n \"& .versionContainer\": {\n fontSize: 14,\n \"& svg.min-icon\": {\n display: \"none\",\n },\n },\n \"& .versionData\": {\n textOverflow: \"ellipsis\",\n maxWidth: \"95%\",\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n },\n \"& .collapsableInfo\": {\n display: \"flex\",\n flexDirection: \"column\",\n },\n \"& .versionItem\": {\n display: \"none\",\n },\n },\n };\n});\n\nconst FileVersionItem = ({\n fileName,\n versionInfo,\n isSelected,\n checkable,\n isChecked,\n onCheck,\n onShare,\n onDownload,\n onRestore,\n onPreview,\n globalClick,\n index,\n key,\n style,\n}: IFileVersionItem) => {\n const disableButtons = versionInfo.is_delete_marker;\n\n const versionItemButtons = [\n {\n icon: ,\n action: onPreview,\n tooltip: \"Preview\",\n },\n {\n icon: ,\n action: onDownload,\n tooltip: \"Download this version\",\n },\n {\n icon: ,\n action: onShare,\n tooltip: \"Share this version\",\n },\n {\n icon: ,\n action: onRestore,\n tooltip: \"Restore this version\",\n },\n ];\n\n let pill: \"deleted\" | \"current\" | \"null\" | null = null;\n\n if (versionInfo.is_delete_marker) {\n pill = \"deleted\";\n } else if (versionInfo.is_latest) {\n pill = \"current\";\n } else if (versionInfo.version_id === \"null\") {\n pill = \"null\";\n }\n\n let lastModified = DateTime.now();\n\n if (versionInfo.last_modified) {\n lastModified = DateTime.fromISO(\n versionInfo.last_modified,\n ) as DateTime;\n }\n\n return (\n \n {\n globalClick(versionInfo);\n }}\n key={key}\n style={style}\n >\n \n \n \n \n \n {checkable && (\n {\n e.stopPropagation();\n onCheck(versionInfo.version_id || \"\");\n }}\n value={versionInfo.version_id || \"\"}\n disabled={versionInfo.is_delete_marker}\n sx={{\n width: \"initial\",\n }}\n />\n )}\n {displayFileIconName(fileName, true)} v{index.toString()}\n \n {pill && }\n \n \n \n {versionItemButtons.map((button, index) => {\n return (\n \n {\n e.stopPropagation();\n if (!disableButtons) {\n button.action(versionInfo);\n } else {\n e.preventDefault();\n }\n }}\n sx={{\n backgroundColor: \"#F8F8F8\",\n borderRadius: \"100%\",\n width: \"28px\",\n height: \"28px\",\n padding: \"5px\",\n \"& .min-icon\": {\n width: \"14px\",\n height: \"14px\",\n },\n }}\n >\n {button.icon}\n \n \n );\n })}\n \n \n \n \n {versionInfo.version_id !== \"null\" ? versionInfo.version_id : \"-\"}\n \n \n \n Last modified:{\" \"}\n {lastModified.toFormat(\"ccc, LLL dd yyyy HH:mm:ss (ZZZZ)\")}\n \n \n Size: {niceBytes(`${versionInfo.size || \"0\"}`)}\n \n \n \n \n \n \n );\n};\n\nexport default FileVersionItem;\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 { ConfirmDeleteIcon, Switch, Grid, InputBox } from \"mds\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { useSelector } from \"react-redux\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\n\ninterface IDeleteNonCurrentProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObject: string;\n selectedBucket: string;\n}\n\nconst DeleteNonCurrentVersions = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n}: IDeleteNonCurrentProps) => {\n const dispatch = useAppDispatch();\n const [deleteLoading, setDeleteLoading] = useState(false);\n const [typeConfirm, setTypeConfirm] = useState(\"\");\n const [bypassGovernance, setBypassGovernance] = useState(false);\n\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const canBypass =\n hasPermission(\n [selectedBucket],\n [IAM_SCOPES.S3_BYPASS_GOVERNANCE_RETENTION],\n ) && retentionConfig?.mode === \"governance\";\n\n useEffect(() => {\n if (deleteLoading) {\n api.buckets\n .deleteObject(selectedBucket, {\n prefix: selectedObject,\n non_current_versions: true,\n bypass: bypassGovernance,\n })\n .then(() => {\n closeDeleteModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setDeleteLoading(false);\n });\n }\n }, [\n deleteLoading,\n closeDeleteModalAndRefresh,\n dispatch,\n selectedObject,\n selectedBucket,\n bypassGovernance,\n ]);\n\n if (!selectedObject) {\n return null;\n }\n const onConfirmDelete = () => {\n setDeleteLoading(true);\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={() => closeDeleteModalAndRefresh(false)}\n confirmButtonProps={{\n disabled: typeConfirm !== \"YES, PROCEED\" || deleteLoading,\n }}\n confirmationContent={\n \n Are you sure you want to delete all the non-current versions for:{\" \"}\n {selectedObject}? \n {canBypass && (\n \n
\n \n )}\n \n To continue please type YES, PROCEED in the box.\n \n \n \n ) => {\n setTypeConfirm(event.target.value);\n }}\n label=\"\"\n value={typeConfirm}\n />\n \n \n }\n />\n );\n};\n\nexport default DeleteNonCurrentVersions;\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 ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon, Switch } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { useSelector } from \"react-redux\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\n\ninterface IDeleteSelectedVersionsProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedVersions: string[];\n selectedObject: string;\n selectedBucket: string;\n}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedVersions,\n selectedObject,\n}: IDeleteSelectedVersionsProps) => {\n const dispatch = useAppDispatch();\n const [deleteLoading, setDeleteLoading] = useState(false);\n const [bypassGovernance, setBypassGovernance] = useState(false);\n\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const canBypass =\n hasPermission(\n [selectedBucket],\n [IAM_SCOPES.S3_BYPASS_GOVERNANCE_RETENTION],\n ) && retentionConfig?.mode === \"governance\";\n\n const onClose = () => closeDeleteModalAndRefresh(false);\n const onConfirmDelete = () => {\n setDeleteLoading(true);\n };\n\n useEffect(() => {\n if (deleteLoading) {\n const selectedObjectsRequest = selectedVersions.map((versionID) => {\n return {\n path: selectedObject,\n versionID: versionID,\n recursive: false,\n };\n });\n\n if (selectedObjectsRequest.length > 0) {\n api.buckets\n .deleteMultipleObjects(selectedBucket, selectedObjectsRequest, {\n all_versions: false,\n bypass: bypassGovernance,\n })\n .then(() => {\n setDeleteLoading(false);\n closeDeleteModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setDeleteLoading(false);\n });\n }\n }\n }, [\n deleteLoading,\n closeDeleteModalAndRefresh,\n selectedBucket,\n selectedObject,\n selectedVersions,\n bypassGovernance,\n dispatch,\n ]);\n\n if (!selectedVersions) {\n return null;\n }\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete the selected {selectedVersions.length}{\" \"}\n versions for {selectedObject}?\n {canBypass && (\n \n
\n )}\n \n \n );\n};\n\nexport default DaysSelector;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport {\n Button,\n CopyIcon,\n ReadBox,\n ShareIcon,\n Grid,\n ProgressBar,\n Tooltip,\n} from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport DaysSelector from \"../../../../Common/FormComponents/DaysSelector/DaysSelector\";\nimport { niceTimeFromSeconds } from \"../../../../../../common/utils\";\nimport {\n selDistSet,\n setModalErrorSnackMessage,\n setModalSnackMessage,\n} from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { getMaxShareLinkExpTime } from \"screens/Console/ObjectBrowser/objectBrowserThunks\";\nimport { maxShareLinkExpTime } from \"screens/Console/ObjectBrowser/objectBrowserSlice\";\nimport debounce from \"lodash/debounce\";\n\ninterface IShareFileProps {\n open: boolean;\n bucketName: string;\n dataObject: BucketObject;\n closeModalAndRefresh: () => void;\n}\n\nconst ShareFile = ({\n open,\n closeModalAndRefresh,\n bucketName,\n dataObject,\n}: IShareFileProps) => {\n const dispatch = useAppDispatch();\n const distributedSetup = useSelector(selDistSet);\n const maxShareLinkExpTimeVal = useSelector(maxShareLinkExpTime);\n const [shareURL, setShareURL] = useState(\"\");\n const [isLoadingVersion, setIsLoadingVersion] = useState(true);\n const [isLoadingFile, setIsLoadingFile] = useState(false);\n const [selectedDate, setSelectedDate] = useState(\"\");\n const [dateValid, setDateValid] = useState(true);\n const [versionID, setVersionID] = useState(\"null\");\n\n const debouncedDateChange = debounce((newDate: string, isValid: boolean) => {\n setDateValid(isValid);\n if (isValid) {\n setSelectedDate(newDate);\n return;\n }\n setSelectedDate(\"\");\n setShareURL(\"\");\n }, 300);\n\n useEffect(() => {\n dispatch(getMaxShareLinkExpTime());\n }, [dispatch]);\n\n useEffect(() => {\n // In case version is undefined, we get the latest version of the object\n if (dataObject.version_id === undefined) {\n // In case it is not distributed setup, then we default to \"null\";\n if (distributedSetup) {\n api.buckets\n .listObjects(bucketName, {\n prefix: dataObject.name || \"\",\n with_versions: distributedSetup,\n })\n .then((res) => {\n const result: BucketObject[] = res.data.objects || [];\n\n const latestVersion: BucketObject | undefined = result.find(\n (elem: BucketObject) => elem.is_latest,\n );\n\n if (latestVersion) {\n setVersionID(`${latestVersion.version_id}`);\n return;\n }\n\n // Version couldn't be retrieved, we default\n setVersionID(\"null\");\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n });\n\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(\"null\");\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(dataObject.version_id || \"null\");\n setIsLoadingVersion(false);\n }, [bucketName, dataObject, distributedSetup, dispatch]);\n\n useEffect(() => {\n if (dateValid && !isLoadingVersion) {\n setIsLoadingFile(true);\n setShareURL(\"\");\n\n const slDate = new Date(`${selectedDate}`);\n const currDate = new Date();\n\n const diffDate = Math.ceil(\n (slDate.getTime() - currDate.getTime()) / 1000,\n );\n\n if (diffDate > 0) {\n api.buckets\n .shareObject(bucketName, {\n prefix: dataObject.name || \"\",\n version_id: versionID,\n expires: selectedDate !== \"\" ? `${diffDate}s` : \"\",\n })\n .then((res) => {\n setShareURL(res.data);\n setIsLoadingFile(false);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setShareURL(\"\");\n setIsLoadingFile(false);\n });\n }\n }\n }, [\n dataObject,\n selectedDate,\n bucketName,\n dateValid,\n setShareURL,\n dispatch,\n distributedSetup,\n isLoadingVersion,\n versionID,\n ]);\n\n return (\n \n }\n modalOpen={open}\n onClose={() => {\n closeModalAndRefresh();\n }}\n >\n {isLoadingVersion && (\n \n \n \n )}\n {!isLoadingVersion && (\n \n \n \n You can reset your session by logging out and logging back\n in to the web UI.
\n You can increase the maximum configuration time by setting\n the MINIO_STS_DURATION environment variable on all your\n nodes.
\n You can use mc share as an alternative to this UI,\n where the session length does not limit the URL validity.\n \n }\n >\n \n The following URL lets you share this object without requiring\n a login. \n The URL expires automatically at the earlier of your\n configured time ({niceTimeFromSeconds(maxShareLinkExpTimeVal)}\n ) or the expiration of your current web session.\n \n \n \n \n \n \n \n \n \n \n \n \n )}\n \n \n );\n};\n\nexport default ShareFile;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { Document, Page, pdfjs } from \"react-pdf\";\nimport { Box, Button, InformativeMessage } from \"mds\";\n\npdfjs.GlobalWorkerOptions.workerSrc = \"./scripts/pdf.worker.min.mjs\";\n\ninterface IPreviewPDFProps {\n path: string;\n loading: boolean;\n onLoad: () => void;\n downloadFile: () => void;\n}\n\nconst PreviewPDF = ({\n path,\n loading,\n onLoad,\n downloadFile,\n}: IPreviewPDFProps) => {\n const [errorState, setErrorState] = useState(false);\n const [totalPages, setTotalPages] = useState(0);\n\n if (!path) {\n return null;\n }\n\n const renderPages = totalPages > 5 ? 5 : totalPages;\n const arrayCreate = Array.from(Array(renderPages).keys());\n\n return (\n \n {errorState && totalPages === 0 && (\n \n File preview couldn't be displayed, Please try Download instead.\n \n \n \n \n }\n sx={{ marginBottom: 10 }}\n />\n )}\n {!loading && !errorState && (\n \n This is a File Preview for the first {arrayCreate.length} pages of\n the document, if you wish to work with the full document please\n download instead.\n \n \n \n \n }\n sx={{ marginBottom: 10 }}\n />\n )}\n {!errorState && (\n \n {\n setTotalPages(_pdfInfo.numPages || 0);\n setErrorState(false);\n onLoad();\n }}\n onLoadError={(error) => {\n setErrorState(true);\n onLoad();\n console.error(error);\n }}\n >\n {arrayCreate.map((item) => (\n \n ))}\n \n \n )}\n \n );\n};\n\nexport default PreviewPDF;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { ProgressBar, Grid, Box, InformativeMessage } from \"mds\";\nimport get from \"lodash/get\";\nimport { AllowedPreviews, previewObjectType } from \"../utils\";\nimport { api } from \"../../../../../../api\";\nimport PreviewPDF from \"./PreviewPDF\";\nimport { downloadObject } from \"../../../../ObjectBrowser/utils\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport { BucketObject } from \"../../../../../../api/consoleApi\";\n\ninterface IPreviewFileProps {\n bucketName: string;\n actualInfo: BucketObject;\n isFullscreen?: boolean;\n}\n\nconst PreviewFile = ({\n bucketName,\n actualInfo,\n isFullscreen = false,\n}: IPreviewFileProps) => {\n const dispatch = useAppDispatch();\n\n const [loading, setLoading] = useState(true);\n\n const [metaData, setMetaData] = useState(null);\n const [isMetaDataLoaded, setIsMetaDataLoaded] = useState(false);\n\n const objectName = actualInfo?.name || \"\";\n\n const fetchMetadata = useCallback(() => {\n if (!isMetaDataLoaded) {\n api.buckets\n .getObjectMetadata(bucketName, {\n prefix: objectName,\n versionID: actualInfo.version_id || \"\",\n })\n .then((res) => {\n let metadata = get(res.data, \"objectMetadata\", {});\n setIsMetaDataLoaded(true);\n setMetaData(metadata);\n })\n .catch((err) => {\n console.error(\n \"Error Getting Metadata Status: \",\n err,\n err?.detailedError,\n );\n setIsMetaDataLoaded(true);\n });\n }\n }, [bucketName, objectName, isMetaDataLoaded, actualInfo.version_id]);\n\n useEffect(() => {\n if (bucketName && objectName) {\n fetchMetadata();\n }\n }, [bucketName, objectName, fetchMetadata]);\n\n let path = \"\";\n\n if (actualInfo) {\n let basename = document.baseURI.replace(window.location.origin, \"\");\n path = `${window.location.origin}${basename}api/v1/buckets/${encodeURIComponent(bucketName)}/objects/download?preview=true&prefix=${encodeURIComponent(actualInfo.name || \"\")}`;\n if (actualInfo.version_id) {\n path = path.concat(`&version_id=${actualInfo.version_id}`);\n }\n }\n\n let objectType: AllowedPreviews = previewObjectType(metaData, objectName);\n\n const iframeLoaded = () => {\n setLoading(false);\n };\n\n return (\n \n {objectType !== \"none\" && loading && (\n \n \n \n )}\n {isMetaDataLoaded ? (\n \n {objectType === \"video\" && (\n \n )}\n {objectType === \"audio\" && (\n \n )}\n {objectType === \"image\" && (\n \n )}\n {objectType === \"pdf\" && (\n \n \n downloadObject(dispatch, bucketName, path, actualInfo)\n }\n />\n \n )}\n {objectType === \"none\" && (\n
\n )}\n \n ) : null}\n \n );\n};\nexport default PreviewFile;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport PreviewFileContent from \"./PreviewFileContent\";\nimport { ObjectPreviewIcon } from \"mds\";\nimport { BucketObject } from \"../../../../../../api/consoleApi\";\n\ninterface IPreviewFileProps {\n open: boolean;\n bucketName: string;\n actualInfo: BucketObject;\n onClosePreview: () => void;\n}\n\nconst PreviewFileModal = ({\n open,\n bucketName,\n actualInfo,\n onClosePreview,\n}: IPreviewFileProps) => {\n return (\n \n }\n >\n \n \n \n );\n};\n\nexport default PreviewFileModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense
(\n WrappedComponent: ComponentType
,\n fallback: SuspenseProps[\"fallback\"] = null,\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { ModalBox, Snackbar } from \"mds\";\nimport { CSSObject } from \"styled-components\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n titleIcon?: React.ReactNode;\n iconColor?: \"default\" | \"delete\" | \"accept\";\n sx?: CSSObject;\n}\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n wideLimit = true,\n titleIcon = null,\n iconColor = \"default\",\n sx,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar,\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (message === \"\" || (message && message.length < 5)) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n \n \n \n {children}\n \n );\n};\n\nexport default ModalWrapper;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { AppState } from \"../../../store\";\nimport { getClientOS } from \"../../../common/utils\";\nimport { BucketObjectItem } from \"../Buckets/ListBuckets/Objects/ListObjects/types\";\nimport { makeid, storeCallForObjectWithID } from \"./transferManager\";\nimport {\n download,\n downloadSelectedAsZip,\n} from \"../Buckets/ListBuckets/Objects/utils\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n setAnonymousAccessOpen,\n setDownloadRenameModal,\n setMaxShareLinkExpTime,\n setNewObject,\n setPreviewOpen,\n setSelectedPreview,\n setShareFileModalOpen,\n updateProgress,\n} from \"./objectBrowserSlice\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { DateTime } from \"luxon\";\nimport { api } from \"api\";\n\nexport const downloadSelected = createAsyncThunk(\n \"objectBrowser/downloadSelected\",\n async (bucketName: string, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\n\n const downloadObject = (object: BucketObjectItem) => {\n const identityDownload = encodeURIComponent(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`,\n );\n\n const ID = makeid(8);\n\n const downloadCall = download(\n bucketName,\n object.name,\n object.version_id,\n object.size,\n null,\n ID,\n (progress) => {\n dispatch(\n updateProgress({\n instanceID: identityDownload,\n progress: progress,\n }),\n );\n },\n () => {\n dispatch(completeObject(identityDownload));\n },\n (msg: string) => {\n dispatch(failObject({ instanceID: identityDownload, msg }));\n },\n () => {\n dispatch(cancelObjectInList(identityDownload));\n },\n () => {\n dispatch(\n setSnackBarMessage(\n \"File download will be handled directly by the browser.\",\n ),\n );\n },\n );\n storeCallForObjectWithID(ID, downloadCall);\n dispatch(\n setNewObject({\n ID,\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name,\n type: \"download\",\n waitingForFile: true,\n failed: false,\n cancelled: false,\n errorMessage: \"\",\n }),\n );\n };\n\n if (state.objectBrowser.selectedObjects.length !== 0) {\n let itemsToDownload: BucketObjectItem[] = [];\n\n const filterFunction = (currValue: BucketObjectItem) =>\n state.objectBrowser.selectedObjects.includes(currValue.name);\n\n itemsToDownload = state.objectBrowser.records.filter(filterFunction);\n\n // In case just one element is selected, then we trigger download modal validation.\n if (itemsToDownload.length === 1) {\n if (\n itemsToDownload[0].name.length > 200 &&\n getClientOS().toLowerCase().includes(\"win\")\n ) {\n dispatch(setDownloadRenameModal(itemsToDownload[0]));\n return;\n } else {\n downloadObject(itemsToDownload[0]);\n }\n } else {\n if (itemsToDownload.length === 1) {\n downloadObject(itemsToDownload[0]);\n } else if (itemsToDownload.length > 1) {\n const fileName = `${DateTime.now().toFormat(\n \"LL-dd-yyyy-HH-mm-ss\",\n )}_files_list.zip`;\n\n // We are enforcing zip download when multiple files are selected for better user experience\n const multiObjList = itemsToDownload.reduce((dwList: any[], bi) => {\n // Download objects/prefixes(recursively) as zip\n // Skip any deleted files selected via \"Show deleted objects\" in selection and log for debugging\n const isDeleted = bi?.delete_flag;\n if (bi && !isDeleted) {\n dwList.push(bi.name);\n } else {\n console.log(`Skipping ${bi?.name} from download.`);\n }\n return dwList;\n }, []);\n\n await downloadSelectedAsZip(bucketName, multiObjList, fileName);\n return;\n }\n }\n }\n },\n);\n\nexport const openPreview = createAsyncThunk(\n \"objectBrowser/openPreview\",\n async (_, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\n\n if (state.objectBrowser.selectedObjects.length === 1) {\n let fileObject: BucketObjectItem | undefined;\n\n const findFunction = (currValue: BucketObjectItem) =>\n state.objectBrowser.selectedObjects.includes(currValue.name);\n\n fileObject = state.objectBrowser.records.find(findFunction);\n\n if (fileObject) {\n dispatch(setSelectedPreview(fileObject));\n dispatch(setPreviewOpen(true));\n }\n }\n },\n);\n\nexport const openShare = createAsyncThunk(\n \"objectBrowser/openShare\",\n async (_, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\n\n if (state.objectBrowser.selectedObjects.length === 1) {\n let fileObject: BucketObjectItem | undefined;\n\n const findFunction = (currValue: BucketObjectItem) =>\n state.objectBrowser.selectedObjects.includes(currValue.name);\n\n fileObject = state.objectBrowser.records.find(findFunction);\n\n if (fileObject) {\n dispatch(setSelectedPreview(fileObject));\n dispatch(setShareFileModalOpen(true));\n }\n }\n },\n);\n\nexport const openAnonymousAccess = createAsyncThunk(\n \"objectBrowser/openAnonymousAccess\",\n async (_, { getState, dispatch }) => {\n const state = getState() as AppState;\n\n if (\n state.objectBrowser.selectedObjects.length === 1 &&\n state.objectBrowser.selectedObjects[0].endsWith(\"/\")\n ) {\n dispatch(setAnonymousAccessOpen(true));\n }\n },\n);\n\nexport const getMaxShareLinkExpTime = createAsyncThunk(\n \"objectBrowser/maxShareLinkExpTime\",\n async (_, { rejectWithValue, dispatch }) => {\n return api.buckets\n .getMaxShareLinkExp()\n .then((res) => {\n dispatch(setMaxShareLinkExpTime(res.data.exp));\n })\n .catch(async (res) => {\n return rejectWithValue(res.error);\n });\n },\n);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { getClientOS } from \"../../../common/utils\";\nimport { makeid, storeCallForObjectWithID } from \"./transferManager\";\nimport { download } from \"../Buckets/ListBuckets/Objects/utils\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n setLongFileOpen,\n setNewObject,\n updateProgress,\n} from \"./objectBrowserSlice\";\nimport { AppDispatch } from \"../../../store\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { BucketObject } from \"api/consoleApi\";\n\nexport const downloadObject = (\n dispatch: AppDispatch,\n bucketName: string,\n internalPaths: string,\n object: BucketObject,\n) => {\n const identityDownload = encodeURIComponent(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`,\n );\n\n const isWinOs = getClientOS().toLowerCase().includes(\"win\");\n\n if ((object.name?.length || 0) > 200 && isWinOs) {\n dispatch(setLongFileOpen(true));\n return;\n }\n\n const ID = makeid(8);\n\n const downloadCall = download(\n bucketName,\n internalPaths,\n object.version_id,\n object.size || 0,\n null,\n ID,\n (progress) => {\n dispatch(\n updateProgress({\n instanceID: identityDownload,\n progress: progress,\n }),\n );\n },\n () => {\n dispatch(completeObject(identityDownload));\n },\n (msg: string) => {\n dispatch(failObject({ instanceID: identityDownload, msg }));\n },\n () => {\n dispatch(cancelObjectInList(identityDownload));\n },\n () => {\n dispatch(\n setSnackBarMessage(\n \"File download will be handled directly by the browser.\",\n ),\n );\n },\n );\n\n storeCallForObjectWithID(ID, downloadCall);\n dispatch(\n setNewObject({\n ID,\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name || \"\",\n type: \"download\",\n waitingForFile: true,\n failed: false,\n cancelled: false,\n errorMessage: \"\",\n }),\n );\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { Button, CopyIcon, InputBox, Box, breakPoints } from \"mds\";\n\nconst KeyRevealer = ({ value }: { value: string }) => {\n const [shown, setShown] = useState(false);\n\n return (\n \n {}}\n value={value}\n overlayIcon={}\n readOnly={true}\n overlayAction={() => navigator.clipboard.writeText(value)}\n />\n\n \n );\n};\n\nexport default KeyRevealer;\n"],"names":["_ref","modalOpen","onClose","bucket","prefilledRoute","dispatch","useAppDispatch","prefix","setPrefix","useState","selectedAccess","setSelectedAccess","useEffect","_jsx","ModalWrapper","title","titleIcon","AddAccessRuleIcon","children","_jsxs","FormLayout","withBorders","containerPadding","InputBox","value","label","id","name","placeholder","onChange","e","target","tooltip","Select","options","disabled","helpTip","Fragment","helpTipPlacement","Grid","item","xs","sx","modalStyleUtils","modalButtonBar","Button","type","variant","onClick","resetForm","trim","createProcess","api","setAccessRuleWithBucket","access","then","res","setSnackBarMessage","catch","setErrorSnackMessage","errorToHandler","error","extractFileExtn","resourceStr","match","getSessionGrantsWildCard","sessionGrants","uploadPath","scopes","arguments","length","undefined","grantsWithExtension","Object","keys","reduce","acc","grantKey","includes","filter","sessionGrantKey","hasScope","some","actionKey","find","scopeKey","wildCardMatch","indexOf","scopeActionKey","substring","isUploadPathMatching","concat","CreatePathModal","withSuspense","React","BreadcrumbsMain","styled","div","display","paddingRight","alignItems","breakPoints","lg","margin","bucketName","internalPaths","hidePathButton","additionalOptions","navigate","useNavigate","rewindEnabled","useSelector","state","objectBrowser","rewind","versionsMode","versionedFile","anonymousMode","system","createFolderOpen","setCreateFolderOpen","canCreateSubpath","setCanCreateSubpath","putObjectPermScopes","IAM_SCOPES","S3_PUT_OBJECT","S3_PUT_ACTIONS","console","session","permissions","paths","splitPaths","split","path","lastBreadcrumbsIndex","pathToCheckPerms","sessionGrantWildCards","forEach","grant","canCreatePath","hasPermission","breadcrumbsMap","map","objectItem","index","subSplit","slice","join","route","encodeURIComponent","className","style","cursor","whiteSpace","safeDecodeURIComponent","Link","to","setVersionsModeEnabled","status","objectName","toString","versionsItem","listBreadcrumbs","folderName","closeAddFolderModal","limitedSubPath","Breadcrumbs","goBackFunction","prevPath","CopyToClipboard","text","icon","CopyIcon","width","height","fill","marginTop","color","border","marginRight","Box","Tooltip","permissionTooltipHelper","NewPathIcon","marginBottom","justifyContent","fontSize","fontWeight","flexDirection","flexWrap","isVersionedMode","forceDisable","uploadFileFunction","uploadFolderFunction","overrideStyles","anchorEl","setAnchorEl","uploadOptionsOpen","uploadOptionsSetOpen","openUploadMenu","Boolean","handleCloseUpload","uploadObjectAllowed","uploadFolderAllowed","uploadEnabled","TooltipWrapper","event","currentTarget","UploadIcon","DropdownSelector","UploadFolderIcon","selectedOption","onSelect","nValue","hideTriggerAction","open","anchorOrigin","useAnchorWidth","closePanel","borderColor","borderWidth","borderStyle","borderRadius","borderBottomLeftRadius","borderBottomRightRadius","transitionDuration","overflowX","overflowY","position","opacity","marginLeft","minWidth","borderLeftWidth","ClosePanelIcon","right","top","padding","backgroundColor","strings","minHeight","overflow","textOverflow","replaceUnicodeChar","extensionToIcon","FileVideoIcon","extensions","FileMusicIcon","FilePdfIcon","FilePptIcon","FileXlsIcon","FileLockIcon","FileCodeIcon","FileConfigIcon","FileDbIcon","FileFontIcon","FileTxtIcon","FileZipIcon","FileBookIcon","FileImageIcon","displayFileIconName","element","returnOnlyIcon","elementString","FileNonType","endsWith","FolderBrowserIcon","lowercaseElement","toLowerCase","etc","ext","FileMissingIcon","splitItem","IconWithLabel","metaData","metaKeys","renderItem","Array","isArray","itemRendererFn","maxHeight","months","days","from","_","num","currentYear","Date","getFullYear","years","numYear","forwardRef","ref","disableOptions","borderBottom","onDateChange","useImperativeHandle","resetDate","month","setMonth","day","setDay","year","setYear","valueSplit","parseInt","isValid","dateString","validDate","currentDate","parse","isNaN","parsedMonth","parsedDay","monthForString","dayForString","parsedDate","toISOString","isDateDisabled","monthForDropDown","daysForDrop","yearsForDrop","gap","InputLabel","htmlFor","placement","HelpIcon","newValue","closeModalAndRefresh","objectInfo","retentionConfig","statusEnabled","setStatusEnabled","setType","date","setDate","isDateValid","setIsDateValid","isSaving","setIsSaving","alreadyConfigured","setAlreadyConfigured","retention_mode","mode","ObjectRetentionMode","Governance","retention_until_date","valueDate","getMonth","getDate","dateElement","useRef","current","showSwitcher","noValidate","autoComplete","onSubmit","preventDefault","Switch","checked","indicatorLabels","RadioGroup","currentValue","selectorOptions","Compliance","DateSelector","saveNewRetentionPolicy","selectedObject","versionId","version_id","expireDate","addRetention","buckets","putObjectRetention","expires","err","setModalErrorSnackMessage","disableRetention","deleteObjectRetention","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","versioningInfo","selectedVersion","deleteLoading","invokeDeleteApi","useApi","onDelSuccess","detailedError","deleteVersions","setDeleteVersions","bypassGovernance","setBypassGovernance","canBypass","S3_BYPASS_GOVERNANCE_RETENTION","ConfirmDialog","confirmText","isOpen","ConfirmDeleteIcon","isLoading","onConfirm","onConfirmDelete","recursive","confirmationContent","description","actualInfo","legalHoldEnabled","setLegalHoldEnabled","get","putObjectLegalHold","ObjectLegalHoldStatus","Enabled","Disabled","DeleteTag","b","theme","_ref2","_actualInfo$name","onCloseAndUpdate","distributedSetup","selDistSet","newKey","setNewKey","newLabel","setNewLabel","isSending","setIsSending","deleteEnabled","setDeleteEnabled","deleteKey","setDeleteKey","deleteLabel","setDeleteLabel","currentTags","tags","currTagKeys","allPathData","currentItem","pop","tagsFor","plural","iconColor","DisabledIcon","EditTagIcon","container","cancelDelete","deleteTagProcess","cleanObject","verID","putObjectTags","SecureComponent","S3_GET_OBJECT_TAGGING","S3_GET_ACTIONS","resource","flexFlow","tagKey","tag","S3_DELETE_OBJECT_TAGGING","errorProps","deleteIcon","onDelete","Tag","onDeleteTag","S3_PUT_OBJECT_TAGGING","SectionTitle","AddNewTagIcon","separator","addTagProcess","newTag","newTagList","closeInspectModalAndRefresh","inspectOpen","inspectPath","volumeName","isEncrypt","setIsEncrypt","decryptionKey","setDecryptionKey","insFileName","setInsFileName","InspectMenuIcon","async","basename","document","baseURI","replace","window","location","origin","fetch","url","method","makeRequest","ok","resErr","json","errorMessage","message","code","blob","filename","headers","decryptKey","getCookieValue","performDownload","onCloseDecKeyModal","deleteCookie","PasswordKeyIcon","KeyRevealer","closeModal","newFileName","setNewFileName","acceptLongName","setAcceptLongName","EditIcon","downloadObject","doDownload","emptyFile","is_latest","last_modified","legal_hold_status","size","locking","onClosePanel","loadingObjectInfo","shareFileModalOpen","setShareFileModalOpen","retentionModalOpen","setRetentionModalOpen","tagModalOpen","setTagModalOpen","legalholdOpen","setLegalholdOpen","inspectModalOpen","setInspectModalOpen","setActualInfo","allInfoElements","setAllInfoElements","objectToShare","setObjectToShare","versions","setVersions","setDeleteOpen","previewOpen","setPreviewOpen","totalVersionsSize","setTotalVersionsSize","longFileOpen","setLongFileOpen","setMetaData","loadMetadata","setLoadingMetadata","objectNameArray","infoElement","el","is_delete_marker","listObjects","with_versions","result","data","objects","tVersionSize","currValue","resInfo","setLoadingObjectInfo","getObjectMetadata","versionID","metadata","tagKeys","loaderForContainer","textAlign","Loader","objectResources","canSetLegalHold","S3_PUT_OBJECT_LEGAL_HOLD","canSetTags","canChangeRetention","S3_GET_OBJECT_RETENTION","S3_PUT_OBJECT_RETENTION","canInspect","ADMIN_INSPECT_DATA","canChangeVersioning","S3_GET_BUCKET_VERSIONING","S3_PUT_BUCKET_VERSIONING","S3_GET_OBJECT_VERSION","canGetObject","S3_GET_OBJECT","canDelete","S3_DELETE_OBJECT","objectType","previewObjectType","multiActionButtons","action","DownloadIcon","ShareIcon","PreviewIcon","LegalHoldIcon","openRetentionModal","RetentionIcon","TagsIcon","VersionsIcon","ShareFile","closeShareModal","dataObject","SetRetention","updateInfo","DeleteObject","closeAndReload","setLoadingVersions","setSelectedVersion","SetLegalHoldModal","reload","PreviewFileModal","onClosePreview","TagsModal","reloadObjectData","InspectObject","RenameLongFileName","closeFileOpen","textTransform","ActionsList","items","DeleteIcon","iconLocation","fullWidth","SimpleHeader","ObjectInfoIcon","overflowWrap","niceBytes","niceBytesInt","lastModified","currentTime","modifiedTime","difTime","getTime","formatTime","niceDaysInt","calculateLastModifyTime","etag","S3_GET_OBJECT_LEGAL_HOLD","MetadataIcon","ObjectMetaData","versionToRestore","objectPath","restoreOpen","restoreLoading","setRestoreLoading","RecoverIcon","restoreVersion","putObjectRestore","restoreLocalObjectList","confirmButtonProps","bgColor","FileVersionStyled","content","left","borderBottomColor","maxWidth","fileName","versionInfo","isSelected","checkable","isChecked","onCheck","onShare","onDownload","onRestore","onPreview","globalClick","key","disableButtons","versionItemButtons","pill","DateTime","now","fromISO","md","Checkbox","stopPropagation","SpecificVersionPill","button","IconButton","toFormat","setDeleteLoading","typeConfirm","setTypeConfirm","deleteObject","non_current_versions","bypass","selectedVersions","selectedObjectsRequest","deleteMultipleObjects","all_versions","searchVersions","loadingVersions","restoreVersionOpen","setRestoreVersionOpen","setRestoreVersion","sortValue","setSortValue","deleteNonCurrentOpen","setDeleteNonCurrentOpen","selectEnabled","setSelectEnabled","selectedItems","setSelectedItems","delSelectedVOpen","setDelSelectedVOpen","filteredPrefixes","onShareItem","onPreviewItem","onRestoreItem","onDownloadItem","onGlobalClick","filteredRecords","version","totalSpace","sort","a","dateA","dateB","onCheckVersion","filteredItems","cloneState","push","RestoreFileVersion","content_type","DeleteNonCurrent","reloadAfterDelete","DeleteSelectedVersions","reloadOnComplete","ProgressBar","BrowserBreadcrumbs","ScreenTitle","subTitle","actions","SelectMultipleIcon","DeleteNonCurrentIcon","noLabelMinWidth","bottomBorder","flexGrow","List","containerStyle","rowCount","rowHeight","rowRenderer","isScrolling","isVisible","versOrd","FileVersionItem","displayParsedDate","object","currTime","objectTime","hasSame","displayNiceBytes","String","listModeColumns","elementKey","renderFunction","enableSort","renderFullObject","rewindModeColumns","ListObjectsTable","params","useParams","sortDirection","setSortDirection","currentSortField","setCurrentSortField","detailsOpen","objectDetailsOpen","requestInProgress","features","selFeatures","obOnly","records","searchObjects","selectedObjects","connectionError","displayListObjects","S3_LIST_BUCKET","S3_ALL_LIST_BUCKET","sortASC","sortListObjects","payload","reverse","tableActions","_object$name","idElement","newPath","setSelectedObjects","setObjectDetailsView","setSelectedObjectView","sendOnlyId","customPaperHeight","DataTable","itemActions","columns","entityName","idField","targetD","elements","customEmptyMessage","sortEnabled","currentSort","currentDirection","onSortClick","sortData","newSortDirection","sortBy","setReloadObjectsList","onSelectAll","selectAllItems","rowStyle","_payload$index","delete_flag","noBackground","FilterObjectsSB","SearchBox","setSearchObjects","DeleteMultipleObjects","RewindEnable","baseDnDStyle","outline","activeDnDStyle","acceptDnDStyle","ListObjects","_downloadRenameModal$","useLocation","bucketToRewind","showDeleted","selectedInternalPaths","simplePath","versioningConfig","lockingEnabled","downloadRenameModal","selectedPreview","anonymousAccessOpen","_state$objectBrowser","loadingBucket","selBucketDetailsLoading","bucketInfo","selBucketDetailsInfo","deleteMultipleOpen","setDeleteMultipleOpen","rewindSelect","setRewindSelect","iniLoad","setIniLoad","canShareFile","setCanShareFile","canPreviewFile","setCanPreviewFile","quota","setQuota","isMetaDataLoaded","setIsMetaDataLoaded","isVersioningApplied","pathSegment","pathname","decodeURIComponent","currentPath","i","fileUpload","folderUpload","pathAsResourceInPolicy","allowedFileExtensions","cv","extension","Set","getPolicyAllowedFileExtensions","canDownload","canRewind","canUpload","canSetAnonymousAccess","S3_GET_BUCKET_POLICY","S3_PUT_BUCKET_POLICY","isSelObjectDelMarker","checkForDelMarker","isObjDelMarker","obj","fetchMetadata","useCallback","resetRewind","setAttribute","isPrefix","getBucketQuota","quotaVals","detailedMessage","setBucketDetailsLoad","setBucketInfo","getBucketRetentionConfig","setRetentionConfig","handleUploadButton","files","newFiles","uploadObject","folderPath","pathPrefix","upload","uploadPromise","file","Promise","resolve","reject","uploadUrl","blobFile","Blob","filePath","fileWebkitRelativePath","relativeFolderPath","ID","makeid","prefixPath","finalFolderPath","pathClean","startsWith","identity","Math","random","xhr","XMLHttpRequest","setRequestHeader","areMultipleFiles","errorMessages","withCredentials","onload","completeObject","removeTrace","response","JSON","failObject","instanceID","msg","addEventListener","progress","floor","loaded","total","updateProgress","onerror","onloadend","onabort","cancelObjectInList","formData","FormData","append","storeCallForObjectWithID","setNewObject","done","percentage","waitingForFile","failed","cancelled","storeFormDataWithID","uploadFilePromises","openList","allSettled","results","errors","totalFiles","successUploadedFiles","onDrop","acceptedFiles","newFolderPath","allowedFiles","fileExtn","log","getRootProps","getInputProps","isDragActive","isDragAccept","useDropzone","noClick","dndStyles","useMemo","forceRefresh","splitURLS","URLItem","createdTime","creation_date","downloadToolTip","downloadSelected","openShare","openPreview","openAnonymousAccess","AccessRuleIcon","setSelectedPreview","refresh","versioning","rewindCloseModal","closePreviewWindow","closeRenameModal","setDownloadRenameModal","AddAccessRule","closeAddAccessRule","setAnonymousAccessOpen","PageLayout","paddingBottom","BucketsIcon","Badge","dotOnly","invisible","HistoryIcon","RefreshIcon","resetMessages","multiple","accept","UploadFilesButton","closeMenu","click","borderTop","VersionsNavigator","setDeletedAction","setShowDeletedObjects","DetailsListPanel","ObjectDetailPanel","configureBucketAllowed","S3_GET_BUCKET_ENCRYPTION_CONFIGURATION","S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION","S3_DELETE_BUCKET","S3_GET_BUCKET_NOTIFICATIONS","S3_PUT_BUCKET_NOTIFICATIONS","S3_GET_REPLICATION_CONFIGURATION","S3_PUT_REPLICATION_CONFIGURATION","S3_GET_LIFECYCLE_CONFIGURATION","S3_PUT_LIFECYCLE_CONFIGURATION","ADMIN_GET_BUCKET_QUOTA","ADMIN_SET_BUCKET_QUOTA","S3_PUT_BUCKET_TAGGING","S3_GET_BUCKET_TAGGING","S3_LIST_BUCKET_VERSIONS","S3_GET_BUCKET_POLICY_STATUS","S3_DELETE_BUCKET_POLICY","searchBar","setSearchVersions","setHelpName","AutoColorIcon","ObjectManagerButton","PageHeaderWrapper","BackLink","IAM_PAGES","OBJECT_BROWSER_VIEW","IAM_PERMISSIONS","IAM_ROLES","BUCKET_ADMIN","SettingsIcon","HelpMenu","middleComponent","BrowserHandler","loadingVersioning","rewindDate","dateToRewind","loadingLocking","reloadObjectsList","initWSRequest","rewindMode","pathLoad","forceLoad","searchPath","setRequestInProgress","setLoadingVersioning","setLoadingLocking","getBucketVersioning","setIsVersioned","getBucketObjectLockingStatus","setLockingEnabled","object_locking_enabled","OBHeader","maxSeconds","entity","maxDays","maxHours","maxMinutes","selectedDays","setSelectedDays","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","setValidDate","dateSelected","setDateSelected","calculateNewTime","hours","minutes","plus","toISO","formattedDate","valid","extraStyles","paddingLeft","min","max","LinkIcon","maxShareLinkExpTimeVal","maxShareLinkExpTime","shareURL","setShareURL","isLoadingVersion","setIsLoadingVersion","isLoadingFile","setIsLoadingFile","selectedDate","setSelectedDate","dateValid","setDateValid","setVersionID","debouncedDateChange","debounce","newDate","getMaxShareLinkExpTime","latestVersion","elem","slDate","currDate","diffDate","ceil","shareObject","niceTimeFromSeconds","DaysSelector","ReadBox","actionButton","setModalSnackMessage","pdfjs","workerSrc","loading","onLoad","downloadFile","errorState","setErrorState","totalPages","setTotalPages","renderPages","arrayCreate","InformativeMessage","Document","onLoadSuccess","_pdfInfo","numPages","onLoadError","Page","pageNumber","renderAnnotationLayer","renderTextLayer","renderForms","isFullscreen","setLoading","iframeLoaded","flex","autoPlay","controls","muted","playsInline","onPlay","src","alt","PreviewPDF","allowTransparency","wideLimit","ObjectPreviewIcon","PreviewFileContent","WrappedComponent","fallback","props","Suspense","openSnackbar","setOpenSnackbar","modalSnackMessage","modalSnackBar","detailedErrorMsg","ModalBox","widthLimit","MainError","isModal","Snackbar","closeSnackBar","autoHideDuration","condensed","createAsyncThunk","getState","rejectWithValue","identityDownload","downloadCall","download","itemsToDownload","filterFunction","getClientOS","multiObjList","dwList","bi","isDeleted","downloadSelectedAsZip","fileObject","findFunction","_ref3","_ref4","_ref5","getMaxShareLinkExp","setMaxShareLinkExpTime","exp","isWinOs","shown","setShown","sm","overlayIcon","readOnly","overlayAction","navigator","clipboard","writeText"],"sourceRoot":""}
\ No newline at end of file
diff --git a/web-app/build/static/js/8642.d29d2259.chunk.js b/web-app/build/static/js/8642.d29d2259.chunk.js
new file mode 100644
index 0000000000..e5081e1521
--- /dev/null
+++ b/web-app/build/static/js/8642.d29d2259.chunk.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkweb_app=self.webpackChunkweb_app||[]).push([[8642],{8642:(e,s,r)=>{r.r(s),r.d(s,{default:()=>j});var t=r(65043),n=r(89923),a=r(73216),l=r(20649),c=r(77938),i=r(99161),o=r(21383),d=r(64159),x=r(64681),p=r(6681),u=r(48793),h=r(55968),K=r(70579);const j=()=>{const e=(0,o.jL)(),s=(0,a.Zp)(),[r,j]=(0,t.useState)(""),[S,f]=(0,t.useState)(!1),[_,m]=(0,t.useState)([]),y=(0,c._)(i.Ms,[i.OV.KMS_CREATE_KEY]),E=(0,c._)(i.Ms,[i.OV.KMS_LIST_KEYS]);(0,t.useEffect)((()=>{b()}),[]),(0,t.useEffect)((()=>{f(!0)}),[r]),(0,t.useEffect)((()=>{if(S)if(E){let s=""===r.trim()?"*":r.trim();l.A.invoke("GET","/api/v1/kms/keys?pattern=".concat(s)).then((e=>{f(!1),m(e.results)})).catch((s=>{f(!1),e((0,d.C9)(s))}))}else f(!1)}),[S,f,m,e,E,r]);const b=()=>{f(!0)};return(0,t.useEffect)((()=>{e((0,d.ph)("list_keys"))}),[e]),(0,K.jsxs)(t.Fragment,{children:[(0,K.jsx)(u.A,{label:"Key Management Service Keys",actions:(0,K.jsx)(h.A,{})}),(0,K.jsx)(n.Mxu,{children:(0,K.jsxs)(n.xA9,{container:!0,children:[(0,K.jsxs)(n.xA9,{item:!0,xs:12,sx:{display:"flex",alignItems:"center",justifyContent:"flex-end","& button":{marginLeft:"8px"}},children:[(0,K.jsx)(c.R,{scopes:[i.OV.KMS_LIST_KEYS],resource:i.Ms,errorProps:{disabled:!0},children:(0,K.jsx)(x.A,{onChange:j,placeholder:"Search Keys with pattern",value:r})}),(0,K.jsx)(c.R,{scopes:[i.OV.KMS_LIST_KEYS],resource:i.Ms,errorProps:{disabled:!0},children:(0,K.jsx)(p.A,{tooltip:"Refresh",children:(0,K.jsx)(n.$nd,{id:"refresh-keys",variant:"regular",icon:(0,K.jsx)(n.fNY,{}),onClick:()=>f(!0)})})}),y?(0,K.jsx)(c.R,{scopes:[i.OV.KMS_CREATE_KEY],resource:i.Ms,errorProps:{disabled:!0},children:(0,K.jsx)(p.A,{tooltip:"Create Key",children:(0,K.jsx)(n.$nd,{id:"create-key",label:"Create Key",variant:"callAction",icon:(0,K.jsx)(n.REV,{}),onClick:()=>s(i.zZ.KMS_KEYS_ADD)})})}):null]}),(0,K.jsx)(n.xA9,{item:!0,xs:12,sx:{marginTop:"5px"},children:(0,K.jsx)(c.R,{scopes:[i.OV.KMS_LIST_KEYS],resource:i.Ms,errorProps:{disabled:!0},children:(0,K.jsx)(n.bQt,{columns:[{label:"Name",elementKey:"name"},{label:"Created By",elementKey:"createdBy"},{label:"Created At",elementKey:"createdAt"}],isLoading:S,records:_,entityName:"Keys",idField:"name"})})})]})})]})}}}]);
+//# sourceMappingURL=8642.d29d2259.chunk.js.map
\ No newline at end of file
diff --git a/web-app/build/static/js/8642.d29d2259.chunk.js.map b/web-app/build/static/js/8642.d29d2259.chunk.js.map
new file mode 100644
index 0000000000..f014e354eb
--- /dev/null
+++ b/web-app/build/static/js/8642.d29d2259.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/8642.d29d2259.chunk.js","mappings":"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","sources":["screens/Console/KMS/ListKeys.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { AddIcon, Button, DataTable, Grid, PageLayout, RefreshIcon } from \"mds\";\nimport { useNavigate } from \"react-router-dom\";\nimport api from \"../../../common/api\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../common/SecureComponent\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { useAppDispatch } from \"../../../store\";\nimport { setErrorSnackMessage, setHelpName } from \"../../../systemSlice\";\nimport SearchBox from \"../Common/SearchBox\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../HelpMenu\";\n\nconst ListKeys = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const [filter, setFilter] = useState(\"\");\n const [loading, setLoading] = useState(false);\n const [records, setRecords] = useState<[]>([]);\n\n const createKey = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.KMS_CREATE_KEY,\n ]);\n\n const displayKeys = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.KMS_LIST_KEYS,\n ]);\n\n useEffect(() => {\n fetchRecords();\n }, []);\n\n useEffect(() => {\n setLoading(true);\n }, [filter]);\n\n useEffect(() => {\n if (loading) {\n if (displayKeys) {\n let pattern = filter.trim() === \"\" ? \"*\" : filter.trim();\n api\n .invoke(\"GET\", `/api/v1/kms/keys?pattern=${pattern}`)\n .then((res) => {\n setLoading(false);\n setRecords(res.results);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setErrorSnackMessage(err));\n });\n } else {\n setLoading(false);\n }\n }\n }, [loading, setLoading, setRecords, dispatch, displayKeys, filter]);\n\n const fetchRecords = () => {\n setLoading(true);\n };\n\n useEffect(() => {\n dispatch(setHelpName(\"list_keys\"));\n }, [dispatch]);\n\n return (\n \n }\n />\n\n \n \n \n \n \n \n\n \n \n }\n onClick={() => setLoading(true)}\n />\n \n \n {createKey ? (\n \n \n }\n onClick={() => navigate(IAM_PAGES.KMS_KEYS_ADD)}\n />\n \n \n ) : null}\n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default ListKeys;\n"],"names":["ListKeys","dispatch","useAppDispatch","navigate","useNavigate","filter","setFilter","useState","loading","setLoading","records","setRecords","createKey","hasPermission","CONSOLE_UI_RESOURCE","IAM_SCOPES","KMS_CREATE_KEY","displayKeys","KMS_LIST_KEYS","useEffect","fetchRecords","pattern","trim","api","invoke","concat","then","res","results","catch","err","setErrorSnackMessage","setHelpName","_jsxs","React","children","_jsx","PageHeaderWrapper","label","actions","HelpMenu","PageLayout","Grid","container","item","xs","sx","display","alignItems","justifyContent","marginLeft","SecureComponent","scopes","resource","errorProps","disabled","SearchBox","onChange","placeholder","value","TooltipWrapper","tooltip","Button","id","variant","icon","RefreshIcon","onClick","AddIcon","IAM_PAGES","KMS_KEYS_ADD","marginTop","DataTable","columns","elementKey","isLoading","entityName","idField"],"sourceRoot":""}
\ No newline at end of file
diff --git a/web-app/build/static/js/8642.e13c61e6.chunk.js b/web-app/build/static/js/8642.e13c61e6.chunk.js
deleted file mode 100644
index 5349544a64..0000000000
--- a/web-app/build/static/js/8642.e13c61e6.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";(self.webpackChunkweb_app=self.webpackChunkweb_app||[]).push([[8642],{8642:(e,s,t)=>{t.r(s),t.d(s,{default:()=>M});var r=t(65043),n=t(89923),l=t(73216),i=t(20649),a=t(77938),c=t(99161),o=t(21383),d=t(64159),x=t(72237),p=t(64681),u=t(6681),K=t(48793),_=t(55968),h=t(70579);const S=(0,x.A)(r.lazy((()=>t.e(8825).then(t.bind(t,88825))))),M=()=>{const e=(0,o.jL)(),s=(0,l.Zp)(),[t,x]=(0,r.useState)(""),[M,j]=(0,r.useState)(!1),[E,y]=(0,r.useState)(""),[m,f]=(0,r.useState)(!1),[A,b]=(0,r.useState)([]),k=(0,a._)(c.Ms,[c.OV.KMS_DELETE_KEY]),C=(0,a._)(c.Ms,[c.OV.KMS_CREATE_KEY]),O=(0,a._)(c.Ms,[c.OV.KMS_IMPORT_KEY]),R=(0,a._)(c.Ms,[c.OV.KMS_LIST_KEYS]);(0,r.useEffect)((()=>{Y()}),[]),(0,r.useEffect)((()=>{f(!0)}),[t]),(0,r.useEffect)((()=>{if(m)if(R){let s=""===t.trim()?"*":t.trim();i.A.invoke("GET","/api/v1/kms/keys?pattern=".concat(s)).then((e=>{f(!1),b(e.results)})).catch((s=>{f(!1),e((0,d.C9)(s))}))}else f(!1)}),[m,f,b,e,R,t]);const Y=()=>{f(!0)},T=e=>{j(!0),y(e)},I=[];return k&&I.push({type:"delete",onClick:T,sendOnlyId:!0,disableButtonFunction:()=>!k}),(0,r.useEffect)((()=>{e((0,d.ph)("list_keys"))}),[e]),(0,h.jsxs)(r.Fragment,{children:[M&&(0,h.jsx)(S,{deleteOpen:M,selectedItem:E,closeDeleteModalAndRefresh:e=>{j(!1),e&&Y()}}),(0,h.jsx)(K.A,{label:"Key Management Service Keys",actions:(0,h.jsx)(_.A,{})}),(0,h.jsx)(n.Mxu,{children:(0,h.jsxs)(n.xA9,{container:!0,children:[(0,h.jsxs)(n.xA9,{item:!0,xs:12,sx:{display:"flex",alignItems:"center",justifyContent:"flex-end","& button":{marginLeft:"8px"}},children:[(0,h.jsx)(a.R,{scopes:[c.OV.KMS_LIST_KEYS],resource:c.Ms,errorProps:{disabled:!0},children:(0,h.jsx)(p.A,{onChange:x,placeholder:"Search Keys with pattern",value:t})}),(0,h.jsx)(a.R,{scopes:[c.OV.KMS_LIST_KEYS],resource:c.Ms,errorProps:{disabled:!0},children:(0,h.jsx)(u.A,{tooltip:"Refresh",children:(0,h.jsx)(n.$nd,{id:"refresh-keys",variant:"regular",icon:(0,h.jsx)(n.fNY,{}),onClick:()=>f(!0)})})}),O?(0,h.jsx)(a.R,{scopes:[c.OV.KMS_IMPORT_KEY],resource:c.Ms,errorProps:{disabled:!0},children:(0,h.jsx)(u.A,{tooltip:"Import Key",children:(0,h.jsx)(n.$nd,{id:"import-key",variant:"regular",icon:(0,h.jsx)(n.JMY,{}),onClick:()=>{s(c.zZ.KMS_KEYS_IMPORT)}})})}):null,C?(0,h.jsx)(a.R,{scopes:[c.OV.KMS_CREATE_KEY],resource:c.Ms,errorProps:{disabled:!0},children:(0,h.jsx)(u.A,{tooltip:"Create Key",children:(0,h.jsx)(n.$nd,{id:"create-key",label:"Create Key",variant:"callAction",icon:(0,h.jsx)(n.REV,{}),onClick:()=>s(c.zZ.KMS_KEYS_ADD)})})}):null]}),(0,h.jsx)(n.xA9,{item:!0,xs:12,sx:{marginTop:"5px"},children:(0,h.jsx)(a.R,{scopes:[c.OV.KMS_LIST_KEYS],resource:c.Ms,errorProps:{disabled:!0},children:(0,h.jsx)(n.bQt,{itemActions:I,columns:[{label:"Name",elementKey:"name"},{label:"Created By",elementKey:"createdBy"},{label:"Created At",elementKey:"createdAt"}],isLoading:m,records:A,entityName:"Keys",idField:"name"})})})]})})]})}}}]);
-//# sourceMappingURL=8642.e13c61e6.chunk.js.map
\ No newline at end of file
diff --git a/web-app/build/static/js/8642.e13c61e6.chunk.js.map b/web-app/build/static/js/8642.e13c61e6.chunk.js.map
deleted file mode 100644
index 0ef6434565..0000000000
--- a/web-app/build/static/js/8642.e13c61e6.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/8642.e13c61e6.chunk.js","mappings":"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","sources":["screens/Console/KMS/ListKeys.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport {\n AddIcon,\n Button,\n DataTable,\n Grid,\n PageLayout,\n RefreshIcon,\n UploadIcon,\n} from \"mds\";\nimport { useNavigate } from \"react-router-dom\";\nimport api from \"../../../common/api\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../common/SecureComponent\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { useAppDispatch } from \"../../../store\";\nimport { setErrorSnackMessage, setHelpName } from \"../../../systemSlice\";\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport SearchBox from \"../Common/SearchBox\";\nimport TooltipWrapper from \"../Common/TooltipWrapper/TooltipWrapper\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../HelpMenu\";\n\nconst DeleteKMSModal = withSuspense(\n React.lazy(() => import(\"./DeleteKMSModal\")),\n);\n\nconst ListKeys = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const [filter, setFilter] = useState(\"\");\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedKey, setSelectedKey] = useState(\"\");\n const [loading, setLoading] = useState(false);\n const [records, setRecords] = useState<[]>([]);\n\n const deleteKey = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.KMS_DELETE_KEY,\n ]);\n const createKey = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.KMS_CREATE_KEY,\n ]);\n\n const importKey = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.KMS_IMPORT_KEY,\n ]);\n\n const displayKeys = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.KMS_LIST_KEYS,\n ]);\n\n useEffect(() => {\n fetchRecords();\n }, []);\n\n useEffect(() => {\n setLoading(true);\n }, [filter]);\n\n useEffect(() => {\n if (loading) {\n if (displayKeys) {\n let pattern = filter.trim() === \"\" ? \"*\" : filter.trim();\n api\n .invoke(\"GET\", `/api/v1/kms/keys?pattern=${pattern}`)\n .then((res) => {\n setLoading(false);\n setRecords(res.results);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n dispatch(setErrorSnackMessage(err));\n });\n } else {\n setLoading(false);\n }\n }\n }, [loading, setLoading, setRecords, dispatch, displayKeys, filter]);\n\n const fetchRecords = () => {\n setLoading(true);\n };\n\n const confirmDeleteKey = (key: string) => {\n setDeleteOpen(true);\n setSelectedKey(key);\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n\n if (refresh) {\n fetchRecords();\n }\n };\n\n const tableActions: any[] = [];\n if (deleteKey) {\n tableActions.push({\n type: \"delete\",\n onClick: confirmDeleteKey,\n sendOnlyId: true,\n disableButtonFunction: () => !deleteKey,\n });\n }\n\n useEffect(() => {\n dispatch(setHelpName(\"list_keys\"));\n }, [dispatch]);\n\n return (\n \n {deleteOpen && (\n \n )}\n }\n />\n\n \n \n \n \n \n \n\n \n \n }\n onClick={() => setLoading(true)}\n />\n \n \n {importKey ? (\n \n \n }\n onClick={() => {\n navigate(IAM_PAGES.KMS_KEYS_IMPORT);\n }}\n />\n \n \n ) : null}\n {createKey ? (\n \n \n }\n onClick={() => navigate(IAM_PAGES.KMS_KEYS_ADD)}\n />\n \n \n ) : null}\n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default ListKeys;\n"],"names":["DeleteKMSModal","withSuspense","React","ListKeys","dispatch","useAppDispatch","navigate","useNavigate","filter","setFilter","useState","deleteOpen","setDeleteOpen","selectedKey","setSelectedKey","loading","setLoading","records","setRecords","deleteKey","hasPermission","CONSOLE_UI_RESOURCE","IAM_SCOPES","KMS_DELETE_KEY","createKey","KMS_CREATE_KEY","importKey","KMS_IMPORT_KEY","displayKeys","KMS_LIST_KEYS","useEffect","fetchRecords","pattern","trim","api","invoke","concat","then","res","results","catch","err","setErrorSnackMessage","confirmDeleteKey","key","tableActions","push","type","onClick","sendOnlyId","disableButtonFunction","setHelpName","_jsxs","children","_jsx","selectedItem","closeDeleteModalAndRefresh","refresh","PageHeaderWrapper","label","actions","HelpMenu","PageLayout","Grid","container","item","xs","sx","display","alignItems","justifyContent","marginLeft","SecureComponent","scopes","resource","errorProps","disabled","SearchBox","onChange","placeholder","value","TooltipWrapper","tooltip","Button","id","variant","icon","RefreshIcon","UploadIcon","IAM_PAGES","KMS_KEYS_IMPORT","AddIcon","KMS_KEYS_ADD","marginTop","DataTable","itemActions","columns","elementKey","isLoading","entityName","idField"],"sourceRoot":""}
\ No newline at end of file
diff --git a/web-app/build/static/js/8825.31f9162e.chunk.js b/web-app/build/static/js/8825.31f9162e.chunk.js
deleted file mode 100644
index 19a34b12ab..0000000000
--- a/web-app/build/static/js/8825.31f9162e.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";(self.webpackChunkweb_app=self.webpackChunkweb_app||[]).push([[8825],{88825:(e,t,n)=>{n.r(t),n.d(t,{default:()=>h});var a=n(65043),s=n(89923),l=n(64159),i=n(21383),r=n(58661),o=n(56629),c=n(53518),d=n(70579);const h=e=>{let{closeDeleteModalAndRefresh:t,deleteOpen:n,selectedItem:h}=e;const p=(0,i.jL)(),[x,u]=(0,a.useState)(!1),[m,y]=(0,a.useState)("");if(!h)return null;return(0,d.jsx)(r.A,{title:"Delete Key",confirmText:"Delete",isOpen:n,titleIcon:(0,d.jsx)(s.xWY,{}),isLoading:x,onConfirm:()=>{u(!0),o.F.kms.kmsDeleteKey(h).then((e=>{t(!0)})).catch((async e=>{const n=await e.json();p((0,l.C9)((0,c.S)(n))),t(!1)})).finally((()=>u(!1)))},onClose:()=>t(!1),confirmButtonProps:{disabled:m!==h||x},confirmationContent:(0,d.jsxs)(a.Fragment,{children:[(0,d.jsx)(s.xA9,{item:!0,xs:12,children:(0,d.jsx)(s.Wei,{variant:"error",title:"WARNING",message:"Please note that this is a dangerous operation. Once a key has been deleted all data that has been encrypted with it cannot be decrypted anymore, and therefore, is lost.",sx:{margin:"15px 0"}})}),"To continue please type ",(0,d.jsx)("b",{children:h})," in the box.",(0,d.jsx)(s.xA9,{item:!0,xs:12,children:(0,d.jsx)(s.cl_,{id:"retype-key",name:"retype-key",onChange:e=>{y(e.target.value)},onPaste:e=>e.preventDefault(),label:"",value:m})})]})})}}}]);
-//# sourceMappingURL=8825.31f9162e.chunk.js.map
\ No newline at end of file
diff --git a/web-app/build/static/js/8825.31f9162e.chunk.js.map b/web-app/build/static/js/8825.31f9162e.chunk.js.map
deleted file mode 100644
index 3fc14e999b..0000000000
--- a/web-app/build/static/js/8825.31f9162e.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/8825.31f9162e.chunk.js","mappings":"6NA+BA,MAwEA,EAxEuBA,IAIM,IAJL,2BACtBC,EAA0B,WAC1BC,EAAU,aACVC,GACqBH,EACrB,MAAMI,GAAWC,EAAAA,EAAAA,OAEVC,EAAeC,IAAoBC,EAAAA,EAAAA,WAAkB,IACrDC,EAAWC,IAAgBF,EAAAA,EAAAA,UAAS,IAE3C,IAAKL,EACH,OAAO,KAkBT,OACEQ,EAAAA,EAAAA,KAACC,EAAAA,EAAa,CACZC,MAAK,aACLC,YAAa,SACbC,OAAQb,EACRc,WAAWL,EAAAA,EAAAA,KAACM,EAAAA,IAAiB,IAC7BC,UAAWZ,EACXa,UAtBoBC,KACtBb,GAAiB,GACjBc,EAAAA,EAAIC,IACDC,aAAapB,GACbqB,MAAMC,IACLxB,GAA2B,EAAK,IAEjCyB,OAAMC,UACL,MAAMC,QAAaC,EAAIC,OACvB1B,GAAS2B,EAAAA,EAAAA,KAAqBC,EAAAA,EAAAA,GAAeJ,KAC7C3B,GAA2B,EAAM,IAElCgC,SAAQ,IAAM1B,GAAiB,IAAO,EAWvC2B,QA/BYA,IAAMjC,GAA2B,GAgC7CkC,mBAAoB,CAClBC,SAAU3B,IAAcN,GAAgBG,GAE1C+B,qBACEC,EAAAA,EAAAA,MAACC,EAAAA,SAAQ,CAAAC,SAAA,EACP7B,EAAAA,EAAAA,KAAC8B,EAAAA,IAAI,CAACC,MAAI,EAACC,GAAI,GAAGH,UAChB7B,EAAAA,EAAAA,KAACiC,EAAAA,IAAkB,CACjBC,QAAS,QACThC,MAAO,UACPiC,QACE,4KAEFC,GAAI,CAAEC,OAAQ,cAEX,4BACiBrC,EAAAA,EAAAA,KAAA,KAAA6B,SAAIrC,IAAiB,gBAC7CQ,EAAAA,EAAAA,KAAC8B,EAAAA,IAAI,CAACC,MAAI,EAACC,GAAI,GAAGH,UAChB7B,EAAAA,EAAAA,KAACsC,EAAAA,IAAQ,CACPC,GAAG,aACHC,KAAK,aACLC,SAAWC,IACT3C,EAAa2C,EAAMC,OAAOC,MAAM,EAElCC,QAAUC,GAAMA,EAAEC,iBAClBC,MAAM,GACNJ,MAAO9C,UAKf,C","sources":["screens/Console/KMS/DeleteKMSModal.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState, Fragment } from \"react\";\nimport { ConfirmDeleteIcon, Grid, InformativeMessage, InputBox } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../systemSlice\";\nimport { useAppDispatch } from \"../../../store\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { ApiError, HttpResponse } from \"api/consoleApi\";\n\ninterface IDeleteKMSModalProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedItem: string;\n}\n\nconst DeleteKMSModal = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedItem,\n}: IDeleteKMSModalProps) => {\n const dispatch = useAppDispatch();\n const onClose = () => closeDeleteModalAndRefresh(false);\n const [loadingDelete, setLoadingDelete] = useState(false);\n const [retypeKey, setRetypeKey] = useState(\"\");\n\n if (!selectedItem) {\n return null;\n }\n\n const onConfirmDelete = () => {\n setLoadingDelete(true);\n api.kms\n .kmsDeleteKey(selectedItem)\n .then((_) => {\n closeDeleteModalAndRefresh(true);\n })\n .catch(async (res: HttpResponse) => {\n const err = (await res.json()) as ApiError;\n dispatch(setErrorSnackMessage(errorToHandler(err)));\n closeDeleteModalAndRefresh(false);\n })\n .finally(() => setLoadingDelete(false));\n };\n\n return (\n }\n isLoading={loadingDelete}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmButtonProps={{\n disabled: retypeKey !== selectedItem || loadingDelete,\n }}\n confirmationContent={\n \n \n \n \n To continue please type {selectedItem} in the box.\n \n ) => {\n setRetypeKey(event.target.value);\n }}\n onPaste={(e) => e.preventDefault()}\n label=\"\"\n value={retypeKey}\n />\n \n \n }\n />\n );\n};\n\nexport default DeleteKMSModal;\n"],"names":["_ref","closeDeleteModalAndRefresh","deleteOpen","selectedItem","dispatch","useAppDispatch","loadingDelete","setLoadingDelete","useState","retypeKey","setRetypeKey","_jsx","ConfirmDialog","title","confirmText","isOpen","titleIcon","ConfirmDeleteIcon","isLoading","onConfirm","onConfirmDelete","api","kms","kmsDeleteKey","then","_","catch","async","err","res","json","setErrorSnackMessage","errorToHandler","finally","onClose","confirmButtonProps","disabled","confirmationContent","_jsxs","Fragment","children","Grid","item","xs","InformativeMessage","variant","message","sx","margin","InputBox","id","name","onChange","event","target","value","onPaste","e","preventDefault","label"],"sourceRoot":""}
\ No newline at end of file
diff --git a/web-app/build/static/js/main.41754270.js b/web-app/build/static/js/main.41754270.js
new file mode 100644
index 0000000000..1f350a698f
--- /dev/null
+++ b/web-app/build/static/js/main.41754270.js
@@ -0,0 +1,3 @@
+/*! For license information please see main.41754270.js.LICENSE.txt */
+(()=>{var e={85330:(e,t,n)=>{"use strict";n.d(t,{BT:()=>s,M0:()=>r,SW:()=>i,Wj:()=>a,cM:()=>c,jI:()=>d,jz:()=>o,wg:()=>l});let r=function(e){return e.SseS3="sse-s3",e.SseKms="sse-kms",e}({}),o=function(e){return e.PRIVATE="PRIVATE",e.PUBLIC="PUBLIC",e.CUSTOM="CUSTOM",e}({}),a=function(e){return e.Put="put",e.Delete="delete",e.Get="get",e.Replica="replica",e.Ilm="ilm",e.Scanner="scanner",e}({}),i=function(e){return e.Enabled="enabled",e.Disabled="disabled",e}({}),s=function(e){return e.Governance="governance",e.Compliance="compliance",e}({}),l=function(e){return e.Days="days",e.Years="years",e}({}),c=function(e){return e.Json="application/json",e.FormData="multipart/form-data",e.UrlEncoded="application/x-www-form-urlencoded",e.Text="text/plain",e}({});class u{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.baseUrl="/api/v1",this.securityData=null,this.securityWorker=void 0,this.abortControllers=new Map,this.customFetch=function(){return fetch(...arguments)},this.baseApiParams={credentials:"same-origin",headers:{},redirect:"follow",referrerPolicy:"no-referrer"},this.setSecurityData=e=>{this.securityData=e},this.contentFormatters={[c.Json]:e=>null===e||"object"!==typeof e&&"string"!==typeof e?e:JSON.stringify(e),[c.Text]:e=>null!==e&&"string"!==typeof e?JSON.stringify(e):e,[c.FormData]:e=>Object.keys(e||{}).reduce(((t,n)=>{const r=e[n];return t.append(n,r instanceof Blob?r:"object"===typeof r&&null!==r?JSON.stringify(r):"".concat(r)),t}),new FormData),[c.UrlEncoded]:e=>this.toQueryString(e)},this.createAbortSignal=e=>{if(this.abortControllers.has(e)){const t=this.abortControllers.get(e);return t?t.signal:void 0}const t=new AbortController;return this.abortControllers.set(e,t),t.signal},this.abortRequest=e=>{const t=this.abortControllers.get(e);t&&(t.abort(),this.abortControllers.delete(e))},this.request=async e=>{let{body:t,secure:n,path:r,type:o,query:a,format:i,baseUrl:s,cancelToken:l,...u}=e;const d=("boolean"===typeof n?n:this.baseApiParams.secure)&&this.securityWorker&&await this.securityWorker(this.securityData)||{},p=this.mergeRequestParams(u,d),h=a&&this.toQueryString(a),m=this.contentFormatters[o||c.Json],f=i||p.format;return this.customFetch("".concat(s||this.baseUrl||"").concat(r).concat(h?"?".concat(h):""),{...p,headers:{...p.headers||{},...o&&o!==c.FormData?{"Content-Type":o}:{}},signal:(l?this.createAbortSignal(l):p.signal)||null,body:"undefined"===typeof t||null===t?null:m(t)}).then((async e=>{const t=e.clone();t.data=null,t.error=null;const n=f?await e[f]().then((e=>(t.ok?t.data=e:t.error=e,t))).catch((e=>(t.error=e,t))):t;if(l&&this.abortControllers.delete(l),!e.ok)throw n;return n}))},Object.assign(this,e)}encodeQueryParam(e,t){const n=encodeURIComponent(e);return"".concat(n,"=").concat(encodeURIComponent("number"===typeof t?t:"".concat(t)))}addQueryParam(e,t){return this.encodeQueryParam(t,e[t])}addArrayQueryParam(e,t){return e[t].map((e=>this.encodeQueryParam(t,e))).join("&")}toQueryString(e){const t=e||{};return Object.keys(t).filter((e=>"undefined"!==typeof t[e])).map((e=>Array.isArray(t[e])?this.addArrayQueryParam(t,e):this.addQueryParam(t,e))).join("&")}addQueryParams(e){const t=this.toQueryString(e);return t?"?".concat(t):""}mergeRequestParams(e,t){return{...this.baseApiParams,...e,...t||{},headers:{...this.baseApiParams.headers||{},...e.headers||{},...t&&t.headers||{}}}}}class d extends u{constructor(){var e;super(...arguments),e=this,this.login={loginDetail:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.request({path:"/login",method:"GET",format:"json",...t})},login:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/login",method:"POST",body:t,type:c.Json,...n})},loginOauth2Auth:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/login/oauth2/auth",method:"POST",body:t,type:c.Json,...n})}},this.logout={logout:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/logout",method:"POST",body:t,secure:!0,type:c.Json,...n})}},this.session={sessionCheck:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.request({path:"/session",method:"GET",secure:!0,format:"json",...t})}},this.account={accountChangePassword:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/account/change-password",method:"POST",body:t,secure:!0,type:c.Json,...n})},changeUserPassword:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/account/change-user-password",method:"POST",body:t,secure:!0,type:c.Json,...n})}},this.buckets={listBuckets:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.request({path:"/buckets",method:"GET",secure:!0,format:"json",...t})},makeBucket:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/buckets",method:"POST",body:t,secure:!0,type:c.Json,format:"json",...n})},bucketInfo:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t)),method:"GET",secure:!0,format:"json",...n})},deleteBucket:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t)),method:"DELETE",secure:!0,...n})},getBucketRetentionConfig:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/retention"),method:"GET",secure:!0,format:"json",...n})},setBucketRetentionConfig:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/retention"),method:"PUT",body:n,secure:!0,type:c.Json,...r})},listObjects:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/objects"),method:"GET",query:n,secure:!0,format:"json",...r})},deleteObject:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/objects"),method:"DELETE",query:n,secure:!0,...r})},deleteMultipleObjects:function(t,n,r){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/delete-objects"),method:"POST",query:r,body:n,secure:!0,type:c.Json,...o})},objectsUploadCreate:function(t,n,r){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/objects/upload"),method:"POST",query:n,body:r,secure:!0,type:c.FormData,...o})},downloadMultipleObjects:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/objects/download-multiple"),method:"POST",body:n,secure:!0,type:c.Json,...r})},downloadObject:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/objects/download"),method:"GET",query:n,secure:!0,...r})},shareObject:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/objects/share"),method:"GET",query:n,secure:!0,format:"json",...r})},putObjectLegalHold:function(t,n,r){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/objects/legalhold"),method:"PUT",query:n,body:r,secure:!0,type:c.Json,...o})},putObjectRetention:function(t,n,r){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/objects/retention"),method:"PUT",query:n,body:r,secure:!0,type:c.Json,...o})},deleteObjectRetention:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/objects/retention"),method:"DELETE",query:n,secure:!0,...r})},putObjectTags:function(t,n,r){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/objects/tags"),method:"PUT",query:n,body:r,secure:!0,type:c.Json,...o})},putObjectRestore:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/objects/restore"),method:"PUT",query:n,secure:!0,...r})},getObjectMetadata:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/objects/metadata"),method:"GET",query:n,secure:!0,format:"json",...r})},putBucketTags:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/tags"),method:"PUT",body:n,secure:!0,type:c.Json,...r})},bucketSetPolicy:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/set-policy"),method:"PUT",body:n,secure:!0,type:c.Json,format:"json",...r})},getBucketQuota:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/quota"),method:"GET",secure:!0,format:"json",...n})},setBucketQuota:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/quota"),method:"PUT",body:n,secure:!0,type:c.Json,format:"json",...r})},listBucketEvents:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/events"),method:"GET",query:n,secure:!0,format:"json",...r})},createBucketEvent:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/events"),method:"POST",body:n,secure:!0,type:c.Json,...r})},deleteBucketEvent:function(t,n,r){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/events/").concat(encodeURIComponent(n)),method:"DELETE",body:r,secure:!0,type:c.Json,...o})},getBucketReplication:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/replication"),method:"GET",secure:!0,format:"json",...n})},getBucketReplicationRule:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/replication/").concat(encodeURIComponent(n)),method:"GET",secure:!0,format:"json",...r})},updateMultiBucketReplication:function(t,n,r){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/replication/").concat(encodeURIComponent(n)),method:"PUT",body:r,secure:!0,type:c.Json,...o})},deleteBucketReplicationRule:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/replication/").concat(encodeURIComponent(n)),method:"DELETE",secure:!0,...r})},deleteAllReplicationRules:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/delete-all-replication-rules"),method:"DELETE",secure:!0,...n})},deleteSelectedReplicationRules:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/delete-selected-replication-rules"),method:"DELETE",body:n,secure:!0,type:c.Json,...r})},getBucketVersioning:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/versioning"),method:"GET",secure:!0,format:"json",...n})},setBucketVersioning:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/versioning"),method:"PUT",body:n,secure:!0,type:c.Json,...r})},getBucketObjectLockingStatus:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/object-locking"),method:"GET",secure:!0,format:"json",...n})},enableBucketEncryption:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/encryption/enable"),method:"POST",body:n,secure:!0,type:c.Json,...r})},disableBucketEncryption:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/encryption/disable"),method:"POST",secure:!0,...n})},getBucketEncryptionInfo:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/encryption/info"),method:"GET",secure:!0,format:"json",...n})},getBucketLifecycle:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/lifecycle"),method:"GET",secure:!0,format:"json",...n})},addBucketLifecycle:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/lifecycle"),method:"POST",body:n,secure:!0,type:c.Json,...r})},addMultiBucketLifecycle:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/buckets/multi-lifecycle",method:"POST",body:t,secure:!0,type:c.Json,format:"json",...n})},updateBucketLifecycle:function(t,n,r){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/lifecycle/").concat(encodeURIComponent(n)),method:"PUT",body:r,secure:!0,type:c.Json,...o})},deleteBucketLifecycleRule:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/lifecycle/").concat(encodeURIComponent(n)),method:"DELETE",secure:!0,...r})},getBucketRewind:function(t,n,r){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return e.request({path:"/buckets/".concat(encodeURIComponent(t),"/rewind/").concat(encodeURIComponent(n)),method:"GET",query:r,secure:!0,format:"json",...o})},getMaxShareLinkExp:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.request({path:"/buckets/max-share-exp",method:"GET",secure:!0,format:"json",...t})}},this.listExternalBuckets={listExternalBuckets:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/list-external-buckets",method:"POST",body:t,secure:!0,type:c.Json,format:"json",...n})}},this.bucketsReplication={setMultiBucketReplication:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/buckets-replication",method:"POST",body:t,secure:!0,type:c.Json,format:"json",...n})}},this.serviceAccounts={listUserServiceAccounts:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/service-accounts",method:"GET",query:t,secure:!0,format:"json",...n})},createServiceAccount:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/service-accounts",method:"POST",body:t,secure:!0,format:"json",...n})},deleteMultipleServiceAccounts:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/service-accounts/delete-multi",method:"DELETE",body:t,secure:!0,type:c.Json,...n})},getServiceAccount:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/service-accounts/".concat(encodeURIComponent(t)),method:"GET",secure:!0,format:"json",...n})},updateServiceAccount:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/service-accounts/".concat(encodeURIComponent(t)),method:"PUT",body:n,secure:!0,type:c.Json,...r})},deleteServiceAccount:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/service-accounts/".concat(encodeURIComponent(t)),method:"DELETE",secure:!0,...n})}},this.serviceAccountCredentials={createServiceAccountCreds:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/service-account-credentials",method:"POST",body:t,secure:!0,format:"json",...n})}},this.users={listUsers:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/users",method:"GET",query:t,secure:!0,format:"json",...n})},addUser:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/users",method:"POST",body:t,secure:!0,type:c.Json,format:"json",...n})},checkUserServiceAccounts:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/users/service-accounts",method:"POST",body:t,secure:!0,type:c.Json,format:"json",...n})}},this.user={getUserInfo:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/user/".concat(encodeURIComponent(t)),method:"GET",secure:!0,format:"json",...n})},updateUserInfo:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/user/".concat(encodeURIComponent(t)),method:"PUT",body:n,secure:!0,type:c.Json,format:"json",...r})},removeUser:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/user/".concat(encodeURIComponent(t)),method:"DELETE",secure:!0,...n})},updateUserGroups:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/user/".concat(encodeURIComponent(t),"/groups"),method:"PUT",body:n,secure:!0,type:c.Json,format:"json",...r})},getUserPolicy:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.request({path:"/user/policy",method:"GET",secure:!0,format:"json",...t})},getSaUserPolicy:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/user/".concat(encodeURIComponent(t),"/policies"),method:"GET",secure:!0,format:"json",...n})},listAUserServiceAccounts:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/user/".concat(encodeURIComponent(t),"/service-accounts"),method:"GET",secure:!0,format:"json",...n})},createAUserServiceAccount:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/user/".concat(encodeURIComponent(t),"/service-accounts"),method:"POST",body:n,secure:!0,format:"json",...r})},createServiceAccountCredentials:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/user/".concat(encodeURIComponent(t),"/service-account-credentials"),method:"POST",body:n,secure:!0,format:"json",...r})}},this.usersGroupsBulk={bulkUpdateUsersGroups:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/users-groups-bulk",method:"PUT",body:t,secure:!0,type:c.Json,...n})}},this.groups={listGroups:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/groups",method:"GET",query:t,secure:!0,format:"json",...n})},addGroup:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/groups",method:"POST",body:t,secure:!0,type:c.Json,...n})}},this.group={groupInfo:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/group/".concat(encodeURIComponent(t)),method:"GET",secure:!0,format:"json",...n})},removeGroup:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/group/".concat(encodeURIComponent(t)),method:"DELETE",secure:!0,...n})},updateGroup:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/group/".concat(encodeURIComponent(t)),method:"PUT",body:n,secure:!0,type:c.Json,format:"json",...r})}},this.policies={listPolicies:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/policies",method:"GET",query:t,secure:!0,format:"json",...n})},addPolicy:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/policies",method:"POST",body:t,secure:!0,type:c.Json,format:"json",...n})},listUsersForPolicy:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/policies/".concat(encodeURIComponent(t),"/users"),method:"GET",secure:!0,format:"json",...n})},listGroupsForPolicy:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/policies/".concat(encodeURIComponent(t),"/groups"),method:"GET",secure:!0,format:"json",...n})}},this.bucketPolicy={listPoliciesWithBucket:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/bucket-policy/".concat(encodeURIComponent(t)),method:"GET",query:n,secure:!0,format:"json",...r})}},this.bucket={setAccessRuleWithBucket:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/bucket/".concat(encodeURIComponent(t),"/access-rules"),method:"PUT",body:n,secure:!0,type:c.Json,format:"json",...r})},listAccessRulesWithBucket:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/bucket/".concat(encodeURIComponent(t),"/access-rules"),method:"GET",query:n,secure:!0,format:"json",...r})},deleteAccessRuleWithBucket:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/bucket/".concat(encodeURIComponent(t),"/access-rules"),method:"DELETE",body:n,secure:!0,type:c.Json,format:"json",...r})}},this.bucketUsers={listUsersWithAccessToBucket:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/bucket-users/".concat(encodeURIComponent(t)),method:"GET",query:n,secure:!0,format:"json",...r})}},this.policy={policyInfo:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/policy/".concat(encodeURIComponent(t)),method:"GET",secure:!0,format:"json",...n})},removePolicy:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/policy/".concat(encodeURIComponent(t)),method:"DELETE",secure:!0,...n})}},this.configs={listConfig:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/configs",method:"GET",query:t,secure:!0,format:"json",...n})},configInfo:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/configs/".concat(encodeURIComponent(t)),method:"GET",secure:!0,format:"json",...n})},setConfig:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/configs/".concat(encodeURIComponent(t)),method:"PUT",body:n,secure:!0,type:c.Json,format:"json",...r})},resetConfig:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/configs/".concat(encodeURIComponent(t),"/reset"),method:"POST",secure:!0,format:"json",...n})},exportConfig:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.request({path:"/configs/export",method:"GET",secure:!0,format:"json",...t})},importCreate:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/configs/import",method:"POST",body:t,secure:!0,type:c.FormData,...n})}},this.setPolicy={setPolicy:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/set-policy",method:"PUT",body:t,secure:!0,type:c.Json,...n})}},this.setPolicyMulti={setPolicyMultiple:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/set-policy-multi",method:"PUT",body:t,secure:!0,type:c.Json,...n})}},this.service={restartService:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.request({path:"/service/restart",method:"POST",secure:!0,...t})}},this.profiling={profilingStart:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/profiling/start",method:"POST",body:t,secure:!0,type:c.Json,format:"json",...n})},profilingStop:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.request({path:"/profiling/stop",method:"POST",secure:!0,...t})}},this.subnet={subnetRegToken:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.request({path:"/subnet/registration-token",method:"GET",secure:!0,format:"json",...t})},subnetInfo:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.request({path:"/subnet/info",method:"GET",secure:!0,format:"json",...t})},subnetApiKey:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/subnet/apikey",method:"GET",query:t,secure:!0,format:"json",...n})},subnetRegister:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/subnet/register",method:"POST",body:t,secure:!0,type:c.Json,...n})},subnetLogin:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/subnet/login",method:"POST",body:t,secure:!0,type:c.Json,format:"json",...n})},subnetLoginMfa:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/subnet/login/mfa",method:"POST",body:t,secure:!0,type:c.Json,format:"json",...n})}},this.admin={adminInfo:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/admin/info",method:"GET",query:t,secure:!0,format:"json",...n})},dashboardWidgetDetails:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/admin/info/widgets/".concat(encodeURIComponent(t)),method:"GET",query:n,secure:!0,format:"json",...r})},arnList:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.request({path:"/admin/arns",method:"GET",secure:!0,format:"json",...t})},notificationEndpointList:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.request({path:"/admin/notification_endpoints",method:"GET",secure:!0,format:"json",...t})},addNotificationEndpoint:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/admin/notification_endpoints",method:"POST",body:t,secure:!0,type:c.Json,format:"json",...n})},getSiteReplicationInfo:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.request({path:"/admin/site-replication",method:"GET",secure:!0,format:"json",...t})},siteReplicationInfoAdd:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/admin/site-replication",method:"POST",body:t,secure:!0,type:c.Json,format:"json",...n})},siteReplicationEdit:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/admin/site-replication",method:"PUT",body:t,secure:!0,type:c.Json,format:"json",...n})},siteReplicationRemove:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/admin/site-replication",method:"DELETE",body:t,secure:!0,type:c.Json,format:"json",...n})},getSiteReplicationStatus:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/admin/site-replication/status",method:"GET",query:t,secure:!0,format:"json",...n})},tiersList:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.request({path:"/admin/tiers",method:"GET",secure:!0,format:"json",...t})},addTier:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/admin/tiers",method:"POST",body:t,secure:!0,type:c.Json,...n})},tiersListNames:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.request({path:"/admin/tiers/names",method:"GET",secure:!0,format:"json",...t})},getTier:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/admin/tiers/".concat(encodeURIComponent(t),"/").concat(encodeURIComponent(n)),method:"GET",secure:!0,format:"json",...r})},editTierCredentials:function(t,n,r){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return e.request({path:"/admin/tiers/".concat(encodeURIComponent(t),"/").concat(encodeURIComponent(n),"/credentials"),method:"PUT",body:r,secure:!0,type:c.Json,...o})},removeTier:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/admin/tiers/".concat(encodeURIComponent(t),"/remove"),method:"DELETE",secure:!0,...n})},inspect:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/admin/inspect",method:"GET",query:t,secure:!0,...n})}},this.nodes={listNodes:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.request({path:"/nodes",method:"GET",secure:!0,format:"json",...t})}},this.remoteBuckets={listRemoteBuckets:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.request({path:"/remote-buckets",method:"GET",secure:!0,format:"json",...t})},addRemoteBucket:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/remote-buckets",method:"POST",body:t,secure:!0,type:c.Json,...n})},remoteBucketDetails:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/remote-buckets/".concat(encodeURIComponent(t)),method:"GET",secure:!0,format:"json",...n})},deleteRemoteBucket:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/remote-buckets/".concat(encodeURIComponent(t),"/").concat(encodeURIComponent(n)),method:"DELETE",secure:!0,...r})}},this.logs={logSearch:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/logs/search",method:"GET",query:t,secure:!0,format:"json",...n})}},this.kms={kmsStatus:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.request({path:"/kms/status",method:"GET",secure:!0,format:"json",...t})},kmsMetrics:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.request({path:"/kms/metrics",method:"GET",secure:!0,format:"json",...t})},kmsapIs:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.request({path:"/kms/apis",method:"GET",secure:!0,format:"json",...t})},kmsVersion:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.request({path:"/kms/version",method:"GET",secure:!0,format:"json",...t})},kmsCreateKey:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/kms/keys",method:"POST",body:t,secure:!0,type:c.Json,...n})},kmsListKeys:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/kms/keys",method:"GET",query:t,secure:!0,format:"json",...n})},kmsKeyStatus:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/kms/keys/".concat(encodeURIComponent(t)),method:"GET",secure:!0,format:"json",...n})}},this.idp={createConfiguration:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/idp/".concat(encodeURIComponent(t)),method:"POST",body:n,secure:!0,type:c.Json,format:"json",...r})},listConfigurations:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/idp/".concat(encodeURIComponent(t)),method:"GET",secure:!0,format:"json",...n})},getConfiguration:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/idp/".concat(encodeURIComponent(n),"/").concat(encodeURIComponent(t)),method:"GET",secure:!0,format:"json",...r})},deleteConfiguration:function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e.request({path:"/idp/".concat(encodeURIComponent(n),"/").concat(encodeURIComponent(t)),method:"DELETE",secure:!0,format:"json",...r})},updateConfiguration:function(t,n,r){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return e.request({path:"/idp/".concat(encodeURIComponent(n),"/").concat(encodeURIComponent(t)),method:"PUT",body:r,secure:!0,type:c.Json,format:"json",...o})}},this.ldapEntities={getLdapEntities:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/ldap-entities",method:"POST",body:t,secure:!0,type:c.Json,format:"json",...n})}},this.releases={listReleases:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/releases",method:"GET",query:t,secure:!0,format:"json",...n})}},this.support={getCallHomeOptionValue:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.request({path:"/support/callhome",method:"GET",secure:!0,format:"json",...t})},setCallHomeStatus:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/support/callhome",method:"PUT",body:t,secure:!0,type:c.Json,...n})}},this.downloadSharedObject={downloadSharedObject:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.request({path:"/download-shared-object/".concat(encodeURIComponent(t)),method:"GET",...n})}}}}},53518:(e,t,n)=>{"use strict";n.d(t,{S:()=>r});const r=e=>e?{errorMessage:e.message||"",detailedError:e.detailedMessage||""}:{errorMessage:"",detailedError:""}},56629:(e,t,n)=>{"use strict";n.d(t,{F:()=>r});let r=new(n(85330).jI);r.baseUrl="".concat(new URL(document.baseURI).pathname,"api/v1");const o=r.request;r.request=async e=>{let{body:t,secure:n,path:r,type:a,query:i,format:s,baseUrl:l,cancelToken:c,...u}=e;return o({body:t,secure:n,path:r,type:a,query:i,format:s,baseUrl:l,cancelToken:c,...u}).then((e=>function(e){const t=e.error;t&&403===e.status&&"invalid session"===t.message&&"/login"!==window.location.pathname&&(document.location="/login");return e}(e)))}},20685:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(65043);var r=n(89923),o=n(70579);const a=()=>(0,o.jsx)(r.xA9,{container:!0,sx:{height:"100vh",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},children:(0,o.jsx)(r.xA9,{item:!0,xs:3,sx:{display:"flex",justifyContent:"center",alignItems:"center"},children:(0,o.jsx)(r.aHM,{style:{width:35,height:35}})})})},18218:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var r=n(21383),o=n(33097),a=n.n(o),i=n(99161);const s=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0;if(!e)return!1;const r=e.includes(i.OV.S3_ALL_ACTIONS),o=e.includes(i.OV.ADMIN_ALL_ACTIONS),a=t.filter((function(t){return-1!==e.indexOf(t)||-1!==t.indexOf("s3:")&&r||-1!==t.indexOf("admin:")&&o}));return n?a.length===t.length:a.length>0},l=(e,t,n,o)=>{if(!e)return!1;const i=r.M_.getState(),l=i.console.session&&i.console.session.permissions||{},c=l["arn:aws:s3:::*"]||[];let u=[],d=[],p=[];if(e){Array.isArray(e)?u=[...u,...e]:u.push(e);const t=Object.keys(l).filter((e=>e.includes("*")&&"arn:aws:s3:::*"!==e)),n=e=>t.map((t=>{const n=t.split(":").slice(-1)[0].replace("/","\\/").replace("*","($|\\/?(.*?))");return new RegExp("".concat(n),"gm").test(e)?t:null})).filter((e=>null!==e));u.forEach((e=>{let t=n(e),r=[];t.forEach((e=>{if(e){const t=a()(l,e,[]);r=[...r,...t]}}));let i=a()(l,e,[]);i=i||[];const s=a()(l,"arn:aws:s3:::".concat(e,"/*"),[]),c=a()(l,"arn:aws:s3:::".concat(e,"/"),[]),u=a()(l,"arn:aws:s3:::".concat(e),[]);if(d=[...i,...s,...r,...c,...u],o){const t="arn:aws:s3:::".concat(e);Object.entries(l).forEach((e=>{let[n,r]=e;n.includes(t)&&(p=[...p,...r])}))}}))}let h=[],m=t||[];return"*"===e&&Object.entries(l).forEach((e=>{let[t,n=[]]=e,r=n||[];m.forEach((e=>{r.forEach((t=>{t!==e&&"s3:*"!==t||(h=[...h,e])}))}))})),s([...d,...c,...p,...h],t,n)}},77938:(e,t,n)=>{"use strict";n.d(t,{R:()=>i,_:()=>r.A});var r=n(18218),o=n(65043),a=n(70579);const i=e=>{let{children:t,RenderError:n=(()=>(0,a.jsx)(a.Fragment,{})),errorProps:i=null,matchAll:s=!1,scopes:l=[],resource:c,containsResource:u=!1}=e;const d=(0,r.A)(c,l,s,u);return d||i?!d&&i?Array.isArray(t)?(0,a.jsx)(a.Fragment,{children:t.map((e=>(0,o.cloneElement)(e,{...i})))}):(0,o.cloneElement)(t,{...i}):(0,a.jsx)(a.Fragment,{children:t}):(0,a.jsx)(n,{})}},99161:(e,t,n)=>{"use strict";n.d(t,{$X:()=>b,BD:()=>p,Bc:()=>M,Dg:()=>h,HD:()=>l,Ho:()=>m,Hr:()=>x,Lb:()=>y,Ld:()=>C,Ms:()=>c,Nt:()=>P,OV:()=>o,Oh:()=>v,QR:()=>I,Sg:()=>D,ac:()=>r,bO:()=>S,g:()=>s,k1:()=>T,lP:()=>A,lj:()=>_,m0:()=>f,ni:()=>E,nr:()=>N,pC:()=>i,pf:()=>k,qA:()=>L,tO:()=>g,uA:()=>R,vj:()=>u,x6:()=>d,xw:()=>w,yv:()=>O,zZ:()=>a});const r={BUCKET_OWNER:"BUCKET_OWNER",BUCKET_VIEWER:"BUCKET_VIEWER",BUCKET_ADMIN:"BUCKET_ADMIN",BUCKET_LIFECYCLE:"BUCKET_LIFECYCLE"},o={S3_STAR_BUCKET:"s3:*Bucket",S3_LIST_BUCKET:"s3:ListBucket",S3_ALL_LIST_BUCKET:"s3:List*",S3_GET_BUCKET_POLICY:"s3:GetBucketPolicy",S3_PUT_BUCKET_POLICY:"s3:PutBucketPolicy",S3_GET_OBJECT:"s3:GetObject",S3_PUT_OBJECT:"s3:PutObject",S3_GET_ACTIONS:"s3:Get*",S3_PUT_ACTIONS:"s3:Put*",S3_GET_OBJECT_LEGAL_HOLD:"s3:GetObjectLegalHold",S3_PUT_OBJECT_LEGAL_HOLD:"s3:PutObjectLegalHold",S3_DELETE_OBJECT:"s3:DeleteObject",S3_GET_BUCKET_VERSIONING:"s3:GetBucketVersioning",S3_PUT_BUCKET_VERSIONING:"s3:PutBucketVersioning",S3_GET_OBJECT_RETENTION:"s3:GetObjectRetention",S3_PUT_OBJECT_RETENTION:"s3:PutObjectRetention",S3_GET_OBJECT_TAGGING:"s3:GetObjectTagging",S3_PUT_OBJECT_TAGGING:"s3:PutObjectTagging",S3_DELETE_OBJECT_TAGGING:"s3:DeleteObjectTagging",S3_GET_BUCKET_ENCRYPTION_CONFIGURATION:"s3:GetEncryptionConfiguration",S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION:"s3:PutEncryptionConfiguration",S3_CREATE_BUCKET:"s3:CreateBucket",S3_DELETE_BUCKET:"s3:DeleteBucket",S3_FORCE_DELETE_BUCKET:"s3:ForceDeleteBucket",S3_GET_BUCKET_NOTIFICATIONS:"s3:GetBucketNotification",S3_LISTEN_BUCKET_NOTIFICATIONS:"s3:ListenBucketNotification",S3_PUT_BUCKET_NOTIFICATIONS:"s3:PutBucketNotification",S3_GET_REPLICATION_CONFIGURATION:"s3:GetReplicationConfiguration",S3_PUT_REPLICATION_CONFIGURATION:"s3:PutReplicationConfiguration",S3_GET_LIFECYCLE_CONFIGURATION:"s3:GetLifecycleConfiguration",S3_PUT_LIFECYCLE_CONFIGURATION:"s3:PutLifecycleConfiguration",S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION:"s3:GetBucketObjectLockConfiguration",S3_PUT_BUCKET_OBJECT_LOCK_CONFIGURATION:"s3:PutBucketObjectLockConfiguration",ADMIN_GET_POLICY:"admin:GetPolicy",ADMIN_LIST_USERS:"admin:ListUsers",ADMIN_CREATE_USER:"admin:CreateUser",ADMIN_DELETE_USER:"admin:DeleteUser",ADMIN_ENABLE_USER:"admin:EnableUser",ADMIN_DISABLE_USER:"admin:DisableUser",ADMIN_GET_USER:"admin:GetUser",ADMIN_LIST_USER_POLICIES:"admin:ListUserPolicies",ADMIN_SERVER_INFO:"admin:ServerInfo",ADMIN_GET_BUCKET_QUOTA:"admin:GetBucketQuota",ADMIN_SET_BUCKET_QUOTA:"admin:SetBucketQuota",ADMIN_LIST_TIERS:"admin:ListTier",ADMIN_SET_TIER:"admin:SetTier",ADMIN_LIST_GROUPS:"admin:ListGroups",S3_GET_OBJECT_VERSION_FOR_REPLICATION:"s3:GetObjectVersionForReplication",S3_REPLICATE_TAGS:"s3:ReplicateTags",S3_REPLICATE_DELETE:"s3:ReplicateDelete",S3_REPLICATE_OBJECT:"s3:ReplicateObject",S3_PUT_OBJECT_VERSION_TAGGING:"s3:PutObjectVersionTagging",S3_DELETE_OBJECT_VERSION_TAGGING:"s3:DeleteObjectVersionTagging",S3_DELETE_OBJECT_VERSION:"s3:DeleteObjectVersion",S3_GET_OBJECT_VERSION_TAGGING:"s3:GetObjectVersionTagging",S3_GET_OBJECT_VERSION:"s3:GetObjectVersion",S3_PUT_BUCKET_TAGGING:"s3:PutBucketTagging",S3_GET_BUCKET_TAGGING:"s3:GetBucketTagging",S3_BYPASS_GOVERNANCE_RETENTION:"s3:BypassGovernanceRetention",S3_LIST_MULTIPART_UPLOAD_PARTS:"s3:ListMultipartUploadParts",S3_LISTEN_NOTIFICATIONS:"s3:ListenNotification",S3_LIST_BUCKET_MULTIPART_UPLOADS:"s3:ListBucketMultipartUploads",S3_LIST_BUCKET_VERSIONS:"s3:ListBucketVersions",S3_GET_BUCKET_POLICY_STATUS:"s3:GetBucketPolicyStatus",S3_LIST_ALL_MY_BUCKETS:"s3:ListAllMyBuckets",S3_HEAD_BUCKET:"s3:HeadBucket",S3_GET_BUCKET_LOCATION:"s3:GetBucketLocation",S3_DELETE_BUCKET_POLICY:"s3:DeleteBucketPolicy",S3_ABORT_MULTIPART_UPLOAD:"s3:AbortMultipartUpload",ADMIN_ADD_USER_TO_GROUP:"admin:AddUserToGroup",ADMIN_REMOVE_USER_FROM_GROUP:"admin:RemoveUserFromGroup",ADMIN_GET_GROUP:"admin:GetGroup",ADMIN_ENABLE_GROUP:"admin:EnableGroup",ADMIN_DISABLE_GROUP:"admin:DisableGroup",ADMIN_CREATE_POLICY:"admin:CreatePolicy",ADMIN_DELETE_POLICY:"admin:DeletePolicy",ADMIN_ATTACH_USER_OR_GROUP_POLICY:"admin:AttachUserOrGroupPolicy",ADMIN_CREATE_SERVICEACCOUNT:"admin:CreateServiceAccount",ADMIN_UPDATE_SERVICEACCOUNT:"admin:UpdateServiceAccount",ADMIN_REMOVE_SERVICEACCOUNT:"admin:RemoveServiceAccount",ADMIN_LIST_SERVICEACCOUNTS:"admin:ListServiceAccounts",ADMIN_CONFIG_UPDATE:"admin:ConfigUpdate",ADMIN_GET_CONSOLE_LOG:"admin:ConsoleLog",ADMIN_SERVER_TRACE:"admin:ServerTrace",ADMIN_HEALTH_INFO:"admin:OBDInfo",ADMIN_HEAL:"admin:Heal",ADMIN_INSPECT_DATA:"admin:InspectData",S3_ALL_ACTIONS:"s3:*",ADMIN_ALL_ACTIONS:"admin:*",KMS_ALL_ACTIONS:"kms:*",KMS_STATUS:"kms:Status",KMS_METRICS:"kms:Metrics",KMS_APIS:"kms:API",KMS_Version:"kms:Version",KMS_CREATE_KEY:"kms:CreateKey",KMS_DELETE_KEY:"kms:DeleteKey",KMS_LIST_KEYS:"kms:ListKeys",KMS_IMPORT_KEY:"kms:ImportKey",KMS_KEY_STATUS:"kms:KeyStatus",KMS_DESCRIBE_POLICY:"kms:DescribePolicy",KMS_ASSIGN_POLICY:"kms:AssignPolicy",KMS_DELETE_POLICY:"kms:DeletePolicy",KMS_SET_POLICY:"kms:SetPolicy",KMS_GET_POLICY:"kms:GetPolicy",KMS_LIST_POLICIES:"kms:ListPolicies",KMS_DESCRIBE_IDENTITY:"kms:DescribeIdentity",KMS_DESCRIBE_SELF_IDENTITY:"kms:DescribeSelfIdentity",KMS_DELETE_IDENTITY:"kms:DeleteIdentity",KMS_LIST_IDENTITIES:"kms:ListIdentities"},a={BUCKETS:"/buckets",ADD_BUCKETS:"add-bucket",BUCKETS_ADD_REPLICATION:"/buckets/add-replication",BUCKETS_ADMIN_VIEW:":bucketName/admin/*",BUCKETS_EDIT_REPLICATION:"/buckets/edit-replication",OBJECT_BROWSER_VIEW:"/browser",OBJECT_BROWSER_BUCKET_VIEW:"/browser/:bucketName",OBJECT_BROWSER_BUCKET_DETAILS_VIEW:"/browser/:bucketName/*",IDENTITY:"/identity",USERS:"/identity/users",USERS_VIEW:"/identity/users/:userName",USER_ADD:"/identity/users/add-user",GROUPS:"/identity/groups",GROUPS_ADD:"/identity/groups/create-group",GROUPS_VIEW:"/identity/groups/:groupName",ACCOUNT:"/access-keys",ACCOUNT_ADD:"/access-keys/new-account",USER_SA_ACCOUNT_ADD:"/identity/users/new-user-sa/:userName",IDP_LDAP_CONFIGURATIONS:"/identity/ldap/configuration",IDP_OPENID_CONFIGURATIONS:"/identity/idp/openid/configurations",IDP_OPENID_CONFIGURATIONS_VIEW:"/identity/idp/openid/configurations/:idpName",IDP_OPENID_CONFIGURATIONS_ADD:"/identity/idp/openid/configurations/add-idp",POLICIES:"/policies",POLICY_ADD:"/add-policy",POLICIES_VIEW:"/policies/*",TOOLS_LOGS:"/tools/logs",TOOLS_AUDITLOGS:"/tools/audit-logs",TOOLS_TRACE:"/tools/trace",DASHBOARD:"/tools/metrics",TOOLS_WATCH:"/tools/watch",KMS:"/kms",KMS_STATUS:"/kms/status",KMS_KEYS:"/kms/keys",KMS_KEYS_ADD:"/kms/add-key/",KMS_KEYS_IMPORT:"/kms/import-key/",TOOLS:"/support",REGISTER_SUPPORT:"/support/register",TOOLS_DIAGNOSTICS:"/support/diagnostics",TOOLS_SPEEDTEST:"/support/speedtest",CALL_HOME:"/support/call-home",PROFILE:"/support/profile",SUPPORT_INSPECT:"/support/inspect",LICENSE:"/license",SETTINGS:"/settings/configurations",SETTINGS_VIEW:"/settings/configurations/:option",DOCUMENTATION:"/documentation",EVENT_DESTINATIONS:"/settings/event-destinations",EVENT_DESTINATIONS_ADD:"/settings/event-destinations/add",EVENT_DESTINATIONS_ADD_SERVICE:"/settings/event-destinations/add/:service",TIERS:"/settings/tiers",TIERS_ADD:"/settings/tiers/add",TIERS_ADD_SERVICE:"/settings/tiers/add/:service",SITE_REPLICATION:"/settings/site-replication",SITE_REPLICATION_STATUS:"/settings/site-replication/status",SITE_REPLICATION_ADD:"/settings/site-replication/add"},i={[r.BUCKET_OWNER]:[o.S3_PUT_OBJECT,o.S3_PUT_ACTIONS,o.S3_DELETE_OBJECT],[r.BUCKET_VIEWER]:[o.S3_LIST_BUCKET,o.S3_ALL_LIST_BUCKET],[r.BUCKET_ADMIN]:[o.S3_ALL_ACTIONS,o.ADMIN_ALL_ACTIONS,o.S3_REPLICATE_OBJECT,o.S3_REPLICATE_DELETE,o.S3_REPLICATE_TAGS,o.S3_GET_OBJECT_VERSION_FOR_REPLICATION,o.S3_PUT_REPLICATION_CONFIGURATION,o.S3_GET_REPLICATION_CONFIGURATION,o.S3_GET_BUCKET_VERSIONING,o.S3_PUT_BUCKET_VERSIONING,o.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION,o.S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION,o.S3_DELETE_OBJECT_TAGGING,o.S3_PUT_OBJECT_TAGGING,o.S3_GET_OBJECT_TAGGING,o.S3_PUT_OBJECT_VERSION_TAGGING,o.S3_DELETE_OBJECT_VERSION_TAGGING,o.S3_DELETE_OBJECT_VERSION,o.S3_GET_OBJECT_VERSION_TAGGING,o.S3_GET_OBJECT_VERSION,o.S3_PUT_BUCKET_TAGGING,o.S3_GET_BUCKET_TAGGING,o.S3_PUT_BUCKET_OBJECT_LOCK_CONFIGURATION,o.S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION,o.S3_PUT_OBJECT_LEGAL_HOLD,o.S3_GET_OBJECT_LEGAL_HOLD,o.S3_GET_OBJECT_RETENTION,o.S3_PUT_OBJECT_RETENTION,o.S3_BYPASS_GOVERNANCE_RETENTION,o.S3_PUT_BUCKET_POLICY,o.S3_PUT_BUCKET_NOTIFICATIONS,o.S3_GET_LIFECYCLE_CONFIGURATION,o.S3_PUT_LIFECYCLE_CONFIGURATION,o.S3_LIST_MULTIPART_UPLOAD_PARTS,o.S3_LISTEN_BUCKET_NOTIFICATIONS,o.S3_LISTEN_NOTIFICATIONS,o.S3_LIST_BUCKET_MULTIPART_UPLOADS,o.S3_LIST_BUCKET_VERSIONS,o.S3_GET_BUCKET_POLICY_STATUS,o.S3_LIST_ALL_MY_BUCKETS,o.S3_HEAD_BUCKET,o.S3_GET_BUCKET_POLICY,o.S3_GET_BUCKET_NOTIFICATIONS,o.S3_GET_BUCKET_LOCATION,o.S3_DELETE_BUCKET_POLICY,o.S3_FORCE_DELETE_BUCKET,o.S3_DELETE_BUCKET,o.S3_CREATE_BUCKET,o.S3_ABORT_MULTIPART_UPLOAD,o.ADMIN_GET_POLICY,o.ADMIN_LIST_USER_POLICIES,o.ADMIN_LIST_USERS,o.ADMIN_HEAL,o.S3_GET_ACTIONS,o.S3_PUT_ACTIONS],[r.BUCKET_LIFECYCLE]:[o.S3_GET_LIFECYCLE_CONFIGURATION,o.S3_PUT_LIFECYCLE_CONFIGURATION,o.S3_GET_ACTIONS,o.S3_PUT_ACTIONS,o.ADMIN_LIST_TIERS,o.ADMIN_SET_TIER]},s={[a.ADD_BUCKETS]:[o.S3_CREATE_BUCKET],[a.BUCKETS_EDIT_REPLICATION]:[...i[r.BUCKET_ADMIN]],[a.BUCKETS_ADD_REPLICATION]:[...i[r.BUCKET_ADMIN]],[a.BUCKETS_ADMIN_VIEW]:[...i[r.BUCKET_ADMIN]],[a.OBJECT_BROWSER_VIEW]:[...i[r.BUCKET_OWNER],...i[r.BUCKET_VIEWER]],[a.GROUPS]:[o.ADMIN_LIST_GROUPS,o.ADMIN_ADD_USER_TO_GROUP],[a.GROUPS_VIEW]:[o.ADMIN_GET_GROUP,o.ADMIN_DISABLE_GROUP,o.ADMIN_ENABLE_GROUP,o.ADMIN_REMOVE_USER_FROM_GROUP,o.ADMIN_LIST_USER_POLICIES,o.ADMIN_ADD_USER_TO_GROUP,o.ADMIN_ATTACH_USER_OR_GROUP_POLICY],[a.GROUPS_ADD]:[o.ADMIN_LIST_USERS,o.ADMIN_CREATE_USER],[a.USERS]:[o.ADMIN_LIST_USERS,o.ADMIN_CREATE_USER],[a.USERS_VIEW]:[o.ADMIN_GET_USER,o.ADMIN_ADD_USER_TO_GROUP,o.ADMIN_ENABLE_USER,o.ADMIN_DISABLE_USER,o.ADMIN_DELETE_USER],[a.USER_SA_ACCOUNT_ADD]:[o.ADMIN_CREATE_SERVICEACCOUNT,o.ADMIN_UPDATE_SERVICEACCOUNT,o.ADMIN_REMOVE_SERVICEACCOUNT,o.ADMIN_LIST_SERVICEACCOUNTS],[a.USER_ADD]:[o.ADMIN_CREATE_USER],[a.ACCOUNT_ADD]:[o.ADMIN_CREATE_SERVICEACCOUNT],[a.DASHBOARD]:[o.ADMIN_SERVER_INFO],[a.POLICIES_VIEW]:[o.ADMIN_DELETE_POLICY,o.ADMIN_LIST_GROUPS,o.ADMIN_GET_GROUP,o.ADMIN_GET_POLICY,o.ADMIN_CREATE_POLICY],[a.POLICIES]:[o.ADMIN_LIST_USER_POLICIES,o.ADMIN_CREATE_POLICY],[a.POLICY_ADD]:[o.ADMIN_CREATE_POLICY],[a.SETTINGS]:[o.ADMIN_CONFIG_UPDATE],[a.SETTINGS_VIEW]:[o.ADMIN_CONFIG_UPDATE],[a.EVENT_DESTINATIONS_ADD_SERVICE]:[o.ADMIN_SERVER_INFO,o.ADMIN_CONFIG_UPDATE],[a.EVENT_DESTINATIONS_ADD]:[o.ADMIN_SERVER_INFO,o.ADMIN_CONFIG_UPDATE],[a.EVENT_DESTINATIONS]:[o.ADMIN_SERVER_INFO,o.ADMIN_CONFIG_UPDATE],[a.TIERS]:[o.ADMIN_LIST_TIERS],[a.TIERS_ADD]:[o.ADMIN_SET_TIER,o.ADMIN_LIST_TIERS],[a.TIERS_ADD_SERVICE]:[o.ADMIN_SET_TIER,o.ADMIN_LIST_TIERS],[a.TOOLS]:[o.S3_LISTEN_NOTIFICATIONS,o.S3_LISTEN_BUCKET_NOTIFICATIONS,o.ADMIN_GET_CONSOLE_LOG,o.ADMIN_SERVER_TRACE,o.ADMIN_HEAL,o.ADMIN_HEALTH_INFO,o.ADMIN_SERVER_INFO],[a.TOOLS_LOGS]:[o.ADMIN_GET_CONSOLE_LOG],[a.TOOLS_AUDITLOGS]:[o.ADMIN_HEALTH_INFO],[a.TOOLS_WATCH]:[o.S3_LISTEN_NOTIFICATIONS,o.S3_LISTEN_BUCKET_NOTIFICATIONS],[a.TOOLS_TRACE]:[o.ADMIN_SERVER_TRACE],[a.TOOLS_DIAGNOSTICS]:[o.ADMIN_HEALTH_INFO,o.ADMIN_SERVER_INFO],[a.TOOLS_SPEEDTEST]:[o.ADMIN_HEALTH_INFO],[a.REGISTER_SUPPORT]:[o.ADMIN_SERVER_INFO,o.ADMIN_CONFIG_UPDATE],[a.CALL_HOME]:[o.ADMIN_HEALTH_INFO],[a.PROFILE]:[o.ADMIN_HEALTH_INFO],[a.SUPPORT_INSPECT]:[o.ADMIN_HEALTH_INFO],[a.LICENSE]:[o.ADMIN_SERVER_INFO,o.ADMIN_CONFIG_UPDATE],[a.SITE_REPLICATION]:[o.ADMIN_SERVER_INFO,o.ADMIN_CONFIG_UPDATE],[a.SITE_REPLICATION_STATUS]:[o.ADMIN_SERVER_INFO,o.ADMIN_CONFIG_UPDATE],[a.SITE_REPLICATION_ADD]:[o.ADMIN_SERVER_INFO,o.ADMIN_CONFIG_UPDATE],[a.KMS]:[o.KMS_ALL_ACTIONS],[a.KMS_STATUS]:[o.KMS_ALL_ACTIONS,o.KMS_STATUS],[a.KMS_KEYS]:[o.KMS_ALL_ACTIONS,o.KMS_CREATE_KEY,o.KMS_DELETE_KEY,o.KMS_LIST_KEYS,o.KMS_IMPORT_KEY,o.KMS_KEY_STATUS],[a.KMS_KEYS_ADD]:[o.KMS_LIST_KEYS,o.KMS_CREATE_KEY],[a.KMS_KEYS_IMPORT]:[o.KMS_LIST_KEYS,o.KMS_IMPORT_KEY],[a.IDP_LDAP_CONFIGURATIONS]:[o.ADMIN_ALL_ACTIONS,o.ADMIN_CONFIG_UPDATE],[a.IDP_OPENID_CONFIGURATIONS]:[o.ADMIN_ALL_ACTIONS,o.ADMIN_CONFIG_UPDATE],[a.IDP_OPENID_CONFIGURATIONS_ADD]:[o.ADMIN_ALL_ACTIONS,o.ADMIN_CONFIG_UPDATE],[a.IDP_OPENID_CONFIGURATIONS_VIEW]:[o.ADMIN_ALL_ACTIONS,o.ADMIN_CONFIG_UPDATE]},l="arn:aws:s3:::*",c="console-ui",u=(e,t)=>"You require additional permissions in order to "+t+". Please ask your MinIO administrator to grant you "+e.join(", ").toString()+" permission"+(e.length>1?"s":"")+" in order to "+t+".",d=[o.ADMIN_LIST_USERS],p=[o.ADMIN_ADD_USER_TO_GROUP],h=[o.ADMIN_DELETE_USER],m=[o.ADMIN_ENABLE_USER],f=[o.ADMIN_DISABLE_USER],g=[o.ADMIN_LIST_USER_POLICIES,o.ADMIN_LIST_USERS,o.ADMIN_ADD_USER_TO_GROUP,o.ADMIN_REMOVE_USER_FROM_GROUP,o.ADMIN_ATTACH_USER_OR_GROUP_POLICY,o.ADMIN_LIST_USERS,o.ADMIN_DELETE_USER,o.ADMIN_ENABLE_USER,o.ADMIN_DISABLE_USER,o.ADMIN_GET_USER,o.ADMIN_LIST_USER_POLICIES],b=[o.ADMIN_ATTACH_USER_OR_GROUP_POLICY,o.ADMIN_LIST_USER_POLICIES,o.ADMIN_GET_POLICY],y=[o.ADMIN_ADD_USER_TO_GROUP,o.ADMIN_REMOVE_USER_FROM_GROUP,o.ADMIN_LIST_GROUPS,o.ADMIN_ENABLE_USER],v=[o.ADMIN_GET_GROUP],E=[o.ADMIN_ENABLE_USER,o.ADMIN_DISABLE_USER],w=[o.ADMIN_LIST_SERVICEACCOUNTS,o.ADMIN_UPDATE_SERVICEACCOUNT,o.ADMIN_REMOVE_SERVICEACCOUNT],S=[o.ADMIN_ATTACH_USER_OR_GROUP_POLICY,o.ADMIN_LIST_USER_POLICIES],A=[o.ADMIN_REMOVE_USER_FROM_GROUP],_=[o.ADMIN_LIST_GROUPS],T=[o.ADMIN_ADD_USER_TO_GROUP,o.ADMIN_LIST_USERS],C=[o.ADMIN_GET_USER,o.ADMIN_LIST_USERS],x=[o.ADMIN_ADD_USER_TO_GROUP,o.ADMIN_LIST_USERS],I=[o.ADMIN_ATTACH_USER_OR_GROUP_POLICY,o.ADMIN_LIST_USER_POLICIES],O=[o.ADMIN_GET_POLICY],k=[o.ADMIN_ENABLE_GROUP,o.ADMIN_DISABLE_GROUP],N=[o.ADMIN_CREATE_POLICY],R=[o.ADMIN_DELETE_POLICY],M=[o.ADMIN_LIST_USER_POLICIES],L=[o.ADMIN_LIST_GROUPS,o.ADMIN_GET_GROUP],D=[o.S3_DELETE_BUCKET,o.S3_FORCE_DELETE_BUCKET],P=[o.S3_LIST_BUCKET,o.S3_ALL_LIST_BUCKET]},20649:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});var r=n(56797),o=n.n(r),a=n(33097),i=n.n(a),s=n(56483),l=n(64710);const c=new class{invoke(e,t,n,r){let a=t;"/"===a[0]&&(a=a.slice(1));let i=o()(e,a);if(r)for(let o in r)i.set(o,r[o]);return i.send(n).then((e=>e.body)).catch((e=>401===e.status&&localStorage.getItem("userLoggedIn")&&!a.includes("api/v1/login")?("/"!==window.location.pathname&&localStorage.setItem("redirect-path",window.location.pathname),(0,s.q7)(),void(window.location.href="".concat(l.p,"login"))):this.onError(e)))}onError(e){if(e.status){const t=i()(e.response,"body.message","Error ".concat(e.status.toString()));let n=i()(e.response,"body.detailedMessage","");t===n&&(n="");const r={errorMessage:t.charAt(0).toUpperCase()+t.slice(1),detailedError:n.charAt(0).toUpperCase()+n.slice(1),statusCode:e.status};return Promise.reject(r)}(0,s.q7)(),window.location.href="".concat(l.p,"login")}}},56483:(e,t,n)=>{"use strict";n.d(t,{$f:()=>N,Af:()=>T,GT:()=>S,K7:()=>b,MD:()=>i,OT:()=>x,Tw:()=>M,UM:()=>I,Wi:()=>A,Yj:()=>d,cj:()=>h,dq:()=>C,eQ:()=>v,h4:()=>_,hr:()=>y,l9:()=>m,nO:()=>c,oK:()=>k,q5:()=>f,q7:()=>p,qO:()=>u,qf:()=>R,yz:()=>w,zv:()=>O});var r=n(19816),o=n(33097),a=n.n(o);const i=["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],s=["Ki","Mi","Gi","Ti","Pi","Ei"],l=["B",...s],c=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=parseInt(e,10)||0;return u(n,t)},u=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=0;for(;e>=1024&&++n;)e/=1024;const r=["B",...s];return e.toFixed(1)+" "+(t?r[n]:i[n])},d=e=>{document.cookie=e+"=; expires=Thu, 01 Jan 1970 00:00:01 GMT;"},p=()=>{r.Ay.removeItem("token"),r.Ay.removeItem("auth-state"),d("token"),d("idp-refresh-token")},h=e=>{let t=e.getHours()<10?"0".concat(e.getHours()):"".concat(e.getHours()),n=e.getMinutes()<10?"0".concat(e.getMinutes()):"".concat(e.getMinutes()),r=e.getSeconds()<10?"0".concat(e.getSeconds()):"".concat(e.getSeconds());return"".concat(t,":").concat(n,":").concat(r,":").concat(e.getMilliseconds())},m=e=>s.filter((t=>!e||!e.includes(t))).map((e=>({label:e,value:e}))),f=function(e,t){return g(e,t,arguments.length>2&&void 0!==arguments[2]&&arguments[2]).toString(10)},g=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const r=parseFloat(e),o=(n?l:i).findIndex((e=>e===t));if(-1===o)return 0;return r*Math.pow(1024,o)},b=e=>{const t=Math.floor(e/86400),n=Math.floor(e%86400/3600),r=Math.floor(e%3600/60),o=e%60,a=[];return t>0&&a.push("".concat(t," day").concat(1!==t?"s":"")),n>0&&a.push("".concat(n," hour").concat(1!==n?"s":"")),r>0&&a.push("".concat(r," minute").concat(1!==r?"s":"")),o>0&&a.push("".concat(o," second").concat(1!==o?"s":"")),a.join(" and ")},y=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"s",n=parseFloat(e);return v(n,t)},v=function(e){switch(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"s"){case"ns":e=Math.floor(1e-9*e);break;case"ms":e=Math.floor(.001*e)}const t=Math.floor(e/86400);e-=3600*t*24;const n=Math.floor(e/3600);e-=3600*n;const r=Math.floor(e/60);if(e-=60*r,t>365){const e=t/365;return"".concat(e," year").concat(1===Math.floor(e)?"":"s")}if(t>30){const e=Math.floor(t/30),n=t-30*e;return"".concat(e," month").concat(1===Math.floor(e)?"":"s"," ").concat(n>0?"".concat(n," day").concat(n>1?"s":""):"")}if(t>=7&&t<=30){const e=Math.floor(t/7);return"".concat(Math.floor(e)," week").concat(1===e?"":"s")}return t>=1&&t<=6?"".concat(t," day").concat(t>1?"s":""):"".concat(n>=1?"".concat(n," hour").concat(n>1?"s":""):""," ").concat(r>=1&&0===n?"".concat(r," minute").concat(r>1?"s":""):""," ").concat(e>=1&&0===r&&0===n?"".concat(e," second").concat(e>1?"s":""):"")},E=e=>"".concat(e<10?"0":"").concat(e),w=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const r=parseInt(e);if(isNaN(r))return"";const o=new Date(1e3*r);return t?n?"".concat(E(o.getMonth()+1),"/").concat(E(o.getDate())," ").concat(E(o.getHours()),":").concat(E(o.getMinutes())):o.toLocaleString():"".concat(o.getHours(),":").concat(String(o.getMinutes()).padStart(2,"0"))},S=function(e){let t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(t="string"===typeof e?parseInt(e,10):e,0===t)return{total:0,unit:i[0]};const a=Math.floor(Math.log(t)/Math.log(1024)),s=n?1:0,c=t/Math.pow(1024,a),u=r?Math.floor(c):c;return{total:parseFloat(u.toFixed(s)),unit:o?l[a]:i[a]}},A=e=>{const t=1e-9*e,n=Math.round(1e4*(t+Number.EPSILON))/1e4;return"".concat(n," s")},_=e=>{const t=(100*e.split("").reduce(((e,t)=>e+t.charCodeAt(0)+((e<<5)-e)),0)&16777215).toString(16).toUpperCase();return"#".concat(t.padStart(6,"0"))},T=e=>void 0===e?0:e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,","),C=e=>{if(void 0===e)return"0";let t=e.toString(),n="";return e>999&&e<1e6?(t=(e/1e3).toFixed(1),n="K"):e>=1e6&&e<1e9?(t=(e/1e6).toFixed(1),n="M"):e>=1e9&&(t=(e/1e9).toFixed(1),n="B"),t.endsWith(".0")&&(t=t.slice(0,-2)),"".concat(t).concat(n)},x=(e,t)=>{const n=document.createElement("a");n.href=window.URL.createObjectURL(e),n.download=t,document.body.appendChild(n),n.click(),document.body.removeChild(n)},I=e=>{var t;return(null===(t=document.cookie.match("(^|;)\\s*"+e+"\\s*=\\s*([^;]+)"))||void 0===t?void 0:t.pop())||""},O=(e,t)=>{const n=100*e/t;return n>=90?"#C83B51":n>=70?"#FFAB0F":"#07193E"},k=()=>{const e=a()(window.navigator,"platform","undefined");return e||"undefined"},N=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16,t="",n="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";for(let r=0;re.split("\u202e").join("<\ufffd202e>"),M=e=>{try{return decodeURIComponent(e)}catch(t){return e}}},14558:(e,t,n)=>{"use strict";var r;n.d(t,{RV:()=>i,vP:()=>a,vf:()=>s});const o=(null===(r=document.head.querySelector("[name~=minio-license][content]"))||void 0===r?void 0:r.content)||"AGPL",a=()=>{let e="AGPL";switch(o.toLowerCase()){case"enterprise-lite":case"enterprise-plus":e="enterpriseos";break;case"enterprise":e="enterprise";break;case"standard":e="standard";break;default:e="AGPL"}return e},i=()=>{switch(o.toLowerCase()){case"enterprise-lite":case"enterprise-plus":return"minio";default:return"console"}},s=()=>{const e=a();return["standard","enterprise","enterpriseos"].includes(e||"AGPL")}},64710:(e,t,n)=>{"use strict";n.d(t,{p:()=>r});const r=new URL(document.baseURI).pathname},39947:(e,t,n)=>{"use strict";n.d(t,{$T:()=>a,Ay:()=>c,Nx:()=>s,ZU:()=>i,fT:()=>l});const r=(0,n(80907).Z0)({name:"bucketDetails",initialState:{selectedTab:"summary",loadingBucket:!1,bucketInfo:null},reducers:{setBucketDetailsTab:(e,t)=>{e.selectedTab=t.payload},setBucketDetailsLoad:(e,t)=>{e.loadingBucket=t.payload},setBucketInfo:(e,t)=>{e.bucketInfo=t.payload}}}),{setBucketDetailsTab:o,setBucketInfo:a,setBucketDetailsLoad:i}=r.actions,s=e=>e.bucketDetails.loadingBucket,l=e=>e.bucketDetails.bucketInfo,c=r.reducer},43596:(e,t,n)=>{"use strict";n.d(t,{_:()=>i});var r=n(56483),o=n(80907),a=n(56629);const i=(0,o.zD)("buckets/addBucketAsync",(async(e,t)=>{let{getState:n,rejectWithValue:o,dispatch:i}=t;const s=n(),l=s.addBucket.name,c=s.addBucket.versioningEnabled,u=s.addBucket.lockingEnabled,d=s.addBucket.quotaEnabled,p=s.addBucket.quotaSize,h=s.addBucket.quotaUnit,m=s.addBucket.retentionEnabled,f=s.addBucket.retentionMode,g=s.addBucket.retentionUnit,b=s.addBucket.retentionValidity,y=s.system.distributedSetup,v=s.system.siteReplicationInfo,E=s.addBucket.excludeFolders,w=s.addBucket.excludedPrefixes;let S={name:l,versioning:{enabled:!(!y||v.enabled)&&c,excludePrefixes:!y||v.enabled||u?[]:w.split(",").filter((e=>""!==e.trim())),excludeFolders:!(!y||v.enabled||u)&&E},locking:!!y&&u};if(y){if(d){const e=(0,r.q5)(p,h,!0);S.quota={enabled:!0,quota_type:"hard",amount:parseInt(e)}}m&&(S.retention={mode:f,unit:g,validity:b})}return a.F.buckets.makeBucket(S)}))},57676:(e,t,n)=>{"use strict";n.d(t,{A1:()=>h,Ay:()=>S,E2:()=>f,JW:()=>y,N2:()=>p,Og:()=>b,SO:()=>d,VB:()=>g,VY:()=>v,Xb:()=>c,i:()=>l,pw:()=>E,rS:()=>m,tr:()=>u,uQ:()=>w});var r=n(80907),o=n(43596),a=n(85330);const i={loading:!1,isDirty:!1,invalidFields:[],name:"",versioningEnabled:!1,lockingEnabled:!1,lockingFieldDisabled:!1,quotaEnabled:!1,quotaSize:"1",quotaUnit:"Ti",retentionEnabled:!1,retentionMode:a.BT.Compliance,retentionUnit:"days",retentionValidity:180,navigateTo:"",excludeFolders:!1,excludedPrefixes:""},s=(0,r.Z0)({name:"addBuckets",initialState:i,reducers:{setIsDirty:(e,t)=>{e.isDirty=t.payload},setName:(e,t)=>{e.name=t.payload,""===e.name.trim()?e.invalidFields=[...e.invalidFields,"name"]:e.invalidFields=e.invalidFields.filter((e=>"name"!==e))},setVersioning:(e,t)=>{e.versioningEnabled=t.payload,e.versioningEnabled&&e.retentionEnabled||(e.retentionEnabled=!1,e.retentionMode=a.BT.Compliance,e.retentionUnit="days",e.retentionValidity=180)},setExcludeFolders:(e,t)=>{e.excludeFolders=t.payload},setExcludedPrefixes:(e,t)=>{e.excludedPrefixes=t.payload},setEnableObjectLocking:(e,t)=>{e.lockingEnabled=t.payload},setQuota:(e,t)=>{e.quotaEnabled=t.payload,t.payload||(e.quotaSize="1",e.quotaUnit="Ti",e.invalidFields=e.invalidFields.filter((e=>"quotaSize"!==e)))},setQuotaSize:(e,t)=>{e.quotaSize=t.payload,e.quotaEnabled&&(""!==e.quotaSize.trim()&&0!==parseInt(e.quotaSize)&&/^\d*(?:\.\d{1,2})?$/.test(e.quotaSize)?e.invalidFields=e.invalidFields.filter((e=>"quotaSize"!==e)):e.invalidFields=[...e.invalidFields,"quotaSize"])},setQuotaUnit:(e,t)=>{e.quotaUnit=t.payload},setRetention:(e,t)=>{e.retentionEnabled=t.payload,e.versioningEnabled&&e.retentionEnabled||(e.retentionEnabled=!1,e.retentionMode=a.BT.Compliance,e.retentionUnit="days",e.retentionValidity=180),e.retentionEnabled?(e.lockingEnabled=!0,e.lockingFieldDisabled=!0):e.lockingFieldDisabled=!1,e.retentionEnabled&&(Number.isNaN(e.retentionValidity)||e.retentionValidity<1)?e.invalidFields=[...e.invalidFields,"retentionValidity"]:e.invalidFields=e.invalidFields.filter((e=>"retentionValidity"!==e))},setRetentionMode:(e,t)=>{e.retentionMode=t.payload},setRetentionUnit:(e,t)=>{e.retentionUnit=t.payload},setRetentionValidity:(e,t)=>{e.retentionValidity=t.payload,e.retentionEnabled&&(Number.isNaN(e.retentionValidity)||e.retentionValidity<1)?e.invalidFields=[...e.invalidFields,"retentionValidity"]:e.invalidFields=e.invalidFields.filter((e=>"retentionValidity"!==e))},resetForm:e=>i},extraReducers:e=>{e.addCase(o._.pending,(e=>{e.loading=!0})).addCase(o._.rejected,(e=>{e.loading=!1})).addCase(o._.fulfilled,((e,t)=>{e.loading=!1,e.navigateTo=t.payload.data.bucketName?"/buckets":"/buckets/".concat(t.payload.data.bucketName,"/admin")}))}}),{setName:l,setIsDirty:c,setVersioning:u,setEnableObjectLocking:d,setQuota:p,setQuotaSize:h,setQuotaUnit:m,resetForm:f,setRetention:g,setRetentionMode:b,setRetentionUnit:y,setRetentionValidity:v,setExcludedPrefixes:E,setExcludeFolders:w}=s.actions,S=s.reducer},93445:(e,t,n)=>{"use strict";n.d(t,{RG:()=>d,Fj:()=>u,W3:()=>f,IZ:()=>h,$w:()=>m});var r,o=n(37414),a=n(21383),i=n(85330),s=n(56629),l=n(64159);!function(e){e[e.CONTINUE=100]="CONTINUE",e[e.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",e[e.PROCESSING=102]="PROCESSING",e[e.EARLY_HINTS=103]="EARLY_HINTS",e[e.OK=200]="OK",e[e.CREATED=201]="CREATED",e[e.ACCEPTED=202]="ACCEPTED",e[e.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",e[e.NO_CONTENT=204]="NO_CONTENT",e[e.RESET_CONTENT=205]="RESET_CONTENT",e[e.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",e[e.MULTI_STATUS=207]="MULTI_STATUS",e[e.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",e[e.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",e[e.MOVED_TEMPORARILY=302]="MOVED_TEMPORARILY",e[e.SEE_OTHER=303]="SEE_OTHER",e[e.NOT_MODIFIED=304]="NOT_MODIFIED",e[e.USE_PROXY=305]="USE_PROXY",e[e.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",e[e.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",e[e.BAD_REQUEST=400]="BAD_REQUEST",e[e.UNAUTHORIZED=401]="UNAUTHORIZED",e[e.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",e[e.FORBIDDEN=403]="FORBIDDEN",e[e.NOT_FOUND=404]="NOT_FOUND",e[e.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",e[e.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",e[e.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",e[e.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",e[e.CONFLICT=409]="CONFLICT",e[e.GONE=410]="GONE",e[e.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",e[e.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",e[e.REQUEST_TOO_LONG=413]="REQUEST_TOO_LONG",e[e.REQUEST_URI_TOO_LONG=414]="REQUEST_URI_TOO_LONG",e[e.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",e[e.REQUESTED_RANGE_NOT_SATISFIABLE=416]="REQUESTED_RANGE_NOT_SATISFIABLE",e[e.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",e[e.IM_A_TEAPOT=418]="IM_A_TEAPOT",e[e.INSUFFICIENT_SPACE_ON_RESOURCE=419]="INSUFFICIENT_SPACE_ON_RESOURCE",e[e.METHOD_FAILURE=420]="METHOD_FAILURE",e[e.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",e[e.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",e[e.LOCKED=423]="LOCKED",e[e.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",e[e.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",e[e.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",e[e.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",e[e.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",e[e.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",e[e.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",e[e.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",e[e.BAD_GATEWAY=502]="BAD_GATEWAY",e[e.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",e[e.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",e[e.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",e[e.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",e[e.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"}(r||(r={}));const c=(e,t)=>{const n=document.createElement("a");n.href=e,n.download=t,document.body.appendChild(n),n.click(),document.body.removeChild(n)},u=async(e,t,n)=>{const r=a.Ay.getState().system.anonymousMode;try{const o=await s.F.buckets.downloadMultipleObjects(e,t,{type:i.cM.Json,headers:r?{"X-Anonymous":"1"}:void 0}),a=await o.blob(),l=window.URL.createObjectURL(a);c(l,n)}catch(o){a.Ay.dispatch((0,l.C9)({errorMessage:"Download of multiple files failed. ".concat(o.statusText),detailedError:""}))}},d=function(e,t,n,i){let s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,l=arguments.length>5?arguments[5]:void 0,u=arguments.length>6?arguments[6]:void 0,d=arguments.length>7?arguments[7]:void 0,h=arguments.length>8?arguments[8]:void 0,m=arguments.length>9?arguments[9]:void 0,f=arguments.length>10?arguments[10]:void 0,g=document.baseURI.replace(window.location.origin,"");const b=a.Ay.getState().system.anonymousMode;let y="".concat(window.location.origin).concat(g,"api/v1/buckets/").concat(encodeURIComponent(e),"/objects/download?prefix=").concat(encodeURIComponent(t)).concat(null!==s&&""!==s.trim()?"&override_file_name=".concat(encodeURIComponent(s||"")):"");if(n&&(y=y.concat("&version_id=".concat(n))),i>53687091200)return new p(y,l,d,f);let v=new XMLHttpRequest;return v.open("GET",y,!0),b&&v.setRequestHeader("X-Anonymous","1"),v.addEventListener("progress",(function(e){let t=Math.round(e.loaded/i*100);u&&u(t)}),!1),v.responseType="blob",v.onreadystatechange=()=>{if(v.readyState===XMLHttpRequest.DONE){let e=(e=>e.endsWith("/"))(t)||v.response.size===i;if(v.status===r.OK&&e){const e=v.getResponseHeader("Content-Disposition");let t="download";if(e){t=decodeURIComponent(e).split('"')[1]}d&&d(),(0,o.vy)(l),c(window.URL.createObjectURL(v.response),t)}else{if("application/json"===v.getResponseHeader("Content-Type")){const e=JSON.parse(v.response);if(e.detailedMessage)return void h(e.detailedMessage)}h("Unexpected response, download incomplete.")}}},v.onerror=()=>{h&&h("A network error occurred.")},v.onabort=()=>{m&&m()},v};class p{constructor(e,t,n,r){this.path=void 0,this.id=void 0,this.completeCallback=void 0,this.toastCallback=void 0,this.path=e,this.id=t,this.completeCallback=n,this.toastCallback=r}send(){this.toastCallback();const e=document.createElement("a");e.href=this.path,document.body.appendChild(e),e.click(),document.body.removeChild(e),this.completeCallback(),(0,o.vy)(this.id)}}const h=(e,t)=>{const n=(e&&e["Content-Type"]||"").toString(),r=(e=>{let t=e.split(".").pop();return t?(t=t.toLowerCase(),["jif","jfif","apng","avif","svg","webp","bmp","ico","jpg","jpe","jpeg","gif","png","heic"].includes(t)?"image":["pdf"].includes(t)?"pdf":["wav","mp3","alac","aiff","dsd","pcm"].includes(t)?"audio":["mp4","avi","mpg","webm","mov","flv","mkv","wmv","avchd","mpeg-4"].includes(t)?"video":"none"):"none"})(t||""),o=(e=>{if(e){const t=(e||"").toLowerCase();if(t.includes("image"))return"image";if(t.includes("pdf"))return"pdf";if(t.includes("audio"))return"audio";if(t.includes("video"))return"video"}return"none"})(n);let a=r;return r===o?a=r:"none"===r&&"none"!==o?a=o:"none"===o&&"none"!==r&&(a=r),a},m=e=>{switch(e){case"name":return(e,t)=>e.name.localeCompare(t.name);case"last_modified":return(e,t)=>new Date(e.last_modified).getTime()-new Date(t.last_modified).getTime();case"size":return(e,t)=>(e.size||-1)-(t.size||-1)}},f=(e,t,n)=>{if(0===n.length)return null;const r=n.filter((t=>{var n,r;return(null===(n=t.resource)||void 0===n?void 0:n.endsWith(":".concat(e)))||(null===(r=t.resource)||void 0===r?void 0:r.includes(":".concat(e,"/")))}));if(0===r.length)return null;let o=[];const a=t.split("/");if(r.forEach((e=>{var n;const r=null===(n=e.resource)||void 0===n?void 0:n.split(":"),i=((null===r||void 0===r?void 0:r.pop())||"").split("/");var s;(i.length>1&&i.every(((e,t)=>"*"!==e&&((!a[t]||a[t]===e)&&(a[t]||o.push({name:"".concat(e,"/"),size:0,last_modified:"",version_id:""}),!0)))),"StringEquals"===e.conditionOperator||"StringLike"===e.conditionOperator)&&(null===(s=e.prefixes)||void 0===s||s.forEach((e=>{if(""!==e){const n=e.split("/");let r=[];const i=t.replace(/\/$/,"");if(!e.startsWith(i)&&""!==t)return;n.every(((e,t)=>!e.includes("*")&&""!==e&&(e!==a[t]?(o.push({name:"".concat(r.join("/")).concat(r.length>0?"/":"").concat(e,"/"),size:0,last_modified:"",version_id:""}),!1):(""!==e&&r.push(e),!0))))}})))})),o.length>0){let e=[],t=[];o.forEach((n=>{t.includes(n.name)||(e.push(n),t.push(n.name))})),o=e}return o}},69772:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});n(65043);var r=n(89923),o=n(22166),a=n(70579);const i=e=>{let{marginRight:t,marginTop:i}=e,s=n(23498);const l=(0,o.d4)((e=>e.system.overrideStyles)),c=s((null===l||void 0===l?void 0:l.backgroundColor)||"#fff").getBrightness()<=128;return(0,a.jsx)(r.xA9,{sx:{"& svg":{width:105,marginRight:t,marginTop:i,fill:c?"#fff":"#081C42"}},children:(0,a.jsx)(r.xul,{})})}},77403:(e,t,n)=>{"use strict";n.d(t,{AF:()=>l,Uz:()=>p,VI:()=>u,_0:()=>s,a_:()=>i,h$:()=>d,mA:()=>h,yE:()=>c});var r=n(89923),o=n(33097),a=n.n(o);const i={formScrollable:{maxHeight:"calc(100vh - 300px)",overflowY:"auto",marginBottom:25},clearButton:{fontFamily:"Inter, sans-serif",border:"0",backgroundColor:"transparent",color:"#393939",fontWeight:600,fontSize:14,marginRight:10,outline:"0",padding:"16px 25px 16px 25px",cursor:"pointer"},configureString:{border:"#EAEAEA 1px solid",borderRadius:4,padding:"24px 50px",overflowY:"auto",height:170,backgroundColor:"#FBFAFA"}},s={actionsTray:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"1rem","& button":{flexGrow:0,marginLeft:8}}},l={iconContainer:{display:"flex",flexDirection:"row",maxWidth:1180,justifyContent:"start",flexWrap:"wrap",width:"100%"},logoButton:{height:"80px"},lambdaNotif:{background:"#ffffff50",border:"#E5E5E5 1px solid",borderRadius:5,width:250,height:80,display:"flex",alignItems:"center",justifyContent:"start",marginBottom:16,marginRight:8,cursor:"pointer",padding:0,overflow:"hidden","&:hover":{backgroundColor:"#ebebeb"}},lambdaNotifIcon:{background:"transparent",display:"flex",alignItems:"center",justifyContent:"center",width:80,height:80,"& img":{maxWidth:46,maxHeight:46}},lambdaNotifTitle:{color:"#07193E",fontSize:16,fontFamily:"Inter,sans-serif",paddingLeft:18}},c=e=>({"& .singleValueContainer":{height:200,border:"".concat(a()(e,"borderColor","#eaeaea")," 1px solid"),borderRadius:2,backgroundColor:a()(e,"bgColor","#fff"),padding:16},"& .titleContainer":{color:a()(e,"mutedText","#87888d"),fontSize:16,fontWeight:600,paddingBottom:14,marginBottom:5,display:"flex",justifyContent:"space-between"},"& .contentContainer":{justifyContent:"center",alignItems:"center",display:"flex",width:"100%",height:140},"& .singleLegendContainer":{display:"flex",alignItems:"center",padding:"0 10px",maxWidth:"100%"},"& .colorContainer":{width:8,height:8,minWidth:8,marginRight:5},"& .legendLabel":{fontSize:"80%",color:a()(e,"mutedText","#87888d"),whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},"& .zoomChartCont":{position:"relative",height:340,width:"100%"}}),u={customTooltip:{backgroundColor:"rgba(255, 255, 255, 0.90)",border:"#eaeaea 1px solid",borderRadius:3,padding:"5px 10px",maxHeight:300,overflowY:"auto"},labelContainer:{display:"flex",alignItems:"center"},labelColor:{width:6,height:6,display:"block",borderRadius:"100%",marginRight:5},itemValue:{fontSize:"75%",color:"#393939"},valueContainer:{fontWeight:600},timeStampTitle:{fontSize:"80%",color:"#9c9c9c",textAlign:"center",marginBottom:6}},d={formFieldRow:{marginBottom:".8rem","& .MuiInputLabel-root":{fontWeight:"normal"}}},p={modalButtonBar:{marginTop:15,display:"flex",alignItems:"center",justifyContent:"flex-end",gap:10},modalFormScrollable:{maxHeight:"calc(100vh - 300px)",overflowY:"auto",paddingTop:10}},h={display:"grid",gridTemplateColumns:"2fr 1fr",gridAutoFlow:"row",gap:10,["@media (max-width: ".concat(r.nmC.sm,"px)")]:{gridTemplateColumns:"1fr",gridAutoFlow:"dense"}}},25448:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(65043),o=n(20649);const a=(e,t)=>{const[n,a]=(0,r.useState)(!1);return[n,(n,r,i,s)=>{a(!0),o.A.invoke(n,r,i,s).then((t=>{a(!1),e(t)})).catch((e=>{a(!1),t(e)}))}]}},49555:(e,t,n)=>{"use strict";n.d(t,{A:()=>d});var r=n(65043),o=n(89923),a=n(22166),i=n(33097),s=n.n(i),l=n(21383),c=n(64159),u=n(70579);const d=e=>{let{isModal:t=!1}=e;const n=(0,l.jL)(),i=(0,a.d4)((e=>t?e.system.modalSnackBar:e.system.snackBar)),[d,p]=(0,r.useState)(!1),h=(0,r.useCallback)((()=>{p(!1)}),[]);(0,r.useEffect)((()=>{d||(n((0,c.C9)({detailedError:"",errorMessage:""})),n((0,c.h0)("")))}),[n,d]),(0,r.useEffect)((()=>{""!==i.message&&"error"===i.type&&p(!0)}),[h,i.message,i.type]);const m=s()(i,"message",""),f=s()(i,"detailedErrorMsg","");return"error"!==i.type||""===m?null:(0,u.jsx)(o.qb_,{onClose:h,open:d,variant:"error",message:f||"".concat(m,"."),autoHideDuration:10,closeButton:!0})}},58661:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(65043);var r=n(89923),o=n(70579);const a=e=>{let{isOpen:t=!1,onClose:n,onCancel:a,onConfirm:i,title:s="",isLoading:l,confirmationContent:c,cancelText:u="Cancel",confirmText:d="Confirm",confirmButtonProps:p,cancelButtonProps:h,titleIcon:m=null,confirmationButtonSimple:f=!1}=e;return(0,o.jsxs)(r.ngX,{title:s,titleIcon:m,onClose:n,open:t,customMaxWidth:510,children:[(0,o.jsx)(r.azJ,{children:c}),(0,o.jsxs)(r.azJ,{sx:{display:"flex",justifyContent:"flex-end",gap:10,marginTop:20},children:[(0,o.jsx)(r.$nd,{onClick:a||n,disabled:l,type:"button",...h,variant:"regular",id:"confirm-cancel",label:u}),(0,o.jsx)(r.$nd,{id:"confirm-ok",onClick:i,label:d,disabled:l,variant:"secondary",...p})]})]})}},96826:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>v});var r=n(65043),o=n(22166),a=n(21383),i=n(89923),s=n(18575),l=n(58387),c=n(37414),u=n(94574),d=n(33097),p=n.n(d),h=n(70579);const m=u.Ay.button((e=>{let{theme:t}=e;return{backgroundColor:"transparent",border:0,right:0,top:5,marginTop:15,position:"absolute",cursor:"pointer","& .closeIcon":{backgroundColor:p()(t,"buttons.regular.hover.background","#E6EAEB"),display:"block",width:18,height:18,borderRadius:"100%","&:hover":{backgroundColor:p()(t,"mutedText","#E9EDEE")},"&::before":{width:1,height:9,top:"50%",content:"' '",position:"absolute",transform:"translate(-50%, -50%) rotate(45deg)",borderLeft:"".concat(p()(t,"fontColor","#000")," 2px solid")},"&::after":{width:1,height:9,top:"50%",content:"' '",position:"absolute",transform:"translate(-50%, -50%) rotate(-45deg)",borderLeft:"".concat(p()(t,"fontColor","#000")," 2px solid")}}}})),f=u.Ay.div((e=>{let{theme:t}=e;return{display:"flex",alignItems:"center",width:"100%","span.headItem":{fontSize:14,fontWeight:"bold",width:270,whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden"},"& .iconContainer":{paddingTop:5,marginRight:5,"& svg":{width:16,height:16}},"& .completedSuccess":{color:p()(t,"signalColors.good","#4CCB92")},"& .inProgress":{color:p()(t,"signalColors.main","#2781B0")},"& .completedError":{color:p()(t,"signalColors.danger","#C83B51")},"& .cancelledAction":{color:p()(t,"signalColors.warning","#FFBD62")}}})),g=e=>{let{objectToDisplay:t,deleteFromList:n}=e;const o="".concat(t.prefix);return(0,h.jsx)(r.Fragment,{children:(0,h.jsxs)(i.azJ,{sx:{borderBottom:"#E2E2E2 1px solid",padding:"15px 5px",margin:"0 30px",position:"relative","& .showOnHover":{opacity:1,transitionDuration:"0.2s"},"&:hover":{"& .showOnHover":{opacity:1}}},className:100!==t.percentage?"inProgress":"",children:[(0,h.jsx)(i.azJ,{sx:{"& .closeButton":{backgroundColor:"transparent",border:0,right:0,top:5,marginTop:15,position:"absolute"}},children:(0,h.jsx)(m,{onClick:()=>{if(t.done)n(t.instanceID);else{const e=(0,c.OV)(t.ID);e&&e.abort()}},className:"closeButton hideOnProgress",children:(0,h.jsx)("span",{className:"closeIcon"})})}),(0,h.jsx)(i.azJ,{sx:{display:"flex",alignItems:"center"},children:(0,h.jsxs)(i.azJ,{sx:{width:295,"& .bucketName":{fontSize:12}},children:[(0,h.jsx)(i.m_M,{tooltip:o,placement:"top",children:(0,h.jsxs)(f,{children:[(0,h.jsx)("span",{className:(0,l.A)("iconContainer",{inProgress:!t.done&&!t.failed&&!t.cancelled,completedSuccess:t.done&&!t.failed&&!t.cancelled,completedError:t.failed,cancelledAction:t.cancelled}),children:t.cancelled?(0,h.jsx)(i.rXL,{}):(0,h.jsx)(r.Fragment,{children:t.failed?(0,h.jsx)(i.aaC,{}):(0,h.jsx)(r.Fragment,{children:t.done?(0,h.jsx)(i.xhy,{}):(0,h.jsx)(r.Fragment,{children:"download"===t.type?(0,h.jsx)(i.CB9,{}):(0,h.jsx)(i.VJE,{})})})})}),(0,h.jsx)("span",{className:"headItem ".concat(t.failed?"completedError":""),children:o})]})}),(0,h.jsxs)(i.azJ,{className:"muted bucketName",children:[(0,h.jsx)("strong",{children:"Bucket: "}),t.bucketName]})]})}),(0,h.jsx)(i.azJ,{sx:{marginTop:5},children:t.waitingForFile?(0,h.jsx)(s.A,{indeterminate:!0,value:0,ready:!1}):(0,h.jsx)(s.A,{value:t.percentage,ready:t.done,error:t.failed,cancelled:t.cancelled,withLabel:!0,notificationLabel:""!==t.errorMessage?t.errorMessage:""})})]})})};var b=n(6035),y=n(29977);const v=()=>{const e=(0,a.jL)(),t=(0,o.d4)((e=>e.objectBrowser.objectManager.objectsToManage)),n=(0,o.d4)((e=>e.objectBrowser.objectManager.managerOpen)),s=(0,o.d4)((e=>e.system.anonymousMode));return(0,h.jsx)(r.Fragment,{children:n&&(0,h.jsxs)(i.azJ,{sx:{boxShadow:"rgba(0, 0, 0, 0.08) 0 2px 10px",position:"absolute",right:20,top:62,width:400,overflowY:"hidden",overflowX:"hidden",borderRadius:3,zIndex:1e3,padding:0,height:0,transitionDuration:"0.3s",visibility:"hidden","&.open":{visibility:"visible",minHeight:400},"&.downloadContainerAnonymous":{top:70}},className:"".concat(s?"downloadContainerAnonymous":""," ").concat(n?"open":""),useBackground:!0,withBorders:!0,children:[(0,h.jsx)(i.azJ,{sx:{position:"absolute",right:28,top:25},children:(0,h.jsx)(i.m_M,{tooltip:"Clean Completed Objects",placement:"bottom",children:(0,h.jsx)(i.K0,{"aria-label":"Clear Completed List",onClick:()=>e((0,b.AE)()),children:(0,h.jsx)(i.TFC,{})})})}),(0,h.jsx)(i.azJ,{sx:{fontSize:16,fontWeight:"bold",textAlign:"left",paddingBottom:20,borderBottom:"#E2E2E2 1px solid",margin:"25px 30px 5px 30px"},children:"Downloads / Uploads"}),(0,h.jsx)(i.azJ,{sx:{overflowY:"auto",overflowX:"hidden",minHeight:250,maxHeight:335,height:"100%",width:"100%",display:"flex",flexDirection:"column"},children:(0,h.jsx)(y.A,{rowRenderFunction:function(n){return(0,h.jsx)(g,{objectToDisplay:t[n],deleteFromList:t=>e((0,b.EG)(t))})},totalItems:t.length,defaultHeight:110})})]})})}},59707:(e,t,n)=>{"use strict";n.d(t,{A:()=>h});var r=n(65043),o=n(94574),a=n(33097),i=n.n(a),s=n(89923),l=n(22166),c=n(6035),u=n(21383),d=n(70579);const p=o.Ay.div((e=>{let{theme:t}=e;return{position:"absolute",display:"block",width:15,height:15,top:0,right:4,marginTop:4,transitionDuration:"0.2s",color:i()(t,"signalColors.good","#32C787"),"& svg":{width:10,height:10,top:"50%",left:"50%",transitionDuration:"0.2s"},"&.newItem":{color:i()(t,"signalColors.info","#2781B0"),"& svg":{width:15,height:15}}}})),h=()=>{const e=(0,u.jL)(),t=(0,l.d4)((e=>e.objectBrowser.objectManager.objectsToManage)),n=(0,l.d4)((e=>e.objectBrowser.objectManager.newItems)),o=(0,l.d4)((e=>e.objectBrowser.objectManager.managerOpen)),[a,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{t.length>0&&!o&&(i(!0),setTimeout((()=>{i(!1)}),300))}),[t.length,o]),(0,d.jsx)(r.Fragment,{children:t&&t.length>0&&(0,d.jsx)(s.$nd,{"aria-label":"Refresh List",onClick:()=>{e((0,c.vv)())},icon:(0,d.jsxs)(r.Fragment,{children:[(0,d.jsx)(p,{className:a?"newItem":"",style:{opacity:t.length>0&&n?1:0},children:(0,d.jsx)(s.GQ2,{})}),(0,d.jsx)(s.W2Y,{style:{width:20,height:20,marginTop:-2}})]}),id:"object-manager-toggle",style:{position:"relative",padding:"0 10px"}})})}},48793:(e,t,n)=>{"use strict";n.d(t,{A:()=>h});var r=n(65043),o=n(89923),a=n(59707),i=n(6681),s=n(22166),l=n(21383),c=n(64159),u=n(33479),d=n(70579);const p=()=>{const e=(0,l.jL)(),t=(0,s.d4)((e=>e.system.darkMode));return(0,d.jsx)(i.A,{tooltip:"".concat(t?"Light":"Dark"," Mode"),children:(0,d.jsx)(o.$nd,{id:"dark-mode-activator",icon:t?(0,d.jsx)(o.LPG,{}):(0,d.jsx)(o.vmc,{}),onClick:()=>{const n=!!t;e((0,c.S8)(!n)),(0,u.vb)(n?"off":"on")}})})},h=e=>{let{label:t,actions:n,middleComponent:i}=e;return(0,d.jsx)(o.zYs,{label:t,actions:(0,d.jsxs)(r.Fragment,{children:[n,(0,d.jsx)(p,{}),(0,d.jsx)(a.A,{})]}),middleComponent:i})}},18575:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});n(65043);var r=n(89923),o=n(70579);function a(e){let t="";return e.error?t="Error: ".concat(e.notificationLabel||""):e.cancelled&&(t="Cancelled"),(0,o.jsx)(r.z21,{variant:"determinate",value:e.value,color:e.color,progressLabel:!0,notificationLabel:t})}const i=e=>{let t,{value:n,ready:i,indeterminate:s,withLabel:l,size:c="regular",error:u,cancelled:d,notificationLabel:p}=e;t=u?"red":d?"orange":100===n&&i?"green":"blue";const h={variant:!s||i||d?"determinate":"indeterminate",value:i&&!u?100:n,color:t,notificationLabel:p||""};return l?(0,o.jsx)(a,{...h,error:!!u,cancelled:!!d}):"small"===c?(0,o.jsx)(r.z21,{...h,sx:{height:6,borderRadius:6}}):(0,o.jsx)(r.z21,{...h})}},64681:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});n(65043);var r=n(89923),o=n(70579);const a=e=>{let{placeholder:t="",onChange:n,overrideClass:a,value:i,id:s="search-resource",label:l="",sx:c}=e;return(0,o.jsx)(r.cl_,{placeholder:t,className:a||"",id:s,label:l,onChange:e=>{n(e.target.value)},value:i,startIcon:(0,o.jsx)(r.WIv,{}),sx:c})}},6681:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(65043),o=n(89923),a=n(70579);const i=e=>{let{tooltip:t,children:n,errorProps:i=null,placement:s}=e;return(0,a.jsx)(o.m_M,{tooltip:t,placement:s,children:(0,a.jsx)("span",{children:i?(0,r.cloneElement)(n,{...i}):n})})}},29977:(e,t,n)=>{"use strict";n.d(t,{A:()=>x});var r=n(65043),o=n(58168),a=n(31798),i=n(77387),s=Number.isNaN||function(e){return"number"===typeof e&&e!==e};function l(e,t){if(e.length!==t.length)return!1;for(var n=0;n=t?e.call(null):r.id=requestAnimationFrame(o)}))};return r}var h=-1;function m(e){if(void 0===e&&(e=!1),-1===h||e){var t=document.createElement("div"),n=t.style;n.width="50px",n.height="50px",n.overflow="scroll",document.body.appendChild(t),h=t.offsetWidth-t.clientWidth,document.body.removeChild(t)}return h}var f=null;function g(e){if(void 0===e&&(e=!1),null===f||e){var t=document.createElement("div"),n=t.style;n.width="50px",n.height="50px",n.overflow="scroll",n.direction="rtl";var r=document.createElement("div"),o=r.style;return o.width="100px",o.height="100px",t.appendChild(r),document.body.appendChild(t),t.scrollLeft>0?f="positive-descending":(t.scrollLeft=1,f=0===t.scrollLeft?"negative":"positive-ascending"),document.body.removeChild(t),f}return f}var b=function(e,t){return e};function y(e){var t,n=e.getItemOffset,s=e.getEstimatedTotalSize,l=e.getItemSize,u=e.getOffsetForIndexAndAlignment,h=e.getStartIndexForOffset,f=e.getStopIndexForStartIndex,y=e.initInstanceProps,E=e.shouldResetStyleCacheOnItemSizeChange,w=e.validateProps;return t=function(e){function t(t){var r;return(r=e.call(this,t)||this)._instanceProps=y(r.props,(0,a.A)(r)),r._outerRef=void 0,r._resetIsScrollingTimeoutId=null,r.state={instance:(0,a.A)(r),isScrolling:!1,scrollDirection:"forward",scrollOffset:"number"===typeof r.props.initialScrollOffset?r.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},r._callOnItemsRendered=void 0,r._callOnItemsRendered=c((function(e,t,n,o){return r.props.onItemsRendered({overscanStartIndex:e,overscanStopIndex:t,visibleStartIndex:n,visibleStopIndex:o})})),r._callOnScroll=void 0,r._callOnScroll=c((function(e,t,n){return r.props.onScroll({scrollDirection:e,scrollOffset:t,scrollUpdateWasRequested:n})})),r._getItemStyle=void 0,r._getItemStyle=function(e){var t,o=r.props,a=o.direction,i=o.itemSize,s=o.layout,c=r._getItemStyleCache(E&&i,E&&s,E&&a);if(c.hasOwnProperty(e))t=c[e];else{var u=n(r.props,e,r._instanceProps),d=l(r.props,e,r._instanceProps),p="horizontal"===a||"horizontal"===s,h="rtl"===a,m=p?u:0;c[e]=t={position:"absolute",left:h?void 0:m,right:h?m:void 0,top:p?0:u,height:p?"100%":d,width:p?d:"100%"}}return t},r._getItemStyleCache=void 0,r._getItemStyleCache=c((function(e,t,n){return{}})),r._onScrollHorizontal=function(e){var t=e.currentTarget,n=t.clientWidth,o=t.scrollLeft,a=t.scrollWidth;r.setState((function(e){if(e.scrollOffset===o)return null;var t=r.props.direction,i=o;if("rtl"===t)switch(g()){case"negative":i=-o;break;case"positive-descending":i=a-n-o}return i=Math.max(0,Math.min(i,a-n)),{isScrolling:!0,scrollDirection:e.scrollOffsets.clientWidth?m():0:s.scrollHeight>s.clientHeight?m():0}this.scrollTo(u(this.props,e,t,a,this._instanceProps,i))},S.componentDidMount=function(){var e=this.props,t=e.direction,n=e.initialScrollOffset,r=e.layout;if("number"===typeof n&&null!=this._outerRef){var o=this._outerRef;"horizontal"===t||"horizontal"===r?o.scrollLeft=n:o.scrollTop=n}this._callPropsCallbacks()},S.componentDidUpdate=function(){var e=this.props,t=e.direction,n=e.layout,r=this.state,o=r.scrollOffset;if(r.scrollUpdateWasRequested&&null!=this._outerRef){var a=this._outerRef;if("horizontal"===t||"horizontal"===n)if("rtl"===t)switch(g()){case"negative":a.scrollLeft=-o;break;case"positive-ascending":a.scrollLeft=o;break;default:var i=a.clientWidth,s=a.scrollWidth;a.scrollLeft=s-i-o}else a.scrollLeft=o;else a.scrollTop=o}this._callPropsCallbacks()},S.componentWillUnmount=function(){null!==this._resetIsScrollingTimeoutId&&d(this._resetIsScrollingTimeoutId)},S.render=function(){var e=this.props,t=e.children,n=e.className,a=e.direction,i=e.height,l=e.innerRef,c=e.innerElementType,u=e.innerTagName,d=e.itemCount,p=e.itemData,h=e.itemKey,m=void 0===h?b:h,f=e.layout,g=e.outerElementType,y=e.outerTagName,v=e.style,E=e.useIsScrolling,w=e.width,S=this.state.isScrolling,A="horizontal"===a||"horizontal"===f,_=A?this._onScrollHorizontal:this._onScrollVertical,T=this._getRangeToRender(),C=T[0],x=T[1],I=[];if(d>0)for(var O=C;O<=x;O++)I.push((0,r.createElement)(t,{data:p,key:m(O,p),index:O,isScrolling:E?S:void 0,style:this._getItemStyle(O)}));var k=s(this.props,this._instanceProps);return(0,r.createElement)(g||y||"div",{className:n,onScroll:_,ref:this._outerRefSetter,style:(0,o.A)({position:"relative",height:i,width:w,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:a},v)},(0,r.createElement)(c||u||"div",{children:I,ref:l,style:{height:A?"100%":k,pointerEvents:S?"none":void 0,width:A?k:"100%"}}))},S._callPropsCallbacks=function(){if("function"===typeof this.props.onItemsRendered&&this.props.itemCount>0){var e=this._getRangeToRender(),t=e[0],n=e[1],r=e[2],o=e[3];this._callOnItemsRendered(t,n,r,o)}if("function"===typeof this.props.onScroll){var a=this.state,i=a.scrollDirection,s=a.scrollOffset,l=a.scrollUpdateWasRequested;this._callOnScroll(i,s,l)}},S._getRangeToRender=function(){var e=this.props,t=e.itemCount,n=e.overscanCount,r=this.state,o=r.isScrolling,a=r.scrollDirection,i=r.scrollOffset;if(0===t)return[0,0,0,0];var s=h(this.props,i,this._instanceProps),l=f(this.props,s,i,this._instanceProps),c=o&&"backward"!==a?1:Math.max(1,n),u=o&&"forward"!==a?1:Math.max(1,n);return[Math.max(0,s-c),Math.max(0,Math.min(t-1,l+u)),s,l]},t}(r.PureComponent),t.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},t}var v=function(e,t){e.children,e.direction,e.height,e.layout,e.innerTagName,e.outerTagName,e.width,t.instance},E=y({getItemOffset:function(e,t){return t*e.itemSize},getItemSize:function(e,t){return e.itemSize},getEstimatedTotalSize:function(e){var t=e.itemCount;return e.itemSize*t},getOffsetForIndexAndAlignment:function(e,t,n,r,o,a){var i=e.direction,s=e.height,l=e.itemCount,c=e.itemSize,u=e.layout,d=e.width,p="horizontal"===i||"horizontal"===u?d:s,h=Math.max(0,l*c-p),m=Math.min(h,t*c),f=Math.max(0,t*c-p+c+a);switch("smart"===n&&(n=r>=f-p&&r<=m+p?"auto":"center"),n){case"start":return m;case"end":return f;case"center":var g=Math.round(f+(m-f)/2);return gh+Math.floor(p/2)?h:g;default:return r>=f&&r<=m?r:r0&&void 0!==arguments[0]&&arguments[0];this._memoizedUnloadedRanges=[],e&&this._ensureRowsLoaded(this._lastRenderedStartIndex,this._lastRenderedStopIndex)}},{key:"componentDidMount",value:function(){0}},{key:"render",value:function(){return(0,this.props.children)({onItemsRendered:this._onItemsRendered,ref:this._setRef})}},{key:"_ensureRowsLoaded",value:function(e,t){var n=this.props,r=n.isItemLoaded,o=n.itemCount,a=n.minimumBatchSize,i=void 0===a?10:a,s=n.threshold,l=void 0===s?15:s,c=function(e){for(var t=e.isItemLoaded,n=e.itemCount,r=e.minimumBatchSize,o=e.startIndex,a=e.stopIndex,i=[],s=null,l=null,c=o;c<=a;c++)t(c)?null!==l&&(i.push(s,l),s=l=null):(l=c,null===s&&(s=c));if(null!==l){for(var u=Math.min(Math.max(l,s+r-1),n-1),d=l+1;d<=u&&!t(d);d++)l=d;i.push(s,l)}if(i.length)for(;i[1]-i[0]+10;){var p=i[0]-1;if(t(p))break;i[0]=p}return i}({isItemLoaded:r,itemCount:o,minimumBatchSize:i,startIndex:Math.max(0,e-l),stopIndex:Math.min(o-1,t+l)});(this._memoizedUnloadedRanges.length!==c.length||this._memoizedUnloadedRanges.some((function(e,t){return c[t]!==e})))&&(this._memoizedUnloadedRanges=c,this._loadUnloadedRanges(c))}},{key:"_loadUnloadedRanges",value:function(e){for(var t=this,n=this.props.loadMoreItems||this.props.loadMoreRows,r=function(r){var o=e[r],a=e[r+1],i=n(o,a);null!=i&&i.then((function(){if(function(e){var t=e.lastRenderedStartIndex,n=e.lastRenderedStopIndex,r=e.startIndex,o=e.stopIndex;return!(r>n||o{let{rowRenderFunction:t,totalItems:n,defaultHeight:o}=e;const a=e=>{let{index:n,style:r}=e;return(0,T.jsx)("div",{style:r,children:t(n)})};return(0,T.jsx)(r.Fragment,{children:(0,T.jsx)(A,{isItemLoaded:e=>!!C[e],loadMoreItems:(e,t)=>{for(let n=e;n<=t;n++)C[n]=1;for(let n=e;n<=t;n++)C[n]=2},itemCount:n,children:e=>{let{onItemsRendered:t,ref:r}=e;return(0,T.jsx)(_.t$,{children:e=>{let{width:i,height:s}=e;return(0,T.jsx)(E,{itemSize:o||220,height:s,itemCount:n,width:i,ref:r,onItemsRendered:t,children:a})}})}})})}},80882:(e,t,n)=>{"use strict";n.d(t,{A:()=>m,p:()=>h});var r=n(65043),o=n(33097),a=n.n(o),i=n(94574),s=n(89923),l=n(60163),c=n(4240),u=n(17869),d=n(70579);const p=i.Ay.div((e=>{let{theme:t}=e;return{maxHeight:"110px",display:"flex",alignItems:"center",justifyContent:"space-between",fontSize:"19px",padding:"10px","& .unit-value":{fontSize:"50px",color:a()(t,"signalColors.main","#07193E")},"& .unit-type":{fontSize:"18px",color:a()(t,"mutedText","#87888d"),marginTop:"20px",marginLeft:"5px"},"& .usage-label":{display:"flex",alignItems:"center",fontSize:"16px",fontWeight:600,marginRight:"20px",marginTop:"-10px","& .min-icon":{marginLeft:"10px",height:16,width:16}}}})),h=(0,d.jsx)(r.Fragment,{children:(0,d.jsxs)("div",{children:[(0,d.jsx)("strong",{children:" Not what you expected?"}),(0,d.jsx)("br",{}),"This Usage value is comparable to ",(0,d.jsx)("strong",{children:"mc du --versions"})," which represents the size of all object versions that exist in the buckets.",(0,d.jsx)("br",{}),"Running"," ",(0,d.jsx)("a",{target:"_blank",href:"https://min.io/docs/minio/linux/reference/minio-mc/mc-du.html",children:"mc du"})," ","without the ",(0,d.jsx)("strong",{children:"--versions"})," flag or"," ",(0,d.jsx)("a",{target:"_blank",href:"https://man7.org/linux/man-pages/man1/df.1.html",children:"df"})," ","will provide different values corresponding to the size of all"," ",(0,d.jsx)("strong",{children:"current"})," versions and the physical disk space occupied respectively."]})}),m=e=>{let{usageValue:t,total:n,unit:r}=e;const o=[{value:n,color:"#D6D6D6",label:"Free Space"},{value:t,color:"#073052",label:"Used Space"}];return(0,d.jsxs)(p,{children:[(0,d.jsxs)(s.azJ,{children:[(0,d.jsx)("div",{className:"usage-label",children:(0,d.jsx)("span",{children:"Reported Usage"})}),(0,d.jsxs)(s.V7x,{content:h,placement:"left",children:[(0,d.jsx)("label",{className:"unit-value",style:{fontWeight:600},children:n}),(0,d.jsx)("label",{className:"unit-type",children:r})]})]}),(0,d.jsx)(s.azJ,{children:(0,d.jsx)(s.azJ,{sx:{flex:1},children:(0,d.jsx)("div",{style:{position:"relative",width:105,height:105,top:"-8px"},children:(0,d.jsx)("div",{children:(0,d.jsx)(l.r,{width:105,height:105,children:(0,d.jsx)(c.F,{data:o,cx:"50%",cy:"50%",dataKey:"value",outerRadius:45,innerRadius:35,startAngle:-70,endAngle:360,animationDuration:1,children:o.map(((e,t)=>(0,d.jsx)(u.f,{fill:e.color},"cellCapacity-".concat(t))))})})})})})})]})}},47027:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>c,Nv:()=>s,ZQ:()=>i,pA:()=>l});var r=n(80907),o=n(39820);const a=(0,r.Z0)({name:"dashboard",initialState:{status:"idle",zoom:{openZoom:!1,widgetRender:null},usage:null,widgetLoadVersion:0},reducers:{openZoomPage:(e,t)=>{e.zoom.openZoom=!0,e.zoom.widgetRender=t.payload},closeZoomPage:e=>{e.zoom.openZoom=!1,e.zoom.widgetRender=null},reloadWidgets:e=>{e.widgetLoadVersion++}},extraReducers:e=>{e.addCase(o.i.pending,(e=>{e.status="loading"})).addCase(o.i.rejected,(e=>{e.status="failed"})).addCase(o.i.fulfilled,((e,t)=>{e.status="idle",e.usage=t.payload}))}}),{openZoomPage:i,closeZoomPage:s,reloadWidgets:l}=a.actions,c=a.reducer},39820:(e,t,n)=>{"use strict";n.d(t,{i:()=>s});var r=n(80907),o=n(64159),a=n(56629),i=n(53518);const s=(0,r.zD)("dashboard/getUsageAsync",(async(e,t)=>{let{getState:n,rejectWithValue:r,dispatch:s}=t;return a.F.admin.adminInfo().then((e=>e.data)).catch((e=>(s((0,o.C9)((0,i.S)(e.error))),r(e))))}))},39161:(e,t,n)=>{"use strict";n.d(t,{$Y:()=>o,Ay:()=>a});const r=(0,n(80907).Z0)({name:"destination",initialState:{loading:!0},reducers:{setDestinationLoading:(e,t)=>{e.loading=t.payload}}}),{setDestinationLoading:o}=r.actions,a=r.reducer},87569:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>i,Zq:()=>a,zJ:()=>o});const r=(0,n(80907).Z0)({name:"trace",initialState:{message:{}},reducers:{healthInfoMessageReceived:(e,t)=>{e.message=t.payload},healthInfoResetMessage:e=>{e.message={}}}}),{healthInfoMessageReceived:o,healthInfoResetMessage:a}=r.actions,i=r.reducer},55968:(e,t,n)=>{"use strict";n.d(t,{A:()=>Cr});var r={};n.r(r),n.d(r,{attentionMarkers:()=>Tt,contentInitial:()=>vt,disable:()=>Ct,document:()=>yt,flow:()=>wt,flowInitial:()=>Et,insideSpan:()=>_t,string:()=>St,text:()=>At});var o={};n.r(o),n.d(o,{boolean:()=>An,booleanish:()=>_n,commaOrSpaceSeparated:()=>On,commaSeparated:()=>In,number:()=>Cn,overloadedBoolean:()=>Tn,spaceSeparated:()=>xn});var a=n(65043),i=n(65837);function s(e){return e&&"object"===typeof e?"position"in e||"type"in e?c(e.position):"start"in e||"end"in e?c(e):"line"in e||"column"in e?l(e):"":""}function l(e){return u(e&&e.line)+":"+u(e&&e.column)}function c(e){return l(e&&e.start)+"-"+l(e&&e.end)}function u(e){return e&&"number"===typeof e?e:1}class d extends Error{constructor(e,t,n){const r=[null,null];let o={start:{line:null,column:null},end:{line:null,column:null}};if(super(),"string"===typeof t&&(n=t,t=void 0),"string"===typeof n){const e=n.indexOf(":");-1===e?r[1]=n:(r[0]=n.slice(0,e),r[1]=n.slice(e+1))}t&&("type"in t||"position"in t?t.position&&(o=t.position):"start"in t||"end"in t?o=t:("line"in t||"column"in t)&&(o.start=t)),this.name=s(t)||"1:1",this.message="object"===typeof e?e.message:e,this.stack="","object"===typeof e&&e.stack&&(this.stack=e.stack),this.reason=this.message,this.fatal,this.line=o.start.line,this.column=o.start.column,this.position=o,this.source=r[0],this.ruleId=r[1],this.file,this.actual,this.expected,this.url,this.note}}d.prototype.file="",d.prototype.name="",d.prototype.reason="",d.prototype.message="",d.prototype.stack="",d.prototype.fatal=null,d.prototype.column=null,d.prototype.line=null,d.prototype.source=null,d.prototype.ruleId=null,d.prototype.position=null;const p={basename:function(e,t){if(void 0!==t&&"string"!==typeof t)throw new TypeError('"ext" argument must be a string');h(e);let n,r=0,o=-1,a=e.length;if(void 0===t||0===t.length||t.length>e.length){for(;a--;)if(47===e.charCodeAt(a)){if(n){r=a+1;break}}else o<0&&(n=!0,o=a+1);return o<0?"":e.slice(r,o)}if(t===e)return"";let i=-1,s=t.length-1;for(;a--;)if(47===e.charCodeAt(a)){if(n){r=a+1;break}}else i<0&&(n=!0,i=a+1),s>-1&&(e.charCodeAt(a)===t.charCodeAt(s--)?s<0&&(o=a):(s=-1,o=i));r===o?o=i:o<0&&(o=e.length);return e.slice(r,o)},dirname:function(e){if(h(e),0===e.length)return".";let t,n=-1,r=e.length;for(;--r;)if(47===e.charCodeAt(r)){if(t){n=r;break}}else t||(t=!0);return n<0?47===e.charCodeAt(0)?"/":".":1===n&&47===e.charCodeAt(0)?"//":e.slice(0,n)},extname:function(e){h(e);let t,n=e.length,r=-1,o=0,a=-1,i=0;for(;n--;){const s=e.charCodeAt(n);if(47!==s)r<0&&(t=!0,r=n+1),46===s?a<0?a=n:1!==i&&(i=1):a>-1&&(i=-1);else if(t){o=n+1;break}}if(a<0||r<0||0===i||1===i&&a===r-1&&a===o+1)return"";return e.slice(a,r)},join:function(){let e,t=-1;for(var n=arguments.length,r=new Array(n),o=0;o2){if(r=o.lastIndexOf("/"),r!==o.length-1){r<0?(o="",a=0):(o=o.slice(0,r),a=o.length-1-o.lastIndexOf("/")),i=l,s=0;continue}}else if(o.length>0){o="",a=0,i=l,s=0;continue}t&&(o=o.length>0?o+"/..":"..",a=2)}else o.length>0?o+="/"+e.slice(i+1,l):o=e.slice(i+1,l),a=l-i-1;i=l,s=0}else 46===n&&s>-1?s++:s=-1}return o}(e,!t);0!==n.length||t||(n=".");n.length>0&&47===e.charCodeAt(e.length-1)&&(n+="/");return t?"/"+n:n}(e)},sep:"/"};function h(e){if("string"!==typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const m={cwd:function(){return"/"}};function f(e){return null!==e&&"object"===typeof e&&e.href&&e.origin}function g(e){if("string"===typeof e)e=new URL(e);else if(!f(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if("file:"!==e.protocol){const e=new TypeError("The URL must be of scheme file");throw e.code="ERR_INVALID_URL_SCHEME",e}return function(e){if(""!==e.hostname){const e=new TypeError('File URL host must be "localhost" or empty on darwin');throw e.code="ERR_INVALID_FILE_URL_HOST",e}const t=e.pathname;let n=-1;for(;++n1?l-1:0),u=1;uo.length;let c;l&&o.push(a);try{c=e.apply(this,o)}catch(r){if(l&&n)throw r;return a(r)}l||(c&&c.then&&"function"===typeof c.then?c.then(i,a):c instanceof Error?a(c):i(c))}function a(e){if(!n){n=!0;for(var r=arguments.length,o=new Array(r>1?r-1:0),a=1;ae.length){for(;a--;)if(47===e.charCodeAt(a)){if(n){r=a+1;break}}else o<0&&(n=!0,o=a+1);return o<0?"":e.slice(r,o)}if(t===e)return"";let i=-1,s=t.length-1;for(;a--;)if(47===e.charCodeAt(a)){if(n){r=a+1;break}}else i<0&&(n=!0,i=a+1),s>-1&&(e.charCodeAt(a)===t.charCodeAt(s--)?s<0&&(o=a):(s=-1,o=i));r===o?o=i:o<0&&(o=e.length);return e.slice(r,o)},dirname:function(e){if(I(e),0===e.length)return".";let t,n=-1,r=e.length;for(;--r;)if(47===e.charCodeAt(r)){if(t){n=r;break}}else t||(t=!0);return n<0?47===e.charCodeAt(0)?"/":".":1===n&&47===e.charCodeAt(0)?"//":e.slice(0,n)},extname:function(e){I(e);let t,n=e.length,r=-1,o=0,a=-1,i=0;for(;n--;){const s=e.charCodeAt(n);if(47!==s)r<0&&(t=!0,r=n+1),46===s?a<0?a=n:1!==i&&(i=1):a>-1&&(i=-1);else if(t){o=n+1;break}}if(a<0||r<0||0===i||1===i&&a===r-1&&a===o+1)return"";return e.slice(a,r)},join:function(){let e,t=-1;for(var n=arguments.length,r=new Array(n),o=0;o2){if(r=o.lastIndexOf("/"),r!==o.length-1){r<0?(o="",a=0):(o=o.slice(0,r),a=o.length-1-o.lastIndexOf("/")),i=l,s=0;continue}}else if(o.length>0){o="",a=0,i=l,s=0;continue}t&&(o=o.length>0?o+"/..":"..",a=2)}else o.length>0?o+="/"+e.slice(i+1,l):o=e.slice(i+1,l),a=l-i-1;i=l,s=0}else 46===n&&s>-1?s++:s=-1}return o}(e,!t);0!==n.length||t||(n=".");n.length>0&&47===e.charCodeAt(e.length-1)&&(n+="/");return t?"/"+n:n}(e)},sep:"/"};function I(e){if("string"!==typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const O={cwd:function(){return"/"}};function k(e){return null!==e&&"object"===typeof e&&e.href&&e.origin}function N(e){if("string"===typeof e)e=new URL(e);else if(!k(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if("file:"!==e.protocol){const e=new TypeError("The URL must be of scheme file");throw e.code="ERR_INVALID_URL_SCHEME",e}return function(e){if(""!==e.hostname){const e=new TypeError('File URL host must be "localhost" or empty on darwin');throw e.code="ERR_INVALID_FILE_URL_HOST",e}const t=e.pathname;let n=-1;for(;++n1?t-1:0),i=1;i{if(!e&&t&&n){const o=s.stringify(t,n);void 0===o||null===o||("string"===typeof(r=o)||i(r)?n.value=o:n.result=o),a(e,n)}else a(e);var r}))}n(null,t)},s.processSync=function(e){let t;s.freeze(),z("processSync",s.Parser),U("processSync",s.Compiler);const n=q(e);return s.process(n,r),V("processSync","process",t),n;function r(e){t=!0,S(e)}},s;function s(){const t=e();let r=-1;for(;++ro?0:o+t:t>o?o:t,n=n>0?n:0,r.length<1e4)a=Array.from(r),a.unshift(t,n),e.splice(...a);else for(n&&e.splice(t,n);i0?(Y(e,e.length,0,t),e):t}const X={}.hasOwnProperty;function J(e,t){let n;for(n in t){const r=(X.call(e,n)?e[n]:void 0)||(e[n]={}),o=t[n];let a;if(o)for(a in o){X.call(r,a)||(r[a]=[]);const e=o[a];Q(r[a],Array.isArray(e)?e:e?[e]:[])}}}function Q(e,t){let n=-1;const r=[];for(;++na))return;const n=t.events.length;let o,s,l=n;for(;l--;)if("exit"===t.events[l][0]&&"chunkFlow"===t.events[l][1].type){if(o){s=t.events[l][1].end;break}o=!0}for(b(i),e=n;er;){const r=n[o];t.containerState=r[1],r[0].exit.call(t,e)}n.length=r}function y(){r.write([null]),o=void 0,r=void 0,t.containerState._closeFlow=void 0}}},ge={tokenize:function(e,t,n){return he(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}};const be={tokenize:function(e,t,n){return function(t){return ce(t)?he(e,r,"linePrefix")(t):r(t)};function r(e){return null===e||se(e)?t(e):n(e)}},partial:!0};function ye(e){const t={};let n,r,o,a,i,s,l,c=-1;for(;++c=4?t(o):e.interrupt(r.parser.constructs.flow,n,t)(o)}},partial:!0};const Se={tokenize:function(e){const t=this,n=e.attempt(be,(function(r){if(null===r)return void e.consume(r);return e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}),e.attempt(this.parser.constructs.flowInitial,r,he(e,e.attempt(this.parser.constructs.flow,r,e.attempt(Ee,r)),"linePrefix")));return n;function r(r){if(null!==r)return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),t.currentConstruct=void 0,n;e.consume(r)}}};const Ae={resolveAll:xe()},_e=Ce("string"),Te=Ce("text");function Ce(e){return{tokenize:function(t){const n=this,r=this.parser.constructs[e],o=t.attempt(r,a,i);return a;function a(e){return l(e)?o(e):i(e)}function i(e){if(null!==e)return t.enter("data"),t.consume(e),s;t.consume(e)}function s(e){return l(e)?(t.exit("data"),o(e)):(t.consume(e),s)}function l(e){if(null===e)return!0;const t=r[e];let o=-1;if(t)for(;++o-1){const e=i[0];"string"===typeof e?i[0]=e.slice(r):i.shift()}a>0&&i.push(e[o].slice(0,a))}return i}(i,e)}function m(){const{line:e,column:t,offset:n,_index:o,_bufferIndex:a}=r;return{line:e,column:t,offset:n,_index:o,_bufferIndex:a}}function f(){let e;for(;r._index=3&&(null===a||se(a))?(e.exit("thematicBreak"),t(a)):n(a)}function i(t){return t===r?(e.consume(t),o++,i):(e.exit("thematicBreakSequence"),ce(t)?he(e,a,"whitespace")(t):a(t))}}};const Re={name:"list",tokenize:function(e,t,n){const r=this,o=r.events[r.events.length-1];let a=o&&"linePrefix"===o[1].type?o[2].sliceSerialize(o[1],!0).length:0,i=0;return function(t){const o=r.containerState.type||(42===t||43===t||45===t?"listUnordered":"listOrdered");if("listUnordered"===o?!r.containerState.marker||t===r.containerState.marker:oe(t)){if(r.containerState.type||(r.containerState.type=o,e.enter(o,{_container:!0})),"listUnordered"===o)return e.enter("listItemPrefix"),42===t||45===t?e.check(Ne,n,l)(t):l(t);if(!r.interrupt||49===t)return e.enter("listItemPrefix"),e.enter("listItemValue"),s(t)}return n(t)};function s(t){return oe(t)&&++i<10?(e.consume(t),s):(!r.interrupt||i<2)&&(r.containerState.marker?t===r.containerState.marker:41===t||46===t)?(e.exit("listItemValue"),l(t)):n(t)}function l(t){return e.enter("listItemMarker"),e.consume(t),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||t,e.check(be,r.interrupt?n:c,e.attempt(Me,d,u))}function c(e){return r.containerState.initialBlankLine=!0,a++,d(e)}function u(t){return ce(t)?(e.enter("listItemPrefixWhitespace"),e.consume(t),e.exit("listItemPrefixWhitespace"),d):n(t)}function d(n){return r.containerState.size=a+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(n)}},continuation:{tokenize:function(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(be,o,a);function o(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,he(e,t,"listItemIndent",r.containerState.size+1)(n)}function a(n){return r.containerState.furtherBlankLines||!ce(n)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,i(n)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(Le,t,i)(n))}function i(o){return r.containerState._closeFlow=!0,r.interrupt=void 0,he(e,e.attempt(Re,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o)}}},exit:function(e){e.exit(this.containerState.type)}},Me={tokenize:function(e,t,n){const r=this;return he(e,(function(e){const o=r.events[r.events.length-1];return!ce(e)&&o&&"listItemPrefixWhitespace"===o[1].type?t(e):n(e)}),"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5)},partial:!0},Le={tokenize:function(e,t,n){const r=this;return he(e,(function(e){const o=r.events[r.events.length-1];return o&&"listItemIndent"===o[1].type&&o[2].sliceSerialize(o[1],!0).length===r.containerState.size?t(e):n(e)}),"listItemIndent",r.containerState.size+1)},partial:!0};const De={name:"blockQuote",tokenize:function(e,t,n){const r=this;return function(t){if(62===t){const n=r.containerState;return n.open||(e.enter("blockQuote",{_container:!0}),n.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(t),e.exit("blockQuoteMarker"),o}return n(t)};function o(n){return ce(n)?(e.enter("blockQuotePrefixWhitespace"),e.consume(n),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(n))}},continuation:{tokenize:function(e,t,n){const r=this;return function(t){if(ce(t))return he(e,o,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t);return o(t)};function o(r){return e.attempt(De,t,n)(r)}}},exit:function(e){e.exit("blockQuote")}};function Pe(e,t,n,r,o,a,i,s,l){const c=l||Number.POSITIVE_INFINITY;let u=0;return function(t){if(60===t)return e.enter(r),e.enter(o),e.enter(a),e.consume(t),e.exit(a),d;if(null===t||32===t||41===t||re(t))return n(t);return e.enter(r),e.enter(i),e.enter(s),e.enter("chunkString",{contentType:"string"}),m(t)};function d(n){return 62===n?(e.enter(a),e.consume(n),e.exit(a),e.exit(o),e.exit(r),t):(e.enter(s),e.enter("chunkString",{contentType:"string"}),p(n))}function p(t){return 62===t?(e.exit("chunkString"),e.exit(s),d(t)):null===t||60===t||se(t)?n(t):(e.consume(t),92===t?h:p)}function h(t){return 60===t||62===t||92===t?(e.consume(t),p):p(t)}function m(o){return u||null!==o&&41!==o&&!le(o)?u999||null===d||91===d||93===d&&!s||94===d&&!l&&"_hiddenFootnoteSupport"in i.parser.constructs?n(d):93===d?(e.exit(a),e.enter(o),e.consume(d),e.exit(o),e.exit(r),t):se(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),c):(e.enter("chunkString",{contentType:"string"}),u(d))}function u(t){return null===t||91===t||93===t||se(t)||l++>999?(e.exit("chunkString"),c(t)):(e.consume(t),s||(s=!ce(t)),92===t?d:u)}function d(t){return 91===t||92===t||93===t?(e.consume(t),l++,u):u(t)}}function Fe(e,t,n,r,o,a){let i;return function(t){if(34===t||39===t||40===t)return e.enter(r),e.enter(o),e.consume(t),e.exit(o),i=40===t?41:t,s;return n(t)};function s(n){return n===i?(e.enter(o),e.consume(n),e.exit(o),e.exit(r),t):(e.enter(a),l(n))}function l(t){return t===i?(e.exit(a),s(i)):null===t?n(t):se(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),he(e,l,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),c(t))}function c(t){return t===i||null===t||se(t)?(e.exit("chunkString"),l(t)):(e.consume(t),92===t?u:c)}function u(t){return t===i||92===t?(e.consume(t),c):c(t)}}function je(e,t){let n;return function r(o){if(se(o))return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),n=!0,r;if(ce(o))return he(e,r,n?"linePrefix":"lineSuffix")(o);return t(o)}}function ze(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Ue={name:"definition",tokenize:function(e,t,n){const r=this;let o;return function(t){return e.enter("definition"),function(t){return Be.call(r,e,a,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(t)}(t)};function a(t){return o=ze(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),58===t?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),i):n(t)}function i(t){return le(t)?je(e,s)(t):s(t)}function s(t){return Pe(e,l,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(t)}function l(t){return e.attempt(He,c,c)(t)}function c(t){return ce(t)?he(e,u,"whitespace")(t):u(t)}function u(a){return null===a||se(a)?(e.exit("definition"),r.parser.defined.push(o),t(a)):n(a)}}},He={tokenize:function(e,t,n){return function(t){return le(t)?je(e,r)(t):n(t)};function r(t){return Fe(e,o,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(t)}function o(t){return ce(t)?he(e,a,"whitespace")(t):a(t)}function a(e){return null===e||se(e)?t(e):n(e)}},partial:!0};const Ge={name:"codeIndented",tokenize:function(e,t,n){const r=this;return function(t){return e.enter("codeIndented"),he(e,o,"linePrefix",5)(t)};function o(e){const t=r.events[r.events.length-1];return t&&"linePrefix"===t[1].type&&t[2].sliceSerialize(t[1],!0).length>=4?a(e):n(e)}function a(t){return null===t?s(t):se(t)?e.attempt(Ve,a,s)(t):(e.enter("codeFlowValue"),i(t))}function i(t){return null===t||se(t)?(e.exit("codeFlowValue"),a(t)):(e.consume(t),i)}function s(n){return e.exit("codeIndented"),t(n)}}},Ve={tokenize:function(e,t,n){const r=this;return o;function o(t){return r.parser.lazy[r.now().line]?n(t):se(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),o):he(e,a,"linePrefix",5)(t)}function a(e){const a=r.events[r.events.length-1];return a&&"linePrefix"===a[1].type&&a[2].sliceSerialize(a[1],!0).length>=4?t(e):se(e)?o(e):n(e)}},partial:!0};const qe={name:"headingAtx",tokenize:function(e,t,n){let r=0;return function(t){return e.enter("atxHeading"),function(t){return e.enter("atxHeadingSequence"),o(t)}(t)};function o(t){return 35===t&&r++<6?(e.consume(t),o):null===t||le(t)?(e.exit("atxHeadingSequence"),a(t)):n(t)}function a(n){return 35===n?(e.enter("atxHeadingSequence"),i(n)):null===n||se(n)?(e.exit("atxHeading"),t(n)):ce(n)?he(e,a,"whitespace")(n):(e.enter("atxHeadingText"),s(n))}function i(t){return 35===t?(e.consume(t),i):(e.exit("atxHeadingSequence"),a(t))}function s(t){return null===t||35===t||le(t)?(e.exit("atxHeadingText"),a(t)):(e.consume(t),s)}},resolve:function(e,t){let n,r,o=e.length-2,a=3;"whitespace"===e[a][1].type&&(a+=2);o-2>a&&"whitespace"===e[o][1].type&&(o-=2);"atxHeadingSequence"===e[o][1].type&&(a===o-1||o-4>a&&"whitespace"===e[o-2][1].type)&&(o-=a+1===o?2:4);o>a&&(n={type:"atxHeadingText",start:e[a][1].start,end:e[o][1].end},r={type:"chunkText",start:e[a][1].start,end:e[o][1].end,contentType:"text"},Y(e,a,o-a+1,[["enter",n,t],["enter",r,t],["exit",r,t],["exit",n,t]]));return e}};const We={name:"setextUnderline",tokenize:function(e,t,n){const r=this;let o;return function(t){let i,s=r.events.length;for(;s--;)if("lineEnding"!==r.events[s][1].type&&"linePrefix"!==r.events[s][1].type&&"content"!==r.events[s][1].type){i="paragraph"===r.events[s][1].type;break}if(!r.parser.lazy[r.now().line]&&(r.interrupt||i))return e.enter("setextHeadingLine"),o=t,function(t){return e.enter("setextHeadingLineSequence"),a(t)}(t);return n(t)};function a(t){return t===o?(e.consume(t),a):(e.exit("setextHeadingLineSequence"),ce(t)?he(e,i,"lineSuffix")(t):i(t))}function i(r){return null===r||se(r)?(e.exit("setextHeadingLine"),t(r)):n(r)}},resolveTo:function(e,t){let n,r,o,a=e.length;for(;a--;)if("enter"===e[a][0]){if("content"===e[a][1].type){n=a;break}"paragraph"===e[a][1].type&&(r=a)}else"content"===e[a][1].type&&e.splice(a,1),o||"definition"!==e[a][1].type||(o=a);const i={type:"setextHeading",start:Object.assign({},e[r][1].start),end:Object.assign({},e[e.length-1][1].end)};e[r][1].type="setextHeadingText",o?(e.splice(r,0,["enter",i,t]),e.splice(o+1,0,["exit",e[n][1],t]),e[n][1].end=Object.assign({},e[o][1].end)):e[n][1]=i;return e.push(["exit",i,t]),e}};const Ze=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],$e=["pre","script","style","textarea"],Ye={name:"htmlFlow",tokenize:function(e,t,n){const r=this;let o,a,i,s,l;return function(t){return function(t){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(t),c}(t)};function c(s){return 33===s?(e.consume(s),u):47===s?(e.consume(s),a=!0,h):63===s?(e.consume(s),o=3,r.interrupt?t:L):ee(s)?(e.consume(s),i=String.fromCharCode(s),m):n(s)}function u(a){return 45===a?(e.consume(a),o=2,d):91===a?(e.consume(a),o=5,s=0,p):ee(a)?(e.consume(a),o=4,r.interrupt?t:L):n(a)}function d(o){return 45===o?(e.consume(o),r.interrupt?t:L):n(o)}function p(o){const a="CDATA[";return o===a.charCodeAt(s++)?(e.consume(o),6===s?r.interrupt?t:C:p):n(o)}function h(t){return ee(t)?(e.consume(t),i=String.fromCharCode(t),m):n(t)}function m(s){if(null===s||47===s||62===s||le(s)){const l=47===s,c=i.toLowerCase();return l||a||!$e.includes(c)?Ze.includes(i.toLowerCase())?(o=6,l?(e.consume(s),f):r.interrupt?t(s):C(s)):(o=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(s):a?g(s):b(s)):(o=1,r.interrupt?t(s):C(s))}return 45===s||te(s)?(e.consume(s),i+=String.fromCharCode(s),m):n(s)}function f(o){return 62===o?(e.consume(o),r.interrupt?t:C):n(o)}function g(t){return ce(t)?(e.consume(t),g):_(t)}function b(t){return 47===t?(e.consume(t),_):58===t||95===t||ee(t)?(e.consume(t),y):ce(t)?(e.consume(t),b):_(t)}function y(t){return 45===t||46===t||58===t||95===t||te(t)?(e.consume(t),y):v(t)}function v(t){return 61===t?(e.consume(t),E):ce(t)?(e.consume(t),v):b(t)}function E(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),l=t,w):ce(t)?(e.consume(t),E):S(t)}function w(t){return t===l?(e.consume(t),l=null,A):null===t||se(t)?n(t):(e.consume(t),w)}function S(t){return null===t||34===t||39===t||47===t||60===t||61===t||62===t||96===t||le(t)?v(t):(e.consume(t),S)}function A(e){return 47===e||62===e||ce(e)?b(e):n(e)}function _(t){return 62===t?(e.consume(t),T):n(t)}function T(t){return null===t||se(t)?C(t):ce(t)?(e.consume(t),T):n(t)}function C(t){return 45===t&&2===o?(e.consume(t),k):60===t&&1===o?(e.consume(t),N):62===t&&4===o?(e.consume(t),D):63===t&&3===o?(e.consume(t),L):93===t&&5===o?(e.consume(t),M):!se(t)||6!==o&&7!==o?null===t||se(t)?(e.exit("htmlFlowData"),x(t)):(e.consume(t),C):(e.exit("htmlFlowData"),e.check(Ke,P,x)(t))}function x(t){return e.check(Xe,I,P)(t)}function I(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),O}function O(t){return null===t||se(t)?x(t):(e.enter("htmlFlowData"),C(t))}function k(t){return 45===t?(e.consume(t),L):C(t)}function N(t){return 47===t?(e.consume(t),i="",R):C(t)}function R(t){if(62===t){const n=i.toLowerCase();return $e.includes(n)?(e.consume(t),D):C(t)}return ee(t)&&i.length<8?(e.consume(t),i+=String.fromCharCode(t),R):C(t)}function M(t){return 93===t?(e.consume(t),L):C(t)}function L(t){return 62===t?(e.consume(t),D):45===t&&2===o?(e.consume(t),L):C(t)}function D(t){return null===t||se(t)?(e.exit("htmlFlowData"),P(t)):(e.consume(t),D)}function P(n){return e.exit("htmlFlow"),t(n)}},resolveTo:function(e){let t=e.length;for(;t--&&("enter"!==e[t][0]||"htmlFlow"!==e[t][1].type););t>1&&"linePrefix"===e[t-2][1].type&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2));return e},concrete:!0},Ke={tokenize:function(e,t,n){return function(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),e.attempt(be,t,n)}},partial:!0},Xe={tokenize:function(e,t,n){const r=this;return function(t){if(se(t))return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),o;return n(t)};function o(e){return r.parser.lazy[r.now().line]?n(e):t(e)}},partial:!0};const Je={tokenize:function(e,t,n){const r=this;return function(t){if(null===t)return n(t);return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),o};function o(e){return r.parser.lazy[r.now().line]?n(e):t(e)}},partial:!0},Qe={name:"codeFenced",tokenize:function(e,t,n){const r=this,o={tokenize:function(e,t,n){let o=0;return i;function i(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),l}function l(t){return e.enter("codeFencedFence"),ce(t)?he(e,c,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t):c(t)}function c(t){return t===a?(e.enter("codeFencedFenceSequence"),u(t)):n(t)}function u(t){return t===a?(o++,e.consume(t),u):o>=s?(e.exit("codeFencedFenceSequence"),ce(t)?he(e,d,"whitespace")(t):d(t)):n(t)}function d(r){return null===r||se(r)?(e.exit("codeFencedFence"),t(r)):n(r)}},partial:!0};let a,i=0,s=0;return function(t){return function(t){const n=r.events[r.events.length-1];return i=n&&"linePrefix"===n[1].type?n[2].sliceSerialize(n[1],!0).length:0,a=t,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),l(t)}(t)};function l(t){return t===a?(s++,e.consume(t),l):s<3?n(t):(e.exit("codeFencedFenceSequence"),ce(t)?he(e,c,"whitespace")(t):c(t))}function c(n){return null===n||se(n)?(e.exit("codeFencedFence"),r.interrupt?t(n):e.check(Je,h,y)(n)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),u(n))}function u(t){return null===t||se(t)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),c(t)):ce(t)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),he(e,d,"whitespace")(t)):96===t&&t===a?n(t):(e.consume(t),u)}function d(t){return null===t||se(t)?c(t):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),p(t))}function p(t){return null===t||se(t)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),c(t)):96===t&&t===a?n(t):(e.consume(t),p)}function h(t){return e.attempt(o,y,m)(t)}function m(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),f}function f(t){return i>0&&ce(t)?he(e,g,"linePrefix",i+1)(t):g(t)}function g(t){return null===t||se(t)?e.check(Je,h,y)(t):(e.enter("codeFlowValue"),b(t))}function b(t){return null===t||se(t)?(e.exit("codeFlowValue"),g(t)):(e.consume(t),b)}function y(n){return e.exit("codeFenced"),t(n)}},concrete:!0};const et=document.createElement("i");function tt(e){const t="&"+e+";";et.innerHTML=t;const n=et.textContent;return(59!==n.charCodeAt(n.length-1)||"semi"===e)&&(n!==t&&n)}const nt={name:"characterReference",tokenize:function(e,t,n){const r=this;let o,a,i=0;return function(t){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(t),e.exit("characterReferenceMarker"),s};function s(t){return 35===t?(e.enter("characterReferenceMarkerNumeric"),e.consume(t),e.exit("characterReferenceMarkerNumeric"),l):(e.enter("characterReferenceValue"),o=31,a=te,c(t))}function l(t){return 88===t||120===t?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(t),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),o=6,a=ae,c):(e.enter("characterReferenceValue"),o=7,a=oe,c(t))}function c(s){if(59===s&&i){const o=e.exit("characterReferenceValue");return a!==te||tt(r.sliceSerialize(o))?(e.enter("characterReferenceMarker"),e.consume(s),e.exit("characterReferenceMarker"),e.exit("characterReference"),t):n(s)}return a(s)&&i++1&&e[u][1].end.offset-e[u][1].start.offset>1?2:1;const d=Object.assign({},e[n][1].end),p=Object.assign({},e[u][1].start);pt(d,-s),pt(p,s),a={type:s>1?"strongSequence":"emphasisSequence",start:d,end:Object.assign({},e[n][1].end)},i={type:s>1?"strongSequence":"emphasisSequence",start:Object.assign({},e[u][1].start),end:p},o={type:s>1?"strongText":"emphasisText",start:Object.assign({},e[n][1].end),end:Object.assign({},e[u][1].start)},r={type:s>1?"strong":"emphasis",start:Object.assign({},a.start),end:Object.assign({},i.end)},e[n][1].end=Object.assign({},a.start),e[u][1].start=Object.assign({},i.end),l=[],e[n][1].end.offset-e[n][1].start.offset&&(l=K(l,[["enter",e[n][1],t],["exit",e[n][1],t]])),l=K(l,[["enter",r,t],["enter",a,t],["exit",a,t],["enter",o,t]]),l=K(l,Oe(t.parser.constructs.insideSpan.null,e.slice(n+1,u),t)),l=K(l,[["exit",o,t],["enter",i,t],["exit",i,t],["exit",r,t]]),e[u][1].end.offset-e[u][1].start.offset?(c=2,l=K(l,[["enter",e[u][1],t],["exit",e[u][1],t]])):c=0,Y(e,n-1,u-n+3,l),u=n+l.length-c-2;break}u=-1;for(;++u13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||65535===(65535&n)||65534===(65535&n)||n>1114111?"\ufffd":String.fromCharCode(n)}const kt=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Nt(e,t,n){if(t)return t;if(35===n.charCodeAt(0)){const e=n.charCodeAt(1),t=120===e||88===e;return Ot(n.slice(t?2:1),t?16:10)}return tt(n)||e}const Rt={}.hasOwnProperty,Mt=function(e,t,n){return"string"!==typeof t&&(n=t,t=void 0),function(e){const t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:l(ae),autolinkProtocol:I,autolinkEmail:I,atxHeading:l(te),blockQuote:l(K),characterEscape:I,characterReference:I,codeFenced:l(X),codeFencedFenceInfo:c,codeFencedFenceMeta:c,codeIndented:l(X,c),codeText:l(J,c),codeTextData:I,data:I,codeFlowValue:I,definition:l(Q),definitionDestinationString:c,definitionLabelString:c,definitionTitleString:c,emphasis:l(ee),hardBreakEscape:l(ne),hardBreakTrailing:l(ne),htmlFlow:l(re,c),htmlFlowData:I,htmlText:l(re,c),htmlTextData:I,image:l(oe),label:c,link:l(ae),listItem:l(se),listItemValue:f,listOrdered:l(ie,m),listUnordered:l(ie),paragraph:l(le),reference:H,referenceString:c,resourceDestinationString:c,resourceTitleString:c,setextHeading:l(te),strong:l(ce),thematicBreak:l(de)},exit:{atxHeading:d(),atxHeadingSequence:_,autolink:d(),autolinkEmail:Y,autolinkProtocol:$,blockQuote:d(),characterEscapeValue:O,characterReferenceMarkerHexadecimal:V,characterReferenceMarkerNumeric:V,characterReferenceValue:q,codeFenced:d(v),codeFencedFence:y,codeFencedFenceInfo:g,codeFencedFenceMeta:b,codeFlowValue:O,codeIndented:d(E),codeText:d(L),codeTextData:O,data:O,definition:d(),definitionDestinationString:A,definitionLabelString:w,definitionTitleString:S,emphasis:d(),hardBreakEscape:d(N),hardBreakTrailing:d(N),htmlFlow:d(R),htmlFlowData:O,htmlText:d(M),htmlTextData:O,image:d(P),label:F,labelText:B,lineEnding:k,link:d(D),listItem:d(),listOrdered:d(),listUnordered:d(),paragraph:d(),referenceString:G,resourceDestinationString:j,resourceTitleString:z,resource:U,setextHeading:d(x),setextHeadingLineSequence:C,setextHeadingText:T,strong:d(),thematicBreak:d()}};Dt(t,(e||{}).mdastExtensions||[]);const n={};return r;function r(e){let n={type:"root",children:[]};const r={stack:[n],tokenStack:[],config:t,enter:u,exit:p,buffer:c,resume:h,setData:a,getData:i},s=[];let l=-1;for(;++l0){const e=r.tokenStack[r.tokenStack.length-1];(e[1]||Bt).call(r,void 0,e[0])}for(n.position={start:Lt(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:Lt(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},l=-1;++l{const n=this.data("settings");return Mt(t,Object.assign({},n,e,{extensions:this.data("micromarkExtensions")||[],mdastExtensions:this.data("fromMarkdownExtensions")||[]}))}})}function jt(e){const t=[];let n=-1,r=0,o=0;for(;++n55295&&a<57344){const t=e.charCodeAt(n+1);a<56320&&t>56319&&t<57344?(i=String.fromCharCode(a,t),o=1):i="\ufffd"}else i=String.fromCharCode(a);i&&(t.push(e.slice(r,n),encodeURIComponent(i)),r=n+o+1,i=""),o&&(n+=o,o=0)}return t.join("")+e.slice(r)}const zt=function(e){if(void 0===e||null===e)return Ht;if("string"===typeof e)return function(e){return Ut(t);function t(t){return t&&t.type===e}}(e);if("object"===typeof e)return Array.isArray(e)?function(e){const t=[];let n=-1;for(;++n1?n-1:0),o=1;o":"")+")"})}return u;function u(){let c,u,d,p=[];if((!t||o(i,s,l[l.length-1]||null))&&(p=function(e){if(Array.isArray(e))return e;if("number"===typeof e)return[Gt,e];return[e]}(n(i,l)),p[0]===Vt))return p;if(i.children&&"skip"!==p[0])for(u=(r?i.children.length:-1)+a,d=l.concat(i);u>-1&&u-1?n.offset:null}}}const Kt={}.hasOwnProperty;function Xt(e){return String(e||"").toUpperCase()}function Jt(e,t){const n=String(t.identifier).toUpperCase(),r=jt(n.toLowerCase()),o=e.footnoteOrder.indexOf(n);let a;-1===o?(e.footnoteOrder.push(n),e.footnoteCounts[n]=1,a=e.footnoteOrder.length):(e.footnoteCounts[n]++,a=o+1);const i=e.footnoteCounts[n],s={type:"element",tagName:"a",properties:{href:"#"+e.clobberPrefix+"fn-"+r,id:e.clobberPrefix+"fnref-"+r+(i>1?"-"+i:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(a)}]};e.patch(t,s);const l={type:"element",tagName:"sup",properties:{},children:[s]};return e.patch(t,l),e.applyData(t,l)}function Qt(e,t){const n=t.referenceType;let r="]";if("collapsed"===n?r+="[]":"full"===n&&(r+="["+(t.label||t.identifier)+"]"),"imageReference"===t.type)return{type:"text",value:"!["+t.alt+r};const o=e.all(t),a=o[0];a&&"text"===a.type?a.value="["+a.value:o.unshift({type:"text",value:"["});const i=o[o.length-1];return i&&"text"===i.type?i.value+=r:o.push({type:"text",value:r}),o}function en(e){const t=e.spread;return void 0===t||null===t?e.children.length>1:t}const tn=9,nn=32;function rn(e){const t=String(e),n=/\r?\n|\r/g;let r=n.exec(t),o=0;const a=[];for(;r;)a.push(on(t.slice(o,r.index),o>0,!0),r[0]),o=r.index+r[0].length,r=n.exec(t);return a.push(on(t.slice(o),o>0,!1)),a.join("")}function on(e,t,n){let r=0,o=e.length;if(t){let t=e.codePointAt(r);for(;t===tn||t===nn;)r++,t=e.codePointAt(r)}if(n){let t=e.codePointAt(o-1);for(;t===tn||t===nn;)o--,t=e.codePointAt(o-1)}return o>r?e.slice(r,o):""}const an={blockquote:function(e,t){const n={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)},break:function(e,t){const n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:"\n"}]},code:function(e,t){const n=t.value?t.value+"\n":"",r=t.lang?t.lang.match(/^[^ \t]+(?=[ \t]|$)/):null,o={};r&&(o.className=["language-"+r]);let a={type:"element",tagName:"code",properties:o,children:[{type:"text",value:n}]};return t.meta&&(a.data={meta:t.meta}),e.patch(t,a),a=e.applyData(t,a),a={type:"element",tagName:"pre",properties:{},children:[a]},e.patch(t,a),a},delete:function(e,t){const n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},emphasis:function(e,t){const n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},footnoteReference:Jt,footnote:function(e,t){const n=e.footnoteById;let r=1;for(;r in n;)r++;const o=String(r);return n[o]={type:"footnoteDefinition",identifier:o,children:[{type:"paragraph",children:t.children}],position:t.position},Jt(e,{type:"footnoteReference",identifier:o,position:t.position})},heading:function(e,t){const n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},html:function(e,t){if(e.dangerous){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}return null},imageReference:function(e,t){const n=e.definition(t.identifier);if(!n)return Qt(e,t);const r={src:jt(n.url||""),alt:t.alt};null!==n.title&&void 0!==n.title&&(r.title=n.title);const o={type:"element",tagName:"img",properties:r,children:[]};return e.patch(t,o),e.applyData(t,o)},image:function(e,t){const n={src:jt(t.url)};null!==t.alt&&void 0!==t.alt&&(n.alt=t.alt),null!==t.title&&void 0!==t.title&&(n.title=t.title);const r={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)},inlineCode:function(e,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);const r={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)},linkReference:function(e,t){const n=e.definition(t.identifier);if(!n)return Qt(e,t);const r={href:jt(n.url||"")};null!==n.title&&void 0!==n.title&&(r.title=n.title);const o={type:"element",tagName:"a",properties:r,children:e.all(t)};return e.patch(t,o),e.applyData(t,o)},link:function(e,t){const n={href:jt(t.url)};null!==t.title&&void 0!==t.title&&(n.title=t.title);const r={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)},listItem:function(e,t,n){const r=e.all(t),o=n?function(e){let t=!1;if("list"===e.type){t=e.spread||!1;const n=e.children;let r=-1;for(;!t&&++r