\ No newline at end of file
diff --git a/portal-ui/build/static/js/1829.2aaefda6.chunk.js b/portal-ui/build/static/js/1829.2aaefda6.chunk.js
deleted file mode 100644
index 4760cb6592..0000000000
--- a/portal-ui/build/static/js/1829.2aaefda6.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1829],{47986:(e,t,a)=>{"use strict";a.d(t,{Z:()=>o});a(72791);var n=a(29945),s=a(80184);const o=e=>{let{iconComponent:t,entity:a}=e;return(0,s.jsx)(n.rjZ,{container:!0,children:(0,s.jsx)(n.rjZ,{item:!0,xs:12,children:(0,s.jsx)(n.KfX,{title:"".concat(a," not available"),iconComponent:t,help:(0,s.jsxs)(n.xuv,{sx:{fontSize:"14px",["@media (max-width: ".concat(n.Egj.sm,"px)")]:{display:"flex",flexFlow:"column"}},children:[(0,s.jsx)("span",{children:"This feature is not available for a single-disk setup.\xa0"}),(0,s.jsxs)("span",{children:["Please deploy a server in"," ",(0,s.jsx)("a",{href:"https://min.io/docs/minio/linux/operations/install-deploy-manage/deploy-minio-multi-node-multi-drive.html?ref=con",target:"_blank",rel:"noopener",children:"Distributed Mode"})," ","to use this feature."]})]})})})})}},61829:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>D});var n=a(72791),s=a(78687),o=a(95087),r=a(29945),l=a(20601),i=a(38725),c=a(82839),d=a(90466),h=a(12891),x=a(35667),u=a(27281),f=a(23782),b=a(31776),p=a(82342),j=a(26824),m=a(45248),g=a(23814),v=a(56087),w=a(87995),y=a(38442),S=a(44690),k=a(47986),C=a(79844),H=a(99670),B=a(80184);const D=()=>{const e=(0,s.v9)(w.N5),[t,a]=(0,n.useState)(!1),[D,T]=(0,n.useState)(""),[_,E]=(0,n.useState)([]),[A,G]=(0,n.useState)(""),[N,O]=(0,n.useState)(!1),[Z,z]=(0,n.useState)(!1),[R,I]=(0,n.useState)(!1),[L,F]=(0,n.useState)({beforeHeal:[0,0,0,0],afterHeal:[0,0,0,0],objectsHealed:0,objectsScanned:0,healDuration:0,sizeScanned:""});(0,n.useEffect)((()=>{b.h.buckets.listBuckets().then((e=>{let t=[];e.data.buckets&&(t=e.data.buckets),E(t)})).catch((e=>{console.error((0,p.g)(e.error))}))}),[]),(0,n.useEffect)((()=>{Z&&I(!1)}),[Z]),(0,n.useEffect)((()=>{R&&z(!1)}),[R]);const K=e=>[e.Green,e.Yellow,e.Red,e.Grey];(0,n.useEffect)((()=>{if(t){const e={Green:0,Yellow:0,Red:0,Grey:0},t={Green:0,Yellow:0,Red:0,Grey:0},n=new URL(window.location.toString()),s=!1?"9090":n.port,r=new URL(document.baseURI).pathname,l=(0,j.x2)(n.protocol),i=new o.w3cwebsocket("".concat(l,"://").concat(n.hostname,":").concat(s).concat(r,"ws/heal/").concat(D,"?prefix=").concat(A,"&recursive=").concat(N,"&force-start=").concat(Z,"&force-stop=").concat(R));if(null!==i)return i.onopen=()=>{console.log("WebSocket Client Connected"),i.send("ok")},i.onmessage=a=>{let n=JSON.parse(a.data.toString());for(const[e,s]of Object.entries(n.healthAfterCols))t[e]=100*s/n.itemsScanned;for(const[t,s]of Object.entries(n.healthBeforeCols))e[t]=100*s/n.itemsScanned;F({beforeHeal:K(e),afterHeal:K(t),objectsHealed:n.objectsHealed,objectsScanned:n.objectsScanned,healDuration:n.healDuration,sizeScanned:(0,m.ae)(n.bytesScanned.toString())})},i.onclose=()=>{a(!1),console.log("connection closed by server")},()=>{i.close(1e3),console.log("closing websockets")}}}),[t,D,Z,R,A,N]);let P=[{name:"Green",ah:L.afterHeal[0],bh:L.beforeHeal[0],amt:100},{name:"Yellow",ah:L.afterHeal[1],bh:L.beforeHeal[1],amt:100},{name:"Red",ah:L.afterHeal[2],bh:L.beforeHeal[2],amt:100},{name:"Grey",ah:L.afterHeal[3],bh:L.beforeHeal[3],amt:100}];const M=_.map((e=>({label:e.name,value:e.name}))),X=(0,S.TL)();return(0,n.useEffect)((()=>{X((0,w.Sc)("heal"))}),[]),(0,B.jsxs)(n.Fragment,{children:[(0,B.jsx)(C.Z,{label:"Drives",actions:(0,B.jsx)(H.Z,{})}),(0,B.jsx)(r.Xgh,{children:e?(0,B.jsxs)(y.s,{scopes:[v.Ft.ADMIN_HEAL],resource:v.C3,children:[(0,B.jsxs)(r.xuv,{withBorders:!0,children:[(0,B.jsxs)(r.xuv,{sx:{display:"flex",alignItems:"center",marginBottom:15,gap:15},children:[(0,B.jsxs)(r.xuv,{sx:{flexGrow:1,width:"100%"},children:[(0,B.jsx)(r.AZs,{children:"Bucket"}),(0,B.jsx)(r.PhF,{id:"bucket-name",name:"bucket-name",value:D,onChange:e=>{T(e)},options:M,placeholder:"Select Bucket"})]}),(0,B.jsxs)(r.xuv,{sx:{flexGrow:1,width:"100%"},children:[(0,B.jsx)(r.AZs,{children:"Prefix"}),(0,B.jsx)(r.Wzg,{id:"prefix-resource",disabled:!1,onChange:e=>{G(e.target.value)}})]})]}),(0,B.jsxs)(r.xuv,{sx:{display:"flex",gap:20},children:[(0,B.jsx)(r.xuv,{children:(0,B.jsx)(r.XZJ,{name:"recursive",id:"recursive",value:"recursive",checked:N,onChange:()=>{O(!N)},disabled:!1,label:"Recursive"})}),(0,B.jsx)(r.xuv,{children:(0,B.jsx)(r.XZJ,{name:"forceStart",id:"forceStart",value:"forceStart",checked:Z,onChange:()=>{z(!Z)},disabled:!1,label:"Force Start"})}),(0,B.jsx)(r.xuv,{children:(0,B.jsx)(r.XZJ,{name:"forceStop",id:"forceStop",value:"forceStop",checked:R,onChange:()=>{I(!R)},disabled:!1,label:"Force Stop"})})]}),(0,B.jsx)(r.xuv,{sx:g.ID.modalButtonBar,children:(0,B.jsx)(r.zxk,{id:"start-heal",type:"submit",variant:"callAction",color:"primary",disabled:t,onClick:()=>a(!0),label:"Start"})})]}),(0,B.jsxs)(r.xuv,{withBorders:!0,sx:{marginTop:15,'& ul li:not([class*="Mui"])::before':{listStyle:"none",content:"' '"}},children:[(0,B.jsx)(l.h,{width:"90%",height:400,children:(0,B.jsxs)(i.v,{width:600,height:400,data:P,margin:{top:5,right:30,left:20,bottom:5},children:[(0,B.jsx)(c.q,{strokeDasharray:"3 3"}),(0,B.jsx)(d.K,{dataKey:"name"}),(0,B.jsx)(h.B,{}),(0,B.jsx)(x.u,{}),(0,B.jsx)(u.D,{verticalAlign:"top",layout:"horizontal",className:"noLi"}),(0,B.jsx)(f.$,{dataKey:"ah",name:"After Healing",fill:"#2781B060",stroke:"#2781B0"}),(0,B.jsx)(f.$,{dataKey:"bh",name:"Before Healing",fill:"#C83B5160",stroke:"#C83B51"})]})}),(0,B.jsxs)(r.rjZ,{item:!0,xs:12,sx:{marginTop:20,display:"flex",flexDirection:"row",justifyContent:"space-between","& .scanData":{}},children:[(0,B.jsxs)(r.xuv,{className:"scanData",children:[(0,B.jsx)("strong",{children:"Size scanned:"})," ",L.sizeScanned]}),(0,B.jsxs)(r.xuv,{className:"scanData",children:[(0,B.jsx)("strong",{children:"Objects healed:"})," ",L.objectsHealed," /"," ",L.objectsScanned]}),(0,B.jsxs)(r.xuv,{className:"scanData",children:[(0,B.jsx)("strong",{children:"Healing time:"})," ",L.healDuration,"s"]})]})]})]}):(0,B.jsx)(k.Z,{entity:"Heal",iconComponent:(0,B.jsx)(r.lnI,{})})})]})}},94210:e=>{var t=function(){if("object"===typeof self&&self)return self;if("object"===typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};e.exports=function(){if(this)return this;if("object"===typeof globalThis&&globalThis)return globalThis;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return t()}try{return __global__||t()}finally{delete Object.prototype.__global__}}()},38725:(e,t,a)=>{"use strict";a.d(t,{v:()=>i});var n=a(23612),s=a(23782),o=a(90466),r=a(12891),l=a(93137),i=(0,n.z)({chartName:"BarChart",GraphicalChild:s.$,defaultTooltipEventType:"axis",validateTooltipEventTypes:["axis","item"],axisComponents:[{axisType:"xAxis",AxisComp:o.K},{axisType:"yAxis",AxisComp:r.B}],formatAxisMap:l.t9})},95087:(e,t,a)=>{var n;if("object"===typeof globalThis)n=globalThis;else try{n=a(94210)}catch(l){}finally{if(n||"undefined"===typeof window||(n=window),!n)throw new Error("Could not determine global this")}var s=n.WebSocket||n.MozWebSocket,o=a(51496);function r(e,t){return t?new s(e,t):new s(e)}s&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach((function(e){Object.defineProperty(r,e,{get:function(){return s[e]}})})),e.exports={w3cwebsocket:s?r:null,version:o}},51496:(e,t,a)=>{e.exports=a(19794).version},19794:e=>{"use strict";e.exports={version:"1.0.34"}}}]);
-//# sourceMappingURL=1829.2aaefda6.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1829.2aaefda6.chunk.js.map b/portal-ui/build/static/js/1829.2aaefda6.chunk.js.map
deleted file mode 100644
index 62df3f1fb4..0000000000
--- a/portal-ui/build/static/js/1829.2aaefda6.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/1829.2aaefda6.chunk.js","mappings":"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","sources":["screens/Console/Common/DistributedOnly/DistributedOnly.tsx","screens/Console/Heal/Heal.tsx","../node_modules/es5-ext/global.js","../node_modules/recharts/es6/chart/BarChart.js","../node_modules/websocket/lib/browser.js","../node_modules/websocket/lib/version.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { HelpBox, Box, Grid, breakPoints } from \"mds\";\n\ninterface IDistributedOnly {\n iconComponent: any;\n entity: string;\n}\n\nconst DistributedOnly = ({ iconComponent, entity }: IDistributedOnly) => {\n return (\n \n \n \n \n This feature is not available for a single-disk setup. \n \n \n Please deploy a server in{\" \"}\n \n Distributed Mode\n {\" \"}\n to use this feature.\n \n \n }\n />\n \n \n );\n};\n\nexport default DistributedOnly;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { IMessageEvent, w3cwebsocket as W3CWebSocket } from \"websocket\";\nimport {\n Box,\n Button,\n Checkbox,\n Grid,\n HealIcon,\n InputBox,\n InputLabel,\n PageLayout,\n Select,\n} from \"mds\";\nimport {\n Bar,\n BarChart,\n CartesianGrid,\n Legend,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from \"recharts\";\n\nimport { api } from \"api\";\nimport { Bucket } from \"api/consoleApi\";\nimport { errorToHandler } from \"api/errors\";\nimport { wsProtocol } from \"../../../utils/wsUtils\";\nimport { colorH, HealStatus } from \"./types\";\nimport { niceBytes } from \"../../../common/utils\";\nimport { modalStyleUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport { selDistSet, setHelpName } from \"../../../systemSlice\";\nimport { SecureComponent } from \"../../../common/SecureComponent\";\nimport { useAppDispatch } from \"../../../store\";\nimport DistributedOnly from \"../Common/DistributedOnly/DistributedOnly\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../HelpMenu\";\n\nconst Heal = () => {\n const distributedSetup = useSelector(selDistSet);\n\n const [start, setStart] = useState(false);\n const [bucketName, setBucketName] = useState(\"\");\n const [bucketList, setBucketList] = useState([]);\n const [prefix, setPrefix] = useState(\"\");\n const [recursive, setRecursive] = useState(false);\n const [forceStart, setForceStart] = useState(false);\n const [forceStop, setForceStop] = useState(false);\n // healStatus states\n const [hStatus, setHStatus] = useState({\n beforeHeal: [0, 0, 0, 0],\n afterHeal: [0, 0, 0, 0],\n objectsHealed: 0,\n objectsScanned: 0,\n healDuration: 0,\n sizeScanned: \"\",\n });\n\n const fetchBucketList = () => {\n api.buckets\n .listBuckets()\n .then((res) => {\n let buckets: Bucket[] = [];\n if (res.data.buckets) {\n buckets = res.data.buckets;\n }\n setBucketList(buckets);\n })\n .catch((err) => {\n console.error(errorToHandler(err.error));\n });\n };\n\n useEffect(() => {\n fetchBucketList();\n }, []);\n\n // forceStart and forceStop need to be mutually exclusive\n useEffect(() => {\n if (forceStart) {\n setForceStop(false);\n }\n }, [forceStart]);\n\n useEffect(() => {\n if (forceStop) {\n setForceStart(false);\n }\n }, [forceStop]);\n\n const colorHealthArr = (color: colorH) => {\n return [color.Green, color.Yellow, color.Red, color.Grey];\n };\n\n useEffect(() => {\n // begin watch if bucketName in bucketList and start pressed\n if (start) {\n // values stored here to update chart\n const cB: colorH = { Green: 0, Yellow: 0, Red: 0, Grey: 0 };\n const cA: colorH = { Green: 0, Yellow: 0, Red: 0, Grey: 0 };\n\n const url = new URL(window.location.toString());\n const isDev = process.env.NODE_ENV === \"development\";\n const port = isDev ? \"9090\" : url.port;\n\n // check if we are using base path, if not this always is `/`\n const baseLocation = new URL(document.baseURI);\n const baseUrl = baseLocation.pathname;\n\n const wsProt = wsProtocol(url.protocol);\n const c = new W3CWebSocket(\n `${wsProt}://${url.hostname}:${port}${baseUrl}ws/heal/${bucketName}?prefix=${prefix}&recursive=${recursive}&force-start=${forceStart}&force-stop=${forceStop}`,\n );\n\n if (c !== null) {\n c.onopen = () => {\n console.log(\"WebSocket Client Connected\");\n c.send(\"ok\");\n };\n c.onmessage = (message: IMessageEvent) => {\n let m: HealStatus = JSON.parse(message.data.toString());\n // Store percentage per health color\n for (const [key, value] of Object.entries(m.healthAfterCols)) {\n cA[key] = (value * 100) / m.itemsScanned;\n }\n for (const [key, value] of Object.entries(m.healthBeforeCols)) {\n cB[key] = (value * 100) / m.itemsScanned;\n }\n setHStatus({\n beforeHeal: colorHealthArr(cB),\n afterHeal: colorHealthArr(cA),\n objectsHealed: m.objectsHealed,\n objectsScanned: m.objectsScanned,\n healDuration: m.healDuration,\n sizeScanned: niceBytes(m.bytesScanned.toString()),\n });\n };\n c.onclose = () => {\n setStart(false);\n console.log(\"connection closed by server\");\n };\n return () => {\n // close websocket on useEffect cleanup\n c.close(1000);\n console.log(\"closing websockets\");\n };\n }\n }\n }, [start, bucketName, forceStart, forceStop, prefix, recursive]);\n\n let data = [\n {\n name: \"Green\",\n ah: hStatus.afterHeal[0],\n bh: hStatus.beforeHeal[0],\n amt: 100,\n },\n {\n name: \"Yellow\",\n ah: hStatus.afterHeal[1],\n bh: hStatus.beforeHeal[1],\n amt: 100,\n },\n {\n name: \"Red\",\n ah: hStatus.afterHeal[2],\n bh: hStatus.beforeHeal[2],\n amt: 100,\n },\n {\n name: \"Grey\",\n ah: hStatus.afterHeal[3],\n bh: hStatus.beforeHeal[3],\n amt: 100,\n },\n ];\n const bucketNames = bucketList.map((bucketName) => ({\n label: bucketName.name,\n value: bucketName.name,\n }));\n const dispatch = useAppDispatch();\n useEffect(() => {\n dispatch(setHelpName(\"heal\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n } />\n\n \n {!distributedSetup ? (\n } />\n ) : (\n \n \n \n \n Bucket\n \n \n Prefix\n {\n setPrefix(e.target.value);\n }}\n />\n \n \n \n \n {\n setRecursive(!recursive);\n }}\n disabled={false}\n label=\"Recursive\"\n />\n \n \n {\n setForceStart(!forceStart);\n }}\n disabled={false}\n label=\"Force Start\"\n />\n \n \n {\n setForceStop(!forceStop);\n }}\n disabled={false}\n label=\"Force Stop\"\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Size scanned: {hStatus.sizeScanned}\n \n \n Objects healed: {hStatus.objectsHealed} /{\" \"}\n {hStatus.objectsScanned}\n \n \n Healing time: {hStatus.healDuration}s\n \n \n \n \n )}\n \n \n );\n};\n\nexport default Heal;\n","var naiveFallback = function () {\n\tif (typeof self === \"object\" && self) return self;\n\tif (typeof window === \"object\" && window) return window;\n\tthrow new Error(\"Unable to resolve global `this`\");\n};\n\nmodule.exports = (function () {\n\tif (this) return this;\n\n\t// Unexpected strict mode (may happen if e.g. bundled into ESM module)\n\n\t// Fallback to standard globalThis if available\n\tif (typeof globalThis === \"object\" && globalThis) return globalThis;\n\n\t// Thanks @mathiasbynens -> https://mathiasbynens.be/notes/globalthis\n\t// In all ES5+ engines global object inherits from Object.prototype\n\t// (if you approached one that doesn't please report)\n\ttry {\n\t\tObject.defineProperty(Object.prototype, \"__global__\", {\n\t\t\tget: function () { return this; },\n\t\t\tconfigurable: true\n\t\t});\n\t} catch (error) {\n\t\t// Unfortunate case of updates to Object.prototype being restricted\n\t\t// via preventExtensions, seal or freeze\n\t\treturn naiveFallback();\n\t}\n\ttry {\n\t\t// Safari case (window.__global__ works, but __global__ does not)\n\t\tif (!__global__) return naiveFallback();\n\t\treturn __global__;\n\t} finally {\n\t\tdelete Object.prototype.__global__;\n\t}\n})();\n","/**\n * @fileOverview Bar Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { Bar } from '../cartesian/Bar';\nimport { XAxis } from '../cartesian/XAxis';\nimport { YAxis } from '../cartesian/YAxis';\nimport { formatAxisMap } from '../util/CartesianUtils';\nexport var BarChart = generateCategoricalChart({\n chartName: 'BarChart',\n GraphicalChild: Bar,\n defaultTooltipEventType: 'axis',\n validateTooltipEventTypes: ['axis', 'item'],\n axisComponents: [{\n axisType: 'xAxis',\n AxisComp: XAxis\n }, {\n axisType: 'yAxis',\n AxisComp: YAxis\n }],\n formatAxisMap: formatAxisMap\n});","var _globalThis;\nif (typeof globalThis === 'object') {\n\t_globalThis = globalThis;\n} else {\n\ttry {\n\t\t_globalThis = require('es5-ext/global');\n\t} catch (error) {\n\t} finally {\n\t\tif (!_globalThis && typeof window !== 'undefined') { _globalThis = window; }\n\t\tif (!_globalThis) { throw new Error('Could not determine global this'); }\n\t}\n}\n\nvar NativeWebSocket = _globalThis.WebSocket || _globalThis.MozWebSocket;\nvar websocket_version = require('./version');\n\n\n/**\n * Expose a W3C WebSocket class with just one or two arguments.\n */\nfunction W3CWebSocket(uri, protocols) {\n\tvar native_instance;\n\n\tif (protocols) {\n\t\tnative_instance = new NativeWebSocket(uri, protocols);\n\t}\n\telse {\n\t\tnative_instance = new NativeWebSocket(uri);\n\t}\n\n\t/**\n\t * 'native_instance' is an instance of nativeWebSocket (the browser's WebSocket\n\t * class). Since it is an Object it will be returned as it is when creating an\n\t * instance of W3CWebSocket via 'new W3CWebSocket()'.\n\t *\n\t * ECMAScript 5: http://bclary.com/2004/11/07/#a-13.2.2\n\t */\n\treturn native_instance;\n}\nif (NativeWebSocket) {\n\t['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'].forEach(function(prop) {\n\t\tObject.defineProperty(W3CWebSocket, prop, {\n\t\t\tget: function() { return NativeWebSocket[prop]; }\n\t\t});\n\t});\n}\n\n/**\n * Module exports.\n */\nmodule.exports = {\n 'w3cwebsocket' : NativeWebSocket ? W3CWebSocket : null,\n 'version' : websocket_version\n};\n","module.exports = require('../package.json').version;\n"],"names":["_ref","iconComponent","entity","_jsx","Grid","container","children","item","xs","HelpBox","title","concat","help","_jsxs","Box","sx","fontSize","breakPoints","sm","display","flexFlow","href","target","rel","Heal","distributedSetup","useSelector","selDistSet","start","setStart","useState","bucketName","setBucketName","bucketList","setBucketList","prefix","setPrefix","recursive","setRecursive","forceStart","setForceStart","forceStop","setForceStop","hStatus","setHStatus","beforeHeal","afterHeal","objectsHealed","objectsScanned","healDuration","sizeScanned","useEffect","api","buckets","listBuckets","then","res","data","catch","err","console","error","errorToHandler","colorHealthArr","color","Green","Yellow","Red","Grey","cB","cA","url","URL","window","location","toString","port","process","baseUrl","document","baseURI","pathname","wsProt","wsProtocol","protocol","c","W3CWebSocket","hostname","onopen","log","send","onmessage","message","m","JSON","parse","key","value","Object","entries","healthAfterCols","itemsScanned","healthBeforeCols","niceBytes","bytesScanned","onclose","close","name","ah","bh","amt","bucketNames","map","label","dispatch","useAppDispatch","setHelpName","Fragment","PageHeaderWrapper","actions","HelpMenu","PageLayout","SecureComponent","scopes","IAM_SCOPES","ADMIN_HEAL","resource","CONSOLE_UI_RESOURCE","withBorders","alignItems","marginBottom","gap","flexGrow","width","InputLabel","Select","id","onChange","options","placeholder","InputBox","disabled","e","Checkbox","checked","modalStyleUtils","modalButtonBar","Button","type","variant","onClick","marginTop","listStyle","content","ResponsiveContainer","height","BarChart","margin","top","right","left","bottom","CartesianGrid","strokeDasharray","XAxis","dataKey","YAxis","Tooltip","Legend","verticalAlign","layout","className","Bar","fill","stroke","flexDirection","justifyContent","DistributedOnly","HealIcon","naiveFallback","self","Error","module","exports","this","globalThis","defineProperty","prototype","get","configurable","__global__","generateCategoricalChart","chartName","GraphicalChild","defaultTooltipEventType","validateTooltipEventTypes","axisComponents","axisType","AxisComp","formatAxisMap","_globalThis","require","NativeWebSocket","WebSocket","MozWebSocket","websocket_version","uri","protocols","forEach","prop"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1829.abb8cc29.chunk.js b/portal-ui/build/static/js/1829.abb8cc29.chunk.js
new file mode 100644
index 0000000000..4e71b16041
--- /dev/null
+++ b/portal-ui/build/static/js/1829.abb8cc29.chunk.js
@@ -0,0 +1,2 @@
+(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1829],{47986:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});n(72791);var r=n(29945),o=n(80184);const i=e=>{let{iconComponent:t,entity:n}=e;return(0,o.jsx)(r.rjZ,{container:!0,children:(0,o.jsx)(r.rjZ,{item:!0,xs:12,children:(0,o.jsx)(r.KfX,{title:"".concat(n," not available"),iconComponent:t,help:(0,o.jsxs)(r.xuv,{sx:{fontSize:"14px",["@media (max-width: ".concat(r.Egj.sm,"px)")]:{display:"flex",flexFlow:"column"}},children:[(0,o.jsx)("span",{children:"This feature is not available for a single-disk setup.\xa0"}),(0,o.jsxs)("span",{children:["Please deploy a server in"," ",(0,o.jsx)("a",{href:"https://min.io/docs/minio/linux/operations/install-deploy-manage/deploy-minio-multi-node-multi-drive.html?ref=con",target:"_blank",rel:"noopener",children:"Distributed Mode"})," ","to use this feature."]})]})})})})}},61829:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>E});var r=n(72791),o=n(78687),i=n(95087),a=n(29945),s=n(19913),l=n(38725),c=n(82839),u=n(90466),h=n(12891),d=n(71827),f=n(27281),b=n(23782),p=n(31776),m=n(82342),x=n(26824),g=n(45248),y=n(23814),v=n(56087),j=n(87995),w=n(38442),S=n(44690),C=n(47986),O=n(79844),k=n(99670),H=n(80184);const E=()=>{const e=(0,o.v9)(j.N5),[t,n]=(0,r.useState)(!1),[E,A]=(0,r.useState)(""),[D,T]=(0,r.useState)([]),[B,P]=(0,r.useState)(""),[N,R]=(0,r.useState)(!1),[Z,_]=(0,r.useState)(!1),[G,z]=(0,r.useState)(!1),[W,I]=(0,r.useState)({beforeHeal:[0,0,0,0],afterHeal:[0,0,0,0],objectsHealed:0,objectsScanned:0,healDuration:0,sizeScanned:""});(0,r.useEffect)((()=>{p.h.buckets.listBuckets().then((e=>{let t=[];e.data.buckets&&(t=e.data.buckets),T(t)})).catch((e=>{console.error((0,m.g)(e.error))}))}),[]),(0,r.useEffect)((()=>{Z&&z(!1)}),[Z]),(0,r.useEffect)((()=>{G&&_(!1)}),[G]);const M=e=>[e.Green,e.Yellow,e.Red,e.Grey];(0,r.useEffect)((()=>{if(t){const e={Green:0,Yellow:0,Red:0,Grey:0},t={Green:0,Yellow:0,Red:0,Grey:0},r=new URL(window.location.toString()),o=!1?"9090":r.port,a=new URL(document.baseURI).pathname,s=(0,x.x2)(r.protocol),l=new i.w3cwebsocket("".concat(s,"://").concat(r.hostname,":").concat(o).concat(a,"ws/heal/").concat(E,"?prefix=").concat(B,"&recursive=").concat(N,"&force-start=").concat(Z,"&force-stop=").concat(G));if(null!==l)return l.onopen=()=>{console.log("WebSocket Client Connected"),l.send("ok")},l.onmessage=n=>{let r=JSON.parse(n.data.toString());for(const[e,o]of Object.entries(r.healthAfterCols))t[e]=100*o/r.itemsScanned;for(const[t,o]of Object.entries(r.healthBeforeCols))e[t]=100*o/r.itemsScanned;I({beforeHeal:M(e),afterHeal:M(t),objectsHealed:r.objectsHealed,objectsScanned:r.objectsScanned,healDuration:r.healDuration,sizeScanned:(0,g.ae)(r.bytesScanned.toString())})},l.onclose=()=>{n(!1),console.log("connection closed by server")},()=>{l.close(1e3),console.log("closing websockets")}}}),[t,E,Z,G,B,N]);let U=[{name:"Green",ah:W.afterHeal[0],bh:W.beforeHeal[0],amt:100},{name:"Yellow",ah:W.afterHeal[1],bh:W.beforeHeal[1],amt:100},{name:"Red",ah:W.afterHeal[2],bh:W.beforeHeal[2],amt:100},{name:"Grey",ah:W.afterHeal[3],bh:W.beforeHeal[3],amt:100}];const L=D.map((e=>({label:e.name,value:e.name}))),F=(0,S.TL)();return(0,r.useEffect)((()=>{F((0,j.Sc)("heal"))}),[]),(0,H.jsxs)(r.Fragment,{children:[(0,H.jsx)(O.Z,{label:"Drives",actions:(0,H.jsx)(k.Z,{})}),(0,H.jsx)(a.Xgh,{children:e?(0,H.jsxs)(w.s,{scopes:[v.Ft.ADMIN_HEAL],resource:v.C3,children:[(0,H.jsxs)(a.xuv,{withBorders:!0,children:[(0,H.jsxs)(a.xuv,{sx:{display:"flex",alignItems:"center",marginBottom:15,gap:15},children:[(0,H.jsxs)(a.xuv,{sx:{flexGrow:1,width:"100%"},children:[(0,H.jsx)(a.AZs,{children:"Bucket"}),(0,H.jsx)(a.PhF,{id:"bucket-name",name:"bucket-name",value:E,onChange:e=>{A(e)},options:L,placeholder:"Select Bucket"})]}),(0,H.jsxs)(a.xuv,{sx:{flexGrow:1,width:"100%"},children:[(0,H.jsx)(a.AZs,{children:"Prefix"}),(0,H.jsx)(a.Wzg,{id:"prefix-resource",disabled:!1,onChange:e=>{P(e.target.value)}})]})]}),(0,H.jsxs)(a.xuv,{sx:{display:"flex",gap:20},children:[(0,H.jsx)(a.xuv,{children:(0,H.jsx)(a.XZJ,{name:"recursive",id:"recursive",value:"recursive",checked:N,onChange:()=>{R(!N)},disabled:!1,label:"Recursive"})}),(0,H.jsx)(a.xuv,{children:(0,H.jsx)(a.XZJ,{name:"forceStart",id:"forceStart",value:"forceStart",checked:Z,onChange:()=>{_(!Z)},disabled:!1,label:"Force Start"})}),(0,H.jsx)(a.xuv,{children:(0,H.jsx)(a.XZJ,{name:"forceStop",id:"forceStop",value:"forceStop",checked:G,onChange:()=>{z(!G)},disabled:!1,label:"Force Stop"})})]}),(0,H.jsx)(a.xuv,{sx:y.ID.modalButtonBar,children:(0,H.jsx)(a.zxk,{id:"start-heal",type:"submit",variant:"callAction",color:"primary",disabled:t,onClick:()=>n(!0),label:"Start"})})]}),(0,H.jsxs)(a.xuv,{withBorders:!0,sx:{marginTop:15,'& ul li:not([class*="Mui"])::before':{listStyle:"none",content:"' '"}},children:[(0,H.jsx)(s.h,{width:"90%",height:400,children:(0,H.jsxs)(l.v,{width:600,height:400,data:U,margin:{top:5,right:30,left:20,bottom:5},children:[(0,H.jsx)(c.q,{strokeDasharray:"3 3"}),(0,H.jsx)(u.K,{dataKey:"name"}),(0,H.jsx)(h.B,{}),(0,H.jsx)(d.u,{}),(0,H.jsx)(f.D,{verticalAlign:"top",layout:"horizontal",className:"noLi"}),(0,H.jsx)(b.$,{dataKey:"ah",name:"After Healing",fill:"#2781B060",stroke:"#2781B0"}),(0,H.jsx)(b.$,{dataKey:"bh",name:"Before Healing",fill:"#C83B5160",stroke:"#C83B51"})]})}),(0,H.jsxs)(a.rjZ,{item:!0,xs:12,sx:{marginTop:20,display:"flex",flexDirection:"row",justifyContent:"space-between","& .scanData":{}},children:[(0,H.jsxs)(a.xuv,{className:"scanData",children:[(0,H.jsx)("strong",{children:"Size scanned:"})," ",W.sizeScanned]}),(0,H.jsxs)(a.xuv,{className:"scanData",children:[(0,H.jsx)("strong",{children:"Objects healed:"})," ",W.objectsHealed," /"," ",W.objectsScanned]}),(0,H.jsxs)(a.xuv,{className:"scanData",children:[(0,H.jsx)("strong",{children:"Healing time:"})," ",W.healDuration,"s"]})]})]})]}):(0,H.jsx)(C.Z,{entity:"Heal",iconComponent:(0,H.jsx)(a.lnI,{})})})]})}},94210:e=>{var t=function(){if("object"===typeof self&&self)return self;if("object"===typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};e.exports=function(){if(this)return this;if("object"===typeof globalThis&&globalThis)return globalThis;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return t()}try{return __global__||t()}finally{delete Object.prototype.__global__}}()},38725:(e,t,n)=>{"use strict";n.d(t,{v:()=>l});var r=n(34549),o=n(23782),i=n(90466),a=n(12891),s=n(93137),l=(0,r.z)({chartName:"BarChart",GraphicalChild:o.$,defaultTooltipEventType:"axis",validateTooltipEventTypes:["axis","item"],axisComponents:[{axisType:"xAxis",AxisComp:i.K},{axisType:"yAxis",AxisComp:a.B}],formatAxisMap:s.t9})},19913:(e,t,n)=>{"use strict";n.d(t,{h:()=>x});var r=n(63733),o=n(72791),i=n(33038),a=n.n(i),s=n(57441),l=n(70587),c=n(15303),u=n(23031);function h(e){return h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},h(e)}function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function f(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&(e=a()(e,C,{trailing:!0,leading:!1}));var t=new ResizeObserver(e),n=D.current.getBoundingClientRect(),r=n.width,o=n.height;return R(r,o),t.observe(D.current),function(){t.disconnect()}}),[R,C]);var Z=(0,o.useMemo)((function(){var e=P.containerWidth,t=P.containerHeight;if(e<0||t<0)return null;(0,c.Z)((0,l.hU)(b)||(0,l.hU)(x),"The width(%s) and height(%s) are both fixed numbers,\n maybe you don't need to use a ResponsiveContainer.",b,x),(0,c.Z)(!n||n>0,"The aspect(%s) must be greater than zero.",n);var r=(0,l.hU)(b)?e:b,i=(0,l.hU)(x)?t:x;n&&n>0&&(r?i=r/n:i&&(r=i*n),j&&i>j&&(i=j)),(0,c.Z)(r>0||i>0,"The width(%s) and height(%s) of chart should be greater than 0,\n please check the style of container, or the props width(%s) and height(%s),\n or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the\n height and width.",r,i,b,x,y,v,n);var a=!Array.isArray(w)&&(0,s.isElement)(w)&&(0,u.Gf)(w.type).endsWith("Chart");return o.Children.map(w,(function(e){return(0,s.isElement)(e)?(0,o.cloneElement)(e,f({width:r,height:i},a?{style:f({height:"100%",width:"100%",maxHeight:i,maxWidth:r},e.props.style)}:{})):e}))}),[n,w,x,j,v,y,P,b]);return o.createElement("div",{id:O?"".concat(O):void 0,className:(0,r.Z)("recharts-responsive-container",k),style:f(f({},A),{},{width:b,height:x,minWidth:y,minHeight:v,maxHeight:j}),ref:D},Z)}))},95087:(e,t,n)=>{var r;if("object"===typeof globalThis)r=globalThis;else try{r=n(94210)}catch(s){}finally{if(r||"undefined"===typeof window||(r=window),!r)throw new Error("Could not determine global this")}var o=r.WebSocket||r.MozWebSocket,i=n(51496);function a(e,t){return t?new o(e,t):new o(e)}o&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach((function(e){Object.defineProperty(a,e,{get:function(){return o[e]}})})),e.exports={w3cwebsocket:o?a:null,version:i}},51496:(e,t,n)=>{e.exports=n(19794).version},19794:e=>{"use strict";e.exports={version:"1.0.34"}}}]);
+//# sourceMappingURL=1829.abb8cc29.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1829.abb8cc29.chunk.js.map b/portal-ui/build/static/js/1829.abb8cc29.chunk.js.map
new file mode 100644
index 0000000000..8dbe24dd96
--- /dev/null
+++ b/portal-ui/build/static/js/1829.abb8cc29.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/1829.abb8cc29.chunk.js","mappings":"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","sources":["screens/Console/Common/DistributedOnly/DistributedOnly.tsx","screens/Console/Heal/Heal.tsx","../node_modules/es5-ext/global.js","../node_modules/recharts/es6/chart/BarChart.js","../node_modules/recharts/es6/component/ResponsiveContainer.js","../node_modules/websocket/lib/browser.js","../node_modules/websocket/lib/version.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { HelpBox, Box, Grid, breakPoints } from \"mds\";\n\ninterface IDistributedOnly {\n iconComponent: any;\n entity: string;\n}\n\nconst DistributedOnly = ({ iconComponent, entity }: IDistributedOnly) => {\n return (\n \n \n \n \n This feature is not available for a single-disk setup. \n \n \n Please deploy a server in{\" \"}\n \n Distributed Mode\n {\" \"}\n to use this feature.\n \n \n }\n />\n \n \n );\n};\n\nexport default DistributedOnly;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { IMessageEvent, w3cwebsocket as W3CWebSocket } from \"websocket\";\nimport {\n Box,\n Button,\n Checkbox,\n Grid,\n HealIcon,\n InputBox,\n InputLabel,\n PageLayout,\n Select,\n} from \"mds\";\nimport {\n Bar,\n BarChart,\n CartesianGrid,\n Legend,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from \"recharts\";\n\nimport { api } from \"api\";\nimport { Bucket } from \"api/consoleApi\";\nimport { errorToHandler } from \"api/errors\";\nimport { wsProtocol } from \"../../../utils/wsUtils\";\nimport { colorH, HealStatus } from \"./types\";\nimport { niceBytes } from \"../../../common/utils\";\nimport { modalStyleUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport { selDistSet, setHelpName } from \"../../../systemSlice\";\nimport { SecureComponent } from \"../../../common/SecureComponent\";\nimport { useAppDispatch } from \"../../../store\";\nimport DistributedOnly from \"../Common/DistributedOnly/DistributedOnly\";\nimport PageHeaderWrapper from \"../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../HelpMenu\";\n\nconst Heal = () => {\n const distributedSetup = useSelector(selDistSet);\n\n const [start, setStart] = useState(false);\n const [bucketName, setBucketName] = useState(\"\");\n const [bucketList, setBucketList] = useState([]);\n const [prefix, setPrefix] = useState(\"\");\n const [recursive, setRecursive] = useState(false);\n const [forceStart, setForceStart] = useState(false);\n const [forceStop, setForceStop] = useState(false);\n // healStatus states\n const [hStatus, setHStatus] = useState({\n beforeHeal: [0, 0, 0, 0],\n afterHeal: [0, 0, 0, 0],\n objectsHealed: 0,\n objectsScanned: 0,\n healDuration: 0,\n sizeScanned: \"\",\n });\n\n const fetchBucketList = () => {\n api.buckets\n .listBuckets()\n .then((res) => {\n let buckets: Bucket[] = [];\n if (res.data.buckets) {\n buckets = res.data.buckets;\n }\n setBucketList(buckets);\n })\n .catch((err) => {\n console.error(errorToHandler(err.error));\n });\n };\n\n useEffect(() => {\n fetchBucketList();\n }, []);\n\n // forceStart and forceStop need to be mutually exclusive\n useEffect(() => {\n if (forceStart) {\n setForceStop(false);\n }\n }, [forceStart]);\n\n useEffect(() => {\n if (forceStop) {\n setForceStart(false);\n }\n }, [forceStop]);\n\n const colorHealthArr = (color: colorH) => {\n return [color.Green, color.Yellow, color.Red, color.Grey];\n };\n\n useEffect(() => {\n // begin watch if bucketName in bucketList and start pressed\n if (start) {\n // values stored here to update chart\n const cB: colorH = { Green: 0, Yellow: 0, Red: 0, Grey: 0 };\n const cA: colorH = { Green: 0, Yellow: 0, Red: 0, Grey: 0 };\n\n const url = new URL(window.location.toString());\n const isDev = process.env.NODE_ENV === \"development\";\n const port = isDev ? \"9090\" : url.port;\n\n // check if we are using base path, if not this always is `/`\n const baseLocation = new URL(document.baseURI);\n const baseUrl = baseLocation.pathname;\n\n const wsProt = wsProtocol(url.protocol);\n const c = new W3CWebSocket(\n `${wsProt}://${url.hostname}:${port}${baseUrl}ws/heal/${bucketName}?prefix=${prefix}&recursive=${recursive}&force-start=${forceStart}&force-stop=${forceStop}`,\n );\n\n if (c !== null) {\n c.onopen = () => {\n console.log(\"WebSocket Client Connected\");\n c.send(\"ok\");\n };\n c.onmessage = (message: IMessageEvent) => {\n let m: HealStatus = JSON.parse(message.data.toString());\n // Store percentage per health color\n for (const [key, value] of Object.entries(m.healthAfterCols)) {\n cA[key] = (value * 100) / m.itemsScanned;\n }\n for (const [key, value] of Object.entries(m.healthBeforeCols)) {\n cB[key] = (value * 100) / m.itemsScanned;\n }\n setHStatus({\n beforeHeal: colorHealthArr(cB),\n afterHeal: colorHealthArr(cA),\n objectsHealed: m.objectsHealed,\n objectsScanned: m.objectsScanned,\n healDuration: m.healDuration,\n sizeScanned: niceBytes(m.bytesScanned.toString()),\n });\n };\n c.onclose = () => {\n setStart(false);\n console.log(\"connection closed by server\");\n };\n return () => {\n // close websocket on useEffect cleanup\n c.close(1000);\n console.log(\"closing websockets\");\n };\n }\n }\n }, [start, bucketName, forceStart, forceStop, prefix, recursive]);\n\n let data = [\n {\n name: \"Green\",\n ah: hStatus.afterHeal[0],\n bh: hStatus.beforeHeal[0],\n amt: 100,\n },\n {\n name: \"Yellow\",\n ah: hStatus.afterHeal[1],\n bh: hStatus.beforeHeal[1],\n amt: 100,\n },\n {\n name: \"Red\",\n ah: hStatus.afterHeal[2],\n bh: hStatus.beforeHeal[2],\n amt: 100,\n },\n {\n name: \"Grey\",\n ah: hStatus.afterHeal[3],\n bh: hStatus.beforeHeal[3],\n amt: 100,\n },\n ];\n const bucketNames = bucketList.map((bucketName) => ({\n label: bucketName.name,\n value: bucketName.name,\n }));\n const dispatch = useAppDispatch();\n useEffect(() => {\n dispatch(setHelpName(\"heal\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n } />\n\n \n {!distributedSetup ? (\n } />\n ) : (\n \n \n \n \n Bucket\n \n \n Prefix\n {\n setPrefix(e.target.value);\n }}\n />\n \n \n \n \n {\n setRecursive(!recursive);\n }}\n disabled={false}\n label=\"Recursive\"\n />\n \n \n {\n setForceStart(!forceStart);\n }}\n disabled={false}\n label=\"Force Start\"\n />\n \n \n {\n setForceStop(!forceStop);\n }}\n disabled={false}\n label=\"Force Stop\"\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Size scanned: {hStatus.sizeScanned}\n \n \n Objects healed: {hStatus.objectsHealed} /{\" \"}\n {hStatus.objectsScanned}\n \n \n Healing time: {hStatus.healDuration}s\n \n \n \n \n )}\n \n \n );\n};\n\nexport default Heal;\n","var naiveFallback = function () {\n\tif (typeof self === \"object\" && self) return self;\n\tif (typeof window === \"object\" && window) return window;\n\tthrow new Error(\"Unable to resolve global `this`\");\n};\n\nmodule.exports = (function () {\n\tif (this) return this;\n\n\t// Unexpected strict mode (may happen if e.g. bundled into ESM module)\n\n\t// Fallback to standard globalThis if available\n\tif (typeof globalThis === \"object\" && globalThis) return globalThis;\n\n\t// Thanks @mathiasbynens -> https://mathiasbynens.be/notes/globalthis\n\t// In all ES5+ engines global object inherits from Object.prototype\n\t// (if you approached one that doesn't please report)\n\ttry {\n\t\tObject.defineProperty(Object.prototype, \"__global__\", {\n\t\t\tget: function () { return this; },\n\t\t\tconfigurable: true\n\t\t});\n\t} catch (error) {\n\t\t// Unfortunate case of updates to Object.prototype being restricted\n\t\t// via preventExtensions, seal or freeze\n\t\treturn naiveFallback();\n\t}\n\ttry {\n\t\t// Safari case (window.__global__ works, but __global__ does not)\n\t\tif (!__global__) return naiveFallback();\n\t\treturn __global__;\n\t} finally {\n\t\tdelete Object.prototype.__global__;\n\t}\n})();\n","/**\n * @fileOverview Bar Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { Bar } from '../cartesian/Bar';\nimport { XAxis } from '../cartesian/XAxis';\nimport { YAxis } from '../cartesian/YAxis';\nimport { formatAxisMap } from '../util/CartesianUtils';\nexport var BarChart = generateCategoricalChart({\n chartName: 'BarChart',\n GraphicalChild: Bar,\n defaultTooltipEventType: 'axis',\n validateTooltipEventTypes: ['axis', 'item'],\n axisComponents: [{\n axisType: 'xAxis',\n AxisComp: XAxis\n }, {\n axisType: 'yAxis',\n AxisComp: YAxis\n }],\n formatAxisMap: formatAxisMap\n});","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n/**\n * @fileOverview Wrapper component to make charts adapt to the size of parent * DOM\n */\nimport clsx from 'clsx';\nimport React, { forwardRef, cloneElement, useState, useImperativeHandle, useRef, useEffect, useMemo, useCallback } from 'react';\nimport throttle from 'lodash/throttle';\nimport { isElement } from 'react-is';\nimport { isPercent } from '../util/DataUtils';\nimport { warn } from '../util/LogUtils';\nimport { getDisplayName } from '../util/ReactUtils';\nexport var ResponsiveContainer = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var aspect = _ref.aspect,\n _ref$initialDimension = _ref.initialDimension,\n initialDimension = _ref$initialDimension === void 0 ? {\n width: -1,\n height: -1\n } : _ref$initialDimension,\n _ref$width = _ref.width,\n width = _ref$width === void 0 ? '100%' : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? '100%' : _ref$height,\n _ref$minWidth = _ref.minWidth,\n minWidth = _ref$minWidth === void 0 ? 0 : _ref$minWidth,\n minHeight = _ref.minHeight,\n maxHeight = _ref.maxHeight,\n children = _ref.children,\n _ref$debounce = _ref.debounce,\n debounce = _ref$debounce === void 0 ? 0 : _ref$debounce,\n id = _ref.id,\n className = _ref.className,\n onResize = _ref.onResize,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style;\n var containerRef = useRef(null);\n var onResizeRef = useRef();\n onResizeRef.current = onResize;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n useImperativeHandle(ref, function () {\n return containerRef;\n });\n var _useState = useState({\n containerWidth: initialDimension.width,\n containerHeight: initialDimension.height\n }),\n _useState2 = _slicedToArray(_useState, 2),\n sizes = _useState2[0],\n setSizes = _useState2[1];\n var setContainerSize = useCallback(function (newWidth, newHeight) {\n setSizes(function (prevState) {\n var roundedWidth = Math.round(newWidth);\n var roundedHeight = Math.round(newHeight);\n if (prevState.containerWidth === roundedWidth && prevState.containerHeight === roundedHeight) {\n return prevState;\n }\n return {\n containerWidth: roundedWidth,\n containerHeight: roundedHeight\n };\n });\n }, []);\n useEffect(function () {\n var callback = function callback(entries) {\n var _onResizeRef$current;\n var _entries$0$contentRec = entries[0].contentRect,\n containerWidth = _entries$0$contentRec.width,\n containerHeight = _entries$0$contentRec.height;\n setContainerSize(containerWidth, containerHeight);\n (_onResizeRef$current = onResizeRef.current) === null || _onResizeRef$current === void 0 || _onResizeRef$current.call(onResizeRef, containerWidth, containerHeight);\n };\n if (debounce > 0) {\n callback = throttle(callback, debounce, {\n trailing: true,\n leading: false\n });\n }\n var observer = new ResizeObserver(callback);\n var _containerRef$current = containerRef.current.getBoundingClientRect(),\n containerWidth = _containerRef$current.width,\n containerHeight = _containerRef$current.height;\n setContainerSize(containerWidth, containerHeight);\n observer.observe(containerRef.current);\n return function () {\n observer.disconnect();\n };\n }, [setContainerSize, debounce]);\n var chartContent = useMemo(function () {\n var containerWidth = sizes.containerWidth,\n containerHeight = sizes.containerHeight;\n if (containerWidth < 0 || containerHeight < 0) {\n return null;\n }\n warn(isPercent(width) || isPercent(height), \"The width(%s) and height(%s) are both fixed numbers,\\n maybe you don't need to use a ResponsiveContainer.\", width, height);\n warn(!aspect || aspect > 0, 'The aspect(%s) must be greater than zero.', aspect);\n var calculatedWidth = isPercent(width) ? containerWidth : width;\n var calculatedHeight = isPercent(height) ? containerHeight : height;\n if (aspect && aspect > 0) {\n // Preserve the desired aspect ratio\n if (calculatedWidth) {\n // Will default to using width for aspect ratio\n calculatedHeight = calculatedWidth / aspect;\n } else if (calculatedHeight) {\n // But we should also take height into consideration\n calculatedWidth = calculatedHeight * aspect;\n }\n\n // if maxHeight is set, overwrite if calculatedHeight is greater than maxHeight\n if (maxHeight && calculatedHeight > maxHeight) {\n calculatedHeight = maxHeight;\n }\n }\n warn(calculatedWidth > 0 || calculatedHeight > 0, \"The width(%s) and height(%s) of chart should be greater than 0,\\n please check the style of container, or the props width(%s) and height(%s),\\n or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the\\n height and width.\", calculatedWidth, calculatedHeight, width, height, minWidth, minHeight, aspect);\n var isCharts = !Array.isArray(children) && isElement(children) && getDisplayName(children.type).endsWith('Chart');\n return React.Children.map(children, function (child) {\n if (isElement(child)) {\n return /*#__PURE__*/cloneElement(child, _objectSpread({\n width: calculatedWidth,\n height: calculatedHeight\n }, isCharts ? {\n style: _objectSpread({\n height: '100%',\n width: '100%',\n maxHeight: calculatedHeight,\n maxWidth: calculatedWidth\n }, child.props.style)\n } : {}));\n }\n return child;\n });\n }, [aspect, children, height, maxHeight, minHeight, minWidth, sizes, width]);\n return /*#__PURE__*/React.createElement(\"div\", {\n id: id ? \"\".concat(id) : undefined,\n className: clsx('recharts-responsive-container', className),\n style: _objectSpread(_objectSpread({}, style), {}, {\n width: width,\n height: height,\n minWidth: minWidth,\n minHeight: minHeight,\n maxHeight: maxHeight\n }),\n ref: containerRef\n }, chartContent);\n});","var _globalThis;\nif (typeof globalThis === 'object') {\n\t_globalThis = globalThis;\n} else {\n\ttry {\n\t\t_globalThis = require('es5-ext/global');\n\t} catch (error) {\n\t} finally {\n\t\tif (!_globalThis && typeof window !== 'undefined') { _globalThis = window; }\n\t\tif (!_globalThis) { throw new Error('Could not determine global this'); }\n\t}\n}\n\nvar NativeWebSocket = _globalThis.WebSocket || _globalThis.MozWebSocket;\nvar websocket_version = require('./version');\n\n\n/**\n * Expose a W3C WebSocket class with just one or two arguments.\n */\nfunction W3CWebSocket(uri, protocols) {\n\tvar native_instance;\n\n\tif (protocols) {\n\t\tnative_instance = new NativeWebSocket(uri, protocols);\n\t}\n\telse {\n\t\tnative_instance = new NativeWebSocket(uri);\n\t}\n\n\t/**\n\t * 'native_instance' is an instance of nativeWebSocket (the browser's WebSocket\n\t * class). Since it is an Object it will be returned as it is when creating an\n\t * instance of W3CWebSocket via 'new W3CWebSocket()'.\n\t *\n\t * ECMAScript 5: http://bclary.com/2004/11/07/#a-13.2.2\n\t */\n\treturn native_instance;\n}\nif (NativeWebSocket) {\n\t['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'].forEach(function(prop) {\n\t\tObject.defineProperty(W3CWebSocket, prop, {\n\t\t\tget: function() { return NativeWebSocket[prop]; }\n\t\t});\n\t});\n}\n\n/**\n * Module exports.\n */\nmodule.exports = {\n 'w3cwebsocket' : NativeWebSocket ? W3CWebSocket : null,\n 'version' : websocket_version\n};\n","module.exports = require('../package.json').version;\n"],"names":["_ref","iconComponent","entity","_jsx","Grid","container","children","item","xs","HelpBox","title","concat","help","_jsxs","Box","sx","fontSize","breakPoints","sm","display","flexFlow","href","target","rel","Heal","distributedSetup","useSelector","selDistSet","start","setStart","useState","bucketName","setBucketName","bucketList","setBucketList","prefix","setPrefix","recursive","setRecursive","forceStart","setForceStart","forceStop","setForceStop","hStatus","setHStatus","beforeHeal","afterHeal","objectsHealed","objectsScanned","healDuration","sizeScanned","useEffect","api","buckets","listBuckets","then","res","data","catch","err","console","error","errorToHandler","colorHealthArr","color","Green","Yellow","Red","Grey","cB","cA","url","URL","window","location","toString","port","process","baseUrl","document","baseURI","pathname","wsProt","wsProtocol","protocol","c","W3CWebSocket","hostname","onopen","log","send","onmessage","message","m","JSON","parse","key","value","Object","entries","healthAfterCols","itemsScanned","healthBeforeCols","niceBytes","bytesScanned","onclose","close","name","ah","bh","amt","bucketNames","map","label","dispatch","useAppDispatch","setHelpName","Fragment","PageHeaderWrapper","actions","HelpMenu","PageLayout","SecureComponent","scopes","IAM_SCOPES","ADMIN_HEAL","resource","CONSOLE_UI_RESOURCE","withBorders","alignItems","marginBottom","gap","flexGrow","width","InputLabel","Select","id","onChange","options","placeholder","InputBox","disabled","e","Checkbox","checked","modalStyleUtils","modalButtonBar","Button","type","variant","onClick","marginTop","listStyle","content","ResponsiveContainer","height","BarChart","margin","top","right","left","bottom","CartesianGrid","strokeDasharray","XAxis","dataKey","YAxis","Tooltip","Legend","verticalAlign","layout","className","Bar","fill","stroke","flexDirection","justifyContent","DistributedOnly","HealIcon","naiveFallback","self","Error","module","exports","this","globalThis","defineProperty","prototype","get","configurable","__global__","generateCategoricalChart","chartName","GraphicalChild","defaultTooltipEventType","validateTooltipEventTypes","axisComponents","axisType","AxisComp","formatAxisMap","_typeof","o","Symbol","iterator","constructor","ownKeys","r","t","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","obj","arg","input","hint","prim","toPrimitive","undefined","call","TypeError","String","Number","_toPrimitive","_toPropertyKey","writable","_slicedToArray","arr","i","Array","isArray","_arrayWithHoles","l","n","u","a","f","next","done","_iterableToArrayLimit","minLen","_arrayLikeToArray","slice","from","test","_unsupportedIterableToArray","_nonIterableRest","len","arr2","forwardRef","ref","aspect","_ref$initialDimension","initialDimension","_ref$width","_ref$height","_ref$minWidth","minWidth","minHeight","maxHeight","_ref$debounce","debounce","onResize","_ref$style","style","containerRef","useRef","onResizeRef","current","useImperativeHandle","_useState2","containerWidth","containerHeight","sizes","setSizes","setContainerSize","useCallback","newWidth","newHeight","prevState","roundedWidth","Math","round","roundedHeight","callback","_onResizeRef$current","_entries$0$contentRec","contentRect","throttle","trailing","leading","observer","ResizeObserver","_containerRef$current","getBoundingClientRect","observe","disconnect","chartContent","useMemo","warn","isPercent","calculatedWidth","calculatedHeight","isCharts","isElement","getDisplayName","endsWith","React","child","cloneElement","maxWidth","props","clsx","_globalThis","require","NativeWebSocket","WebSocket","MozWebSocket","websocket_version","uri","protocols","prop"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/2603.dca1b3d2.chunk.js b/portal-ui/build/static/js/2603.9e6bcd08.chunk.js
similarity index 99%
rename from portal-ui/build/static/js/2603.dca1b3d2.chunk.js
rename to portal-ui/build/static/js/2603.9e6bcd08.chunk.js
index e7dad42383..238e07811c 100644
--- a/portal-ui/build/static/js/2603.dca1b3d2.chunk.js
+++ b/portal-ui/build/static/js/2603.9e6bcd08.chunk.js
@@ -1,2 +1,2 @@
-"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2603,4619],{94619:(e,t,n)=>{n.r(t),n.d(t,{default:()=>h});var s=n(72791),o=n(56028),i=n(29945),a=n(31776),l=n(82342),r=n(23814),c=n(87995),d=n(44690),u=n(80184);const h=e=>{let{modalOpen:t,onClose:n,bucket:h,prefilledRoute:x}=e;const m=(0,d.TL)(),[p,j]=(0,s.useState)(""),[b,g]=(0,s.useState)("readonly");(0,s.useEffect)((()=>{x&&j(x)}),[x]);return(0,u.jsx)(o.Z,{modalOpen:t,title:"Add Anonymous Access Rule",onClose:n,titleIcon:(0,u.jsx)(i.sR0,{}),children:(0,u.jsxs)(i.ltY,{withBorders:!1,containerPadding:!1,children:[(0,u.jsx)(i.Wzg,{value:p,label:"Prefix",id:"prefix",name:"prefix",placeholder:"Enter Prefix",onChange:e=>{j(e.target.value)},tooltip:"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."}),(0,u.jsx)(i.PhF,{id:"access",name:"Access",onChange:e=>{g(e)},label:"Access",value:b,options:[{label:"readonly",value:"readonly"},{label:"writeonly",value:"writeonly"},{label:"readwrite",value:"readwrite"}],disabled:!1,helpTip:(0,u.jsx)(s.Fragment,{children:"Select the desired level of access available to unauthenticated Users"}),helpTipPlacement:"right"}),(0,u.jsxs)(i.rjZ,{item:!0,xs:12,sx:r.ID.modalButtonBar,children:[(0,u.jsx)(i.zxk,{id:"clear",type:"button",variant:"regular",onClick:()=>{j(""),g("readonly")},label:"Clear"}),(0,u.jsx)(i.zxk,{id:"add-access-save",type:"submit",variant:"callAction",disabled:""===p.trim(),onClick:()=>{a.h.bucket.setAccessRuleWithBucket(h,{prefix:p,access:b}).then((e=>{m((0,c.y1)("Access Rule added successfully")),n()})).catch((e=>{m((0,c.Ih)((0,l.g)(e.error))),n()}))},label:"Save"})]})]})})}},32603:(e,t,n)=>{n.r(t),n.d(t,{default:()=>Je});var s=n(72791),o=n(78687),i=n(57689),a=n(31776),l=n(44690),r=n(56087),c=n(45248),d=n(54756),u=n(26181),h=n.n(u),x=n(29945),m=n(82342),p=n(43954),j=n(99779),b=n(78029),g=n.n(b),v=n(16444),f=n(11087),_=n(38442),S=n(75578),T=n(87995);const w=e=>(e.match(/\.([^.]*?)(?=\?|#|$)/)||[])[1],y=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const s=Object.keys(e).reduce(((n,s)=>(w(s)&&s.includes(t)&&(n[s]=e[s]),n)),{});return Object.keys(s).filter((e=>{const o=s[e].some((e=>n.find((t=>{let n=!1;if(-1!==t.indexOf("*")){const s=t.substring(0,t.length-1);n=e.includes(s)}return n||e===t})))),i=e.substring(0,e.indexOf("/*."))==="arn:aws:s3:::".concat(t);return o&&(i&&"arn:aws:s3:::*"!==e)}))};var C=n(80184);const E=(0,S.Z)(s.lazy((()=>n.e(2185).then(n.bind(n,62185))))),O=v.ZP.div((()=>({display:"flex","& .additionalOptions":{paddingRight:"10px",display:"flex",alignItems:"center",["@media (max-width: ".concat(x.Egj.lg,"px)")]:{display:"none"}},"& .slashSpacingStyle":{margin:"0 5px"}}))),F=e=>{let{bucketName:t,internalPaths:n,hidePathButton:a,additionalOptions:u}=e;const h=(0,l.TL)(),m=(0,i.s0)(),p=(0,o.v9)((e=>e.objectBrowser.rewind.rewindEnabled)),j=(0,o.v9)((e=>e.objectBrowser.versionsMode)),b=(0,o.v9)((e=>e.objectBrowser.versionedFile)),v=(0,o.v9)((e=>e.system.anonymousMode)),[S,w]=(0,s.useState)(!1),[F,I]=(0,s.useState)(!1),N=[r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],k=(0,o.v9)((e=>e.console.session&&e.console.session.permissions||{}));let B=n;""!==n&&(B="/".concat(n));const L=B.split("/").filter((e=>""!==e)),A=L.length-1,D=t+B||t,P=y(k,D,N);(0,s.useEffect)((()=>{I(!1),Object.keys(k).forEach((e=>{e.includes(D)&&e.includes("/*")&&I(!0)}))}),[D,n,k]);const R=(0,_.F)([D,...P],N)||v||F;let M=L.map(((e,n)=>{const o="".concat(L.slice(0,n+1).join("/"),"/"),i="/browser/".concat(t,"/").concat(o?"".concat((0,c.LL)(o)):"");return n===A&&e===b?null:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)("span",{className:"slashSpacingStyle",children:"/"}),n===A?(0,C.jsx)("span",{style:{cursor:"default",whiteSpace:"pre"},children:(0,c.eC)(e)}):(0,C.jsx)(f.rU,{style:{whiteSpace:"pre"},to:i,onClick:()=>{h((0,d.db)({status:!1,objectName:""}))},children:(0,c.eC)(e)})]},"breadcrumbs-".concat(n.toString()))})),U=[];j&&(U=[(0,C.jsx)(s.Fragment,{children:(0,C.jsxs)("span",{children:[(0,C.jsx)("span",{className:"slashSpacingStyle",children:"/"}),b," - Versions"]})},"breadcrumbs-versionedItem")]);const G=[(0,C.jsx)(s.Fragment,{children:(0,C.jsx)(f.rU,{to:"/browser/".concat(t),onClick:()=>{h((0,d.db)({status:!1,objectName:""}))},children:t})},"breadcrumbs-root-path"),...M,...U];return(0,C.jsxs)(s.Fragment,{children:[(0,C.jsxs)(O,{children:[S&&(0,C.jsx)(E,{modalOpen:S,bucketName:t,folderName:n,onClose:()=>{w(!1)},limitedSubPath:F&&!((0,_.F)([D,...P],N)||v)}),(0,C.jsx)(x.OoM,{sx:{whiteSpace:"pre"},goBackFunction:()=>{if(j)h((0,d.db)({status:!1,objectName:""}));else{if(0===L.length)return void m("/browser");const e=L.slice(0,-1);m("/browser/".concat(t).concat(e.length>0?"/".concat((0,c.LL)("".concat(e.join("/"),"/"))):""))}},additionalOptions:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(g(),{text:"".concat(t,"/").concat(L.join("/")),children:(0,C.jsx)(x.zxk,{id:"copy-path",icon:(0,C.jsx)(x.TIy,{style:{width:"12px",height:"12px",fill:"#969FA8",marginTop:-1}}),variant:"regular",onClick:()=>{h((0,T.y1)("Path copied to clipboard"))},style:{width:"28px",height:"28px",color:"#969FA8",border:"#969FA8 1px solid",marginRight:5}})}),(0,C.jsx)(x.xuv,{className:"additionalOptions",children:u})]}),children:G}),!a&&(0,C.jsx)(x.ua7,{tooltip:R?"Choose or create a new path":(0,r.MK)([r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],"create a new path"),children:(0,C.jsx)(x.zxk,{id:"new-path",onClick:()=>{w(!0)},disabled:!v&&(p||!R),icon:(0,C.jsx)(x.N$q,{style:{fill:"#969FA8"}}),style:{whiteSpace:"nowrap"},variant:"regular",label:"Create new path"})})]}),(0,C.jsx)(x.xuv,{sx:{display:"none",marginTop:15,marginBottom:5,justifyContent:"flex-start","& > div":{fontSize:12,fontWeight:"normal",flexDirection:"row",flexWrap:"nowrap"},["@media (max-width: ".concat(x.Egj.lg,"px)")]:{display:"flex"}},children:u})]})};var I=n(47922);const N=e=>"Enabled"===e||"Suspended"===e;var k=n(76610),B=n(9859),L=n(96382);const A=(0,L.hg)("objectBrowser/downloadSelected",(async(e,t)=>{let{getState:n,rejectWithValue:s,dispatch:o}=t;const i=n(),a=t=>{const n=(0,c.LL)("".concat(e,"-").concat(t.name,"-").concat((new Date).getTime(),"-").concat(Math.random())),s=(0,k.YO)(8),i=(0,I.LR)(e,(0,c.LL)(t.name),t.version_id,t.size,null,s,(e=>{o((0,d.RO)({instanceID:n,progress:e}))}),(()=>{o((0,d.oK)(n))}),(e=>{o((0,d.qJ)({instanceID:n,msg:e}))}),(()=>{o((0,d.Im)(n))}),(()=>{o((0,T.y1)("File download will be handled directly by the browser."))}));(0,k.EN)(s,i),o((0,d.Mc)({ID:s,bucketName:e,done:!1,instanceID:n,percentage:0,prefix:t.name,type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))};if(0!==i.objectBrowser.selectedObjects.length){let t=[];const n=e=>i.objectBrowser.selectedObjects.includes(e.name);if(t=i.objectBrowser.records.filter(n),1===t.length){if(t[0].name.length>200&&(0,c.mv)().toLowerCase().includes("win"))return void o((0,d.$y)(t[0]));a(t[0])}else if(1===t.length)a(t[0]);else if(t.length>1){const n="".concat(j.ou.now().toFormat("LL-dd-yyyy-HH-mm-ss"),"_files_list.zip"),s=t.reduce(((e,t)=>{const n=null===t||void 0===t?void 0:t.delete_flag;return t&&!n?e.push(t.name):console.log("Skipping ".concat(null===t||void 0===t?void 0:t.name," from download.")),e}),[]);return void await(0,I.Sv)(e,s,n)}}})),D=(0,L.hg)("objectBrowser/openPreview",(async(e,t)=>{let{getState:n,rejectWithValue:s,dispatch:o}=t;const i=n();if(1===i.objectBrowser.selectedObjects.length){let e;const t=e=>i.objectBrowser.selectedObjects.includes(e.name);e=i.objectBrowser.records.find(t),e&&(o((0,d.eP)(e)),o((0,d.ei)(!0)))}})),P=(0,L.hg)("objectBrowser/openShare",(async(e,t)=>{let{getState:n,rejectWithValue:s,dispatch:o}=t;const i=n();if(1===i.objectBrowser.selectedObjects.length){let e;const t=e=>i.objectBrowser.selectedObjects.includes(e.name);e=i.objectBrowser.records.find(t),e&&(o((0,d.eP)(e)),o((0,d.Qf)(!0)))}})),R=(0,L.hg)("objectBrowser/openAnonymousAccess",(async(e,t)=>{let{getState:n,dispatch:s}=t;const o=n();1===o.objectBrowser.selectedObjects.length&&o.objectBrowser.selectedObjects[0].endsWith("/")&&s((0,d.xV)(!0))}));var M=n(27454);const U=e=>{let{uploadPath:t,bucketName:n,forceDisable:i=!1,uploadFileFunction:a,uploadFolderFunction:l,overrideStyles:c={}}=e;const[d,u]=(0,s.useState)(null),[h,m]=(0,s.useState)(!1),p=(0,o.v9)((e=>e.system.anonymousMode)),j=(0,o.v9)((e=>e.console.session&&e.console.session.permissions||{})),b=[r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],g=y(j,t,b),v=Boolean(d),f=()=>{u(null)},S=(0,_.F)([t,...g],b)||p,T=(0,_.F)([n,...g],b,!1,!0),w=S||T;return(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(M.Z,{tooltip:w?"Upload Files":(0,r.MK)([r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],"upload files to this bucket"),children:(0,C.jsx)(x.zxk,{id:"upload-main","aria-controls":"upload-main-menu","aria-haspopup":"true","aria-expanded":v?"true":void 0,onClick:e=>{m(!h),u(e.currentTarget)},label:"Upload",icon:(0,C.jsx)(x.rG2,{}),variant:"callAction",disabled:i||!w,sx:c})}),(0,C.jsx)(x.udT,{id:"upload-main-menu",options:[{label:"Upload File",icon:(0,C.jsx)(x.rG2,{}),value:"file",disabled:!S||i},{label:"Upload Folder",icon:(0,C.jsx)(x.oXh,{}),value:"folder",disabled:!T||i}],selectedOption:"",onSelect:e=>{"folder"!==e?a(f):l(f)},hideTriggerAction:()=>{m(!1)},open:h,anchorEl:d,anchorOrigin:"end",useAnchorWidth:!1})]})},G=e=>{let{open:t,closePanel:n,className:s="",children:o}=e;return(0,C.jsxs)(x.xuv,{id:"details-panel",sx:{borderColor:"#EAEDEE",borderWidth:0,borderStyle:"solid",borderRadius:3,borderBottomLeftRadius:0,borderBottomRightRadius:0,width:0,transitionDuration:"0.3s",overflowX:"hidden",overflowY:"auto",position:"relative",opacity:0,marginLeft:-1,"&.open":{width:300,minWidth:300,borderLeftWidth:1,opacity:1},"@media (max-width: 799px)":{"&.open":{width:"100%",minWidth:"100%",borderLeftWidth:0}}},className:"".concat(t?"open":""," ").concat(s),children:[(0,C.jsx)(x.zxk,{variant:"text",id:"close-details-list",onClick:n,icon:(0,C.jsx)(x.oto,{}),sx:{position:"absolute",right:5,top:18,padding:0,height:14,"&:hover:not(:disabled)":{backgroundColor:"transparent"}}}),o]})},z=(e,t,n,s)=>{var o;const i=(0,c.LL)("".concat(t,"-").concat(s.name,"-").concat((new Date).getTime(),"-").concat(Math.random())),a=(0,c.mv)().toLowerCase().includes("win");if(((null===(o=s.name)||void 0===o?void 0:o.length)||0)>200&&a)return void e((0,d.Hg)(!0));const l=(0,k.YO)(8),r=(0,I.LR)(t,n,s.version_id,s.size||0,null,l,(t=>{e((0,d.RO)({instanceID:i,progress:t}))}),(()=>{e((0,d.oK)(i))}),(t=>{e((0,d.qJ)({instanceID:i,msg:t}))}),(()=>{e((0,d.Im)(i))}),(()=>{e((0,T.y1)("File download will be handled directly by the browser."))}));(0,k.EN)(l,r),e((0,d.Mc)({ID:l,bucketName:t,done:!1,instanceID:i,percentage:0,prefix:s.name||"",type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))},Z=e=>{let{icon:t,strings:n}=e;return(0,C.jsxs)(x.xuv,{sx:{display:"flex",alignItems:"center","& .min-icon":{width:16,height:16,marginRight:4,minWidth:16,minHeight:16},"& .fileNameText":{whiteSpace:"pre",overflow:"hidden",textOverflow:"ellipsis"}},children:[t,(0,C.jsx)("span",{className:"fileNameText",children:(0,c.e3)(n[n.length-1])})]})},K=[{icon:(0,C.jsx)(x.n9O,{}),extensions:["mp4","mov","avi","mpeg","mpg"]},{icon:(0,C.jsx)(x.mYf,{}),extensions:["mp3","m4a","aac"]},{icon:(0,C.jsx)(x.UU9,{}),extensions:["pdf"]},{icon:(0,C.jsx)(x.hjP,{}),extensions:["ppt","pptx"]},{icon:(0,C.jsx)(x.hz9,{}),extensions:["xls","xlsx"]},{icon:(0,C.jsx)(x.xDw,{}),extensions:["cer","crt","pem"]},{icon:(0,C.jsx)(x.jG9,{}),extensions:["html","xml","css","py","go","php","cpp","h","java"]},{icon:(0,C.jsx)(x.NqG,{}),extensions:["cfg","yaml"]},{icon:(0,C.jsx)(x.OkY,{}),extensions:["sql"]},{icon:(0,C.jsx)(x.ZAy,{}),extensions:["ttf","otf"]},{icon:(0,C.jsx)(x.p2x,{}),extensions:["doc","docx","txt","rtf"]},{icon:(0,C.jsx)(x.xhr,{}),extensions:["zip","rar","tar","gz"]},{icon:(0,C.jsx)(x.rtI,{}),extensions:["epub","mobi","azw","azw3"]},{icon:(0,C.jsx)(x.q$4,{}),extensions:["jpeg","jpg","gif","tiff","png","heic","dng"]}],W=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e,s=(0,C.jsx)(x.MoH,{});e.endsWith("/")&&(s=(0,C.jsx)(x.BI,{}),n=e.slice(0,-1));const o=e.toLowerCase();for(const a of K)for(const e of a.extensions)o.endsWith(".".concat(e))&&(s=a.icon);!e.endsWith("/")&&e.indexOf(".")<0&&(s=(0,C.jsx)(x.lrl,{}));const i=n.split("/");return t?s:(0,C.jsx)(Z,{icon:s,strings:i})};var H=n(78562);const J=e=>{let{metaData:t}=e;const n=Object.keys(t);return(0,C.jsx)(s.Fragment,{children:n.map(((e,n)=>{const s=(e=>Array.isArray(e)?e.map(c.eC).join(", "):(0,c.eC)(e))(t[e]);return(0,C.jsxs)(x.xuv,{sx:{marginBottom:15,fontSize:14,maxHeight:180,overflowY:"auto"},children:[(0,C.jsx)("strong",{children:e}),(0,C.jsx)("br",{}),s]},"box-meta-".concat(e,"-").concat(n.toString()))}))})};var V=n(34433),Y=n(66315),q=n(23814);const $=[{value:"01",label:"January"},{value:"02",label:"February"},{value:"03",label:"March"},{value:"04",label:"April"},{value:"05",label:"May"},{value:"06",label:"June"},{value:"07",label:"July"},{value:"08",label:"August"},{value:"09",label:"September"},{value:"10",label:"October"},{value:"11",label:"November"},{value:"12",label:"December"}],Q=Array.from(Array(31),((e,t)=>({value:(t+1).toString(),label:(t+1).toString()}))),X=(new Date).getFullYear(),ee=Array.from(Array(50),((e,t)=>({value:(t+X).toString(),label:(t+X).toString()})));var te=n(56028);const ne=(0,s.forwardRef)(((e,t)=>{let{id:n,label:o,disableOptions:i=!1,tooltip:a="",borderBottom:l=!1,onDateChange:r,value:c=""}=e;(0,s.useImperativeHandle)(t,(()=>({resetDate:b})));const[d,u]=(0,s.useState)(""),[h,m]=(0,s.useState)(""),[p,j]=(0,s.useState)("");(0,s.useEffect)((()=>{if(""!==c){const e=c.split("-");j(e[0]),u(e[1]),m("".concat(parseInt(e[2])))}}),[c]),(0,s.useEffect)((()=>{const[e,t]=((e,t,n)=>{const s=Date.parse("".concat(e,"-").concat(t,"-").concat(n));if(isNaN(s))return[!1,""];const o=parseInt(t),i=parseInt(n),a=o<10?"0".concat(o):o,l=i<10?"0".concat(i):i,r=new Date(s).toISOString().split("T")[0],c="".concat(e,"-").concat(a,"-").concat(l);return[r===c,c]})(p,d,h);r(t,e)}),[d,h,p,r]);const b=()=>{u(""),m(""),j("")},g=()=>i||!1,v=[{value:"",label:""},...$],f=[{value:"",label:""},...Q],_=[{value:"",label:""},...ee];return(0,C.jsxs)(x.xuv,{className:"inputItem",children:[(0,C.jsx)(x.xuv,{sx:{display:"flex",alignItems:"center",gap:5,marginBottom:5},children:(0,C.jsxs)(x.AZs,{htmlFor:n,children:[(0,C.jsx)("span",{children:o}),""!==a&&(0,C.jsx)(x.xuv,{sx:{marginLeft:5,display:"flex",alignItems:"center","& .min-icon":{width:13}},children:(0,C.jsx)(x.ua7,{tooltip:a,placement:"top",children:(0,C.jsx)(x.xuv,{sx:{"& .min-icon":{width:13}},children:(0,C.jsx)(x.byK,{})})})})]})}),(0,C.jsxs)(x.xuv,{sx:{display:"flex",gap:12},children:[(0,C.jsx)(x.PhF,{id:"".concat(n,"-month"),name:"".concat(n,"-month"),value:d,onChange:e=>{u(e)},options:v,label:"",disabled:g()}),(0,C.jsx)(x.PhF,{id:"".concat(n,"-day"),name:"".concat(n,"-day"),value:h,onChange:e=>{m(e)},options:f,label:"",disabled:g()}),(0,C.jsx)(x.PhF,{id:"".concat(n,"-year"),name:"".concat(n,"-year"),value:p,onChange:e=>{j(e)},options:_,label:"",disabled:g(),sx:{marginBottom:12}})]})]})})),se=e=>{let{open:t,closeModalAndRefresh:n,objectName:i,objectInfo:r,bucketName:d}=e;const u=(0,l.TL)(),h=(0,o.v9)((e=>e.objectBrowser.retentionConfig)),[p,j]=(0,s.useState)(!0),[b,g]=(0,s.useState)(""),[v,f]=(0,s.useState)(""),[_,S]=(0,s.useState)(!1),[w,y]=(0,s.useState)(!1),[E,O]=(0,s.useState)(!1);(0,s.useEffect)((()=>{if(r.retention_mode&&(g((null===h||void 0===h?void 0:h.mode)||Y.oO.Governance),O(!0)),r.retention_until_date){const t=new Date(r.retention_until_date);if("Invalid Date"!==t.toString()){const n=t.getFullYear(),s=(e=t.getMonth()+1)<10?"0".concat(e):"".concat(e),o=t.getDate();isNaN(o)||"NaN"===s||isNaN(n)||f("".concat(n,"-").concat(s,"-").concat(o))}O(!0)}var e}),[r,null===h||void 0===h?void 0:h.mode]);const F=(0,s.useRef)(null),I=()=>{j(!1),g(Y.oO.Governance),F.current&&F.current.resetDate()},N=E&&("governance"===b||""===b);return(0,C.jsx)(te.Z,{title:"Set Retention Policy",modalOpen:t,onClose:()=>{I(),n(!1)},children:(0,C.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault()})(e)},children:(0,C.jsxs)(x.ltY,{withBorders:!1,containerPadding:!1,children:[(0,C.jsxs)(x.xuv,{className:"inputItem",children:[(0,C.jsx)("strong",{children:"Selected Object"}),": ",i]}),N&&(0,C.jsx)(x.rsf,{value:"status",id:"status",name:"status",checked:p,onChange:e=>{j(!p)},label:"Status",indicatorLabels:["Enabled","Disabled"]}),(0,C.jsx)(x.Eep,{currentValue:b,id:"type",name:"type",label:"Type",disableOptions:!p||E&&""!==b,onChange:e=>{g(e.target.value)},selectorOptions:[{label:"Governance",value:Y.oO.Governance},{label:"Compliance",value:Y.oO.Compliance}]}),(0,C.jsx)(ne,{id:"date",label:"Date",disableOptions:!(p&&("governance"===b||"compliance"===b)),ref:F,value:v,borderBottom:!0,onDateChange:(e,t)=>{S(t),t&&f(e)}}),(0,C.jsxs)(x.rjZ,{item:!0,xs:12,sx:q.ID.modalButtonBar,children:[(0,C.jsx)(x.zxk,{id:"reset",type:"button",variant:"regular",onClick:I,label:"Reset"}),(0,C.jsx)(x.zxk,{id:"save",type:"submit",variant:"callAction",disabled:p&&""===b||p&&!_||w,onClick:()=>{y(!0);const e=r.name||"",t=r.version_id||null,s=p||"governance"!==b?"".concat(v,"T23:59:59Z"):"";p||"governance"!==b?((e,t,s)=>{a.h.buckets.putObjectRetention(d,{prefix:(0,c.LL)(e),version_id:t||""},{expires:s,mode:b}).then((()=>{y(!1),n(!0)})).catch((e=>{u((0,T.zb)((0,m.g)(e.error))),y(!1)}))})(e,t,s):((e,t)=>{a.h.buckets.deleteObjectRetention(d,{prefix:(0,c.LL)(e),version_id:t||""}).then((()=>{y(!1),n(!0)})).catch((e=>{u((0,T.zb)((0,m.g)(e.error))),y(!1)}))})(e,t)},label:"Save"})]})]})})})};var oe=n(23508),ie=n(9505);const ae=e=>{let{closeDeleteModalAndRefresh:t,deleteOpen:n,selectedBucket:i,selectedObject:a,versioningInfo:d,selectedVersion:u=""}=e;const h=(0,l.TL)(),[m,p]=(0,ie.Z)((()=>t(!0)),(e=>{h((0,T.Ih)(e)),"Access Denied."===e.detailedError&&t(!0)})),[j,b]=(0,s.useState)(!1),[g,v]=(0,s.useState)(!1),f=(0,o.v9)((e=>e.objectBrowser.retentionConfig)),S=(0,_.F)([i],[r.Ft.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===f||void 0===f?void 0:f.mode);if(!a)return null;return(0,C.jsx)(oe.Z,{title:"Delete Object",confirmText:"Delete",isOpen:n,titleIcon:(0,C.jsx)(x.NvT,{}),isLoading:m,onConfirm:()=>{const e=(0,c.IO)(a).endsWith("/");p("DELETE","/api/v1/buckets/".concat(i,"/objects?prefix=").concat(a).concat(""!==u?"&version_id=".concat(u):"&recursive=".concat(e,"&all_versions=").concat(j)).concat(g?"&bypass=true":""))},onClose:()=>t(!1),confirmationContent:(0,C.jsxs)(s.Fragment,{children:["Are you sure you want to delete: ",(0,C.jsx)("br",{}),(0,C.jsx)("b",{children:(0,c.IO)(a)})," ",""!==u?(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)("br",{}),(0,C.jsx)("br",{}),"Version ID:",(0,C.jsx)("br",{}),(0,C.jsx)("strong",{children:u})]}):"","? ",(0,C.jsx)("br",{}),(0,C.jsx)("br",{}),N(null===d||void 0===d?void 0:d.status)&&""===u&&(0,C.jsx)(s.Fragment,{children:(0,C.jsx)(x.rsf,{label:"Delete All Versions",indicatorLabels:["Yes","No"],checked:j,value:"delete_versions",id:"delete-versions",name:"delete-versions",onChange:e=>{b(!j)},description:""})}),S&&(j||""!==u)&&(0,C.jsx)(s.Fragment,{children:(0,C.jsx)("div",{style:{marginTop:10},children:(0,C.jsx)(x.rsf,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:g,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:e=>{v(!g)},description:""})})}),j&&(0,C.jsxs)(s.Fragment,{children:[(0,C.jsxs)("div",{style:{marginTop:10,border:"#c83b51 1px solid",borderRadius:3,padding:5,backgroundColor:"#c83b5120",color:"#c83b51"},children:["This will remove the object as well as all of its versions,"," ",(0,C.jsx)("br",{}),"This action is irreversible."]}),(0,C.jsx)("br",{}),"Are you sure you want to continue?"]})]})})},le=e=>{let{open:t,closeModalAndRefresh:n,objectName:o,bucketName:i,actualInfo:r}=e;const d=(0,l.TL)(),[u,p]=(0,s.useState)(!1),[j,b]=(0,s.useState)(!1),g=r.version_id;(0,s.useEffect)((()=>{const e=h()(r,"legal_hold_status","OFF");p("ON"===e)}),[r]);const v=()=>{p(!1)};return(0,C.jsx)(te.Z,{title:"Set Legal Hold",modalOpen:t,onClose:()=>{v(),n(!1)},children:(0,C.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault(),b(!0),a.h.buckets.putObjectLegalHold(i,{prefix:(0,c.LL)(o),version_id:g||""},{status:u?Y.nY.Enabled:Y.nY.Disabled}).then((()=>{b(!1),n(!0)})).catch((e=>{d((0,T.zb)((0,m.g)(e.error))),b(!1)}))})(e)},children:(0,C.jsxs)(x.ltY,{withBorders:!1,containerPadding:!1,children:[(0,C.jsxs)(x.xuv,{className:"inputItem",children:[(0,C.jsx)("strong",{children:"Object"}),": ",i]}),(0,C.jsx)(x.rsf,{value:"legalhold",id:"legalhold",name:"legalhold",checked:u,onChange:e=>{p(!u)},label:"Legal Hold Status",indicatorLabels:["Enabled","Disabled"],tooltip:"To enable this feature you need to enable versioning on the bucket before creation"}),(0,C.jsxs)(x.rjZ,{item:!0,xs:12,sx:q.ID.modalButtonBar,children:[(0,C.jsx)(x.zxk,{id:"clear",type:"button",variant:"regular",onClick:v,label:"Clear"}),(0,C.jsx)(x.zxk,{id:"save",type:"submit",variant:"callAction",disabled:j,label:" Save"})]})]})})})},re=v.ZP.b((e=>{let{theme:t}=e;return{color:h()(t,"signalColors.danger","#C83B51"),marginLeft:5}})),ce=e=>{var t;let{modalOpen:n,onCloseAndUpdate:i,bucketName:d,actualInfo:u}=e;const p=(0,l.TL)(),j=(0,o.v9)(T.N5),[b,g]=(0,s.useState)(""),[v,f]=(0,s.useState)(""),[S,w]=(0,s.useState)(!1),[y,E]=(0,s.useState)(!1),[O,F]=(0,s.useState)(""),[I,N]=(0,s.useState)(""),k=(0,c.LL)(u.name||""),B=u.tags,L=Object.keys(B||{}),A=null===(t=u.name)||void 0===t?void 0:t.split("/"),D=(null===A||void 0===A?void 0:A.pop())||"",P=e=>(0,C.jsxs)(x.xuv,{sx:{fontSize:16,margin:"20px 0 30px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",width:"100%"},children:["Tag",e?"s":""," for: ",(0,C.jsx)("strong",{children:D})]});return(0,C.jsx)(s.Fragment,{children:(0,C.jsx)(te.Z,{modalOpen:n,title:y?"Delete Tag":"Edit Tags",onClose:()=>{i(!0)},iconColor:y?"delete":"default",titleIcon:y?(0,C.jsx)(x.dRf,{}):(0,C.jsx)(x.T0F,{}),children:y?(0,C.jsx)(s.Fragment,{children:(0,C.jsxs)(x.rjZ,{container:!0,children:[P(!1),"Are you sure you want to delete the tag"," ",(0,C.jsxs)(re,{children:[O," : ",I]})," ","?",(0,C.jsxs)(x.rjZ,{item:!0,xs:12,sx:q.ID.modalButtonBar,children:[(0,C.jsx)(x.zxk,{id:"cancel",type:"button",variant:"regular",onClick:()=>{F(""),N(""),E(!1)},label:"Cancel"}),(0,C.jsx)(x.zxk,{type:"submit",variant:"secondary",onClick:()=>{const e={...B};delete e[O];const t=j?u.version_id||"":"null";a.h.buckets.putObjectTags(d,{prefix:k,version_id:t},{tags:e}).then((()=>{i(!0),w(!1)})).catch((e=>{p((0,T.zb)((0,m.g)(e.error))),w(!1)}))},id:"deleteTag",label:"Delete Tag"})]})]})}):(0,C.jsxs)(x.xuv,{children:[(0,C.jsx)(_.s,{scopes:[r.Ft.S3_GET_OBJECT_TAGGING,r.Ft.S3_GET_ACTIONS],resource:d,children:(0,C.jsxs)(x.xuv,{sx:{display:"flex",flexFlow:"column",width:"100%"},children:[P(!0),(0,C.jsxs)(x.xuv,{sx:{fontSize:14,fontWeight:"normal"},children:["Current Tags:",(0,C.jsx)("br",{}),0===L.length?(0,C.jsx)("span",{className:"muted",children:"There are no tags for this object"}):(0,C.jsx)(s.Fragment,{}),(0,C.jsx)(x.xuv,{sx:{marginTop:"5px",marginBottom:"15px"},children:L.map(((e,t)=>{const n=h()(B,"".concat(e),"");return""!==n?(0,C.jsx)(_.s,{scopes:[r.Ft.S3_DELETE_OBJECT_TAGGING],resource:d,errorProps:{deleteIcon:null,onDelete:null},children:(0,C.jsx)(x.Vp9,{id:"".concat(e," : ").concat(n),label:"".concat(e," : ").concat(n),variant:"regular",color:"default",onDelete:()=>{((e,t)=>{F(e),N(t),E(!0)})(e,n)}})},"chip-".concat(t)):null}))})]})]})}),(0,C.jsx)(_.s,{scopes:[r.Ft.S3_PUT_OBJECT_TAGGING,r.Ft.S3_PUT_ACTIONS],resource:d,errorProps:{disabled:!0,onClick:null},children:(0,C.jsxs)(x.xuv,{children:[(0,C.jsx)(x.NZf,{icon:(0,C.jsx)(x.OCT,{}),separator:!1,children:"Add New Tag"}),(0,C.jsxs)(x.ltY,{containerPadding:!1,withBorders:!1,children:[(0,C.jsx)(x.Wzg,{value:b,label:"Tag Key",id:"newTagKey",name:"newTagKey",placeholder:"Enter Tag Key",onChange:e=>{g(e.target.value)}}),(0,C.jsx)(x.Wzg,{value:v,label:"Tag Label",id:"newTagLabel",name:"newTagLabel",placeholder:"Enter Tag Label",onChange:e=>{f(e.target.value)}}),(0,C.jsxs)(x.rjZ,{item:!0,xs:12,sx:q.ID.modalButtonBar,children:[(0,C.jsx)(x.zxk,{id:"clear",type:"button",variant:"regular",color:"primary",onClick:()=>{f(""),g("")},label:"Clear"}),(0,C.jsx)(x.zxk,{type:"submit",variant:"callAction",disabled:""===v.trim()||""===b.trim()||S,onClick:()=>{w(!0);const e={};e[b]=v;const t={...B,...e},n=j?u.version_id||"":"null";a.h.buckets.putObjectTags(d,{prefix:k,version_id:n},{tags:t}).then((()=>{i(!0),w(!1)})).catch((e=>{p((0,T.zb)((0,m.g)(e.error))),w(!1)}))},id:"saveTag",label:"Save"})]})]})]})})]})})})};var de=n(73669);const ue=e=>{let{closeInspectModalAndRefresh:t,inspectOpen:n,inspectPath:o,volumeName:i}=e;const a=(0,l.TL)(),r=()=>t(!1),[d,u]=(0,s.useState)(!0),[h,m]=(0,s.useState)(""),[p,j]=(0,s.useState)("");if(!o)return null;return(0,C.jsxs)(s.Fragment,{children:[!h&&(0,C.jsx)(te.Z,{modalOpen:n,titleIcon:(0,C.jsx)(x.Gp8,{}),title:"Inspect Object",onClose:r,children:(0,C.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault()})(e)},children:["Would you like to encrypt ",(0,C.jsx)("b",{children:(0,c.IO)(o)}),"?"," ",(0,C.jsx)("br",{}),(0,C.jsx)(x.rsf,{label:"Encrypt",indicatorLabels:["Yes","No"],checked:d,value:"encrypt",id:"encrypt",name:"encrypt",onChange:e=>{u(!d)},description:""}),(0,C.jsx)(x.rjZ,{item:!0,xs:12,sx:q.ID.modalButtonBar,children:(0,C.jsx)(x.zxk,{id:"inspect",type:"submit",variant:"callAction",color:"primary",onClick:async()=>{const e=(0,c.LL)(o+"/xl.meta"),t=(0,c.LL)(i);(async e=>await fetch(e,{method:"GET"}))("/api/v1/admin/inspect?volume=".concat(t,"&file=").concat(e,"&encrypt=").concat(d)).then((async e=>{if(!e.ok){const t=await e.json();a((0,T.Ih)({errorMessage:t.message,detailedError:t.code}))}const t=await e.blob(),n=e.headers.get("content-disposition").split('"')[1],s=(0,c.Do)(n)||"";(0,c.zZ)(t,n),j(n),""!==s?m(s):r()})).catch((e=>{a((0,T.Ih)(e))}))},label:"Inspect"})})]})}),h?(0,C.jsxs)(te.Z,{modalOpen:n,title:"Inspect Decryption Key",onClose:()=>{(0,c.kT)(p),r(),m("")},titleIcon:(0,C.jsx)(x.tvm,{}),children:[(0,C.jsxs)(x.xuv,{children:["This will be displayed only once. It cannot be recovered.",(0,C.jsx)("br",{}),"Use secure medium to share this key."]}),(0,C.jsx)(x.xuv,{children:(0,C.jsx)(de.Z,{value:h})})]}):null]})},he=e=>{let{open:t,closeModal:n,currentItem:o,internalPaths:i,actualInfo:a,bucketName:r}=e;const c=(0,l.TL)(),[d,u]=(0,s.useState)(o),[h,m]=(0,s.useState)(!1);return(0,C.jsxs)(te.Z,{title:"Rename Download",modalOpen:t,onClose:n,titleIcon:(0,C.jsx)(x.dY8,{}),children:[(0,C.jsxs)("div",{children:["The file you are trying to download has a long name.",(0,C.jsx)("br",{}),"This can cause issues on Windows Systems by trimming the file name after download.",(0,C.jsx)("br",{}),(0,C.jsx)("br",{})," We recommend to rename the file download"]}),(0,C.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault(),z(c,r,i,a),n()})(e)},children:(0,C.jsxs)(x.ltY,{withBorders:!1,containerPadding:!1,children:[(0,C.jsx)(x.Wzg,{id:"download-filename",name:"download-filename",onChange:e=>{u(e.target.value)},label:"",type:"text",value:d,error:d.length>200&&!h?"Filename should be less than 200 characters long.":""}),(0,C.jsx)(x.rsf,{value:"acceptLongName",id:"acceptLongName",name:"acceptLongName",checked:h,onChange:e=>{m(e.target.checked),e.target.checked&&u(o)},label:"Use Original Name"}),(0,C.jsx)(x.rjZ,{item:!0,xs:12,sx:q.ID.modalButtonBar,children:(0,C.jsx)(x.zxk,{id:"download-file",type:"submit",variant:"callAction",color:"primary",disabled:d.length>200&&!h,label:"Download File"})})]})})]})},xe={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:0,tags:{},version_id:void 0},me=e=>{let{internalPaths:t,bucketName:n,versioningInfo:i,locking:u,onClosePanel:m}=e;const p=(0,l.TL)(),j=(0,o.v9)(T.N5),b=(0,o.v9)((e=>e.objectBrowser.versionsMode)),g=(0,o.v9)((e=>e.objectBrowser.selectedVersion)),v=(0,o.v9)((e=>e.objectBrowser.loadingObjectInfo)),[f,S]=(0,s.useState)(!1),[w,y]=(0,s.useState)(!1),[E,O]=(0,s.useState)(!1),[F,N]=(0,s.useState)(!1),[k,B]=(0,s.useState)(!1),[L,A]=(0,s.useState)(null),[D,P]=(0,s.useState)([]),[R,U]=(0,s.useState)(null),[G,Z]=(0,s.useState)([]),[K,Y]=(0,s.useState)(!1),[q,$]=(0,s.useState)(!1),[Q,X]=(0,s.useState)(0),[ee,te]=(0,s.useState)(!1),[ne,oe]=(0,s.useState)(null),[ie,re]=(0,s.useState)(!1),de=((0,c.IO)(t)||"").split("/").pop()||"";let me=[];L&&L.name&&(me=L.name.split("/")),(0,s.useEffect)((()=>{if(j&&D&&D.length>=1){let e=D.find((e=>e.is_latest))||xe;""!==g&&(e=D.find((e=>e.version_id===g))||xe),e.is_delete_marker||re(!0),A(e)}}),[g,j,D]),(0,s.useEffect)((()=>{v&&""!==t&&a.h.buckets.listObjects(n,{prefix:t,with_versions:j}).then((e=>{const t=e.data.objects||[];if(j){P(t),Z(t);const e=t.reduce(((e,t)=>null!==t&&void 0!==t&&t.size?e+t.size:e),0);X(e)}else{const e=t[0];A(e),Z([]),e.is_delete_marker||re(!0)}p((0,d.vH)(!1))})).catch((e=>{console.error("Error loading object details",e.error),p((0,d.vH)(!1))}))}),[v,n,t,p,j,g]),(0,s.useEffect)((()=>{ie&&""!==t&&a.h.buckets.getObjectMetadata(n,{prefix:t}).then((e=>{let t=h()(e.data,"objectMetadata",{});oe(t),re(!1)})).catch((e=>{console.error("Error Getting Metadata Status: ",e.detailedError),re(!1)}))}),[n,t,ie]);let pe=[];L&&L.tags&&(pe=Object.keys(L.tags));const je=(0,C.jsx)("div",{style:{textAlign:"center",marginTop:35},children:(0,C.jsx)(x.aNw,{})});if(!L)return v?je:null;const be=me.length>0?me[me.length-1]:L.name,ge=[n,de,[n,L.name].join("/")],ve=(0,_.F)(n,[r.Ft.S3_PUT_OBJECT_LEGAL_HOLD,r.Ft.S3_PUT_ACTIONS]),fe=(0,_.F)(ge,[r.Ft.S3_PUT_OBJECT_TAGGING,r.Ft.S3_PUT_ACTIONS]),_e=(0,_.F)(ge,[r.Ft.S3_GET_OBJECT_RETENTION,r.Ft.S3_PUT_OBJECT_RETENTION,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS],!0),Se=(0,_.F)(ge,[r.Ft.ADMIN_INSPECT_DATA]),Te=(0,_.F)(ge,[r.Ft.S3_GET_BUCKET_VERSIONING,r.Ft.S3_PUT_BUCKET_VERSIONING,r.Ft.S3_GET_OBJECT_VERSION,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS]),we=(0,_.F)(ge,[r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS]),ye=(0,_.F)([n,de,[n,L.name].join("/")],[r.Ft.S3_DELETE_OBJECT]);let Ce=(0,I.s7)(ne,de);const Ee=[{action:()=>{z(p,n,t,L)},label:"Download",disabled:!!L.is_delete_marker||!we,icon:(0,C.jsx)(x._8t,{}),tooltip:we?"Download this Object":(0,r.MK)([r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS],"download this object")},{action:()=>{S(!0)},label:"Share",disabled:!!L.is_delete_marker||!we,icon:(0,C.jsx)(x.aAc,{}),tooltip:we?"Share this File":(0,r.MK)([r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS],"share this object")},{action:()=>{$(!0)},label:"Preview",disabled:!!L.is_delete_marker||"none"===Ce&&!we,icon:(0,C.jsx)(x.P99,{}),tooltip:we?"Preview this File":(0,r.MK)([r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS],"preview this object")},{action:()=>{N(!0)},label:"Legal Hold",disabled:!u||!j||!!L.is_delete_marker||!ve||""!==g,icon:(0,C.jsx)(x.fNL,{}),tooltip:ve?u?"Change Legal Hold rules for this File":"Object Locking must be enabled on this bucket in order to set Legal Hold":(0,r.MK)([r.Ft.S3_PUT_OBJECT_LEGAL_HOLD,r.Ft.S3_PUT_ACTIONS],"change legal hold settings for this object")},{action:()=>{y(!0)},label:"Retention",disabled:!j||!!L.is_delete_marker||!_e||""!==g||!u,icon:(0,C.jsx)(x.E9d,{}),tooltip:_e?u?"Change Retention rules for this File":"Object Locking must be enabled on this bucket in order to set Retention Rules":(0,r.MK)([r.Ft.S3_GET_OBJECT_RETENTION,r.Ft.S3_PUT_OBJECT_RETENTION,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS],"change Retention Rules for this object")},{action:()=>{O(!0)},label:"Tags",disabled:!!L.is_delete_marker||""!==g||!fe,icon:(0,C.jsx)(x.DgT,{}),tooltip:fe?"Change Tags for this File":(0,r.MK)([r.Ft.S3_PUT_OBJECT_TAGGING,r.Ft.S3_GET_OBJECT_TAGGING,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS],"set Tags on this object")},{action:()=>{B(!0)},label:"Inspect",disabled:!j||!!L.is_delete_marker||""!==g||!Se,icon:(0,C.jsx)(x.Gp8,{}),tooltip:Se?"Inspect this file":(0,r.MK)([r.Ft.ADMIN_INSPECT_DATA],"inspect this file")},{action:()=>{p((0,d.db)({status:!b,objectName:be}))},label:b?"Hide Object Versions":"Display Object Versions",icon:(0,C.jsx)(x.cRd,{}),disabled:!j||!(L.version_id&&"null"!==L.version_id)||!Te,tooltip:Te?L.version_id&&"null"!==L.version_id?"Display Versions for this file":"":(0,r.MK)([r.Ft.S3_GET_BUCKET_VERSIONING,r.Ft.S3_PUT_BUCKET_VERSIONING,r.Ft.S3_GET_OBJECT_VERSION,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS],"display all versions of this object")}];return(0,C.jsxs)(s.Fragment,{children:[f&&L&&(0,C.jsx)(V.default,{open:f,closeModalAndRefresh:()=>{U(null),S(!1)},bucketName:n,dataObject:R||L}),w&&L&&(0,C.jsx)(se,{open:w,closeModalAndRefresh:e=>{y(!1),e&&p((0,d.vH)(!0))},objectName:de,objectInfo:L,bucketName:n}),K&&(0,C.jsx)(ae,{deleteOpen:K,selectedBucket:n,selectedObject:t,closeDeleteModalAndRefresh:e=>{Y(!1),e&&""===g?m(!0):(p((0,d.Eq)(!0)),p((0,d.M3)("")),p((0,d.vH)(!0)))},versioningInfo:j?i:void 0,selectedVersion:g}),F&&L&&(0,C.jsx)(le,{open:F,closeModalAndRefresh:e=>{N(!1),e&&p((0,d.vH)(!0))},objectName:L.name||"",bucketName:n,actualInfo:L}),q&&L&&(0,C.jsx)(H.default,{open:q,bucketName:n,object:{name:L.name||"",version_id:L.version_id||"null",size:L.size||0,content_type:"",last_modified:L.last_modified||""},onClosePreview:()=>{$(!1)}}),E&&L&&(0,C.jsx)(ce,{modalOpen:E,bucketName:n,actualInfo:L,onCloseAndUpdate:e=>{O(!1),e&&p((0,d.vH)(!0))}}),k&&L&&(0,C.jsx)(ue,{inspectOpen:k,volumeName:n,inspectPath:L.name||"",closeInspectModalAndRefresh:e=>{B(!1),e&&p((0,d.vH)(!0))}}),ee&&L&&(0,C.jsx)(he,{open:ee,closeModal:()=>{te(!1)},currentItem:de,bucketName:n,internalPaths:t,actualInfo:L}),v?(0,C.jsx)(s.Fragment,{children:je}):(0,C.jsxs)(x.xuv,{sx:{"& .ObjectDetailsTitle":{display:"flex",alignItems:"center","& .min-icon":{width:26,height:26,minWidth:26,minHeight:26}},"& .objectNameContainer":{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",alignItems:"center",marginLeft:10},"& .capitalizeFirst":{textTransform:"capitalize"},"& .detailContainer":{padding:"0 22px",marginBottom:10,fontSize:14}},children:[(0,C.jsx)(x.Wk,{title:(0,C.jsxs)("div",{className:"ObjectDetailsTitle",children:[W(be||"",!0),(0,C.jsx)("span",{className:"objectNameContainer",children:be})]}),items:Ee}),(0,C.jsx)(M.Z,{tooltip:ye?"":(0,r.MK)([r.Ft.S3_DELETE_OBJECT],"delete this object"),children:(0,C.jsx)(x.rjZ,{item:!0,xs:12,sx:{justifyContent:"center",display:"flex"},children:(0,C.jsx)(_.s,{resource:[n,de,[n,L.name].join("/")],scopes:[r.Ft.S3_DELETE_OBJECT],errorProps:{disabled:!0},children:(0,C.jsx)(x.zxk,{id:"delete-element-click",icon:(0,C.jsx)(x.pJl,{}),iconLocation:"start",fullWidth:!0,variant:"secondary",onClick:()=>{Y(!0)},disabled:""===g&&L.is_delete_marker,sx:{width:"calc(100% - 44px)",margin:"8px 0"},label:"Delete".concat(""!==g?" version":"")})})})}),(0,C.jsx)(x.AG2,{icon:(0,C.jsx)(x.Gvh,{}),label:"Object Info"}),(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Name:"}),(0,C.jsx)("br",{}),(0,C.jsx)("div",{style:{overflowWrap:"break-word"},children:be})]}),""!==g&&(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Version ID:"}),(0,C.jsx)("br",{}),g]}),(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Size:"}),(0,C.jsx)("br",{}),(0,c.ae)("".concat(L.size||"0"))]}),L.version_id&&"null"!==L.version_id&&""===g&&(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Versions:"}),(0,C.jsx)("br",{}),G.length," version",1!==G.length?"s":"",","," ",(0,c.l5)(Q)]}),""===g&&(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Last Modified:"}),(0,C.jsx)("br",{}),(e=>{const t=new Date,n=new Date(e),s=t.getTime()-n.getTime(),o=(0,c.nF)(s,"ms");return""!==o.trim()?"".concat(o," ago"):"Just now"})(L.last_modified||"")]}),(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"ETAG:"}),(0,C.jsx)("br",{}),L.etag||"N/A"]}),(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Tags:"}),(0,C.jsx)("br",{}),0===pe.length?"N/A":pe.map(((e,t)=>(0,C.jsxs)("span",{children:[e,":",h()(L,"tags.".concat(e),""),t{let{versionToRestore:t,bucketName:n,objectPath:o,restoreOpen:i,onCloseAndUpdate:r}=e;const u=(0,l.TL)(),[h,p]=(0,s.useState)(!1);return(0,C.jsx)(oe.Z,{title:"Restore File Version",confirmText:"Restore",isOpen:i,isLoading:h,titleIcon:(0,C.jsx)(x.D7Y,{}),onConfirm:()=>{p(!0),a.h.buckets.putObjectRestore(n,{prefix:(0,c.LL)(o),version_id:t.version_id||""}).then((()=>{p(!1),r(!0),u((0,d.rI)({prefix:o,objectInfo:t}))})).catch((e=>{u((0,T.Ih)((0,m.g)(e.error))),p(!1)}))},confirmButtonProps:{variant:"secondary",disabled:h},onClose:()=>{r(!1)},confirmationContent:(0,C.jsxs)(x.xuv,{id:"alert-dialog-description",children:["Are you sure you want to restore ",(0,C.jsx)("br",{}),(0,C.jsx)("b",{children:o})," ",(0,C.jsx)("br",{})," with Version ID:",(0,C.jsx)("br",{}),(0,C.jsx)("b",{children:t.version_id}),"?"]})})},je=e=>{let{type:t}=e,n="#000",s="";switch(t){case"null":n="#07193E",s="NULL VERSION";break;case"deleted":n="#868686",s="DELETED";break;default:n="#174551",s="CURRENT VERSION"}return(0,C.jsx)("span",{style:{backgroundColor:n,padding:"0 5px",display:"inline-block",color:"#FFF",fontWeight:"bold",fontSize:12,borderRadius:2,whiteSpace:"nowrap",margin:"0 10px"},children:s})},be=v.ZP.div((e=>{let{theme:t}=e;return{"&:before":{content:"' '",display:"block",position:"absolute",width:"2px",height:"calc(100% + 2px)",backgroundColor:h()(t,"borderColor","#F8F8F8"),left:"24px"},"& .mainFileVersionItem":{borderBottom:"".concat(h()(t,"borderColor","#F8F8F8")," 1px solid"),padding:"1rem 0",margin:"0 0.5rem 0 2.5rem",cursor:"pointer","&.deleted":{color:"#868686"}},"& .intermediateLayer":{margin:"0 1.5rem 0 1.5rem","&:hover, &.selected":{backgroundColor:h()(t,"boxBackground","#F8F8F8"),"& > div":{borderBottomColor:h()(t,"boxBackground","#F8F8F8")}}},"& .versionContainer":{fontSize:16,fontWeight:"bold",display:"flex",alignItems:"center","& svg.min-icon":{width:18,height:18,minWidth:18,minHeight:18,marginRight:10}},"& .buttonContainer":{textAlign:"right","& button":{marginLeft:"1.5rem"}},"& .versionID":{fontSize:"12px",margin:"2px 0",whiteSpace:"nowrap",textOverflow:"ellipsis",maxWidth:"95%",overflow:"hidden"},"& .versionData":{marginRight:"10px",fontSize:12,color:"#868686"},"@media (max-width: 600px)":{"& .buttonContainer":{"& button":{marginLeft:"5px"}}},"@media (max-width: 799px)":{"&:before":{display:"none"},"& .mainFileVersionItem":{padding:"5px 0px",margin:0},"& .intermediateLayer":{margin:0,"&:hover, &.selected":{backgroundColor:"transparent","& > div":{borderBottomColor:h()(t,"boxBackground","#F8F8F8")}}},"& .versionContainer":{fontSize:14,"& svg.min-icon":{display:"none"}},"& .versionData":{textOverflow:"ellipsis",maxWidth:"95%",overflow:"hidden",whiteSpace:"nowrap"},"& .collapsableInfo":{display:"flex",flexDirection:"column"},"& .versionItem":{display:"none"}}}})),ge=e=>{let{fileName:t,versionInfo:n,isSelected:s,checkable:o,isChecked:i,onCheck:a,onShare:l,onDownload:r,onRestore:d,onPreview:u,globalClick:h,index:m,key:p,style:b}=e;const g=n.is_delete_marker,v=[{icon:(0,C.jsx)(x.P99,{}),action:u,tooltip:"Preview"},{icon:(0,C.jsx)(x._8t,{}),action:r,tooltip:"Download this version"},{icon:(0,C.jsx)(x.aAc,{}),action:l,tooltip:"Share this version"},{icon:(0,C.jsx)(x.D7Y,{}),action:d,tooltip:"Restore this version"}];let f=null;n.is_delete_marker?f="deleted":n.is_latest?f="current":"null"===n.version_id&&(f="null");let _=j.ou.now();return n.last_modified&&(_=j.ou.fromISO(n.last_modified)),(0,C.jsx)(be,{children:(0,C.jsx)(x.rjZ,{container:!0,className:"ctrItem",onClick:()=>{h(n)},style:b,children:(0,C.jsx)(x.rjZ,{item:!0,xs:12,className:"intermediateLayer".concat(" ",s?"selected":""),children:(0,C.jsxs)(x.rjZ,{item:!0,xs:!0,className:"mainFileVersionItem ".concat(n.is_delete_marker?"deleted":""),children:[(0,C.jsx)(x.rjZ,{item:!0,xs:12,children:(0,C.jsxs)(x.rjZ,{container:!0,children:[(0,C.jsxs)(x.rjZ,{item:!0,xs:!0,md:4,className:"versionContainer",children:[o&&(0,C.jsx)(x.XZJ,{checked:i,id:"select-".concat(n.version_id),name:"select-".concat(n.version_id),onChange:e=>{e.stopPropagation(),a(n.version_id||"")},value:n.version_id||"",disabled:n.is_delete_marker,sx:{width:"initial"}}),W(t,!0)," v",m.toString(),(0,C.jsx)("span",{className:"versionItem",children:f&&(0,C.jsx)(je,{type:f})})]}),(0,C.jsx)(x.rjZ,{item:!0,xs:10,md:8,className:"buttonContainer",children:v.map(((e,t)=>(0,C.jsx)(x.ua7,{tooltip:e.tooltip,children:(0,C.jsx)(x.hU,{size:"small",id:"version-action-".concat(e.tooltip,"-").concat(t.toString()),className:"spacing".concat(" ",g?"buttonDisabled":""),disabled:g,onClick:t=>{t.stopPropagation(),g?t.preventDefault():e.action(n)},sx:{backgroundColor:"#F8F8F8",borderRadius:"100%",width:"28px",height:"28px",padding:"5px","& .min-icon":{width:"14px",height:"14px"}},children:e.icon})},"version-action-".concat(e.tooltip,"-").concat(t.toString()))))})]})}),(0,C.jsx)(x.rjZ,{item:!0,xs:12,className:"versionID",children:"null"!==n.version_id?n.version_id:"-"}),(0,C.jsxs)(x.rjZ,{item:!0,xs:12,className:"collapsableInfo",children:[(0,C.jsxs)("span",{className:"versionData",children:[(0,C.jsx)("strong",{children:"Last modified:"})," ",_.toFormat("ccc, LLL dd yyyy HH:mm:ss (ZZZZ)")]}),(0,C.jsxs)("span",{className:"versionData",children:[(0,C.jsx)("strong",{children:"Size:"})," ",(0,c.ae)("".concat(n.size||"0"))]})]})]})})},p)})},ve=e=>{let{closeDeleteModalAndRefresh:t,deleteOpen:n,selectedBucket:i,selectedObject:d}=e;const u=(0,l.TL)(),[h,p]=(0,s.useState)(!1),[j,b]=(0,s.useState)(""),[g,v]=(0,s.useState)(!1),f=(0,o.v9)((e=>e.objectBrowser.retentionConfig)),S=(0,_.F)([i],[r.Ft.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===f||void 0===f?void 0:f.mode);if((0,s.useEffect)((()=>{h&&a.h.buckets.deleteObject(i,{prefix:d,non_current_versions:!0,bypass:g}).then((()=>{t(!0)})).catch((e=>{u((0,T.Ih)((0,m.g)(e.error))),p(!1)}))}),[h,t,u,d,i,g]),!d)return null;return(0,C.jsx)(oe.Z,{title:"Delete Non-Current versions",confirmText:"Delete",isOpen:n,titleIcon:(0,C.jsx)(x.NvT,{}),isLoading:h,onConfirm:()=>{p(!0)},onClose:()=>t(!1),confirmButtonProps:{disabled:"YES, PROCEED"!==j||h},confirmationContent:(0,C.jsxs)(s.Fragment,{children:["Are you sure you want to delete all the non-current versions for:"," ",(0,C.jsx)("b",{children:(0,c.IO)(d)}),"? ",(0,C.jsx)("br",{}),S&&(0,C.jsx)(s.Fragment,{children:(0,C.jsx)("div",{style:{marginTop:10},children:(0,C.jsx)(x.rsf,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:g,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:e=>{v(!g)},description:""})})}),(0,C.jsx)("br",{}),"To continue please type ",(0,C.jsx)("b",{children:"YES, PROCEED"})," in the box.",(0,C.jsx)("br",{}),(0,C.jsx)("br",{}),(0,C.jsx)(x.rjZ,{item:!0,xs:12,children:(0,C.jsx)(x.Wzg,{id:"type-confirm",name:"retype-tenant",onChange:e=>{b(e.target.value)},label:"",value:j})})]})})},fe=e=>{let{closeDeleteModalAndRefresh:t,deleteOpen:n,selectedBucket:i,selectedVersions:c,selectedObject:d}=e;const u=(0,l.TL)(),[h,p]=(0,s.useState)(!1),[j,b]=(0,s.useState)(!1),g=(0,o.v9)((e=>e.objectBrowser.retentionConfig)),v=(0,_.F)([i],[r.Ft.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===g||void 0===g?void 0:g.mode);return(0,s.useEffect)((()=>{if(h){const e=c.map((e=>({path:d,versionID:e,recursive:!1})));e.length>0&&a.h.buckets.deleteMultipleObjects(i,e,{all_versions:!1,bypass:j}).then((()=>{p(!1),t(!0)})).catch((e=>{u((0,T.Ih)((0,m.g)(e.error))),p(!1)}))}}),[h,t,i,d,c,j,u]),c?(0,C.jsx)(oe.Z,{title:"Delete Selected Versions",confirmText:"Delete",isOpen:n,titleIcon:(0,C.jsx)(x.NvT,{}),isLoading:h,onConfirm:()=>{p(!0)},onClose:()=>t(!1),confirmationContent:(0,C.jsxs)(s.Fragment,{children:["Are you sure you want to delete the selected ",c.length," ","versions for ",(0,C.jsx)("strong",{children:d}),"?",v&&(0,C.jsx)(s.Fragment,{children:(0,C.jsx)("div",{style:{marginTop:10},children:(0,C.jsx)(x.rsf,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:j,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:e=>{b(!j)},description:""})})})]})}):null};var _e=n(30761);const Se={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:0,tags:{},version_id:void 0},Te=e=>{let{internalPaths:t,bucketName:n}=e;const i=(0,l.TL)(),r=(0,o.v9)((e=>e.objectBrowser.searchVersions)),u=(0,o.v9)((e=>e.objectBrowser.loadingVersions)),p=(0,o.v9)((e=>e.objectBrowser.selectedVersion)),j=(0,o.v9)(T.N5),[b,g]=(0,s.useState)(!1),[v,f]=(0,s.useState)(null),[_,S]=(0,s.useState)(null),[w,y]=(0,s.useState)([]),[E,O]=(0,s.useState)(!1),[I,N]=(0,s.useState)(null),[k,B]=(0,s.useState)("date"),[L,A]=(0,s.useState)(!1),[D,P]=(0,s.useState)(!1),[R,U]=(0,s.useState)(!1),[G,Z]=(0,s.useState)([]),[K,W]=(0,s.useState)(!1);let J=[];v&&v.name&&(J=v.name.split("/")),(0,s.useEffect)((()=>{u||v||i((0,d.Eq)(!0))}),[u,v,i]),(0,s.useEffect)((()=>{u&&""!==t&&a.h.buckets.listObjects(n,{prefix:t,with_versions:j}).then((e=>{const n=h()(e.data,"objects",[]),s=(0,c.IO)(t),o=n.filter((e=>e.name===s));j?(f(o.find((e=>e.is_latest))||Se),y(o)):(f(o[0]),y([])),i((0,d.Eq)(!1))})).catch((e=>{i((0,T.Ih)((0,m.g)(e.error))),i((0,d.Eq)(!1))}))}),[u,n,t,i,j]);const Y=e=>{S(e),g(!0)},q=e=>{S(e),A(!0)},$=e=>{N(e),O(!0)},Q=e=>{z(i,n,t,e)},X=e=>{i((0,d.M3)(e.version_id||""))},ee=w.filter((e=>!!e.version_id&&e.version_id.includes(r))),te=w.reduce(((e,t)=>t.size?e+t.size:e),0);ee.sort(((e,t)=>{if("size"===k)return e.size&&t.size?e.sizet.size?1:0:0;{const n=new Date(e.last_modified||"").getTime(),s=new Date(t.last_modified||"").getTime();return ns?-1:0}}));const ne=e=>{if(G.includes(e)){const t=G.filter((t=>t!==e));return void Z(t)}const t=[...G];t.push(e),Z(t)};return(0,C.jsxs)(s.Fragment,{children:[b&&v&&(0,C.jsx)(V.default,{open:b,closeModalAndRefresh:()=>{S(null),g(!1),A(!1)},bucketName:n,dataObject:_||v}),E&&v&&I&&(0,C.jsx)(pe,{restoreOpen:E,bucketName:n,versionToRestore:I,objectPath:v.name||"",onCloseAndUpdate:e=>{O(!1),N(null),e&&(i((0,d.Eq)(!0)),i((0,d.vH)(!0)))}}),L&&v&&(0,C.jsx)(H.default,{open:L,bucketName:n,object:{name:v.name||"",version_id:_&&_.version_id?_.version_id:"null",size:_&&_.size?_.size:0,content_type:"",last_modified:v.last_modified||""},onClosePreview:()=>{A(!1)}}),D&&(0,C.jsx)(ve,{deleteOpen:D,closeDeleteModalAndRefresh:e=>{P(!1),e&&(i((0,d.Eq)(!0)),i((0,d.M3)("")),i((0,d.vH)(!0)))},selectedBucket:n,selectedObject:t}),K&&(0,C.jsx)(fe,{selectedBucket:n,selectedObject:(0,c.IO)(t),deleteOpen:K,selectedVersions:G,closeDeleteModalAndRefresh:e=>{W(!1),e&&(i((0,d.Eq)(!0)),i((0,d.M3)("")),i((0,d.vH)(!0)),Z([]))}}),(0,C.jsxs)(x.rjZ,{container:!0,sx:{width:"100%",padding:10,"@media (max-width: 799px)":{minHeight:800}},children:[!v&&(0,C.jsx)(x.rjZ,{item:!0,xs:12,children:(0,C.jsx)(x.kod,{})}),v&&(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(x.rjZ,{item:!0,xs:12,children:(0,C.jsx)(F,{bucketName:n,internalPaths:(0,c.IO)(t),hidePathButton:!0})}),(0,C.jsx)(x.rjZ,{item:!0,xs:12,sx:{position:"relative","& .detailsSpacer":{marginRight:18,"@media (max-width: 600px)":{marginRight:0}},["@media (max-width: ".concat(x.Egj.md,"px)")]:{"&::before":{display:"none"}}},children:(0,C.jsx)(x.UHn,{icon:(0,C.jsx)("span",{style:{display:"block",marginTop:"-10px"},children:(0,C.jsx)(x.cRd,{style:{width:20,height:20}})}),title:"".concat(J.length>0?J[J.length-1]:v.name," Versions"),subTitle:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)("span",{className:"detailsSpacer",children:(0,C.jsxs)("strong",{children:[w.length," Version",1===w.length?"":"s","\xa0\xa0\xa0"]})}),(0,C.jsx)("span",{className:"detailsSpacer",children:(0,C.jsx)("strong",{children:(0,c.l5)(te)})})]}),actions:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(M.Z,{tooltip:"Select Multiple Versions",children:(0,C.jsx)(x.zxk,{id:"select-multiple-versions",onClick:()=>{U(!R)},icon:(0,C.jsx)(x.amE,{}),variant:R?"callAction":"regular",style:{marginRight:8}})}),R&&(0,C.jsx)(M.Z,{tooltip:"Delete Selected Versions",children:(0,C.jsx)(x.zxk,{id:"delete-multiple-versions",onClick:()=>{W(!0)},icon:(0,C.jsx)(x.pJl,{}),variant:"secondary",style:{marginRight:8},disabled:0===G.length})}),(0,C.jsx)(M.Z,{tooltip:"Delete Non Current Versions",children:(0,C.jsx)(x.zxk,{id:"delete-non-current",onClick:()=>{P(!0)},icon:(0,C.jsx)(x.utM,{}),variant:"secondary",style:{marginRight:15},disabled:w.length<=1})}),(0,C.jsx)(x.PhF,{id:"sort-by",options:[{label:"Date",value:"date"},{label:"Size",value:"size"}],value:k,label:"Sort by",onChange:e=>{B(e)},noLabelMinWidth:!0})]}),bottomBorder:!1})}),(0,C.jsx)(x.rjZ,{item:!0,xs:12,sx:{flexGrow:1,height:"calc(100% - 120px)",overflow:"auto",["@media (max-width: ".concat(x.Egj.md,"px)")]:{height:600}},children:v.version_id&&"null"!==v.version_id&&(0,C.jsx)(_e.aV,{style:{width:"100%"},containerStyle:{width:"100%",maxWidth:"100%"},width:1,height:800,rowCount:ee.length,rowHeight:108,rowRenderer:e=>{let{key:t,index:n,isScrolling:s,isVisible:o,style:i}=e;const a=w.length-n;return(0,C.jsx)(ge,{style:i,fileName:(null===v||void 0===v?void 0:v.name)||"",versionInfo:ee[n],index:a,onDownload:Q,onRestore:$,onShare:Y,onPreview:q,globalClick:X,isSelected:p===ee[n].version_id,checkable:R,onCheck:ne,isChecked:G.includes(ee[n].version_id||"")},t)}})})]})]})]})},we=e=>{if(e.name.endsWith("/"))return"";const t=j.ou.now(),n=j.ou.fromISO(e.last_modified);return t.hasSame(n,"day")&&t.hasSame(n,"month")&&t.hasSame(n,"year")?"Today, ".concat(n.toFormat("HH:mm")):n.toFormat("ccc, LLL dd yyyy HH:mm (ZZZZ)")},ye=e=>e.name.endsWith("/")||!e.size?"-":(0,c.ae)(String(e.size)),Ce=[{label:"Name",elementKey:"name",renderFunction:W,enableSort:!0},{label:"Last Modified",elementKey:"last_modified",renderFunction:we,renderFullObject:!0,enableSort:!0},{label:"Size",elementKey:"size",renderFunction:ye,renderFullObject:!0,width:100,enableSort:!0}],Ee=[{label:"Name",elementKey:"name",renderFunction:W,enableSort:!0},{label:"Object Date",elementKey:"last_modified",renderFunction:we,renderFullObject:!0,enableSort:!0},{label:"Size",elementKey:"size",renderFunction:ye,renderFullObject:!0,width:100,enableSort:!0},{label:"Deleted",elementKey:"delete_flag",renderFunction:e=>e?"Yes":"No",width:60}];var Oe=n(46078);const Fe=()=>{const e=(0,l.TL)(),t=(0,i.UO)(),n=(0,i.s0)(),[a,u]=(0,s.useState)("ASC"),[m,p]=(0,s.useState)("name"),j=t.bucketName||"",b=(0,o.v9)((e=>e.objectBrowser.objectDetailsOpen)),g=(0,o.v9)((e=>e.objectBrowser.requestInProgress)),v=(0,o.v9)(Oe.$4),f=!(null===v||void 0===v||!v.includes("object-browser-only")),S=(0,o.v9)((e=>e.objectBrowser.rewind.rewindEnabled)),T=(0,o.v9)((e=>e.objectBrowser.records)),w=(0,o.v9)((e=>e.objectBrowser.searchObjects)),y=(0,o.v9)((e=>e.objectBrowser.selectedObjects)),E=(0,o.v9)((e=>e.objectBrowser.connectionError)),O=(0,o.v9)((e=>e.system.anonymousMode)),F=(0,_.F)(j,[r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET]),N=T.filter((e=>{if(""===w)return!0;return e.name.toLowerCase().indexOf(w.toLowerCase())>=0})).sort((0,I.P_)(m));let k=[];k="ASC"===a?N:N.reverse();const B=[{type:"view",tooltip:"View",onClick:t=>{var s;const o=t.name||"",i="/browser/".concat(j).concat(o?"/".concat((0,c.LL)(o)):"");!O||null!==(s=t.name)&&void 0!==s&&s.endsWith("/")?(e((0,d.S2)([])),n(i),O||(e((0,d.vb)(!0)),e((0,d.Eq)(!0))),e((0,d.EE)("".concat(o?"".concat((0,c.LL)(o)):"")))):z(e,j,"".concat((0,c.LL)(o)),t)},sendOnlyId:!1}];let L=F||O?"This location is empty".concat(S?"":", please try uploading a new file"):(0,r.MK)([r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET],"view Objects in this bucket");E&&(L="Objects List unavailable. Please review your WebSockets configuration and try again");let A="calc(100vh - 290px)";return f&&(A="calc(100vh - 315px)"),(0,C.jsx)(x.wQF,{itemActions:B,columns:S?Ee:Ce,isLoading:g,entityName:"Objects",idField:"name",records:k,customPaperHeight:A,selectedItems:y,onSelect:O?void 0:t=>{const n=t.target,s=n.value,o=n.checked;let i=[...y];return o?i.push(s):i=i.filter((e=>e!==s)),e((0,d.S2)(i)),e((0,d.EE)(null)),i},customEmptyMessage:L,sortConfig:{currentSort:m,currentDirection:a,triggerSort:t=>{const n=h()(t,"sortDirection","DESC");p(t.sortBy),u(n),e((0,d.$3)(!0))}},onSelectAll:()=>{if(e((0,d.EE)(null)),y.length===k.length)return void e((0,d.S2)([]));const t=k.map((e=>e.name));e((0,d.S2)(t))},rowStyle:e=>{var t;let{index:n}=e;return null!==(t=k[n])&&void 0!==t&&t.delete_flag?"deleted":""},sx:{minHeight:b?"100%":"initial"},noBackground:!0})};var Ie=n(59114);const Ne=()=>{const e=(0,l.TL)(),t=(0,o.v9)((e=>e.objectBrowser.searchObjects));return(0,C.jsx)(Ie.Z,{placeholder:"Start typing to filter objects in the bucket",onChange:t=>{e((0,d.G4)(t))},value:t})};var ke=n(94619);const Be=(0,S.Z)(s.lazy((()=>n.e(711).then(n.bind(n,50711))))),Le=(0,S.Z)(s.lazy((()=>Promise.resolve().then(n.bind(n,34433))))),Ae=(0,S.Z)(s.lazy((()=>n.e(6901).then(n.bind(n,26901))))),De=(0,S.Z)(s.lazy((()=>Promise.resolve().then(n.bind(n,78562))))),Pe={borderWidth:2,borderRadius:2,borderColor:"transparent",outline:"none"},Re={borderStyle:"dashed",backgroundColor:"transparent",borderColor:"#2196f3"},Me={borderStyle:"dashed",backgroundColor:"transparent",borderColor:"#00e676"},Ue=()=>{var e;const t=(0,l.TL)(),n=(0,i.UO)(),u=(0,i.s0)(),b=(0,i.TH)(),g=(0,o.v9)((e=>e.objectBrowser.rewind.rewindEnabled)),v=(0,o.v9)((e=>e.objectBrowser.rewind.bucketToRewind)),f=(0,o.v9)((e=>e.objectBrowser.versionsMode)),S=(0,o.v9)((e=>e.objectBrowser.showDeleted)),E=(0,o.v9)((e=>e.objectBrowser.objectDetailsOpen)),O=(0,o.v9)((e=>e.objectBrowser.selectedInternalPaths)),L=(0,o.v9)((e=>e.objectBrowser.requestInProgress)),z=(0,o.v9)((e=>e.objectBrowser.simplePath)),Z=(0,o.v9)((e=>e.objectBrowser.versionInfo)),K=(0,o.v9)((e=>e.objectBrowser.lockingEnabled)),W=(0,o.v9)((e=>e.objectBrowser.downloadRenameModal)),H=(0,o.v9)((e=>e.objectBrowser.selectedPreview)),J=(0,o.v9)((e=>e.objectBrowser.shareFileModalOpen)),V=(0,o.v9)((e=>e.objectBrowser.previewOpen)),Y=(0,o.v9)((e=>e.objectBrowser.selectedBucket)),q=(0,o.v9)((e=>e.system.anonymousMode)),$=(0,o.v9)((e=>e.objectBrowser.anonymousAccessOpen)),Q=(0,o.v9)((e=>{var t;return(null===(t=e.objectBrowser)||void 0===t?void 0:t.records)||[]})),X=(0,o.v9)(B.HQ),ee=(0,o.v9)(B.G6),[te,ne]=(0,s.useState)(!1),[se,oe]=(0,s.useState)(!1),[ie,ae]=(0,s.useState)(!1),[le,re]=(0,s.useState)(!1),[ce,de]=(0,s.useState)(!1),[ue,xe]=(0,s.useState)(null),[pe,je]=(0,s.useState)(null),[be,ge]=(0,s.useState)(!1),ve=N(Z.status),fe=n.bucketName||"",_e=b.pathname.split("/browser/".concat(fe,"/")),Se=2===_e.length?_e[1]:"",we=(0,c.IO)(Se),ye=we.split("/").filter((e=>""!==e));let Ce=[fe];ye.length>0&&(Ce=Ce.concat(ye));const Ee=(0,s.useRef)(null),Oe=(0,s.useRef)(null),Ie=(0,o.v9)((e=>e.console.session&&e.console.session.permissions||{})),Ue=[r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],Ge=Ce.join("/"),ze=function(e,t){const n=y(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:[]).reduce(((e,t)=>{const n=w(t);return n&&e.push(".".concat(n)),e}),[]);return[...new Set(n)].join(",")}(Ie,Ge,Ue),Ze=y(Ie,Ge,Ue),Ke=(0,_.F)([Ge,...Ze],[r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS]),We=(0,_.F)([Ge,...Ze],[r.Ft.S3_DELETE_OBJECT]),He=(0,_.F)([Ge,...Ze],Ue)||q,Je=(0,_.F)(fe,[r.Ft.S3_GET_BUCKET_POLICY,r.Ft.S3_PUT_BUCKET_POLICY,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS]),Ve=(0,o.v9)((e=>e.objectBrowser.selectedObjects)),Ye=(()=>{let e=!1;if(1===Ve.length){e=!!Q.find((e=>e.name==="".concat(Ve[0])&&e.delete_flag))}return e})(),qe=(0,s.useCallback)((()=>{const e=Ve[0];if(!be){const t=(0,c.LL)(e);a.h.buckets.getObjectMetadata(fe,{prefix:t}).then((e=>{let t=h()(e.data,"objectMetadata",{});ge(!0),je(t)})).catch((e=>{console.error("Error Getting Metadata Status: ",e,null===e||void 0===e?void 0:e.detailedError),ge(!0)}))}}),[fe,Ve,be]);(0,s.useEffect)((()=>{fe&&!Ye&&qe()}),[fe,Ve,qe,Ye]),(0,s.useEffect)((()=>{g&&v!==fe&&t((0,d._w)())}),[g,v,fe,t]),(0,s.useEffect)((()=>{null!==Oe.current&&(Oe.current.setAttribute("directory",""),Oe.current.setAttribute("webkitdirectory",""))}),[Oe]),(0,s.useEffect)((()=>{if(1===Ve.length){const e=Ve[0],t=e.endsWith("/");let n=(0,I.s7)(pe,e);de(!("none"===n||!Ke)),re(!(!Ke||t))}else re(!1),de(!1)}),[Ve,Ke,pe]),(0,s.useEffect)((()=>{ue||q||a.h.buckets.getBucketQuota(fe).then((e=>{let t=null;e.data.quota&&(t=e.data),xe(t)})).catch((e=>{console.error("Error Getting Quota Status: ",e.error.detailedMessage),xe(null)}))}),[ue,fe,q]),(0,s.useEffect)((()=>{Ve.length>0?t((0,d.vb)(!0)):0!==Ve.length||null!==O||L||t((0,d.vb)(!1))}),[Ve,O,t,L]),(0,s.useEffect)((()=>{ie||(t((0,B.d5)(!0)),ae(!0))}),[ie,t,ae]),(0,s.useEffect)((()=>{!L&&!X||q||a.h.buckets.bucketInfo(fe).then((e=>{t((0,B.d5)(!1)),t((0,B.f4)(e.data))})).catch((e=>{t((0,B.d5)(!1)),t((0,T.Ih)((0,m.g)(e)))}))}),[fe,X,t,q,L]),(0,s.useEffect)((()=>{""!==Y&&a.h.buckets.getBucketRetentionConfig(Y).then((e=>{t((0,d.c8)(e.data))})).catch((()=>{t((0,d.c8)(null))}))}),[Y,t]);const $e=e=>{if(null!==e&&void 0!==e&&null!==e.target.files&&void 0!==e.target.files){e.preventDefault();var t=[];for(let n=0;n{let s="";z&&(s=z.endsWith("/")?z:z+"/");((e,n,s,o)=>{let i=i=>new Promise(((a,l)=>{let r="api/v1/buckets/".concat(n,"/objects/upload");const u=i.name,x=new Blob([i],{type:i.type});let m="";const p=h()(i,"path",""),j=h()(i,"webkitRelativePath","");let b=o;const g=(0,k.YO)(8);""!==p?b=p:""!==j&&(b=j);let v="";if(""!==s||""!==b){const e=b.split("/").slice(0,-1).join("/"),t=s.endsWith("/")?s.slice(0,-1):s;v="".concat(t).concat(t.endsWith("/")||""===e||e.startsWith("/")?"":"/").concat(e).concat(!e.endsWith("/")||""===e.trim()&&!s.endsWith("/")?"/":"")}r=""!==v?"".concat(r,"?prefix=").concat((0,c.LL)(v+u)):"".concat(r,"?prefix=").concat((0,c.LL)(u)),m=(0,c.LL)(v);const f=(0,c.LL)("".concat(n,"-").concat(m,"-").concat((new Date).getTime(),"-").concat(Math.random()));let _=new XMLHttpRequest;_.open("POST",r,!0),q&&_.setRequestHeader("X-Anonymous","1");const S=e.length>1;let T="An error occurred while uploading the file".concat(S?"s":"",".");const w={413:"Error - File size too large"};_.withCredentials=!1,_.onload=function(){if(_.status>=200&&_.status<300)t((0,d.oK)(f)),a({status:_.status}),(0,k.GM)(g);else{if(w[_.status])T=w[_.status];else if(_.response)try{const e=JSON.parse(_.response);T=e.detailedMessage}catch(e){T="something went wrong"}t((0,d.qJ)({instanceID:f,msg:T})),l({status:_.status,message:T}),(0,k.GM)(g)}},_.upload.addEventListener("error",(()=>{l(T),t((0,d.qJ)({instanceID:f,msg:"A network error occurred."}))})),_.upload.addEventListener("progress",(e=>{const n=Math.floor(100*e.loaded/e.total);t((0,d.RO)({instanceID:f,progress:n}))})),_.onerror=()=>{l(T),t((0,d.qJ)({instanceID:f,msg:"A network error occurred."}))},_.onloadend=()=>{0===e.length&&t((0,d.$3)(!0))},_.onabort=()=>{t((0,d.Im)(f))};const y=new FormData;void 0!==i.size&&(y.append(i.size.toString(),x,u),(0,k.EN)(g,_),t((0,d.Mc)({ID:g,bucketName:n,done:!1,instanceID:f,percentage:0,prefix:"".concat((0,c.IO)(m)).concat(u),type:"upload",waitingForFile:!1,failed:!1,cancelled:!1,errorMessage:""})),(0,k.N5)(g,y))}));const a=[];t((0,d.LD)());for(let t=0;t{const n=e.filter((e=>"rejected"===e.status));if(n.length>0){const e=a.length,s=a.length-n.length,o={errorMessage:"There were some errors during file upload",detailedError:"Uploaded files ".concat(s,"/").concat(e)};t((0,T.Ih)(o))}t((0,d.$3)(!0))}))})(e,fe,s,n)}),[fe,t,z,q]),Xe=(0,s.useCallback)((e=>{if(e&&e.length>0&&He){let n=e[0].path,s=e;ze.length>0&&(s=e.filter((e=>{const t=w(e.name);return ze.includes(t)}))),s.length?(Qe(s,n),console.log("".concat(s.length," Allowed Files Processed out of ").concat(e.length,"."),Ge,...Ze),s.length!==e.length&&t((0,T.Ih)({errorMessage:"Upload is restricted.",detailedError:(0,r.MK)([r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],"upload objects to this location")}))):(t((0,T.Ih)({errorMessage:"Could not process drag and drop.",detailedError:(0,r.MK)([r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],"upload objects to this location")})),console.error("Could not process drag and drop . upload may be restricted.",Ge,...Ze))}He||t((0,T.Ih)({errorMessage:"Upload not allowed",detailedError:(0,r.MK)([r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],"upload objects to this location")}))}),[Qe]),{getRootProps:et,getInputProps:tt,isDragActive:nt,isDragAccept:st}=(0,p.uI)({noClick:!0,onDrop:Xe}),ot=(0,s.useMemo)((()=>({...Pe,...nt?Re:{},...st?Me:{}})),[nt,st]),it=e=>{if(t((0,d.EE)(null)),t((0,d.db)({status:!1})),E&&null!==O){const e=(0,c.IO)(Se).split("/");e.pop();let t="";e&&e.length>0&&(t="".concat(e.join("/"),"/")),u("/browser/".concat(fe,"/").concat((0,c.LL)(t)))}t((0,d.vb)(!1)),e&&t((0,d.$3)(!0))};let at=j.ou.now();null!==ee&&void 0!==ee&&ee.creation_date&&(at=j.ou.fromISO(ee.creation_date));const lt=(null===Ve||void 0===Ve?void 0:Ve.length)<=1?"Download Selected":" Download selected objects as Zip. Any Deleted objects in the selection would be skipped from download.",rt=[{action:()=>{t(A(fe))},label:"Download",disabled:!Ke||Ye,icon:(0,C.jsx)(x._8t,{}),tooltip:Ke?lt:(0,r.MK)([r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS],"download objects from this bucket")},{action:()=>{t(P())},label:"Share",disabled:1!==Ve.length||!le||Ye,icon:(0,C.jsx)(x.aAc,{}),tooltip:le?"Share Selected File":"Sharing unavailable"},{action:()=>{t(D())},label:"Preview",disabled:1!==Ve.length||!ce||Ye,icon:(0,C.jsx)(x.P99,{}),tooltip:ce?"Preview Selected File":"Preview unavailable"},{action:()=>{t(R())},label:"Anonymous Access",disabled:1!==Ve.length||!Ve[0].endsWith("/")||!Je,icon:(0,C.jsx)(x.cuP,{}),tooltip:1===Ve.length&&Ve[0].endsWith("/")?"Set Anonymous Access to this Folder":"Anonymous Access unavailable"},{action:()=>{ne(!0)},label:"Delete",icon:(0,C.jsx)(x.pJl,{}),disabled:!We||0===Ve.length,tooltip:We?"Delete Selected Files":(0,r.MK)([r.Ft.S3_DELETE_OBJECT],"delete objects in this bucket")}];return(0,C.jsxs)(s.Fragment,{children:[J&&H&&(0,C.jsx)(Le,{open:J,closeModalAndRefresh:()=>{t((0,d.Qf)(!1)),t((0,d.eP)(null))},bucketName:fe,dataObject:{name:H.name,last_modified:"",version_id:H.version_id}}),te&&(0,C.jsx)(Be,{deleteOpen:te,selectedBucket:fe,selectedObjects:Ve,closeDeleteModalAndRefresh:e=>{ne(!1),e&&(t((0,T.y1)("Objects deleted successfully.")),t((0,d.S2)([])),t((0,d.$3)(!0)))},versioning:Z}),se&&(0,C.jsx)(Ae,{open:se,closeModalAndRefresh:()=>{oe(!1)},bucketName:fe}),V&&(0,C.jsx)(De,{open:V,bucketName:fe,object:H,onClosePreview:()=>{t((0,d.ei)(!1)),t((0,d.eP)(null))}}),!!W&&(0,C.jsx)(he,{open:!!W,closeModal:()=>{t((0,d.$y)(null))},currentItem:(null===(e=W.name.split("/"))||void 0===e?void 0:e.pop())||"",bucketName:fe,internalPaths:Se,actualInfo:{name:W.name,last_modified:"",version_id:W.version_id,size:W.size}}),$&&(0,C.jsx)(ke.default,{onClose:()=>{t((0,d.xV)(!1))},bucket:fe,modalOpen:$,prefilledRoute:"".concat(Ve[0],"*")}),(0,C.jsxs)(x.Xgh,{variant:"full",children:[q&&(0,C.jsx)("div",{style:{paddingBottom:16},children:(0,C.jsx)(Ne,{})}),(0,C.jsx)(x.xuv,{withBorders:!0,sx:{padding:"0 5px"},children:(0,C.jsx)(x.UHn,{icon:(0,C.jsx)("span",{children:(0,C.jsx)(x.wNb,{style:{width:30}})}),title:fe,subTitle:q?null:(0,C.jsxs)(x.xuv,{sx:{"& .detailsSpacer":{marginRight:18,"@media (max-width: 600px)":{marginRight:0}}},children:[(0,C.jsxs)("span",{className:"detailsSpacer",children:["Created on:\xa0",(0,C.jsx)("strong",{children:null!==ee&&void 0!==ee&&ee.creation_date?at.toFormat("ccc, LLL dd yyyy HH:mm:ss (ZZZZ)"):""})]}),(0,C.jsxs)("span",{className:"detailsSpacer",children:["Access:\xa0\xa0",(0,C.jsx)("strong",{children:(null===ee||void 0===ee?void 0:ee.access)||""})]}),ee&&(0,C.jsx)(s.Fragment,{children:(0,C.jsxs)("span",{className:"detailsSpacer",children:[ee.size&&(0,C.jsx)(s.Fragment,{children:(0,c.l5)(ee.size)}),ee.size&&ue&&(0,C.jsxs)(s.Fragment,{children:[" ","/ ",(0,c.l5)(ue.quota||0)]}),ee.size&&ee.objects?" - ":"",ee.objects&&(0,C.jsxs)(s.Fragment,{children:[ee.objects,"\xa0Object",ee.objects&&1!==ee.objects?"s":""]})]})})]}),actions:(0,C.jsxs)(s.Fragment,{children:[!q&&(0,C.jsx)(M.Z,{tooltip:"Rewind Bucket",children:(0,C.jsx)(x.zxk,{id:"rewind-objects-list",label:"Rewind",icon:(0,C.jsx)(x.Cts,{color:"alert",dotOnly:!0,invisible:!g,children:(0,C.jsx)(x.F_y,{style:{minWidth:16,minHeight:16,width:16,height:16,marginTop:-3}})}),variant:"regular",onClick:()=>{oe(!0)},disabled:!ve||!(0,_.F)(fe,[r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS])})}),(0,C.jsx)(M.Z,{tooltip:"Reload List",children:(0,C.jsx)(x.zxk,{id:"refresh-objects-list",label:"Refresh",icon:(0,C.jsx)(x.DuK,{}),variant:"regular",onClick:()=>{f?t((0,d.Eq)(!0)):(t((0,d.o_)()),t((0,d.$3)(!0)))},disabled:!q&&(!(0,_.F)(fe,[r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET])||g)})}),(0,C.jsx)("input",{type:"file",multiple:!0,accept:ze||void 0,onChange:$e,style:{display:"none"},ref:Ee}),(0,C.jsx)("input",{type:"file",multiple:!0,onChange:$e,style:{display:"none"},ref:Oe}),(0,C.jsx)(U,{bucketName:fe,uploadPath:Ge,uploadFileFunction:e=>{Ee&&Ee.current&&Ee.current.click(),e()},uploadFolderFunction:e=>{Oe&&Oe.current&&Oe.current.click(),e()}})]}),bottomBorder:!1})}),(0,C.jsxs)("div",{id:"object-list-wrapper",...et({style:{...ot}}),children:[(0,C.jsx)("input",{...tt()}),(0,C.jsxs)(x.xuv,{withBorders:!0,sx:{display:"flex",borderTop:0,padding:0,"& .hideListOnSmall":{"@media (max-width: 799px)":{display:"none"}}},children:[f?(0,C.jsx)(s.Fragment,{children:null!==O&&(0,C.jsx)(Te,{internalPaths:O,bucketName:fe})}):(0,C.jsx)(_.s,{scopes:[r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET],resource:fe,errorProps:{disabled:!0},children:(0,C.jsxs)(x.rjZ,{item:!0,xs:12,sx:{width:"100%",position:"relative","&.detailsOpen":{"@media (max-width: 799px)":{display:"none"}}},className:E?"detailsOpen":"",children:[!q&&(0,C.jsx)(x.rjZ,{item:!0,xs:12,sx:{padding:"12px 14px 5px"},children:(0,C.jsx)(F,{bucketName:fe,internalPaths:we,additionalOptions:!ve||g?null:(0,C.jsx)(x.XZJ,{name:"deleted_objects",id:"showDeletedObjects",value:"deleted_on",label:"Show deleted objects",onChange:()=>{t((0,d.o_)()),t((0,d.mz)(!S)),it(!0)},checked:S,sx:{marginLeft:5,"@media (max-width: 600px)":{marginLeft:0,flexDirection:"row"}}}),hidePathButton:!1})}),(0,C.jsx)(Fe,{})]})}),!q&&(0,C.jsx)(_.s,{scopes:[r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET],resource:fe,errorProps:{disabled:!0},children:(0,C.jsxs)(G,{open:E,closePanel:()=>{it(!1)},className:"".concat(f?"hideListOnSmall":""),children:[Ve.length>0&&(0,C.jsx)(x.Wk,{items:rt,title:"Selected Objects:"}),null!==O&&(0,C.jsx)(me,{internalPaths:O,bucketName:fe,onClosePanel:it,versioningInfo:Z,locking:K})]})})]})]})]})]})};var Ge=n(49535),ze=n(73996),Ze=n(79844),Ke=n(4677),We=n(99670);const He=e=>{let{bucketName:t}=e;const n=(0,l.TL)(),a=(0,o.v9)(Oe.$4),c=(0,o.v9)((e=>e.objectBrowser.versionsMode)),u=(0,o.v9)((e=>e.objectBrowser.versionedFile)),h=(0,o.v9)((e=>e.objectBrowser.searchVersions)),m=!(null===a||void 0===a||!a.includes("object-browser-only")),p=(0,i.s0)(),j=(0,Ge.Z)(t,[r.Ft.S3_GET_BUCKET_POLICY,r.Ft.S3_PUT_BUCKET_POLICY,r.Ft.S3_GET_BUCKET_VERSIONING,r.Ft.S3_PUT_BUCKET_VERSIONING,r.Ft.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION,r.Ft.S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION,r.Ft.S3_DELETE_BUCKET,r.Ft.S3_GET_BUCKET_NOTIFICATIONS,r.Ft.S3_PUT_BUCKET_NOTIFICATIONS,r.Ft.S3_GET_REPLICATION_CONFIGURATION,r.Ft.S3_PUT_REPLICATION_CONFIGURATION,r.Ft.S3_GET_LIFECYCLE_CONFIGURATION,r.Ft.S3_PUT_LIFECYCLE_CONFIGURATION,r.Ft.ADMIN_GET_BUCKET_QUOTA,r.Ft.ADMIN_SET_BUCKET_QUOTA,r.Ft.S3_PUT_BUCKET_TAGGING,r.Ft.S3_GET_BUCKET_TAGGING,r.Ft.S3_LIST_BUCKET_VERSIONS,r.Ft.S3_GET_BUCKET_POLICY_STATUS,r.Ft.S3_DELETE_BUCKET_POLICY,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS]),b=(0,C.jsx)(s.Fragment,{children:c?(0,C.jsx)(s.Fragment,{children:(0,C.jsx)(Ie.Z,{placeholder:"Start typing to filter versions of ".concat(u),onChange:e=>{n((0,d.Pr)(e))},value:h})}):(0,C.jsx)(_.s,{scopes:[r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET],resource:t,errorProps:{disabled:!0},children:(0,C.jsx)(Ne,{})})});return(0,s.useEffect)((()=>{n((0,T.Sc)("object_browser"))}),[]),(0,C.jsx)(s.Fragment,{children:m?(0,C.jsxs)(x.rjZ,{container:!0,sx:{padding:"20px 32px 0"},children:[(0,C.jsx)(x.rjZ,{children:(0,C.jsx)(ze.Z,{marginRight:30,marginTop:10})}),(0,C.jsxs)(x.rjZ,{item:!0,xs:!0,sx:{display:"flex",gap:10},children:[b,(0,C.jsx)(Ke.Z,{})]})]}):(0,C.jsx)(Ze.Z,{label:(0,C.jsx)(x.hbI,{label:"Object Browser",onClick:()=>{p(r.gA.OBJECT_BROWSER_VIEW)}}),actions:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(_.s,{scopes:r.D[r.EI.BUCKET_ADMIN],resource:t,errorProps:{disabled:!0},children:(0,C.jsx)(M.Z,{tooltip:j?"Configure Bucket":"You do not have the required permissions to configure this bucket. Please contact your MinIO administrator to request "+r.EI.BUCKET_ADMIN+" permisions.",children:(0,C.jsx)(x.zxk,{id:"configure-bucket-main",color:"primary","aria-label":"Configure Bucket",onClick:()=>p("/buckets/".concat(t,"/admin")),icon:(0,C.jsx)(x.ewm,{style:{width:20,height:20,marginTop:-3}}),style:{padding:"0 10px"}})})}),(0,C.jsx)(We.Z,{})]}),middleComponent:b})})},Je=()=>{const e=(0,l.TL)(),t=(0,i.UO)(),n=(0,i.TH)(),u=(0,o.v9)((e=>e.objectBrowser.loadingVersioning)),h=(0,o.v9)((e=>e.objectBrowser.rewind.rewindEnabled)),x=(0,o.v9)((e=>e.objectBrowser.rewind.dateToRewind)),m=(0,o.v9)((e=>e.objectBrowser.showDeleted)),p=(0,o.v9)((e=>e.objectBrowser.requestInProgress)),j=(0,o.v9)((e=>e.objectBrowser.loadingLocking)),b=(0,o.v9)((e=>e.objectBrowser.reloadObjectsList)),g=(0,o.v9)((e=>e.objectBrowser.simplePath)),v=(0,o.v9)((e=>e.system.anonymousMode)),f=(0,o.v9)((e=>e.objectBrowser.selectedBucket)),_=(0,o.v9)((e=>e.objectBrowser.records)),S=t.bucketName||"",T=n.pathname.split("/browser/".concat(S,"/")),w=2===T.length?T[1]:"",y=(0,s.useCallback)((t=>{let n=(new Date).toISOString();null!==x&&h&&(n=x);e({type:"socket/OBRequest",payload:{bucketName:S,path:t,rewindMode:h||m,date:n}})}),[S,m,x,h,e]),E=(0,s.useCallback)((function(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const n=(0,c.IO)(w);e((0,d.db)({status:!1}));let s=n;n.endsWith("/")||""===n||(s="".concat(n.split("/").slice(0,-1).join("/"),"/")),"/"===s&&(s=""),(s!==g||S!==f||t)&&(e((0,d.zD)(!0)),y(s))}),[w,e,g,f,S,y]);(0,s.useEffect)((()=>()=>{e({type:"socket/OBCancelLast"})}),[e]),(0,s.useEffect)((()=>{const t=(0,c.IO)(w);e((0,d.IJ)(!0)),t.endsWith("/")||""===t?(e((0,d.vb)(!1)),e((0,d.EE)(null)),e((0,d.Jn)(!0))):(e((0,d.vH)(!0)),e((0,d.vb)(!0)),e((0,d.Eq)(!0)),e((0,d.EE)("".concat(t?"".concat((0,c.LL)(t)):""))))}),[S,w,x,h,e]),(0,s.useEffect)((()=>{E(!1)}),[E]),(0,s.useEffect)((()=>{b&&0===_.length&&!p&&E(!0)}),[b,_,p,E]);const O=(0,Ge.Z)(S,[r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET])||v;return(0,s.useEffect)((()=>{u&&!v&&(O?a.h.buckets.getBucketVersioning(S).then((t=>{e((0,d.lS)(t.data)),e((0,d.IJ)(!1))})).catch((t=>{console.error("Error Getting Object Versioning Status: ",t.error.detailedMessage),e((0,d.IJ)(!1))})):(e((0,d.IJ)(!1)),e((0,d.o_)())))}),[S,u,e,O,v]),(0,s.useEffect)((()=>{j&&(O?a.h.buckets.getBucketObjectLockingStatus(S).then((t=>{e((0,d.lY)(t.data.object_locking_enabled)),e((0,d.Jn)(!1))})).catch((t=>{console.error("Error Getting Object Locking Status: ",t.error.detailedMessage),e((0,d.Jn)(!1))})):(e((0,d.o_)()),e((0,d.Jn)(!1))))}),[S,j,e,O]),(0,C.jsxs)(s.Fragment,{children:[!v&&(0,C.jsx)(He,{bucketName:S}),(0,C.jsx)(Ue,{})]})}},34433:(e,t,n)=>{n.r(t),n.d(t,{default:()=>b});var s=n(72791),o=n(78687),i=n(29945),a=n(78029),l=n.n(a),r=n(56028),c=n(99779),d=n(80184);const u=e=>{let{id:t,initialDate:n,label:o,maxDays:a,entity:l,onChange:r}=e;const[u,h]=(0,s.useState)(7),[x,m]=(0,s.useState)(0),[p,j]=(0,s.useState)(0),[b,g]=(0,s.useState)(!0),[v,f]=(0,s.useState)(c.ou.now());(0,s.useEffect)((()=>{isNaN(x)||isNaN(u)||isNaN(p)||f(((e,t,n,s)=>c.ou.fromJSDate(e).plus({hours:n+24*t,minutes:s}))(n,u,x,p))}),[n,u,x,p]),(0,s.useEffect)((()=>{if(b){const e=v.toFormat("yyyy-MM-dd HH:mm:ss");r(e.split(" ").join("T"),!0)}else r("0000-00-00",!1)}),[v,r,b]),(0,s.useEffect)((()=>{let e=!0;(u<0||a&&u>a||isNaN(u))&&(e=!1),(x<0||x>23||isNaN(x))&&(e=!1),(p<0||p>59||isNaN(p))&&(e=!1),!a||u!==a||0===x&&0===p||(e=!1),u<=0&&x<=0&&p<=0&&(e=!1),g(e)}),[v,a,r,u,x,p]);const _={"& .textBoxContainer":{minWidth:0},"& input":{textAlign:"center",paddingRight:10,paddingLeft:10,width:40}};return(0,d.jsxs)(i.xuv,{className:"inputItem",children:[(0,d.jsx)(i.xuv,{sx:{display:"flex",alignItems:"center",marginBottom:5},children:(0,d.jsx)(i.AZs,{htmlFor:t,children:o})}),(0,d.jsxs)(i.xuv,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"space-evenly",gap:10,"& .reverseInput":{flexFlow:"row-reverse","& > label":{fontWeight:400,marginLeft:15,marginRight:25}}},children:[(0,d.jsx)(i.xuv,{children:(0,d.jsx)(i.Wzg,{id:t,className:"reverseInput removeArrows",type:"number",min:"0",max:a?a.toString():"999",label:"Days",name:t,onChange:e=>{h(parseInt(e.target.value))},value:u.toString(),sx:_,noLabelMinWidth:!0})}),(0,d.jsx)(i.xuv,{children:(0,d.jsx)(i.Wzg,{id:t,className:"reverseInput removeArrows",type:"number",min:"0",max:"23",label:"Hours",name:t,onChange:e=>{m(parseInt(e.target.value))},value:x.toString(),sx:_,noLabelMinWidth:!0})}),(0,d.jsx)(i.xuv,{children:(0,d.jsx)(i.Wzg,{id:t,className:"reverseInput removeArrows",type:"number",min:"0",max:"59",label:"Minutes",name:t,onChange:e=>{j(parseInt(e.target.value))},value:p.toString(),sx:_,noLabelMinWidth:!0})})]}),(0,d.jsx)(i.xuv,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-start",marginTop:25,marginLeft:10,marginBottom:15,"& .validityText":{fontSize:14,marginTop:15,display:"flex",alignItems:"center",justifyContent:"center","@media (max-width: 900px)":{flexFlow:"column"},"& > .min-icon":{color:"#5E5E5E",width:15,height:15,marginRight:10}},"& .validTill":{fontWeight:"bold",marginLeft:15},"& .invalidDurationText":{marginTop:15,display:"flex",color:"red",fontSize:11}},children:b?(0,d.jsxs)("div",{className:"validityText",children:[(0,d.jsx)(i.xPt,{}),(0,d.jsxs)("div",{children:[l," will be available until:"]})," ",(0,d.jsx)("div",{className:"validTill",children:v.toFormat("MM/dd/yyyy HH:mm:ss ZZZZ")})]}):(0,d.jsx)("div",{className:"invalidDurationText",children:"Please select a valid duration."})})]})};var h=n(45248),x=n(87995),m=n(44690),p=n(31776),j=n(82342);const b=e=>{let{open:t,closeModalAndRefresh:n,bucketName:a,dataObject:c}=e;const b=(0,m.TL)(),g=(0,o.v9)(x.N5),[v,f]=(0,s.useState)(""),[_,S]=(0,s.useState)(!0),[T,w]=(0,s.useState)(!1),[y,C]=(0,s.useState)(""),[E,O]=(0,s.useState)(!0),[F,I]=(0,s.useState)("null"),N=new Date;return(0,s.useEffect)((()=>{if(void 0===c.version_id)return g?(p.h.buckets.listObjects(a,{prefix:(0,h.LL)(c.name||""),with_versions:g}).then((e=>{const t=(e.data.objects||[]).find((e=>e.is_latest));I(t?"".concat(t.version_id):"null")})).catch((e=>{b((0,x.zb)((0,j.g)(e.error)))})),void S(!1)):(I("null"),void S(!1));I(c.version_id||"null"),S(!1)}),[a,c,g,b]),(0,s.useEffect)((()=>{if(E&&!_){w(!0),f("");const e=new Date("".concat(y)),t=new Date,n=Math.ceil((e.getTime()-t.getTime())/1e3);n>0&&p.h.buckets.shareObject(a,{prefix:(0,h.LL)(c.name||""),version_id:F,expires:""!==y?"".concat(n,"s"):""}).then((e=>{f(e.data),w(!1)})).catch((e=>{b((0,x.zb)((0,j.g)(e.error))),f(""),w(!1)}))}}),[c,y,a,E,f,b,g,_,F]),(0,d.jsx)(s.Fragment,{children:(0,d.jsxs)(r.Z,{title:"Share File",titleIcon:(0,d.jsx)(i.aAc,{style:{fill:"#4CCB92"}}),modalOpen:t,onClose:()=>{n()},children:[_&&(0,d.jsx)(i.rjZ,{item:!0,xs:12,children:(0,d.jsx)(i.kod,{})}),!_&&(0,d.jsxs)(s.Fragment,{children:[(0,d.jsxs)(i.rjZ,{item:!0,xs:12,sx:{fontSize:14,fontWeight:400},children:["This is a temporary URL with integrated access credentials for sharing objects valid for up to 7 days.",(0,d.jsx)("br",{}),(0,d.jsx)("br",{}),"The temporary URL expires after the configured time limit."]}),(0,d.jsx)("br",{}),(0,d.jsx)(i.rjZ,{item:!0,xs:12,children:(0,d.jsx)(u,{initialDate:N,id:"date",label:"Active for",maxDays:7,onChange:(e,t)=>{O(t),t?C(e):(C(""),f(""))},entity:"Link"})}),(0,d.jsx)(i.rjZ,{item:!0,xs:12,sx:{marginBottom:10},children:(0,d.jsx)(i.bSr,{actionButton:(0,d.jsx)(l(),{text:v,children:(0,d.jsx)(i.zxk,{id:"copy-path",variant:"regular",onClick:()=>{b((0,x.MK)("Share URL Copied to clipboard"))},disabled:""===v||T,style:{width:"28px",height:"28px",padding:"0px"},icon:(0,d.jsx)(i.TIy,{})})}),children:v})})]})]})})}},78562:(e,t,n)=>{n.r(t),n.d(t,{default:()=>x});var s=n(72791),o=n(56028),i=n(29945),a=n(26181),l=n.n(a),r=n(47922),c=n(45248),d=n(31776),u=n(80184);const h=e=>{let{bucketName:t,object:n,isFullscreen:o=!1}=e;const[a,h]=(0,s.useState)(!0),[x,m]=(0,s.useState)(null),[p,j]=(0,s.useState)(!1),b=(null===n||void 0===n?void 0:n.name)||"",g=(0,s.useCallback)((()=>{if(!p){const e=(0,c.LL)(b);d.h.buckets.getObjectMetadata(t,{prefix:e}).then((e=>{let t=l()(e.data,"objectMetadata",{});j(!0),m(t)})).catch((e=>{console.error("Error Getting Metadata Status: ",e,null===e||void 0===e?void 0:e.detailedError),j(!0)}))}}),[t,b,p]);(0,s.useEffect)((()=>{t&&b&&g()}),[t,b,g]);let v="";if(n){const e=(0,c.LL)(n.name);let s=document.baseURI.replace(window.location.origin,"");v="".concat(window.location.origin).concat(s,"api/v1/buckets/").concat(t,"/objects/download?preview=true&prefix=").concat(e),n.version_id&&(v=v.concat("&version_id=".concat(n.version_id)))}let f=(0,r.s7)(x,b);const _=()=>{h(!1)};return(0,u.jsxs)(s.Fragment,{children:["none"!==f&&a&&(0,u.jsx)(i.rjZ,{item:!0,xs:12,children:(0,u.jsx)(i.kod,{})}),p?(0,u.jsxs)(i.xuv,{sx:{textAlign:"center","& .iframeContainer":{border:"0px",flex:"1 1 auto",width:"100%",height:250,backgroundColor:"transparent",borderRadius:5,"&.image":{height:500},"&.text":{height:700},"&.audio":{height:150},"&.video":{height:350},"&.fullHeight":{height:"calc(100vh - 185px)"}},"& .iframeBase":{backgroundColor:"#fff"},"& .iframeHidden":{display:"none"}},children:["video"===f&&(0,u.jsx)("video",{style:{width:"auto",height:"auto",maxWidth:"calc(100vw - 100px)",maxHeight:"calc(100vh - 200px)"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:_,children:(0,u.jsx)("source",{src:v,type:"video/mp4"})}),"audio"===f&&(0,u.jsx)("audio",{style:{width:"100%",height:"auto"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:_,children:(0,u.jsx)("source",{src:v,type:"audio/mpeg"})}),"image"===f&&(0,u.jsx)("img",{style:{width:"auto",height:"auto",maxWidth:"100vw",maxHeight:"100vh"},src:v,alt:"preview",onLoad:_}),"none"===f&&(0,u.jsx)("div",{children:(0,u.jsx)(i.J6i,{variant:"error",message:" File couldn't be previewed using file extension or mime type. Please try Download instead",title:"Preview unavailable",sx:{margin:"15px 0"}})}),"none"!==f&&"video"!==f&&"audio"!==f&&"image"!==f&&(0,u.jsx)("div",{className:"iframeBase ".concat(a?"iframeHidden":""),children:(0,u.jsx)("iframe",{src:v,title:"File Preview",allowTransparency:!0,className:"iframeContainer ".concat(o?"fullHeight":f),onLoad:_,children:"File couldn't be loaded. Please try Download instead"})})]}):null]})},x=e=>{let{open:t,bucketName:n,object:a,onClosePreview:l}=e;return(0,u.jsx)(s.Fragment,{children:(0,u.jsx)(o.Z,{modalOpen:t,title:"Preview - ".concat(null===a||void 0===a?void 0:a.name),onClose:l,wideLimit:!1,titleIcon:(0,u.jsx)(i.$30,{}),children:(0,u.jsx)(h,{bucketName:n,object:a})})})}},75578:(e,t,n)=>{n.d(t,{Z:()=>i});var s=n(72791),o=n(80184);const i=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return function(n){return(0,o.jsx)(s.Suspense,{fallback:t,children:(0,o.jsx)(e,{...n})})}}},73669:(e,t,n)=>{n.d(t,{Z:()=>a});var s=n(72791),o=n(29945),i=n(80184);const a=e=>{let{value:t}=e;const[n,a]=(0,s.useState)(!1);return(0,i.jsxs)(o.xuv,{sx:{display:"flex",alignItems:"center",flexFlow:"row",["@media (max-width: ".concat(o.Egj.sm,"px)")]:{flexFlow:"column"}},children:[(0,i.jsx)(o.Wzg,{id:"inspect-dec-key",name:"inspect-dec-key",placeholder:"",label:"",type:n?"text":"password",onChange:()=>{},value:t,overlayIcon:(0,i.jsx)(o.TIy,{}),readOnly:!0,overlayAction:()=>navigator.clipboard.writeText(t)}),(0,i.jsx)(o.zxk,{id:"show-hide-key",style:{marginLeft:"10px"},variant:"callAction",onClick:()=>a(!n),label:"Show/Hide"})]})}}}]);
-//# sourceMappingURL=2603.dca1b3d2.chunk.js.map
\ No newline at end of file
+"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2603,4619],{94619:(e,t,n)=>{n.r(t),n.d(t,{default:()=>h});var s=n(72791),o=n(56028),i=n(29945),a=n(31776),l=n(82342),r=n(23814),c=n(87995),d=n(44690),u=n(80184);const h=e=>{let{modalOpen:t,onClose:n,bucket:h,prefilledRoute:x}=e;const m=(0,d.TL)(),[p,j]=(0,s.useState)(""),[b,g]=(0,s.useState)("readonly");(0,s.useEffect)((()=>{x&&j(x)}),[x]);return(0,u.jsx)(o.Z,{modalOpen:t,title:"Add Anonymous Access Rule",onClose:n,titleIcon:(0,u.jsx)(i.sR0,{}),children:(0,u.jsxs)(i.ltY,{withBorders:!1,containerPadding:!1,children:[(0,u.jsx)(i.Wzg,{value:p,label:"Prefix",id:"prefix",name:"prefix",placeholder:"Enter Prefix",onChange:e=>{j(e.target.value)},tooltip:"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."}),(0,u.jsx)(i.PhF,{id:"access",name:"Access",onChange:e=>{g(e)},label:"Access",value:b,options:[{label:"readonly",value:"readonly"},{label:"writeonly",value:"writeonly"},{label:"readwrite",value:"readwrite"}],disabled:!1,helpTip:(0,u.jsx)(s.Fragment,{children:"Select the desired level of access available to unauthenticated Users"}),helpTipPlacement:"right"}),(0,u.jsxs)(i.rjZ,{item:!0,xs:12,sx:r.ID.modalButtonBar,children:[(0,u.jsx)(i.zxk,{id:"clear",type:"button",variant:"regular",onClick:()=>{j(""),g("readonly")},label:"Clear"}),(0,u.jsx)(i.zxk,{id:"add-access-save",type:"submit",variant:"callAction",disabled:""===p.trim(),onClick:()=>{a.h.bucket.setAccessRuleWithBucket(h,{prefix:p,access:b}).then((e=>{m((0,c.y1)("Access Rule added successfully")),n()})).catch((e=>{m((0,c.Ih)((0,l.g)(e.error))),n()}))},label:"Save"})]})]})})}},32603:(e,t,n)=>{n.r(t),n.d(t,{default:()=>Je});var s=n(72791),o=n(78687),i=n(57689),a=n(31776),l=n(44690),r=n(56087),c=n(45248),d=n(54756),u=n(26181),h=n.n(u),x=n(29945),m=n(82342),p=n(43954),j=n(99779),b=n(78029),g=n.n(b),v=n(16444),f=n(11087),_=n(38442),S=n(75578),T=n(87995);const w=e=>(e.match(/\.([^.]*?)(?=\?|#|$)/)||[])[1],y=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const s=Object.keys(e).reduce(((n,s)=>(w(s)&&s.includes(t)&&(n[s]=e[s]),n)),{});return Object.keys(s).filter((e=>{const o=s[e].some((e=>n.find((t=>{let n=!1;if(-1!==t.indexOf("*")){const s=t.substring(0,t.length-1);n=e.includes(s)}return n||e===t})))),i=e.substring(0,e.indexOf("/*."))==="arn:aws:s3:::".concat(t);return o&&(i&&"arn:aws:s3:::*"!==e)}))};var C=n(80184);const E=(0,S.Z)(s.lazy((()=>n.e(2185).then(n.bind(n,62185))))),O=v.ZP.div((()=>({display:"flex","& .additionalOptions":{paddingRight:"10px",display:"flex",alignItems:"center",["@media (max-width: ".concat(x.Egj.lg,"px)")]:{display:"none"}},"& .slashSpacingStyle":{margin:"0 5px"}}))),F=e=>{let{bucketName:t,internalPaths:n,hidePathButton:a,additionalOptions:u}=e;const h=(0,l.TL)(),m=(0,i.s0)(),p=(0,o.v9)((e=>e.objectBrowser.rewind.rewindEnabled)),j=(0,o.v9)((e=>e.objectBrowser.versionsMode)),b=(0,o.v9)((e=>e.objectBrowser.versionedFile)),v=(0,o.v9)((e=>e.system.anonymousMode)),[S,w]=(0,s.useState)(!1),[F,I]=(0,s.useState)(!1),N=[r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],k=(0,o.v9)((e=>e.console.session&&e.console.session.permissions||{}));let B=n;""!==n&&(B="/".concat(n));const L=B.split("/").filter((e=>""!==e)),A=L.length-1,D=t+B||t,P=y(k,D,N);(0,s.useEffect)((()=>{I(!1),Object.keys(k).forEach((e=>{e.includes(D)&&e.includes("/*")&&I(!0)}))}),[D,n,k]);const R=(0,_.F)([D,...P],N)||v||F;let M=L.map(((e,n)=>{const o="".concat(L.slice(0,n+1).join("/"),"/"),i="/browser/".concat(t,"/").concat(o?"".concat((0,c.LL)(o)):"");return n===A&&e===b?null:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)("span",{className:"slashSpacingStyle",children:"/"}),n===A?(0,C.jsx)("span",{style:{cursor:"default",whiteSpace:"pre"},children:(0,c.eC)(e)}):(0,C.jsx)(f.rU,{style:{whiteSpace:"pre"},to:i,onClick:()=>{h((0,d.db)({status:!1,objectName:""}))},children:(0,c.eC)(e)})]},"breadcrumbs-".concat(n.toString()))})),U=[];j&&(U=[(0,C.jsx)(s.Fragment,{children:(0,C.jsxs)("span",{children:[(0,C.jsx)("span",{className:"slashSpacingStyle",children:"/"}),b," - Versions"]})},"breadcrumbs-versionedItem")]);const G=[(0,C.jsx)(s.Fragment,{children:(0,C.jsx)(f.rU,{to:"/browser/".concat(t),onClick:()=>{h((0,d.db)({status:!1,objectName:""}))},children:t})},"breadcrumbs-root-path"),...M,...U];return(0,C.jsxs)(s.Fragment,{children:[(0,C.jsxs)(O,{children:[S&&(0,C.jsx)(E,{modalOpen:S,bucketName:t,folderName:n,onClose:()=>{w(!1)},limitedSubPath:F&&!((0,_.F)([D,...P],N)||v)}),(0,C.jsx)(x.OoM,{sx:{whiteSpace:"pre"},goBackFunction:()=>{if(j)h((0,d.db)({status:!1,objectName:""}));else{if(0===L.length)return void m("/browser");const e=L.slice(0,-1);m("/browser/".concat(t).concat(e.length>0?"/".concat((0,c.LL)("".concat(e.join("/"),"/"))):""))}},additionalOptions:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(g(),{text:"".concat(t,"/").concat(L.join("/")),children:(0,C.jsx)(x.zxk,{id:"copy-path",icon:(0,C.jsx)(x.TIy,{style:{width:"12px",height:"12px",fill:"#969FA8",marginTop:-1}}),variant:"regular",onClick:()=>{h((0,T.y1)("Path copied to clipboard"))},style:{width:"28px",height:"28px",color:"#969FA8",border:"#969FA8 1px solid",marginRight:5}})}),(0,C.jsx)(x.xuv,{className:"additionalOptions",children:u})]}),children:G}),!a&&(0,C.jsx)(x.ua7,{tooltip:R?"Choose or create a new path":(0,r.MK)([r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],"create a new path"),children:(0,C.jsx)(x.zxk,{id:"new-path",onClick:()=>{w(!0)},disabled:!v&&(p||!R),icon:(0,C.jsx)(x.N$q,{style:{fill:"#969FA8"}}),style:{whiteSpace:"nowrap"},variant:"regular",label:"Create new path"})})]}),(0,C.jsx)(x.xuv,{sx:{display:"none",marginTop:15,marginBottom:5,justifyContent:"flex-start","& > div":{fontSize:12,fontWeight:"normal",flexDirection:"row",flexWrap:"nowrap"},["@media (max-width: ".concat(x.Egj.lg,"px)")]:{display:"flex"}},children:u})]})};var I=n(47922);const N=e=>"Enabled"===e||"Suspended"===e;var k=n(76610),B=n(9859),L=n(96382);const A=(0,L.hg)("objectBrowser/downloadSelected",(async(e,t)=>{let{getState:n,rejectWithValue:s,dispatch:o}=t;const i=n(),a=t=>{const n=(0,c.LL)("".concat(e,"-").concat(t.name,"-").concat((new Date).getTime(),"-").concat(Math.random())),s=(0,k.YO)(8),i=(0,I.LR)(e,(0,c.LL)(t.name),t.version_id,t.size,null,s,(e=>{o((0,d.RO)({instanceID:n,progress:e}))}),(()=>{o((0,d.oK)(n))}),(e=>{o((0,d.qJ)({instanceID:n,msg:e}))}),(()=>{o((0,d.Im)(n))}),(()=>{o((0,T.y1)("File download will be handled directly by the browser."))}));(0,k.EN)(s,i),o((0,d.Mc)({ID:s,bucketName:e,done:!1,instanceID:n,percentage:0,prefix:t.name,type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))};if(0!==i.objectBrowser.selectedObjects.length){let t=[];const n=e=>i.objectBrowser.selectedObjects.includes(e.name);if(t=i.objectBrowser.records.filter(n),1===t.length){if(t[0].name.length>200&&(0,c.mv)().toLowerCase().includes("win"))return void o((0,d.$y)(t[0]));a(t[0])}else if(1===t.length)a(t[0]);else if(t.length>1){const n="".concat(j.ou.now().toFormat("LL-dd-yyyy-HH-mm-ss"),"_files_list.zip"),s=t.reduce(((e,t)=>{const n=null===t||void 0===t?void 0:t.delete_flag;return t&&!n?e.push(t.name):console.log("Skipping ".concat(null===t||void 0===t?void 0:t.name," from download.")),e}),[]);return void await(0,I.Sv)(e,s,n)}}})),D=(0,L.hg)("objectBrowser/openPreview",(async(e,t)=>{let{getState:n,rejectWithValue:s,dispatch:o}=t;const i=n();if(1===i.objectBrowser.selectedObjects.length){let e;const t=e=>i.objectBrowser.selectedObjects.includes(e.name);e=i.objectBrowser.records.find(t),e&&(o((0,d.eP)(e)),o((0,d.ei)(!0)))}})),P=(0,L.hg)("objectBrowser/openShare",(async(e,t)=>{let{getState:n,rejectWithValue:s,dispatch:o}=t;const i=n();if(1===i.objectBrowser.selectedObjects.length){let e;const t=e=>i.objectBrowser.selectedObjects.includes(e.name);e=i.objectBrowser.records.find(t),e&&(o((0,d.eP)(e)),o((0,d.Qf)(!0)))}})),R=(0,L.hg)("objectBrowser/openAnonymousAccess",(async(e,t)=>{let{getState:n,dispatch:s}=t;const o=n();1===o.objectBrowser.selectedObjects.length&&o.objectBrowser.selectedObjects[0].endsWith("/")&&s((0,d.xV)(!0))}));var M=n(27454);const U=e=>{let{uploadPath:t,bucketName:n,forceDisable:i=!1,uploadFileFunction:a,uploadFolderFunction:l,overrideStyles:c={}}=e;const[d,u]=(0,s.useState)(null),[h,m]=(0,s.useState)(!1),p=(0,o.v9)((e=>e.system.anonymousMode)),j=(0,o.v9)((e=>e.console.session&&e.console.session.permissions||{})),b=[r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],g=y(j,t,b),v=Boolean(d),f=()=>{u(null)},S=(0,_.F)([t,...g],b)||p,T=(0,_.F)([n,...g],b,!1,!0),w=S||T;return(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(M.Z,{tooltip:w?"Upload Files":(0,r.MK)([r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],"upload files to this bucket"),children:(0,C.jsx)(x.zxk,{id:"upload-main","aria-controls":"upload-main-menu","aria-haspopup":"true","aria-expanded":v?"true":void 0,onClick:e=>{m(!h),u(e.currentTarget)},label:"Upload",icon:(0,C.jsx)(x.rG2,{}),variant:"callAction",disabled:i||!w,sx:c})}),(0,C.jsx)(x.udT,{id:"upload-main-menu",options:[{label:"Upload File",icon:(0,C.jsx)(x.rG2,{}),value:"file",disabled:!S||i},{label:"Upload Folder",icon:(0,C.jsx)(x.oXh,{}),value:"folder",disabled:!T||i}],selectedOption:"",onSelect:e=>{"folder"!==e?a(f):l(f)},hideTriggerAction:()=>{m(!1)},open:h,anchorEl:d,anchorOrigin:"end",useAnchorWidth:!1})]})},G=e=>{let{open:t,closePanel:n,className:s="",children:o}=e;return(0,C.jsxs)(x.xuv,{id:"details-panel",sx:{borderColor:"#EAEDEE",borderWidth:0,borderStyle:"solid",borderRadius:3,borderBottomLeftRadius:0,borderBottomRightRadius:0,width:0,transitionDuration:"0.3s",overflowX:"hidden",overflowY:"auto",position:"relative",opacity:0,marginLeft:-1,"&.open":{width:300,minWidth:300,borderLeftWidth:1,opacity:1},"@media (max-width: 799px)":{"&.open":{width:"100%",minWidth:"100%",borderLeftWidth:0}}},className:"".concat(t?"open":""," ").concat(s),children:[(0,C.jsx)(x.zxk,{variant:"text",id:"close-details-list",onClick:n,icon:(0,C.jsx)(x.oto,{}),sx:{position:"absolute",right:5,top:18,padding:0,height:14,"&:hover:not(:disabled)":{backgroundColor:"transparent"}}}),o]})},z=(e,t,n,s)=>{var o;const i=(0,c.LL)("".concat(t,"-").concat(s.name,"-").concat((new Date).getTime(),"-").concat(Math.random())),a=(0,c.mv)().toLowerCase().includes("win");if(((null===(o=s.name)||void 0===o?void 0:o.length)||0)>200&&a)return void e((0,d.Hg)(!0));const l=(0,k.YO)(8),r=(0,I.LR)(t,n,s.version_id,s.size||0,null,l,(t=>{e((0,d.RO)({instanceID:i,progress:t}))}),(()=>{e((0,d.oK)(i))}),(t=>{e((0,d.qJ)({instanceID:i,msg:t}))}),(()=>{e((0,d.Im)(i))}),(()=>{e((0,T.y1)("File download will be handled directly by the browser."))}));(0,k.EN)(l,r),e((0,d.Mc)({ID:l,bucketName:t,done:!1,instanceID:i,percentage:0,prefix:s.name||"",type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))},Z=e=>{let{icon:t,strings:n}=e;return(0,C.jsxs)(x.xuv,{sx:{display:"flex",alignItems:"center","& .min-icon":{width:16,height:16,marginRight:4,minWidth:16,minHeight:16},"& .fileNameText":{whiteSpace:"pre",overflow:"hidden",textOverflow:"ellipsis"}},children:[t,(0,C.jsx)("span",{className:"fileNameText",children:(0,c.e3)(n[n.length-1])})]})},K=[{icon:(0,C.jsx)(x.n9O,{}),extensions:["mp4","mov","avi","mpeg","mpg"]},{icon:(0,C.jsx)(x.mYf,{}),extensions:["mp3","m4a","aac"]},{icon:(0,C.jsx)(x.UU9,{}),extensions:["pdf"]},{icon:(0,C.jsx)(x.hjP,{}),extensions:["ppt","pptx"]},{icon:(0,C.jsx)(x.hz9,{}),extensions:["xls","xlsx"]},{icon:(0,C.jsx)(x.xDw,{}),extensions:["cer","crt","pem"]},{icon:(0,C.jsx)(x.jG9,{}),extensions:["html","xml","css","py","go","php","cpp","h","java"]},{icon:(0,C.jsx)(x.NqG,{}),extensions:["cfg","yaml"]},{icon:(0,C.jsx)(x.OkY,{}),extensions:["sql"]},{icon:(0,C.jsx)(x.ZAy,{}),extensions:["ttf","otf"]},{icon:(0,C.jsx)(x.p2x,{}),extensions:["doc","docx","txt","rtf"]},{icon:(0,C.jsx)(x.xhr,{}),extensions:["zip","rar","tar","gz"]},{icon:(0,C.jsx)(x.rtI,{}),extensions:["epub","mobi","azw","azw3"]},{icon:(0,C.jsx)(x.q$4,{}),extensions:["jpeg","jpg","gif","tiff","png","heic","dng"]}],W=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e,s=(0,C.jsx)(x.MoH,{});e.endsWith("/")&&(s=(0,C.jsx)(x.BI,{}),n=e.slice(0,-1));const o=e.toLowerCase();for(const a of K)for(const e of a.extensions)o.endsWith(".".concat(e))&&(s=a.icon);!e.endsWith("/")&&e.indexOf(".")<0&&(s=(0,C.jsx)(x.lrl,{}));const i=n.split("/");return t?s:(0,C.jsx)(Z,{icon:s,strings:i})};var H=n(78562);const J=e=>{let{metaData:t}=e;const n=Object.keys(t);return(0,C.jsx)(s.Fragment,{children:n.map(((e,n)=>{const s=(e=>Array.isArray(e)?e.map(c.eC).join(", "):(0,c.eC)(e))(t[e]);return(0,C.jsxs)(x.xuv,{sx:{marginBottom:15,fontSize:14,maxHeight:180,overflowY:"auto"},children:[(0,C.jsx)("strong",{children:e}),(0,C.jsx)("br",{}),s]},"box-meta-".concat(e,"-").concat(n.toString()))}))})};var V=n(34433),Y=n(66315),q=n(23814);const $=[{value:"01",label:"January"},{value:"02",label:"February"},{value:"03",label:"March"},{value:"04",label:"April"},{value:"05",label:"May"},{value:"06",label:"June"},{value:"07",label:"July"},{value:"08",label:"August"},{value:"09",label:"September"},{value:"10",label:"October"},{value:"11",label:"November"},{value:"12",label:"December"}],Q=Array.from(Array(31),((e,t)=>({value:(t+1).toString(),label:(t+1).toString()}))),X=(new Date).getFullYear(),ee=Array.from(Array(50),((e,t)=>({value:(t+X).toString(),label:(t+X).toString()})));var te=n(56028);const ne=(0,s.forwardRef)(((e,t)=>{let{id:n,label:o,disableOptions:i=!1,tooltip:a="",borderBottom:l=!1,onDateChange:r,value:c=""}=e;(0,s.useImperativeHandle)(t,(()=>({resetDate:b})));const[d,u]=(0,s.useState)(""),[h,m]=(0,s.useState)(""),[p,j]=(0,s.useState)("");(0,s.useEffect)((()=>{if(""!==c){const e=c.split("-");j(e[0]),u(e[1]),m("".concat(parseInt(e[2])))}}),[c]),(0,s.useEffect)((()=>{const[e,t]=((e,t,n)=>{const s=Date.parse("".concat(e,"-").concat(t,"-").concat(n));if(isNaN(s))return[!1,""];const o=parseInt(t),i=parseInt(n),a=o<10?"0".concat(o):o,l=i<10?"0".concat(i):i,r=new Date(s).toISOString().split("T")[0],c="".concat(e,"-").concat(a,"-").concat(l);return[r===c,c]})(p,d,h);r(t,e)}),[d,h,p,r]);const b=()=>{u(""),m(""),j("")},g=()=>i||!1,v=[{value:"",label:""},...$],f=[{value:"",label:""},...Q],_=[{value:"",label:""},...ee];return(0,C.jsxs)(x.xuv,{className:"inputItem",children:[(0,C.jsx)(x.xuv,{sx:{display:"flex",alignItems:"center",gap:5,marginBottom:5},children:(0,C.jsxs)(x.AZs,{htmlFor:n,children:[(0,C.jsx)("span",{children:o}),""!==a&&(0,C.jsx)(x.xuv,{sx:{marginLeft:5,display:"flex",alignItems:"center","& .min-icon":{width:13}},children:(0,C.jsx)(x.ua7,{tooltip:a,placement:"top",children:(0,C.jsx)(x.xuv,{sx:{"& .min-icon":{width:13}},children:(0,C.jsx)(x.byK,{})})})})]})}),(0,C.jsxs)(x.xuv,{sx:{display:"flex",gap:12},children:[(0,C.jsx)(x.PhF,{id:"".concat(n,"-month"),name:"".concat(n,"-month"),value:d,onChange:e=>{u(e)},options:v,label:"",disabled:g()}),(0,C.jsx)(x.PhF,{id:"".concat(n,"-day"),name:"".concat(n,"-day"),value:h,onChange:e=>{m(e)},options:f,label:"",disabled:g()}),(0,C.jsx)(x.PhF,{id:"".concat(n,"-year"),name:"".concat(n,"-year"),value:p,onChange:e=>{j(e)},options:_,label:"",disabled:g(),sx:{marginBottom:12}})]})]})})),se=e=>{let{open:t,closeModalAndRefresh:n,objectName:i,objectInfo:r,bucketName:d}=e;const u=(0,l.TL)(),h=(0,o.v9)((e=>e.objectBrowser.retentionConfig)),[p,j]=(0,s.useState)(!0),[b,g]=(0,s.useState)(""),[v,f]=(0,s.useState)(""),[_,S]=(0,s.useState)(!1),[w,y]=(0,s.useState)(!1),[E,O]=(0,s.useState)(!1);(0,s.useEffect)((()=>{if(r.retention_mode&&(g((null===h||void 0===h?void 0:h.mode)||Y.oO.Governance),O(!0)),r.retention_until_date){const t=new Date(r.retention_until_date);if("Invalid Date"!==t.toString()){const n=t.getFullYear(),s=(e=t.getMonth()+1)<10?"0".concat(e):"".concat(e),o=t.getDate();isNaN(o)||"NaN"===s||isNaN(n)||f("".concat(n,"-").concat(s,"-").concat(o))}O(!0)}var e}),[r,null===h||void 0===h?void 0:h.mode]);const F=(0,s.useRef)(null),I=()=>{j(!1),g(Y.oO.Governance),F.current&&F.current.resetDate()},N=E&&("governance"===b||""===b);return(0,C.jsx)(te.Z,{title:"Set Retention Policy",modalOpen:t,onClose:()=>{I(),n(!1)},children:(0,C.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault()})(e)},children:(0,C.jsxs)(x.ltY,{withBorders:!1,containerPadding:!1,children:[(0,C.jsxs)(x.xuv,{className:"inputItem",children:[(0,C.jsx)("strong",{children:"Selected Object"}),": ",i]}),N&&(0,C.jsx)(x.rsf,{value:"status",id:"status",name:"status",checked:p,onChange:e=>{j(!p)},label:"Status",indicatorLabels:["Enabled","Disabled"]}),(0,C.jsx)(x.Eep,{currentValue:b,id:"type",name:"type",label:"Type",disableOptions:!p||E&&""!==b,onChange:e=>{g(e.target.value)},selectorOptions:[{label:"Governance",value:Y.oO.Governance},{label:"Compliance",value:Y.oO.Compliance}]}),(0,C.jsx)(ne,{id:"date",label:"Date",disableOptions:!(p&&("governance"===b||"compliance"===b)),ref:F,value:v,borderBottom:!0,onDateChange:(e,t)=>{S(t),t&&f(e)}}),(0,C.jsxs)(x.rjZ,{item:!0,xs:12,sx:q.ID.modalButtonBar,children:[(0,C.jsx)(x.zxk,{id:"reset",type:"button",variant:"regular",onClick:I,label:"Reset"}),(0,C.jsx)(x.zxk,{id:"save",type:"submit",variant:"callAction",disabled:p&&""===b||p&&!_||w,onClick:()=>{y(!0);const e=r.name||"",t=r.version_id||null,s=p||"governance"!==b?"".concat(v,"T23:59:59Z"):"";p||"governance"!==b?((e,t,s)=>{a.h.buckets.putObjectRetention(d,{prefix:(0,c.LL)(e),version_id:t||""},{expires:s,mode:b}).then((()=>{y(!1),n(!0)})).catch((e=>{u((0,T.zb)((0,m.g)(e.error))),y(!1)}))})(e,t,s):((e,t)=>{a.h.buckets.deleteObjectRetention(d,{prefix:(0,c.LL)(e),version_id:t||""}).then((()=>{y(!1),n(!0)})).catch((e=>{u((0,T.zb)((0,m.g)(e.error))),y(!1)}))})(e,t)},label:"Save"})]})]})})})};var oe=n(23508),ie=n(9505);const ae=e=>{let{closeDeleteModalAndRefresh:t,deleteOpen:n,selectedBucket:i,selectedObject:a,versioningInfo:d,selectedVersion:u=""}=e;const h=(0,l.TL)(),[m,p]=(0,ie.Z)((()=>t(!0)),(e=>{h((0,T.Ih)(e)),"Access Denied."===e.detailedError&&t(!0)})),[j,b]=(0,s.useState)(!1),[g,v]=(0,s.useState)(!1),f=(0,o.v9)((e=>e.objectBrowser.retentionConfig)),S=(0,_.F)([i],[r.Ft.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===f||void 0===f?void 0:f.mode);if(!a)return null;return(0,C.jsx)(oe.Z,{title:"Delete Object",confirmText:"Delete",isOpen:n,titleIcon:(0,C.jsx)(x.NvT,{}),isLoading:m,onConfirm:()=>{const e=(0,c.IO)(a).endsWith("/");p("DELETE","/api/v1/buckets/".concat(i,"/objects?prefix=").concat(a).concat(""!==u?"&version_id=".concat(u):"&recursive=".concat(e,"&all_versions=").concat(j)).concat(g?"&bypass=true":""))},onClose:()=>t(!1),confirmationContent:(0,C.jsxs)(s.Fragment,{children:["Are you sure you want to delete: ",(0,C.jsx)("br",{}),(0,C.jsx)("b",{children:(0,c.IO)(a)})," ",""!==u?(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)("br",{}),(0,C.jsx)("br",{}),"Version ID:",(0,C.jsx)("br",{}),(0,C.jsx)("strong",{children:u})]}):"","? ",(0,C.jsx)("br",{}),(0,C.jsx)("br",{}),N(null===d||void 0===d?void 0:d.status)&&""===u&&(0,C.jsx)(s.Fragment,{children:(0,C.jsx)(x.rsf,{label:"Delete All Versions",indicatorLabels:["Yes","No"],checked:j,value:"delete_versions",id:"delete-versions",name:"delete-versions",onChange:e=>{b(!j)},description:""})}),S&&(j||""!==u)&&(0,C.jsx)(s.Fragment,{children:(0,C.jsx)("div",{style:{marginTop:10},children:(0,C.jsx)(x.rsf,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:g,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:e=>{v(!g)},description:""})})}),j&&(0,C.jsxs)(s.Fragment,{children:[(0,C.jsxs)("div",{style:{marginTop:10,border:"#c83b51 1px solid",borderRadius:3,padding:5,backgroundColor:"#c83b5120",color:"#c83b51"},children:["This will remove the object as well as all of its versions,"," ",(0,C.jsx)("br",{}),"This action is irreversible."]}),(0,C.jsx)("br",{}),"Are you sure you want to continue?"]})]})})},le=e=>{let{open:t,closeModalAndRefresh:n,objectName:o,bucketName:i,actualInfo:r}=e;const d=(0,l.TL)(),[u,p]=(0,s.useState)(!1),[j,b]=(0,s.useState)(!1),g=r.version_id;(0,s.useEffect)((()=>{const e=h()(r,"legal_hold_status","OFF");p("ON"===e)}),[r]);const v=()=>{p(!1)};return(0,C.jsx)(te.Z,{title:"Set Legal Hold",modalOpen:t,onClose:()=>{v(),n(!1)},children:(0,C.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault(),b(!0),a.h.buckets.putObjectLegalHold(i,{prefix:(0,c.LL)(o),version_id:g||""},{status:u?Y.nY.Enabled:Y.nY.Disabled}).then((()=>{b(!1),n(!0)})).catch((e=>{d((0,T.zb)((0,m.g)(e.error))),b(!1)}))})(e)},children:(0,C.jsxs)(x.ltY,{withBorders:!1,containerPadding:!1,children:[(0,C.jsxs)(x.xuv,{className:"inputItem",children:[(0,C.jsx)("strong",{children:"Object"}),": ",i]}),(0,C.jsx)(x.rsf,{value:"legalhold",id:"legalhold",name:"legalhold",checked:u,onChange:e=>{p(!u)},label:"Legal Hold Status",indicatorLabels:["Enabled","Disabled"],tooltip:"To enable this feature you need to enable versioning on the bucket before creation"}),(0,C.jsxs)(x.rjZ,{item:!0,xs:12,sx:q.ID.modalButtonBar,children:[(0,C.jsx)(x.zxk,{id:"clear",type:"button",variant:"regular",onClick:v,label:"Clear"}),(0,C.jsx)(x.zxk,{id:"save",type:"submit",variant:"callAction",disabled:j,label:" Save"})]})]})})})},re=v.ZP.b((e=>{let{theme:t}=e;return{color:h()(t,"signalColors.danger","#C83B51"),marginLeft:5}})),ce=e=>{var t;let{modalOpen:n,onCloseAndUpdate:i,bucketName:d,actualInfo:u}=e;const p=(0,l.TL)(),j=(0,o.v9)(T.N5),[b,g]=(0,s.useState)(""),[v,f]=(0,s.useState)(""),[S,w]=(0,s.useState)(!1),[y,E]=(0,s.useState)(!1),[O,F]=(0,s.useState)(""),[I,N]=(0,s.useState)(""),k=(0,c.LL)(u.name||""),B=u.tags,L=Object.keys(B||{}),A=null===(t=u.name)||void 0===t?void 0:t.split("/"),D=(null===A||void 0===A?void 0:A.pop())||"",P=e=>(0,C.jsxs)(x.xuv,{sx:{fontSize:16,margin:"20px 0 30px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",width:"100%"},children:["Tag",e?"s":""," for: ",(0,C.jsx)("strong",{children:D})]});return(0,C.jsx)(s.Fragment,{children:(0,C.jsx)(te.Z,{modalOpen:n,title:y?"Delete Tag":"Edit Tags",onClose:()=>{i(!0)},iconColor:y?"delete":"default",titleIcon:y?(0,C.jsx)(x.dRf,{}):(0,C.jsx)(x.T0F,{}),children:y?(0,C.jsx)(s.Fragment,{children:(0,C.jsxs)(x.rjZ,{container:!0,children:[P(!1),"Are you sure you want to delete the tag"," ",(0,C.jsxs)(re,{children:[O," : ",I]})," ","?",(0,C.jsxs)(x.rjZ,{item:!0,xs:12,sx:q.ID.modalButtonBar,children:[(0,C.jsx)(x.zxk,{id:"cancel",type:"button",variant:"regular",onClick:()=>{F(""),N(""),E(!1)},label:"Cancel"}),(0,C.jsx)(x.zxk,{type:"submit",variant:"secondary",onClick:()=>{const e={...B};delete e[O];const t=j?u.version_id||"":"null";a.h.buckets.putObjectTags(d,{prefix:k,version_id:t},{tags:e}).then((()=>{i(!0),w(!1)})).catch((e=>{p((0,T.zb)((0,m.g)(e.error))),w(!1)}))},id:"deleteTag",label:"Delete Tag"})]})]})}):(0,C.jsxs)(x.xuv,{children:[(0,C.jsx)(_.s,{scopes:[r.Ft.S3_GET_OBJECT_TAGGING,r.Ft.S3_GET_ACTIONS],resource:d,children:(0,C.jsxs)(x.xuv,{sx:{display:"flex",flexFlow:"column",width:"100%"},children:[P(!0),(0,C.jsxs)(x.xuv,{sx:{fontSize:14,fontWeight:"normal"},children:["Current Tags:",(0,C.jsx)("br",{}),0===L.length?(0,C.jsx)("span",{className:"muted",children:"There are no tags for this object"}):(0,C.jsx)(s.Fragment,{}),(0,C.jsx)(x.xuv,{sx:{marginTop:"5px",marginBottom:"15px"},children:L.map(((e,t)=>{const n=h()(B,"".concat(e),"");return""!==n?(0,C.jsx)(_.s,{scopes:[r.Ft.S3_DELETE_OBJECT_TAGGING],resource:d,errorProps:{deleteIcon:null,onDelete:null},children:(0,C.jsx)(x.Vp9,{id:"".concat(e," : ").concat(n),label:"".concat(e," : ").concat(n),variant:"regular",color:"default",onDelete:()=>{((e,t)=>{F(e),N(t),E(!0)})(e,n)}})},"chip-".concat(t)):null}))})]})]})}),(0,C.jsx)(_.s,{scopes:[r.Ft.S3_PUT_OBJECT_TAGGING,r.Ft.S3_PUT_ACTIONS],resource:d,errorProps:{disabled:!0,onClick:null},children:(0,C.jsxs)(x.xuv,{children:[(0,C.jsx)(x.NZf,{icon:(0,C.jsx)(x.OCT,{}),separator:!1,children:"Add New Tag"}),(0,C.jsxs)(x.ltY,{containerPadding:!1,withBorders:!1,children:[(0,C.jsx)(x.Wzg,{value:b,label:"Tag Key",id:"newTagKey",name:"newTagKey",placeholder:"Enter Tag Key",onChange:e=>{g(e.target.value)}}),(0,C.jsx)(x.Wzg,{value:v,label:"Tag Label",id:"newTagLabel",name:"newTagLabel",placeholder:"Enter Tag Label",onChange:e=>{f(e.target.value)}}),(0,C.jsxs)(x.rjZ,{item:!0,xs:12,sx:q.ID.modalButtonBar,children:[(0,C.jsx)(x.zxk,{id:"clear",type:"button",variant:"regular",color:"primary",onClick:()=>{f(""),g("")},label:"Clear"}),(0,C.jsx)(x.zxk,{type:"submit",variant:"callAction",disabled:""===v.trim()||""===b.trim()||S,onClick:()=>{w(!0);const e={};e[b]=v;const t={...B,...e},n=j?u.version_id||"":"null";a.h.buckets.putObjectTags(d,{prefix:k,version_id:n},{tags:t}).then((()=>{i(!0),w(!1)})).catch((e=>{p((0,T.zb)((0,m.g)(e.error))),w(!1)}))},id:"saveTag",label:"Save"})]})]})]})})]})})})};var de=n(73669);const ue=e=>{let{closeInspectModalAndRefresh:t,inspectOpen:n,inspectPath:o,volumeName:i}=e;const a=(0,l.TL)(),r=()=>t(!1),[d,u]=(0,s.useState)(!0),[h,m]=(0,s.useState)(""),[p,j]=(0,s.useState)("");if(!o)return null;return(0,C.jsxs)(s.Fragment,{children:[!h&&(0,C.jsx)(te.Z,{modalOpen:n,titleIcon:(0,C.jsx)(x.Gp8,{}),title:"Inspect Object",onClose:r,children:(0,C.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault()})(e)},children:["Would you like to encrypt ",(0,C.jsx)("b",{children:(0,c.IO)(o)}),"?"," ",(0,C.jsx)("br",{}),(0,C.jsx)(x.rsf,{label:"Encrypt",indicatorLabels:["Yes","No"],checked:d,value:"encrypt",id:"encrypt",name:"encrypt",onChange:e=>{u(!d)},description:""}),(0,C.jsx)(x.rjZ,{item:!0,xs:12,sx:q.ID.modalButtonBar,children:(0,C.jsx)(x.zxk,{id:"inspect",type:"submit",variant:"callAction",color:"primary",onClick:async()=>{const e=(0,c.LL)(o+"/xl.meta"),t=(0,c.LL)(i);(async e=>await fetch(e,{method:"GET"}))("/api/v1/admin/inspect?volume=".concat(t,"&file=").concat(e,"&encrypt=").concat(d)).then((async e=>{if(!e.ok){const t=await e.json();a((0,T.Ih)({errorMessage:t.message,detailedError:t.code}))}const t=await e.blob(),n=e.headers.get("content-disposition").split('"')[1],s=(0,c.Do)(n)||"";(0,c.zZ)(t,n),j(n),""!==s?m(s):r()})).catch((e=>{a((0,T.Ih)(e))}))},label:"Inspect"})})]})}),h?(0,C.jsxs)(te.Z,{modalOpen:n,title:"Inspect Decryption Key",onClose:()=>{(0,c.kT)(p),r(),m("")},titleIcon:(0,C.jsx)(x.tvm,{}),children:[(0,C.jsxs)(x.xuv,{children:["This will be displayed only once. It cannot be recovered.",(0,C.jsx)("br",{}),"Use secure medium to share this key."]}),(0,C.jsx)(x.xuv,{children:(0,C.jsx)(de.Z,{value:h})})]}):null]})},he=e=>{let{open:t,closeModal:n,currentItem:o,internalPaths:i,actualInfo:a,bucketName:r}=e;const c=(0,l.TL)(),[d,u]=(0,s.useState)(o),[h,m]=(0,s.useState)(!1);return(0,C.jsxs)(te.Z,{title:"Rename Download",modalOpen:t,onClose:n,titleIcon:(0,C.jsx)(x.dY8,{}),children:[(0,C.jsxs)("div",{children:["The file you are trying to download has a long name.",(0,C.jsx)("br",{}),"This can cause issues on Windows Systems by trimming the file name after download.",(0,C.jsx)("br",{}),(0,C.jsx)("br",{})," We recommend to rename the file download"]}),(0,C.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault(),z(c,r,i,a),n()})(e)},children:(0,C.jsxs)(x.ltY,{withBorders:!1,containerPadding:!1,children:[(0,C.jsx)(x.Wzg,{id:"download-filename",name:"download-filename",onChange:e=>{u(e.target.value)},label:"",type:"text",value:d,error:d.length>200&&!h?"Filename should be less than 200 characters long.":""}),(0,C.jsx)(x.rsf,{value:"acceptLongName",id:"acceptLongName",name:"acceptLongName",checked:h,onChange:e=>{m(e.target.checked),e.target.checked&&u(o)},label:"Use Original Name"}),(0,C.jsx)(x.rjZ,{item:!0,xs:12,sx:q.ID.modalButtonBar,children:(0,C.jsx)(x.zxk,{id:"download-file",type:"submit",variant:"callAction",color:"primary",disabled:d.length>200&&!h,label:"Download File"})})]})})]})},xe={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:0,tags:{},version_id:void 0},me=e=>{let{internalPaths:t,bucketName:n,versioningInfo:i,locking:u,onClosePanel:m}=e;const p=(0,l.TL)(),j=(0,o.v9)(T.N5),b=(0,o.v9)((e=>e.objectBrowser.versionsMode)),g=(0,o.v9)((e=>e.objectBrowser.selectedVersion)),v=(0,o.v9)((e=>e.objectBrowser.loadingObjectInfo)),[f,S]=(0,s.useState)(!1),[w,y]=(0,s.useState)(!1),[E,O]=(0,s.useState)(!1),[F,N]=(0,s.useState)(!1),[k,B]=(0,s.useState)(!1),[L,A]=(0,s.useState)(null),[D,P]=(0,s.useState)([]),[R,U]=(0,s.useState)(null),[G,Z]=(0,s.useState)([]),[K,Y]=(0,s.useState)(!1),[q,$]=(0,s.useState)(!1),[Q,X]=(0,s.useState)(0),[ee,te]=(0,s.useState)(!1),[ne,oe]=(0,s.useState)(null),[ie,re]=(0,s.useState)(!1),de=((0,c.IO)(t)||"").split("/").pop()||"";let me=[];L&&L.name&&(me=L.name.split("/")),(0,s.useEffect)((()=>{if(j&&D&&D.length>=1){let e=D.find((e=>e.is_latest))||xe;""!==g&&(e=D.find((e=>e.version_id===g))||xe),e.is_delete_marker||re(!0),A(e)}}),[g,j,D]),(0,s.useEffect)((()=>{v&&""!==t&&a.h.buckets.listObjects(n,{prefix:t,with_versions:j}).then((e=>{const t=e.data.objects||[];if(j){P(t),Z(t);const e=t.reduce(((e,t)=>null!==t&&void 0!==t&&t.size?e+t.size:e),0);X(e)}else{const e=t[0];A(e),Z([]),e.is_delete_marker||re(!0)}p((0,d.vH)(!1))})).catch((e=>{console.error("Error loading object details",e.error),p((0,d.vH)(!1))}))}),[v,n,t,p,j,g]),(0,s.useEffect)((()=>{ie&&""!==t&&a.h.buckets.getObjectMetadata(n,{prefix:t}).then((e=>{let t=h()(e.data,"objectMetadata",{});oe(t),re(!1)})).catch((e=>{console.error("Error Getting Metadata Status: ",e.detailedError),re(!1)}))}),[n,t,ie]);let pe=[];L&&L.tags&&(pe=Object.keys(L.tags));const je=(0,C.jsx)("div",{style:{textAlign:"center",marginTop:35},children:(0,C.jsx)(x.aNw,{})});if(!L)return v?je:null;const be=me.length>0?me[me.length-1]:L.name,ge=[n,de,[n,L.name].join("/")],ve=(0,_.F)(n,[r.Ft.S3_PUT_OBJECT_LEGAL_HOLD,r.Ft.S3_PUT_ACTIONS]),fe=(0,_.F)(ge,[r.Ft.S3_PUT_OBJECT_TAGGING,r.Ft.S3_PUT_ACTIONS]),_e=(0,_.F)(ge,[r.Ft.S3_GET_OBJECT_RETENTION,r.Ft.S3_PUT_OBJECT_RETENTION,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS],!0),Se=(0,_.F)(ge,[r.Ft.ADMIN_INSPECT_DATA]),Te=(0,_.F)(ge,[r.Ft.S3_GET_BUCKET_VERSIONING,r.Ft.S3_PUT_BUCKET_VERSIONING,r.Ft.S3_GET_OBJECT_VERSION,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS]),we=(0,_.F)(ge,[r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS]),ye=(0,_.F)([n,de,[n,L.name].join("/")],[r.Ft.S3_DELETE_OBJECT]);let Ce=(0,I.s7)(ne,de);const Ee=[{action:()=>{z(p,n,t,L)},label:"Download",disabled:!!L.is_delete_marker||!we,icon:(0,C.jsx)(x._8t,{}),tooltip:we?"Download this Object":(0,r.MK)([r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS],"download this object")},{action:()=>{S(!0)},label:"Share",disabled:!!L.is_delete_marker||!we,icon:(0,C.jsx)(x.aAc,{}),tooltip:we?"Share this File":(0,r.MK)([r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS],"share this object")},{action:()=>{$(!0)},label:"Preview",disabled:!!L.is_delete_marker||"none"===Ce&&!we,icon:(0,C.jsx)(x.P99,{}),tooltip:we?"Preview this File":(0,r.MK)([r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS],"preview this object")},{action:()=>{N(!0)},label:"Legal Hold",disabled:!u||!j||!!L.is_delete_marker||!ve||""!==g,icon:(0,C.jsx)(x.fNL,{}),tooltip:ve?u?"Change Legal Hold rules for this File":"Object Locking must be enabled on this bucket in order to set Legal Hold":(0,r.MK)([r.Ft.S3_PUT_OBJECT_LEGAL_HOLD,r.Ft.S3_PUT_ACTIONS],"change legal hold settings for this object")},{action:()=>{y(!0)},label:"Retention",disabled:!j||!!L.is_delete_marker||!_e||""!==g||!u,icon:(0,C.jsx)(x.E9d,{}),tooltip:_e?u?"Change Retention rules for this File":"Object Locking must be enabled on this bucket in order to set Retention Rules":(0,r.MK)([r.Ft.S3_GET_OBJECT_RETENTION,r.Ft.S3_PUT_OBJECT_RETENTION,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS],"change Retention Rules for this object")},{action:()=>{O(!0)},label:"Tags",disabled:!!L.is_delete_marker||""!==g||!fe,icon:(0,C.jsx)(x.DgT,{}),tooltip:fe?"Change Tags for this File":(0,r.MK)([r.Ft.S3_PUT_OBJECT_TAGGING,r.Ft.S3_GET_OBJECT_TAGGING,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS],"set Tags on this object")},{action:()=>{B(!0)},label:"Inspect",disabled:!j||!!L.is_delete_marker||""!==g||!Se,icon:(0,C.jsx)(x.Gp8,{}),tooltip:Se?"Inspect this file":(0,r.MK)([r.Ft.ADMIN_INSPECT_DATA],"inspect this file")},{action:()=>{p((0,d.db)({status:!b,objectName:be}))},label:b?"Hide Object Versions":"Display Object Versions",icon:(0,C.jsx)(x.cRd,{}),disabled:!j||!(L.version_id&&"null"!==L.version_id)||!Te,tooltip:Te?L.version_id&&"null"!==L.version_id?"Display Versions for this file":"":(0,r.MK)([r.Ft.S3_GET_BUCKET_VERSIONING,r.Ft.S3_PUT_BUCKET_VERSIONING,r.Ft.S3_GET_OBJECT_VERSION,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS],"display all versions of this object")}];return(0,C.jsxs)(s.Fragment,{children:[f&&L&&(0,C.jsx)(V.default,{open:f,closeModalAndRefresh:()=>{U(null),S(!1)},bucketName:n,dataObject:R||L}),w&&L&&(0,C.jsx)(se,{open:w,closeModalAndRefresh:e=>{y(!1),e&&p((0,d.vH)(!0))},objectName:de,objectInfo:L,bucketName:n}),K&&(0,C.jsx)(ae,{deleteOpen:K,selectedBucket:n,selectedObject:t,closeDeleteModalAndRefresh:e=>{Y(!1),e&&""===g?m(!0):(p((0,d.Eq)(!0)),p((0,d.M3)("")),p((0,d.vH)(!0)))},versioningInfo:j?i:void 0,selectedVersion:g}),F&&L&&(0,C.jsx)(le,{open:F,closeModalAndRefresh:e=>{N(!1),e&&p((0,d.vH)(!0))},objectName:L.name||"",bucketName:n,actualInfo:L}),q&&L&&(0,C.jsx)(H.default,{open:q,bucketName:n,object:{name:L.name||"",version_id:L.version_id||"null",size:L.size||0,content_type:"",last_modified:L.last_modified||""},onClosePreview:()=>{$(!1)}}),E&&L&&(0,C.jsx)(ce,{modalOpen:E,bucketName:n,actualInfo:L,onCloseAndUpdate:e=>{O(!1),e&&p((0,d.vH)(!0))}}),k&&L&&(0,C.jsx)(ue,{inspectOpen:k,volumeName:n,inspectPath:L.name||"",closeInspectModalAndRefresh:e=>{B(!1),e&&p((0,d.vH)(!0))}}),ee&&L&&(0,C.jsx)(he,{open:ee,closeModal:()=>{te(!1)},currentItem:de,bucketName:n,internalPaths:t,actualInfo:L}),v?(0,C.jsx)(s.Fragment,{children:je}):(0,C.jsxs)(x.xuv,{sx:{"& .ObjectDetailsTitle":{display:"flex",alignItems:"center","& .min-icon":{width:26,height:26,minWidth:26,minHeight:26}},"& .objectNameContainer":{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",alignItems:"center",marginLeft:10},"& .capitalizeFirst":{textTransform:"capitalize"},"& .detailContainer":{padding:"0 22px",marginBottom:10,fontSize:14}},children:[(0,C.jsx)(x.Wk,{title:(0,C.jsxs)("div",{className:"ObjectDetailsTitle",children:[W(be||"",!0),(0,C.jsx)("span",{className:"objectNameContainer",children:be})]}),items:Ee}),(0,C.jsx)(M.Z,{tooltip:ye?"":(0,r.MK)([r.Ft.S3_DELETE_OBJECT],"delete this object"),children:(0,C.jsx)(x.rjZ,{item:!0,xs:12,sx:{justifyContent:"center",display:"flex"},children:(0,C.jsx)(_.s,{resource:[n,de,[n,L.name].join("/")],scopes:[r.Ft.S3_DELETE_OBJECT],errorProps:{disabled:!0},children:(0,C.jsx)(x.zxk,{id:"delete-element-click",icon:(0,C.jsx)(x.pJl,{}),iconLocation:"start",fullWidth:!0,variant:"secondary",onClick:()=>{Y(!0)},disabled:""===g&&L.is_delete_marker,sx:{width:"calc(100% - 44px)",margin:"8px 0"},label:"Delete".concat(""!==g?" version":"")})})})}),(0,C.jsx)(x.AG2,{icon:(0,C.jsx)(x.Gvh,{}),label:"Object Info"}),(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Name:"}),(0,C.jsx)("br",{}),(0,C.jsx)("div",{style:{overflowWrap:"break-word"},children:be})]}),""!==g&&(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Version ID:"}),(0,C.jsx)("br",{}),g]}),(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Size:"}),(0,C.jsx)("br",{}),(0,c.ae)("".concat(L.size||"0"))]}),L.version_id&&"null"!==L.version_id&&""===g&&(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Versions:"}),(0,C.jsx)("br",{}),G.length," version",1!==G.length?"s":"",","," ",(0,c.l5)(Q)]}),""===g&&(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Last Modified:"}),(0,C.jsx)("br",{}),(e=>{const t=new Date,n=new Date(e),s=t.getTime()-n.getTime(),o=(0,c.nF)(s,"ms");return""!==o.trim()?"".concat(o," ago"):"Just now"})(L.last_modified||"")]}),(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"ETAG:"}),(0,C.jsx)("br",{}),L.etag||"N/A"]}),(0,C.jsxs)(x.xuv,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Tags:"}),(0,C.jsx)("br",{}),0===pe.length?"N/A":pe.map(((e,t)=>(0,C.jsxs)("span",{children:[e,":",h()(L,"tags.".concat(e),""),t{let{versionToRestore:t,bucketName:n,objectPath:o,restoreOpen:i,onCloseAndUpdate:r}=e;const u=(0,l.TL)(),[h,p]=(0,s.useState)(!1);return(0,C.jsx)(oe.Z,{title:"Restore File Version",confirmText:"Restore",isOpen:i,isLoading:h,titleIcon:(0,C.jsx)(x.D7Y,{}),onConfirm:()=>{p(!0),a.h.buckets.putObjectRestore(n,{prefix:(0,c.LL)(o),version_id:t.version_id||""}).then((()=>{p(!1),r(!0),u((0,d.rI)({prefix:o,objectInfo:t}))})).catch((e=>{u((0,T.Ih)((0,m.g)(e.error))),p(!1)}))},confirmButtonProps:{variant:"secondary",disabled:h},onClose:()=>{r(!1)},confirmationContent:(0,C.jsxs)(x.xuv,{id:"alert-dialog-description",children:["Are you sure you want to restore ",(0,C.jsx)("br",{}),(0,C.jsx)("b",{children:o})," ",(0,C.jsx)("br",{})," with Version ID:",(0,C.jsx)("br",{}),(0,C.jsx)("b",{children:t.version_id}),"?"]})})},je=e=>{let{type:t}=e,n="#000",s="";switch(t){case"null":n="#07193E",s="NULL VERSION";break;case"deleted":n="#868686",s="DELETED";break;default:n="#174551",s="CURRENT VERSION"}return(0,C.jsx)("span",{style:{backgroundColor:n,padding:"0 5px",display:"inline-block",color:"#FFF",fontWeight:"bold",fontSize:12,borderRadius:2,whiteSpace:"nowrap",margin:"0 10px"},children:s})},be=v.ZP.div((e=>{let{theme:t}=e;return{"&:before":{content:"' '",display:"block",position:"absolute",width:"2px",height:"calc(100% + 2px)",backgroundColor:h()(t,"borderColor","#F8F8F8"),left:"24px"},"& .mainFileVersionItem":{borderBottom:"".concat(h()(t,"borderColor","#F8F8F8")," 1px solid"),padding:"1rem 0",margin:"0 0.5rem 0 2.5rem",cursor:"pointer","&.deleted":{color:"#868686"}},"& .intermediateLayer":{margin:"0 1.5rem 0 1.5rem","&:hover, &.selected":{backgroundColor:h()(t,"boxBackground","#F8F8F8"),"& > div":{borderBottomColor:h()(t,"boxBackground","#F8F8F8")}}},"& .versionContainer":{fontSize:16,fontWeight:"bold",display:"flex",alignItems:"center","& svg.min-icon":{width:18,height:18,minWidth:18,minHeight:18,marginRight:10}},"& .buttonContainer":{textAlign:"right","& button":{marginLeft:"1.5rem"}},"& .versionID":{fontSize:"12px",margin:"2px 0",whiteSpace:"nowrap",textOverflow:"ellipsis",maxWidth:"95%",overflow:"hidden"},"& .versionData":{marginRight:"10px",fontSize:12,color:"#868686"},"@media (max-width: 600px)":{"& .buttonContainer":{"& button":{marginLeft:"5px"}}},"@media (max-width: 799px)":{"&:before":{display:"none"},"& .mainFileVersionItem":{padding:"5px 0px",margin:0},"& .intermediateLayer":{margin:0,"&:hover, &.selected":{backgroundColor:"transparent","& > div":{borderBottomColor:h()(t,"boxBackground","#F8F8F8")}}},"& .versionContainer":{fontSize:14,"& svg.min-icon":{display:"none"}},"& .versionData":{textOverflow:"ellipsis",maxWidth:"95%",overflow:"hidden",whiteSpace:"nowrap"},"& .collapsableInfo":{display:"flex",flexDirection:"column"},"& .versionItem":{display:"none"}}}})),ge=e=>{let{fileName:t,versionInfo:n,isSelected:s,checkable:o,isChecked:i,onCheck:a,onShare:l,onDownload:r,onRestore:d,onPreview:u,globalClick:h,index:m,key:p,style:b}=e;const g=n.is_delete_marker,v=[{icon:(0,C.jsx)(x.P99,{}),action:u,tooltip:"Preview"},{icon:(0,C.jsx)(x._8t,{}),action:r,tooltip:"Download this version"},{icon:(0,C.jsx)(x.aAc,{}),action:l,tooltip:"Share this version"},{icon:(0,C.jsx)(x.D7Y,{}),action:d,tooltip:"Restore this version"}];let f=null;n.is_delete_marker?f="deleted":n.is_latest?f="current":"null"===n.version_id&&(f="null");let _=j.ou.now();return n.last_modified&&(_=j.ou.fromISO(n.last_modified)),(0,C.jsx)(be,{children:(0,C.jsx)(x.rjZ,{container:!0,className:"ctrItem",onClick:()=>{h(n)},style:b,children:(0,C.jsx)(x.rjZ,{item:!0,xs:12,className:"intermediateLayer".concat(" ",s?"selected":""),children:(0,C.jsxs)(x.rjZ,{item:!0,xs:!0,className:"mainFileVersionItem ".concat(n.is_delete_marker?"deleted":""),children:[(0,C.jsx)(x.rjZ,{item:!0,xs:12,children:(0,C.jsxs)(x.rjZ,{container:!0,children:[(0,C.jsxs)(x.rjZ,{item:!0,xs:!0,md:4,className:"versionContainer",children:[o&&(0,C.jsx)(x.XZJ,{checked:i,id:"select-".concat(n.version_id),name:"select-".concat(n.version_id),onChange:e=>{e.stopPropagation(),a(n.version_id||"")},value:n.version_id||"",disabled:n.is_delete_marker,sx:{width:"initial"}}),W(t,!0)," v",m.toString(),(0,C.jsx)("span",{className:"versionItem",children:f&&(0,C.jsx)(je,{type:f})})]}),(0,C.jsx)(x.rjZ,{item:!0,xs:10,md:8,className:"buttonContainer",children:v.map(((e,t)=>(0,C.jsx)(x.ua7,{tooltip:e.tooltip,children:(0,C.jsx)(x.hU,{size:"small",id:"version-action-".concat(e.tooltip,"-").concat(t.toString()),className:"spacing".concat(" ",g?"buttonDisabled":""),disabled:g,onClick:t=>{t.stopPropagation(),g?t.preventDefault():e.action(n)},sx:{backgroundColor:"#F8F8F8",borderRadius:"100%",width:"28px",height:"28px",padding:"5px","& .min-icon":{width:"14px",height:"14px"}},children:e.icon})},"version-action-".concat(e.tooltip,"-").concat(t.toString()))))})]})}),(0,C.jsx)(x.rjZ,{item:!0,xs:12,className:"versionID",children:"null"!==n.version_id?n.version_id:"-"}),(0,C.jsxs)(x.rjZ,{item:!0,xs:12,className:"collapsableInfo",children:[(0,C.jsxs)("span",{className:"versionData",children:[(0,C.jsx)("strong",{children:"Last modified:"})," ",_.toFormat("ccc, LLL dd yyyy HH:mm:ss (ZZZZ)")]}),(0,C.jsxs)("span",{className:"versionData",children:[(0,C.jsx)("strong",{children:"Size:"})," ",(0,c.ae)("".concat(n.size||"0"))]})]})]})})},p)})},ve=e=>{let{closeDeleteModalAndRefresh:t,deleteOpen:n,selectedBucket:i,selectedObject:d}=e;const u=(0,l.TL)(),[h,p]=(0,s.useState)(!1),[j,b]=(0,s.useState)(""),[g,v]=(0,s.useState)(!1),f=(0,o.v9)((e=>e.objectBrowser.retentionConfig)),S=(0,_.F)([i],[r.Ft.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===f||void 0===f?void 0:f.mode);if((0,s.useEffect)((()=>{h&&a.h.buckets.deleteObject(i,{prefix:d,non_current_versions:!0,bypass:g}).then((()=>{t(!0)})).catch((e=>{u((0,T.Ih)((0,m.g)(e.error))),p(!1)}))}),[h,t,u,d,i,g]),!d)return null;return(0,C.jsx)(oe.Z,{title:"Delete Non-Current versions",confirmText:"Delete",isOpen:n,titleIcon:(0,C.jsx)(x.NvT,{}),isLoading:h,onConfirm:()=>{p(!0)},onClose:()=>t(!1),confirmButtonProps:{disabled:"YES, PROCEED"!==j||h},confirmationContent:(0,C.jsxs)(s.Fragment,{children:["Are you sure you want to delete all the non-current versions for:"," ",(0,C.jsx)("b",{children:(0,c.IO)(d)}),"? ",(0,C.jsx)("br",{}),S&&(0,C.jsx)(s.Fragment,{children:(0,C.jsx)("div",{style:{marginTop:10},children:(0,C.jsx)(x.rsf,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:g,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:e=>{v(!g)},description:""})})}),(0,C.jsx)("br",{}),"To continue please type ",(0,C.jsx)("b",{children:"YES, PROCEED"})," in the box.",(0,C.jsx)("br",{}),(0,C.jsx)("br",{}),(0,C.jsx)(x.rjZ,{item:!0,xs:12,children:(0,C.jsx)(x.Wzg,{id:"type-confirm",name:"retype-tenant",onChange:e=>{b(e.target.value)},label:"",value:j})})]})})},fe=e=>{let{closeDeleteModalAndRefresh:t,deleteOpen:n,selectedBucket:i,selectedVersions:c,selectedObject:d}=e;const u=(0,l.TL)(),[h,p]=(0,s.useState)(!1),[j,b]=(0,s.useState)(!1),g=(0,o.v9)((e=>e.objectBrowser.retentionConfig)),v=(0,_.F)([i],[r.Ft.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===g||void 0===g?void 0:g.mode);return(0,s.useEffect)((()=>{if(h){const e=c.map((e=>({path:d,versionID:e,recursive:!1})));e.length>0&&a.h.buckets.deleteMultipleObjects(i,e,{all_versions:!1,bypass:j}).then((()=>{p(!1),t(!0)})).catch((e=>{u((0,T.Ih)((0,m.g)(e.error))),p(!1)}))}}),[h,t,i,d,c,j,u]),c?(0,C.jsx)(oe.Z,{title:"Delete Selected Versions",confirmText:"Delete",isOpen:n,titleIcon:(0,C.jsx)(x.NvT,{}),isLoading:h,onConfirm:()=>{p(!0)},onClose:()=>t(!1),confirmationContent:(0,C.jsxs)(s.Fragment,{children:["Are you sure you want to delete the selected ",c.length," ","versions for ",(0,C.jsx)("strong",{children:d}),"?",v&&(0,C.jsx)(s.Fragment,{children:(0,C.jsx)("div",{style:{marginTop:10},children:(0,C.jsx)(x.rsf,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:j,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:e=>{b(!j)},description:""})})})]})}):null};var _e=n(51359);const Se={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:0,tags:{},version_id:void 0},Te=e=>{let{internalPaths:t,bucketName:n}=e;const i=(0,l.TL)(),r=(0,o.v9)((e=>e.objectBrowser.searchVersions)),u=(0,o.v9)((e=>e.objectBrowser.loadingVersions)),p=(0,o.v9)((e=>e.objectBrowser.selectedVersion)),j=(0,o.v9)(T.N5),[b,g]=(0,s.useState)(!1),[v,f]=(0,s.useState)(null),[_,S]=(0,s.useState)(null),[w,y]=(0,s.useState)([]),[E,O]=(0,s.useState)(!1),[I,N]=(0,s.useState)(null),[k,B]=(0,s.useState)("date"),[L,A]=(0,s.useState)(!1),[D,P]=(0,s.useState)(!1),[R,U]=(0,s.useState)(!1),[G,Z]=(0,s.useState)([]),[K,W]=(0,s.useState)(!1);let J=[];v&&v.name&&(J=v.name.split("/")),(0,s.useEffect)((()=>{u||v||i((0,d.Eq)(!0))}),[u,v,i]),(0,s.useEffect)((()=>{u&&""!==t&&a.h.buckets.listObjects(n,{prefix:t,with_versions:j}).then((e=>{const n=h()(e.data,"objects",[]),s=(0,c.IO)(t),o=n.filter((e=>e.name===s));j?(f(o.find((e=>e.is_latest))||Se),y(o)):(f(o[0]),y([])),i((0,d.Eq)(!1))})).catch((e=>{i((0,T.Ih)((0,m.g)(e.error))),i((0,d.Eq)(!1))}))}),[u,n,t,i,j]);const Y=e=>{S(e),g(!0)},q=e=>{S(e),A(!0)},$=e=>{N(e),O(!0)},Q=e=>{z(i,n,t,e)},X=e=>{i((0,d.M3)(e.version_id||""))},ee=w.filter((e=>!!e.version_id&&e.version_id.includes(r))),te=w.reduce(((e,t)=>t.size?e+t.size:e),0);ee.sort(((e,t)=>{if("size"===k)return e.size&&t.size?e.sizet.size?1:0:0;{const n=new Date(e.last_modified||"").getTime(),s=new Date(t.last_modified||"").getTime();return ns?-1:0}}));const ne=e=>{if(G.includes(e)){const t=G.filter((t=>t!==e));return void Z(t)}const t=[...G];t.push(e),Z(t)};return(0,C.jsxs)(s.Fragment,{children:[b&&v&&(0,C.jsx)(V.default,{open:b,closeModalAndRefresh:()=>{S(null),g(!1),A(!1)},bucketName:n,dataObject:_||v}),E&&v&&I&&(0,C.jsx)(pe,{restoreOpen:E,bucketName:n,versionToRestore:I,objectPath:v.name||"",onCloseAndUpdate:e=>{O(!1),N(null),e&&(i((0,d.Eq)(!0)),i((0,d.vH)(!0)))}}),L&&v&&(0,C.jsx)(H.default,{open:L,bucketName:n,object:{name:v.name||"",version_id:_&&_.version_id?_.version_id:"null",size:_&&_.size?_.size:0,content_type:"",last_modified:v.last_modified||""},onClosePreview:()=>{A(!1)}}),D&&(0,C.jsx)(ve,{deleteOpen:D,closeDeleteModalAndRefresh:e=>{P(!1),e&&(i((0,d.Eq)(!0)),i((0,d.M3)("")),i((0,d.vH)(!0)))},selectedBucket:n,selectedObject:t}),K&&(0,C.jsx)(fe,{selectedBucket:n,selectedObject:(0,c.IO)(t),deleteOpen:K,selectedVersions:G,closeDeleteModalAndRefresh:e=>{W(!1),e&&(i((0,d.Eq)(!0)),i((0,d.M3)("")),i((0,d.vH)(!0)),Z([]))}}),(0,C.jsxs)(x.rjZ,{container:!0,sx:{width:"100%",padding:10,"@media (max-width: 799px)":{minHeight:800}},children:[!v&&(0,C.jsx)(x.rjZ,{item:!0,xs:12,children:(0,C.jsx)(x.kod,{})}),v&&(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(x.rjZ,{item:!0,xs:12,children:(0,C.jsx)(F,{bucketName:n,internalPaths:(0,c.IO)(t),hidePathButton:!0})}),(0,C.jsx)(x.rjZ,{item:!0,xs:12,sx:{position:"relative","& .detailsSpacer":{marginRight:18,"@media (max-width: 600px)":{marginRight:0}},["@media (max-width: ".concat(x.Egj.md,"px)")]:{"&::before":{display:"none"}}},children:(0,C.jsx)(x.UHn,{icon:(0,C.jsx)("span",{style:{display:"block",marginTop:"-10px"},children:(0,C.jsx)(x.cRd,{style:{width:20,height:20}})}),title:"".concat(J.length>0?J[J.length-1]:v.name," Versions"),subTitle:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)("span",{className:"detailsSpacer",children:(0,C.jsxs)("strong",{children:[w.length," Version",1===w.length?"":"s","\xa0\xa0\xa0"]})}),(0,C.jsx)("span",{className:"detailsSpacer",children:(0,C.jsx)("strong",{children:(0,c.l5)(te)})})]}),actions:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(M.Z,{tooltip:"Select Multiple Versions",children:(0,C.jsx)(x.zxk,{id:"select-multiple-versions",onClick:()=>{U(!R)},icon:(0,C.jsx)(x.amE,{}),variant:R?"callAction":"regular",style:{marginRight:8}})}),R&&(0,C.jsx)(M.Z,{tooltip:"Delete Selected Versions",children:(0,C.jsx)(x.zxk,{id:"delete-multiple-versions",onClick:()=>{W(!0)},icon:(0,C.jsx)(x.pJl,{}),variant:"secondary",style:{marginRight:8},disabled:0===G.length})}),(0,C.jsx)(M.Z,{tooltip:"Delete Non Current Versions",children:(0,C.jsx)(x.zxk,{id:"delete-non-current",onClick:()=>{P(!0)},icon:(0,C.jsx)(x.utM,{}),variant:"secondary",style:{marginRight:15},disabled:w.length<=1})}),(0,C.jsx)(x.PhF,{id:"sort-by",options:[{label:"Date",value:"date"},{label:"Size",value:"size"}],value:k,label:"Sort by",onChange:e=>{B(e)},noLabelMinWidth:!0})]}),bottomBorder:!1})}),(0,C.jsx)(x.rjZ,{item:!0,xs:12,sx:{flexGrow:1,height:"calc(100% - 120px)",overflow:"auto",["@media (max-width: ".concat(x.Egj.md,"px)")]:{height:600}},children:v.version_id&&"null"!==v.version_id&&(0,C.jsx)(_e.aV,{style:{width:"100%"},containerStyle:{width:"100%",maxWidth:"100%"},width:1,height:800,rowCount:ee.length,rowHeight:108,rowRenderer:e=>{let{key:t,index:n,isScrolling:s,isVisible:o,style:i}=e;const a=w.length-n;return(0,C.jsx)(ge,{style:i,fileName:(null===v||void 0===v?void 0:v.name)||"",versionInfo:ee[n],index:a,onDownload:Q,onRestore:$,onShare:Y,onPreview:q,globalClick:X,isSelected:p===ee[n].version_id,checkable:R,onCheck:ne,isChecked:G.includes(ee[n].version_id||"")},t)}})})]})]})]})},we=e=>{if(e.name.endsWith("/"))return"";const t=j.ou.now(),n=j.ou.fromISO(e.last_modified);return t.hasSame(n,"day")&&t.hasSame(n,"month")&&t.hasSame(n,"year")?"Today, ".concat(n.toFormat("HH:mm")):n.toFormat("ccc, LLL dd yyyy HH:mm (ZZZZ)")},ye=e=>e.name.endsWith("/")||!e.size?"-":(0,c.ae)(String(e.size)),Ce=[{label:"Name",elementKey:"name",renderFunction:W,enableSort:!0},{label:"Last Modified",elementKey:"last_modified",renderFunction:we,renderFullObject:!0,enableSort:!0},{label:"Size",elementKey:"size",renderFunction:ye,renderFullObject:!0,width:100,enableSort:!0}],Ee=[{label:"Name",elementKey:"name",renderFunction:W,enableSort:!0},{label:"Object Date",elementKey:"last_modified",renderFunction:we,renderFullObject:!0,enableSort:!0},{label:"Size",elementKey:"size",renderFunction:ye,renderFullObject:!0,width:100,enableSort:!0},{label:"Deleted",elementKey:"delete_flag",renderFunction:e=>e?"Yes":"No",width:60}];var Oe=n(46078);const Fe=()=>{const e=(0,l.TL)(),t=(0,i.UO)(),n=(0,i.s0)(),[a,u]=(0,s.useState)("ASC"),[m,p]=(0,s.useState)("name"),j=t.bucketName||"",b=(0,o.v9)((e=>e.objectBrowser.objectDetailsOpen)),g=(0,o.v9)((e=>e.objectBrowser.requestInProgress)),v=(0,o.v9)(Oe.$4),f=!(null===v||void 0===v||!v.includes("object-browser-only")),S=(0,o.v9)((e=>e.objectBrowser.rewind.rewindEnabled)),T=(0,o.v9)((e=>e.objectBrowser.records)),w=(0,o.v9)((e=>e.objectBrowser.searchObjects)),y=(0,o.v9)((e=>e.objectBrowser.selectedObjects)),E=(0,o.v9)((e=>e.objectBrowser.connectionError)),O=(0,o.v9)((e=>e.system.anonymousMode)),F=(0,_.F)(j,[r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET]),N=T.filter((e=>{if(""===w)return!0;return e.name.toLowerCase().indexOf(w.toLowerCase())>=0})).sort((0,I.P_)(m));let k=[];k="ASC"===a?N:N.reverse();const B=[{type:"view",tooltip:"View",onClick:t=>{var s;const o=t.name||"",i="/browser/".concat(j).concat(o?"/".concat((0,c.LL)(o)):"");!O||null!==(s=t.name)&&void 0!==s&&s.endsWith("/")?(e((0,d.S2)([])),n(i),O||(e((0,d.vb)(!0)),e((0,d.Eq)(!0))),e((0,d.EE)("".concat(o?"".concat((0,c.LL)(o)):"")))):z(e,j,"".concat((0,c.LL)(o)),t)},sendOnlyId:!1}];let L=F||O?"This location is empty".concat(S?"":", please try uploading a new file"):(0,r.MK)([r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET],"view Objects in this bucket");E&&(L="Objects List unavailable. Please review your WebSockets configuration and try again");let A="calc(100vh - 290px)";return f&&(A="calc(100vh - 315px)"),(0,C.jsx)(x.wQF,{itemActions:B,columns:S?Ee:Ce,isLoading:g,entityName:"Objects",idField:"name",records:k,customPaperHeight:A,selectedItems:y,onSelect:O?void 0:t=>{const n=t.target,s=n.value,o=n.checked;let i=[...y];return o?i.push(s):i=i.filter((e=>e!==s)),e((0,d.S2)(i)),e((0,d.EE)(null)),i},customEmptyMessage:L,sortConfig:{currentSort:m,currentDirection:a,triggerSort:t=>{const n=h()(t,"sortDirection","DESC");p(t.sortBy),u(n),e((0,d.$3)(!0))}},onSelectAll:()=>{if(e((0,d.EE)(null)),y.length===k.length)return void e((0,d.S2)([]));const t=k.map((e=>e.name));e((0,d.S2)(t))},rowStyle:e=>{var t;let{index:n}=e;return null!==(t=k[n])&&void 0!==t&&t.delete_flag?"deleted":""},sx:{minHeight:b?"100%":"initial"},noBackground:!0})};var Ie=n(59114);const Ne=()=>{const e=(0,l.TL)(),t=(0,o.v9)((e=>e.objectBrowser.searchObjects));return(0,C.jsx)(Ie.Z,{placeholder:"Start typing to filter objects in the bucket",onChange:t=>{e((0,d.G4)(t))},value:t})};var ke=n(94619);const Be=(0,S.Z)(s.lazy((()=>n.e(711).then(n.bind(n,50711))))),Le=(0,S.Z)(s.lazy((()=>Promise.resolve().then(n.bind(n,34433))))),Ae=(0,S.Z)(s.lazy((()=>n.e(6901).then(n.bind(n,26901))))),De=(0,S.Z)(s.lazy((()=>Promise.resolve().then(n.bind(n,78562))))),Pe={borderWidth:2,borderRadius:2,borderColor:"transparent",outline:"none"},Re={borderStyle:"dashed",backgroundColor:"transparent",borderColor:"#2196f3"},Me={borderStyle:"dashed",backgroundColor:"transparent",borderColor:"#00e676"},Ue=()=>{var e;const t=(0,l.TL)(),n=(0,i.UO)(),u=(0,i.s0)(),b=(0,i.TH)(),g=(0,o.v9)((e=>e.objectBrowser.rewind.rewindEnabled)),v=(0,o.v9)((e=>e.objectBrowser.rewind.bucketToRewind)),f=(0,o.v9)((e=>e.objectBrowser.versionsMode)),S=(0,o.v9)((e=>e.objectBrowser.showDeleted)),E=(0,o.v9)((e=>e.objectBrowser.objectDetailsOpen)),O=(0,o.v9)((e=>e.objectBrowser.selectedInternalPaths)),L=(0,o.v9)((e=>e.objectBrowser.requestInProgress)),z=(0,o.v9)((e=>e.objectBrowser.simplePath)),Z=(0,o.v9)((e=>e.objectBrowser.versionInfo)),K=(0,o.v9)((e=>e.objectBrowser.lockingEnabled)),W=(0,o.v9)((e=>e.objectBrowser.downloadRenameModal)),H=(0,o.v9)((e=>e.objectBrowser.selectedPreview)),J=(0,o.v9)((e=>e.objectBrowser.shareFileModalOpen)),V=(0,o.v9)((e=>e.objectBrowser.previewOpen)),Y=(0,o.v9)((e=>e.objectBrowser.selectedBucket)),q=(0,o.v9)((e=>e.system.anonymousMode)),$=(0,o.v9)((e=>e.objectBrowser.anonymousAccessOpen)),Q=(0,o.v9)((e=>{var t;return(null===(t=e.objectBrowser)||void 0===t?void 0:t.records)||[]})),X=(0,o.v9)(B.HQ),ee=(0,o.v9)(B.G6),[te,ne]=(0,s.useState)(!1),[se,oe]=(0,s.useState)(!1),[ie,ae]=(0,s.useState)(!1),[le,re]=(0,s.useState)(!1),[ce,de]=(0,s.useState)(!1),[ue,xe]=(0,s.useState)(null),[pe,je]=(0,s.useState)(null),[be,ge]=(0,s.useState)(!1),ve=N(Z.status),fe=n.bucketName||"",_e=b.pathname.split("/browser/".concat(fe,"/")),Se=2===_e.length?_e[1]:"",we=(0,c.IO)(Se),ye=we.split("/").filter((e=>""!==e));let Ce=[fe];ye.length>0&&(Ce=Ce.concat(ye));const Ee=(0,s.useRef)(null),Oe=(0,s.useRef)(null),Ie=(0,o.v9)((e=>e.console.session&&e.console.session.permissions||{})),Ue=[r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],Ge=Ce.join("/"),ze=function(e,t){const n=y(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:[]).reduce(((e,t)=>{const n=w(t);return n&&e.push(".".concat(n)),e}),[]);return[...new Set(n)].join(",")}(Ie,Ge,Ue),Ze=y(Ie,Ge,Ue),Ke=(0,_.F)([Ge,...Ze],[r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS]),We=(0,_.F)([Ge,...Ze],[r.Ft.S3_DELETE_OBJECT]),He=(0,_.F)([Ge,...Ze],Ue)||q,Je=(0,_.F)(fe,[r.Ft.S3_GET_BUCKET_POLICY,r.Ft.S3_PUT_BUCKET_POLICY,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS]),Ve=(0,o.v9)((e=>e.objectBrowser.selectedObjects)),Ye=(()=>{let e=!1;if(1===Ve.length){e=!!Q.find((e=>e.name==="".concat(Ve[0])&&e.delete_flag))}return e})(),qe=(0,s.useCallback)((()=>{const e=Ve[0];if(!be){const t=(0,c.LL)(e);a.h.buckets.getObjectMetadata(fe,{prefix:t}).then((e=>{let t=h()(e.data,"objectMetadata",{});ge(!0),je(t)})).catch((e=>{console.error("Error Getting Metadata Status: ",e,null===e||void 0===e?void 0:e.detailedError),ge(!0)}))}}),[fe,Ve,be]);(0,s.useEffect)((()=>{fe&&!Ye&&qe()}),[fe,Ve,qe,Ye]),(0,s.useEffect)((()=>{g&&v!==fe&&t((0,d._w)())}),[g,v,fe,t]),(0,s.useEffect)((()=>{null!==Oe.current&&(Oe.current.setAttribute("directory",""),Oe.current.setAttribute("webkitdirectory",""))}),[Oe]),(0,s.useEffect)((()=>{if(1===Ve.length){const e=Ve[0],t=e.endsWith("/");let n=(0,I.s7)(pe,e);de(!("none"===n||!Ke)),re(!(!Ke||t))}else re(!1),de(!1)}),[Ve,Ke,pe]),(0,s.useEffect)((()=>{ue||q||a.h.buckets.getBucketQuota(fe).then((e=>{let t=null;e.data.quota&&(t=e.data),xe(t)})).catch((e=>{console.error("Error Getting Quota Status: ",e.error.detailedMessage),xe(null)}))}),[ue,fe,q]),(0,s.useEffect)((()=>{Ve.length>0?t((0,d.vb)(!0)):0!==Ve.length||null!==O||L||t((0,d.vb)(!1))}),[Ve,O,t,L]),(0,s.useEffect)((()=>{ie||(t((0,B.d5)(!0)),ae(!0))}),[ie,t,ae]),(0,s.useEffect)((()=>{!L&&!X||q||a.h.buckets.bucketInfo(fe).then((e=>{t((0,B.d5)(!1)),t((0,B.f4)(e.data))})).catch((e=>{t((0,B.d5)(!1)),t((0,T.Ih)((0,m.g)(e)))}))}),[fe,X,t,q,L]),(0,s.useEffect)((()=>{""!==Y&&a.h.buckets.getBucketRetentionConfig(Y).then((e=>{t((0,d.c8)(e.data))})).catch((()=>{t((0,d.c8)(null))}))}),[Y,t]);const $e=e=>{if(null!==e&&void 0!==e&&null!==e.target.files&&void 0!==e.target.files){e.preventDefault();var t=[];for(let n=0;n{let s="";z&&(s=z.endsWith("/")?z:z+"/");((e,n,s,o)=>{let i=i=>new Promise(((a,l)=>{let r="api/v1/buckets/".concat(n,"/objects/upload");const u=i.name,x=new Blob([i],{type:i.type});let m="";const p=h()(i,"path",""),j=h()(i,"webkitRelativePath","");let b=o;const g=(0,k.YO)(8);""!==p?b=p:""!==j&&(b=j);let v="";if(""!==s||""!==b){const e=b.split("/").slice(0,-1).join("/"),t=s.endsWith("/")?s.slice(0,-1):s;v="".concat(t).concat(t.endsWith("/")||""===e||e.startsWith("/")?"":"/").concat(e).concat(!e.endsWith("/")||""===e.trim()&&!s.endsWith("/")?"/":"")}r=""!==v?"".concat(r,"?prefix=").concat((0,c.LL)(v+u)):"".concat(r,"?prefix=").concat((0,c.LL)(u)),m=(0,c.LL)(v);const f=(0,c.LL)("".concat(n,"-").concat(m,"-").concat((new Date).getTime(),"-").concat(Math.random()));let _=new XMLHttpRequest;_.open("POST",r,!0),q&&_.setRequestHeader("X-Anonymous","1");const S=e.length>1;let T="An error occurred while uploading the file".concat(S?"s":"",".");const w={413:"Error - File size too large"};_.withCredentials=!1,_.onload=function(){if(_.status>=200&&_.status<300)t((0,d.oK)(f)),a({status:_.status}),(0,k.GM)(g);else{if(w[_.status])T=w[_.status];else if(_.response)try{const e=JSON.parse(_.response);T=e.detailedMessage}catch(e){T="something went wrong"}t((0,d.qJ)({instanceID:f,msg:T})),l({status:_.status,message:T}),(0,k.GM)(g)}},_.upload.addEventListener("error",(()=>{l(T),t((0,d.qJ)({instanceID:f,msg:"A network error occurred."}))})),_.upload.addEventListener("progress",(e=>{const n=Math.floor(100*e.loaded/e.total);t((0,d.RO)({instanceID:f,progress:n}))})),_.onerror=()=>{l(T),t((0,d.qJ)({instanceID:f,msg:"A network error occurred."}))},_.onloadend=()=>{0===e.length&&t((0,d.$3)(!0))},_.onabort=()=>{t((0,d.Im)(f))};const y=new FormData;void 0!==i.size&&(y.append(i.size.toString(),x,u),(0,k.EN)(g,_),t((0,d.Mc)({ID:g,bucketName:n,done:!1,instanceID:f,percentage:0,prefix:"".concat((0,c.IO)(m)).concat(u),type:"upload",waitingForFile:!1,failed:!1,cancelled:!1,errorMessage:""})),(0,k.N5)(g,y))}));const a=[];t((0,d.LD)());for(let t=0;t{const n=e.filter((e=>"rejected"===e.status));if(n.length>0){const e=a.length,s=a.length-n.length,o={errorMessage:"There were some errors during file upload",detailedError:"Uploaded files ".concat(s,"/").concat(e)};t((0,T.Ih)(o))}t((0,d.$3)(!0))}))})(e,fe,s,n)}),[fe,t,z,q]),Xe=(0,s.useCallback)((e=>{if(e&&e.length>0&&He){let n=e[0].path,s=e;ze.length>0&&(s=e.filter((e=>{const t=w(e.name);return ze.includes(t)}))),s.length?(Qe(s,n),console.log("".concat(s.length," Allowed Files Processed out of ").concat(e.length,"."),Ge,...Ze),s.length!==e.length&&t((0,T.Ih)({errorMessage:"Upload is restricted.",detailedError:(0,r.MK)([r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],"upload objects to this location")}))):(t((0,T.Ih)({errorMessage:"Could not process drag and drop.",detailedError:(0,r.MK)([r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],"upload objects to this location")})),console.error("Could not process drag and drop . upload may be restricted.",Ge,...Ze))}He||t((0,T.Ih)({errorMessage:"Upload not allowed",detailedError:(0,r.MK)([r.Ft.S3_PUT_OBJECT,r.Ft.S3_PUT_ACTIONS],"upload objects to this location")}))}),[Qe]),{getRootProps:et,getInputProps:tt,isDragActive:nt,isDragAccept:st}=(0,p.uI)({noClick:!0,onDrop:Xe}),ot=(0,s.useMemo)((()=>({...Pe,...nt?Re:{},...st?Me:{}})),[nt,st]),it=e=>{if(t((0,d.EE)(null)),t((0,d.db)({status:!1})),E&&null!==O){const e=(0,c.IO)(Se).split("/");e.pop();let t="";e&&e.length>0&&(t="".concat(e.join("/"),"/")),u("/browser/".concat(fe,"/").concat((0,c.LL)(t)))}t((0,d.vb)(!1)),e&&t((0,d.$3)(!0))};let at=j.ou.now();null!==ee&&void 0!==ee&&ee.creation_date&&(at=j.ou.fromISO(ee.creation_date));const lt=(null===Ve||void 0===Ve?void 0:Ve.length)<=1?"Download Selected":" Download selected objects as Zip. Any Deleted objects in the selection would be skipped from download.",rt=[{action:()=>{t(A(fe))},label:"Download",disabled:!Ke||Ye,icon:(0,C.jsx)(x._8t,{}),tooltip:Ke?lt:(0,r.MK)([r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS],"download objects from this bucket")},{action:()=>{t(P())},label:"Share",disabled:1!==Ve.length||!le||Ye,icon:(0,C.jsx)(x.aAc,{}),tooltip:le?"Share Selected File":"Sharing unavailable"},{action:()=>{t(D())},label:"Preview",disabled:1!==Ve.length||!ce||Ye,icon:(0,C.jsx)(x.P99,{}),tooltip:ce?"Preview Selected File":"Preview unavailable"},{action:()=>{t(R())},label:"Anonymous Access",disabled:1!==Ve.length||!Ve[0].endsWith("/")||!Je,icon:(0,C.jsx)(x.cuP,{}),tooltip:1===Ve.length&&Ve[0].endsWith("/")?"Set Anonymous Access to this Folder":"Anonymous Access unavailable"},{action:()=>{ne(!0)},label:"Delete",icon:(0,C.jsx)(x.pJl,{}),disabled:!We||0===Ve.length,tooltip:We?"Delete Selected Files":(0,r.MK)([r.Ft.S3_DELETE_OBJECT],"delete objects in this bucket")}];return(0,C.jsxs)(s.Fragment,{children:[J&&H&&(0,C.jsx)(Le,{open:J,closeModalAndRefresh:()=>{t((0,d.Qf)(!1)),t((0,d.eP)(null))},bucketName:fe,dataObject:{name:H.name,last_modified:"",version_id:H.version_id}}),te&&(0,C.jsx)(Be,{deleteOpen:te,selectedBucket:fe,selectedObjects:Ve,closeDeleteModalAndRefresh:e=>{ne(!1),e&&(t((0,T.y1)("Objects deleted successfully.")),t((0,d.S2)([])),t((0,d.$3)(!0)))},versioning:Z}),se&&(0,C.jsx)(Ae,{open:se,closeModalAndRefresh:()=>{oe(!1)},bucketName:fe}),V&&(0,C.jsx)(De,{open:V,bucketName:fe,object:H,onClosePreview:()=>{t((0,d.ei)(!1)),t((0,d.eP)(null))}}),!!W&&(0,C.jsx)(he,{open:!!W,closeModal:()=>{t((0,d.$y)(null))},currentItem:(null===(e=W.name.split("/"))||void 0===e?void 0:e.pop())||"",bucketName:fe,internalPaths:Se,actualInfo:{name:W.name,last_modified:"",version_id:W.version_id,size:W.size}}),$&&(0,C.jsx)(ke.default,{onClose:()=>{t((0,d.xV)(!1))},bucket:fe,modalOpen:$,prefilledRoute:"".concat(Ve[0],"*")}),(0,C.jsxs)(x.Xgh,{variant:"full",children:[q&&(0,C.jsx)("div",{style:{paddingBottom:16},children:(0,C.jsx)(Ne,{})}),(0,C.jsx)(x.xuv,{withBorders:!0,sx:{padding:"0 5px"},children:(0,C.jsx)(x.UHn,{icon:(0,C.jsx)("span",{children:(0,C.jsx)(x.wNb,{style:{width:30}})}),title:fe,subTitle:q?null:(0,C.jsxs)(x.xuv,{sx:{"& .detailsSpacer":{marginRight:18,"@media (max-width: 600px)":{marginRight:0}}},children:[(0,C.jsxs)("span",{className:"detailsSpacer",children:["Created on:\xa0",(0,C.jsx)("strong",{children:null!==ee&&void 0!==ee&&ee.creation_date?at.toFormat("ccc, LLL dd yyyy HH:mm:ss (ZZZZ)"):""})]}),(0,C.jsxs)("span",{className:"detailsSpacer",children:["Access:\xa0\xa0",(0,C.jsx)("strong",{children:(null===ee||void 0===ee?void 0:ee.access)||""})]}),ee&&(0,C.jsx)(s.Fragment,{children:(0,C.jsxs)("span",{className:"detailsSpacer",children:[ee.size&&(0,C.jsx)(s.Fragment,{children:(0,c.l5)(ee.size)}),ee.size&&ue&&(0,C.jsxs)(s.Fragment,{children:[" ","/ ",(0,c.l5)(ue.quota||0)]}),ee.size&&ee.objects?" - ":"",ee.objects&&(0,C.jsxs)(s.Fragment,{children:[ee.objects,"\xa0Object",ee.objects&&1!==ee.objects?"s":""]})]})})]}),actions:(0,C.jsxs)(s.Fragment,{children:[!q&&(0,C.jsx)(M.Z,{tooltip:"Rewind Bucket",children:(0,C.jsx)(x.zxk,{id:"rewind-objects-list",label:"Rewind",icon:(0,C.jsx)(x.Cts,{color:"alert",dotOnly:!0,invisible:!g,children:(0,C.jsx)(x.F_y,{style:{minWidth:16,minHeight:16,width:16,height:16,marginTop:-3}})}),variant:"regular",onClick:()=>{oe(!0)},disabled:!ve||!(0,_.F)(fe,[r.Ft.S3_GET_OBJECT,r.Ft.S3_GET_ACTIONS])})}),(0,C.jsx)(M.Z,{tooltip:"Reload List",children:(0,C.jsx)(x.zxk,{id:"refresh-objects-list",label:"Refresh",icon:(0,C.jsx)(x.DuK,{}),variant:"regular",onClick:()=>{f?t((0,d.Eq)(!0)):(t((0,d.o_)()),t((0,d.$3)(!0)))},disabled:!q&&(!(0,_.F)(fe,[r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET])||g)})}),(0,C.jsx)("input",{type:"file",multiple:!0,accept:ze||void 0,onChange:$e,style:{display:"none"},ref:Ee}),(0,C.jsx)("input",{type:"file",multiple:!0,onChange:$e,style:{display:"none"},ref:Oe}),(0,C.jsx)(U,{bucketName:fe,uploadPath:Ge,uploadFileFunction:e=>{Ee&&Ee.current&&Ee.current.click(),e()},uploadFolderFunction:e=>{Oe&&Oe.current&&Oe.current.click(),e()}})]}),bottomBorder:!1})}),(0,C.jsxs)("div",{id:"object-list-wrapper",...et({style:{...ot}}),children:[(0,C.jsx)("input",{...tt()}),(0,C.jsxs)(x.xuv,{withBorders:!0,sx:{display:"flex",borderTop:0,padding:0,"& .hideListOnSmall":{"@media (max-width: 799px)":{display:"none"}}},children:[f?(0,C.jsx)(s.Fragment,{children:null!==O&&(0,C.jsx)(Te,{internalPaths:O,bucketName:fe})}):(0,C.jsx)(_.s,{scopes:[r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET],resource:fe,errorProps:{disabled:!0},children:(0,C.jsxs)(x.rjZ,{item:!0,xs:12,sx:{width:"100%",position:"relative","&.detailsOpen":{"@media (max-width: 799px)":{display:"none"}}},className:E?"detailsOpen":"",children:[!q&&(0,C.jsx)(x.rjZ,{item:!0,xs:12,sx:{padding:"12px 14px 5px"},children:(0,C.jsx)(F,{bucketName:fe,internalPaths:we,additionalOptions:!ve||g?null:(0,C.jsx)(x.XZJ,{name:"deleted_objects",id:"showDeletedObjects",value:"deleted_on",label:"Show deleted objects",onChange:()=>{t((0,d.o_)()),t((0,d.mz)(!S)),it(!0)},checked:S,sx:{marginLeft:5,"@media (max-width: 600px)":{marginLeft:0,flexDirection:"row"}}}),hidePathButton:!1})}),(0,C.jsx)(Fe,{})]})}),!q&&(0,C.jsx)(_.s,{scopes:[r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET],resource:fe,errorProps:{disabled:!0},children:(0,C.jsxs)(G,{open:E,closePanel:()=>{it(!1)},className:"".concat(f?"hideListOnSmall":""),children:[Ve.length>0&&(0,C.jsx)(x.Wk,{items:rt,title:"Selected Objects:"}),null!==O&&(0,C.jsx)(me,{internalPaths:O,bucketName:fe,onClosePanel:it,versioningInfo:Z,locking:K})]})})]})]})]})]})};var Ge=n(49535),ze=n(73996),Ze=n(79844),Ke=n(4677),We=n(99670);const He=e=>{let{bucketName:t}=e;const n=(0,l.TL)(),a=(0,o.v9)(Oe.$4),c=(0,o.v9)((e=>e.objectBrowser.versionsMode)),u=(0,o.v9)((e=>e.objectBrowser.versionedFile)),h=(0,o.v9)((e=>e.objectBrowser.searchVersions)),m=!(null===a||void 0===a||!a.includes("object-browser-only")),p=(0,i.s0)(),j=(0,Ge.Z)(t,[r.Ft.S3_GET_BUCKET_POLICY,r.Ft.S3_PUT_BUCKET_POLICY,r.Ft.S3_GET_BUCKET_VERSIONING,r.Ft.S3_PUT_BUCKET_VERSIONING,r.Ft.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION,r.Ft.S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION,r.Ft.S3_DELETE_BUCKET,r.Ft.S3_GET_BUCKET_NOTIFICATIONS,r.Ft.S3_PUT_BUCKET_NOTIFICATIONS,r.Ft.S3_GET_REPLICATION_CONFIGURATION,r.Ft.S3_PUT_REPLICATION_CONFIGURATION,r.Ft.S3_GET_LIFECYCLE_CONFIGURATION,r.Ft.S3_PUT_LIFECYCLE_CONFIGURATION,r.Ft.ADMIN_GET_BUCKET_QUOTA,r.Ft.ADMIN_SET_BUCKET_QUOTA,r.Ft.S3_PUT_BUCKET_TAGGING,r.Ft.S3_GET_BUCKET_TAGGING,r.Ft.S3_LIST_BUCKET_VERSIONS,r.Ft.S3_GET_BUCKET_POLICY_STATUS,r.Ft.S3_DELETE_BUCKET_POLICY,r.Ft.S3_GET_ACTIONS,r.Ft.S3_PUT_ACTIONS]),b=(0,C.jsx)(s.Fragment,{children:c?(0,C.jsx)(s.Fragment,{children:(0,C.jsx)(Ie.Z,{placeholder:"Start typing to filter versions of ".concat(u),onChange:e=>{n((0,d.Pr)(e))},value:h})}):(0,C.jsx)(_.s,{scopes:[r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET],resource:t,errorProps:{disabled:!0},children:(0,C.jsx)(Ne,{})})});return(0,s.useEffect)((()=>{n((0,T.Sc)("object_browser"))}),[]),(0,C.jsx)(s.Fragment,{children:m?(0,C.jsxs)(x.rjZ,{container:!0,sx:{padding:"20px 32px 0"},children:[(0,C.jsx)(x.rjZ,{children:(0,C.jsx)(ze.Z,{marginRight:30,marginTop:10})}),(0,C.jsxs)(x.rjZ,{item:!0,xs:!0,sx:{display:"flex",gap:10},children:[b,(0,C.jsx)(Ke.Z,{})]})]}):(0,C.jsx)(Ze.Z,{label:(0,C.jsx)(x.hbI,{label:"Object Browser",onClick:()=>{p(r.gA.OBJECT_BROWSER_VIEW)}}),actions:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(_.s,{scopes:r.D[r.EI.BUCKET_ADMIN],resource:t,errorProps:{disabled:!0},children:(0,C.jsx)(M.Z,{tooltip:j?"Configure Bucket":"You do not have the required permissions to configure this bucket. Please contact your MinIO administrator to request "+r.EI.BUCKET_ADMIN+" permisions.",children:(0,C.jsx)(x.zxk,{id:"configure-bucket-main",color:"primary","aria-label":"Configure Bucket",onClick:()=>p("/buckets/".concat(t,"/admin")),icon:(0,C.jsx)(x.ewm,{style:{width:20,height:20,marginTop:-3}}),style:{padding:"0 10px"}})})}),(0,C.jsx)(We.Z,{})]}),middleComponent:b})})},Je=()=>{const e=(0,l.TL)(),t=(0,i.UO)(),n=(0,i.TH)(),u=(0,o.v9)((e=>e.objectBrowser.loadingVersioning)),h=(0,o.v9)((e=>e.objectBrowser.rewind.rewindEnabled)),x=(0,o.v9)((e=>e.objectBrowser.rewind.dateToRewind)),m=(0,o.v9)((e=>e.objectBrowser.showDeleted)),p=(0,o.v9)((e=>e.objectBrowser.requestInProgress)),j=(0,o.v9)((e=>e.objectBrowser.loadingLocking)),b=(0,o.v9)((e=>e.objectBrowser.reloadObjectsList)),g=(0,o.v9)((e=>e.objectBrowser.simplePath)),v=(0,o.v9)((e=>e.system.anonymousMode)),f=(0,o.v9)((e=>e.objectBrowser.selectedBucket)),_=(0,o.v9)((e=>e.objectBrowser.records)),S=t.bucketName||"",T=n.pathname.split("/browser/".concat(S,"/")),w=2===T.length?T[1]:"",y=(0,s.useCallback)((t=>{let n=(new Date).toISOString();null!==x&&h&&(n=x);e({type:"socket/OBRequest",payload:{bucketName:S,path:t,rewindMode:h||m,date:n}})}),[S,m,x,h,e]),E=(0,s.useCallback)((function(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const n=(0,c.IO)(w);e((0,d.db)({status:!1}));let s=n;n.endsWith("/")||""===n||(s="".concat(n.split("/").slice(0,-1).join("/"),"/")),"/"===s&&(s=""),(s!==g||S!==f||t)&&(e((0,d.zD)(!0)),y(s))}),[w,e,g,f,S,y]);(0,s.useEffect)((()=>()=>{e({type:"socket/OBCancelLast"})}),[e]),(0,s.useEffect)((()=>{const t=(0,c.IO)(w);e((0,d.IJ)(!0)),t.endsWith("/")||""===t?(e((0,d.vb)(!1)),e((0,d.EE)(null)),e((0,d.Jn)(!0))):(e((0,d.vH)(!0)),e((0,d.vb)(!0)),e((0,d.Eq)(!0)),e((0,d.EE)("".concat(t?"".concat((0,c.LL)(t)):""))))}),[S,w,x,h,e]),(0,s.useEffect)((()=>{E(!1)}),[E]),(0,s.useEffect)((()=>{b&&0===_.length&&!p&&E(!0)}),[b,_,p,E]);const O=(0,Ge.Z)(S,[r.Ft.S3_LIST_BUCKET,r.Ft.S3_ALL_LIST_BUCKET])||v;return(0,s.useEffect)((()=>{u&&!v&&(O?a.h.buckets.getBucketVersioning(S).then((t=>{e((0,d.lS)(t.data)),e((0,d.IJ)(!1))})).catch((t=>{console.error("Error Getting Object Versioning Status: ",t.error.detailedMessage),e((0,d.IJ)(!1))})):(e((0,d.IJ)(!1)),e((0,d.o_)())))}),[S,u,e,O,v]),(0,s.useEffect)((()=>{j&&(O?a.h.buckets.getBucketObjectLockingStatus(S).then((t=>{e((0,d.lY)(t.data.object_locking_enabled)),e((0,d.Jn)(!1))})).catch((t=>{console.error("Error Getting Object Locking Status: ",t.error.detailedMessage),e((0,d.Jn)(!1))})):(e((0,d.o_)()),e((0,d.Jn)(!1))))}),[S,j,e,O]),(0,C.jsxs)(s.Fragment,{children:[!v&&(0,C.jsx)(He,{bucketName:S}),(0,C.jsx)(Ue,{})]})}},34433:(e,t,n)=>{n.r(t),n.d(t,{default:()=>b});var s=n(72791),o=n(78687),i=n(29945),a=n(78029),l=n.n(a),r=n(56028),c=n(99779),d=n(80184);const u=e=>{let{id:t,initialDate:n,label:o,maxDays:a,entity:l,onChange:r}=e;const[u,h]=(0,s.useState)(7),[x,m]=(0,s.useState)(0),[p,j]=(0,s.useState)(0),[b,g]=(0,s.useState)(!0),[v,f]=(0,s.useState)(c.ou.now());(0,s.useEffect)((()=>{isNaN(x)||isNaN(u)||isNaN(p)||f(((e,t,n,s)=>c.ou.fromJSDate(e).plus({hours:n+24*t,minutes:s}))(n,u,x,p))}),[n,u,x,p]),(0,s.useEffect)((()=>{if(b){const e=v.toFormat("yyyy-MM-dd HH:mm:ss");r(e.split(" ").join("T"),!0)}else r("0000-00-00",!1)}),[v,r,b]),(0,s.useEffect)((()=>{let e=!0;(u<0||a&&u>a||isNaN(u))&&(e=!1),(x<0||x>23||isNaN(x))&&(e=!1),(p<0||p>59||isNaN(p))&&(e=!1),!a||u!==a||0===x&&0===p||(e=!1),u<=0&&x<=0&&p<=0&&(e=!1),g(e)}),[v,a,r,u,x,p]);const _={"& .textBoxContainer":{minWidth:0},"& input":{textAlign:"center",paddingRight:10,paddingLeft:10,width:40}};return(0,d.jsxs)(i.xuv,{className:"inputItem",children:[(0,d.jsx)(i.xuv,{sx:{display:"flex",alignItems:"center",marginBottom:5},children:(0,d.jsx)(i.AZs,{htmlFor:t,children:o})}),(0,d.jsxs)(i.xuv,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"space-evenly",gap:10,"& .reverseInput":{flexFlow:"row-reverse","& > label":{fontWeight:400,marginLeft:15,marginRight:25}}},children:[(0,d.jsx)(i.xuv,{children:(0,d.jsx)(i.Wzg,{id:t,className:"reverseInput removeArrows",type:"number",min:"0",max:a?a.toString():"999",label:"Days",name:t,onChange:e=>{h(parseInt(e.target.value))},value:u.toString(),sx:_,noLabelMinWidth:!0})}),(0,d.jsx)(i.xuv,{children:(0,d.jsx)(i.Wzg,{id:t,className:"reverseInput removeArrows",type:"number",min:"0",max:"23",label:"Hours",name:t,onChange:e=>{m(parseInt(e.target.value))},value:x.toString(),sx:_,noLabelMinWidth:!0})}),(0,d.jsx)(i.xuv,{children:(0,d.jsx)(i.Wzg,{id:t,className:"reverseInput removeArrows",type:"number",min:"0",max:"59",label:"Minutes",name:t,onChange:e=>{j(parseInt(e.target.value))},value:p.toString(),sx:_,noLabelMinWidth:!0})})]}),(0,d.jsx)(i.xuv,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-start",marginTop:25,marginLeft:10,marginBottom:15,"& .validityText":{fontSize:14,marginTop:15,display:"flex",alignItems:"center",justifyContent:"center","@media (max-width: 900px)":{flexFlow:"column"},"& > .min-icon":{color:"#5E5E5E",width:15,height:15,marginRight:10}},"& .validTill":{fontWeight:"bold",marginLeft:15},"& .invalidDurationText":{marginTop:15,display:"flex",color:"red",fontSize:11}},children:b?(0,d.jsxs)("div",{className:"validityText",children:[(0,d.jsx)(i.xPt,{}),(0,d.jsxs)("div",{children:[l," will be available until:"]})," ",(0,d.jsx)("div",{className:"validTill",children:v.toFormat("MM/dd/yyyy HH:mm:ss ZZZZ")})]}):(0,d.jsx)("div",{className:"invalidDurationText",children:"Please select a valid duration."})})]})};var h=n(45248),x=n(87995),m=n(44690),p=n(31776),j=n(82342);const b=e=>{let{open:t,closeModalAndRefresh:n,bucketName:a,dataObject:c}=e;const b=(0,m.TL)(),g=(0,o.v9)(x.N5),[v,f]=(0,s.useState)(""),[_,S]=(0,s.useState)(!0),[T,w]=(0,s.useState)(!1),[y,C]=(0,s.useState)(""),[E,O]=(0,s.useState)(!0),[F,I]=(0,s.useState)("null"),N=new Date;return(0,s.useEffect)((()=>{if(void 0===c.version_id)return g?(p.h.buckets.listObjects(a,{prefix:(0,h.LL)(c.name||""),with_versions:g}).then((e=>{const t=(e.data.objects||[]).find((e=>e.is_latest));I(t?"".concat(t.version_id):"null")})).catch((e=>{b((0,x.zb)((0,j.g)(e.error)))})),void S(!1)):(I("null"),void S(!1));I(c.version_id||"null"),S(!1)}),[a,c,g,b]),(0,s.useEffect)((()=>{if(E&&!_){w(!0),f("");const e=new Date("".concat(y)),t=new Date,n=Math.ceil((e.getTime()-t.getTime())/1e3);n>0&&p.h.buckets.shareObject(a,{prefix:(0,h.LL)(c.name||""),version_id:F,expires:""!==y?"".concat(n,"s"):""}).then((e=>{f(e.data),w(!1)})).catch((e=>{b((0,x.zb)((0,j.g)(e.error))),f(""),w(!1)}))}}),[c,y,a,E,f,b,g,_,F]),(0,d.jsx)(s.Fragment,{children:(0,d.jsxs)(r.Z,{title:"Share File",titleIcon:(0,d.jsx)(i.aAc,{style:{fill:"#4CCB92"}}),modalOpen:t,onClose:()=>{n()},children:[_&&(0,d.jsx)(i.rjZ,{item:!0,xs:12,children:(0,d.jsx)(i.kod,{})}),!_&&(0,d.jsxs)(s.Fragment,{children:[(0,d.jsxs)(i.rjZ,{item:!0,xs:12,sx:{fontSize:14,fontWeight:400},children:["This is a temporary URL with integrated access credentials for sharing objects valid for up to 7 days.",(0,d.jsx)("br",{}),(0,d.jsx)("br",{}),"The temporary URL expires after the configured time limit."]}),(0,d.jsx)("br",{}),(0,d.jsx)(i.rjZ,{item:!0,xs:12,children:(0,d.jsx)(u,{initialDate:N,id:"date",label:"Active for",maxDays:7,onChange:(e,t)=>{O(t),t?C(e):(C(""),f(""))},entity:"Link"})}),(0,d.jsx)(i.rjZ,{item:!0,xs:12,sx:{marginBottom:10},children:(0,d.jsx)(i.bSr,{actionButton:(0,d.jsx)(l(),{text:v,children:(0,d.jsx)(i.zxk,{id:"copy-path",variant:"regular",onClick:()=>{b((0,x.MK)("Share URL Copied to clipboard"))},disabled:""===v||T,style:{width:"28px",height:"28px",padding:"0px"},icon:(0,d.jsx)(i.TIy,{})})}),children:v})})]})]})})}},78562:(e,t,n)=>{n.r(t),n.d(t,{default:()=>x});var s=n(72791),o=n(56028),i=n(29945),a=n(26181),l=n.n(a),r=n(47922),c=n(45248),d=n(31776),u=n(80184);const h=e=>{let{bucketName:t,object:n,isFullscreen:o=!1}=e;const[a,h]=(0,s.useState)(!0),[x,m]=(0,s.useState)(null),[p,j]=(0,s.useState)(!1),b=(null===n||void 0===n?void 0:n.name)||"",g=(0,s.useCallback)((()=>{if(!p){const e=(0,c.LL)(b);d.h.buckets.getObjectMetadata(t,{prefix:e}).then((e=>{let t=l()(e.data,"objectMetadata",{});j(!0),m(t)})).catch((e=>{console.error("Error Getting Metadata Status: ",e,null===e||void 0===e?void 0:e.detailedError),j(!0)}))}}),[t,b,p]);(0,s.useEffect)((()=>{t&&b&&g()}),[t,b,g]);let v="";if(n){const e=(0,c.LL)(n.name);let s=document.baseURI.replace(window.location.origin,"");v="".concat(window.location.origin).concat(s,"api/v1/buckets/").concat(t,"/objects/download?preview=true&prefix=").concat(e),n.version_id&&(v=v.concat("&version_id=".concat(n.version_id)))}let f=(0,r.s7)(x,b);const _=()=>{h(!1)};return(0,u.jsxs)(s.Fragment,{children:["none"!==f&&a&&(0,u.jsx)(i.rjZ,{item:!0,xs:12,children:(0,u.jsx)(i.kod,{})}),p?(0,u.jsxs)(i.xuv,{sx:{textAlign:"center","& .iframeContainer":{border:"0px",flex:"1 1 auto",width:"100%",height:250,backgroundColor:"transparent",borderRadius:5,"&.image":{height:500},"&.text":{height:700},"&.audio":{height:150},"&.video":{height:350},"&.fullHeight":{height:"calc(100vh - 185px)"}},"& .iframeBase":{backgroundColor:"#fff"},"& .iframeHidden":{display:"none"}},children:["video"===f&&(0,u.jsx)("video",{style:{width:"auto",height:"auto",maxWidth:"calc(100vw - 100px)",maxHeight:"calc(100vh - 200px)"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:_,children:(0,u.jsx)("source",{src:v,type:"video/mp4"})}),"audio"===f&&(0,u.jsx)("audio",{style:{width:"100%",height:"auto"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:_,children:(0,u.jsx)("source",{src:v,type:"audio/mpeg"})}),"image"===f&&(0,u.jsx)("img",{style:{width:"auto",height:"auto",maxWidth:"100vw",maxHeight:"100vh"},src:v,alt:"preview",onLoad:_}),"none"===f&&(0,u.jsx)("div",{children:(0,u.jsx)(i.J6i,{variant:"error",message:" File couldn't be previewed using file extension or mime type. Please try Download instead",title:"Preview unavailable",sx:{margin:"15px 0"}})}),"none"!==f&&"video"!==f&&"audio"!==f&&"image"!==f&&(0,u.jsx)("div",{className:"iframeBase ".concat(a?"iframeHidden":""),children:(0,u.jsx)("iframe",{src:v,title:"File Preview",allowTransparency:!0,className:"iframeContainer ".concat(o?"fullHeight":f),onLoad:_,children:"File couldn't be loaded. Please try Download instead"})})]}):null]})},x=e=>{let{open:t,bucketName:n,object:a,onClosePreview:l}=e;return(0,u.jsx)(s.Fragment,{children:(0,u.jsx)(o.Z,{modalOpen:t,title:"Preview - ".concat(null===a||void 0===a?void 0:a.name),onClose:l,wideLimit:!1,titleIcon:(0,u.jsx)(i.$30,{}),children:(0,u.jsx)(h,{bucketName:n,object:a})})})}},75578:(e,t,n)=>{n.d(t,{Z:()=>i});var s=n(72791),o=n(80184);const i=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return function(n){return(0,o.jsx)(s.Suspense,{fallback:t,children:(0,o.jsx)(e,{...n})})}}},73669:(e,t,n)=>{n.d(t,{Z:()=>a});var s=n(72791),o=n(29945),i=n(80184);const a=e=>{let{value:t}=e;const[n,a]=(0,s.useState)(!1);return(0,i.jsxs)(o.xuv,{sx:{display:"flex",alignItems:"center",flexFlow:"row",["@media (max-width: ".concat(o.Egj.sm,"px)")]:{flexFlow:"column"}},children:[(0,i.jsx)(o.Wzg,{id:"inspect-dec-key",name:"inspect-dec-key",placeholder:"",label:"",type:n?"text":"password",onChange:()=>{},value:t,overlayIcon:(0,i.jsx)(o.TIy,{}),readOnly:!0,overlayAction:()=>navigator.clipboard.writeText(t)}),(0,i.jsx)(o.zxk,{id:"show-hide-key",style:{marginLeft:"10px"},variant:"callAction",onClick:()=>a(!n),label:"Show/Hide"})]})}}}]);
+//# sourceMappingURL=2603.9e6bcd08.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/2603.dca1b3d2.chunk.js.map b/portal-ui/build/static/js/2603.9e6bcd08.chunk.js.map
similarity index 99%
rename from portal-ui/build/static/js/2603.dca1b3d2.chunk.js.map
rename to portal-ui/build/static/js/2603.9e6bcd08.chunk.js.map
index 5b410f9ff4..39bcc0810f 100644
--- a/portal-ui/build/static/js/2603.dca1b3d2.chunk.js.map
+++ b/portal-ui/build/static/js/2603.9e6bcd08.chunk.js.map
@@ -1 +1 @@
-{"version":3,"file":"static/js/2603.dca1b3d2.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/ObjectBrowser/objectBrowserThunks.ts","screens/Console/Buckets/ListBuckets/UploadFilesButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DetailsListPanel.tsx","screens/Console/ObjectBrowser/utils.ts","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/PreviewFileContent.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileModal.tsx","screens/Console/Common/Components/withSuspense.tsx","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 { encodeURLString, 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/${bucketName}/${\n subSplit ? `${encodeURLString(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 ? `/${encodeURLString(`${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 { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { AppState } from \"../../../store\";\nimport { encodeURLString, 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 setNewObject,\n setPreviewOpen,\n setSelectedPreview,\n setShareFileModalOpen,\n updateProgress,\n} from \"./objectBrowserSlice\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { DateTime } from \"luxon\";\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 = encodeURLString(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`,\n );\n\n const ID = makeid(8);\n\n const downloadCall = download(\n bucketName,\n encodeURLString(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","// 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={false}\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) 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 { encodeURLString, 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 = encodeURLString(\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) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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 { encodeURLString } from \"common/utils\";\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: encodeURLString(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: encodeURLString(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 { decodeURLString } from \"../../../../../../common/utils\";\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 decodedSelectedObject = decodeURLString(selectedObject);\n const recursive = decodedSelectedObject.endsWith(\"/\");\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/buckets/${selectedBucket}/objects?prefix=${selectedObject}${\n selectedVersion !== \"\"\n ? `&version_id=${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 {decodeURLString(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 { encodeURLString } from \"../../../../../../common/utils\";\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: encodeURLString(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 { encodeURLString } from \"common/utils\";\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 selectedObject = encodeURLString(actualInfo.name || \"\");\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: selectedObject, 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: selectedObject, 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 decodeURLString,\n deleteCookie,\n encodeURLString,\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 const file = encodeURLString(inspectPath + \"/xl.meta\");\n const volume = encodeURLString(volumeName);\n\n const urlOfInspectApi = `/api/v1/admin/inspect?volume=${volume}&file=${file}&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 decodeURLString,\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 = decodeURLString(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 })\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]);\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 { encodeURLString } from \"../../../../../../common/utils\";\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: encodeURLString(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(versionInfo.last_modified);\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 { decodeURLString } from \"../../../../../../common/utils\";\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 {decodeURLString(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 { Button, CopyIcon, ReadBox, ShareIcon, Grid, ProgressBar } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport DaysSelector from \"../../../../Common/FormComponents/DaysSelector/DaysSelector\";\nimport { encodeURLString } 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\";\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 [shareURL, setShareURL] = useState(\"\");\n const [isLoadingVersion, setIsLoadingVersion] = useState(true);\n const [isLoadingFile, setIsLoadingFile] = useState(false);\n const [selectedDate, setSelectedDate] = useState(\"\");\n const [dateValid, setDateValid] = useState(true);\n const [versionID, setVersionID] = useState(\"null\");\n\n const initialDate = new Date();\n\n const dateChanged = (newDate: string, isValid: boolean) => {\n setDateValid(isValid);\n if (isValid) {\n setSelectedDate(newDate);\n return;\n }\n setSelectedDate(\"\");\n setShareURL(\"\");\n };\n\n useEffect(() => {\n // In case version is undefined, we get the latest version of the object\n if (dataObject.version_id === undefined) {\n // In case it is not distributed setup, then we default to \"null\";\n if (distributedSetup) {\n api.buckets\n .listObjects(bucketName, {\n prefix: encodeURLString(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: encodeURLString(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 This is a temporary URL with integrated access credentials for\n sharing objects valid for up to 7 days.\n \n \n The temporary URL expires after the configured time limit.\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) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { BucketObjectItem } from \"../ListObjects/types\";\nimport { AllowedPreviews, previewObjectType } from \"../utils\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport { api } from \"../../../../../../api\";\n\ninterface IPreviewFileProps {\n bucketName: string;\n object: BucketObjectItem | null;\n isFullscreen?: boolean;\n}\n\nconst PreviewFile = ({\n bucketName,\n object,\n isFullscreen = false,\n}: IPreviewFileProps) => {\n const [loading, setLoading] = useState(true);\n\n const [metaData, setMetaData] = useState(null);\n const [isMetaDataLoaded, setIsMetaDataLoaded] = useState(false);\n\n const objectName = object?.name || \"\";\n\n const fetchMetadata = useCallback(() => {\n if (!isMetaDataLoaded) {\n const encodedPath = encodeURLString(objectName);\n api.buckets\n .getObjectMetadata(bucketName, {\n prefix: encodedPath,\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]);\n\n useEffect(() => {\n if (bucketName && objectName) {\n fetchMetadata();\n }\n }, [bucketName, objectName, fetchMetadata]);\n\n let path = \"\";\n\n if (object) {\n const encodedPath = encodeURLString(object.name);\n let basename = document.baseURI.replace(window.location.origin, \"\");\n path = `${window.location.origin}${basename}api/v1/buckets/${bucketName}/objects/download?preview=true&prefix=${encodedPath}`;\n if (object.version_id) {\n path = path.concat(`&version_id=${object.version_id}`);\n }\n }\n\n 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 === \"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 { BucketObjectItem } from \"../ListObjects/types\";\nimport { ObjectPreviewIcon } from \"mds\";\n\ninterface IPreviewFileProps {\n open: boolean;\n bucketName: string;\n object: BucketObjectItem | null;\n onClosePreview: () => void;\n}\n\nconst PreviewFileModal = ({\n open,\n bucketName,\n object,\n onClosePreview,\n}: IPreviewFileProps) => {\n return (\n \n }\n >\n \n \n \n );\n};\n\nexport default PreviewFileModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport 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, { 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","encodeURLString","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","downloadSelected","createAsyncThunk","async","getState","rejectWithValue","downloadObject","object","identityDownload","Date","getTime","Math","random","ID","makeid","downloadCall","download","version_id","size","progress","updateProgress","instanceID","completeObject","msg","failObject","cancelObjectInList","storeCallForObjectWithID","setNewObject","done","percentage","waitingForFile","failed","cancelled","errorMessage","selectedObjects","itemsToDownload","filterFunction","currValue","records","getClientOS","toLowerCase","setDownloadRenameModal","fileName","DateTime","now","toFormat","multiObjList","dwList","bi","isDeleted","delete_flag","push","log","downloadSelectedAsZip","openPreview","_","_ref2","fileObject","findFunction","setSelectedPreview","setPreviewOpen","openShare","_ref3","setShareFileModalOpen","openAnonymousAccess","_ref4","endsWith","setAnonymousAccessOpen","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","_object$name","isWinOs","setLongFileOpen","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","FolderBrowserIcon","lowercaseElement","etc","ext","FileMissingIcon","splitItem","IconWithLabel","metaData","metaKeys","renderItem","Array","isArray","itemRendererFn","maxHeight","months","days","from","num","currentYear","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","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","decodeURLString","confirmationContent","description","actualInfo","legalHoldEnabled","setLegalHoldEnabled","get","putObjectLegalHold","ObjectLegalHoldStatus","Enabled","Disabled","DeleteTag","b","theme","_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","file","volume","fetch","url","method","makeRequest","ok","resErr","json","message","code","blob","filename","headers","decryptKey","getCookieValue","performDownload","onCloseDecKeyModal","deleteCookie","PasswordKeyIcon","KeyRevealer","closeModal","newFileName","setNewFileName","acceptLongName","setAcceptLongName","EditIcon","doDownload","emptyFile","is_latest","last_modified","legal_hold_status","locking","onClosePanel","loadingObjectInfo","shareFileModalOpen","retentionModalOpen","setRetentionModalOpen","tagModalOpen","setTagModalOpen","legalholdOpen","setLegalholdOpen","inspectModalOpen","setInspectModalOpen","setActualInfo","allInfoElements","setAllInfoElements","objectToShare","setObjectToShare","versions","setVersions","setDeleteOpen","previewOpen","totalVersionsSize","setTotalVersionsSize","longFileOpen","setMetaData","loadMetadata","setLoadingMetadata","objectNameArray","infoElement","el","is_delete_marker","listObjects","with_versions","result","data","objects","tVersionSize","resInfo","setLoadingObjectInfo","getObjectMetadata","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","content_type","onClosePreview","TagsModal","reloadObjectData","InspectObject","RenameLongFileName","closeFileOpen","textTransform","ActionsList","items","DeleteIcon","iconLocation","fullWidth","SimpleHeader","ObjectInfoIcon","overflowWrap","niceBytes","niceBytesInt","lastModified","currentTime","modifiedTime","difTime","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","versionInfo","isSelected","checkable","isChecked","onCheck","onShare","onDownload","onRestore","onPreview","globalClick","key","disableButtons","versionItemButtons","pill","fromISO","md","Checkbox","stopPropagation","SpecificVersionPill","button","IconButton","setDeleteLoading","typeConfirm","setTypeConfirm","deleteObject","non_current_versions","bypass","selectedVersions","selectedObjectsRequest","versionID","deleteMultipleObjects","all_versions","searchVersions","loadingVersions","restoreVersionOpen","setRestoreVersionOpen","setRestoreVersion","sortValue","setSortValue","deleteNonCurrentOpen","setDeleteNonCurrentOpen","selectEnabled","setSelectEnabled","selectedItems","setSelectedItems","delSelectedVOpen","setDelSelectedVOpen","decodedInternalPaths","filteredPrefixes","onShareItem","onPreviewItem","onRestoreItem","onDownloadItem","onGlobalClick","filteredRecords","version","totalSpace","sort","a","dateA","dateB","onCheckVersion","filteredItems","cloneState","RestoreFileVersion","DeleteNonCurrent","reloadAfterDelete","DeleteSelectedVersions","reloadOnComplete","ProgressBar","BrowserBreadcrumbs","ScreenTitle","subTitle","actions","SelectMultipleIcon","DeleteNonCurrentIcon","noLabelMinWidth","bottomBorder","flexGrow","List","containerStyle","rowCount","rowHeight","rowRenderer","isScrolling","isVisible","versOrd","FileVersionItem","displayParsedDate","currTime","objectTime","hasSame","displayNiceBytes","String","listModeColumns","elementKey","renderFunction","enableSort","renderFullObject","rewindModeColumns","ListObjectsTable","params","useParams","sortDirection","setSortDirection","currentSortField","setCurrentSortField","detailsOpen","objectDetailsOpen","requestInProgress","features","selFeatures","obOnly","searchObjects","connectionError","displayListObjects","S3_LIST_BUCKET","S3_ALL_LIST_BUCKET","sortASC","sortListObjects","payload","reverse","tableActions","idElement","newPath","setSelectedObjects","setObjectDetailsView","setSelectedObjectView","sendOnlyId","customPaperHeight","DataTable","itemActions","columns","entityName","idField","targetD","elements","customEmptyMessage","sortConfig","currentSort","currentDirection","triggerSort","sortData","newSortDirection","sortBy","setReloadObjectsList","onSelectAll","selectAllItems","rowStyle","_payload$index","noBackground","FilterObjectsSB","SearchBox","setSearchObjects","DeleteMultipleObjects","RewindEnable","baseDnDStyle","outline","activeDnDStyle","acceptDnDStyle","ListObjects","_downloadRenameModal$","location","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","pageTitle","currentPath","i","fileUpload","folderUpload","pathAsResourceInPolicy","allowedFileExtensions","cv","extension","Set","getPolicyAllowedFileExtensions","canDownload","canUpload","canSetAnonymousAccess","S3_GET_BUCKET_POLICY","S3_PUT_BUCKET_POLICY","isSelObjectDelMarker","checkForDelMarker","isObjDelMarker","obj","fetchMetadata","useCallback","encodedPath","resetRewind","setAttribute","isPrefix","getBucketQuota","quotaVals","detailedMessage","setBucketDetailsLoad","setBucketInfo","getBucketRetentionConfig","setRetentionConfig","handleUploadButton","files","newFiles","uploadObject","folderPath","pathPrefix","upload","uploadPromise","Promise","resolve","reject","uploadUrl","blobFile","Blob","filePath","fileWebkitRelativePath","relativeFolderPath","prefixPath","finalFolderPath","pathClean","startsWith","identity","xhr","XMLHttpRequest","setRequestHeader","areMultipleFiles","errorMessages","withCredentials","onload","removeTrace","response","JSON","addEventListener","floor","loaded","total","onerror","onloadend","onabort","formData","FormData","append","storeFormDataWithID","uploadFilePromises","openList","allSettled","results","errors","totalFiles","successUploadedFiles","onDrop","acceptedFiles","newFolderPath","allowedFiles","fileExtn","getRootProps","getInputProps","isDragActive","isDragAccept","useDropzone","noClick","dndStyles","useMemo","forceRefresh","splitURLS","URLItem","createdTime","creation_date","downloadToolTip","AccessRuleIcon","refresh","versioning","rewindCloseModal","closePreviewWindow","closeRenameModal","AddAccessRule","closeAddAccessRule","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","decodedIPaths","setLoadingVersioning","setLoadingLocking","getBucketVersioning","setIsVersioned","getBucketObjectLockingStatus","setLockingEnabled","object_locking_enabled","OBHeader","initialDate","maxDays","entity","selectedDays","setSelectedDays","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","setValidDate","dateSelected","setDateSelected","calculateNewTime","hours","minutes","fromJSDate","plus","formattedDate","valid","extraStyles","paddingLeft","min","max","LinkIcon","shareURL","setShareURL","isLoadingVersion","setIsLoadingVersion","isLoadingFile","setIsLoadingFile","selectedDate","setSelectedDate","dateValid","setDateValid","setVersionID","latestVersion","elem","slDate","currDate","diffDate","ceil","shareObject","DaysSelector","dateChanged","newDate","ReadBox","actionButton","setModalSnackMessage","isFullscreen","loading","setLoading","basename","document","baseURI","replace","window","origin","iframeLoaded","flex","autoPlay","controls","muted","playsInline","onPlay","src","alt","onLoad","InformativeMessage","allowTransparency","wideLimit","ObjectPreviewIcon","PreviewFileContent","WrappedComponent","fallback","props","Suspense","shown","setShown","sm","overlayIcon","readOnly","overlayAction","navigator","clipboard","writeText"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"static/js/2603.9e6bcd08.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/ObjectBrowser/objectBrowserThunks.ts","screens/Console/Buckets/ListBuckets/UploadFilesButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DetailsListPanel.tsx","screens/Console/ObjectBrowser/utils.ts","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/PreviewFileContent.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileModal.tsx","screens/Console/Common/Components/withSuspense.tsx","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 { encodeURLString, 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/${bucketName}/${\n subSplit ? `${encodeURLString(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 ? `/${encodeURLString(`${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 { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { AppState } from \"../../../store\";\nimport { encodeURLString, 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 setNewObject,\n setPreviewOpen,\n setSelectedPreview,\n setShareFileModalOpen,\n updateProgress,\n} from \"./objectBrowserSlice\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { DateTime } from \"luxon\";\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 = encodeURLString(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`,\n );\n\n const ID = makeid(8);\n\n const downloadCall = download(\n bucketName,\n encodeURLString(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","// 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={false}\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) 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 { encodeURLString, 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 = encodeURLString(\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) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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 { encodeURLString } from \"common/utils\";\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: encodeURLString(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: encodeURLString(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 { decodeURLString } from \"../../../../../../common/utils\";\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 decodedSelectedObject = decodeURLString(selectedObject);\n const recursive = decodedSelectedObject.endsWith(\"/\");\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/buckets/${selectedBucket}/objects?prefix=${selectedObject}${\n selectedVersion !== \"\"\n ? `&version_id=${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 {decodeURLString(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 { encodeURLString } from \"../../../../../../common/utils\";\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: encodeURLString(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 { encodeURLString } from \"common/utils\";\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 selectedObject = encodeURLString(actualInfo.name || \"\");\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: selectedObject, 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: selectedObject, 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 decodeURLString,\n deleteCookie,\n encodeURLString,\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 const file = encodeURLString(inspectPath + \"/xl.meta\");\n const volume = encodeURLString(volumeName);\n\n const urlOfInspectApi = `/api/v1/admin/inspect?volume=${volume}&file=${file}&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 decodeURLString,\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 = decodeURLString(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 })\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]);\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 { encodeURLString } from \"../../../../../../common/utils\";\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: encodeURLString(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(versionInfo.last_modified);\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 { decodeURLString } from \"../../../../../../common/utils\";\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 {decodeURLString(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 { Button, CopyIcon, ReadBox, ShareIcon, Grid, ProgressBar } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport DaysSelector from \"../../../../Common/FormComponents/DaysSelector/DaysSelector\";\nimport { encodeURLString } 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\";\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 [shareURL, setShareURL] = useState(\"\");\n const [isLoadingVersion, setIsLoadingVersion] = useState(true);\n const [isLoadingFile, setIsLoadingFile] = useState(false);\n const [selectedDate, setSelectedDate] = useState(\"\");\n const [dateValid, setDateValid] = useState(true);\n const [versionID, setVersionID] = useState(\"null\");\n\n const initialDate = new Date();\n\n const dateChanged = (newDate: string, isValid: boolean) => {\n setDateValid(isValid);\n if (isValid) {\n setSelectedDate(newDate);\n return;\n }\n setSelectedDate(\"\");\n setShareURL(\"\");\n };\n\n useEffect(() => {\n // In case version is undefined, we get the latest version of the object\n if (dataObject.version_id === undefined) {\n // In case it is not distributed setup, then we default to \"null\";\n if (distributedSetup) {\n api.buckets\n .listObjects(bucketName, {\n prefix: encodeURLString(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: encodeURLString(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 This is a temporary URL with integrated access credentials for\n sharing objects valid for up to 7 days.\n \n \n The temporary URL expires after the configured time limit.\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) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { BucketObjectItem } from \"../ListObjects/types\";\nimport { AllowedPreviews, previewObjectType } from \"../utils\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport { api } from \"../../../../../../api\";\n\ninterface IPreviewFileProps {\n bucketName: string;\n object: BucketObjectItem | null;\n isFullscreen?: boolean;\n}\n\nconst PreviewFile = ({\n bucketName,\n object,\n isFullscreen = false,\n}: IPreviewFileProps) => {\n const [loading, setLoading] = useState(true);\n\n const [metaData, setMetaData] = useState(null);\n const [isMetaDataLoaded, setIsMetaDataLoaded] = useState(false);\n\n const objectName = object?.name || \"\";\n\n const fetchMetadata = useCallback(() => {\n if (!isMetaDataLoaded) {\n const encodedPath = encodeURLString(objectName);\n api.buckets\n .getObjectMetadata(bucketName, {\n prefix: encodedPath,\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]);\n\n useEffect(() => {\n if (bucketName && objectName) {\n fetchMetadata();\n }\n }, [bucketName, objectName, fetchMetadata]);\n\n let path = \"\";\n\n if (object) {\n const encodedPath = encodeURLString(object.name);\n let basename = document.baseURI.replace(window.location.origin, \"\");\n path = `${window.location.origin}${basename}api/v1/buckets/${bucketName}/objects/download?preview=true&prefix=${encodedPath}`;\n if (object.version_id) {\n path = path.concat(`&version_id=${object.version_id}`);\n }\n }\n\n 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 === \"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 { BucketObjectItem } from \"../ListObjects/types\";\nimport { ObjectPreviewIcon } from \"mds\";\n\ninterface IPreviewFileProps {\n open: boolean;\n bucketName: string;\n object: BucketObjectItem | null;\n onClosePreview: () => void;\n}\n\nconst PreviewFileModal = ({\n open,\n bucketName,\n object,\n onClosePreview,\n}: IPreviewFileProps) => {\n return (\n \n }\n >\n \n \n \n );\n};\n\nexport default PreviewFileModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport 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, { 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","encodeURLString","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","downloadSelected","createAsyncThunk","async","getState","rejectWithValue","downloadObject","object","identityDownload","Date","getTime","Math","random","ID","makeid","downloadCall","download","version_id","size","progress","updateProgress","instanceID","completeObject","msg","failObject","cancelObjectInList","storeCallForObjectWithID","setNewObject","done","percentage","waitingForFile","failed","cancelled","errorMessage","selectedObjects","itemsToDownload","filterFunction","currValue","records","getClientOS","toLowerCase","setDownloadRenameModal","fileName","DateTime","now","toFormat","multiObjList","dwList","bi","isDeleted","delete_flag","push","log","downloadSelectedAsZip","openPreview","_","_ref2","fileObject","findFunction","setSelectedPreview","setPreviewOpen","openShare","_ref3","setShareFileModalOpen","openAnonymousAccess","_ref4","endsWith","setAnonymousAccessOpen","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","_object$name","isWinOs","setLongFileOpen","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","FolderBrowserIcon","lowercaseElement","etc","ext","FileMissingIcon","splitItem","IconWithLabel","metaData","metaKeys","renderItem","Array","isArray","itemRendererFn","maxHeight","months","days","from","num","currentYear","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","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","decodeURLString","confirmationContent","description","actualInfo","legalHoldEnabled","setLegalHoldEnabled","get","putObjectLegalHold","ObjectLegalHoldStatus","Enabled","Disabled","DeleteTag","b","theme","_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","file","volume","fetch","url","method","makeRequest","ok","resErr","json","message","code","blob","filename","headers","decryptKey","getCookieValue","performDownload","onCloseDecKeyModal","deleteCookie","PasswordKeyIcon","KeyRevealer","closeModal","newFileName","setNewFileName","acceptLongName","setAcceptLongName","EditIcon","doDownload","emptyFile","is_latest","last_modified","legal_hold_status","locking","onClosePanel","loadingObjectInfo","shareFileModalOpen","retentionModalOpen","setRetentionModalOpen","tagModalOpen","setTagModalOpen","legalholdOpen","setLegalholdOpen","inspectModalOpen","setInspectModalOpen","setActualInfo","allInfoElements","setAllInfoElements","objectToShare","setObjectToShare","versions","setVersions","setDeleteOpen","previewOpen","totalVersionsSize","setTotalVersionsSize","longFileOpen","setMetaData","loadMetadata","setLoadingMetadata","objectNameArray","infoElement","el","is_delete_marker","listObjects","with_versions","result","data","objects","tVersionSize","resInfo","setLoadingObjectInfo","getObjectMetadata","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","content_type","onClosePreview","TagsModal","reloadObjectData","InspectObject","RenameLongFileName","closeFileOpen","textTransform","ActionsList","items","DeleteIcon","iconLocation","fullWidth","SimpleHeader","ObjectInfoIcon","overflowWrap","niceBytes","niceBytesInt","lastModified","currentTime","modifiedTime","difTime","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","versionInfo","isSelected","checkable","isChecked","onCheck","onShare","onDownload","onRestore","onPreview","globalClick","key","disableButtons","versionItemButtons","pill","fromISO","md","Checkbox","stopPropagation","SpecificVersionPill","button","IconButton","setDeleteLoading","typeConfirm","setTypeConfirm","deleteObject","non_current_versions","bypass","selectedVersions","selectedObjectsRequest","versionID","deleteMultipleObjects","all_versions","searchVersions","loadingVersions","restoreVersionOpen","setRestoreVersionOpen","setRestoreVersion","sortValue","setSortValue","deleteNonCurrentOpen","setDeleteNonCurrentOpen","selectEnabled","setSelectEnabled","selectedItems","setSelectedItems","delSelectedVOpen","setDelSelectedVOpen","decodedInternalPaths","filteredPrefixes","onShareItem","onPreviewItem","onRestoreItem","onDownloadItem","onGlobalClick","filteredRecords","version","totalSpace","sort","a","dateA","dateB","onCheckVersion","filteredItems","cloneState","RestoreFileVersion","DeleteNonCurrent","reloadAfterDelete","DeleteSelectedVersions","reloadOnComplete","ProgressBar","BrowserBreadcrumbs","ScreenTitle","subTitle","actions","SelectMultipleIcon","DeleteNonCurrentIcon","noLabelMinWidth","bottomBorder","flexGrow","List","containerStyle","rowCount","rowHeight","rowRenderer","isScrolling","isVisible","versOrd","FileVersionItem","displayParsedDate","currTime","objectTime","hasSame","displayNiceBytes","String","listModeColumns","elementKey","renderFunction","enableSort","renderFullObject","rewindModeColumns","ListObjectsTable","params","useParams","sortDirection","setSortDirection","currentSortField","setCurrentSortField","detailsOpen","objectDetailsOpen","requestInProgress","features","selFeatures","obOnly","searchObjects","connectionError","displayListObjects","S3_LIST_BUCKET","S3_ALL_LIST_BUCKET","sortASC","sortListObjects","payload","reverse","tableActions","idElement","newPath","setSelectedObjects","setObjectDetailsView","setSelectedObjectView","sendOnlyId","customPaperHeight","DataTable","itemActions","columns","entityName","idField","targetD","elements","customEmptyMessage","sortConfig","currentSort","currentDirection","triggerSort","sortData","newSortDirection","sortBy","setReloadObjectsList","onSelectAll","selectAllItems","rowStyle","_payload$index","noBackground","FilterObjectsSB","SearchBox","setSearchObjects","DeleteMultipleObjects","RewindEnable","baseDnDStyle","outline","activeDnDStyle","acceptDnDStyle","ListObjects","_downloadRenameModal$","location","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","pageTitle","currentPath","i","fileUpload","folderUpload","pathAsResourceInPolicy","allowedFileExtensions","cv","extension","Set","getPolicyAllowedFileExtensions","canDownload","canUpload","canSetAnonymousAccess","S3_GET_BUCKET_POLICY","S3_PUT_BUCKET_POLICY","isSelObjectDelMarker","checkForDelMarker","isObjDelMarker","obj","fetchMetadata","useCallback","encodedPath","resetRewind","setAttribute","isPrefix","getBucketQuota","quotaVals","detailedMessage","setBucketDetailsLoad","setBucketInfo","getBucketRetentionConfig","setRetentionConfig","handleUploadButton","files","newFiles","uploadObject","folderPath","pathPrefix","upload","uploadPromise","Promise","resolve","reject","uploadUrl","blobFile","Blob","filePath","fileWebkitRelativePath","relativeFolderPath","prefixPath","finalFolderPath","pathClean","startsWith","identity","xhr","XMLHttpRequest","setRequestHeader","areMultipleFiles","errorMessages","withCredentials","onload","removeTrace","response","JSON","addEventListener","floor","loaded","total","onerror","onloadend","onabort","formData","FormData","append","storeFormDataWithID","uploadFilePromises","openList","allSettled","results","errors","totalFiles","successUploadedFiles","onDrop","acceptedFiles","newFolderPath","allowedFiles","fileExtn","getRootProps","getInputProps","isDragActive","isDragAccept","useDropzone","noClick","dndStyles","useMemo","forceRefresh","splitURLS","URLItem","createdTime","creation_date","downloadToolTip","AccessRuleIcon","refresh","versioning","rewindCloseModal","closePreviewWindow","closeRenameModal","AddAccessRule","closeAddAccessRule","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","decodedIPaths","setLoadingVersioning","setLoadingLocking","getBucketVersioning","setIsVersioned","getBucketObjectLockingStatus","setLockingEnabled","object_locking_enabled","OBHeader","initialDate","maxDays","entity","selectedDays","setSelectedDays","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","setValidDate","dateSelected","setDateSelected","calculateNewTime","hours","minutes","fromJSDate","plus","formattedDate","valid","extraStyles","paddingLeft","min","max","LinkIcon","shareURL","setShareURL","isLoadingVersion","setIsLoadingVersion","isLoadingFile","setIsLoadingFile","selectedDate","setSelectedDate","dateValid","setDateValid","setVersionID","latestVersion","elem","slDate","currDate","diffDate","ceil","shareObject","DaysSelector","dateChanged","newDate","ReadBox","actionButton","setModalSnackMessage","isFullscreen","loading","setLoading","basename","document","baseURI","replace","window","origin","iframeLoaded","flex","autoPlay","controls","muted","playsInline","onPlay","src","alt","onLoad","InformativeMessage","allowTransparency","wideLimit","ObjectPreviewIcon","PreviewFileContent","WrappedComponent","fallback","props","Suspense","shown","setShown","sm","overlayIcon","readOnly","overlayAction","navigator","clipboard","writeText"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/2977.e75673aa.chunk.js b/portal-ui/build/static/js/2977.e75673aa.chunk.js
deleted file mode 100644
index 281e492e92..0000000000
--- a/portal-ui/build/static/js/2977.e75673aa.chunk.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! For license information please see 2977.e75673aa.chunk.js.LICENSE.txt */
-(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2977],{81694:(t,e)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var t=[],e=0;e(u=(a=Math.ceil(p/v))>u?a+1:u+1)&&(i=u,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for((u=l.length)-(i=s.length)<0&&(i=u,r=s,s=l,l=r),n=0;i;)n=(l[--i]=l[i]+s[i]+n)/y|0,l[i]%=y;for(n&&(l.unshift(n),++o),u=l.length;0==l[--u];)l.pop();return e.d=l,e.e=o,c?T(e,p):e}function w(t,e,n){if(t!==~~t||tn)throw Error(s+t)}function O(t){var e,n,r,o=t.length-1,i="",a=t[0];if(o>0){for(i+=a,e=1;et.e^i.s<0?1:-1;for(e=0,n=(r=i.d.length)<(o=t.d.length)?r:o;et.d[e]^i.s<0?1:-1;return r===o?0:r>o^i.s<0?1:-1},b.decimalPlaces=b.dp=function(){var t=this,e=t.d.length-1,n=(e-t.e)*v;if(e=t.d[e])for(;e%10==0;e/=10)n--;return n<0?0:n},b.dividedBy=b.div=function(t){return j(this,new this.constructor(t))},b.dividedToIntegerBy=b.idiv=function(t){var e=this.constructor;return T(j(this,new e(t),0,1),e.precision)},b.equals=b.eq=function(t){return!this.cmp(t)},b.exponent=function(){return E(this)},b.greaterThan=b.gt=function(t){return this.cmp(t)>0},b.greaterThanOrEqualTo=b.gte=function(t){return this.cmp(t)>=0},b.isInteger=b.isint=function(){return this.e>this.d.length-2},b.isNegative=b.isneg=function(){return this.s<0},b.isPositive=b.ispos=function(){return this.s>0},b.isZero=function(){return 0===this.s},b.lessThan=b.lt=function(t){return this.cmp(t)<0},b.lessThanOrEqualTo=b.lte=function(t){return this.cmp(t)<1},b.logarithm=b.log=function(t){var e,n=this,r=n.constructor,o=r.precision,a=o+5;if(void 0===t)t=new r(10);else if((t=new r(t)).s<1||t.eq(i))throw Error(l+"NaN");if(n.s<1)throw Error(l+(n.s?"NaN":"-Infinity"));return n.eq(i)?new r(0):(c=!1,e=j(k(n,a),k(t,a),a),c=!0,T(e,o))},b.minus=b.sub=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?_(e,t):x(e,(t.s=-t.s,t))},b.modulo=b.mod=function(t){var e,n=this,r=n.constructor,o=r.precision;if(!(t=new r(t)).s)throw Error(l+"NaN");return n.s?(c=!1,e=j(n,t,0,1).times(t),c=!0,n.minus(e)):T(new r(n),o)},b.naturalExponential=b.exp=function(){return S(this)},b.naturalLogarithm=b.ln=function(){return k(this)},b.negated=b.neg=function(){var t=new this.constructor(this);return t.s=-t.s||0,t},b.plus=b.add=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?x(e,t):_(e,(t.s=-t.s,t))},b.precision=b.sd=function(t){var e,n,r,o=this;if(void 0!==t&&t!==!!t&&1!==t&&0!==t)throw Error(s+t);if(e=E(o)+1,n=(r=o.d.length-1)*v+1,r=o.d[r]){for(;r%10==0;r/=10)n--;for(r=o.d[0];r>=10;r/=10)n++}return t&&e>n?e:n},b.squareRoot=b.sqrt=function(){var t,e,n,r,o,i,a,u=this,s=u.constructor;if(u.s<1){if(!u.s)return new s(0);throw Error(l+"NaN")}for(t=E(u),c=!1,0==(o=Math.sqrt(+u))||o==1/0?(((e=O(u.d)).length+t)%2==0&&(e+="0"),o=Math.sqrt(e),t=p((t+1)/2)-(t<0||t%2),r=new s(e=o==1/0?"5e"+t:(e=o.toExponential()).slice(0,e.indexOf("e")+1)+t)):r=new s(o.toString()),o=a=(n=s.precision)+3;;)if(r=(i=r).plus(j(u,i,a+2)).times(.5),O(i.d).slice(0,a)===(e=O(r.d)).slice(0,a)){if(e=e.slice(a-3,a+1),o==a&&"4999"==e){if(T(i,n+1,0),i.times(i).eq(u)){r=i;break}}else if("9999"!=e)break;a+=4}return c=!0,T(r,n)},b.times=b.mul=function(t){var e,n,r,o,i,a,u,l,s,f=this,p=f.constructor,h=f.d,d=(t=new p(t)).d;if(!f.s||!t.s)return new p(0);for(t.s*=f.s,n=f.e+t.e,(l=h.length)<(s=d.length)&&(i=h,h=d,d=i,a=l,l=s,s=a),i=[],r=a=l+s;r--;)i.push(0);for(r=s;--r>=0;){for(e=0,o=l+r;o>r;)u=i[o]+d[r]*h[o-r-1]+e,i[o--]=u%y|0,e=u/y|0;i[o]=(i[o]+e)%y|0}for(;!i[--a];)i.pop();return e?++n:i.shift(),t.d=i,t.e=n,c?T(t,p.precision):t},b.toDecimalPlaces=b.todp=function(t,e){var n=this,r=n.constructor;return n=new r(n),void 0===t?n:(w(t,0,a),void 0===e?e=r.rounding:w(e,0,8),T(n,t+E(n)+1,e))},b.toExponential=function(t,e){var n,r=this,o=r.constructor;return void 0===t?n=C(r,!0):(w(t,0,a),void 0===e?e=o.rounding:w(e,0,8),n=C(r=T(new o(r),t+1,e),!0,t+1)),n},b.toFixed=function(t,e){var n,r,o=this,i=o.constructor;return void 0===t?C(o):(w(t,0,a),void 0===e?e=i.rounding:w(e,0,8),n=C((r=T(new i(o),t+E(o)+1,e)).abs(),!1,t+E(r)+1),o.isneg()&&!o.isZero()?"-"+n:n)},b.toInteger=b.toint=function(){var t=this,e=t.constructor;return T(new e(t),E(t)+1,e.rounding)},b.toNumber=function(){return+this},b.toPower=b.pow=function(t){var e,n,r,o,a,u,s=this,f=s.constructor,h=+(t=new f(t));if(!t.s)return new f(i);if(!(s=new f(s)).s){if(t.s<1)throw Error(l+"Infinity");return s}if(s.eq(i))return s;if(r=f.precision,t.eq(i))return T(s,r);if(u=(e=t.e)>=(n=t.d.length-1),a=s.s,u){if((n=h<0?-h:h)<=m){for(o=new f(i),e=Math.ceil(r/v+4),c=!1;n%2&&N((o=o.times(s)).d,e),0!==(n=p(n/2));)N((s=s.times(s)).d,e);return c=!0,t.s<0?new f(i).div(o):T(o,r)}}else if(a<0)throw Error(l+"NaN");return a=a<0&&1&t.d[Math.max(e,n)]?-1:1,s.s=1,c=!1,o=t.times(k(s,r+12)),c=!0,(o=S(o)).s=a,o},b.toPrecision=function(t,e){var n,r,o=this,i=o.constructor;return void 0===t?r=C(o,(n=E(o))<=i.toExpNeg||n>=i.toExpPos):(w(t,1,a),void 0===e?e=i.rounding:w(e,0,8),r=C(o=T(new i(o),t,e),t<=(n=E(o))||n<=i.toExpNeg,t)),r},b.toSignificantDigits=b.tosd=function(t,e){var n=this.constructor;return void 0===t?(t=n.precision,e=n.rounding):(w(t,1,a),void 0===e?e=n.rounding:w(e,0,8)),T(new n(this),t,e)},b.toString=b.valueOf=b.val=b.toJSON=function(){var t=this,e=E(t),n=t.constructor;return C(t,e<=n.toExpNeg||e>=n.toExpPos)};var j=function(){function t(t,e){var n,r=0,o=t.length;for(t=t.slice();o--;)n=t[o]*e+r,t[o]=n%y|0,r=n/y|0;return r&&t.unshift(r),t}function e(t,e,n,r){var o,i;if(n!=r)i=n>r?1:-1;else for(o=i=0;oe[o]?1:-1;break}return i}function n(t,e,n){for(var r=0;n--;)t[n]-=r,r=t[n]1;)t.shift()}return function(r,o,i,a){var u,c,s,f,p,h,d,m,g,b,x,w,O,j,S,A,P,k,M=r.constructor,_=r.s==o.s?1:-1,C=r.d,N=o.d;if(!r.s)return new M(r);if(!o.s)throw Error(l+"Division by zero");for(c=r.e-o.e,P=N.length,S=C.length,m=(d=new M(_)).d=[],s=0;N[s]==(C[s]||0);)++s;if(N[s]>(C[s]||0)&&--c,(w=null==i?i=M.precision:a?i+(E(r)-E(o))+1:i)<0)return new M(0);if(w=w/v+2|0,s=0,1==P)for(f=0,N=N[0],w++;(s1&&(N=t(N,f),C=t(C,f),P=N.length,S=C.length),j=P,b=(g=C.slice(0,P)).length;b