\ No newline at end of file
diff --git a/portal-ui/build/static/js/1367.0465294b.chunk.js b/portal-ui/build/static/js/1367.0465294b.chunk.js
new file mode 100644
index 000000000..791cc5164
--- /dev/null
+++ b/portal-ui/build/static/js/1367.0465294b.chunk.js
@@ -0,0 +1,2 @@
+(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1367,2691],{92217:function(e,n,t){"use strict";var r=t(1413),i=t(72791),o=t(61889),a=t(30829),c=t(20068),s=t(64554),l=t(11135),d=t(25787),u=t(84570),p=t(23814),f=t(38734),h=t(75952),x=t(78029),m=t.n(x),v=t(90932),Z=t(27454),b=t(80184);n.Z=(0,d.Z)((function(e){return(0,l.Z)((0,r.Z)({},p.YI))}))((function(e){var n=e.value,t=e.label,r=void 0===t?"":t,l=e.tooltip,d=void 0===l?"":l,p=e.mode,x=void 0===p?"json":p,j=e.classes,g=e.onBeforeChange,C=(e.readOnly,e.editorHeight),y=void 0===C?"250px":C;return(0,b.jsxs)(i.Fragment,{children:[(0,b.jsx)(o.ZP,{item:!0,xs:12,sx:{marginBottom:"10px"},children:(0,b.jsxs)(a.Z,{className:j.inputLabel,children:[(0,b.jsx)("span",{children:r}),""!==d&&(0,b.jsx)("div",{className:j.tooltipContainer,children:(0,b.jsx)(c.Z,{title:d,placement:"top-start",children:(0,b.jsx)("div",{className:j.tooltip,children:(0,b.jsx)(u.Z,{})})})})]})}),(0,b.jsx)(o.ZP,{item:!0,xs:12,style:{maxHeight:y,overflow:"auto",border:"1px solid #eaeaea"},children:(0,b.jsx)(v.Z,{value:n,language:x,onChange:function(e){g(null,null,e.target.value)},id:"code_wrapper",padding:15,style:{fontSize:12,backgroundColor:"#fefefe",fontFamily:"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace",minHeight:y||"initial",color:"#000000"}})}),(0,b.jsx)(o.ZP,{item:!0,xs:12,sx:{background:"#f7f7f7",border:"1px solid #eaeaea",borderTop:0},children:(0,b.jsx)(s.Z,{sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}}},children:(0,b.jsx)(Z.Z,{tooltip:"Copy to Clipboard",children:(0,b.jsx)(m(),{text:n,children:(0,b.jsx)(h.z,{type:"button",id:"copy-code-mirror",icon:(0,b.jsx)(f.TIy,{}),color:"primary",variant:"regular"})})})})})]})}))},59114:function(e,n,t){"use strict";var r=t(4942),i=t(1413),o=(t(72791),t(63466)),a=t(74900),c=t(27391),s=t(25787),l=t(11135),d=t(23814),u=t(80184);n.Z=(0,s.Z)((function(e){return(0,l.Z)({searchField:(0,i.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,i=e.classes,s=e.onChange,l=e.adornmentPosition,d=void 0===l?"end":l,p=e.overrideClass,f=e.value,h=(0,r.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(o.Z,{position:d,className:i.adornment,children:(0,u.jsx)(a.Z,{})}));return(0,u.jsx)(c.Z,{placeholder:t,className:p||i.searchField,id:"search-resource",label:"",InputProps:h,onChange:function(e){s(e.target.value)},variant:"standard",value:f})}))},27454:function(e,n,t){"use strict";var r=t(1413),i=t(72791),o=t(20068),a=t(80184);n.Z=function(e){var n=e.tooltip,t=e.children,c=e.errorProps,s=void 0===c?null:c;return(0,a.jsx)(o.Z,{title:n,children:(0,a.jsx)("span",{children:s?(0,i.cloneElement)(t,(0,r.Z)({},s)):t})})}},50276:function(e,n,t){"use strict";var r=t(1413),i=t(29439),o=t(72791),a=t(64554),c=t(43896),s=t(83449),l=t(47283),d=t(82851),u=t(25787),p=t(13967),f=t(11135),h=t(95193),x=t(16871),m=t(80184),v={minHeight:60};n.Z=(0,u.Z)((function(e){return(0,f.Z)({tabsContainer:{display:"flex",height:"100%",width:"100%"},tabsHeaderContainer:{width:"300px",background:"#F8F8F8",borderRight:"1px solid #EAEAEA","& .MuiTabs-root":{"& .MuiTabs-indicator":{display:"none"},"& .MuiTab-root":{display:"flex",flexFlow:"row",alignItems:"center",justifyContent:"flex-start",borderBottom:"1px solid #EAEAEA","& .MuiSvgIcon-root":{marginRight:8,marginBottom:0},"&.Mui-selected":{background:"#E5E5E5",fontWeight:600}},"&. MuiTabs-scroller":{display:"none"}}},tabContentContainer:{width:"100%","& .MuiTabPanel-root":{height:"100%"}},tabPanel:{height:"100%"},"@media (max-width: 900px)":{tabsContainer:{flexFlow:"column",flexDirection:"column"},tabsHeaderContainer:{width:"100%",borderBottom:" 1px solid #EAEAEA","& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root":{borderBottom:" 0px"}}}})}))((function(e){var n=e.children,t=e.classes,u=e.selectedTab,f=void 0===u?"0":u,Z=e.routes,b=e.isRouteTabs,j=(0,p.Z)(),g=(0,x.TH)().pathname,C=void 0===g?"":g,y=(0,h.Z)(j.breakpoints.down("md")),E=(0,o.useState)(f),P=(0,i.Z)(E,2),S=P[0],w=P[1],N=[],M=[];if((0,o.useEffect)((function(){if(b){var e=n.find((function(e){return e.tabConfig.to===C}));e&&w(e.tabConfig.value)}}),[b,n,C]),!n)return null;n.forEach((function(e){N.push(e.tabConfig),M.push(e.content)}));return(0,m.jsx)(s.ZP,{value:"".concat(S),children:(0,m.jsxs)(a.Z,{className:t.tabsContainer,children:[(0,m.jsx)(a.Z,{className:t.tabsHeaderContainer,children:(0,m.jsx)(l.Z,{onChange:function(e,n){w(n)},orientation:y?"horizontal":"vertical",variant:y?"scrollable":"standard",scrollButtons:"auto",className:t.tabList,children:N.map((function(e,n){return e?(0,m.jsx)(c.Z,(0,r.Z)((0,r.Z)({className:t.tabHeader,value:"".concat(n),style:v},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(n)):null}))})}),(0,m.jsxs)(a.Z,{className:t.tabContentContainer,children:[b?null:M.map((function(e,n){return(0,m.jsx)(d.Z,{classes:(0,r.Z)({},t.tabPanel),value:"".concat(n),children:e||null},"v-tab-p-".concat(n))})),b?(0,m.jsx)("div",{className:t.tabPanel,children:Z}):null]})]})})}))},879:function(e,n,t){"use strict";t.d(n,{D_:function(){return a},Et:function(){return i},GJ:function(){return o},yh:function(){return r}});var r={RED:"#C83B51",GREEN:"#4CCB92",YELLOW:"#E7A219"},i=function(e,n){return e<=n/2?r.RED:2!==n&&e===n/2+1?r.YELLOW:e===n?r.GREEN:void 0},o=function(e){switch(e){case"offline":return r.RED;case"online":return r.GREEN;default:return r.YELLOW}},a=function(e,n){return e<=n/2?r.RED:e===n/2+1?r.YELLOW:e===n?r.GREEN:void 0}},1191:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return W}});var r=t(29439),i=t(1413),o=t(72791),a=t(60364),c=t(16871),s=t(75952),l=t(11135),d=t(25787),u=t(23814),p=t(10703),f=t(61889),h=t(40986),x=t(92983),m=t(81207),v=t(32291),Z=t(92217),b=t(63466),j=t(27391),g=t(14917),C=t(64244),y=t(28789),E=t(74900),P=t(54599),S=t(74794),w=t(50276),N=t(84669),M=t(56087),T=t(38442),F=t(75578),R=t(64554),A=t(59114),I=t(38734),L=t(879),k=t(80184),O={display:"grid",gridTemplateColumns:"60px 1fr",gap:"15px"},D=function(e){var n=e.search,t=void 0===n?"":n,r=e.children,i=void 0===r?"":r,o=new RegExp("(".concat(function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}(t),")"),"i"),a=String(i).split(o);return t?a.map((function(e,n){return o.test(e)?(0,k.jsx)("mark",{children:e},n):e})):i},z=(0,d.Z)((function(e){return(0,l.Z)({searchField:(0,i.Z)((0,i.Z)({},u.qg.searchField),{},{maxWidth:380})})}))((function(e){var n=e.policyStatements,t=e.classes,i=void 0===t?{}:t,a=(0,o.useState)(""),c=(0,r.Z)(a,2),s=c[0],l=c[1];return(0,k.jsxs)(f.ZP,{container:!0,children:[(0,k.jsx)(f.ZP,{item:!0,xs:12,children:(0,k.jsxs)(R.Z,{sx:{display:"grid",gridTemplateColumns:{sm:"1fr 1fr",xs:"1fr"},alignItems:"center",justifyContent:"space-between",gap:"15px"},children:[(0,k.jsx)(R.Z,{children:"Statements"}),(0,k.jsx)(A.Z,{placeholder:"Search",onChange:l,overrideClass:i.searchField,value:s})]})}),(0,k.jsx)(f.ZP,{item:!0,xs:12,sx:{"& .policy-row":{borderBottom:"1px solid #eaeaea"},"& .policy-row:first-child":{borderTop:"1px solid #eaeaea"},"& .policy-row:last-child":{borderBottom:"0px"},paddingTop:"15px","& mark":{color:"#000000",fontWeight:500}},children:n.map((function(e,n){var t=e.Effect,r="Allow"===t;return(0,k.jsxs)(R.Z,{className:"policy-row",sx:{display:"grid",gridTemplateColumns:"1fr",gap:"15px",fontSize:"14px",padding:"10px 0 10px 0","& .label":{fontWeight:600}},children:[(0,k.jsxs)(R.Z,{sx:O,children:[(0,k.jsx)(R.Z,{className:"label",children:"Effect:"}),(0,k.jsxs)(R.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{marginRight:"5px",fill:r?L.yh.GREEN:L.yh.RED,height:"14px",width:"14px"}},children:[r?(0,k.jsx)(I.E31,{}):(0,k.jsx)(I.dRf,{}),t]})]}),(0,k.jsxs)(R.Z,{sx:{display:"grid",gridTemplateColumns:{sm:"1fr 1fr",xs:"1fr"},gap:"15px"},children:[(0,k.jsxs)(R.Z,{sx:O,children:[(0,k.jsx)(R.Z,{className:"label",children:"Actions:"}),(0,k.jsx)(R.Z,{children:e.Action&&e.Action.map((function(e,t){return(0,k.jsx)("div",{children:(0,k.jsx)(D,{search:s,children:e})},"".concat(n,"-r-").concat(t))}))})]}),(0,k.jsxs)(R.Z,{sx:O,children:[(0,k.jsx)(R.Z,{className:"label",children:"Resources:"}),(0,k.jsx)(R.Z,{children:e.Resource&&e.Resource.map((function(e,t){return(0,k.jsxs)("div",{children:[" ",(0,k.jsx)(D,{search:s,children:e})]},"".concat(n,"-r-").concat(t))}))})]})]})]},"".concat(n))}))})]})})),_=t(45248),B=t(87995),G=t(46078),U=t(25469),H=t(27454),V=(0,F.Z)(o.lazy((function(){return t.e(312).then(t.bind(t,312))}))),W=(0,d.Z)((function(e){return(0,l.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({buttonContainer:{display:"flex",justifyContent:"flex-end",paddingTop:16,"& button":{marginLeft:8}},pageContainer:{border:"1px solid #EAEAEA",height:"100%"},paperContainer:{padding:"15px 15px 15px 50px",minHeight:"450px"},statement:{border:"1px solid #DADADA",padding:8,marginBottom:8,borderRadius:4},labelCol:{fontWeight:"bold"}},u.OR),u.qg),u.oO),(0,u.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=(0,U.TL)(),i=(0,c.s0)(),l=(0,c.UO)(),d=(0,a.v9)(G.$4),u=(0,o.useState)(null),F=(0,r.Z)(u,2),R=F[0],A=F[1],I=(0,o.useState)([]),L=(0,r.Z)(I,2),O=L[0],D=L[1],W=(0,o.useState)([]),Y=(0,r.Z)(W,2),q=Y[0],J=Y[1],Q=(0,o.useState)([]),$=(0,r.Z)(Q,2),K=$[0],X=$[1],ee=(0,o.useState)(!1),ne=(0,r.Z)(ee,2),te=ne[0],re=ne[1],ie=(0,_.IO)(l.policyName||""),oe=(0,o.useState)(""),ae=(0,r.Z)(oe,2),ce=ae[0],se=ae[1],le=(0,o.useState)(!0),de=(0,r.Z)(le,2),ue=de[0],pe=de[1],fe=(0,o.useState)(""),he=(0,r.Z)(fe,2),xe=he[0],me=he[1],ve=(0,o.useState)(!0),Ze=(0,r.Z)(ve,2),be=Ze[0],je=Ze[1],ge=(0,o.useState)(""),Ce=(0,r.Z)(ge,2),ye=Ce[0],Ee=Ce[1],Pe=(0,o.useState)(!0),Se=(0,r.Z)(Pe,2),we=Se[0],Ne=Se[1],Me=(0,o.useState)(!1),Te=(0,r.Z)(Me,2),Fe=Te[0],Re=Te[1],Ae=d&&d.includes("ldap-idp")||!1,Ie=(0,T.F)(M.C3,[M.Ft.ADMIN_LIST_GROUPS,M.Ft.ADMIN_GET_GROUP],!0),Le=(0,T.F)(M.C3,[M.Ft.ADMIN_GET_GROUP]),ke=(0,T.F)(M.C3,[M.Ft.ADMIN_LIST_GROUPS]),Oe=(0,T.F)(M.C3,[M.Ft.ADMIN_GET_USER]),De=(0,T.F)(M.C3,[M.Ft.ADMIN_GET_POLICY]),ze=(0,T.F)(M.C3,[M.Ft.ADMIN_CREATE_POLICY]);(0,o.useEffect)((function(){ue&&(ue&&(De?m.Z.invoke("GET","/api/v1/policy/".concat((0,_.LL)(ie))).then((function(e){if(e){A(e),se(e?JSON.stringify(JSON.parse(e.policy),null,4):"");var n=JSON.parse(e.policy);D(n.Statement)}pe(!1)})).catch((function(e){t((0,B.Ih)(e)),pe(!1)})):pe(!1)),be&&(ke&&!Ae?m.Z.invoke("GET","/api/v1/policies/".concat((0,_.LL)(ie),"/users")).then((function(e){J(e),je(!1)})).catch((function(e){t((0,B.Ih)(e)),je(!1)})):je(!1)),we&&(Ie&&!Ae?m.Z.invoke("GET","/api/v1/policies/".concat((0,_.LL)(ie),"/groups")).then((function(e){X(e),Ne(!1)})).catch((function(e){t((0,B.Ih)(e)),Ne(!1)})):Ne(!1)))}),[ie,ue,be,we,J,X,se,A,je,Ne,ke,Ie,De,Ae,t]);var _e=""!==ie.trim(),Be=[{type:"view",onClick:function(e){i("".concat(M.gA.USERS,"/").concat((0,_.LL)(e)))},disableButtonFunction:function(){return!Oe}}],Ge=q.filter((function(e){return e.includes(xe)})),Ue=[{type:"view",onClick:function(e){i("".concat(M.gA.GROUPS,"/").concat((0,_.LL)(e)))},disableButtonFunction:function(){return!Le}}],He=K.filter((function(e){return e.includes(ye)}));return(0,k.jsxs)(o.Fragment,{children:[Fe&&(0,k.jsx)(V,{deleteOpen:Fe,selectedPolicy:ie,closeDeleteModalAndRefresh:function(e){Re(!1),i(M.gA.POLICIES)}}),(0,k.jsx)(v.Z,{label:(0,k.jsx)(o.Fragment,{children:(0,k.jsx)(N.Z,{to:M.gA.POLICIES,label:"Policy"})})}),(0,k.jsxs)(S.Z,{className:n.pageContainer,children:[(0,k.jsx)(f.ZP,{item:!0,xs:12,children:(0,k.jsx)(g.Z,{icon:(0,k.jsx)(o.Fragment,{children:(0,k.jsx)(C.Z,{width:40})}),title:ie,subTitle:(0,k.jsx)(o.Fragment,{children:"IAM Policy"}),actions:(0,k.jsxs)(o.Fragment,{children:[(0,k.jsx)(T.s,{scopes:[M.Ft.ADMIN_DELETE_POLICY],resource:M.C3,errorProps:{disabled:!0},children:(0,k.jsx)(H.Z,{tooltip:"Delete Policy",children:(0,k.jsx)(s.z,{id:"delete-policy",label:"Delete Policy",variant:"secondary",icon:(0,k.jsx)(P.Z,{}),onClick:function(){Re(!0)}})})}),(0,k.jsx)(H.Z,{tooltip:"Refresh",children:(0,k.jsx)(s.z,{id:"refresh-policy",label:"Refresh",variant:"regular",icon:(0,k.jsx)(y.default,{}),onClick:function(){je(!0),Ne(!0),pe(!0)}})})]})})}),(0,k.jsxs)(w.Z,{children:[{tabConfig:{label:"Summary",disabled:!De},content:(0,k.jsxs)(o.Fragment,{children:[(0,k.jsx)("div",{className:n.sectionTitle,children:"Policy Summary"}),(0,k.jsx)(p.Z,{className:n.paperContainer,children:(0,k.jsx)(z,{policyStatements:O})})]})},{tabConfig:{label:"Users",disabled:!ke||Ae},content:(0,k.jsxs)(o.Fragment,{children:[(0,k.jsx)("div",{className:n.sectionTitle,children:"Users"}),(0,k.jsxs)(f.ZP,{container:!0,children:[(0,k.jsx)(f.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,k.jsx)(j.Z,{placeholder:"Search Users",className:n.searchField,id:"search-resource",label:"",onChange:function(e){me(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,k.jsx)(b.Z,{position:"start",children:(0,k.jsx)(E.Z,{})})},variant:"standard"})}),(0,k.jsx)(x.Z,{itemActions:Be,columns:[{label:"Name",elementKey:"name"}],isLoading:be,records:Ge,entityName:"Users",idField:"name"})]})]})},{tabConfig:{label:"Groups",disabled:!Ie||Ae},content:(0,k.jsxs)(o.Fragment,{children:[(0,k.jsx)("div",{className:n.sectionTitle,children:"Groups"}),(0,k.jsxs)(f.ZP,{container:!0,children:[(0,k.jsx)(f.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,k.jsx)(j.Z,{placeholder:"Search Groups",className:n.searchField,id:"search-resource",label:"",onChange:function(e){Ee(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,k.jsx)(b.Z,{position:"start",children:(0,k.jsx)(E.Z,{})})},variant:"standard"})}),(0,k.jsx)(x.Z,{itemActions:Ue,columns:[{label:"Name",elementKey:"name"}],isLoading:we,records:He,entityName:"Groups",idField:"name"})]})]})},{tabConfig:{label:"Raw Policy",disabled:!De},content:(0,k.jsxs)(o.Fragment,{children:[(0,k.jsx)("div",{className:n.sectionTitle,children:"Raw Policy"}),(0,k.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),te||(re(!0),ze?m.Z.invoke("POST","/api/v1/policies",{name:ie,policy:ce}).then((function(e){re(!1),t((0,B.y1)("Policy successfully updated"))})).catch((function(e){re(!1),t((0,B.Ih)(e))})):re(!1))},children:(0,k.jsxs)(f.ZP,{container:!0,children:[(0,k.jsx)(f.ZP,{item:!0,xs:12,children:(0,k.jsx)(Z.Z,{readOnly:!ze,value:ce,onBeforeChange:function(e,n,t){se(t)},editorHeight:"350px"})}),(0,k.jsxs)(f.ZP,{item:!0,xs:12,className:n.buttonContainer,children:[!R&&(0,k.jsx)("button",{type:"button",color:"primary",className:n.clearButton,onClick:function(){se("{}")},children:"Clear"}),(0,k.jsx)(T.s,{scopes:[M.Ft.ADMIN_CREATE_POLICY],resource:M.C3,errorProps:{disabled:!0},children:(0,k.jsx)(s.z,{id:"save",type:"submit",variant:"callAction",color:"primary",disabled:te||!_e,label:"Save"})})]}),te&&(0,k.jsx)(f.ZP,{item:!0,xs:12,children:(0,k.jsx)(h.Z,{})})]})})]})}]})]})]})}))},26759:function(e,n,t){"use strict";var r=t(64836);n.Z=void 0;var i=r(t(45649)),o=t(80184),a=(0,i.default)((0,o.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");n.Z=a},70366:function(e,n,t){"use strict";var r=t(64836);n.Z=void 0;var i=r(t(45649)),o=t(80184),a=(0,i.default)((0,o.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");n.Z=a},97911:function(e,n,t){"use strict";var r=t(64836);n.Z=void 0;var i=r(t(45649)),o=t(80184),a=(0,i.default)((0,o.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");n.Z=a},83449:function(e,n,t){"use strict";t.d(n,{ZP:function(){return c},_i:function(){return s},pQ:function(){return d},uU:function(){return l}});var r=t(29439),i=t(72791),o=t(80184),a=i.createContext(null);function c(e){var n=e.children,t=e.value,c=function(){var e=i.useState(null),n=(0,r.Z)(e,2),t=n[0],o=n[1];return i.useEffect((function(){o("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),t}(),s=i.useMemo((function(){return{idPrefix:c,value:t}}),[c,t]);return(0,o.jsx)(a.Provider,{value:s,children:n})}function s(){return i.useContext(a)}function l(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(n)}function d(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(n)}},47283:function(e,n,t){"use strict";var r=t(87462),i=t(63366),o=t(72791),a=t(18073),c=t(83449),s=t(80184),l=["children"],d=o.forwardRef((function(e,n){var t=e.children,d=(0,i.Z)(e,l),u=(0,c._i)();if(null===u)throw new TypeError("No TabContext provided");var p=o.Children.map(t,(function(e){return o.isValidElement(e)?o.cloneElement(e,{"aria-controls":(0,c.uU)(u,e.props.value),id:(0,c.pQ)(u,e.props.value)}):null}));return(0,s.jsx)(a.Z,(0,r.Z)({},d,{ref:n,value:u.value,children:p}))}));n.Z=d},82851:function(e,n,t){"use strict";t.d(n,{Z:function(){return m}});var r=t(87462),i=t(63366),o=t(72791),a=t(28182),c=t(66934),s=t(31402),l=t(94419),d=t(21217);function u(e){return(0,d.Z)("MuiTabPanel",e)}(0,t(75878).Z)("MuiTabPanel",["root"]);var p=t(83449),f=t(80184),h=["children","className","value"],x=(0,c.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,n){return n.root}})((function(e){return{padding:e.theme.spacing(3)}})),m=o.forwardRef((function(e,n){var t=(0,s.Z)({props:e,name:"MuiTabPanel"}),o=t.children,c=t.className,d=t.value,m=(0,i.Z)(t,h),v=(0,r.Z)({},t),Z=function(e){var n=e.classes;return(0,l.Z)({root:["root"]},u,n)}(v),b=(0,p._i)();if(null===b)throw new TypeError("No TabContext provided");var j=(0,p.uU)(b,d),g=(0,p.pQ)(b,d);return(0,f.jsx)(x,(0,r.Z)({"aria-labelledby":g,className:(0,a.Z)(Z.root,c),hidden:d!==b.value,id:j,ref:n,role:"tabpanel",ownerState:v},m,{children:d===b.value&&o}))}))},94454:function(e,n,t){"use strict";t.d(n,{Z:function(){return S}});var r=t(4942),i=t(63366),o=t(87462),a=t(72791),c=t(94419),s=t(12065),l=t(97278),d=t(76189),u=t(80184),p=(0,d.Z)((0,u.jsx)("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),f=(0,d.Z)((0,u.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),h=(0,d.Z)((0,u.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox"),x=t(14036),m=t(31402),v=t(66934),Z=t(21217);function b(e){return(0,Z.Z)("MuiCheckbox",e)}var j=(0,t(75878).Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),g=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size"],C=(0,v.ZP)(l.Z,{shouldForwardProp:function(e){return(0,v.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,t.indeterminate&&n.indeterminate,"default"!==t.color&&n["color".concat((0,x.Z)(t.color))]]}})((function(e){var n,t=e.theme,i=e.ownerState;return(0,o.Z)({color:(t.vars||t).palette.text.secondary},!i.disableRipple&&{"&:hover":{backgroundColor:t.vars?"rgba(".concat("default"===i.color?t.vars.palette.action.activeChannel:t.vars.palette.primary.mainChannel," / ").concat(t.vars.palette.action.hoverOpacity,")"):(0,s.Fq)("default"===i.color?t.palette.action.active:t.palette[i.color].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==i.color&&(n={},(0,r.Z)(n,"&.".concat(j.checked,", &.").concat(j.indeterminate),{color:(t.vars||t).palette[i.color].main}),(0,r.Z)(n,"&.".concat(j.disabled),{color:(t.vars||t).palette.action.disabled}),n))})),y=(0,u.jsx)(f,{}),E=(0,u.jsx)(p,{}),P=(0,u.jsx)(h,{}),S=a.forwardRef((function(e,n){var t,r,s=(0,m.Z)({props:e,name:"MuiCheckbox"}),l=s.checkedIcon,d=void 0===l?y:l,p=s.color,f=void 0===p?"primary":p,h=s.icon,v=void 0===h?E:h,Z=s.indeterminate,j=void 0!==Z&&Z,S=s.indeterminateIcon,w=void 0===S?P:S,N=s.inputProps,M=s.size,T=void 0===M?"medium":M,F=(0,i.Z)(s,g),R=j?w:v,A=j?w:d,I=(0,o.Z)({},s,{color:f,indeterminate:j,size:T}),L=function(e){var n=e.classes,t=e.indeterminate,r=e.color,i={root:["root",t&&"indeterminate","color".concat((0,x.Z)(r))]},a=(0,c.Z)(i,b,n);return(0,o.Z)({},n,a)}(I);return(0,u.jsx)(C,(0,o.Z)({type:"checkbox",inputProps:(0,o.Z)({"data-indeterminate":j},N),icon:a.cloneElement(R,{fontSize:null!=(t=R.props.fontSize)?t:T}),checkedIcon:a.cloneElement(A,{fontSize:null!=(r=A.props.fontSize)?r:T}),ownerState:I,ref:n},F,{classes:L}))}))},95193:function(e,n,t){"use strict";var r;t.d(n,{Z:function(){return p}});var i=t(29439),o=t(72791),a=t(69120),c=t(33073),s=t(40162);function l(e,n,t,r,a){var c="undefined"!==typeof window&&"undefined"!==typeof window.matchMedia,l=o.useState((function(){return a&&c?t(e).matches:r?r(e).matches:n})),d=(0,i.Z)(l,2),u=d[0],p=d[1];return(0,s.Z)((function(){var n=!0;if(c){var r=t(e),i=function(){n&&p(r.matches)};return i(),r.addListener(i),function(){n=!1,r.removeListener(i)}}}),[e,t,c]),u}var d=(r||(r=t.t(o,2))).useSyncExternalStore;function u(e,n,t,r){var a=o.useCallback((function(){return n}),[n]),c=o.useMemo((function(){if(null!==r){var n=r(e).matches;return function(){return n}}return a}),[a,e,r]),s=o.useMemo((function(){if(null===t)return[a,function(){return function(){}}];var n=t(e);return[function(){return n.matches},function(e){return n.addListener(e),function(){n.removeListener(e)}}]}),[a,t,e]),l=(0,i.Z)(s,2),u=l[0],p=l[1];return d(p,u,c)}function p(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=(0,a.Z)(),r="undefined"!==typeof window&&"undefined"!==typeof window.matchMedia,i=(0,c.Z)({name:"MuiUseMediaQuery",props:n,theme:t}),o=i.defaultMatches,s=void 0!==o&&o,p=i.matchMedia,f=void 0===p?r?window.matchMedia:null:p,h=i.ssrMatchMedia,x=void 0===h?null:h,m=i.noSsr;var v="function"===typeof e?e(t):e;v=v.replace(/^@media( ?)/m,"");var Z=void 0!==d?u:l,b=Z(v,s,f,x,m);return b}},26769:function(e,n,t){var r=t(39066),i=t(93629),o=t(43141);e.exports=function(e){return"string"==typeof e||!i(e)&&o(e)&&"[object String]"==r(e)}}}]);
+//# sourceMappingURL=1367.0465294b.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1367.0465294b.chunk.js.map b/portal-ui/build/static/js/1367.0465294b.chunk.js.map
new file mode 100644
index 000000000..2cb16ed43
--- /dev/null
+++ b/portal-ui/build/static/js/1367.0465294b.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/1367.0465294b.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Common/TooltipWrapper/TooltipWrapper.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","screens/Console/Dashboard/BasicDashboard/Utils.tsx","screens/Console/Policies/PolicyView.tsx","screens/Console/Policies/PolicyDetails.tsx","../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/ViewColumn.js","../node_modules/@mui/lab/TabContext/TabContext.js","../node_modules/@mui/lab/TabList/TabList.js","../node_modules/@mui/lab/TabPanel/tabPanelClasses.js","../node_modules/@mui/lab/TabPanel/TabPanel.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/@mui/material/useMediaQuery/useMediaQuery.js","../node_modules/lodash/isString.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon } from \"../../../../../icons\";\nimport { Button } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport CodeEditor from \"@uiw/react-textarea-code-editor\";\nimport TooltipWrapper from \"../../TooltipWrapper/TooltipWrapper\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n });\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n \n
\n )}\n \n \n\n \n {\n onBeforeChange(null, null, evn.target.value);\n }}\n id={\"code_wrapper\"}\n padding={15}\n style={{\n fontSize: 12,\n backgroundColor: \"#fefefe\",\n fontFamily:\n \"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace\",\n minHeight: editorHeight || \"initial\",\n color: \"#000000\",\n }}\n />\n \n \n \n \n \n }\n color={\"primary\"}\n variant={\"regular\"}\n />\n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { cloneElement } from \"react\";\nimport { Tooltip } from \"@mui/material\";\n\ninterface ITooltipWrapperProps {\n tooltip: string;\n children: any;\n errorProps?: any;\n}\n\nconst TooltipWrapper = ({\n tooltip,\n children,\n errorProps = null,\n}: ITooltipWrapperProps) => {\n return (\n \n \n {errorProps ? cloneElement(children, { ...errorProps }) : children}\n \n \n );\n};\n\nexport default TooltipWrapper;\n","import React, { useState, useEffect } from \"react\";\nimport { Box, Tab, TabProps } from \"@mui/material\";\nimport { TabContext, TabList, TabPanel } from \"@mui/lab\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme, useTheme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport { useLocation } from \"react-router-dom\";\n\nexport type TabItemProps = {\n tabConfig: TabProps | any;\n content?: JSX.Element | JSX.Element[];\n};\n\ntype VerticalTabsProps = {\n classes: any;\n children: TabItemProps[];\n selectedTab?: string;\n routes?: any;\n isRouteTabs?: boolean;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n tabsContainer: {\n display: \"flex\",\n height: \"100%\",\n width: \"100%\",\n },\n tabsHeaderContainer: {\n width: \"300px\",\n background: \"#F8F8F8\",\n borderRight: \"1px solid #EAEAEA\",\n \"& .MuiTabs-root\": {\n \"& .MuiTabs-indicator\": {\n display: \"none\",\n },\n \"& .MuiTab-root\": {\n display: \"flex\",\n flexFlow: \"row\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n borderBottom: \"1px solid #EAEAEA\",\n \"& .MuiSvgIcon-root\": {\n marginRight: 8,\n marginBottom: 0,\n },\n \"&.Mui-selected\": {\n background: \"#E5E5E5\",\n fontWeight: 600,\n },\n },\n\n \"&. MuiTabs-scroller\": {\n display: \"none\",\n },\n },\n },\n tabContentContainer: {\n width: \"100%\",\n \"& .MuiTabPanel-root\": {\n height: \"100%\",\n },\n },\n tabPanel: {\n height: \"100%\",\n },\n /*Below md breakpoint make it horizontal and style it for scrolling tabs*/\n \"@media (max-width: 900px)\": {\n tabsContainer: {\n flexFlow: \"column\",\n flexDirection: \"column\",\n },\n tabsHeaderContainer: {\n width: \"100%\",\n borderBottom: \" 1px solid #EAEAEA\",\n \"& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root\": {\n borderBottom: \" 0px\",\n },\n },\n },\n });\n\nconst tabStripStyle = {\n minHeight: 60,\n};\n\nconst VerticalTabs = ({\n children,\n classes,\n selectedTab = \"0\",\n routes,\n isRouteTabs,\n}: VerticalTabsProps) => {\n const theme = useTheme();\n const { pathname = \"\" } = useLocation();\n\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const [value, setValue] = useState(selectedTab);\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n useEffect(() => {\n if (isRouteTabs) {\n const tabConfigElement = children.find(\n (item) => item.tabConfig.to === pathname\n );\n\n if (tabConfigElement) {\n setValue(tabConfigElement.tabConfig.value);\n }\n }\n }, [isRouteTabs, children, pathname]);\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\n });\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n return (\n \n \n \n \n {headerList.map((item, index) => {\n if (item) {\n return (\n \n );\n }\n return null;\n })}\n \n \n\n \n {!isRouteTabs\n ? contentList.map((item, index) => {\n return (\n \n {item ? item : null}\n \n );\n })\n : null}\n {isRouteTabs ? (\n
{routes}
\n ) : null}\n \n \n \n );\n};\n\nexport default withStyles(styles)(VerticalTabs);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const STATUS_COLORS = {\n RED: \"#C83B51\",\n GREEN: \"#4CCB92\",\n YELLOW: \"#E7A219\",\n};\n\nexport const getDriveStatusColor = (\n activeDisks: number,\n totalDrives: number\n) => {\n if (activeDisks <= totalDrives / 2) {\n return STATUS_COLORS.RED;\n }\n if (totalDrives !== 2 && activeDisks === totalDrives / 2 + 1) {\n return STATUS_COLORS.YELLOW;\n }\n if (activeDisks === totalDrives) {\n return STATUS_COLORS.GREEN;\n }\n};\n\nexport const serverStatusColor = (health_status: string) => {\n switch (health_status) {\n case \"offline\":\n return STATUS_COLORS.RED;\n case \"online\":\n return STATUS_COLORS.GREEN;\n default:\n return STATUS_COLORS.YELLOW;\n }\n};\nexport const getNetworkStatusColor = (\n activeNetwork: number,\n networkTotal: number\n) => {\n if (activeNetwork <= networkTotal / 2) {\n return STATUS_COLORS.RED;\n }\n if (activeNetwork === networkTotal / 2 + 1) {\n return STATUS_COLORS.YELLOW;\n }\n if (activeNetwork === networkTotal) {\n return STATUS_COLORS.GREEN;\n }\n};\n","// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { IAMStatement } from \"./types\";\nimport { Box } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport SearchBox from \"../Common/SearchBox\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"../Common/FormComponents/common/styleLibrary\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { DisabledIcon, EnabledIcon } from \"../../../icons\";\nimport { STATUS_COLORS } from \"../Dashboard/BasicDashboard/Utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n });\n\nconst rowGridStyle = {\n display: \"grid\",\n gridTemplateColumns: \"60px 1fr\",\n gap: \"15px\",\n};\n\nconst escapeRegExp = (str = \"\") =>\n str.replace(/([.?*+^$[\\]\\\\(){}|-])/g, \"\\\\$1\");\n\nconst Highlight = ({ search = \"\", children = \"\" }): any => {\n const txtParts = new RegExp(`(${escapeRegExp(search)})`, \"i\");\n const parts = String(children).split(txtParts);\n\n if (search) {\n return parts.map((part, index) =>\n txtParts.test(part) ? {part} : part\n );\n } else {\n return children;\n }\n};\n\nconst PolicyView = ({\n policyStatements,\n classes = {},\n}: {\n policyStatements: IAMStatement[];\n classes?: any;\n}) => {\n const [filter, setFilter] = useState(\"\");\n\n return (\n \n \n \n Statements\n \n \n \n \n {policyStatements.map((stmt, i) => {\n const effect = stmt.Effect;\n const isAllow = effect === \"Allow\";\n return (\n \n \n Effect:\n \n {isAllow ? : }\n {effect}\n \n \n\n \n \n Actions:\n \n {stmt.Action &&\n stmt.Action.map((act, actIndex) => (\n
\n \n \n ),\n }}\n \n \n \n );\n};\n\nexport default withStyles(styles)(PolicyDetails);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 10 5 5 5-5z\"\n}), 'ArrowDropDown');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 14 5-5 5 5z\"\n}), 'ArrowDropUp');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z\"\n}), 'ViewColumn');\n\nexports.default = _default;","import * as React from 'react';\nimport PropTypes from 'prop-types';\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\n\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\n\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The value of the currently selected `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\n/**\n * @returns {unknown}\n */\n\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-T-${value}`;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\n\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props);\n\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'CheckBoxOutlineBlank');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckBox');","import * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n/**\n * @ignore - internal component.\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"\n}), 'IndeterminateCheckBox');","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getCheckboxUtilityClass(slot) {\n return generateUtilityClass('MuiCheckbox', slot);\n}\nconst checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary']);\nexport default checkboxClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checkedIcon\", \"color\", \"icon\", \"indeterminate\", \"indeterminateIcon\", \"inputProps\", \"size\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport SwitchBase from '../internal/SwitchBase';\nimport CheckBoxOutlineBlankIcon from '../internal/svg-icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '../internal/svg-icons/CheckBox';\nimport IndeterminateCheckBoxIcon from '../internal/svg-icons/IndeterminateCheckBox';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport checkboxClasses, { getCheckboxUtilityClass } from './checkboxClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n indeterminate,\n color\n } = ownerState;\n const slots = {\n root: ['root', indeterminate && 'indeterminate', `color${capitalize(color)}`]\n };\n const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst CheckboxRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiCheckbox',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.indeterminate && styles.indeterminate, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${ownerState.color === 'default' ? theme.vars.palette.action.activeChannel : theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(ownerState.color === 'default' ? theme.palette.action.active : theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${checkboxClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n}));\n\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\n\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\n\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\n\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n var _icon$props$fontSize, _indeterminateIcon$pr;\n\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCheckbox'\n });\n\n const {\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon: iconProp = defaultIcon,\n indeterminate = false,\n indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,\n inputProps,\n size = 'medium'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n\n const ownerState = _extends({}, props, {\n color,\n indeterminate,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CheckboxRoot, _extends({\n type: \"checkbox\",\n inputProps: _extends({\n 'data-indeterminate': indeterminate\n }, inputProps),\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: (_icon$props$fontSize = icon.props.fontSize) != null ? _icon$props$fontSize : size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(indeterminateIcon, {\n fontSize: (_indeterminateIcon$pr = indeterminateIcon.props.fontSize) != null ? _indeterminateIcon$pr : size\n }),\n ownerState: ownerState,\n ref: ref\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n * @default \n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * The icon to display when the component is unchecked.\n * @default \n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the component appears indeterminate.\n * This does not set the native input element to indeterminate due\n * to inconsistent behavior across browsers.\n * However, we set a `data-indeterminate` attribute on the `input`.\n * @default false\n */\n indeterminate: PropTypes.bool,\n\n /**\n * The icon to display when the component is indeterminate.\n * @default \n */\n indeterminateIcon: PropTypes.node,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense checkbox styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Checkbox;","import * as React from 'react';\nimport { getThemeProps, useThemeWithoutDefault as useTheme } from '@mui/system';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\n/**\n * @deprecated Not used internally. Use `MediaQueryListEvent` from lib.dom.d.ts instead.\n */\n\nfunction useMediaQueryOld(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr) {\n const supportMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined';\n const [match, setMatch] = React.useState(() => {\n if (noSsr && supportMatchMedia) {\n return matchMedia(query).matches;\n }\n\n if (ssrMatchMedia) {\n return ssrMatchMedia(query).matches;\n } // Once the component is mounted, we rely on the\n // event listeners to return the correct matches value.\n\n\n return defaultMatches;\n });\n useEnhancedEffect(() => {\n let active = true;\n\n if (!supportMatchMedia) {\n return undefined;\n }\n\n const queryList = matchMedia(query);\n\n const updateMatch = () => {\n // Workaround Safari wrong implementation of matchMedia\n // TODO can we remove it?\n // https://github.com/mui/material-ui/pull/17315#issuecomment-528286677\n if (active) {\n setMatch(queryList.matches);\n }\n };\n\n updateMatch(); // TODO: Use `addEventListener` once support for Safari < 14 is dropped\n\n queryList.addListener(updateMatch);\n return () => {\n active = false;\n queryList.removeListener(updateMatch);\n };\n }, [query, matchMedia, supportMatchMedia]);\n return match;\n} // eslint-disable-next-line no-useless-concat -- Workaround for https://github.com/webpack/webpack/issues/14814\n\n\nconst maybeReactUseSyncExternalStore = React['useSyncExternalStore' + ''];\n\nfunction useMediaQueryNew(query, defaultMatches, matchMedia, ssrMatchMedia) {\n const getDefaultSnapshot = React.useCallback(() => defaultMatches, [defaultMatches]);\n const getServerSnapshot = React.useMemo(() => {\n if (ssrMatchMedia !== null) {\n const {\n matches\n } = ssrMatchMedia(query);\n return () => matches;\n }\n\n return getDefaultSnapshot;\n }, [getDefaultSnapshot, query, ssrMatchMedia]);\n const [getSnapshot, subscribe] = React.useMemo(() => {\n if (matchMedia === null) {\n return [getDefaultSnapshot, () => () => {}];\n }\n\n const mediaQueryList = matchMedia(query);\n return [() => mediaQueryList.matches, notify => {\n // TODO: Use `addEventListener` once support for Safari < 14 is dropped\n mediaQueryList.addListener(notify);\n return () => {\n mediaQueryList.removeListener(notify);\n };\n }];\n }, [getDefaultSnapshot, matchMedia, query]);\n const match = maybeReactUseSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n return match;\n}\n\nexport default function useMediaQuery(queryInput, options = {}) {\n const theme = useTheme(); // Wait for jsdom to support the match media feature.\n // All the browsers MUI support have this built-in.\n // This defensive check is here for simplicity.\n // Most of the time, the match media logic isn't central to people tests.\n\n const supportMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined';\n const {\n defaultMatches = false,\n matchMedia = supportMatchMedia ? window.matchMedia : null,\n ssrMatchMedia = null,\n noSsr\n } = getThemeProps({\n name: 'MuiUseMediaQuery',\n props: options,\n theme\n });\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof queryInput === 'function' && theme === null) {\n console.error(['MUI: The `query` argument provided is invalid.', 'You are providing a function without a theme in the context.', 'One of the parent elements needs to use a ThemeProvider.'].join('\\n'));\n }\n }\n\n let query = typeof queryInput === 'function' ? queryInput(theme) : queryInput;\n query = query.replace(/^@media( ?)/m, ''); // TODO: Drop `useMediaQueryOld` and use `use-sync-external-store` shim in `useMediaQueryNew` once the package is stable\n\n const useMediaQueryImplementation = maybeReactUseSyncExternalStore !== undefined ? useMediaQueryNew : useMediaQueryOld;\n const match = useMediaQueryImplementation(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr);\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue({\n query,\n match\n });\n }\n\n return match;\n}","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n"],"names":["withStyles","theme","createStyles","fieldBasic","value","label","tooltip","mode","classes","onBeforeChange","readOnly","editorHeight","item","xs","sx","marginBottom","className","inputLabel","tooltipContainer","title","placement","style","maxHeight","overflow","border","language","onChange","evn","target","id","padding","fontSize","backgroundColor","fontFamily","minHeight","color","background","borderTop","display","alignItems","paddingRight","justifyContent","height","width","marginLeft","text","type","icon","variant","searchField","adornment","placeholder","adornmentPosition","overrideClass","inputProps","disableUnderline","position","InputProps","e","children","errorProps","cloneElement","tabStripStyle","tabsContainer","tabsHeaderContainer","borderRight","flexFlow","borderBottom","marginRight","fontWeight","tabContentContainer","tabPanel","flexDirection","selectedTab","routes","isRouteTabs","useTheme","useLocation","pathname","isSmallScreen","useMediaQuery","breakpoints","down","useState","setValue","headerList","contentList","useEffect","tabConfigElement","find","tabConfig","to","forEach","child","push","content","event","newValue","orientation","scrollButtons","tabList","map","index","tabHeader","disableRipple","disableTouchRipple","focusRipple","STATUS_COLORS","RED","GREEN","YELLOW","getDriveStatusColor","activeDisks","totalDrives","serverStatusColor","health_status","getNetworkStatusColor","activeNetwork","networkTotal","rowGridStyle","gridTemplateColumns","gap","Highlight","search","txtParts","RegExp","replace","escapeRegExp","parts","String","split","part","test","maxWidth","policyStatements","filter","setFilter","Grid","container","Box","sm","SearchBox","paddingTop","stmt","i","effect","Effect","isAllow","fill","Action","act","actIndex","Resource","res","resIndex","DeletePolicy","withSuspense","React","buttonContainer","pageContainer","paperContainer","statement","borderRadius","labelCol","actionsTray","modalBasic","containerForHeader","spacing","dispatch","useAppDispatch","navigate","useNavigate","params","useParams","features","useSelector","selFeatures","policy","setPolicy","setPolicyStatements","userList","setUserList","groupList","setGroupList","addLoading","setAddLoading","policyName","decodeURLString","policyDefinition","setPolicyDefinition","loadingPolicy","setLoadingPolicy","filterUsers","setFilterUsers","loadingUsers","setLoadingUsers","filterGroups","setFilterGroups","loadingGroups","setLoadingGroups","deleteOpen","setDeleteOpen","ldapIsEnabled","includes","displayGroups","hasPermission","CONSOLE_UI_RESOURCE","IAM_SCOPES","viewGroup","displayUsers","viewUser","displayPolicy","editPolicy","api","encodeURLString","then","result","JSON","stringify","parse","pol","Statement","catch","err","setErrorSnackMessage","validSave","trim","userTableActions","onClick","user","IAM_PAGES","disableButtonFunction","filteredUsers","elementItem","groupTableActions","group","filteredGroups","Fragment","selectedPolicy","closeDeleteModalAndRefresh","refresh","PageHeader","BackLink","PageLayout","ScreenTitle","IAMPoliciesIcon","subTitle","actions","SecureComponent","scopes","resource","disabled","TooltipWrapper","TrashIcon","RefreshIcon","VerticalTabs","sectionTitle","Paper","TextField","val","startAdornment","InputAdornment","SearchIcon","TableWrapper","itemActions","columns","elementKey","isLoading","records","entityName","idField","noValidate","autoComplete","onSubmit","preventDefault","name","_","setSnackBarMessage","CodeMirrorWrapper","editor","data","clearButton","LinearProgress","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Context","TabContext","props","idPrefix","setId","Math","round","random","useUniquePrefix","context","_jsx","Provider","useTabContext","getPanelId","getTabId","_excluded","TabList","ref","childrenProp","other","_objectWithoutPropertiesLoose","TypeError","Tabs","_extends","getTabPanelUtilityClass","slot","generateUtilityClass","generateUtilityClasses","TabPanelRoot","styled","overridesResolver","styles","root","inProps","useThemeProps","ownerState","composeClasses","useUtilityClasses","tabId","clsx","hidden","role","createSvgIcon","getCheckboxUtilityClass","CheckboxRoot","SwitchBase","shouldForwardProp","prop","rootShouldForwardProp","indeterminate","capitalize","vars","palette","secondary","action","activeChannel","primary","mainChannel","hoverOpacity","alpha","active","main","checkboxClasses","defaultCheckedIcon","CheckBoxIcon","defaultIcon","CheckBoxOutlineBlankIcon","defaultIndeterminateIcon","IndeterminateCheckBoxIcon","_icon$props$fontSize","_indeterminateIcon$pr","checkedIcon","iconProp","indeterminateIcon","indeterminateIconProp","size","slots","composedClasses","useMediaQueryOld","query","defaultMatches","matchMedia","ssrMatchMedia","noSsr","supportMatchMedia","window","matches","match","setMatch","useEnhancedEffect","queryList","updateMatch","addListener","removeListener","maybeReactUseSyncExternalStore","useMediaQueryNew","getDefaultSnapshot","getServerSnapshot","mediaQueryList","notify","getSnapshot","subscribe","queryInput","options","getThemeProps","useMediaQueryImplementation","undefined","baseGetTag","isArray","isObjectLike","module"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1367.63cecfcc.chunk.js b/portal-ui/build/static/js/1367.63cecfcc.chunk.js
deleted file mode 100644
index 2e89e2218..000000000
--- a/portal-ui/build/static/js/1367.63cecfcc.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1367,2691],{92217:function(e,n,t){"use strict";var r=t(1413),i=t(72791),o=t(61889),a=t(30829),c=t(20068),s=t(64554),l=t(11135),d=t(25787),u=t(84570),p=t(23814),h=t(38734),f=t(75952),x=t(78029),m=t.n(x),v=t(90932),Z=t(27454),j=t(80184);n.Z=(0,d.Z)((function(e){return(0,l.Z)((0,r.Z)({},p.YI))}))((function(e){var n=e.value,t=e.label,r=void 0===t?"":t,l=e.tooltip,d=void 0===l?"":l,p=e.mode,x=void 0===p?"json":p,b=e.classes,g=e.onBeforeChange,C=(e.readOnly,e.editorHeight),y=void 0===C?"250px":C;return(0,j.jsxs)(i.Fragment,{children:[(0,j.jsx)(o.ZP,{item:!0,xs:12,sx:{marginBottom:"10px"},children:(0,j.jsxs)(a.Z,{className:b.inputLabel,children:[(0,j.jsx)("span",{children:r}),""!==d&&(0,j.jsx)("div",{className:b.tooltipContainer,children:(0,j.jsx)(c.Z,{title:d,placement:"top-start",children:(0,j.jsx)("div",{className:b.tooltip,children:(0,j.jsx)(u.Z,{})})})})]})}),(0,j.jsx)(o.ZP,{item:!0,xs:12,style:{maxHeight:y,overflow:"auto",border:"1px solid #eaeaea"},children:(0,j.jsx)(v.Z,{value:n,language:x,onChange:function(e){g(null,null,e.target.value)},id:"code_wrapper",padding:15,style:{fontSize:12,backgroundColor:"#fefefe",fontFamily:"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace",minHeight:y||"initial",color:"#000000"}})}),(0,j.jsx)(o.ZP,{item:!0,xs:12,sx:{background:"#f7f7f7",border:"1px solid #eaeaea",borderTop:0},children:(0,j.jsx)(s.Z,{sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}}},children:(0,j.jsx)(Z.Z,{tooltip:"Copy to Clipboard",children:(0,j.jsx)(m(),{text:n,children:(0,j.jsx)(f.z,{type:"button",id:"copy-code-mirror",icon:(0,j.jsx)(h.TIy,{}),color:"primary",variant:"regular"})})})})})]})}))},59114:function(e,n,t){"use strict";var r=t(4942),i=t(1413),o=(t(72791),t(63466)),a=t(74900),c=t(27391),s=t(25787),l=t(11135),d=t(23814),u=t(80184);n.Z=(0,s.Z)((function(e){return(0,l.Z)({searchField:(0,i.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,i=e.classes,s=e.onChange,l=e.adornmentPosition,d=void 0===l?"end":l,p=e.overrideClass,h=e.value,f=(0,r.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(o.Z,{position:d,className:i.adornment,children:(0,u.jsx)(a.Z,{})}));return(0,u.jsx)(c.Z,{placeholder:t,className:p||i.searchField,id:"search-resource",label:"",InputProps:f,onChange:function(e){s(e.target.value)},variant:"standard",value:h})}))},27454:function(e,n,t){"use strict";var r=t(1413),i=t(72791),o=t(20068),a=t(80184);n.Z=function(e){var n=e.tooltip,t=e.children,c=e.errorProps,s=void 0===c?null:c;return(0,a.jsx)(o.Z,{title:n,children:(0,a.jsx)("span",{children:s?(0,i.cloneElement)(t,(0,r.Z)({},s)):t})})}},50276:function(e,n,t){"use strict";var r=t(1413),i=t(29439),o=t(72791),a=t(64554),c=t(43896),s=t(83449),l=t(47283),d=t(82851),u=t(25787),p=t(13967),h=t(11135),f=t(95193),x=t(80184),m={minHeight:60};n.Z=(0,u.Z)((function(e){return(0,h.Z)({tabsContainer:{display:"flex",height:"100%",width:"100%"},tabsHeaderContainer:{width:"300px",background:"#F8F8F8",borderRight:"1px solid #EAEAEA","& .MuiTabs-root":{"& .MuiTabs-indicator":{display:"none"},"& .MuiTab-root":{display:"flex",flexFlow:"row",alignItems:"center",justifyContent:"flex-start",borderBottom:"1px solid #EAEAEA","& .MuiSvgIcon-root":{marginRight:8,marginBottom:0},"&.Mui-selected":{background:"#E5E5E5",fontWeight:600}},"&. MuiTabs-scroller":{display:"none"}}},tabContentContainer:{width:"100%","& .MuiTabPanel-root":{height:"100%"}},tabPanel:{height:"100%"},"@media (max-width: 900px)":{tabsContainer:{flexFlow:"column",flexDirection:"column"},tabsHeaderContainer:{width:"100%",borderBottom:" 1px solid #EAEAEA","& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root":{borderBottom:" 0px"}}}})}))((function(e){var n=e.children,t=e.classes,u=e.selectedTab,h=void 0===u?"0":u,v=e.routes,Z=e.isRouteTabs,j=o.useState(h),b=(0,i.Z)(j,2),g=b[0],C=b[1],y=(0,p.Z)(),E=(0,f.Z)(y.breakpoints.down("md")),P=[],S=[];return n?(n.forEach((function(e){P.push(e.tabConfig),S.push(e.content)})),(0,x.jsx)(s.ZP,{value:"".concat(g),children:(0,x.jsxs)(a.Z,{className:t.tabsContainer,children:[(0,x.jsx)(a.Z,{className:t.tabsHeaderContainer,children:(0,x.jsx)(l.Z,{onChange:function(e,n){C(n)},orientation:E?"horizontal":"vertical",variant:E?"scrollable":"standard",scrollButtons:"auto",className:t.tabList,children:P.map((function(e,n){return e?(0,x.jsx)(c.Z,(0,r.Z)((0,r.Z)({className:t.tabHeader,value:"".concat(n),style:m},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(n)):null}))})}),(0,x.jsxs)(a.Z,{className:t.tabContentContainer,children:[Z?null:S.map((function(e,n){return(0,x.jsx)(d.Z,{classes:(0,r.Z)({},t.tabPanel),value:"".concat(n),children:e||null},"v-tab-p-".concat(n))})),Z?(0,x.jsx)("div",{className:t.tabPanel,children:v}):null]})]})})):null}))},879:function(e,n,t){"use strict";t.d(n,{D_:function(){return a},Et:function(){return i},GJ:function(){return o},yh:function(){return r}});var r={RED:"#C83B51",GREEN:"#4CCB92",YELLOW:"#E7A219"},i=function(e,n){return e<=n/2?r.RED:2!==n&&e===n/2+1?r.YELLOW:e===n?r.GREEN:void 0},o=function(e){switch(e){case"offline":return r.RED;case"online":return r.GREEN;default:return r.YELLOW}},a=function(e,n){return e<=n/2?r.RED:e===n/2+1?r.YELLOW:e===n?r.GREEN:void 0}},1191:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return W}});var r=t(29439),i=t(1413),o=t(72791),a=t(60364),c=t(16871),s=t(75952),l=t(11135),d=t(25787),u=t(23814),p=t(10703),h=t(61889),f=t(40986),x=t(92983),m=t(81207),v=t(32291),Z=t(92217),j=t(63466),b=t(27391),g=t(14917),C=t(64244),y=t(28789),E=t(74900),P=t(54599),S=t(74794),w=t(50276),N=t(84669),M=t(56087),T=t(38442),F=t(75578),R=t(64554),A=t(59114),I=t(38734),L=t(879),k=t(80184),O={display:"grid",gridTemplateColumns:"60px 1fr",gap:"15px"},D=function(e){var n=e.search,t=void 0===n?"":n,r=e.children,i=void 0===r?"":r,o=new RegExp("(".concat(function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}(t),")"),"i"),a=String(i).split(o);return t?a.map((function(e,n){return o.test(e)?(0,k.jsx)("mark",{children:e},n):e})):i},z=(0,d.Z)((function(e){return(0,l.Z)({searchField:(0,i.Z)((0,i.Z)({},u.qg.searchField),{},{maxWidth:380})})}))((function(e){var n=e.policyStatements,t=e.classes,i=void 0===t?{}:t,a=(0,o.useState)(""),c=(0,r.Z)(a,2),s=c[0],l=c[1];return(0,k.jsxs)(h.ZP,{container:!0,children:[(0,k.jsx)(h.ZP,{item:!0,xs:12,children:(0,k.jsxs)(R.Z,{sx:{display:"grid",gridTemplateColumns:{sm:"1fr 1fr",xs:"1fr"},alignItems:"center",justifyContent:"space-between",gap:"15px"},children:[(0,k.jsx)(R.Z,{children:"Statements"}),(0,k.jsx)(A.Z,{placeholder:"Search",onChange:l,overrideClass:i.searchField,value:s})]})}),(0,k.jsx)(h.ZP,{item:!0,xs:12,sx:{"& .policy-row":{borderBottom:"1px solid #eaeaea"},"& .policy-row:first-child":{borderTop:"1px solid #eaeaea"},"& .policy-row:last-child":{borderBottom:"0px"},paddingTop:"15px","& mark":{color:"#000000",fontWeight:500}},children:n.map((function(e,n){var t=e.Effect,r="Allow"===t;return(0,k.jsxs)(R.Z,{className:"policy-row",sx:{display:"grid",gridTemplateColumns:"1fr",gap:"15px",fontSize:"14px",padding:"10px 0 10px 0","& .label":{fontWeight:600}},children:[(0,k.jsxs)(R.Z,{sx:O,children:[(0,k.jsx)(R.Z,{className:"label",children:"Effect:"}),(0,k.jsxs)(R.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{marginRight:"5px",fill:r?L.yh.GREEN:L.yh.RED,height:"14px",width:"14px"}},children:[r?(0,k.jsx)(I.E31,{}):(0,k.jsx)(I.dRf,{}),t]})]}),(0,k.jsxs)(R.Z,{sx:{display:"grid",gridTemplateColumns:{sm:"1fr 1fr",xs:"1fr"},gap:"15px"},children:[(0,k.jsxs)(R.Z,{sx:O,children:[(0,k.jsx)(R.Z,{className:"label",children:"Actions:"}),(0,k.jsx)(R.Z,{children:e.Action&&e.Action.map((function(e,t){return(0,k.jsx)("div",{children:(0,k.jsx)(D,{search:s,children:e})},"".concat(n,"-r-").concat(t))}))})]}),(0,k.jsxs)(R.Z,{sx:O,children:[(0,k.jsx)(R.Z,{className:"label",children:"Resources:"}),(0,k.jsx)(R.Z,{children:e.Resource&&e.Resource.map((function(e,t){return(0,k.jsxs)("div",{children:[" ",(0,k.jsx)(D,{search:s,children:e})]},"".concat(n,"-r-").concat(t))}))})]})]})]},"".concat(n))}))})]})})),_=t(45248),B=t(87995),G=t(46078),U=t(25469),H=t(27454),V=(0,F.Z)(o.lazy((function(){return t.e(312).then(t.bind(t,312))}))),W=(0,d.Z)((function(e){return(0,l.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({buttonContainer:{display:"flex",justifyContent:"flex-end",paddingTop:16,"& button":{marginLeft:8}},pageContainer:{border:"1px solid #EAEAEA",height:"100%"},paperContainer:{padding:"15px 15px 15px 50px",minHeight:"450px"},statement:{border:"1px solid #DADADA",padding:8,marginBottom:8,borderRadius:4},labelCol:{fontWeight:"bold"}},u.OR),u.qg),u.oO),(0,u.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=(0,U.TL)(),i=(0,c.s0)(),l=(0,c.UO)(),d=(0,a.v9)(G.$4),u=(0,o.useState)(null),F=(0,r.Z)(u,2),R=F[0],A=F[1],I=(0,o.useState)([]),L=(0,r.Z)(I,2),O=L[0],D=L[1],W=(0,o.useState)([]),Y=(0,r.Z)(W,2),q=Y[0],J=Y[1],Q=(0,o.useState)([]),$=(0,r.Z)(Q,2),K=$[0],X=$[1],ee=(0,o.useState)(!1),ne=(0,r.Z)(ee,2),te=ne[0],re=ne[1],ie=(0,_.IO)(l.policyName||""),oe=(0,o.useState)(""),ae=(0,r.Z)(oe,2),ce=ae[0],se=ae[1],le=(0,o.useState)(!0),de=(0,r.Z)(le,2),ue=de[0],pe=de[1],he=(0,o.useState)(""),fe=(0,r.Z)(he,2),xe=fe[0],me=fe[1],ve=(0,o.useState)(!0),Ze=(0,r.Z)(ve,2),je=Ze[0],be=Ze[1],ge=(0,o.useState)(""),Ce=(0,r.Z)(ge,2),ye=Ce[0],Ee=Ce[1],Pe=(0,o.useState)(!0),Se=(0,r.Z)(Pe,2),we=Se[0],Ne=Se[1],Me=(0,o.useState)(!1),Te=(0,r.Z)(Me,2),Fe=Te[0],Re=Te[1],Ae=d&&d.includes("ldap-idp")||!1,Ie=(0,T.F)(M.C3,[M.Ft.ADMIN_LIST_GROUPS,M.Ft.ADMIN_GET_GROUP],!0),Le=(0,T.F)(M.C3,[M.Ft.ADMIN_GET_GROUP]),ke=(0,T.F)(M.C3,[M.Ft.ADMIN_LIST_GROUPS]),Oe=(0,T.F)(M.C3,[M.Ft.ADMIN_GET_USER]),De=(0,T.F)(M.C3,[M.Ft.ADMIN_GET_POLICY]),ze=(0,T.F)(M.C3,[M.Ft.ADMIN_CREATE_POLICY]);(0,o.useEffect)((function(){ue&&(ue&&(De?m.Z.invoke("GET","/api/v1/policy/".concat((0,_.LL)(ie))).then((function(e){if(e){A(e),se(e?JSON.stringify(JSON.parse(e.policy),null,4):"");var n=JSON.parse(e.policy);D(n.Statement)}pe(!1)})).catch((function(e){t((0,B.Ih)(e)),pe(!1)})):pe(!1)),je&&(ke&&!Ae?m.Z.invoke("GET","/api/v1/policies/".concat((0,_.LL)(ie),"/users")).then((function(e){J(e),be(!1)})).catch((function(e){t((0,B.Ih)(e)),be(!1)})):be(!1)),we&&(Ie&&!Ae?m.Z.invoke("GET","/api/v1/policies/".concat((0,_.LL)(ie),"/groups")).then((function(e){X(e),Ne(!1)})).catch((function(e){t((0,B.Ih)(e)),Ne(!1)})):Ne(!1)))}),[ie,ue,je,we,J,X,se,A,be,Ne,ke,Ie,De,Ae,t]);var _e=""!==ie.trim(),Be=[{type:"view",onClick:function(e){i("".concat(M.gA.USERS,"/").concat((0,_.LL)(e)))},disableButtonFunction:function(){return!Oe}}],Ge=q.filter((function(e){return e.includes(xe)})),Ue=[{type:"view",onClick:function(e){i("".concat(M.gA.GROUPS,"/").concat((0,_.LL)(e)))},disableButtonFunction:function(){return!Le}}],He=K.filter((function(e){return e.includes(ye)}));return(0,k.jsxs)(o.Fragment,{children:[Fe&&(0,k.jsx)(V,{deleteOpen:Fe,selectedPolicy:ie,closeDeleteModalAndRefresh:function(e){Re(!1),i(M.gA.POLICIES)}}),(0,k.jsx)(v.Z,{label:(0,k.jsx)(o.Fragment,{children:(0,k.jsx)(N.Z,{to:M.gA.POLICIES,label:"Policy"})})}),(0,k.jsxs)(S.Z,{className:n.pageContainer,children:[(0,k.jsx)(h.ZP,{item:!0,xs:12,children:(0,k.jsx)(g.Z,{icon:(0,k.jsx)(o.Fragment,{children:(0,k.jsx)(C.Z,{width:40})}),title:ie,subTitle:(0,k.jsx)(o.Fragment,{children:"IAM Policy"}),actions:(0,k.jsxs)(o.Fragment,{children:[(0,k.jsx)(T.s,{scopes:[M.Ft.ADMIN_DELETE_POLICY],resource:M.C3,errorProps:{disabled:!0},children:(0,k.jsx)(H.Z,{tooltip:"Delete Policy",children:(0,k.jsx)(s.z,{id:"delete-policy",label:"Delete Policy",variant:"secondary",icon:(0,k.jsx)(P.Z,{}),onClick:function(){Re(!0)}})})}),(0,k.jsx)(H.Z,{tooltip:"Refresh",children:(0,k.jsx)(s.z,{id:"refresh-policy",label:"Refresh",variant:"regular",icon:(0,k.jsx)(y.default,{}),onClick:function(){be(!0),Ne(!0),pe(!0)}})})]})})}),(0,k.jsxs)(w.Z,{children:[{tabConfig:{label:"Summary",disabled:!De},content:(0,k.jsxs)(o.Fragment,{children:[(0,k.jsx)("div",{className:n.sectionTitle,children:"Policy Summary"}),(0,k.jsx)(p.Z,{className:n.paperContainer,children:(0,k.jsx)(z,{policyStatements:O})})]})},{tabConfig:{label:"Users",disabled:!ke||Ae},content:(0,k.jsxs)(o.Fragment,{children:[(0,k.jsx)("div",{className:n.sectionTitle,children:"Users"}),(0,k.jsxs)(h.ZP,{container:!0,children:[(0,k.jsx)(h.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,k.jsx)(b.Z,{placeholder:"Search Users",className:n.searchField,id:"search-resource",label:"",onChange:function(e){me(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,k.jsx)(j.Z,{position:"start",children:(0,k.jsx)(E.Z,{})})},variant:"standard"})}),(0,k.jsx)(x.Z,{itemActions:Be,columns:[{label:"Name",elementKey:"name"}],isLoading:je,records:Ge,entityName:"Users",idField:"name"})]})]})},{tabConfig:{label:"Groups",disabled:!Ie||Ae},content:(0,k.jsxs)(o.Fragment,{children:[(0,k.jsx)("div",{className:n.sectionTitle,children:"Groups"}),(0,k.jsxs)(h.ZP,{container:!0,children:[(0,k.jsx)(h.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,k.jsx)(b.Z,{placeholder:"Search Groups",className:n.searchField,id:"search-resource",label:"",onChange:function(e){Ee(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,k.jsx)(j.Z,{position:"start",children:(0,k.jsx)(E.Z,{})})},variant:"standard"})}),(0,k.jsx)(x.Z,{itemActions:Ue,columns:[{label:"Name",elementKey:"name"}],isLoading:we,records:He,entityName:"Groups",idField:"name"})]})]})},{tabConfig:{label:"Raw Policy",disabled:!De},content:(0,k.jsxs)(o.Fragment,{children:[(0,k.jsx)("div",{className:n.sectionTitle,children:"Raw Policy"}),(0,k.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),te||(re(!0),ze?m.Z.invoke("POST","/api/v1/policies",{name:ie,policy:ce}).then((function(e){re(!1),t((0,B.y1)("Policy successfully updated"))})).catch((function(e){re(!1),t((0,B.Ih)(e))})):re(!1))},children:(0,k.jsxs)(h.ZP,{container:!0,children:[(0,k.jsx)(h.ZP,{item:!0,xs:12,children:(0,k.jsx)(Z.Z,{readOnly:!ze,value:ce,onBeforeChange:function(e,n,t){se(t)},editorHeight:"350px"})}),(0,k.jsxs)(h.ZP,{item:!0,xs:12,className:n.buttonContainer,children:[!R&&(0,k.jsx)("button",{type:"button",color:"primary",className:n.clearButton,onClick:function(){se("{}")},children:"Clear"}),(0,k.jsx)(T.s,{scopes:[M.Ft.ADMIN_CREATE_POLICY],resource:M.C3,errorProps:{disabled:!0},children:(0,k.jsx)(s.z,{id:"save",type:"submit",variant:"callAction",color:"primary",disabled:te||!_e,label:"Save"})})]}),te&&(0,k.jsx)(h.ZP,{item:!0,xs:12,children:(0,k.jsx)(f.Z,{})})]})})]})}]})]})]})}))},26759:function(e,n,t){"use strict";var r=t(64836);n.Z=void 0;var i=r(t(45649)),o=t(80184),a=(0,i.default)((0,o.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");n.Z=a},70366:function(e,n,t){"use strict";var r=t(64836);n.Z=void 0;var i=r(t(45649)),o=t(80184),a=(0,i.default)((0,o.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");n.Z=a},97911:function(e,n,t){"use strict";var r=t(64836);n.Z=void 0;var i=r(t(45649)),o=t(80184),a=(0,i.default)((0,o.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");n.Z=a},83449:function(e,n,t){"use strict";t.d(n,{ZP:function(){return c},_i:function(){return s},pQ:function(){return d},uU:function(){return l}});var r=t(29439),i=t(72791),o=t(80184),a=i.createContext(null);function c(e){var n=e.children,t=e.value,c=function(){var e=i.useState(null),n=(0,r.Z)(e,2),t=n[0],o=n[1];return i.useEffect((function(){o("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),t}(),s=i.useMemo((function(){return{idPrefix:c,value:t}}),[c,t]);return(0,o.jsx)(a.Provider,{value:s,children:n})}function s(){return i.useContext(a)}function l(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(n)}function d(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(n)}},47283:function(e,n,t){"use strict";var r=t(87462),i=t(63366),o=t(72791),a=t(18073),c=t(83449),s=t(80184),l=["children"],d=o.forwardRef((function(e,n){var t=e.children,d=(0,i.Z)(e,l),u=(0,c._i)();if(null===u)throw new TypeError("No TabContext provided");var p=o.Children.map(t,(function(e){return o.isValidElement(e)?o.cloneElement(e,{"aria-controls":(0,c.uU)(u,e.props.value),id:(0,c.pQ)(u,e.props.value)}):null}));return(0,s.jsx)(a.Z,(0,r.Z)({},d,{ref:n,value:u.value,children:p}))}));n.Z=d},82851:function(e,n,t){"use strict";t.d(n,{Z:function(){return m}});var r=t(87462),i=t(63366),o=t(72791),a=t(28182),c=t(66934),s=t(31402),l=t(94419),d=t(21217);function u(e){return(0,d.Z)("MuiTabPanel",e)}(0,t(75878).Z)("MuiTabPanel",["root"]);var p=t(83449),h=t(80184),f=["children","className","value"],x=(0,c.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,n){return n.root}})((function(e){return{padding:e.theme.spacing(3)}})),m=o.forwardRef((function(e,n){var t=(0,s.Z)({props:e,name:"MuiTabPanel"}),o=t.children,c=t.className,d=t.value,m=(0,i.Z)(t,f),v=(0,r.Z)({},t),Z=function(e){var n=e.classes;return(0,l.Z)({root:["root"]},u,n)}(v),j=(0,p._i)();if(null===j)throw new TypeError("No TabContext provided");var b=(0,p.uU)(j,d),g=(0,p.pQ)(j,d);return(0,h.jsx)(x,(0,r.Z)({"aria-labelledby":g,className:(0,a.Z)(Z.root,c),hidden:d!==j.value,id:b,ref:n,role:"tabpanel",ownerState:v},m,{children:d===j.value&&o}))}))},94454:function(e,n,t){"use strict";t.d(n,{Z:function(){return S}});var r=t(4942),i=t(63366),o=t(87462),a=t(72791),c=t(94419),s=t(12065),l=t(97278),d=t(76189),u=t(80184),p=(0,d.Z)((0,u.jsx)("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),h=(0,d.Z)((0,u.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),f=(0,d.Z)((0,u.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox"),x=t(14036),m=t(31402),v=t(66934),Z=t(21217);function j(e){return(0,Z.Z)("MuiCheckbox",e)}var b=(0,t(75878).Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),g=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size"],C=(0,v.ZP)(l.Z,{shouldForwardProp:function(e){return(0,v.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,t.indeterminate&&n.indeterminate,"default"!==t.color&&n["color".concat((0,x.Z)(t.color))]]}})((function(e){var n,t=e.theme,i=e.ownerState;return(0,o.Z)({color:(t.vars||t).palette.text.secondary},!i.disableRipple&&{"&:hover":{backgroundColor:t.vars?"rgba(".concat("default"===i.color?t.vars.palette.action.activeChannel:t.vars.palette.primary.mainChannel," / ").concat(t.vars.palette.action.hoverOpacity,")"):(0,s.Fq)("default"===i.color?t.palette.action.active:t.palette[i.color].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==i.color&&(n={},(0,r.Z)(n,"&.".concat(b.checked,", &.").concat(b.indeterminate),{color:(t.vars||t).palette[i.color].main}),(0,r.Z)(n,"&.".concat(b.disabled),{color:(t.vars||t).palette.action.disabled}),n))})),y=(0,u.jsx)(h,{}),E=(0,u.jsx)(p,{}),P=(0,u.jsx)(f,{}),S=a.forwardRef((function(e,n){var t,r,s=(0,m.Z)({props:e,name:"MuiCheckbox"}),l=s.checkedIcon,d=void 0===l?y:l,p=s.color,h=void 0===p?"primary":p,f=s.icon,v=void 0===f?E:f,Z=s.indeterminate,b=void 0!==Z&&Z,S=s.indeterminateIcon,w=void 0===S?P:S,N=s.inputProps,M=s.size,T=void 0===M?"medium":M,F=(0,i.Z)(s,g),R=b?w:v,A=b?w:d,I=(0,o.Z)({},s,{color:h,indeterminate:b,size:T}),L=function(e){var n=e.classes,t=e.indeterminate,r=e.color,i={root:["root",t&&"indeterminate","color".concat((0,x.Z)(r))]},a=(0,c.Z)(i,j,n);return(0,o.Z)({},n,a)}(I);return(0,u.jsx)(C,(0,o.Z)({type:"checkbox",inputProps:(0,o.Z)({"data-indeterminate":b},N),icon:a.cloneElement(R,{fontSize:null!=(t=R.props.fontSize)?t:T}),checkedIcon:a.cloneElement(A,{fontSize:null!=(r=A.props.fontSize)?r:T}),ownerState:I,ref:n},F,{classes:L}))}))},95193:function(e,n,t){"use strict";var r;t.d(n,{Z:function(){return p}});var i=t(29439),o=t(72791),a=t(69120),c=t(33073),s=t(40162);function l(e,n,t,r,a){var c="undefined"!==typeof window&&"undefined"!==typeof window.matchMedia,l=o.useState((function(){return a&&c?t(e).matches:r?r(e).matches:n})),d=(0,i.Z)(l,2),u=d[0],p=d[1];return(0,s.Z)((function(){var n=!0;if(c){var r=t(e),i=function(){n&&p(r.matches)};return i(),r.addListener(i),function(){n=!1,r.removeListener(i)}}}),[e,t,c]),u}var d=(r||(r=t.t(o,2))).useSyncExternalStore;function u(e,n,t,r){var a=o.useCallback((function(){return n}),[n]),c=o.useMemo((function(){if(null!==r){var n=r(e).matches;return function(){return n}}return a}),[a,e,r]),s=o.useMemo((function(){if(null===t)return[a,function(){return function(){}}];var n=t(e);return[function(){return n.matches},function(e){return n.addListener(e),function(){n.removeListener(e)}}]}),[a,t,e]),l=(0,i.Z)(s,2),u=l[0],p=l[1];return d(p,u,c)}function p(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=(0,a.Z)(),r="undefined"!==typeof window&&"undefined"!==typeof window.matchMedia,i=(0,c.Z)({name:"MuiUseMediaQuery",props:n,theme:t}),o=i.defaultMatches,s=void 0!==o&&o,p=i.matchMedia,h=void 0===p?r?window.matchMedia:null:p,f=i.ssrMatchMedia,x=void 0===f?null:f,m=i.noSsr;var v="function"===typeof e?e(t):e;v=v.replace(/^@media( ?)/m,"");var Z=void 0!==d?u:l,j=Z(v,s,h,x,m);return j}},26769:function(e,n,t){var r=t(39066),i=t(93629),o=t(43141);e.exports=function(e){return"string"==typeof e||!i(e)&&o(e)&&"[object String]"==r(e)}}}]);
-//# sourceMappingURL=1367.63cecfcc.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1367.63cecfcc.chunk.js.map b/portal-ui/build/static/js/1367.63cecfcc.chunk.js.map
deleted file mode 100644
index 73d6dc6f4..000000000
--- a/portal-ui/build/static/js/1367.63cecfcc.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/1367.63cecfcc.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Common/TooltipWrapper/TooltipWrapper.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","screens/Console/Dashboard/BasicDashboard/Utils.tsx","screens/Console/Policies/PolicyView.tsx","screens/Console/Policies/PolicyDetails.tsx","../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/ViewColumn.js","../node_modules/@mui/lab/TabContext/TabContext.js","../node_modules/@mui/lab/TabList/TabList.js","../node_modules/@mui/lab/TabPanel/tabPanelClasses.js","../node_modules/@mui/lab/TabPanel/TabPanel.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/@mui/material/useMediaQuery/useMediaQuery.js","../node_modules/lodash/isString.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon } from \"../../../../../icons\";\nimport { Button } from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport CodeEditor from \"@uiw/react-textarea-code-editor\";\nimport TooltipWrapper from \"../../TooltipWrapper/TooltipWrapper\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n });\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n \n
\n )}\n \n \n\n \n {\n onBeforeChange(null, null, evn.target.value);\n }}\n id={\"code_wrapper\"}\n padding={15}\n style={{\n fontSize: 12,\n backgroundColor: \"#fefefe\",\n fontFamily:\n \"ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace\",\n minHeight: editorHeight || \"initial\",\n color: \"#000000\",\n }}\n />\n \n \n \n \n \n }\n color={\"primary\"}\n variant={\"regular\"}\n />\n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { cloneElement } from \"react\";\nimport { Tooltip } from \"@mui/material\";\n\ninterface ITooltipWrapperProps {\n tooltip: string;\n children: any;\n errorProps?: any;\n}\n\nconst TooltipWrapper = ({\n tooltip,\n children,\n errorProps = null,\n}: ITooltipWrapperProps) => {\n return (\n \n \n {errorProps ? cloneElement(children, { ...errorProps }) : children}\n \n \n );\n};\n\nexport default TooltipWrapper;\n","import React from \"react\";\nimport { Box, Tab, TabProps } from \"@mui/material\";\nimport { TabContext, TabList, TabPanel } from \"@mui/lab\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme, useTheme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\n\nexport type TabItemProps = {\n tabConfig: TabProps | any;\n content?: JSX.Element | JSX.Element[];\n};\n\ntype VerticalTabsProps = {\n classes: any;\n children: TabItemProps[];\n selectedTab?: string;\n routes?: any;\n isRouteTabs?: boolean;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n tabsContainer: {\n display: \"flex\",\n height: \"100%\",\n width: \"100%\",\n },\n tabsHeaderContainer: {\n width: \"300px\",\n background: \"#F8F8F8\",\n borderRight: \"1px solid #EAEAEA\",\n \"& .MuiTabs-root\": {\n \"& .MuiTabs-indicator\": {\n display: \"none\",\n },\n \"& .MuiTab-root\": {\n display: \"flex\",\n flexFlow: \"row\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n borderBottom: \"1px solid #EAEAEA\",\n \"& .MuiSvgIcon-root\": {\n marginRight: 8,\n marginBottom: 0,\n },\n \"&.Mui-selected\": {\n background: \"#E5E5E5\",\n fontWeight: 600,\n },\n },\n\n \"&. MuiTabs-scroller\": {\n display: \"none\",\n },\n },\n },\n tabContentContainer: {\n width: \"100%\",\n \"& .MuiTabPanel-root\": {\n height: \"100%\",\n },\n },\n tabPanel: {\n height: \"100%\",\n },\n /*Below md breakpoint make it horizontal and style it for scrolling tabs*/\n \"@media (max-width: 900px)\": {\n tabsContainer: {\n flexFlow: \"column\",\n flexDirection: \"column\",\n },\n tabsHeaderContainer: {\n width: \"100%\",\n borderBottom: \" 1px solid #EAEAEA\",\n \"& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root\": {\n borderBottom: \" 0px\",\n },\n },\n },\n });\n\nconst tabStripStyle = {\n minHeight: 60,\n};\n\nconst VerticalTabs = ({\n children,\n classes,\n selectedTab = \"0\",\n routes,\n isRouteTabs,\n}: VerticalTabsProps) => {\n const [value, setValue] = React.useState(selectedTab);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\n });\n\n return (\n \n \n \n \n {headerList.map((item, index) => {\n if (item) {\n return (\n \n );\n }\n return null;\n })}\n \n \n\n \n {!isRouteTabs\n ? contentList.map((item, index) => {\n return (\n \n {item ? item : null}\n \n );\n })\n : null}\n {isRouteTabs ? (\n
{routes}
\n ) : null}\n \n \n \n );\n};\n\nexport default withStyles(styles)(VerticalTabs);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const STATUS_COLORS = {\n RED: \"#C83B51\",\n GREEN: \"#4CCB92\",\n YELLOW: \"#E7A219\",\n};\n\nexport const getDriveStatusColor = (\n activeDisks: number,\n totalDrives: number\n) => {\n if (activeDisks <= totalDrives / 2) {\n return STATUS_COLORS.RED;\n }\n if (totalDrives !== 2 && activeDisks === totalDrives / 2 + 1) {\n return STATUS_COLORS.YELLOW;\n }\n if (activeDisks === totalDrives) {\n return STATUS_COLORS.GREEN;\n }\n};\n\nexport const serverStatusColor = (health_status: string) => {\n switch (health_status) {\n case \"offline\":\n return STATUS_COLORS.RED;\n case \"online\":\n return STATUS_COLORS.GREEN;\n default:\n return STATUS_COLORS.YELLOW;\n }\n};\nexport const getNetworkStatusColor = (\n activeNetwork: number,\n networkTotal: number\n) => {\n if (activeNetwork <= networkTotal / 2) {\n return STATUS_COLORS.RED;\n }\n if (activeNetwork === networkTotal / 2 + 1) {\n return STATUS_COLORS.YELLOW;\n }\n if (activeNetwork === networkTotal) {\n return STATUS_COLORS.GREEN;\n }\n};\n","// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { IAMStatement } from \"./types\";\nimport { Box } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport SearchBox from \"../Common/SearchBox\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"../Common/FormComponents/common/styleLibrary\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { DisabledIcon, EnabledIcon } from \"../../../icons\";\nimport { STATUS_COLORS } from \"../Dashboard/BasicDashboard/Utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n });\n\nconst rowGridStyle = {\n display: \"grid\",\n gridTemplateColumns: \"60px 1fr\",\n gap: \"15px\",\n};\n\nconst escapeRegExp = (str = \"\") =>\n str.replace(/([.?*+^$[\\]\\\\(){}|-])/g, \"\\\\$1\");\n\nconst Highlight = ({ search = \"\", children = \"\" }): any => {\n const txtParts = new RegExp(`(${escapeRegExp(search)})`, \"i\");\n const parts = String(children).split(txtParts);\n\n if (search) {\n return parts.map((part, index) =>\n txtParts.test(part) ? {part} : part\n );\n } else {\n return children;\n }\n};\n\nconst PolicyView = ({\n policyStatements,\n classes = {},\n}: {\n policyStatements: IAMStatement[];\n classes?: any;\n}) => {\n const [filter, setFilter] = useState(\"\");\n\n return (\n \n \n \n Statements\n \n \n \n \n {policyStatements.map((stmt, i) => {\n const effect = stmt.Effect;\n const isAllow = effect === \"Allow\";\n return (\n \n \n Effect:\n \n {isAllow ? : }\n {effect}\n \n \n\n \n \n Actions:\n \n {stmt.Action &&\n stmt.Action.map((act, actIndex) => (\n
\n \n );\n};\n\nexport default withStyles(styles)(BrowserBreadcrumbs);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Menu, MenuItem } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport ListItemText from \"@mui/material/ListItemText\";\nimport ListItemIcon from \"@mui/material/ListItemIcon\";\nimport { UploadFolderIcon, UploadIcon } from \"../../../../icons\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../../common/SecureComponent\";\nimport { Button } from \"mds\";\nimport TooltipWrapper from \"../../Common/TooltipWrapper/TooltipWrapper\";\n\ninterface IUploadFilesButton {\n uploadPath: string;\n bucketName: string;\n forceDisable?: boolean;\n uploadFileFunction: (closeFunction: () => void) => void;\n uploadFolderFunction: (closeFunction: () => void) => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n listUploadIcons: {\n height: 20,\n \"& .min-icon\": {\n width: 18,\n fill: \"rgba(0,0,0,0.87)\",\n },\n },\n });\n\nconst UploadFilesButton = ({\n uploadPath,\n bucketName,\n forceDisable = false,\n uploadFileFunction,\n uploadFolderFunction,\n classes,\n}: IUploadFilesButton) => {\n const [anchorEl, setAnchorEl] = React.useState(null);\n const openUploadMenu = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n const handleCloseUpload = () => {\n setAnchorEl(null);\n };\n\n const uploadObjectAllowed = hasPermission(uploadPath, [\n IAM_SCOPES.S3_PUT_OBJECT,\n ]);\n const uploadFolderAllowed = hasPermission(\n bucketName,\n [IAM_SCOPES.S3_PUT_OBJECT],\n false,\n true\n );\n\n const uploadEnabled: boolean = uploadObjectAllowed || uploadFolderAllowed;\n\n return (\n \n \n }\n variant={\"callAction\"}\n disabled={forceDisable || !uploadEnabled}\n />\n \n \n \n );\n};\n\nexport default withStyles(styles)(UploadFilesButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { Grid, IconButton } from \"@mui/material\";\nimport { ClosePanelIcon } from \"../../../../../../icons\";\nimport makeStyles from \"@mui/styles/makeStyles\";\n\ninterface IDetailsListPanel {\n open: boolean;\n className?: string;\n closePanel: () => void;\n children: React.ReactNode;\n}\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n detailsList: {\n borderColor: \"#EAEDEE\",\n borderWidth: 0,\n borderStyle: \"solid\",\n borderRadius: 3,\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n width: 0,\n transitionDuration: \"0.3s\",\n overflowX: \"hidden\",\n overflowY: \"auto\",\n position: \"relative\",\n opacity: 0,\n marginLeft: -1,\n \"&.open\": {\n width: 300,\n minWidth: 300,\n borderLeftWidth: 1,\n opacity: 1,\n },\n \"@media (max-width: 799px)\": {\n \"&.open\": {\n width: \"100%\",\n minWidth: \"100%\",\n borderLeftWidth: 0,\n },\n },\n },\n closePanel: {\n position: \"absolute\",\n right: 0,\n top: 8,\n \"& .min-icon\": {\n width: 14,\n },\n },\n })\n);\n\nconst DetailsListPanel = ({\n open,\n closePanel,\n className = \"\",\n children,\n}: IDetailsListPanel) => {\n const classes = useStyles();\n\n return (\n \n \n \n \n {children}\n \n );\n};\n\nexport default DetailsListPanel;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const months = [\n { value: \"01\", label: \"January\" },\n { value: \"02\", label: \"February\" },\n { value: \"03\", label: \"March\" },\n { value: \"04\", label: \"April\" },\n { value: \"05\", label: \"May\" },\n { value: \"06\", label: \"June\" },\n { value: \"07\", label: \"July\" },\n { value: \"08\", label: \"August\" },\n { value: \"09\", label: \"September\" },\n { value: \"10\", label: \"October\" },\n { value: \"11\", label: \"November\" },\n { value: \"12\", label: \"December\" },\n];\n\nexport const days = Array.from(Array(31), (_, num) => num + 1);\n\nconst currentYear = new Date().getFullYear();\n\nexport const years = Array.from(\n Array(25),\n (_, numYear) => numYear + currentYear\n);\n\nexport const validDate = (year: string, month: string, day: string): any[] => {\n const currentDate = Date.parse(`${year}-${month}-${day}`);\n\n if (isNaN(currentDate)) {\n return [false, \"\"];\n }\n\n const parsedMonth = parseInt(month);\n const parsedDay = parseInt(day);\n\n const monthForString = parsedMonth < 10 ? `0${parsedMonth}` : parsedMonth;\n const dayForString = parsedDay < 10 ? `0${parsedDay}` : parsedDay;\n\n const parsedDate = new Date(currentDate).toISOString().split(\"T\")[0];\n const dateString = `${year}-${monthForString}-${dayForString}`;\n\n return [parsedDate === dateString, dateString];\n};\n\n// twoDigitDate gets a two digit string number used for months or days\n// returns \"NaN\" if number is NaN\nexport const twoDigitDate = (num: number): string => {\n return num < 10 ? `0${num}` : `${num}`;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useState,\n} from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport { SelectChangeEvent } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport InputLabel from \"@mui/material/InputLabel\";\nimport Tooltip from \"@mui/material/Tooltip\";\nimport FormControl from \"@mui/material/FormControl\";\nimport Select from \"@mui/material/Select\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport InputBase from \"@mui/material/InputBase\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport FormSwitchWrapper from \"../FormSwitchWrapper/FormSwitchWrapper\";\nimport { days, months, validDate, years } from \"./utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n dateInput: {\n \"&:not(:last-child)\": {\n marginRight: 22,\n },\n },\n ...fieldBasic,\n ...tooltipHelper,\n labelContainer: {\n flex: 1,\n },\n fieldContainer: {\n ...fieldBasic.fieldContainer,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n paddingBottom: 10,\n marginTop: 11,\n marginBottom: 6,\n },\n fieldContainerBorder: {\n borderBottom: \"#9c9c9c 1px solid\",\n marginBottom: 20,\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n \"& .MuiSelect-icon\": {\n color: \"#000\",\n \"&.Mui-disabled\": {\n color: \"#9c9c9c\",\n },\n },\n },\n input: {\n borderBottom: 0,\n fontSize: 12,\n },\n })\n)(InputBase);\n\ninterface IDateSelectorProps {\n classes: any;\n id: string;\n label: string;\n disableOptions?: boolean;\n addSwitch?: boolean;\n tooltip?: string;\n borderBottom?: boolean;\n value?: string;\n onDateChange: (date: string, isValid: boolean) => any;\n}\n\nconst DateSelector = forwardRef(\n (\n {\n classes,\n id,\n label,\n disableOptions = false,\n addSwitch = false,\n tooltip = \"\",\n borderBottom = false,\n onDateChange,\n value = \"\",\n }: IDateSelectorProps,\n ref: any\n ) => {\n useImperativeHandle(ref, () => ({ resetDate }));\n\n const [dateEnabled, setDateEnabled] = useState(false);\n const [month, setMonth] = useState(\"\");\n const [day, setDay] = useState(\"\");\n const [year, setYear] = useState(\"\");\n\n useEffect(() => {\n // verify if there is a current value\n // assume is in the format \"2021-12-30\"\n if (value !== \"\") {\n const valueSplit = value.split(\"-\");\n setYear(valueSplit[0]);\n setMonth(valueSplit[1]);\n // Turn to single digit to be displayed on dropdown buttons\n setDay(`${parseInt(valueSplit[2])}`);\n }\n }, [value]);\n\n useEffect(() => {\n const [isValid, dateString] = validDate(year, month, day);\n onDateChange(dateString, isValid);\n }, [month, day, year, onDateChange]);\n\n const resetDate = () => {\n setMonth(\"\");\n setDay(\"\");\n setYear(\"\");\n };\n\n const isDateDisabled = () => {\n if (disableOptions) {\n return disableOptions;\n } else if (addSwitch) {\n return !dateEnabled;\n } else {\n return false;\n }\n };\n\n const onMonthChange = (e: SelectChangeEvent) => {\n setMonth(e.target.value as string);\n };\n\n const onDayChange = (e: SelectChangeEvent) => {\n setDay(e.target.value as string);\n };\n\n const onYearChange = (e: SelectChangeEvent) => {\n setYear(e.target.value as string);\n };\n\n return (\n \n
\n \n );\n }\n);\n\nexport default withStyles(styles)(DateSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useRef, useState } from \"react\";\n\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button } from \"mds\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IFileInfo } from \"./types\";\n\nimport { twoDigitDate } from \"../../../../Common/FormComponents/DateSelector/utils\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport RadioGroupSelector from \"../../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport DateSelector from \"../../../../Common/FormComponents/DateSelector/DateSelector\";\nimport api from \"../../../../../../common/api\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n dateSelector: {\n \"& div\": {\n borderBottom: 0,\n marginBottom: 0,\n\n \"& div:nth-child(2)\": {\n border: \"1px solid #EAEAEA\",\n paddingLeft: 5,\n\n \"& div\": {\n border: 0,\n },\n },\n },\n },\n });\n\ninterface ISetRetentionProps {\n classes: any;\n open: boolean;\n closeModalAndRefresh: (updateInfo: boolean) => void;\n objectName: string;\n bucketName: string;\n objectInfo: IFileInfo;\n}\n\ninterface IRefObject {\n resetDate: () => void;\n}\n\nconst SetRetention = ({\n classes,\n open,\n closeModalAndRefresh,\n objectName,\n objectInfo,\n bucketName,\n}: ISetRetentionProps) => {\n const dispatch = useAppDispatch();\n const [statusEnabled, setStatusEnabled] = useState(true);\n const [type, setType] = useState(\"\");\n const [date, setDate] = useState(\"\");\n const [isDateValid, setIsDateValid] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const [alreadyConfigured, setAlreadyConfigured] = useState(false);\n\n useEffect(() => {\n if (objectInfo.retention_mode) {\n setType(objectInfo.retention_mode.toLowerCase());\n setAlreadyConfigured(true);\n }\n // get retention_until_date if defined\n if (objectInfo.retention_until_date) {\n const valueDate = new Date(objectInfo.retention_until_date);\n if (valueDate.toString() !== \"Invalid Date\") {\n const year = valueDate.getFullYear();\n const month = twoDigitDate(valueDate.getMonth() + 1);\n const day = valueDate.getDate();\n if (!isNaN(day) && month !== \"NaN\" && !isNaN(year)) {\n setDate(`${year}-${month}-${day}`);\n }\n }\n setAlreadyConfigured(true);\n }\n }, [objectInfo]);\n\n const dateElement = useRef(null);\n\n const dateFieldDisabled = () => {\n return !(statusEnabled && (type === \"governance\" || type === \"compliance\"));\n };\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n };\n\n const resetForm = () => {\n setStatusEnabled(false);\n setType(\"\");\n if (dateElement.current) {\n dateElement.current.resetDate();\n }\n };\n\n const addRetention = (\n selectedObject: string,\n versionId: string | null,\n expireDate: string\n ) => {\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/retention?prefix=${encodeURLString(\n selectedObject\n )}&version_id=${versionId}`,\n {\n expires: expireDate,\n mode: type,\n }\n )\n .then((res: any) => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(error));\n setIsSaving(false);\n });\n };\n\n const disableRetention = (\n selectedObject: string,\n versionId: string | null\n ) => {\n api\n .invoke(\n \"DELETE\",\n `/api/v1/buckets/${bucketName}/objects/retention?prefix=${encodeURLString(\n selectedObject\n )}&version_id=${versionId}`\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(error));\n setIsSaving(false);\n });\n };\n\n const saveNewRetentionPolicy = () => {\n setIsSaving(true);\n const selectedObject = objectInfo.name;\n const versionId = objectInfo.version_id;\n\n const expireDate =\n !statusEnabled && type === \"governance\" ? \"\" : `${date}T23:59:59Z`;\n\n if (!statusEnabled && type === \"governance\") {\n disableRetention(selectedObject, versionId);\n\n return;\n }\n\n addRetention(selectedObject, versionId, expireDate);\n };\n\n const showSwitcher =\n alreadyConfigured && (type === \"governance\" || type === \"\");\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n
\n Selected Object: {objectName}\n
\n \n \n );\n};\n\nexport default withStyles(styles)(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 { DialogContentText } from \"@mui/material\";\n\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { decodeURLString } from \"../../../../../../common/utils\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport { ConfirmDeleteIcon } from \"../../../../../../icons\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\n\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\ninterface IDeleteObjectProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObject: string;\n selectedBucket: string;\n\n versioning: boolean;\n selectedVersion?: string;\n}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n\n versioning,\n selectedVersion = \"\",\n}: IDeleteObjectProps) => {\n const dispatch = useAppDispatch();\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) =>\n dispatch(setErrorSnackMessage(err));\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n const [deleteVersions, setDeleteVersions] = useState(false);\n\n if (!selectedObject) {\n return null;\n }\n const onConfirmDelete = () => {\n const decodedSelectedObject = decodeURLString(selectedObject);\n const recursive = decodedSelectedObject.endsWith(\"/\");\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/buckets/${selectedBucket}/objects?path=${selectedObject}${\n selectedVersion !== \"\"\n ? `&version_id=${selectedVersion}`\n : `&recursive=${recursive}&all_versions=${deleteVersions}`\n }`\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete: \n {decodeURLString(selectedObject)}{\" \"}\n {selectedVersion !== \"\" ? (\n \n \n \n Version ID:\n \n {selectedVersion}\n \n ) : (\n \"\"\n )}\n ? \n \n {versioning && selectedVersion === \"\" && (\n {\n setDeleteVersions(!deleteVersions);\n }}\n description=\"\"\n />\n )}\n \n }\n />\n );\n};\n\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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button } from \"mds\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nimport { IFileInfo } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport api from \"../../../../../../common/api\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\n\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\n\ninterface ISetRetentionProps {\n classes: any;\n open: boolean;\n closeModalAndRefresh: (reload: boolean) => void;\n objectName: string;\n bucketName: string;\n actualInfo: IFileInfo;\n}\n\nconst SetLegalHoldModal = ({\n classes,\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\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/legalhold?prefix=${encodeURLString(\n objectName\n )}&version_id=${versionId}`,\n { status: legalHoldEnabled ? \"enabled\" : \"disabled\" }\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(error));\n setIsSaving(false);\n });\n };\n\n const resetForm = () => {\n setLegalHoldEnabled(false);\n };\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n \n Object: {bucketName}\n \n\n \n \n );\n};\n\nexport default withStyles(styles)(SetLegalHoldModal);\n","import React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { MetadataResponse } from \"./types\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, Table, TableBody, TableCell, TableRow } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n detailsPanel,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { withStyles } from \"@mui/styles\";\n\ninterface IObjectMetadata {\n bucketName: string;\n internalPaths: string;\n classes?: any;\n actualInfo: any;\n linear?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n propertiesIcon: {\n marginLeft: 5,\n \"& .min-icon\": {\n height: 12,\n },\n },\n\n capitalizeFirst: {\n textTransform: \"capitalize\",\n \"& .min-icon\": {\n width: 16,\n height: 16,\n },\n },\n titleItem: {\n width: \"35%\",\n },\n ...spacingUtils,\n ...detailsPanel,\n });\n\nconst ObjectMetaData = ({\n bucketName,\n internalPaths,\n classes,\n actualInfo,\n linear = false,\n}: IObjectMetadata) => {\n const [metaData, setMetaData] = useState({});\n\n const onMetaDataSuccess = (res: MetadataResponse) => {\n let metadata = get(res, \"objectMetadata\", {});\n\n setMetaData(metadata);\n };\n const onMetaDataError = (err: ErrorResponseHandler) => false;\n\n const [, invokeMetaDataApi] = useApi(onMetaDataSuccess, onMetaDataError);\n\n const metaKeys = Object.keys(metaData);\n const loadMetaData = useCallback(() => {\n invokeMetaDataApi(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects/metadata?prefix=${internalPaths}`\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [bucketName, internalPaths, actualInfo]);\n\n useEffect(() => {\n if (actualInfo) {\n loadMetaData();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [actualInfo, loadMetaData]);\n\n if (linear) {\n return (\n \n {metaKeys.map((element: string, index: number) => {\n const renderItem = Array.isArray(metaData[element])\n ? metaData[element].map(decodeURIComponent).join(\", \")\n : decodeURIComponent(metaData[element]);\n\n return (\n \n {element}\n \n {renderItem}\n \n );\n })}\n \n );\n }\n\n return (\n \n \n
\n \n \n );\n};\n\nexport default withStyles(styles)(ObjectMetaData);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Button } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport clsx from \"clsx\";\n\ntype ObjectActionButtonProps = {\n disabled?: boolean;\n onClick: () => void | any;\n icon: React.ReactNode;\n label: string;\n [x: string]: any;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: \"0 15px\",\n height: 22,\n margin: 0,\n color: \"#5E5E5E\",\n fontWeight: \"normal\",\n fontSize: 14,\n whiteSpace: \"nowrap\",\n width: \"100%\",\n justifyContent: \"flex-start\",\n \"&:hover\": {\n backgroundColor: \"transparent\",\n color: \"#000\",\n },\n \"& .min-icon\": {\n width: 11,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n });\n\n// TODO: Create an mds version of this.\nconst ObjectActionButton = ({\n disabled,\n onClick,\n icon,\n label,\n classes,\n ...restProps\n}: ObjectActionButtonProps) => {\n return (\n \n );\n};\n\nexport default withStyles(styles)(ObjectActionButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport ObjectActionButton from \"./ObjectActionButton\";\nimport { withStyles } from \"@mui/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { detailsPanel } from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nconst styles = () =>\n createStyles({\n ...detailsPanel,\n });\n\nexport interface MultiSelectionItem {\n action: () => void;\n label: string;\n disabled: boolean;\n icon: React.ReactNode;\n tooltip: string;\n}\n\ninterface IActionsListSectionProps {\n items: MultiSelectionItem[];\n title: string | React.ReactNode;\n classes: any;\n}\n\nconst ActionsListSection = ({\n items,\n classes,\n title,\n}: IActionsListSectionProps) => {\n return (\n \n
\n 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 onDelete={() => {\n onDeleteTag(tagKey, tag);\n }}\n />\n \n );\n }\n return null;\n })}\n \n
\n \n \n \n \n \n Add New Tag\n \n \n {\n setNewKey(e.target.value);\n }}\n />\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 withStyles(styles)(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 { Button } from \"mds\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n decodeURLString,\n deleteCookie,\n encodeURLString,\n getCookieValue,\n performDownload,\n} from \"../../../../../../common/utils\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport { InspectMenuIcon } from \"../../../../../../icons/SidebarMenus\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { PasswordKeyIcon } from \"../../../../../../icons\";\nimport { Box, DialogContentText } from \"@mui/material\";\nimport KeyRevealer from \"../../../../Tools/KeyRevealer\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\n\ninterface IInspectObjectProps {\n classes: any;\n closeInspectModalAndRefresh: (refresh: boolean) => void;\n inspectOpen: boolean;\n inspectPath: string;\n volumeName: string;\n}\n\nconst InspectObject = ({\n classes,\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 \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 \n ) : null}\n \n );\n};\n\nexport default withStyles(styles)(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 Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { Button } from \"mds\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport { EditIcon } from \"../../../icons\";\nimport {\n containerForHeader,\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { IFileInfo } from \"../Buckets/ListBuckets/Objects/ObjectDetails/types\";\nimport { encodeURLString } from \"../../../common/utils\";\nimport { download } from \"../Buckets/ListBuckets/Objects/utils\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n setNewObject,\n updateProgress,\n} from \"./objectBrowserSlice\";\nimport { makeid, storeCallForObjectWithID } from \"./transferManager\";\nimport { useAppDispatch } from \"../../../store\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\n\ninterface IRenameLongFilename {\n open: boolean;\n bucketName: string;\n internalPaths: string;\n currentItem: string;\n actualInfo: IFileInfo;\n closeModal: () => void;\n}\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...modalStyleUtils,\n ...formFieldStyles,\n ...spacingUtils,\n ...containerForHeader(theme.spacing(4)),\n })\n);\n\nconst RenameLongFileName = ({\n open,\n closeModal,\n currentItem,\n internalPaths,\n actualInfo,\n bucketName,\n}: IRenameLongFilename) => {\n const classes = useStyles();\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\n const identityDownload = encodeURLString(\n `${bucketName}-${\n actualInfo.name\n }-${new Date().getTime()}-${Math.random()}`\n );\n\n const downloadCall = download(\n bucketName,\n internalPaths,\n actualInfo.version_id,\n parseInt(actualInfo.size || \"0\"),\n newFileName,\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 const ID = makeid(8);\n storeCallForObjectWithID(ID, downloadCall);\n dispatch(\n setNewObject({\n ID,\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: newFileName,\n type: \"download\",\n waitingForFile: true,\n failed: false,\n cancelled: false,\n errorMessage: \"\",\n })\n );\n\n downloadCall.send();\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 { useSelector } from \"react-redux\";\nimport { Box } from \"@mui/material\";\nimport { withStyles } from \"@mui/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n actionsTray,\n buttonsStyles,\n detailsPanel,\n spacingUtils,\n textStyleUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IFileInfo } from \"../ObjectDetails/types\";\nimport { download, extensionPreview } from \"../utils\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\n\nimport {\n decodeURLString,\n encodeURLString,\n getClientOS,\n niceBytes,\n niceBytesInt,\n niceDaysInt,\n} from \"../../../../../../common/utils\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\n\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport {\n DeleteIcon,\n DownloadIcon,\n LegalHoldIcon,\n MetadataIcon,\n ObjectInfoIcon,\n PreviewIcon,\n RetentionIcon,\n ShareIcon,\n TagsIcon,\n VersionsIcon,\n} from \"../../../../../../icons\";\nimport { InspectMenuIcon } from \"../../../../../../icons/SidebarMenus\";\nimport api from \"../../../../../../common/api\";\nimport ShareFile from \"../ObjectDetails/ShareFile\";\nimport SetRetention from \"../ObjectDetails/SetRetention\";\nimport DeleteObject from \"../ListObjects/DeleteObject\";\nimport SetLegalHoldModal from \"../ObjectDetails/SetLegalHoldModal\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../../../common/SecureComponent\";\nimport PreviewFileModal from \"../Preview/PreviewFileModal\";\nimport ObjectMetaData from \"../ObjectDetails/ObjectMetaData\";\nimport ActionsListSection from \"./ActionsListSection\";\nimport { displayFileIconName } from \"./utils\";\nimport TagsModal from \"../ObjectDetails/TagsModal\";\nimport InspectObject from \"./InspectObject\";\nimport Loader from \"../../../../Common/Loader/Loader\";\nimport { selDistSet } from \"../../../../../../systemSlice\";\nimport {\n makeid,\n storeCallForObjectWithID,\n} from \"../../../../ObjectBrowser/transferManager\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n setLoadingObjectInfo,\n setLoadingVersions,\n setNewObject,\n setSelectedVersion,\n setVersionsModeEnabled,\n updateProgress,\n} from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport RenameLongFileName from \"../../../../ObjectBrowser/RenameLongFilename\";\n\nconst styles = () =>\n createStyles({\n ObjectDetailsTitle: {\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n width: 26,\n height: 26,\n minWidth: 26,\n minHeight: 26,\n },\n },\n objectNameContainer: {\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n alignItems: \"center\",\n marginLeft: 10,\n },\n headerForSection: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n paddingBottom: 15,\n borderBottom: \"#E2E2E2 2px solid\",\n fontWeight: \"bold\",\n fontSize: 18,\n color: \"#000\",\n margin: \"20px 22px\",\n },\n capitalizeFirst: {\n textTransform: \"capitalize\",\n },\n ...buttonsStyles,\n ...actionsTray,\n ...spacingUtils,\n ...textStyleUtils,\n ...detailsPanel,\n });\n\nconst emptyFile: IFileInfo = {\n is_latest: true,\n last_modified: \"\",\n legal_hold_status: \"\",\n name: \"\",\n retention_mode: \"\",\n retention_until_date: \"\",\n size: \"0\",\n tags: {},\n version_id: null,\n};\n\ninterface IObjectDetailPanelProps {\n classes: any;\n internalPaths: string;\n bucketName: string;\n versioning: boolean;\n locking: boolean;\n onClosePanel: (hardRefresh: boolean) => void;\n}\n\nconst ObjectDetailPanel = ({\n classes,\n internalPaths,\n bucketName,\n versioning,\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\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) {\n objectNameArray = actualInfo.name.split(\"/\");\n }\n\n useEffect(() => {\n if (distributedSetup && allInfoElements && allInfoElements.length >= 1) {\n let infoElement =\n allInfoElements.find((el: IFileInfo) => el.is_latest) || emptyFile;\n\n if (selectedVersion !== \"\") {\n infoElement =\n allInfoElements.find(\n (el: IFileInfo) => el.version_id === selectedVersion\n ) || emptyFile;\n }\n\n setActualInfo(infoElement);\n }\n }, [selectedVersion, distributedSetup, allInfoElements]);\n\n useEffect(() => {\n if (loadingObjectInfo && internalPaths !== \"\") {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects?prefix=${internalPaths}${\n distributedSetup ? \"&with_versions=true\" : \"\"\n }`\n )\n .then((res: IFileInfo[]) => {\n const result = get(res, \"objects\", []);\n if (distributedSetup) {\n setAllInfoElements(result);\n setVersions(result);\n const tVersionSize = result.reduce(\n (acc: number, currValue: IFileInfo) => {\n if (currValue?.size) {\n return acc + currValue.size;\n }\n return acc;\n },\n 0\n );\n\n setTotalVersionsSize(tVersionSize);\n } else {\n setActualInfo(result[0]);\n setVersions([]);\n }\n\n dispatch(setLoadingObjectInfo(false));\n })\n .catch((error: ErrorResponseHandler) => {\n console.error(\"Error loading object details\", error);\n dispatch(setLoadingObjectInfo(false));\n });\n }\n }, [\n loadingObjectInfo,\n bucketName,\n internalPaths,\n dispatch,\n distributedSetup,\n selectedVersion,\n ]);\n\n let tagKeys: string[] = [];\n\n if (actualInfo && actualInfo.tags) {\n tagKeys = Object.keys(actualInfo.tags);\n }\n\n const openRetentionModal = () => {\n setRetentionModalOpen(true);\n };\n\n const closeRetentionModal = (updateInfo: boolean) => {\n setRetentionModalOpen(false);\n if (updateInfo) {\n 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 downloadObject = (object: IFileInfo) => {\n const identityDownload = encodeURLString(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`\n );\n\n if (\n object.name.length > 200 &&\n getClientOS().toLowerCase().includes(\"win\")\n ) {\n setLongFileOpen(true);\n return;\n }\n\n const downloadCall = download(\n bucketName,\n internalPaths,\n object.version_id,\n parseInt(object.size || \"0\"),\n null,\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 const ID = makeid(8);\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 downloadCall.send();\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 \n \n \n );\n};\n\nexport default withStyles(styles)(DaysSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport Grid from \"@mui/material/Grid\";\nimport LinearProgress from \"@mui/material/LinearProgress\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nimport { IFileInfo } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport api from \"../../../../../../common/api\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport PredefinedList from \"../../../../Common/FormComponents/PredefinedList/PredefinedList\";\nimport DaysSelector from \"../../../../Common/FormComponents/DaysSelector/DaysSelector\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport { ShareIcon } from \"../../../../../../icons\";\nimport {\n selDistSet,\n setModalErrorSnackMessage,\n setModalSnackMessage,\n} from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\nconst CopyIcon = React.lazy(() => import(\"../../../../../../icons/CopyIcon\"));\n\nconst styles = (theme: Theme) =>\n createStyles({\n shareLinkInfo: {\n fontSize: 14,\n fontWeight: 400,\n },\n copyShareLink: {\n display: \"flex\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n },\n copyShareLinkInput: {\n \"& div:first-child\": {\n marginTop: 0,\n },\n \"@media (max-width: 900px)\": {\n minWidth: 250,\n },\n },\n copyShareLinkBtn: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"@media (max-width: 900px)\": {\n marginTop: 10,\n },\n },\n ...modalStyleUtils,\n ...formFieldStyles,\n });\n\ninterface IShareFileProps {\n classes: any;\n open: boolean;\n bucketName: string;\n dataObject: IFileInfo;\n closeModalAndRefresh: () => void;\n}\n\nconst ShareFile = ({\n classes,\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\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects?prefix=${encodeURLString(\n dataObject.name\n )}${distributedSetup ? \"&with_versions=true\" : \"\"}`\n )\n .then((res: IFileInfo[]) => {\n const result = get(res, \"objects\", []);\n\n const latestVersion = result.find(\n (elem: IFileInfo) => elem.is_latest\n );\n\n if (latestVersion) {\n setVersionID(latestVersion.version_id);\n return;\n }\n\n // Version couldn't ve retrieved, we default\n setVersionID(\"null\");\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(error));\n });\n\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(\"null\");\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(dataObject.version_id || \"null\");\n setIsLoadingVersion(false);\n }, [bucketName, dataObject, distributedSetup, 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\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects/share?prefix=${encodeURLString(\n dataObject.name\n )}&version_id=${versionID}${\n selectedDate !== \"\" ? `&expires=${diffDate}s` : \"\"\n }`\n )\n .then((res: string) => {\n setShareURL(res);\n setIsLoadingFile(false);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(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};\n\nexport default withStyles(styles)(ShareFile);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, LinearProgress } from \"@mui/material\";\nimport { BucketObjectItem } from \"../ListObjects/types\";\nimport { extensionPreview } from \"../utils\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport clsx from \"clsx\";\n\nconst styles = () =>\n createStyles({\n iframeContainer: {\n border: \"0px\",\n flex: \"1 1 auto\",\n width: \"100%\",\n height: 250,\n backgroundColor: \"transparent\",\n borderRadius: 5,\n\n \"&.image\": {\n height: 500,\n },\n \"&.text\": {\n height: 700,\n },\n \"&.audio\": {\n height: 150,\n },\n \"&.video\": {\n height: 350,\n },\n \"&.fullHeight\": {\n height: \"calc(100vh - 185px)\",\n },\n },\n iframeBase: {\n backgroundColor: \"#fff\",\n },\n iframeHidden: {\n display: \"none\",\n },\n });\n\ninterface IPreviewFileProps {\n bucketName: string;\n object: BucketObjectItem | null;\n isFullscreen?: boolean;\n classes: any;\n}\n\nconst PreviewFile = ({\n bucketName,\n object,\n isFullscreen = false,\n classes,\n}: IPreviewFileProps) => {\n const [loading, setLoading] = useState(true);\n\n let path = \"\";\n\n if (object) {\n const encodedPath = 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 const objectType = extensionPreview(object?.name || \"\");\n\n const iframeLoaded = () => {\n setLoading(false);\n };\n\n return (\n \n {loading && (\n \n \n \n )}\n
\n \n );\n};\nexport default withStyles(styles)(PreviewFile);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport PreviewFileContent from \"./PreviewFileContent\";\nimport { BucketObjectItem } from \"../ListObjects/types\";\nimport { ObjectPreviewIcon } from \"../../../../../../icons\";\n\ninterface IPreviewFileProps {\n open: boolean;\n bucketName: string;\n object: BucketObjectItem | null;\n onClosePreview: () => void;\n}\n\nconst PreviewFileModal = ({\n open,\n bucketName,\n object,\n onClosePreview,\n}: IPreviewFileProps) => {\n return (\n \n }\n >\n \n \n \n );\n};\n\nexport default PreviewFileModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { BucketObjectItem } from \"./ListObjects/types\";\nimport { IAllowResources } from \"../../../types\";\nimport { encodeURLString } from \"../../../../../common/utils\";\n\nexport const download = (\n bucketName: string,\n objectPath: string,\n versionID: any,\n fileSize: number,\n overrideFileName: string | null = null,\n progressCallback: (progress: number) => void,\n completeCallback: () => void,\n errorCallback: (msg: string) => void,\n abortCallback: () => void\n) => {\n const anchor = document.createElement(\"a\");\n document.body.appendChild(anchor);\n let basename = document.baseURI.replace(window.location.origin, \"\");\n\n let path = `${\n window.location.origin\n }${basename}api/v1/buckets/${bucketName}/objects/download?prefix=${objectPath}${\n overrideFileName !== null && overrideFileName.trim() !== \"\"\n ? `&override_file_name=${encodeURLString(overrideFileName || \"\")}`\n : \"\"\n }`;\n if (versionID) {\n path = path.concat(`&version_id=${versionID}`);\n }\n\n var req = new XMLHttpRequest();\n req.open(\"GET\", path, true);\n req.addEventListener(\n \"progress\",\n function (evt) {\n let percentComplete = Math.round((evt.loaded / fileSize) * 100);\n\n if (progressCallback) {\n progressCallback(percentComplete);\n }\n },\n false\n );\n\n req.responseType = \"blob\";\n req.onreadystatechange = () => {\n if (req.readyState === 4) {\n if (req.status === 200) {\n const rspHeader = req.getResponseHeader(\"Content-Disposition\");\n\n let filename = \"download\";\n if (rspHeader) {\n let rspHeaderDecoded = decodeURIComponent(rspHeader);\n filename = rspHeaderDecoded.split('\"')[1];\n }\n\n if (completeCallback) {\n completeCallback();\n }\n\n var link = document.createElement(\"a\");\n link.href = window.URL.createObjectURL(req.response);\n link.download = filename;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n } else {\n if (req.getResponseHeader(\"Content-Type\") === \"application/json\") {\n const rspBody: { detailedMessage?: string } = JSON.parse(\n req.response\n );\n if (rspBody.detailedMessage) {\n errorCallback(rspBody.detailedMessage);\n return;\n }\n }\n errorCallback(`Unexpected response status code (${req.status}).`);\n }\n }\n };\n req.onerror = () => {\n if (errorCallback) {\n errorCallback(\"A network error occurred.\");\n }\n };\n req.onabort = () => {\n if (abortCallback) {\n abortCallback();\n }\n };\n //req.send();\n\n return req;\n};\n\n// Review file extension by name & returns the type of preview browser that can be used\nexport const extensionPreview = (\n fileName: string\n): \"image\" | \"text\" | \"audio\" | \"video\" | \"none\" => {\n const imageExtensions = [\n \"jif\",\n \"jfif\",\n \"apng\",\n \"avif\",\n \"svg\",\n \"webp\",\n \"bmp\",\n \"ico\",\n \"jpg\",\n \"jpe\",\n \"jpeg\",\n \"gif\",\n \"png\",\n \"heic\",\n ];\n const textExtensions = [\"pdf\", \"txt\", \"json\"];\n const audioExtensions = [\"wav\", \"mp3\", \"alac\", \"aiff\", \"dsd\", \"pcm\"];\n const videoExtensions = [\n \"mp4\",\n \"avi\",\n \"mpg\",\n \"webm\",\n \"mov\",\n \"flv\",\n \"mkv\",\n \"wmv\",\n \"avchd\",\n \"mpeg-4\",\n ];\n\n let fileExtension = fileName.split(\".\").pop();\n\n if (!fileExtension) {\n return \"none\";\n }\n\n fileExtension = fileExtension.toLowerCase();\n\n if (imageExtensions.includes(fileExtension)) {\n return \"image\";\n }\n\n if (textExtensions.includes(fileExtension)) {\n return \"text\";\n }\n\n if (audioExtensions.includes(fileExtension)) {\n return \"audio\";\n }\n\n if (videoExtensions.includes(fileExtension)) {\n return \"video\";\n }\n\n return \"none\";\n};\n\nexport const sortListObjects = (fieldSort: string) => {\n switch (fieldSort) {\n case \"name\":\n return (a: BucketObjectItem, b: BucketObjectItem) =>\n a.name.localeCompare(b.name);\n case \"last_modified\":\n return (a: BucketObjectItem, b: BucketObjectItem) =>\n new Date(a.last_modified).getTime() -\n new Date(b.last_modified).getTime();\n case \"size\":\n return (a: BucketObjectItem, b: BucketObjectItem) =>\n (a.size || -1) - (b.size || -1);\n }\n};\n\nexport const permissionItems = (\n bucketName: string,\n currentPath: string,\n permissionsArray: IAllowResources[]\n): BucketObjectItem[] | null => {\n if (permissionsArray.length === 0) {\n return null;\n }\n\n // We get permissions applied to the current bucket\n const filteredPermissionsForBucket = permissionsArray.filter(\n (permissionItem) =>\n permissionItem.resource.endsWith(`:${bucketName}`) ||\n permissionItem.resource.includes(`:${bucketName}/`)\n );\n\n // No permissions for this bucket. we can throw the error message at this point\n if (filteredPermissionsForBucket.length === 0) {\n return null;\n }\n\n const returnElements: BucketObjectItem[] = [];\n\n // We split current path\n const splitCurrentPath = currentPath.split(\"/\");\n\n filteredPermissionsForBucket.forEach((permissionElement) => {\n // We review paths in resource address\n\n // We split ARN & get the last item to check the URL\n const splitARN = permissionElement.resource.split(\":\");\n const urlARN = splitARN.pop() || \"\";\n\n // We split the paths of the URL & compare against current location to see if there are more items to include. In case current level is a wildcard or is the last one, we omit this validation\n\n const splitURLARN = urlARN.split(\"/\");\n\n // splitURL has more items than bucket name, we can continue validating\n if (splitURLARN.length > 1) {\n splitURLARN.every((currentElementInPath, index) => {\n // It is a wildcard element. We can stor the verification as value should be included (?)\n if (currentElementInPath === \"*\") {\n return false;\n }\n\n // Element is not included in the path. The user is trying to browse something else.\n if (\n splitCurrentPath[index] &&\n splitCurrentPath[index] !== currentElementInPath\n ) {\n return false;\n }\n\n // This element is not included by index in the current paths list. We add it so user can browse into it\n if (!splitCurrentPath[index]) {\n returnElements.push({\n name: `${currentElementInPath}/`,\n size: 0,\n last_modified: new Date(),\n version_id: \"\",\n });\n }\n\n return true;\n });\n }\n\n // We review prefixes in allow resources for StringEquals variant only.\n if (\n permissionElement.conditionOperator === \"StringEquals\" ||\n permissionElement.conditionOperator === \"StringLike\"\n ) {\n permissionElement.prefixes.forEach((prefixItem) => {\n // Prefix Item is not empty?\n if (prefixItem !== \"\") {\n const splitItems = prefixItem.split(\"/\");\n\n let pathToRouteElements: string[] = [];\n\n splitItems.every((splitElement, index) => {\n if (!splitElement.includes(\"*\") && splitElement !== \"\") {\n if (splitElement !== splitCurrentPath[index]) {\n returnElements.push({\n name: `${pathToRouteElements.join(\"/\")}${\n pathToRouteElements.length > 0 ? \"/\" : \"\"\n }${splitElement}/`,\n size: 0,\n last_modified: new Date(),\n version_id: \"\",\n });\n return false;\n }\n if (splitElement !== \"\") {\n pathToRouteElements.push(splitElement);\n }\n\n return true;\n }\n return false;\n });\n }\n });\n }\n });\n\n return returnElements;\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 from \"react\";\nimport { LoginMinIOLogo } from \"../../../../icons\";\nimport { useSelector } from \"react-redux\";\nimport { AppState } from \"../../../../store\";\n\ninterface IAutoColorIcon {\n marginRight: number;\n marginTop: number;\n}\n\nconst AutoColorIcon = ({ marginRight, marginTop }: IAutoColorIcon) => {\n let tinycolor = require(\"tinycolor2\");\n\n const colorVariants = useSelector(\n (state: AppState) => state.system.overrideStyles\n );\n\n const isDark =\n tinycolor(colorVariants?.backgroundColor || \"#fff\").getBrightness() <= 128;\n\n return (\n \n );\n};\n\nexport default AutoColorIcon;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 )}\n \n \n \n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { cloneElement } from \"react\";\nimport { Tooltip } from \"@mui/material\";\n\ninterface ITooltipWrapperProps {\n tooltip: string;\n children: any;\n errorProps?: any;\n}\n\nconst TooltipWrapper = ({\n tooltip,\n children,\n errorProps = null,\n}: ITooltipWrapperProps) => {\n return (\n \n \n {errorProps ? cloneElement(children, { ...errorProps }) : children}\n \n \n );\n};\n\nexport default TooltipWrapper;\n","// This file is part of MinIO Console Server\n// Copyright (c) 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\nlet objectCalls: { [key: string]: XMLHttpRequest } = {};\n\nexport const storeCallForObjectWithID = (id: string, call: XMLHttpRequest) => {\n objectCalls[id] = call;\n};\n\nexport const callForObjectID = (id: string): XMLHttpRequest => {\n return objectCalls[id];\n};\n\nexport const makeid = (length: number) => {\n var result = \"\";\n var characters =\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\n var charactersLength = characters.length;\n for (var i = 0; i < length; i++) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n }\n return result;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { Box } from \"@mui/material\";\nimport { Button } from \"mds\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { CopyIcon } from \"../../../icons\";\n\nconst KeyRevealer = ({ value }: { value: string }) => {\n const [shown, setShown] = useState(false);\n\n return (\n \n {}}\n value={value}\n overlayIcon={}\n extraInputProps={{\n readOnly: true,\n }}\n overlayAction={() => navigator.clipboard.writeText(value)}\n />\n\n \n );\n};\n\nexport default KeyRevealer;\n"],"names":["CreatePathModal","withSuspense","React","withStyles","theme","createStyles","objectBrowserCommon","slashSpacingStyle","margin","classes","bucketName","internalPaths","existingFiles","hidePathButton","additionalOptions","dispatch","useAppDispatch","navigate","useNavigate","rewindEnabled","useSelector","state","objectBrowser","rewind","versionsMode","versionedFile","useState","createFolderOpen","setCreateFolderOpen","paths","splitPaths","split","filter","path","lastBreadcrumbsIndex","length","breadcrumbsMap","map","objectItem","index","subSplit","slice","join","route","encodeURLString","Fragment","className","style","cursor","to","onClick","setVersionsModeEnabled","status","objectName","toString","versionsItem","listBreadcrumbs","breadcrumbsMain","modalOpen","folderName","onClose","Grid","item","xs","breadcrumbs","IconButton","sx","border","backgroundColor","borderLeft","borderRadius","width","height","marginRight","breadcrumbsList","dir","text","id","icon","fill","marginTop","variant","setSnackBarMessage","color","Tooltip","title","disabled","hasPermission","IAM_SCOPES","whiteSpace","label","breadcrumbsSecond","listUploadIcons","uploadPath","forceDisable","uploadFileFunction","uploadFolderFunction","anchorEl","setAnchorEl","openUploadMenu","Boolean","handleCloseUpload","uploadObjectAllowed","uploadFolderAllowed","uploadEnabled","TooltipWrapper","tooltip","undefined","event","currentTarget","Menu","open","anchorOrigin","vertical","horizontal","transformOrigin","MenuItem","ListItemIcon","ListItemText","useStyles","makeStyles","detailsList","borderColor","borderWidth","borderStyle","borderBottomLeftRadius","borderBottomRightRadius","transitionDuration","overflowX","overflowY","position","opacity","marginLeft","minWidth","borderLeftWidth","closePanel","right","top","children","months","value","days","Array","from","_","num","currentYear","Date","getFullYear","years","numYear","SelectStyled","root","input","borderBottom","fontSize","InputBase","DateSelector","forwardRef","ref","disableOptions","addSwitch","onDateChange","useImperativeHandle","resetDate","dateEnabled","setDateEnabled","month","setMonth","day","setDay","year","setYear","useEffect","valueSplit","parseInt","currentDate","parse","isNaN","parsedMonth","parsedDay","monthForString","dayForString","parsedDate","toISOString","dateString","validDate","isValid","isDateDisabled","clsx","fieldContainer","fieldContainerBorder","labelContainer","container","InputLabel","htmlFor","inputLabel","tooltipContainer","placement","HelpIcon","FormSwitchWrapper","indicatorLabels","checked","name","onChange","e","target","switchOnly","FormControl","dateInput","Select","displayEmpty","option","dayNumber","fieldBasic","tooltipHelper","flex","display","alignItems","justifyContent","paddingBottom","marginBottom","formFieldStyles","modalStyleUtils","spacingUtils","dateSelector","paddingLeft","closeModalAndRefresh","objectInfo","statusEnabled","setStatusEnabled","type","setType","date","setDate","isDateValid","setIsDateValid","isSaving","setIsSaving","alreadyConfigured","setAlreadyConfigured","retention_mode","toLowerCase","retention_until_date","valueDate","getMonth","getDate","dateElement","useRef","resetForm","current","showSwitcher","ModalWrapper","spacerBottom","noValidate","autoComplete","onSubmit","preventDefault","formFieldRow","RadioGroupSelector","currentSelection","selectorOptions","modalButtonBar","selectedObject","versionId","version_id","expireDate","api","expires","mode","then","res","catch","error","setModalErrorSnackMessage","addRetention","disableRetention","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","versioning","selectedVersion","useApi","err","setErrorSnackMessage","deleteLoading","invokeDeleteApi","deleteVersions","setDeleteVersions","ConfirmDialog","confirmText","isOpen","titleIcon","isLoading","onConfirm","recursive","decodeURLString","endsWith","confirmationContent","DialogContentText","description","actualInfo","legalHoldEnabled","setLegalHoldEnabled","get","propertiesIcon","capitalizeFirst","textTransform","titleItem","detailsPanel","linear","metaData","setMetaData","metadata","invokeMetaDataApi","metaKeys","Object","keys","loadMetaData","useCallback","element","renderItem","isArray","decodeURIComponent","Box","metadataLinear","Table","table","TableBody","TableRow","TableCell","component","scope","align","padding","fontWeight","restProps","Button","startIcon","items","titleLabel","objectActions","actionItem","action","fileName","minHeight","fileNameText","overflow","textOverflow","strings","FileBookIcon","FileCodeIcon","FileConfigIcon","FileDbIcon","FileFontIcon","FileImageIcon","FileLockIcon","FileMissingIcon","FileMusicIcon","FilePdfIcon","FilePptIcon","FileTxtIcon","FileVideoIcon","FileXlsIcon","FileZipIcon","extensionToIcon","extensions","displayFileIconName","returnOnlyIcon","elementString","ObjectBrowserIcon","ObjectBrowserFolderIcon","lowercaseElement","etc","ext","indexOf","splitItem","newTileHeader","tagsForLabel","currentTagsContainer","noTagsForObject","deleteTag","onCloseAndUpdate","distributedSetup","selDistSet","newKey","setNewKey","newLabel","setNewLabel","isSending","setIsSending","deleteEnabled","setDeleteEnabled","deleteKey","setDeleteKey","deleteLabel","setDeleteLabel","currentTags","tags","currTagKeys","currentItem","pop","tagsFor","plural","cleanObject","verID","SecureComponent","scopes","resource","flexFlow","tagKey","tag","matchAll","errorProps","deleteIcon","onDelete","Chip","size","Close","onDeleteTag","InputBoxWrapper","placeholder","trim","newTag","newTagList","closeInspectModalAndRefresh","inspectOpen","inspectPath","volumeName","isEncrypt","setIsEncrypt","decryptionKey","setDecryptionKey","insFileName","setInsFileName","makeRequest","url","fetch","method","performInspect","file","volume","urlOfInspectApi","ok","json","resErr","errorMessage","message","detailedError","code","blob","filename","headers","decryptKey","getCookieValue","performDownload","deleteCookie","KeyRevealer","containerForHeader","spacing","closeModal","newFileName","setNewFileName","acceptLongName","setAcceptLongName","identityDownload","getTime","Math","random","downloadCall","download","progress","updateProgress","instanceID","completeObject","msg","failObject","cancelObjectInList","ID","makeid","storeCallForObjectWithID","setNewObject","done","percentage","prefix","waitingForFile","failed","cancelled","send","doDownload","modalFormScrollable","emptyFile","is_latest","last_modified","legal_hold_status","ObjectDetailsTitle","objectNameContainer","headerForSection","buttonsStyles","actionsTray","textStyleUtils","locking","onClosePanel","loadingObjectInfo","shareFileModalOpen","setShareFileModalOpen","retentionModalOpen","setRetentionModalOpen","tagModalOpen","setTagModalOpen","legalholdOpen","setLegalholdOpen","inspectModalOpen","setInspectModalOpen","setActualInfo","allInfoElements","setAllInfoElements","objectToShare","setObjectToShare","versions","setVersions","setDeleteOpen","previewOpen","setPreviewOpen","totalVersionsSize","setTotalVersionsSize","longFileOpen","setLongFileOpen","objectNameArray","infoElement","find","el","result","tVersionSize","reduce","acc","currValue","setLoadingObjectInfo","console","tagKeys","loaderForContainer","textAlign","Loader","objectResources","multiActionButtons","object","getClientOS","includes","downloadObject","is_delete_marker","extensionPreview","ShareFile","dataObject","updateInfo","closeAndReload","setLoadingVersions","setSelectedVersion","reload","PreviewFileModal","content_type","onClosePreview","TagsModal","reloadObjectData","iconLocation","fullWidth","detailContainer","overflowWrap","niceBytes","niceBytesInt","lastModified","currentTime","modifiedTime","difTime","formatTime","niceDaysInt","calculateLastModifyTime","etag","displayParsedDate","displayNiceBytes","String","listModeColumns","elementKey","renderFunction","enableSort","renderFullObject","contentTextAlign","rewindModeColumns","modalBasic","versionID","objectPath","restoreOpen","restoreLoading","setRestoreLoading","RecoverIcon","confirmButtonProps","wrapText","bgColor","mainFileVersionItem","intermediateLayer","borderBottomColor","versionContainer","buttonContainer","maxWidth","versionData","ctrItem","content","left","collapsableInfo","flexDirection","versionItem","versionInfo","isSelected","checkable","isChecked","onCheck","onShare","onDownload","onRestore","onPreview","globalClick","key","disableButtons","versionItemButtons","pill","md","CheckboxWrapper","stopPropagation","overrideCheckboxStyles","noTopMargin","button","buttonDisabled","setDeleteLoading","typeConfirm","setTypeConfirm","selectedVersions","selectedObjectsRequest","versionsContainer","noBottomBorder","versionsVirtualPanel","flexGrow","screenTitleContainer","bottom","sortByLabel","hrClass","tableStyles","objectBrowserExtras","searchVersions","loadingVersions","restoreVersionOpen","setRestoreVersionOpen","restoreVersion","setRestoreVersion","sortValue","setSortValue","deleteNonCurrentOpen","setDeleteNonCurrentOpen","selectEnabled","setSelectEnabled","selectedItems","setSelectedItems","delSelectedVOpen","setDelSelectedVOpen","decodedInternalPaths","filteredPrefixes","onShareItem","onPreviewItem","onRestoreItem","onDownloadItem","onGlobalClick","filteredRecords","version","totalSpace","sort","a","b","dateA","dateB","onCheckVersion","filteredItems","cloneState","push","DeleteNonCurrent","reloadAfterDelete","DeleteSelectedVersions","reloadOnComplete","LinearProgress","ScreenTitle","listIcon","titleSpacer","subTitle","bucketDetails","detailsSpacer","actions","SelectWrapper","options","containerStyle","rowCount","rowHeight","rowRenderer","isScrolling","isVisible","versOrd","HistoryIcon","RefreshIcon","DeleteIcon","DeleteMultipleObjects","RewindEnable","browsePaper","backgroundImage","badgeOverlap","screenTitle","paddingTop","paddingRight","searchField","labelStyle","breadcrumbsContainer","parentWrapper","fullContainer","hideListOnSmall","baseDnDStyle","outline","activeDnDStyle","acceptDnDStyle","defLoading","Typography","params","useParams","location","useLocation","rewindDate","dateToRewind","bucketToRewind","searchObjects","showDeleted","detailsOpen","objectDetailsOpen","selectedInternalPaths","loading","loadingObjects","simplePath","loadingBucket","selBucketDetailsLoading","bucketInfo","selBucketDetailsInfo","allowResources","session","features","selFeatures","obOnly","records","setRecords","deleteMultipleOpen","setDeleteMultipleOpen","loadingStartTime","setLoadingStartTime","loadingMessage","setLoadingMessage","loadingVersioning","setLoadingVersioning","isVersioned","setIsVersioned","loadingLocking","setLoadingLocking","lockingEnabled","setLockingEnabled","rewindSelect","setRewindSelect","selectedObjects","setSelectedObjects","selectedPreview","setSelectedPreview","sortDirection","setSortDirection","currentSortField","setCurrentSortField","iniLoad","setIniLoad","canShareFile","setCanShareFile","canPreviewFile","setCanPreviewFile","quota","setQuota","downloadRenameModal","setDownloadRenameModal","pathSegment","pathname","fileUpload","folderUpload","setAttribute","quotaVals","setObjectDetailsView","displayDeleteObject","displayListObjects","setBucketDetailsLoad","callback","delay","savedCallback","setInterval","clearInterval","useInterval","timeDelta","now","ceil","updateMessage","is_versioned","object_locking_enabled","decodedIPaths","setSelectedObjectView","setSimplePathHandler","setSearchObjects","setLoadingObjectsList","pathPrefix","decodedPath","currentTimestamp","urlTake","resetRewind","rewindParsed","currDateISO","objects","folders","files","forEach","record","recordsInElement","pathTest","found","pathPrefixChopped","i","parentPath","permitItems","permissionItems","setBucketInfo","handleUploadButton","newFiles","uploadObject","folderPath","uploadPromise","Promise","resolve","reject","uploadUrl","blobFile","Blob","encodedPath","filePath","fileWebkitRelativePath","relativeFolderPath","finalFolderPath","pathClean","startsWith","identity","xhr","XMLHttpRequest","areMultipleFiles","errorMessages","withCredentials","onload","response","JSON","detailedMessage","upload","addEventListener","floor","loaded","total","onerror","onloadend","onabort","formData","FormData","append","uploadFilePromises","openList","allSettled","results","errors","totalFiles","successUploadedFiles","onDrop","acceptedFiles","newFolderPath","useDropzone","noClick","getRootProps","getInputProps","isDragActive","isDragAccept","dndStyles","useMemo","pageTitle","currentPath","sortASC","sortListObjects","payload","reverse","concat","forceRefresh","splitURLS","URLItem","tableActions","idElement","newPath","sendOnlyId","itemsToDownload","filteredItem","fileObject","refresh","PageLayout","creation_date","access","actionsSection","Badge","badgeContent","invisible","multiple","closeMenu","click","tableBlock","borderTop","setShowDeletedObjects","overrideLabelClasses","overrideShowDeleted","TableWrapper","itemActions","columns","entityName","idField","customPaperHeight","onSelect","targetD","elements","customEmptyMessage","sortConfig","currentSort","currentDirection","triggerSort","sortData","newSortDirection","sortBy","onSelectAll","rowStyle","delete_flag","parentClassName","configureBucketAllowed","searchBar","SearchBox","setSearchVersions","AutoColorIcon","PageHeader","BackLink","IAM_PAGES","IAM_PERMISSIONS","IAM_ROLES","SettingsIcon","middleComponent","dateInputContainer","durationInputs","validityIndicator","invalidDurationText","reverseInput","validityText","validTill","initialDate","maxDays","entity","selectedDays","setSelectedDays","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","setValidDate","moment","dateSelected","setDateSelected","hours","minutes","add","calculateNewTime","format","valid","extraInputProps","min","max","noLabelMinWidth","validityLabel","CopyIcon","shareLinkInfo","copyShareLink","copyShareLinkInput","copyShareLinkBtn","shareURL","setShareURL","isLoadingVersion","setIsLoadingVersion","isLoadingFile","setIsLoadingFile","selectedDate","setSelectedDate","dateValid","setDateValid","setVersionID","latestVersion","elem","slDate","currDate","diffDate","dateContainer","newDate","PredefinedList","actionButton","setModalSnackMessage","iframeContainer","iframeBase","iframeHidden","isFullscreen","setLoading","basename","document","baseURI","replace","window","origin","objectType","iframeLoaded","maxHeight","autoPlay","controls","muted","playsInline","onPlay","src","alt","onLoad","allowTransparency","wideLimit","PreviewFileContent","fileSize","overrideFileName","progressCallback","completeCallback","errorCallback","abortCallback","anchor","createElement","body","appendChild","req","evt","percentComplete","round","responseType","onreadystatechange","readyState","rspHeader","getResponseHeader","link","href","URL","createObjectURL","removeChild","rspBody","fileExtension","fieldSort","localeCompare","permissionsArray","filteredPermissionsForBucket","permissionItem","returnElements","splitCurrentPath","permissionElement","splitURLARN","every","currentElementInPath","conditionOperator","prefixes","prefixItem","splitItems","pathToRouteElements","splitElement","tinycolor","require","colorVariants","system","overrideStyles","isDark","getBrightness","WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","predefinedList","multiLine","prefinedContainer","predefinedTitle","includesActionButton","innerContentMultiline","innerContent","overlayShareOption","deleteDialogStyles","customDialogSize","snackBarCommon","noContentPadding","openSnackbar","setOpenSnackbar","modalSnackMessage","modalSnackBar","customSize","paper","detailedErrorMsg","scroll","reason","titleText","closeContainer","closeButton","disableRipple","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","adornment","adornmentPosition","overrideClass","inputProps","disableUnderline","InputProps","cloneElement","objectCalls","call","callForObjectID","characters","charactersLength","charAt","shown","setShown","sm","overlayIcon","readOnly","overlayAction","navigator","clipboard","writeText"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1379.c2ecb9aa.chunk.js b/portal-ui/build/static/js/1379.c2ecb9aa.chunk.js
new file mode 100644
index 000000000..436afaac9
--- /dev/null
+++ b/portal-ui/build/static/js/1379.c2ecb9aa.chunk.js
@@ -0,0 +1,2 @@
+"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1379],{41379:function(e,n,t){t.r(n),t.d(n,{default:function(){return Qn}});var i=t(1413),a=t(72791),o=t(60364),s=t(16871),r=t(11135),c=t(25787),l=t(61889),d=t(25469),u=t(23814),h=t(93433),m=t(29439),f=t(57831),p=t(75952),x=t(26181),v=t.n(x),b=t(81207),g=t(92983),j=t(45248),Z=t(20890),w=t(84697),C=t(78029),S=t.n(C),y=t(43504),N=t(13400),_=t(20068),T=t(38734),E=t(38442),I=t(56087),k=t(75578),F=t(87995),P=t(54756),L=t(80184),O=(0,k.Z)(a.lazy((function(){return t.e(2185).then(t.bind(t,62185))}))),D=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)({},u.cx),{},{slashSpacingStyle:{margin:"0 5px"}}))}))((function(e){var n=e.classes,t=e.bucketName,i=e.internalPaths,r=e.existingFiles,c=e.hidePathButton,u=e.additionalOptions,f=(0,d.TL)(),x=(0,s.s0)(),v=(0,o.v9)((function(e){return e.objectBrowser.rewind.rewindEnabled})),b=(0,o.v9)((function(e){return e.objectBrowser.versionsMode})),g=(0,o.v9)((function(e){return e.objectBrowser.versionedFile})),Z=(0,a.useState)(!1),w=(0,m.Z)(Z,2),C=w[0],k=w[1],D=i;""!==i&&(D="/".concat(i));var B=D.split("/").filter((function(e){return""!==e})),R=B.length-1,z=B.map((function(e,i){var o="".concat(B.slice(0,i+1).join("/"),"/"),s="/buckets/".concat(t,"/browse/").concat(o?"".concat((0,j.LL)(o)):"");return i===R&&e===g?null:(0,L.jsxs)(a.Fragment,{children:[(0,L.jsx)("span",{className:n.slashSpacingStyle,children:"/"}),i===R?(0,L.jsx)("span",{style:{cursor:"default"},children:e}):(0,L.jsx)(y.rU,{to:s,onClick:function(){f((0,P.db)({status:!1,objectName:""}))},children:e})]},"breadcrumbs-".concat(i.toString()))})),A=[];b&&(A=[(0,L.jsx)(a.Fragment,{children:(0,L.jsxs)("span",{children:[(0,L.jsx)("span",{className:n.slashSpacingStyle,children:"/"}),g," - Versions"]})},"breadcrumbs-versionedItem")]);var M=[(0,L.jsx)(a.Fragment,{children:(0,L.jsx)(y.rU,{to:"/buckets/".concat(t,"/browse"),onClick:function(){f((0,P.db)({status:!1,objectName:""}))},children:t})},"breadcrumbs-root-path")].concat((0,h.Z)(z),(0,h.Z)(A));return(0,L.jsxs)(a.Fragment,{children:[(0,L.jsxs)("div",{className:n.breadcrumbsMain,children:[C&&(0,L.jsx)(O,{modalOpen:C,bucketName:t,folderName:i,onClose:function(){k(!1)},existingFiles:r}),(0,L.jsxs)(l.ZP,{item:!0,xs:12,className:"".concat(n.breadcrumbs),children:[(0,L.jsx)(N.Z,{onClick:function(){b?f((0,P.db)({status:!1,objectName:""})):x(-1)},sx:{border:"#EAEDEE 1px solid",backgroundColor:"#fff",borderLeft:0,borderRadius:0,width:38,height:38,marginRight:"10px"},children:(0,L.jsx)(T.ubh,{})}),(0,L.jsx)("div",{className:n.breadcrumbsList,dir:"rtl",children:M}),(0,L.jsx)(S(),{text:"".concat(t,"/").concat(B.join("/")),children:(0,L.jsx)(p.z,{id:"copy-path",icon:(0,L.jsx)(T.TIy,{style:{width:"12px",height:"12px",fill:"#969FA8",marginTop:-1}}),variant:"regular",onClick:function(){f((0,F.y1)("Path copied to clipboard"))},style:{width:"28px",height:"28px",color:"#969FA8",border:"#969FA8 1px solid",marginRight:5}})}),(0,L.jsx)("div",{className:n.additionalOptions,children:u})]}),!c&&(0,L.jsx)(_.Z,{title:"Choose or create a new path",children:(0,L.jsx)(p.z,{id:"new-path",onClick:function(){k(!0)},disabled:v||!(0,E.F)(t,[I.Ft.S3_PUT_OBJECT]),icon:(0,L.jsx)(T.N$q,{style:{fill:"#969FA8"}}),style:{whiteSpace:"nowrap"},variant:"regular",label:"Create new path"})})]}),(0,L.jsx)("div",{className:n.breadcrumbsSecond,children:u})]})})),B=t(47922),R=t(14917),z=t(74794),A=t(71715),M=t(23786),U=t(49900),G=t(57064),W=t(27454),H=(0,c.Z)((function(e){return(0,r.Z)({listUploadIcons:{height:20,"& .min-icon":{width:18,fill:"rgba(0,0,0,0.87)"}}})}))((function(e){var n=e.uploadPath,t=e.bucketName,i=e.forceDisable,o=void 0!==i&&i,s=e.uploadFileFunction,r=e.uploadFolderFunction,c=e.classes,l=a.useState(null),d=(0,m.Z)(l,2),u=d[0],h=d[1],f=Boolean(u),x=function(){h(null)},v=(0,E.F)(n,[I.Ft.S3_PUT_OBJECT]),b=(0,E.F)(t,[I.Ft.S3_PUT_OBJECT],!1,!0),g=v||b;return(0,L.jsxs)(a.Fragment,{children:[(0,L.jsx)(W.Z,{tooltip:"Upload Files",children:(0,L.jsx)(p.z,{id:"upload-main","aria-controls":"upload-main-menu","aria-haspopup":"true","aria-expanded":f?"true":void 0,onClick:function(e){h(e.currentTarget)},label:"Upload",icon:(0,L.jsx)(T.rG2,{}),variant:"callAction",disabled:o||!g})}),(0,L.jsxs)(A.Z,{id:"upload-main-menu","aria-labelledby":"upload-main",anchorEl:u,open:f,onClose:function(){x()},anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:[(0,L.jsxs)(M.Z,{onClick:function(){s(x)},disabled:!v||o,children:[(0,L.jsx)(G.Z,{className:c.listUploadIcons,children:(0,L.jsx)(T.rG2,{})}),(0,L.jsx)(U.Z,{children:"Upload File"})]}),(0,L.jsxs)(M.Z,{onClick:function(){r(x)},disabled:!b||o,children:[(0,L.jsx)(G.Z,{className:c.listUploadIcons,children:(0,L.jsx)(T.oXh,{})}),(0,L.jsx)(U.Z,{children:"Upload Folder"})]})]})]})})),K=t(72455),V=(0,K.Z)((function(e){return(0,r.Z)({detailsList:{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}}},closePanel:{position:"absolute",right:0,top:8,"& .min-icon":{width:14}}})})),Y=function(e){var n=e.open,t=e.closePanel,i=e.className,a=void 0===i?"":i,o=e.children,s=V();return(0,L.jsxs)(l.ZP,{item:!0,className:"".concat(s.detailsList," ").concat(n?"open":""," ").concat(a," detailsListPanel"),children:[(0,L.jsx)(N.Z,{onClick:t,className:s.closePanel,children:(0,L.jsx)(T.oto,{})}),o]})},J=t(64554),q=t(25183),X=t(34433),$=[{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),(function(e,n){return n+1})),ee=(new Date).getFullYear(),ne=Array.from(Array(25),(function(e,n){return n+ee})),te=t(56028),ie=t(37516),ae=t(83679),oe=t(4942),se=t(28182),re=t(30829),ce=t(68096),le=t(58406),de=t(4834),ue=t(84570),he=(0,c.Z)((function(e){return(0,r.Z)({root:{"& .MuiSelect-icon":{color:"#000","&.Mui-disabled":{color:"#9c9c9c"}}},input:{borderBottom:0,fontSize:12}})}))(de.ZP),me=(0,a.forwardRef)((function(e,n){var t=e.classes,i=e.id,o=e.label,s=e.disableOptions,r=void 0!==s&&s,c=e.addSwitch,d=void 0!==c&&c,u=e.tooltip,h=void 0===u?"":u,f=e.borderBottom,p=void 0!==f&&f,x=e.onDateChange,v=e.value,b=void 0===v?"":v;(0,a.useImperativeHandle)(n,(function(){return{resetDate:B}}));var g=(0,a.useState)(!1),j=(0,m.Z)(g,2),Z=j[0],w=j[1],C=(0,a.useState)(""),S=(0,m.Z)(C,2),y=S[0],N=S[1],T=(0,a.useState)(""),E=(0,m.Z)(T,2),I=E[0],k=E[1],F=(0,a.useState)(""),P=(0,m.Z)(F,2),O=P[0],D=P[1];(0,a.useEffect)((function(){if(""!==b){var e=b.split("-");D(e[0]),N(e[1]),k("".concat(parseInt(e[2])))}}),[b]),(0,a.useEffect)((function(){var e=function(e,n,t){var i=Date.parse("".concat(e,"-").concat(n,"-").concat(t));if(isNaN(i))return[!1,""];var a=parseInt(n),o=parseInt(t),s=a<10?"0".concat(a):a,r=o<10?"0".concat(o):o,c=new Date(i).toISOString().split("T")[0],l="".concat(e,"-").concat(s,"-").concat(r);return[c===l,l]}(O,y,I),n=(0,m.Z)(e,2),t=n[0],i=n[1];x(i,t)}),[y,I,O,x]);var B=function(){N(""),k(""),D("")},R=function(){return r||!!d&&!Z};return(0,L.jsxs)(l.ZP,{item:!0,xs:12,className:(0,se.Z)(t.fieldContainer,(0,oe.Z)({},t.fieldContainerBorder,p)),children:[(0,L.jsx)("div",{className:t.labelContainer,children:(0,L.jsxs)(l.ZP,{container:!0,children:[(0,L.jsxs)(re.Z,{htmlFor:i,className:t.inputLabel,children:[(0,L.jsx)("span",{children:o}),""!==h&&(0,L.jsx)("div",{className:t.tooltipContainer,children:(0,L.jsx)(_.Z,{title:h,placement:"top-start",children:(0,L.jsx)("div",{className:t.tooltip,children:(0,L.jsx)(ue.Z,{})})})})]}),d&&(0,L.jsx)(ie.Z,{indicatorLabels:["Specific Date","Default (7 Days)"],checked:Z,value:"date_enabled",id:"date-status",name:"date-status",onChange:function(e){w(e.target.checked),e.target.checked||x("",!0)},switchOnly:!0})]})}),(0,L.jsxs)("div",{children:[(0,L.jsx)(ce.Z,{disabled:R(),className:t.dateInput,children:(0,L.jsxs)(le.Z,{id:"".concat(i,"-month"),name:"".concat(i,"-month"),value:y,displayEmpty:!0,onChange:function(e){N(e.target.value)},input:(0,L.jsx)(he,{}),children:[(0,L.jsx)(M.Z,{value:"",disabled:!0,children:""}),$.map((function(e){return(0,L.jsx)(M.Z,{value:e.value,children:e.label},"select-".concat(i,"-monthOP-").concat(e.label))}))]})}),(0,L.jsx)(ce.Z,{disabled:R(),className:t.dateInput,children:(0,L.jsxs)(le.Z,{id:"".concat(i,"-day"),name:"".concat(i,"-day"),value:I,displayEmpty:!0,onChange:function(e){k(e.target.value)},input:(0,L.jsx)(he,{}),children:[(0,L.jsx)(M.Z,{value:"",disabled:!0,children:""}),Q.map((function(e){return(0,L.jsx)(M.Z,{value:e,children:e},"select-".concat(i,"-dayOP-").concat(e))}))]})}),(0,L.jsx)(ce.Z,{disabled:R(),className:t.dateInput,children:(0,L.jsxs)(le.Z,{id:"".concat(i,"-year"),name:"".concat(i,"-year"),value:O,displayEmpty:!0,onChange:function(e){D(e.target.value)},input:(0,L.jsx)(he,{}),children:[(0,L.jsx)(M.Z,{value:"",disabled:!0,children:""}),ne.map((function(e){return(0,L.jsx)(M.Z,{value:e,children:e},"select-".concat(i,"-yearOP-").concat(e))}))]})})]})]})})),fe=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)({dateInput:{"&:not(:last-child)":{marginRight:22}}},u.YI),u.Hr),{},{labelContainer:{flex:1},fieldContainer:(0,i.Z)((0,i.Z)({},u.YI.fieldContainer),{},{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:10,marginTop:11,marginBottom:6}),fieldContainerBorder:{borderBottom:"#9c9c9c 1px solid",marginBottom:20}}))}))(me),pe=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},u.DF),u.ID),u.bK),{},{dateSelector:{"& div":{borderBottom:0,marginBottom:0,"& div:nth-child(2)":{border:"1px solid #EAEAEA",paddingLeft:5,"& div":{border:0}}}}}))}))((function(e){var n=e.classes,t=e.open,i=e.closeModalAndRefresh,o=e.objectName,s=e.objectInfo,r=e.bucketName,c=(0,d.TL)(),u=(0,a.useState)(!0),h=(0,m.Z)(u,2),f=h[0],x=h[1],v=(0,a.useState)(""),g=(0,m.Z)(v,2),Z=g[0],w=g[1],C=(0,a.useState)(""),S=(0,m.Z)(C,2),y=S[0],N=S[1],_=(0,a.useState)(!1),T=(0,m.Z)(_,2),E=T[0],I=T[1],k=(0,a.useState)(!1),P=(0,m.Z)(k,2),O=P[0],D=P[1],B=(0,a.useState)(!1),R=(0,m.Z)(B,2),z=R[0],A=R[1];(0,a.useEffect)((function(){if(s.retention_mode&&(w(s.retention_mode.toLowerCase()),A(!0)),s.retention_until_date){var e=new Date(s.retention_until_date);if("Invalid Date"!==e.toString()){var n=e.getFullYear(),t=(a=e.getMonth()+1)<10?"0".concat(a):"".concat(a),i=e.getDate();isNaN(i)||"NaN"===t||isNaN(n)||N("".concat(n,"-").concat(t,"-").concat(i))}A(!0)}var a}),[s]);var M=(0,a.useRef)(null),U=function(){x(!1),w(""),M.current&&M.current.resetDate()},G=z&&("governance"===Z||""===Z);return(0,L.jsxs)(te.Z,{title:"Set Retention Policy",modalOpen:t,onClose:function(){U(),i(!1)},children:[(0,L.jsxs)("div",{className:n.spacerBottom,children:[(0,L.jsx)("strong",{children:"Selected Object"}),": ",o]}),(0,L.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault()}(e)},children:[G&&(0,L.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,L.jsx)(ie.Z,{value:"status",id:"status",name:"status",checked:f,onChange:function(e){x(!f)},label:"Status",indicatorLabels:["Enabled","Disabled"]})}),(0,L.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,L.jsx)(ae.Z,{currentSelection:Z,id:"type",name:"type",label:"Type",disableOptions:!f||z&&""!==Z,onChange:function(e){w(e.target.value)},selectorOptions:[{label:"Governance",value:"governance"},{label:"Compliance",value:"compliance"}]})}),(0,L.jsx)(l.ZP,{item:!0,xs:12,className:"".concat(n.dateSelector," "),children:(0,L.jsx)(fe,{id:"date",label:"Date",disableOptions:!(f&&("governance"===Z||"compliance"===Z)),ref:M,value:y,borderBottom:!0,onDateChange:function(e,n){I(n),n&&N(e)}})}),(0,L.jsxs)(l.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,L.jsx)(p.z,{id:"reset",type:"button",variant:"regular",onClick:U,label:"Reset"}),(0,L.jsx)(p.z,{id:"save",type:"submit",variant:"callAction",disabled:f&&""===Z||f&&!E||O,onClick:function(){D(!0);var e=s.name,n=s.version_id,t=f||"governance"!==Z?"".concat(y,"T23:59:59Z"):"";f||"governance"!==Z?function(e,n,t){b.Z.invoke("PUT","/api/v1/buckets/".concat(r,"/objects/retention?prefix=").concat((0,j.LL)(e),"&version_id=").concat(n),{expires:t,mode:Z}).then((function(e){D(!1),i(!0)})).catch((function(e){c((0,F.zb)(e)),D(!1)}))}(e,n,t):function(e,n){b.Z.invoke("DELETE","/api/v1/buckets/".concat(r,"/objects/retention?prefix=").concat((0,j.LL)(e),"&version_id=").concat(n)).then((function(){D(!1),i(!0)})).catch((function(e){c((0,F.zb)(e)),D(!1)}))}(e,n)},label:"Save"})]})]})]})})),xe=t(51691),ve=t(23508),be=t(9505),ge=function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,i=e.selectedBucket,o=e.selectedObject,s=e.versioning,r=e.selectedVersion,c=void 0===r?"":r,l=(0,d.TL)(),u=(0,be.Z)((function(){return n(!0)}),(function(e){return l((0,F.Ih)(e))})),h=(0,m.Z)(u,2),f=h[0],p=h[1],x=(0,a.useState)(!1),v=(0,m.Z)(x,2),b=v[0],g=v[1];if(!o)return null;return(0,L.jsx)(ve.Z,{title:"Delete Object",confirmText:"Delete",isOpen:t,titleIcon:(0,L.jsx)(T.NvT,{}),isLoading:f,onConfirm:function(){var e=(0,j.IO)(o).endsWith("/");p("DELETE","/api/v1/buckets/".concat(i,"/objects?path=").concat(o).concat(""!==c?"&version_id=".concat(c):"&recursive=".concat(e,"&all_versions=").concat(b)))},onClose:function(){return n(!1)},confirmationContent:(0,L.jsxs)(xe.Z,{children:["Are you sure you want to delete: ",(0,L.jsx)("br",{}),(0,L.jsx)("b",{children:(0,j.IO)(o)})," ",""!==c?(0,L.jsxs)(a.Fragment,{children:[(0,L.jsx)("br",{}),(0,L.jsx)("br",{}),"Version ID:",(0,L.jsx)("br",{}),(0,L.jsx)("strong",{children:c})]}):"","? ",(0,L.jsx)("br",{}),(0,L.jsx)("br",{}),s&&""===c&&(0,L.jsx)(ie.Z,{label:"Delete All Versions",indicatorLabels:["Yes","No"],checked:b,value:"delete_versions",id:"delete-versions",name:"delete-versions",onChange:function(e){g(!b)},description:""})]})})},je=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},u.DF),u.ID),u.bK))}))((function(e){var n=e.classes,t=e.open,i=e.closeModalAndRefresh,o=e.objectName,s=e.bucketName,r=e.actualInfo,c=(0,d.TL)(),u=(0,a.useState)(!1),h=(0,m.Z)(u,2),f=h[0],x=h[1],g=(0,a.useState)(!1),Z=(0,m.Z)(g,2),w=Z[0],C=Z[1],S=r.version_id;(0,a.useEffect)((function(){var e=v()(r,"legal_hold_status","OFF");x("ON"===e)}),[r]);var y=function(){x(!1)};return(0,L.jsxs)(te.Z,{title:"Set Legal Hold",modalOpen:t,onClose:function(){y(),i(!1)},children:[(0,L.jsxs)(l.ZP,{item:!0,xs:12,className:n.spacerBottom,children:["Object: ",s]}),(0,L.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault(),C(!0),b.Z.invoke("PUT","/api/v1/buckets/".concat(s,"/objects/legalhold?prefix=").concat((0,j.LL)(o),"&version_id=").concat(S),{status:f?"enabled":"disabled"}).then((function(){C(!1),i(!0)})).catch((function(e){c((0,F.zb)(e)),C(!1)}))}(e)},children:[(0,L.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,L.jsx)(ie.Z,{value:"legalhold",id:"legalhold",name:"legalhold",checked:f,onChange:function(e){x(!f)},label:"Legal Hold Status",indicatorLabels:["Enabled","Disabled"],tooltip:"To enable this feature you need to enable versioning on the bucket before creation"})}),(0,L.jsxs)(l.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,L.jsx)(p.z,{id:"clear",type:"button",variant:"regular",onClick:y,label:"Clear"}),(0,L.jsx)(p.z,{id:"save",type:"submit",variant:"callAction",disabled:w,label:" Save"})]})]})]})})),Ze=t(78562),we=t(79836),Ce=t(53382),Se=t(35855),ye=t(53994),Ne=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)({propertiesIcon:{marginLeft:5,"& .min-icon":{height:12}},capitalizeFirst:{textTransform:"capitalize","& .min-icon":{width:16,height:16}},titleItem:{width:"35%"}},u.bK),u.$b))}))((function(e){var n=e.bucketName,t=e.internalPaths,i=e.classes,o=e.actualInfo,s=e.linear,r=void 0!==s&&s,c=(0,a.useState)({}),d=(0,m.Z)(c,2),u=d[0],h=d[1],f=(0,be.Z)((function(e){var n=v()(e,"objectMetadata",{});h(n)}),(function(e){return!1})),p=(0,m.Z)(f,2)[1],x=Object.keys(u),b=(0,a.useCallback)((function(){p("GET","/api/v1/buckets/".concat(n,"/objects/metadata?prefix=").concat(t))}),[n,t,o]);return(0,a.useEffect)((function(){o&&b()}),[o,b]),r?(0,L.jsx)(a.Fragment,{children:x.map((function(e,n){var t=Array.isArray(u[e])?u[e].map(decodeURIComponent).join(", "):decodeURIComponent(u[e]);return(0,L.jsxs)(J.Z,{className:i.metadataLinear,children:[(0,L.jsx)("strong",{children:e}),(0,L.jsx)("br",{}),t]},"box-meta-".concat(e,"-").concat(n.toString()))}))}):(0,L.jsxs)(l.ZP,{container:!0,children:[(0,L.jsx)(l.ZP,{item:!0,xs:12,sx:{marginTop:"25px",marginBottom:"5px"},children:(0,L.jsx)("h3",{style:{marginTop:"0",marginBottom:"0"},children:"Object Metadata"})}),(0,L.jsx)(l.ZP,{item:!0,xs:12,children:(0,L.jsx)(we.Z,{className:i.table,"aria-label":"simple table",children:(0,L.jsx)(Ce.Z,{children:x.map((function(e,n){var t=Array.isArray(u[e])?u[e].map(decodeURIComponent).join(", "):decodeURIComponent(u[e]);return(0,L.jsxs)(Se.Z,{children:[(0,L.jsx)(ye.Z,{component:"th",scope:"row",className:i.titleItem,children:e}),(0,L.jsx)(ye.Z,{align:"right",children:t})]},"tRow-".concat(n.toString()))}))})})})]})})),_e=t(45987),Te=t(36151),Ee=["disabled","onClick","icon","label","classes"],Ie=(0,c.Z)((function(e){return(0,r.Z)({root:{padding:"0 15px",height:22,margin:0,color:"#5E5E5E",fontWeight:"normal",fontSize:14,whiteSpace:"nowrap",width:"100%",justifyContent:"flex-start","&:hover":{backgroundColor:"transparent",color:"#000"},"& .min-icon":{width:11},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}}})}))((function(e){var n=e.disabled,t=e.onClick,a=e.icon,o=e.label,s=e.classes,r=(0,_e.Z)(e,Ee);return(0,L.jsx)(Te.Z,(0,i.Z)((0,i.Z)({},r),{},{disabled:n,onClick:t,className:(0,se.Z)(s.root,"noDefaultHeight"),startIcon:a,sx:{height:"initial"},children:(0,L.jsx)("span",{className:"buttonItem",children:o})}))})),ke=(0,c.Z)((function(){return(0,r.Z)((0,i.Z)({},u.$b))}))((function(e){var n=e.items,t=e.classes,i=e.title;return(0,L.jsxs)(a.Fragment,{children:[(0,L.jsx)("div",{className:t.titleLabel,children:i}),(0,L.jsxs)("ul",{className:t.objectActions,children:[(0,L.jsx)("li",{children:"Actions:"}),n.map((function(e,n){return(0,L.jsx)("li",{children:(0,L.jsx)(Ie,{label:e.label,icon:e.icon,onClick:e.action,disabled:e.disabled})},"action-element-".concat(n.toString()))}))]})]})})),Fe=t(37762),Pe=t(71863),Le=t(82314),Oe=(0,c.Z)((function(e){return(0,r.Z)({fileName:{display:"flex",alignItems:"center","& .min-icon":{width:16,height:16,marginRight:4,minWidth:16,minHeight:16}},fileNameText:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}})}))((function(e){var n=e.classes,t=e.icon,i=e.strings;return(0,L.jsxs)("div",{className:n.fileName,children:[t,(0,L.jsx)("span",{className:n.fileNameText,children:i[i.length-1]})]})})),De=a.lazy((function(){return Promise.resolve().then(t.bind(t,76181))})),Be=a.lazy((function(){return Promise.resolve().then(t.bind(t,49563))})),Re=a.lazy((function(){return Promise.resolve().then(t.bind(t,21733))})),ze=a.lazy((function(){return Promise.resolve().then(t.bind(t,95232))})),Ae=a.lazy((function(){return Promise.resolve().then(t.bind(t,27529))})),Me=a.lazy((function(){return Promise.resolve().then(t.bind(t,60527))})),Ue=a.lazy((function(){return Promise.resolve().then(t.bind(t,69812))})),Ge=a.lazy((function(){return Promise.resolve().then(t.bind(t,46454))})),We=a.lazy((function(){return Promise.resolve().then(t.bind(t,84820))})),He=a.lazy((function(){return Promise.resolve().then(t.bind(t,40599))})),Ke=a.lazy((function(){return Promise.resolve().then(t.bind(t,72995))})),Ve=a.lazy((function(){return Promise.resolve().then(t.bind(t,34171))})),Ye=a.lazy((function(){return Promise.resolve().then(t.bind(t,30745))})),Je=a.lazy((function(){return Promise.resolve().then(t.bind(t,84033))})),qe=a.lazy((function(){return Promise.resolve().then(t.bind(t,52009))})),Xe=[{icon:(0,L.jsx)(Ye,{}),extensions:["mp4","mov","avi","mpeg","mpg"]},{icon:(0,L.jsx)(We,{}),extensions:["mp3","m4a","aac"]},{icon:(0,L.jsx)(He,{}),extensions:["pdf"]},{icon:(0,L.jsx)(Ke,{}),extensions:["ppt","pptx"]},{icon:(0,L.jsx)(Je,{}),extensions:["xls","xlsx"]},{icon:(0,L.jsx)(Ue,{}),extensions:["cer","crt","pem"]},{icon:(0,L.jsx)(Be,{}),extensions:["html","xml","css","py","go","php","cpp","h","java"]},{icon:(0,L.jsx)(Re,{}),extensions:["cfg","yaml"]},{icon:(0,L.jsx)(ze,{}),extensions:["sql"]},{icon:(0,L.jsx)(Ae,{}),extensions:["ttf","otf"]},{icon:(0,L.jsx)(Ve,{}),extensions:["txt"]},{icon:(0,L.jsx)(qe,{}),extensions:["zip","rar","tar","gz"]},{icon:(0,L.jsx)(De,{}),extensions:["epub","mobi","azw","azw3"]},{icon:(0,L.jsx)(Me,{}),extensions:["jpeg","jpg","gif","tiff","png","heic","dng"]}],$e=function(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=e,i=(0,L.jsx)(Pe.Z,{});e.endsWith("/")&&(i=(0,L.jsx)(Le.Z,{}),t=e.slice(0,-1));var a,o=e.toLowerCase(),s=(0,Fe.Z)(Xe);try{for(s.s();!(a=s.n()).done;){var r,c=a.value,l=(0,Fe.Z)(c.extensions);try{for(l.s();!(r=l.n()).done;){var d=r.value;o.endsWith(".".concat(d))&&(i=c.icon)}}catch(h){l.e(h)}finally{l.f()}}}catch(h){s.e(h)}finally{s.f()}!e.endsWith("/")&&e.indexOf(".")<0&&(i=(0,L.jsx)(Ge,{}));var u=t.split("/");return n?i:(0,L.jsx)(Oe,{icon:i,strings:u})},Qe=t(21435),en=t(81918),nn=t(29823),tn=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)({newTileHeader:{fontSize:18,fontWeight:"bold",color:"#000",margin:"35px 0",paddingBottom:15,display:"flex",alignItems:"center","& > svg":{marginRight:10}},tagsForLabel:{fontSize:16,margin:"20px 0 30px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",width:"100%"},currentTagsContainer:{fontSize:14,fontWeight:"normal"},noTagsForObject:{color:"#858585"},deleteTag:{color:"#C83B51",marginLeft:5}},u.DF),u.ID),u.bK))}))((function(e){var n=e.modalOpen,t=e.onCloseAndUpdate,s=e.bucketName,r=e.actualInfo,c=e.classes,u=(0,d.TL)(),h=(0,o.v9)(F.N5),f=(0,a.useState)(""),x=(0,m.Z)(f,2),g=x[0],Z=x[1],w=(0,a.useState)(""),C=(0,m.Z)(w,2),S=C[0],y=C[1],N=(0,a.useState)(!1),_=(0,m.Z)(N,2),k=_[0],P=_[1],O=(0,a.useState)(!1),D=(0,m.Z)(O,2),B=D[0],R=D[1],z=(0,a.useState)(""),A=(0,m.Z)(z,2),M=A[0],U=A[1],G=(0,a.useState)(""),W=(0,m.Z)(G,2),H=W[0],K=W[1],V=(0,j.LL)(r.name),Y=r.tags,q=Object.keys(Y||{}),X=r.name.split("/").pop()||"",$=function(e){return(0,L.jsxs)("div",{className:c.tagsForLabel,children:["Tag",e?"s":""," for: ",(0,L.jsx)("strong",{children:X})]})};return(0,L.jsx)(a.Fragment,{children:(0,L.jsx)(te.Z,{modalOpen:n,title:B?(0,L.jsx)("span",{style:{color:"#C83B51"},children:"Delete Tag"}):"Edit Tags",onClose:function(){t(!0)},titleIcon:B?(0,L.jsx)(T.dRf,{style:{fill:"#C83B51"}}):(0,L.jsx)(T.T0F,{}),children:B?(0,L.jsx)(a.Fragment,{children:(0,L.jsxs)(l.ZP,{container:!0,children:[$(!1),"Are you sure you want to delete the tag"," ",(0,L.jsxs)("b",{className:c.deleteTag,children:[M," : ",H]})," ","?",(0,L.jsxs)(l.ZP,{item:!0,xs:12,className:c.modalButtonBar,children:[(0,L.jsx)(p.z,{id:"cancel",type:"button",variant:"regular",onClick:function(){U(""),K(""),R(!1)},label:"Cancel"}),(0,L.jsx)(p.z,{type:"submit",variant:"secondary",onClick:function(){var e=(0,i.Z)({},Y);delete e[M];var n=h?r.version_id:"null";b.Z.invoke("PUT","/api/v1/buckets/".concat(s,"/objects/tags?prefix=").concat(V,"&version_id=").concat(n),{tags:e}).then((function(e){t(!0),P(!1)})).catch((function(e){u((0,F.zb)(e)),P(!1)}))},id:"deleteTag",label:"Delete Tag"})]})]})}):(0,L.jsxs)(l.ZP,{container:!0,children:[(0,L.jsx)(E.s,{scopes:[I.Ft.S3_GET_OBJECT_TAGGING],resource:s,children:(0,L.jsxs)(J.Z,{sx:{display:"flex",flexFlow:"column",width:"100%"},children:[$(!0),(0,L.jsxs)("div",{className:c.currentTagsContainer,children:["Current Tags:",(0,L.jsx)("br",{}),0===q.length?(0,L.jsx)("span",{className:c.noTagsForObject,children:"There are no tags for this object"}):(0,L.jsx)(a.Fragment,{}),(0,L.jsx)(J.Z,{sx:{marginTop:"5px",marginBottom:"15px"},children:q.map((function(e,n){var t=v()(Y,"".concat(e),"");return""!==t?(0,L.jsx)(E.s,{scopes:[I.Ft.S3_DELETE_OBJECT_TAGGING],resource:s,matchAll:!0,errorProps:{deleteIcon:null,onDelete:null},children:(0,L.jsx)(en.Z,{style:{textTransform:"none",marginRight:"5px",marginBottom:"5px"},size:"small",label:"".concat(e," : ").concat(t),color:"primary",deleteIcon:(0,L.jsx)(nn.Z,{}),onDelete:function(){!function(e,n){U(e),K(n),R(!0)}(e,t)}})},"chip-".concat(n)):null}))})]})]})}),(0,L.jsx)(E.s,{scopes:[I.Ft.S3_PUT_OBJECT_TAGGING],resource:s,errorProps:{disabled:!0,onClick:null},children:(0,L.jsxs)(l.ZP,{container:!0,children:[(0,L.jsxs)(l.ZP,{item:!0,xs:12,className:c.newTileHeader,children:[(0,L.jsx)(T.OCT,{})," Add New Tag"]}),(0,L.jsx)(l.ZP,{item:!0,xs:12,className:c.formFieldRow,children:(0,L.jsx)(Qe.Z,{value:g,label:"Tag Key",id:"newTagKey",name:"newTagKey",placeholder:"Enter Tag Key",onChange:function(e){Z(e.target.value)}})}),(0,L.jsx)(l.ZP,{item:!0,xs:12,className:c.formFieldRow,children:(0,L.jsx)(Qe.Z,{value:S,label:"Tag Label",id:"newTagLabel",name:"newTagLabel",placeholder:"Enter Tag Label",onChange:function(e){y(e.target.value)}})}),(0,L.jsxs)(l.ZP,{item:!0,xs:12,className:c.modalButtonBar,children:[(0,L.jsx)(p.z,{id:"clear",type:"button",variant:"regular",color:"primary",onClick:function(){y(""),Z("")},label:"Clear"}),(0,L.jsx)(p.z,{type:"submit",variant:"callAction",disabled:""===S.trim()||""===g.trim()||k,onClick:function(){P(!0);var e={};e[g]=S;var n=(0,i.Z)((0,i.Z)({},Y),e),a=h?r.version_id:"null";b.Z.invoke("PUT","/api/v1/buckets/".concat(s,"/objects/tags?prefix=").concat(V,"&version_id=").concat(a),{tags:n}).then((function(e){t(!0),P(!1)})).catch((function(e){u((0,F.zb)(e)),P(!1)}))},id:"saveTag",label:"Save"})]})]})})]})})})})),an=t(74165),on=t(15861),sn=t(73669),rn=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},u.DF),u.ID),u.bK))}))((function(e){var n=e.classes,t=e.closeInspectModalAndRefresh,i=e.inspectOpen,o=e.inspectPath,s=e.volumeName,r=(0,d.TL)(),c=function(){return t(!1)},u=(0,a.useState)(!0),h=(0,m.Z)(u,2),f=h[0],x=h[1],v=(0,a.useState)(""),b=(0,m.Z)(v,2),g=b[0],Z=b[1],w=(0,a.useState)(""),C=(0,m.Z)(w,2),S=C[0],y=C[1];if(!o)return null;var N=function(){var e=(0,on.Z)((0,an.Z)().mark((function e(n){return(0,an.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch(n,{method:"GET"});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}(),_=function(){var e=(0,on.Z)((0,an.Z)().mark((function e(){var n,t,i;return(0,an.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=(0,j.LL)(o+"/xl.meta"),t=(0,j.LL)(s),i="/api/v1/admin/inspect?volume=".concat(t,"&file=").concat(n,"&encrypt=").concat(f),N(i).then(function(){var e=(0,on.Z)((0,an.Z)().mark((function e(n){var t,i,a,o;return(0,an.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n.ok){e.next=5;break}return e.next=3,n.json();case 3:t=e.sent,r((0,F.Ih)({errorMessage:t.message,detailedError:t.code}));case 5:return e.next=7,n.blob();case 7:if(i=e.sent,a=n.headers.get("content-disposition").split('"')[1],o=(0,j.Do)(a)||"",(0,j.zZ)(i,a),y(a),""!==o){e.next=15;break}return c(),e.abrupt("return");case 15:Z(o);case 16:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}()).catch((function(e){r((0,F.Ih)(e))}));case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return(0,L.jsxs)(a.Fragment,{children:[!g&&(0,L.jsx)(te.Z,{modalOpen:i,titleIcon:(0,L.jsx)(q.Gp,{}),title:"Inspect Object",onClose:c,children:(0,L.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault()}(e)},children:["Would you like to encrypt ",(0,L.jsx)("b",{children:(0,j.IO)(o)}),"?"," ",(0,L.jsx)("br",{}),(0,L.jsx)(ie.Z,{label:"Encrypt",indicatorLabels:["Yes","No"],checked:f,value:"encrypt",id:"encrypt",name:"encrypt",onChange:function(e){x(!f)},description:""}),(0,L.jsx)(l.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:(0,L.jsx)(p.z,{id:"inspect",type:"submit",variant:"callAction",color:"primary",onClick:_,label:"Inspect"})})]})}),g?(0,L.jsx)(te.Z,{modalOpen:i,title:"Inspect Decryption Key",onClose:function(){(0,j.kT)(S),c(),Z("")},titleIcon:(0,L.jsx)(T.tvm,{}),children:(0,L.jsxs)(xe.Z,{children:[(0,L.jsxs)(J.Z,{children:["This will be displayed only once. It cannot be recovered.",(0,L.jsx)("br",{}),"Use secure medium to share this key."]}),(0,L.jsx)(J.Z,{children:(0,L.jsx)(sn.Z,{value:g})})]})}):null]})})),cn=t(72401),ln=t(76610),dn=(0,K.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},u.ID),u.DF),u.bK),(0,u.Bz)(e.spacing(4))))})),un=function(e){var n=e.open,t=e.closeModal,i=e.currentItem,o=e.internalPaths,s=e.actualInfo,r=e.bucketName,c=dn(),u=(0,d.TL)(),h=(0,a.useState)(i),f=(0,m.Z)(h,2),x=f[0],v=f[1],b=(0,a.useState)(!1),g=(0,m.Z)(b,2),Z=g[0],w=g[1];return(0,L.jsxs)(te.Z,{title:"Rename Download",modalOpen:n,onClose:t,titleIcon:(0,L.jsx)(T.dY8,{}),children:[(0,L.jsxs)("div",{children:["The file you are trying to download has a long name.",(0,L.jsx)("br",{}),"This can cause issues on Windows Systems by trimming the file name after download.",(0,L.jsx)("br",{}),(0,L.jsx)("br",{})," We recommend to rename the file download"]}),(0,L.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault();var n=(0,j.LL)("".concat(r,"-").concat(s.name,"-").concat((new Date).getTime(),"-").concat(Math.random())),i=(0,ln.YO)(8),a=(0,B.LR)(r,o,s.version_id,parseInt(s.size||"0"),x,i,(function(e){u((0,P.RO)({instanceID:n,progress:e}))}),(function(){u((0,P.oK)(n))}),(function(e){u((0,P.qJ)({instanceID:n,msg:e}))}),(function(){u((0,P.Im)(n))}));(0,ln.EN)(i,a),u((0,P.Mc)({ID:i,bucketName:r,done:!1,instanceID:n,percentage:0,prefix:x,type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""})),t()}(e)},children:(0,L.jsxs)(l.ZP,{container:!0,children:[(0,L.jsxs)(l.ZP,{item:!0,xs:12,className:c.modalFormScrollable,children:[(0,L.jsx)(l.ZP,{item:!0,xs:12,className:c.formFieldRow,children:(0,L.jsx)(Qe.Z,{id:"download-filename",name:"download-filename",onChange:function(e){v(e.target.value)},label:"",type:"text",value:x,error:x.length>200&&!Z?"Filename should be less than 200 characters long.":""})}),(0,L.jsx)(l.ZP,{item:!0,xs:12,className:c.formFieldRow,children:(0,L.jsx)(ie.Z,{value:"acceptLongName",id:"acceptLongName",name:"acceptLongName",checked:Z,onChange:function(e){w(e.target.checked),e.target.checked&&v(i)},label:"Use Original Name"})})]}),(0,L.jsx)(l.ZP,{item:!0,xs:12,className:c.modalButtonBar,children:(0,L.jsx)(p.z,{id:"download-file",type:"submit",variant:"callAction",color:"primary",disabled:x.length>200&&!Z,label:"Download File"})})]})})]})},hn={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:"0",tags:{},version_id:null},mn=(0,c.Z)((function(){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({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},headerForSection:{display:"flex",justifyContent:"space-between",alignItems:"center",paddingBottom:15,borderBottom:"#E2E2E2 2px solid",fontWeight:"bold",fontSize:18,color:"#000",margin:"20px 22px"},capitalizeFirst:{textTransform:"capitalize"}},u.Si),u.OR),u.bK),u.VI),u.$b))}))((function(e){var n=e.classes,t=e.internalPaths,i=e.bucketName,s=e.versioning,r=e.locking,c=e.onClosePanel,u=(0,d.TL)(),h=(0,o.v9)(F.N5),f=(0,o.v9)((function(e){return e.objectBrowser.versionsMode})),x=(0,o.v9)((function(e){return e.objectBrowser.selectedVersion})),g=(0,o.v9)((function(e){return e.objectBrowser.loadingObjectInfo})),Z=(0,a.useState)(!1),w=(0,m.Z)(Z,2),C=w[0],S=w[1],y=(0,a.useState)(!1),N=(0,m.Z)(y,2),_=N[0],k=N[1],O=(0,a.useState)(!1),D=(0,m.Z)(O,2),R=D[0],z=D[1],A=(0,a.useState)(!1),M=(0,m.Z)(A,2),U=M[0],G=M[1],W=(0,a.useState)(!1),H=(0,m.Z)(W,2),K=H[0],V=H[1],Y=(0,a.useState)(null),$=(0,m.Z)(Y,2),Q=$[0],ee=$[1],ne=(0,a.useState)([]),te=(0,m.Z)(ne,2),ie=te[0],ae=te[1],oe=(0,a.useState)(null),se=(0,m.Z)(oe,2),re=se[0],ce=se[1],le=(0,a.useState)([]),de=(0,m.Z)(le,2),ue=de[0],he=de[1],me=(0,a.useState)(!1),fe=(0,m.Z)(me,2),xe=fe[0],ve=fe[1],be=(0,a.useState)(!1),we=(0,m.Z)(be,2),Ce=we[0],Se=we[1],ye=(0,a.useState)(0),_e=(0,m.Z)(ye,2),Te=_e[0],Ee=_e[1],Ie=(0,a.useState)(!1),Fe=(0,m.Z)(Ie,2),Pe=Fe[0],Le=Fe[1],Oe=((0,j.IO)(t)||"").split("/").pop()||"",De=[];Q&&(De=Q.name.split("/")),(0,a.useEffect)((function(){if(h&&ie&&ie.length>=1){var e=ie.find((function(e){return e.is_latest}))||hn;""!==x&&(e=ie.find((function(e){return e.version_id===x}))||hn),ee(e)}}),[x,h,ie]),(0,a.useEffect)((function(){g&&""!==t&&b.Z.invoke("GET","/api/v1/buckets/".concat(i,"/objects?prefix=").concat(t).concat(h?"&with_versions=true":"")).then((function(e){var n=v()(e,"objects",[]);if(h){ae(n),he(n);var t=n.reduce((function(e,n){return null!==n&&void 0!==n&&n.size?e+n.size:e}),0);Ee(t)}else ee(n[0]),he([]);u((0,P.vH)(!1))})).catch((function(e){console.error("Error loading object details",e),u((0,P.vH)(!1))}))}),[g,i,t,u,h,x]);var Be=[];Q&&Q.tags&&(Be=Object.keys(Q.tags));var Re=(0,L.jsx)("div",{style:{textAlign:"center",marginTop:35},children:(0,L.jsx)(cn.Z,{})});if(!Q)return g?Re:null;var ze=De.length>0?De[De.length-1]:Q.name,Ae=[i,Oe,[i,Q.name].join("/")],Me=[{action:function(){!function(e){var n=(0,j.LL)("".concat(i,"-").concat(e.name,"-").concat((new Date).getTime(),"-").concat(Math.random()));if(e.name.length>200&&(0,j.mv)().toLowerCase().includes("win"))Le(!0);else{var a=(0,ln.YO)(8),o=(0,B.LR)(i,t,e.version_id,parseInt(e.size||"0"),null,a,(function(e){u((0,P.RO)({instanceID:n,progress:e}))}),(function(){u((0,P.oK)(n))}),(function(e){u((0,P.qJ)({instanceID:n,msg:e}))}),(function(){u((0,P.Im)(n))}));(0,ln.EN)(a,o),u((0,P.Mc)({ID:a,bucketName:i,done:!1,instanceID:n,percentage:0,prefix:e.name,type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))}}(Q)},label:"Download",disabled:!!Q.is_delete_marker||!(0,E.F)(Ae,[I.Ft.S3_GET_OBJECT]),icon:(0,L.jsx)(T._8t,{}),tooltip:"Download this Object"},{action:function(){S(!0)},label:"Share",disabled:!!Q.is_delete_marker||!(0,E.F)(Ae,[I.Ft.S3_GET_OBJECT]),icon:(0,L.jsx)(T.aAc,{}),tooltip:"Share this File"},{action:function(){Se(!0)},label:"Preview",disabled:!!Q.is_delete_marker||"none"===(0,B.Bg)(Oe)||!(0,E.F)(Ae,[I.Ft.S3_GET_OBJECT]),icon:(0,L.jsx)(T.P99,{}),tooltip:"Preview this File"},{action:function(){G(!0)},label:"Legal Hold",disabled:!r||!h||!!Q.is_delete_marker||!(0,E.F)(i,[I.Ft.S3_PUT_OBJECT_LEGAL_HOLD])||""!==x,icon:(0,L.jsx)(T.fNL,{}),tooltip:"Change Legal Hold rules for this File"},{action:function(){k(!0)},label:"Retention",disabled:!h||!!Q.is_delete_marker||!(0,E.F)(Ae,[I.Ft.S3_GET_OBJECT_RETENTION])||""!==x,icon:(0,L.jsx)(T.E9d,{}),tooltip:"Change Retention rules for this File"},{action:function(){z(!0)},label:"Tags",disabled:!!Q.is_delete_marker||""!==x||!(0,E.F)(Ae,[I.Ft.S3_PUT_OBJECT_TAGGING]),icon:(0,L.jsx)(T.DgT,{}),tooltip:"Change Tags for this File"},{action:function(){V(!0)},label:"Inspect",disabled:!h||!!Q.is_delete_marker||""!==x||!(0,E.F)(Ae,[I.Ft.ADMIN_INSPECT_DATA]),icon:(0,L.jsx)(q.Gp,{}),tooltip:"Inspect this file"},{action:function(){u((0,P.db)({status:!f,objectName:ze}))},label:f?"Hide Object Versions":"Display Object Versions",icon:(0,L.jsx)(T.cRd,{}),disabled:!h||!(Q.version_id&&"null"!==Q.version_id)||!(0,E.F)(Ae,[I.Ft.S3_GET_BUCKET_VERSIONING,I.Ft.S3_PUT_BUCKET_VERSIONING,I.Ft.S3_GET_OBJECT_VERSION]),tooltip:"Display Versions for this file"}];return(0,L.jsxs)(a.Fragment,{children:[C&&Q&&(0,L.jsx)(X.default,{open:C,closeModalAndRefresh:function(){ce(null),S(!1)},bucketName:i,dataObject:re||Q}),_&&Q&&(0,L.jsx)(pe,{open:_,closeModalAndRefresh:function(e){k(!1),e&&u((0,P.vH)(!0))},objectName:Oe,objectInfo:Q,bucketName:i}),xe&&(0,L.jsx)(ge,{deleteOpen:xe,selectedBucket:i,selectedObject:t,closeDeleteModalAndRefresh:function(e){ve(!1),e&&""===x?c(!0):(u((0,P.Eq)(!0)),u((0,P.M3)("")),u((0,P.vH)(!0)))},versioning:h&&s,selectedVersion:x}),U&&Q&&(0,L.jsx)(je,{open:U,closeModalAndRefresh:function(e){G(!1),e&&u((0,P.vH)(!0))},objectName:Q.name,bucketName:i,actualInfo:Q}),Ce&&Q&&(0,L.jsx)(Ze.default,{open:Ce,bucketName:i,object:{name:Q.name,version_id:Q.version_id||"null",size:parseInt(Q.size||"0"),content_type:"",last_modified:new Date(Q.last_modified)},onClosePreview:function(){Se(!1)}}),R&&Q&&(0,L.jsx)(tn,{modalOpen:R,bucketName:i,actualInfo:Q,onCloseAndUpdate:function(e){z(!1),e&&u((0,P.vH)(!0))}}),K&&Q&&(0,L.jsx)(rn,{inspectOpen:K,volumeName:i,inspectPath:Q.name,closeInspectModalAndRefresh:function(e){V(!1),e&&u((0,P.vH)(!0))}}),Pe&&Q&&(0,L.jsx)(un,{open:Pe,closeModal:function(){Le(!1)},currentItem:Oe,bucketName:i,internalPaths:t,actualInfo:Q}),g?(0,L.jsx)(a.Fragment,{children:Re}):(0,L.jsxs)(a.Fragment,{children:[(0,L.jsx)(ke,{title:(0,L.jsxs)("div",{className:n.ObjectDetailsTitle,children:[$e(ze,!0),(0,L.jsx)("span",{className:n.objectNameContainer,children:ze})]}),items:Me}),(0,L.jsx)(l.ZP,{item:!0,xs:12,sx:{justifyContent:"center",display:"flex"},children:(0,L.jsx)(E.s,{resource:[i,Oe,[i,Q.name].join("/")],scopes:[I.Ft.S3_DELETE_OBJECT],errorProps:{disabled:!0},children:(0,L.jsx)(p.z,{id:"delete-element-click",icon:(0,L.jsx)(T.pJl,{}),iconLocation:"start",fullWidth:!0,variant:"secondary",onClick:function(){ve(!0)},disabled:""===x&&Q.is_delete_marker,style:{width:"calc(100% - 44px)",margin:"8px 0"},label:"Delete".concat(""!==x?" version":"")})})}),(0,L.jsxs)(l.ZP,{item:!0,xs:12,className:n.headerForSection,children:[(0,L.jsx)("span",{children:"Object Info"}),(0,L.jsx)(T.Gvh,{})]}),(0,L.jsxs)(J.Z,{className:n.detailContainer,children:[(0,L.jsx)("strong",{children:"Name:"}),(0,L.jsx)("br",{}),(0,L.jsx)("div",{style:{overflowWrap:"break-word"},children:ze})]}),""!==x&&(0,L.jsxs)(J.Z,{className:n.detailContainer,children:[(0,L.jsx)("strong",{children:"Version ID:"}),(0,L.jsx)("br",{}),x]}),(0,L.jsxs)(J.Z,{className:n.detailContainer,children:[(0,L.jsx)("strong",{children:"Size:"}),(0,L.jsx)("br",{}),(0,j.ae)(Q.size||"0")]}),Q.version_id&&"null"!==Q.version_id&&""===x&&(0,L.jsxs)(J.Z,{className:n.detailContainer,children:[(0,L.jsx)("strong",{children:"Versions:"}),(0,L.jsx)("br",{}),ue.length," version",1!==ue.length?"s":"",","," ",(0,j.l5)(Te)]}),""===x&&(0,L.jsxs)(J.Z,{className:n.detailContainer,children:[(0,L.jsx)("strong",{children:"Last Modified:"}),(0,L.jsx)("br",{}),function(e){var n=new Date,t=new Date(e),i=n.getTime()-t.getTime(),a=(0,j.nF)(i,"ms");return""!==a.trim()?"".concat(a," ago"):"Just now"}(Q.last_modified)]}),(0,L.jsxs)(J.Z,{className:n.detailContainer,children:[(0,L.jsx)("strong",{children:"ETAG:"}),(0,L.jsx)("br",{}),Q.etag||"N/A"]}),(0,L.jsxs)(J.Z,{className:n.detailContainer,children:[(0,L.jsx)("strong",{children:"Tags:"}),(0,L.jsx)("br",{}),0===Be.length?"N/A":Be.map((function(e,n){return(0,L.jsxs)("span",{children:[e,":",v()(Q,"tags.".concat(e),""),n div":{borderBottomColor:"#F8F8F8"}},"@media (max-width: 799px)":{margin:0,"&:hover, &.selected":{backgroundColor:"transparent","& > div":{borderBottomColor:"#E2E2E2"}}}},versionContainer:{fontSize:16,fontWeight:"bold",display:"flex",alignItems:"center","& svg.min-icon":{width:18,height:18,minWidth:18,minHeight:18,marginRight:10},"@media (max-width: 799px)":{fontSize:14,"& svg.min-icon":{display:"none"}}},buttonContainer:{textAlign:"right","& button":{marginLeft:"1.5rem"},"@media (max-width: 600px)":{"& button":{marginLeft:"5px"}}},versionID:{fontSize:"12px",margin:"2px 0",whiteSpace:"nowrap",textOverflow:"ellipsis",maxWidth:"95%",overflow:"hidden"},versionData:{marginRight:"10px",fontSize:12,color:"#868686","@media (max-width: 799px)":{textOverflow:"ellipsis",maxWidth:"95%",overflow:"hidden",whiteSpace:"nowrap"}},ctrItem:{position:"relative","&::before":{content:"' '",display:"block",position:"absolute",width:"2px",height:"calc(100% + 2px)",backgroundColor:"#F8F8F8",left:"24px"},"@media (max-width: 799px)":{"&::before":{display:"none"}}},collapsableInfo:{"@media (max-width: 799px)":{display:"flex",flexDirection:"column"}},versionItem:{"@media (max-width: 799px)":{display:"none"}}})}))((function(e){var n=e.classes,t=e.fileName,i=e.versionInfo,a=e.isSelected,o=e.checkable,s=e.isChecked,r=e.onCheck,c=e.onShare,d=e.onDownload,u=e.onRestore,h=e.onPreview,m=e.globalClick,f=e.index,p=e.key,x=e.style,v=i.is_delete_marker,b=[{icon:(0,L.jsx)(T.P99,{}),action:h,tooltip:"Preview"},{icon:(0,L.jsx)(T._8t,{}),action:d,tooltip:"Download this version"},{icon:(0,L.jsx)(T.aAc,{}),action:c,tooltip:"Share this version"},{icon:(0,L.jsx)(T.D7Y,{}),action:u,tooltip:"Restore this version"}],g=null;return i.is_delete_marker?g="deleted":i.is_latest?g="current":"null"===i.version_id&&(g="null"),(0,L.jsx)(l.ZP,{container:!0,flex:1,className:n.ctrItem,onClick:function(){m(i)},style:x,children:(0,L.jsx)(l.ZP,{item:!0,xs:12,className:"".concat(n.intermediateLayer," ").concat(a?"selected":""),children:(0,L.jsxs)(l.ZP,{item:!0,xs:12,className:"".concat(n.mainFileVersionItem," ").concat(i.is_delete_marker?"deleted":""),children:[(0,L.jsx)(l.ZP,{item:!0,xs:12,justifyContent:"space-between",children:(0,L.jsxs)(l.ZP,{container:!0,children:[(0,L.jsxs)(l.ZP,{item:!0,xs:!0,md:4,className:n.versionContainer,children:[o&&(0,L.jsx)(Sn.Z,{checked:s,id:"select-".concat(i.version_id),label:"",name:"select-".concat(i.version_id),onChange:function(e){e.stopPropagation(),e.preventDefault(),r(i.version_id||"")},value:i.version_id||"",disabled:i.is_delete_marker,overrideCheckboxStyles:{paddingLeft:0,height:34,width:25},noTopMargin:!0}),$e(t,!0)," v",f.toString(),(0,L.jsx)("span",{className:n.versionItem,children:g&&(0,L.jsx)(Cn,{type:g})})]}),(0,L.jsx)(l.ZP,{item:!0,xs:10,md:8,className:n.buttonContainer,children:b.map((function(e,t){return(0,L.jsx)(_.Z,{title:e.tooltip,children:(0,L.jsx)(N.Z,{size:"small",id:"version-action-".concat(e.tooltip,"-").concat(t.toString()),className:"".concat(n.spacing," ").concat(v?n.buttonDisabled:""),disabled:v,onClick:function(n){n.stopPropagation(),v?n.preventDefault():e.action(i)},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,L.jsx)(l.ZP,{item:!0,xs:12,className:n.versionID,children:"null"!==i.version_id?i.version_id:"-"}),(0,L.jsxs)(l.ZP,{item:!0,xs:12,className:n.collapsableInfo,children:[(0,L.jsxs)("span",{className:n.versionData,children:[(0,L.jsx)("strong",{children:"Last modified:"})," ",(0,L.jsx)(pn(),{children:i.last_modified})]}),(0,L.jsxs)("span",{className:n.versionData,children:[(0,L.jsx)("strong",{children:"Size:"})," ",(0,j.ae)(i.size||"0")]})]})]})})},p)})),Nn=t(90673),_n=function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,i=e.selectedBucket,o=e.selectedObject,s=(0,d.TL)(),r=(0,a.useState)(!1),c=(0,m.Z)(r,2),u=c[0],h=c[1],f=(0,a.useState)(""),p=(0,m.Z)(f,2),x=p[0],v=p[1];if((0,a.useEffect)((function(){u&&b.Z.invoke("DELETE","/api/v1/buckets/".concat(i,"/objects?path=").concat(o,"&non_current_versions=true")).then((function(){n(!0)})).catch((function(e){s((0,F.Ih)(e)),h(!1)}))}),[u,n,s,o,i]),!o)return null;return(0,L.jsx)(ve.Z,{title:"Delete Non-Current versions",confirmText:"Delete",isOpen:t,titleIcon:(0,L.jsx)(T.NvT,{}),isLoading:u,onConfirm:function(){h(!0)},onClose:function(){return n(!1)},confirmButtonProps:{disabled:"YES, PROCEED"!==x||u},confirmationContent:(0,L.jsxs)(xe.Z,{children:["Are you sure you want to delete all the non-current versions for:"," ",(0,L.jsx)("b",{children:(0,j.IO)(o)}),"? ",(0,L.jsx)("br",{}),(0,L.jsx)("br",{}),"To continue please type ",(0,L.jsx)("b",{children:"YES, PROCEED"})," in the box.",(0,L.jsx)(l.ZP,{item:!0,xs:12,children:(0,L.jsx)(Qe.Z,{id:"type-confirm",name:"retype-tenant",onChange:function(e){v(e.target.value)},label:"",value:x})})]})})},Tn=function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,i=e.selectedBucket,o=e.selectedVersions,s=e.selectedObject,r=(0,d.TL)(),c=(0,a.useState)(!1),l=(0,m.Z)(c,2),u=l[0],h=l[1];return(0,a.useEffect)((function(){if(u){var e=o.map((function(e){return{path:s,versionID:e,recursive:!1}}));e.length>0&&b.Z.invoke("POST","/api/v1/buckets/".concat(i,"/delete-objects?all_versions=false"),e).then((function(){h(!1),n(!0)})).catch((function(e){r((0,F.Ih)(e)),h(!1)}))}}),[u,n,i,s,o,r]),o?(0,L.jsx)(ve.Z,{title:"Delete Selected Versions",confirmText:"Delete",isOpen:t,titleIcon:(0,L.jsx)(T.NvT,{}),isLoading:u,onConfirm:function(){h(!0)},onClose:function(){return n(!1)},confirmationContent:(0,L.jsxs)(xe.Z,{children:["Are you sure you want to delete the selected ",o.length," ","versions for ",(0,L.jsx)("strong",{children:s}),"?"]})}):null},En=t(5171),In={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:"0",tags:{},version_id:null},kn=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({versionsContainer:{padding:10,"@media (max-width: 799px)":{minHeight:800}},noBottomBorder:{borderBottom:0},versionsVirtualPanel:{flexGrow:1,height:"calc(100% - 120px)",overflow:"auto","@media (max-width: 799px)":{height:600}},screenTitleContainer:{position:"relative","&::before":{content:"' '",display:"block",position:"absolute",width:"2px",backgroundColor:"#F8F8F8",left:"24px",height:"40px",bottom:0},"@media (max-width: 799px)":{"&::before":{display:"none"}}},sortByLabel:{color:"#838383",fontWeight:"bold",whiteSpace:"nowrap",marginRight:12,fontSize:14,"@media (max-width: 600px)":{display:"none"}}},u.bp),u.Si),u.OR),u.VX),u.bK),u.VI),u.cx),u.C4),(0,u.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=e.internalPaths,i=e.bucketName,s=(0,d.TL)(),r=(0,o.v9)((function(e){return e.objectBrowser.searchVersions})),c=(0,o.v9)((function(e){return e.objectBrowser.loadingVersions})),u=(0,o.v9)((function(e){return e.objectBrowser.selectedVersion})),f=(0,o.v9)(F.N5),x=(0,a.useState)(!1),g=(0,m.Z)(x,2),Z=g[0],w=g[1],C=(0,a.useState)(null),S=(0,m.Z)(C,2),y=S[0],N=S[1],_=(0,a.useState)(null),E=(0,m.Z)(_,2),I=E[0],k=E[1],O=(0,a.useState)([]),z=(0,m.Z)(O,2),A=z[0],M=z[1],U=(0,a.useState)(!1),G=(0,m.Z)(U,2),H=G[0],K=G[1],V=(0,a.useState)(""),Y=(0,m.Z)(V,2),J=Y[0],q=Y[1],$=(0,a.useState)("date"),Q=(0,m.Z)($,2),ee=Q[0],ne=Q[1],te=(0,a.useState)(!1),ie=(0,m.Z)(te,2),ae=ie[0],oe=ie[1],se=(0,a.useState)(!1),re=(0,m.Z)(se,2),ce=re[0],le=re[1],de=(0,a.useState)(!1),ue=(0,m.Z)(de,2),he=ue[0],me=ue[1],fe=(0,a.useState)([]),pe=(0,m.Z)(fe,2),xe=pe[0],ve=pe[1],be=(0,a.useState)(!1),ge=(0,m.Z)(be,2),je=ge[0],we=ge[1],Ce=[];y&&(Ce=y.name.split("/")),(0,a.useEffect)((function(){c||y||s((0,P.Eq)(!0))}),[c,y,s]),(0,a.useEffect)((function(){c&&""!==t&&b.Z.invoke("GET","/api/v1/buckets/".concat(i,"/objects?prefix=").concat(t).concat(f?"&with_versions=true":"")).then((function(e){var n=v()(e,"objects",[]),i=(0,j.IO)(t),a=n.filter((function(e){return e.name===i}));f?(N(a.find((function(e){return e.is_latest}))||In),M(a)):(N(a[0]),M([])),s((0,P.Eq)(!1))})).catch((function(e){s((0,F.Ih)(e)),s((0,P.Eq)(!1))}))}),[c,i,t,s,f]);var Se=function(e){k(e),w(!0)},ye=function(e){k(e),oe(!0)},Ne=function(e){q(e.version_id||""),K(!0)},_e=function(e){!function(e){var n=(0,j.LL)("".concat(i,"-").concat(e.name,"-").concat((new Date).getTime(),"-").concat(Math.random())),a=(0,ln.YO)(8),o=(0,B.LR)(i,t,e.version_id,parseInt(e.size||"0"),null,a,(function(e){s((0,P.RO)({instanceID:n,progress:e}))}),(function(){s((0,P.oK)(n))}),(function(e){s((0,P.qJ)({instanceID:n,msg:e}))}),(function(){s((0,P.Im)(n))}));(0,ln.EN)(a,o),s((0,P.Mc)({ID:a,bucketName:i,done:!1,instanceID:n,percentage:0,prefix:e.name,type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))}(e)},Te=function(e){s((0,P.M3)(e.version_id||""))},Ee=A.filter((function(e){return!!e.version_id&&e.version_id.includes(r)})),Ie=A.reduce((function(e,n){return n.size?e+parseInt(n.size):e}),0);Ee.sort((function(e,n){if("size"===ee)return e.size&&n.size?e.sizen.size?1:0:0;var t=new Date(e.last_modified).getTime(),i=new Date(n.last_modified).getTime();return ti?-1:0}));var ke=function(e){if(xe.includes(e)){var n=xe.filter((function(n){return n!==e}));ve(n)}else{var t=(0,h.Z)(xe);t.push(e),ve(t)}};return(0,L.jsxs)(a.Fragment,{children:[Z&&y&&(0,L.jsx)(X.default,{open:Z,closeModalAndRefresh:function(){k(null),w(!1),oe(!1)},bucketName:i,dataObject:I||y}),H&&y&&(0,L.jsx)(wn,{restoreOpen:H,bucketName:i,versionID:J,objectPath:y.name,onCloseAndUpdate:function(e){K(!1),q(""),e&&(s((0,P.Eq)(!0)),s((0,P.vH)(!0)))}}),ae&&y&&(0,L.jsx)(Ze.default,{open:ae,bucketName:i,object:{name:y.name,version_id:I&&I.version_id?I.version_id:"null",size:parseInt(I&&I.size?I.size:"0"),content_type:"",last_modified:new Date(y.last_modified)},onClosePreview:function(){oe(!1)}}),ce&&(0,L.jsx)(_n,{deleteOpen:ce,closeDeleteModalAndRefresh:function(e){le(!1),e&&(s((0,P.Eq)(!0)),s((0,P.M3)("")),s((0,P.vH)(!0)))},selectedBucket:i,selectedObject:t}),je&&(0,L.jsx)(Tn,{selectedBucket:i,selectedObject:(0,j.IO)(t),deleteOpen:je,selectedVersions:xe,closeDeleteModalAndRefresh:function(e){we(!1),e&&(s((0,P.Eq)(!0)),s((0,P.M3)("")),s((0,P.vH)(!0)),ve([]))}}),(0,L.jsxs)(l.ZP,{container:!0,className:n.versionsContainer,children:[!y&&(0,L.jsx)(l.ZP,{item:!0,xs:12,children:(0,L.jsx)(jn.Z,{})}),y&&(0,L.jsxs)(a.Fragment,{children:[(0,L.jsx)(l.ZP,{item:!0,xs:12,children:(0,L.jsx)(D,{bucketName:i,internalPaths:(0,j.IO)(t),existingFiles:[],hidePathButton:!0})}),(0,L.jsx)(l.ZP,{item:!0,xs:12,className:n.screenTitleContainer,children:(0,L.jsx)(R.Z,{icon:(0,L.jsx)("span",{className:n.listIcon,children:(0,L.jsx)(T.cRd,{})}),title:(0,L.jsxs)("span",{className:n.titleSpacer,children:[Ce.length>0?Ce[Ce.length-1]:y.name," ","Versions"]}),subTitle:(0,L.jsx)(a.Fragment,{children:(0,L.jsxs)(l.ZP,{item:!0,xs:12,className:n.bucketDetails,children:[(0,L.jsx)("span",{className:n.detailsSpacer,children:(0,L.jsxs)("strong",{children:[A.length," Version",1===A.length?"":"s","\xa0\xa0\xa0"]})}),(0,L.jsx)("span",{className:n.detailsSpacer,children:(0,L.jsx)("strong",{children:(0,j.l5)(Ie)})})]})}),actions:(0,L.jsxs)(a.Fragment,{children:[(0,L.jsx)(W.Z,{tooltip:"Select Multiple Versions",children:(0,L.jsx)(p.z,{id:"select-multiple-versions",onClick:function(){me(!he)},icon:(0,L.jsx)(T.amE,{}),variant:he?"callAction":"regular",style:{marginRight:8}})}),he&&(0,L.jsx)(W.Z,{tooltip:"Delete Selected Versions",children:(0,L.jsx)(p.z,{id:"delete-multiple-versions",onClick:function(){we(!0)},icon:(0,L.jsx)(T.pJl,{}),variant:"secondary",style:{marginRight:8},disabled:0===xe.length})}),(0,L.jsx)(W.Z,{tooltip:"Delete Non Current Versions",children:(0,L.jsx)(p.z,{id:"delete-non-current",onClick:function(){le(!0)},icon:(0,L.jsx)(T.utM,{}),variant:"secondary",style:{marginRight:15},disabled:A.length<=1})}),(0,L.jsx)("span",{className:n.sortByLabel,children:"Sort by"}),(0,L.jsx)(Nn.Z,{id:"sort-by",label:"",value:ee,onChange:function(e){ne(e.target.value)},name:"sort-by",options:[{label:"Date",value:"date"},{label:"Size",value:"size"}]})]}),className:n.noBottomBorder})}),(0,L.jsx)(l.ZP,{item:!0,xs:12,className:n.versionsVirtualPanel,children:y.version_id&&"null"!==y.version_id&&(0,L.jsx)(En.aV,{style:{width:"100%"},containerStyle:{width:"100%",maxWidth:"100%"},width:1,height:800,rowCount:Ee.length,rowHeight:108,rowRenderer:function(e){var n=e.key,t=e.index,i=(e.isScrolling,e.isVisible,e.style),a=A.length-t;return(0,L.jsx)(yn,{style:i,fileName:(null===y||void 0===y?void 0:y.name)||"",versionInfo:Ee[t],index:a,onDownload:_e,onRestore:Ne,onShare:Se,onPreview:ye,globalClick:Te,isSelected:u===Ee[t].version_id,checkable:he,onCheck:ke,isChecked:xe.includes(Ee[t].version_id||"")},n)}})})]})]})]})})),Fn=t(9859),Pn=t(46078),Ln=a.lazy((function(){return Promise.resolve().then(t.bind(t,13065))})),On=a.lazy((function(){return Promise.resolve().then(t.bind(t,28789))})),Dn=a.lazy((function(){return Promise.resolve().then(t.bind(t,74768))})),Bn=(0,k.Z)(a.lazy((function(){return t.e(711).then(t.bind(t,50711))}))),Rn=(0,k.Z)(a.lazy((function(){return Promise.resolve().then(t.bind(t,34433))}))),zn=(0,k.Z)(a.lazy((function(){return Promise.all([t.e(3691),t.e(2515),t.e(6901)]).then(t.bind(t,26901))}))),An=(0,k.Z)(a.lazy((function(){return Promise.resolve().then(t.bind(t,78562))}))),Mn=(0,K.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({browsePaper:{border:0,height:"calc(100vh - 210px)","&.isEmbedded":{height:"calc(100vh - 315px)"},"&.actionsPanelOpen":{minHeight:"100%"},"@media (max-width: 800px)":{width:800}},"@global":{".rowLine:hover .iconFileElm":{backgroundImage:"url(/images/ob_file_filled.svg)"},".rowLine:hover .iconFolderElm":{backgroundImage:"url(/images/ob_folder_filled.svg)"}},badgeOverlap:{"& .MuiBadge-badge":{top:10,right:1,width:5,height:5,minWidth:5}},screenTitle:{borderBottom:0,paddingTop:0,paddingLeft:0,paddingRight:0}},u.VX),u.OR),u.qg),{},{searchField:(0,i.Z)((0,i.Z)({},u.qg.searchField),{},{maxWidth:380}),screenTitleContainer:{border:"#EAEDEE 1px solid",padding:"0.8rem 15px 0"},labelStyle:{color:"#969FA8",fontSize:"12px"},breadcrumbsContainer:{padding:"12px 14px 5px"},parentWrapper:{"@media (max-width: 800px)":{overflowX:"auto"}},fullContainer:{"@media (max-width: 799px)":{width:0}},hideListOnSmall:{"@media (max-width: 799px)":{display:"none"}}},u.C4),u.cx),(0,u.Bz)(e.spacing(4))))})),Un={borderWidth:2,borderRadius:2,borderColor:"#eeeeee",outline:"none"},Gn={borderStyle:"dashed",backgroundColor:"#fafafa",borderColor:"#2196f3"},Wn={borderStyle:"dashed",backgroundColor:"#fafafa",borderColor:"#00e676"};var Hn=(0,L.jsx)(Z.Z,{component:"h3",children:"Loading..."}),Kn=function(){var e,n=Mn(),t=(0,d.TL)(),r=(0,s.UO)(),c=(0,s.s0)(),u=(0,s.TH)(),x=(0,o.v9)((function(e){return e.objectBrowser.rewind.rewindEnabled})),C=(0,o.v9)((function(e){return e.objectBrowser.rewind.dateToRewind})),S=(0,o.v9)((function(e){return e.objectBrowser.rewind.bucketToRewind})),y=(0,o.v9)((function(e){return e.objectBrowser.versionsMode})),N=(0,o.v9)((function(e){return e.objectBrowser.searchObjects})),_=(0,o.v9)((function(e){return e.objectBrowser.showDeleted})),k=(0,o.v9)((function(e){return e.objectBrowser.objectDetailsOpen})),O=(0,o.v9)((function(e){return e.objectBrowser.selectedInternalPaths})),A=(0,o.v9)((function(e){return e.objectBrowser.loadingObjects})),M=(0,o.v9)((function(e){return e.objectBrowser.simplePath})),U=(0,o.v9)(Fn.HQ),G=(0,o.v9)(Fn.G6),K=(0,o.v9)((function(e){return e.console.session.allowResources})),V=(0,o.v9)(Pn.$4),J=!(null===V||void 0===V||!V.includes("object-browser-only")),q=(0,a.useState)([]),X=(0,m.Z)(q,2),$=X[0],Q=X[1],ee=(0,a.useState)(!1),ne=(0,m.Z)(ee,2),te=ne[0],ie=ne[1],ae=(0,a.useState)(0),oe=(0,m.Z)(ae,2),se=oe[0],re=oe[1],ce=(0,a.useState)(Hn),le=(0,m.Z)(ce,2),de=le[0],ue=le[1],he=(0,a.useState)(!0),me=(0,m.Z)(he,2),fe=me[0],pe=me[1],xe=(0,a.useState)(!1),ve=(0,m.Z)(xe,2),be=ve[0],ge=ve[1],je=(0,a.useState)(!0),Ze=(0,m.Z)(je,2),we=Ze[0],Ce=Ze[1],Se=(0,a.useState)(!1),ye=(0,m.Z)(Se,2),Ne=ye[0],_e=ye[1],Te=(0,a.useState)(!1),Ee=(0,m.Z)(Te,2),Ie=Ee[0],Fe=Ee[1],Pe=(0,a.useState)([]),Le=(0,m.Z)(Pe,2),Oe=Le[0],De=Le[1],Be=(0,a.useState)(!1),Re=(0,m.Z)(Be,2),ze=Re[0],Ae=Re[1],Me=(0,a.useState)(null),Ue=(0,m.Z)(Me,2),Ge=Ue[0],We=Ue[1],He=(0,a.useState)(!1),Ke=(0,m.Z)(He,2),Ve=Ke[0],Ye=Ke[1],Je=(0,a.useState)("ASC"),qe=(0,m.Z)(Je,2),Xe=qe[0],$e=qe[1],Qe=(0,a.useState)("name"),en=(0,m.Z)(Qe,2),nn=en[0],tn=en[1],an=(0,a.useState)(!1),on=(0,m.Z)(an,2),sn=on[0],rn=on[1],cn=(0,a.useState)(!1),dn=(0,m.Z)(cn,2),hn=dn[0],fn=dn[1],pn=(0,a.useState)(!1),xn=(0,m.Z)(pn,2),vn=xn[0],jn=xn[1],Zn=(0,a.useState)(null),wn=(0,m.Z)(Zn,2),Cn=wn[0],yn=wn[1],Nn=(0,a.useState)(null),_n=(0,m.Z)(Nn,2),Tn=_n[0],En=_n[1],In=u.pathname.split("/browse/"),Kn=2===In.length?In[1]:"",Vn=r.bucketName||"",Yn=(0,a.useRef)(null),Jn=(0,a.useRef)(null);(0,a.useEffect)((function(){null!==Jn.current&&(Jn.current.setAttribute("directory",""),Jn.current.setAttribute("webkitdirectory",""))}),[Jn]),(0,a.useEffect)((function(){if(1===Oe.length){var e=Oe[0];"none"!==(0,B.Bg)(e)?jn(!0):jn(!1),e.endsWith("/")?fn(!1):fn(!0)}else fn(!1),jn(!1)}),[Oe]),(0,a.useEffect)((function(){Cn||b.Z.invoke("GET","/api/v1/buckets/".concat(Vn,"/quota")).then((function(e){var n=null;e.quota&&(n=e),yn(n)})).catch((function(e){console.error("Error Getting Quota Status: ",e.detailedError),yn(null)}))}),[Cn,Vn]),(0,a.useEffect)((function(){Oe.length>0?t((0,P.vb)(!0)):0===Oe.length&&null===O&&t((0,P.vb)(!1))}),[Oe,O,t]);var qn=(0,E.F)(Vn,[I.Ft.S3_DELETE_OBJECT]),Xn=(0,E.F)(Vn,[I.Ft.S3_LIST_BUCKET]);(0,a.useEffect)((function(){sn||(t((0,Fn.d5)(!0)),rn(!0))}),[sn,t,rn]),function(e,n){var t=(0,a.useRef)(null);(0,a.useEffect)((function(){t.current=e}),[e]),(0,a.useEffect)((function(){if(null!==n){var e=setInterval((function(){void 0!==t&&t.current&&t.current()}),n);return function(){return clearInterval(e)}}}),[n])}((function(){A&&function(){var e=Date.now()-se;e/1e3>=6?ue((0,L.jsx)(a.Fragment,{children:(0,L.jsxs)(Z.Z,{component:"h3",children:["This operation is taking longer than expected... (",Math.ceil(e/1e3),"s)"]})})):e/1e3>=3&&ue((0,L.jsx)(Z.Z,{component:"h3",children:"This operation is taking longer than expected..."}))}()}),1e3),(0,a.useEffect)((function(){fe&&(Xn?b.Z.invoke("GET","/api/v1/buckets/".concat(Vn,"/versioning")).then((function(e){ge(e.is_versioned),pe(!1)})).catch((function(e){console.error("Error Getting Object Versioning Status: ",e.detailedError),pe(!1)})):(pe(!1),Q([])))}),[Vn,fe,t,Xn]),(0,a.useEffect)((function(){we&&(Xn?b.Z.invoke("GET","/api/v1/buckets/".concat(Vn,"/object-locking")).then((function(e){_e(e.object_locking_enabled),Ce(!1)})).catch((function(e){console.error("Error Getting Object Locking Status: ",e.detailedError),Ce(!1)})):(Q([]),Ce(!1)))}),[Vn,we,t,Xn]),(0,a.useEffect)((function(){var e=(0,j.IO)(Kn);e.endsWith("/")||""===e?(t((0,P.vb)(!1)),t((0,P.EE)(null)),t((0,P.Su)(""===e?"/":e))):(t((0,P.vH)(!0)),t((0,P.vb)(!0)),t((0,P.Eq)(!0)),t((0,P.EE)("".concat(e?"".concat((0,j.LL)(e)):""))),t((0,P.Su)("".concat(e.split("/").slice(0,-1).join("/"),"/"))))}),[Kn,C,x,t]),(0,a.useEffect)((function(){t((0,P.G4)("")),t((0,P.MU)(!0)),De([])}),[M,t,De]),(0,a.useEffect)((function(){if(A)if(Xn){var e="";if(Kn){var n=(0,j.IO)(Kn);e=n.endsWith("/")?n:n+"/"}var i=Date.now();re(i),ue(Hn);var a="/api/v1/buckets/".concat(Vn,"/objects");if(x){if(S!==Vn)return void t((0,P._w)());if(C){var o=C.toISOString();a="/api/v1/buckets/".concat(Vn,"/rewind/").concat(o)}}else if(_){var s=(new Date).toISOString();a="/api/v1/buckets/".concat(Vn,"/rewind/").concat(s)}b.Z.invoke("GET","".concat(a).concat(e?"?prefix=".concat((0,j.LL)(e)):"")).then((function(n){var i=n.objects||[],o=[],s=[];i.forEach((function(e){e.name!==(0,j.IO)(Kn)&&(e.name.endsWith("/")?o.push(e):s.push(e))}));var r=[].concat(o,s);if(0===r.length&&""!==e){var c="/api/v1/buckets/".concat(Vn,"/objects").concat(Kn?"?prefix=".concat(Kn):"");if(x){var l=C.toISOString(),d="";if(Kn){var u=(0,j.IO)(Kn);d=u.endsWith("/")?u:u+"/"}c="/api/v1/buckets/".concat(Vn,"/rewind/").concat(l).concat(d?"?prefix=".concat((0,j.LL)(d)):"")}b.Z.invoke("GET",c).then((function(n){if(n.objects){for(var i=!1,o=e.slice(0,e.length-1),s=0;s1,C="An error occurred while uploading the file".concat(w?"s":"","."),S={413:"Error - File size too large"};Z.withCredentials=!1,Z.onload=function(e){if(Z.status>=200&&Z.status<300)t((0,P.oK)(g)),s({status:Z.status}),(0,ln.GM)(p);else{if(S[Z.status])C=S[Z.status];else if(Z.response)try{var n=JSON.parse(Z.response);C=n.detailedMessage}catch(i){C="something went wrong"}t((0,P.qJ)({instanceID:g,msg:C})),r({status:Z.status,message:C}),(0,ln.GM)(p)}},Z.upload.addEventListener("error",(function(e){r(C),t((0,P.qJ)({instanceID:g,msg:"A network error occurred."}))})),Z.upload.addEventListener("progress",(function(e){var n=Math.floor(100*e.loaded/e.total);t((0,P.RO)({instanceID:g,progress:n}))})),Z.onerror=function(){r(C),t((0,P.qJ)({instanceID:g,msg:"A network error occurred."}))},Z.onloadend=function(){0===e.length&&t((0,P.MU)(!0))},Z.onabort=function(){t((0,P.Im)(g))};var y=new FormData;void 0!==o.size&&(y.append(o.size.toString(),d,l),(0,ln.EN)(p,Z),t((0,P.Mc)({ID:p,bucketName:n,done:!1,instanceID:g,percentage:0,prefix:"".concat((0,j.IO)(u)).concat(l),type:"upload",waitingForFile:!1,failed:!1,cancelled:!1,errorMessage:""})),(0,ln.N5)(p,y),(0,ln.EN)(p,Z))}))},s=[];t((0,P.LD)());for(var r=0;r0){var i=s.length,a=s.length-n.length,o={errorMessage:"There were some errors during file upload",detailedError:"Uploaded files ".concat(a,"/").concat(i)};t((0,F.Ih)(o))}t((0,P.MU)(!0)),De([])}))}(e,Vn,i,n)}),[Vn,t,M]),et=(0,a.useCallback)((function(e){if(e&&e.length>0){var n=e[0].path;Qn(e,n)}}),[Qn]),nt=(0,f.uI)({noClick:!0,onDrop:et}),tt=nt.getRootProps,it=nt.getInputProps,at=nt.isDragActive,ot=nt.isDragAccept,st=(0,a.useMemo)((function(){return(0,i.Z)((0,i.Z)((0,i.Z)({},Un),at?Gn:{}),ot?Wn:{})}),[at,ot]),rt=$.filter((function(e){return""===N||e.name.toLowerCase().indexOf(N.toLowerCase())>=0})),ct=(0,j.IO)(Kn),lt=ct.split("/").filter((function(e){return""!==e})),dt=rt.sort((0,B.P_)(nn)),ut=[];ut="ASC"===Xe?dt:dt.reverse();var ht=[Vn];lt.length>0&&(ht=ht.concat(lt));var mt=function(e){if(t((0,P.EE)(null)),t((0,P.db)({status:!1})),k&&null!==O){var n=(0,j.IO)(Kn).split("/");n.pop();var i="";n&&n.length>0&&(i="".concat(n.join("/"),"/")),c("/buckets/".concat(Vn,"/browse/").concat((0,j.LL)(i)))}t((0,P.vb)(!1)),De([]),e&&t((0,P.MU)(!0))},ft=[{type:"view",label:"View",onClick:function(e){De([]);var n="/buckets/".concat(Vn,"/browse").concat(e?"/".concat((0,j.LL)(e)):"");c(n),t((0,P.vb)(!0)),t((0,P.Eq)(!0)),t((0,P.EE)("".concat(e?"".concat((0,j.LL)(e)):"")))},sendOnlyId:!0}],pt=[{action:function(){if(0!==Oe.length){var e=[];if(1===(e=rt.filter((function(e){return Oe.includes(e.name)}))).length&&e[0].name.length>200&&(0,j.mv)().toLowerCase().includes("win"))return void En(e[0]);e.forEach((function(e){!function(e){var n=(0,j.LL)("".concat(Vn,"-").concat(e.name,"-").concat((new Date).getTime(),"-").concat(Math.random())),i=(0,ln.YO)(8),a=(0,B.LR)(Vn,(0,j.LL)(e.name),e.version_id,e.size,null,i,(function(e){t((0,P.RO)({instanceID:n,progress:e}))}),(function(){t((0,P.oK)(n))}),(function(e){t((0,P.qJ)({instanceID:n,msg:e}))}),(function(){t((0,P.Im)(n))}));(0,ln.EN)(i,a),t((0,P.Mc)({ID:i,bucketName:Vn,done:!1,instanceID:n,percentage:0,prefix:e.name,type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))}(e)}))}},label:"Download",disabled:0===Oe.length,icon:(0,L.jsx)(T._8t,{}),tooltip:"Download Selected"},{action:function(){if(1===Oe.length){var e;(e=rt.find((function(e){return Oe.includes(e.name)})))&&(We(e),Ye(!0))}},label:"Share",disabled:1!==Oe.length||!hn,icon:(0,L.jsx)(T.aAc,{}),tooltip:"Share Selected File"},{action:function(){if(1===Oe.length){var e;(e=rt.find((function(e){return Oe.includes(e.name)})))&&(We(e),Ae(!0))}},label:"Preview",disabled:1!==Oe.length||!vn,icon:(0,L.jsx)(T.P99,{}),tooltip:"Preview Selected File"},{action:function(){ie(!0)},label:"Delete",icon:(0,L.jsx)(Dn,{}),disabled:!(0,E.F)(Vn,[I.Ft.S3_DELETE_OBJECT])||0===Oe.length||!qn,tooltip:"Delete Selected Files"}];return(0,L.jsxs)(a.Fragment,{children:[Ve&&Ge&&(0,L.jsx)(Rn,{open:Ve,closeModalAndRefresh:function(){Ye(!1),We(null)},bucketName:Vn,dataObject:{name:Ge.name,last_modified:"",version_id:Ge.version_id}}),te&&(0,L.jsx)(Bn,{deleteOpen:te,selectedBucket:Vn,selectedObjects:Oe,closeDeleteModalAndRefresh:function(e){ie(!1),e&&(t((0,F.y1)("Objects deleted successfully.")),De([]),t((0,P.MU)(!0)))},versioning:be}),Ie&&(0,L.jsx)(zn,{open:Ie,closeModalAndRefresh:function(){Fe(!1)},bucketName:Vn}),ze&&(0,L.jsx)(An,{open:ze,bucketName:Vn,object:Ge,onClosePreview:function(){Ae(!1),We(null)}}),!!Tn&&(0,L.jsx)(un,{open:!!Tn,closeModal:function(){En(null)},currentItem:(null===(e=Tn.name.split("/"))||void 0===e?void 0:e.pop())||"",bucketName:Vn,internalPaths:Kn,actualInfo:{name:Tn.name,last_modified:"",version_id:Tn.version_id,size:Tn.size.toString()}}),(0,L.jsxs)(z.Z,{variant:"full",children:[(0,L.jsx)(l.ZP,{item:!0,xs:12,className:n.screenTitleContainer,children:(0,L.jsx)(R.Z,{className:n.screenTitle,icon:(0,L.jsx)("span",{className:n.listIcon,children:(0,L.jsx)(T.wNb,{})}),title:(0,L.jsx)("span",{className:n.titleSpacer,children:Vn}),subTitle:(0,L.jsx)(a.Fragment,{children:(0,L.jsxs)(l.ZP,{item:!0,xs:12,className:n.bucketDetails,children:[(0,L.jsxs)("span",{className:n.detailsSpacer,children:["Created:\xa0\xa0\xa0",(0,L.jsx)("strong",{children:(null===G||void 0===G?void 0:G.creation_date)||""})]}),(0,L.jsxs)("span",{className:n.detailsSpacer,children:["Access:\xa0\xa0\xa0",(0,L.jsx)("strong",{children:(null===G||void 0===G?void 0:G.access)||""})]}),G&&(0,L.jsx)(a.Fragment,{children:(0,L.jsxs)("span",{className:n.detailsSpacer,children:[G.size&&(0,L.jsx)(a.Fragment,{children:(0,j.l5)(G.size)}),G.size&&Cn&&(0,L.jsxs)(a.Fragment,{children:[" / ",(0,j.l5)(Cn.quota)]}),G.size&&G.objects?" - ":"",G.objects&&(0,L.jsxs)(a.Fragment,{children:[G.objects,"\xa0Object",G.objects&&1!==G.objects?"s":""]})]})})]})}),actions:(0,L.jsx)(a.Fragment,{children:(0,L.jsxs)("div",{className:n.actionsSection,children:[(0,L.jsx)(W.Z,{tooltip:"Rewind Bucket",children:(0,L.jsx)(p.z,{id:"rewind-objects-list",label:"Rewind",icon:(0,L.jsx)(w.Z,{badgeContent:" ",color:"secondary",variant:"dot",invisible:!x,className:n.badgeOverlap,sx:{height:16},children:(0,L.jsx)(Ln,{style:{minWidth:16,minHeight:16,width:16,height:16,marginTop:-3}})}),variant:"regular",onClick:function(){Fe(!0)},disabled:!be||!(0,E.F)(Vn,[I.Ft.S3_GET_OBJECT])})}),(0,L.jsx)(W.Z,{tooltip:"Reload List",children:(0,L.jsx)(p.z,{id:"refresh-objects-list",label:"Refresh",icon:(0,L.jsx)(On,{}),variant:"regular",onClick:function(){t(y?(0,P.Eq)(!0):(0,P.MU)(!0))},disabled:!(0,E.F)(Vn,[I.Ft.S3_LIST_BUCKET])||x})}),(0,L.jsx)("input",{type:"file",multiple:!0,onChange:$n,style:{display:"none"},ref:Yn}),(0,L.jsx)("input",{type:"file",multiple:!0,onChange:$n,style:{display:"none"},ref:Jn}),(0,L.jsx)(H,{bucketName:Vn,uploadPath:ht.join("/"),uploadFileFunction:function(e){Yn&&Yn.current&&Yn.current.click(),e()},uploadFolderFunction:function(e){Jn&&Jn.current&&Jn.current.click(),e()}})]})})})}),(0,L.jsxs)("div",(0,i.Z)((0,i.Z)({id:"object-list-wrapper"},tt({style:(0,i.Z)({},st)})),{},{children:[(0,L.jsx)("input",(0,i.Z)({},it())),(0,L.jsxs)(l.ZP,{item:!0,xs:12,className:n.tableBlock,sx:{border:"#EAEDEE 1px solid",borderTop:0},children:[y?(0,L.jsx)(a.Fragment,{children:null!==O&&(0,L.jsx)(kn,{internalPaths:O,bucketName:Vn})}):(0,L.jsx)(E.s,{scopes:[I.Ft.S3_LIST_BUCKET],resource:Vn,errorProps:{disabled:!0},children:(0,L.jsxs)(l.ZP,{item:!0,xs:12,className:n.fullContainer,children:[(0,L.jsx)(l.ZP,{item:!0,xs:12,className:n.breadcrumbsContainer,children:(0,L.jsx)(D,{bucketName:Vn,internalPaths:ct,existingFiles:$||[],additionalOptions:!be||x?null:(0,L.jsx)("div",{children:(0,L.jsx)(Sn.Z,{name:"deleted_objects",id:"showDeletedObjects",value:"deleted_on",label:"Show deleted objects",onChange:function(){t((0,P.mz)(!_)),mt(!0)},checked:_,overrideLabelClasses:n.labelStyle,className:n.overrideShowDeleted,noTopMargin:!0})}),hidePathButton:!1})}),(0,L.jsx)(g.Z,{itemActions:ft,columns:x?gn:bn,isLoading:A,loadingMessage:de,entityName:"Objects",idField:"name",records:ut,customPaperHeight:"".concat(n.browsePaper," ").concat(J?"isEmbedded":""," ").concat(k?"actionsPanelOpen":""),selectedItems:Oe,onSelect:function(e){var n=e.target,i=n.value,a=n.checked,o=(0,h.Z)(Oe);return a?o.push(i):o=o.filter((function(e){return e!==i})),De(o),t((0,P.EE)(null)),o},customEmptyMessage:"This location is empty".concat(x?"":", please try uploading a new file"),sortConfig:{currentSort:nn,currentDirection:Xe,triggerSort:function(e){var n=v()(e,"sortDirection","DESC");tn(e.sortBy),$e(n),t((0,P.MU)(!0))}},onSelectAll:function(){if(t((0,P.EE)(null)),Oe.length!==ut.length){var e=ut.map((function(e){return e.name}));De(e)}else De([])},rowStyle:function(e){var n,t=e.index;return null!==(n=ut[t])&&void 0!==n&&n.delete_flag?"deleted":""},parentClassName:n.parentWrapper})]})}),(0,L.jsx)(E.s,{scopes:[I.Ft.S3_LIST_BUCKET],resource:Vn,errorProps:{disabled:!0},children:(0,L.jsxs)(Y,{open:k,closePanel:function(){mt(!1)},className:"".concat(y?n.hideListOnSmall:""),children:[Oe.length>0&&(0,L.jsx)(ke,{items:pt,title:"Selected Objects:"}),null!==O&&(0,L.jsx)(mn,{internalPaths:O,bucketName:Vn,onClosePanel:mt,versioning:be,locking:Ne})]})})]})]}))]})]})},Vn=t(32291),Yn=t(95792),Jn=t(84669),qn=t(59114),Xn=t(73996),$n=t(49535),Qn=(0,c.Z)((function(e){return(0,r.Z)((0,i.Z)({},(0,u.Bz)(e.spacing(4))))}))((function(){var e=(0,d.TL)(),n=(0,s.s0)(),t=(0,s.UO)(),i=(0,s.TH)(),r=(0,o.v9)((function(e){return e.objectBrowser.versionsMode})),c=(0,o.v9)((function(e){return e.objectBrowser.searchObjects})),u=(0,o.v9)((function(e){return e.objectBrowser.versionedFile})),h=(0,o.v9)((function(e){return e.objectBrowser.searchVersions})),m=(0,o.v9)(Pn.$4),f=t.bucketName||"",x=i.pathname.split("/browse/"),v=2===x.length?x[1]:"",b=!(null===m||void 0===m||!m.includes("object-browser-only"));(0,a.useEffect)((function(){e((0,P.db)({status:!1}))}),[v,e]);var g=(0,$n.Z)(f,[I.Ft.S3_GET_BUCKET_POLICY,I.Ft.S3_PUT_BUCKET_POLICY,I.Ft.S3_GET_BUCKET_VERSIONING,I.Ft.S3_PUT_BUCKET_VERSIONING,I.Ft.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION,I.Ft.S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION,I.Ft.S3_DELETE_BUCKET,I.Ft.S3_GET_BUCKET_NOTIFICATIONS,I.Ft.S3_PUT_BUCKET_NOTIFICATIONS,I.Ft.S3_GET_REPLICATION_CONFIGURATION,I.Ft.S3_PUT_REPLICATION_CONFIGURATION,I.Ft.S3_GET_LIFECYCLE_CONFIGURATION,I.Ft.S3_PUT_LIFECYCLE_CONFIGURATION,I.Ft.ADMIN_GET_BUCKET_QUOTA,I.Ft.ADMIN_SET_BUCKET_QUOTA,I.Ft.S3_PUT_BUCKET_TAGGING,I.Ft.S3_GET_BUCKET_TAGGING,I.Ft.S3_LIST_BUCKET_VERSIONS,I.Ft.S3_GET_BUCKET_POLICY_STATUS,I.Ft.S3_DELETE_BUCKET_POLICY]),j=(0,L.jsx)(a.Fragment,{children:r?(0,L.jsx)(a.Fragment,{children:(0,L.jsx)(qn.Z,{placeholder:"Start typing to filter versions of ".concat(u),onChange:function(n){e((0,P.Pr)(n))},value:h})}):(0,L.jsx)(E.s,{scopes:[I.Ft.S3_LIST_BUCKET],resource:f,errorProps:{disabled:!0},children:(0,L.jsx)(qn.Z,{placeholder:"Start typing to filter objects in the bucket",onChange:function(n){e((0,P.G4)(n))},value:c})})});return(0,L.jsxs)(a.Fragment,{children:[b?(0,L.jsxs)(l.ZP,{container:!0,sx:{padding:"20px 32px 0"},children:[(0,L.jsx)(l.ZP,{children:(0,L.jsx)(Xn.Z,{marginRight:30,marginTop:10})}),(0,L.jsx)(l.ZP,{item:!0,xs:!0,children:j})]}):(0,L.jsx)(Vn.Z,{label:(0,L.jsx)(Jn.Z,{label:"Buckets",to:I.gA.BUCKETS}),actions:(0,L.jsx)(E.s,{scopes:I.D[I.EI.BUCKET_ADMIN],resource:f,errorProps:{disabled:!0},children:(0,L.jsx)(W.Z,{tooltip:g?"Configure Bucket":"You do not have the required permissions to configure this bucket. Please contact your MinIO administrator to request "+I.EI.BUCKET_ADMIN+" permisions.",children:(0,L.jsx)(p.z,{id:"configure-bucket-main",color:"primary","aria-label":"Configure Bucket",onClick:function(){n("/buckets/".concat(f,"/admin"))},icon:(0,L.jsx)(Yn.Z,{style:{width:20,height:20,marginTop:-3}}),style:{padding:"0 10px"}})})}),middleComponent:j}),(0,L.jsx)(l.ZP,{children:(0,L.jsx)(Kn,{})})]})}))},34433:function(e,n,t){t.r(n),t.d(n,{default:function(){return k}});var i=t(29439),a=t(1413),o=t(72791),s=t(26181),r=t.n(s),c=t(60364),l=t(75952),d=t(11135),u=t(25787),h=t(78029),m=t.n(h),f=t(61889),p=t(40986),x=t(23814),v=t(81207),b=t(56028),g=t(64163),j=t(30829),Z=t(72426),w=t.n(Z),C=t(21435),S=t(38734),y=t(80184),N=(0,u.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},x.YI),x.Hr),{},{labelContainer:{display:"flex",alignItems:"center",marginBottom:15},fieldContainer:(0,a.Z)((0,a.Z)({},x.YI.fieldContainer),{},{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:10,marginTop:11,marginBottom:6}),dateInputContainer:{margin:"0 10px"},durationInputs:{display:"flex",alignItems:"center",justifyContent:"flex-start"},validityIndicator:{display:"flex",alignItems:"center",justifyContent:"flex-start",marginTop:25,marginLeft:10},invalidDurationText:{marginTop:15,display:"flex",color:"red",fontSize:11},reverseInput:{flexFlow:"row-reverse","& > label":{fontWeight:400,marginLeft:15,marginRight:25}},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}}))}))((function(e){var n=e.classes,t=e.id,a=e.initialDate,s=e.label,r=e.maxDays,c=e.entity,l=e.onChange,d=(0,o.useState)(7),u=(0,i.Z)(d,2),h=u[0],m=u[1],p=(0,o.useState)(0),x=(0,i.Z)(p,2),v=x[0],b=x[1],g=(0,o.useState)(0),Z=(0,i.Z)(g,2),N=Z[0],_=Z[1],T=(0,o.useState)(!0),E=(0,i.Z)(T,2),I=E[0],k=E[1],F=(0,o.useState)(w()()),P=(0,i.Z)(F,2),L=P[0],O=P[1];(0,o.useEffect)((function(){O(function(e,n,t,i){return w()(e).add(n,"days").add(t,"hours").add(i,"minutes")}(a,h,v,N))}),[a,h,v,N]),(0,o.useEffect)((function(){I?l(L.format("YYYY-MM-DDTHH:mm:ss"),!0):l("0000-00-00",!1)}),[L,l,I]),(0,o.useEffect)((function(){var e=!0;(h<0||r&&h>r||isNaN(h))&&(e=!1),(v<0||v>23||isNaN(v))&&(e=!1),(N<0||N>59||isNaN(N))&&(e=!1),!r||h!==r||0===v&&0===N||(e=!1),k(e)}),[L,r,l,h,v,N]);var D={style:{textAlign:"center",paddingRight:10,paddingLeft:10,width:25},className:"removeArrows"};return(0,y.jsx)(o.Fragment,{children:(0,y.jsxs)(f.ZP,{container:!0,className:n.fieldContainer,children:[(0,y.jsx)(f.ZP,{item:!0,xs:12,className:n.labelContainer,children:(0,y.jsx)(j.Z,{htmlFor:t,className:n.inputLabel,sx:{marginLeft:"10px"},children:(0,y.jsx)("span",{children:s})})}),(0,y.jsxs)(f.ZP,{item:!0,xs:12,className:n.durationInputs,children:[(0,y.jsx)(f.ZP,{item:!0,className:n.dateInputContainer,children:(0,y.jsx)(C.Z,{id:t,className:n.reverseInput,type:"number",min:"0",max:r?r.toString():"999",label:"Days",name:t,onChange:function(e){m(parseInt(e.target.value))},value:h.toString(),extraInputProps:D,noLabelMinWidth:!0})}),(0,y.jsx)(f.ZP,{item:!0,className:n.dateInputContainer,children:(0,y.jsx)(C.Z,{id:t,className:n.reverseInput,type:"number",min:"0",max:"23",label:"Hours",name:t,onChange:function(e){b(parseInt(e.target.value))},value:v.toString(),extraInputProps:D,noLabelMinWidth:!0})}),(0,y.jsx)(f.ZP,{item:!0,className:n.dateInputContainer,children:(0,y.jsx)(C.Z,{id:t,className:n.reverseInput,type:"number",min:"0",max:"59",label:"Minutes",name:t,onChange:function(e){_(parseInt(e.target.value))},value:N.toString(),extraInputProps:D,noLabelMinWidth:!0})})]}),(0,y.jsx)(f.ZP,{item:!0,xs:12,className:"".concat(n.validityIndicator," ").concat(n.formFieldRow),children:I?(0,y.jsxs)("div",{className:n.validityText,children:[(0,y.jsx)(S.xPt,{}),(0,y.jsxs)("div",{className:n.validityLabel,children:[c," will be available until:"]})," ",(0,y.jsx)("div",{className:n.validTill,children:L.format("MM/DD/YYYY HH:mm:ss")})]}):(0,y.jsx)("div",{className:n.invalidDurationText,children:"Please select a valid duration."})})]})})})),_=t(45248),T=t(87995),E=t(25469),I=o.lazy((function(){return Promise.resolve().then(t.bind(t,79880))})),k=(0,u.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)({shareLinkInfo:{fontSize:14,fontWeight:400},copyShareLink:{display:"flex","@media (max-width: 900px)":{flexFlow:"column",alignItems:"center",justifyContent:"center"}},copyShareLinkInput:{"& div:first-child":{marginTop:0},"@media (max-width: 900px)":{minWidth:250}},copyShareLinkBtn:{display:"flex",alignItems:"center",justifyContent:"center","@media (max-width: 900px)":{marginTop:10}}},x.ID),x.DF))}))((function(e){var n=e.classes,t=e.open,a=e.closeModalAndRefresh,s=e.bucketName,d=e.dataObject,u=(0,E.TL)(),h=(0,c.v9)(T.N5),x=(0,o.useState)(""),j=(0,i.Z)(x,2),Z=j[0],w=j[1],C=(0,o.useState)(!0),k=(0,i.Z)(C,2),F=k[0],P=k[1],L=(0,o.useState)(!1),O=(0,i.Z)(L,2),D=O[0],B=O[1],R=(0,o.useState)(""),z=(0,i.Z)(R,2),A=z[0],M=z[1],U=(0,o.useState)(!0),G=(0,i.Z)(U,2),W=G[0],H=G[1],K=(0,o.useState)("null"),V=(0,i.Z)(K,2),Y=V[0],J=V[1],q=new Date;return(0,o.useEffect)((function(){if(void 0===d.version_id)return h?(v.Z.invoke("GET","/api/v1/buckets/".concat(s,"/objects?prefix=").concat((0,_.LL)(d.name)).concat(h?"&with_versions=true":"")).then((function(e){var n=r()(e,"objects",[]).find((function(e){return e.is_latest}));J(n?n.version_id:"null")})).catch((function(e){u((0,T.zb)(e))})),void P(!1)):(J("null"),void P(!1));J(d.version_id||"null"),P(!1)}),[s,d,h,u]),(0,o.useEffect)((function(){if(W&&!F){B(!0),w("");var e=new Date("".concat(A)),n=new Date,t=Math.ceil((e.getTime()-n.getTime())/1e3);t>0&&v.Z.invoke("GET","/api/v1/buckets/".concat(s,"/objects/share?prefix=").concat((0,_.LL)(d.name),"&version_id=").concat(Y).concat(""!==A?"&expires=".concat(t,"s"):"")).then((function(e){w(e),B(!1)})).catch((function(e){u((0,T.zb)(e)),w(""),B(!1)}))}}),[d,A,s,W,w,u,h,F,Y]),(0,y.jsx)(o.Fragment,{children:(0,y.jsxs)(b.Z,{title:"Share File",titleIcon:(0,y.jsx)(S.aAc,{style:{fill:"#4CCB92"}}),modalOpen:t,onClose:function(){a()},children:[F&&(0,y.jsx)(f.ZP,{item:!0,xs:12,children:(0,y.jsx)(p.Z,{})}),!F&&(0,y.jsxs)(o.Fragment,{children:[(0,y.jsxs)(f.ZP,{item:!0,xs:12,className:n.shareLinkInfo,children:["This is a temporary URL with integrated access credentials for sharing objects valid for up to 7 days.",(0,y.jsx)("br",{}),(0,y.jsx)("br",{}),"The temporary URL expires after the configured time limit."]}),(0,y.jsx)("br",{}),(0,y.jsx)(f.ZP,{item:!0,xs:12,className:n.dateContainer,children:(0,y.jsx)(N,{initialDate:q,id:"date",label:"Active for",maxDays:7,onChange:function(e,n){H(n),n?M(e):(M(""),w(""))},entity:"Link"})}),(0,y.jsx)(f.ZP,{item:!0,xs:12,className:"".concat(n.copyShareLink," ").concat(n.formFieldRow," "),children:(0,y.jsx)(f.ZP,{item:!0,xs:12,className:n.copyShareLinkInput,children:(0,y.jsx)(g.Z,{content:Z,actionButton:(0,y.jsx)(m(),{text:Z,children:(0,y.jsx)(l.z,{id:"copy-path",variant:"regular",onClick:function(){u((0,T.MK)("Share URL Copied to clipboard"))},disabled:""===Z||D,style:{marginRight:"5px",width:"28px",height:"28px",padding:"0px"},icon:(0,y.jsx)(I,{})})})})})})]})]})})}))},78562:function(e,n,t){t.r(n),t.d(n,{default:function(){return v}});var i=t(72791),a=t(56028),o=t(4942),s=t(29439),r=t(11135),c=t(25787),l=t(61889),d=t(40986),u=t(47922),h=t(45248),m=t(28182),f=t(80184),p=(0,c.Z)((function(){return(0,r.Z)({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"}})}))((function(e){var n=e.bucketName,t=e.object,a=e.isFullscreen,r=void 0!==a&&a,c=e.classes,p=(0,i.useState)(!0),x=(0,s.Z)(p,2),v=x[0],b=x[1],g="";if(t){var j=(0,h.LL)(t.name),Z=document.baseURI.replace(window.location.origin,"");g="".concat(window.location.origin).concat(Z,"api/v1/buckets/").concat(n,"/objects/download?preview=true&prefix=").concat(j),t.version_id&&(g=g.concat("&version_id=".concat(t.version_id)))}var w=(0,u.Bg)((null===t||void 0===t?void 0:t.name)||""),C=function(){b(!1)};return(0,f.jsxs)(i.Fragment,{children:[v&&(0,f.jsx)(l.ZP,{item:!0,xs:12,children:(0,f.jsx)(d.Z,{})}),(0,f.jsxs)("div",{style:{textAlign:"center"},children:["video"===w&&(0,f.jsx)("video",{style:{width:"auto",height:"auto",maxWidth:"calc(100vw - 100px)",maxHeight:"calc(100vh - 200px)"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:C,children:(0,f.jsx)("source",{src:g,type:"video/mp4"})}),"audio"===w&&(0,f.jsx)("audio",{style:{width:"100%",height:"auto"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:C,children:(0,f.jsx)("source",{src:g,type:"audio/mpeg"})}),"image"===w&&(0,f.jsx)("img",{style:{width:"auto",height:"auto",maxWidth:"100vw",maxHeight:"100vh"},src:g,alt:"preview",onLoad:C}),"video"!==w&&"audio"!==w&&"image"!==w&&(0,f.jsx)("div",{className:(0,m.Z)(c.iframeBase,(0,o.Z)({},c.iframeHidden,v)),children:(0,f.jsx)("iframe",{src:g,title:"File Preview",allowTransparency:!0,className:"".concat(c.iframeContainer," ").concat(r?"fullHeight":w),onLoad:C,children:"File couldn't be loaded. Please try Download instead"})})]})]})})),x=t(38734),v=function(e){var n=e.open,t=e.bucketName,o=e.object,s=e.onClosePreview;return(0,f.jsx)(i.Fragment,{children:(0,f.jsx)(a.Z,{modalOpen:n,title:"Preview - ".concat(null===o||void 0===o?void 0:o.name),onClose:s,wideLimit:!1,titleIcon:(0,f.jsx)(x.$30,{}),children:(0,f.jsx)(p,{bucketName:t,object:o})})})}},47922:function(e,n,t){t.d(n,{Bg:function(){return s},LR:function(){return o},P_:function(){return r},kh:function(){return c}});var i=t(45248),a=t(76610),o=function(e,n,t,o){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,r=arguments.length>5?arguments[5]:void 0,c=arguments.length>6?arguments[6]:void 0,l=arguments.length>7?arguments[7]:void 0,d=arguments.length>8?arguments[8]:void 0,u=arguments.length>9?arguments[9]:void 0,h=document.createElement("a");document.body.appendChild(h);var m=document.baseURI.replace(window.location.origin,""),f="".concat(window.location.origin).concat(m,"api/v1/buckets/").concat(e,"/objects/download?prefix=").concat(n).concat(null!==s&&""!==s.trim()?"&override_file_name=".concat((0,i.LL)(s||"")):"");t&&(f=f.concat("&version_id=".concat(t)));var p=new XMLHttpRequest;return p.open("GET",f,!0),p.addEventListener("progress",(function(e){var n=Math.round(e.loaded/o*100);c&&c(n)}),!1),p.responseType="blob",p.onreadystatechange=function(){if(4===p.readyState)if(200===p.status){var e=p.getResponseHeader("Content-Disposition"),n="download";if(e)n=decodeURIComponent(e).split('"')[1];l&&l(),(0,a.GM)(r);var t=document.createElement("a");t.href=window.URL.createObjectURL(p.response),t.download=n,document.body.appendChild(t),t.click(),document.body.removeChild(t)}else{if("application/json"===p.getResponseHeader("Content-Type")){var i=JSON.parse(p.response);if(i.detailedMessage)return void d(i.detailedMessage)}d("Unexpected response status code (".concat(p.status,")."))}},p.onerror=function(){d&&d("A network error occurred.")},p.onabort=function(){u&&u()},p},s=function(e){var n=e.split(".").pop();return n?(n=n.toLowerCase(),["jif","jfif","apng","avif","svg","webp","bmp","ico","jpg","jpe","jpeg","gif","png","heic"].includes(n)?"image":["pdf","txt","json"].includes(n)?"text":["wav","mp3","alac","aiff","dsd","pcm"].includes(n)?"audio":["mp4","avi","mpg","webm","mov","flv","mkv","wmv","avchd","mpeg-4"].includes(n)?"video":"none"):"none"},r=function(e){switch(e){case"name":return function(e,n){return e.name.localeCompare(n.name)};case"last_modified":return function(e,n){return new Date(e.last_modified).getTime()-new Date(n.last_modified).getTime()};case"size":return function(e,n){return(e.size||-1)-(n.size||-1)}}},c=function(e,n,t){if(0===t.length)return null;var i=t.filter((function(n){return n.resource.endsWith(":".concat(e))||n.resource.includes(":".concat(e,"/"))}));if(0===i.length)return null;var a=[],o=n.split("/");return i.forEach((function(e){var n=(e.resource.split(":").pop()||"").split("/");n.length>1&&n.every((function(e,n){return"*"!==e&&((!o[n]||o[n]===e)&&(o[n]||a.push({name:"".concat(e,"/"),size:0,last_modified:new Date,version_id:""}),!0))})),"StringEquals"!==e.conditionOperator&&"StringLike"!==e.conditionOperator||e.prefixes.forEach((function(e){if(""!==e){var n=e.split("/"),t=[];n.every((function(e,n){return!e.includes("*")&&""!==e&&(e!==o[n]?(a.push({name:"".concat(t.join("/")).concat(t.length>0?"/":"").concat(e,"/"),size:0,last_modified:new Date,version_id:""}),!1):(""!==e&&t.push(e),!0))}))}}))})),a}},73996:function(e,n,t){t(72791);var i=t(38734),a=t(60364),o=t(80184);n.Z=function(e){var n=e.marginRight,s=e.marginTop,r=t(47045),c=(0,a.v9)((function(e){return e.system.overrideStyles})),l=r((null===c||void 0===c?void 0:c.backgroundColor)||"#fff").getBrightness()<=128;return(0,o.jsx)(i.BHR,{style:{width:105,marginRight:n,marginTop:s,fill:l?"#fff":"#081C42"}})}},75578:function(e,n,t){var i=t(1413),a=t(72791),o=t(80184);n.Z=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function t(t){return(0,o.jsx)(a.Suspense,{fallback:n,children:(0,o.jsx)(e,(0,i.Z)({},t))})}return t}},64163:function(e,n,t){var i=t(1413),a=t(72791),o=t(61889),s=t(11135),r=t(25787),c=t(23814),l=t(80184);n.Z=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)({},c.xx))}))((function(e){var n=e.classes,t=e.label,i=void 0===t?"":t,s=e.content,r=e.multiLine,c=void 0!==r&&r,d=e.actionButton;return(0,l.jsx)(a.Fragment,{children:(0,l.jsxs)(o.ZP,{className:n.prefinedContainer,children:[""!==i&&(0,l.jsx)(o.ZP,{item:!0,xs:12,className:n.predefinedTitle,children:i}),(0,l.jsxs)(o.ZP,{item:!0,xs:12,className:"".concat(n.predefinedList," ").concat(d?n.includesActionButton:""),children:[(0,l.jsx)(o.ZP,{item:!0,xs:12,className:c?n.innerContentMultiline:n.innerContent,children:s}),d&&(0,l.jsx)("div",{className:n.overlayShareOption,children:d})]})]})})}))},56028:function(e,n,t){var i=t(29439),a=t(1413),o=t(72791),s=t(60364),r=t(13400),c=t(55646),l=t(5574),d=t(65661),u=t(39157),h=t(11135),m=t(25787),f=t(23814),p=t(25469),x=t(29823),v=t(28057),b=t(87995),g=t(80184);n.Z=(0,m.Z)((function(e){return(0,h.Z)((0,a.Z)((0,a.Z)({},f.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},f.sN))}))((function(e){var n=e.onClose,t=e.modalOpen,h=e.title,m=e.children,f=e.classes,j=e.wideLimit,Z=void 0===j||j,w=e.noContentPadding,C=e.titleIcon,S=void 0===C?null:C,y=(0,p.TL)(),N=(0,o.useState)(!1),_=(0,i.Z)(N,2),T=_[0],E=_[1],I=(0,s.v9)((function(e){return e.system.modalSnackBar}));(0,o.useEffect)((function(){y((0,b.MK)(""))}),[y]),(0,o.useEffect)((function(){if(I){if(""===I.message)return void E(!1);"error"!==I.type&&E(!0)}}),[I]);var k=Z?{classes:{paper:f.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},F="";return I&&(F=I.detailedErrorMsg,(""===I.detailedErrorMsg||I.detailedErrorMsg.length<5)&&(F=I.message)),(0,g.jsxs)(l.Z,(0,a.Z)((0,a.Z)({open:t,classes:f},k),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&n()},className:f.root,children:[(0,g.jsxs)(d.Z,{className:f.title,children:[(0,g.jsxs)("div",{className:f.titleText,children:[S," ",h]}),(0,g.jsx)("div",{className:f.closeContainer,children:(0,g.jsx)(r.Z,{"aria-label":"close",id:"close",className:f.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,g.jsx)(x.Z,{})})})]}),(0,g.jsx)(v.Z,{isModal:!0}),(0,g.jsx)(c.Z,{open:T,className:f.snackBarModal,onClose:function(){E(!1),y((0,b.MK)(""))},message:F,ContentProps:{className:"".concat(f.snackBar," ").concat(I&&"error"===I.type?f.errorSnackBar:"")},autoHideDuration:I&&"error"===I.type?1e4:5e3}),(0,g.jsx)(u.Z,{className:w?"":f.content,children:m})]}))}))},59114:function(e,n,t){var i=t(4942),a=t(1413),o=(t(72791),t(63466)),s=t(74900),r=t(27391),c=t(25787),l=t(11135),d=t(23814),u=t(80184);n.Z=(0,c.Z)((function(e){return(0,l.Z)({searchField:(0,a.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,a=e.classes,c=e.onChange,l=e.adornmentPosition,d=void 0===l?"end":l,h=e.overrideClass,m=e.value,f=(0,i.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(o.Z,{position:d,className:a.adornment,children:(0,u.jsx)(s.Z,{})}));return(0,u.jsx)(r.Z,{placeholder:t,className:h||a.searchField,id:"search-resource",label:"",InputProps:f,onChange:function(e){c(e.target.value)},variant:"standard",value:m})}))},27454:function(e,n,t){var i=t(1413),a=t(72791),o=t(20068),s=t(80184);n.Z=function(e){var n=e.tooltip,t=e.children,r=e.errorProps,c=void 0===r?null:r;return(0,s.jsx)(o.Z,{title:n,children:(0,s.jsx)("span",{children:c?(0,a.cloneElement)(t,(0,i.Z)({},c)):t})})}},73669:function(e,n,t){var i=t(29439),a=t(72791),o=t(64554),s=t(75952),r=t(21435),c=t(38734),l=t(80184);n.Z=function(e){var n=e.value,t=(0,a.useState)(!1),d=(0,i.Z)(t,2),u=d[0],h=d[1];return(0,l.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",flexFlow:{sm:"row",xs:"column"}},children:[(0,l.jsx)(r.Z,{id:"inspect-dec-key",name:"inspect-dec-key",placeholder:"",label:"",type:u?"text":"password",onChange:function(){},value:n,overlayIcon:(0,l.jsx)(c.TIy,{}),extraInputProps:{readOnly:!0},overlayAction:function(){return navigator.clipboard.writeText(n)}}),(0,l.jsx)(s.z,{id:"show-hide-key",style:{marginLeft:"10px"},variant:"callAction",onClick:function(){return h(!u)},label:"Show/Hide"})]})}}}]);
+//# sourceMappingURL=1379.c2ecb9aa.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1379.c2ecb9aa.chunk.js.map b/portal-ui/build/static/js/1379.c2ecb9aa.chunk.js.map
new file mode 100644
index 000000000..4fe961eb3
--- /dev/null
+++ b/portal-ui/build/static/js/1379.c2ecb9aa.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/1379.c2ecb9aa.chunk.js","mappings":"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","sources":["screens/Console/ObjectBrowser/BrowserBreadcrumbs.tsx","screens/Console/Buckets/ListBuckets/UploadFilesButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DetailsListPanel.tsx","screens/Console/Common/FormComponents/DateSelector/utils.ts","screens/Console/Common/FormComponents/DateSelector/DateSelector.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetRetention.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteObject.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetLegalHoldModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ObjectMetaData.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectActionButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ActionsListSection.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/IconWithLabel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/utils.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/TagsModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/InspectObject.tsx","screens/Console/ObjectBrowser/RenameLongFilename.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjectsHelpers.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/RestoreFileVersion.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SpecificVersionPill.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/FileVersionItem.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteNonCurrent.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/DeleteSelectedVersions.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx","screens/Console/Buckets/BucketDetails/BrowserHandler.tsx","screens/Console/Common/FormComponents/DaysSelector/DaysSelector.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ShareFile.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileContent.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileModal.tsx","screens/Console/Buckets/ListBuckets/Objects/utils.ts","screens/Console/Common/Components/AutoColorIcon.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Common/TooltipWrapper/TooltipWrapper.tsx","screens/Console/Tools/KeyRevealer.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport Grid from \"@mui/material/Grid\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport { IconButton, Tooltip } from \"@mui/material\";\nimport { objectBrowserCommon } from \"../Common/FormComponents/common/styleLibrary\";\nimport { encodeURLString } from \"../../../common/utils\";\nimport { BackCaretIcon, CopyIcon, NewPathIcon } from \"../../../icons\";\nimport { hasPermission } from \"../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../common/SecureComponent/permissions\";\nimport { BucketObjectItem } from \"../Buckets/ListBuckets/Objects/ListObjects/types\";\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { setVersionsModeEnabled } from \"./objectBrowserSlice\";\nimport { Button } from \"mds\";\n\nconst CreatePathModal = withSuspense(\n React.lazy(\n () => import(\"../Buckets/ListBuckets/Objects/ListObjects/CreatePathModal\")\n )\n);\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...objectBrowserCommon,\n slashSpacingStyle: {\n margin: \"0 5px\",\n },\n });\n\ninterface IObjectBrowser {\n classes: any;\n bucketName: string;\n internalPaths: string;\n hidePathButton?: boolean;\n existingFiles: BucketObjectItem[];\n additionalOptions?: React.ReactNode;\n}\n\nconst BrowserBreadcrumbs = ({\n classes,\n bucketName,\n internalPaths,\n existingFiles,\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\n const [createFolderOpen, setCreateFolderOpen] = useState(false);\n\n let paths = internalPaths;\n\n if (internalPaths !== \"\") {\n paths = `/${internalPaths}`;\n }\n\n const splitPaths = paths.split(\"/\").filter((path) => path !== \"\");\n const lastBreadcrumbsIndex = splitPaths.length - 1;\n\n let breadcrumbsMap = splitPaths.map((objectItem: string, index: number) => {\n const subSplit = `${splitPaths.slice(0, index + 1).join(\"/\")}/`;\n const route = `/buckets/${bucketName}/browse/${\n subSplit ? `${encodeURLString(subSplit)}` : ``\n }`;\n\n if (index === lastBreadcrumbsIndex && objectItem === versionedFile) {\n return null;\n }\n\n return (\n \n /\n {index === lastBreadcrumbsIndex ? (\n {objectItem}\n ) : (\n {\n dispatch(\n setVersionsModeEnabled({ status: false, objectName: \"\" })\n );\n }}\n >\n {objectItem}\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 navigate(-1);\n }\n };\n\n return (\n \n
\n \n );\n};\n\nexport default withStyles(styles)(BrowserBreadcrumbs);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Menu, MenuItem } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport ListItemText from \"@mui/material/ListItemText\";\nimport ListItemIcon from \"@mui/material/ListItemIcon\";\nimport { UploadFolderIcon, UploadIcon } from \"../../../../icons\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../../common/SecureComponent\";\nimport { Button } from \"mds\";\nimport TooltipWrapper from \"../../Common/TooltipWrapper/TooltipWrapper\";\n\ninterface IUploadFilesButton {\n uploadPath: string;\n bucketName: string;\n forceDisable?: boolean;\n uploadFileFunction: (closeFunction: () => void) => void;\n uploadFolderFunction: (closeFunction: () => void) => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n listUploadIcons: {\n height: 20,\n \"& .min-icon\": {\n width: 18,\n fill: \"rgba(0,0,0,0.87)\",\n },\n },\n });\n\nconst UploadFilesButton = ({\n uploadPath,\n bucketName,\n forceDisable = false,\n uploadFileFunction,\n uploadFolderFunction,\n classes,\n}: IUploadFilesButton) => {\n const [anchorEl, setAnchorEl] = React.useState(null);\n const openUploadMenu = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n const handleCloseUpload = () => {\n setAnchorEl(null);\n };\n\n const uploadObjectAllowed = hasPermission(uploadPath, [\n IAM_SCOPES.S3_PUT_OBJECT,\n ]);\n const uploadFolderAllowed = hasPermission(\n bucketName,\n [IAM_SCOPES.S3_PUT_OBJECT],\n false,\n true\n );\n\n const uploadEnabled: boolean = uploadObjectAllowed || uploadFolderAllowed;\n\n return (\n \n \n }\n variant={\"callAction\"}\n disabled={forceDisable || !uploadEnabled}\n />\n \n \n \n );\n};\n\nexport default withStyles(styles)(UploadFilesButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { Grid, IconButton } from \"@mui/material\";\nimport { ClosePanelIcon } from \"../../../../../../icons\";\nimport makeStyles from \"@mui/styles/makeStyles\";\n\ninterface IDetailsListPanel {\n open: boolean;\n className?: string;\n closePanel: () => void;\n children: React.ReactNode;\n}\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n detailsList: {\n borderColor: \"#EAEDEE\",\n borderWidth: 0,\n borderStyle: \"solid\",\n borderRadius: 3,\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n width: 0,\n transitionDuration: \"0.3s\",\n overflowX: \"hidden\",\n overflowY: \"auto\",\n position: \"relative\",\n opacity: 0,\n marginLeft: -1,\n \"&.open\": {\n width: 300,\n minWidth: 300,\n borderLeftWidth: 1,\n opacity: 1,\n },\n \"@media (max-width: 799px)\": {\n \"&.open\": {\n width: \"100%\",\n minWidth: \"100%\",\n borderLeftWidth: 0,\n },\n },\n },\n closePanel: {\n position: \"absolute\",\n right: 0,\n top: 8,\n \"& .min-icon\": {\n width: 14,\n },\n },\n })\n);\n\nconst DetailsListPanel = ({\n open,\n closePanel,\n className = \"\",\n children,\n}: IDetailsListPanel) => {\n const classes = useStyles();\n\n return (\n \n \n \n \n {children}\n \n );\n};\n\nexport default DetailsListPanel;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const months = [\n { value: \"01\", label: \"January\" },\n { value: \"02\", label: \"February\" },\n { value: \"03\", label: \"March\" },\n { value: \"04\", label: \"April\" },\n { value: \"05\", label: \"May\" },\n { value: \"06\", label: \"June\" },\n { value: \"07\", label: \"July\" },\n { value: \"08\", label: \"August\" },\n { value: \"09\", label: \"September\" },\n { value: \"10\", label: \"October\" },\n { value: \"11\", label: \"November\" },\n { value: \"12\", label: \"December\" },\n];\n\nexport const days = Array.from(Array(31), (_, num) => num + 1);\n\nconst currentYear = new Date().getFullYear();\n\nexport const years = Array.from(\n Array(25),\n (_, numYear) => numYear + currentYear\n);\n\nexport const validDate = (year: string, month: string, day: string): any[] => {\n const currentDate = Date.parse(`${year}-${month}-${day}`);\n\n if (isNaN(currentDate)) {\n return [false, \"\"];\n }\n\n const parsedMonth = parseInt(month);\n const parsedDay = parseInt(day);\n\n const monthForString = parsedMonth < 10 ? `0${parsedMonth}` : parsedMonth;\n const dayForString = parsedDay < 10 ? `0${parsedDay}` : parsedDay;\n\n const parsedDate = new Date(currentDate).toISOString().split(\"T\")[0];\n const dateString = `${year}-${monthForString}-${dayForString}`;\n\n return [parsedDate === dateString, dateString];\n};\n\n// twoDigitDate gets a two digit string number used for months or days\n// returns \"NaN\" if number is NaN\nexport const twoDigitDate = (num: number): string => {\n return num < 10 ? `0${num}` : `${num}`;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useState,\n} from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport { SelectChangeEvent } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport InputLabel from \"@mui/material/InputLabel\";\nimport Tooltip from \"@mui/material/Tooltip\";\nimport FormControl from \"@mui/material/FormControl\";\nimport Select from \"@mui/material/Select\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport InputBase from \"@mui/material/InputBase\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport FormSwitchWrapper from \"../FormSwitchWrapper/FormSwitchWrapper\";\nimport { days, months, validDate, years } from \"./utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n dateInput: {\n \"&:not(:last-child)\": {\n marginRight: 22,\n },\n },\n ...fieldBasic,\n ...tooltipHelper,\n labelContainer: {\n flex: 1,\n },\n fieldContainer: {\n ...fieldBasic.fieldContainer,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n paddingBottom: 10,\n marginTop: 11,\n marginBottom: 6,\n },\n fieldContainerBorder: {\n borderBottom: \"#9c9c9c 1px solid\",\n marginBottom: 20,\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n \"& .MuiSelect-icon\": {\n color: \"#000\",\n \"&.Mui-disabled\": {\n color: \"#9c9c9c\",\n },\n },\n },\n input: {\n borderBottom: 0,\n fontSize: 12,\n },\n })\n)(InputBase);\n\ninterface IDateSelectorProps {\n classes: any;\n id: string;\n label: string;\n disableOptions?: boolean;\n addSwitch?: boolean;\n tooltip?: string;\n borderBottom?: boolean;\n value?: string;\n onDateChange: (date: string, isValid: boolean) => any;\n}\n\nconst DateSelector = forwardRef(\n (\n {\n classes,\n id,\n label,\n disableOptions = false,\n addSwitch = false,\n tooltip = \"\",\n borderBottom = false,\n onDateChange,\n value = \"\",\n }: IDateSelectorProps,\n ref: any\n ) => {\n useImperativeHandle(ref, () => ({ resetDate }));\n\n const [dateEnabled, setDateEnabled] = useState(false);\n const [month, setMonth] = useState(\"\");\n const [day, setDay] = useState(\"\");\n const [year, setYear] = useState(\"\");\n\n useEffect(() => {\n // verify if there is a current value\n // assume is in the format \"2021-12-30\"\n if (value !== \"\") {\n const valueSplit = value.split(\"-\");\n setYear(valueSplit[0]);\n setMonth(valueSplit[1]);\n // Turn to single digit to be displayed on dropdown buttons\n setDay(`${parseInt(valueSplit[2])}`);\n }\n }, [value]);\n\n useEffect(() => {\n const [isValid, dateString] = validDate(year, month, day);\n onDateChange(dateString, isValid);\n }, [month, day, year, onDateChange]);\n\n const resetDate = () => {\n setMonth(\"\");\n setDay(\"\");\n setYear(\"\");\n };\n\n const isDateDisabled = () => {\n if (disableOptions) {\n return disableOptions;\n } else if (addSwitch) {\n return !dateEnabled;\n } else {\n return false;\n }\n };\n\n const onMonthChange = (e: SelectChangeEvent) => {\n setMonth(e.target.value as string);\n };\n\n const onDayChange = (e: SelectChangeEvent) => {\n setDay(e.target.value as string);\n };\n\n const onYearChange = (e: SelectChangeEvent) => {\n setYear(e.target.value as string);\n };\n\n return (\n \n
\n \n );\n }\n);\n\nexport default withStyles(styles)(DateSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useRef, useState } from \"react\";\n\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button } from \"mds\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IFileInfo } from \"./types\";\n\nimport { twoDigitDate } from \"../../../../Common/FormComponents/DateSelector/utils\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport RadioGroupSelector from \"../../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport DateSelector from \"../../../../Common/FormComponents/DateSelector/DateSelector\";\nimport api from \"../../../../../../common/api\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n dateSelector: {\n \"& div\": {\n borderBottom: 0,\n marginBottom: 0,\n\n \"& div:nth-child(2)\": {\n border: \"1px solid #EAEAEA\",\n paddingLeft: 5,\n\n \"& div\": {\n border: 0,\n },\n },\n },\n },\n });\n\ninterface ISetRetentionProps {\n classes: any;\n open: boolean;\n closeModalAndRefresh: (updateInfo: boolean) => void;\n objectName: string;\n bucketName: string;\n objectInfo: IFileInfo;\n}\n\ninterface IRefObject {\n resetDate: () => void;\n}\n\nconst SetRetention = ({\n classes,\n open,\n closeModalAndRefresh,\n objectName,\n objectInfo,\n bucketName,\n}: ISetRetentionProps) => {\n const dispatch = useAppDispatch();\n const [statusEnabled, setStatusEnabled] = useState(true);\n const [type, setType] = useState(\"\");\n const [date, setDate] = useState(\"\");\n const [isDateValid, setIsDateValid] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const [alreadyConfigured, setAlreadyConfigured] = useState(false);\n\n useEffect(() => {\n if (objectInfo.retention_mode) {\n setType(objectInfo.retention_mode.toLowerCase());\n setAlreadyConfigured(true);\n }\n // get retention_until_date if defined\n if (objectInfo.retention_until_date) {\n const valueDate = new Date(objectInfo.retention_until_date);\n if (valueDate.toString() !== \"Invalid Date\") {\n const year = valueDate.getFullYear();\n const month = twoDigitDate(valueDate.getMonth() + 1);\n const day = valueDate.getDate();\n if (!isNaN(day) && month !== \"NaN\" && !isNaN(year)) {\n setDate(`${year}-${month}-${day}`);\n }\n }\n setAlreadyConfigured(true);\n }\n }, [objectInfo]);\n\n const dateElement = useRef(null);\n\n const dateFieldDisabled = () => {\n return !(statusEnabled && (type === \"governance\" || type === \"compliance\"));\n };\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n };\n\n const resetForm = () => {\n setStatusEnabled(false);\n setType(\"\");\n if (dateElement.current) {\n dateElement.current.resetDate();\n }\n };\n\n const addRetention = (\n selectedObject: string,\n versionId: string | null,\n expireDate: string\n ) => {\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/retention?prefix=${encodeURLString(\n selectedObject\n )}&version_id=${versionId}`,\n {\n expires: expireDate,\n mode: type,\n }\n )\n .then((res: any) => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(error));\n setIsSaving(false);\n });\n };\n\n const disableRetention = (\n selectedObject: string,\n versionId: string | null\n ) => {\n api\n .invoke(\n \"DELETE\",\n `/api/v1/buckets/${bucketName}/objects/retention?prefix=${encodeURLString(\n selectedObject\n )}&version_id=${versionId}`\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(error));\n setIsSaving(false);\n });\n };\n\n const saveNewRetentionPolicy = () => {\n setIsSaving(true);\n const selectedObject = objectInfo.name;\n const versionId = objectInfo.version_id;\n\n const expireDate =\n !statusEnabled && type === \"governance\" ? \"\" : `${date}T23:59:59Z`;\n\n if (!statusEnabled && type === \"governance\") {\n disableRetention(selectedObject, versionId);\n\n return;\n }\n\n addRetention(selectedObject, versionId, expireDate);\n };\n\n const showSwitcher =\n alreadyConfigured && (type === \"governance\" || type === \"\");\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n
\n Selected Object: {objectName}\n
\n \n \n );\n};\n\nexport default withStyles(styles)(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 { DialogContentText } from \"@mui/material\";\n\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { decodeURLString } from \"../../../../../../common/utils\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport { ConfirmDeleteIcon } from \"../../../../../../icons\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\n\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\ninterface IDeleteObjectProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObject: string;\n selectedBucket: string;\n\n versioning: boolean;\n selectedVersion?: string;\n}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n\n versioning,\n selectedVersion = \"\",\n}: IDeleteObjectProps) => {\n const dispatch = useAppDispatch();\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) =>\n dispatch(setErrorSnackMessage(err));\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n const [deleteVersions, setDeleteVersions] = useState(false);\n\n if (!selectedObject) {\n return null;\n }\n const onConfirmDelete = () => {\n const decodedSelectedObject = decodeURLString(selectedObject);\n const recursive = decodedSelectedObject.endsWith(\"/\");\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/buckets/${selectedBucket}/objects?path=${selectedObject}${\n selectedVersion !== \"\"\n ? `&version_id=${selectedVersion}`\n : `&recursive=${recursive}&all_versions=${deleteVersions}`\n }`\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete: \n {decodeURLString(selectedObject)}{\" \"}\n {selectedVersion !== \"\" ? (\n \n \n \n Version ID:\n \n {selectedVersion}\n \n ) : (\n \"\"\n )}\n ? \n \n {versioning && selectedVersion === \"\" && (\n {\n setDeleteVersions(!deleteVersions);\n }}\n description=\"\"\n />\n )}\n \n }\n />\n );\n};\n\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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button } from \"mds\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nimport { IFileInfo } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport api from \"../../../../../../common/api\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\n\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\n\ninterface ISetRetentionProps {\n classes: any;\n open: boolean;\n closeModalAndRefresh: (reload: boolean) => void;\n objectName: string;\n bucketName: string;\n actualInfo: IFileInfo;\n}\n\nconst SetLegalHoldModal = ({\n classes,\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\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/legalhold?prefix=${encodeURLString(\n objectName\n )}&version_id=${versionId}`,\n { status: legalHoldEnabled ? \"enabled\" : \"disabled\" }\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(error));\n setIsSaving(false);\n });\n };\n\n const resetForm = () => {\n setLegalHoldEnabled(false);\n };\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n \n Object: {bucketName}\n \n\n \n \n );\n};\n\nexport default withStyles(styles)(SetLegalHoldModal);\n","import React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { MetadataResponse } from \"./types\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, Table, TableBody, TableCell, TableRow } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n detailsPanel,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { withStyles } from \"@mui/styles\";\n\ninterface IObjectMetadata {\n bucketName: string;\n internalPaths: string;\n classes?: any;\n actualInfo: any;\n linear?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n propertiesIcon: {\n marginLeft: 5,\n \"& .min-icon\": {\n height: 12,\n },\n },\n\n capitalizeFirst: {\n textTransform: \"capitalize\",\n \"& .min-icon\": {\n width: 16,\n height: 16,\n },\n },\n titleItem: {\n width: \"35%\",\n },\n ...spacingUtils,\n ...detailsPanel,\n });\n\nconst ObjectMetaData = ({\n bucketName,\n internalPaths,\n classes,\n actualInfo,\n linear = false,\n}: IObjectMetadata) => {\n const [metaData, setMetaData] = useState({});\n\n const onMetaDataSuccess = (res: MetadataResponse) => {\n let metadata = get(res, \"objectMetadata\", {});\n\n setMetaData(metadata);\n };\n const onMetaDataError = (err: ErrorResponseHandler) => false;\n\n const [, invokeMetaDataApi] = useApi(onMetaDataSuccess, onMetaDataError);\n\n const metaKeys = Object.keys(metaData);\n const loadMetaData = useCallback(() => {\n invokeMetaDataApi(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects/metadata?prefix=${internalPaths}`\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [bucketName, internalPaths, actualInfo]);\n\n useEffect(() => {\n if (actualInfo) {\n loadMetaData();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [actualInfo, loadMetaData]);\n\n if (linear) {\n return (\n \n {metaKeys.map((element: string, index: number) => {\n const renderItem = Array.isArray(metaData[element])\n ? metaData[element].map(decodeURIComponent).join(\", \")\n : decodeURIComponent(metaData[element]);\n\n return (\n \n {element}\n \n {renderItem}\n \n );\n })}\n \n );\n }\n\n return (\n \n \n
\n \n \n );\n};\n\nexport default withStyles(styles)(ObjectMetaData);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Button } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport clsx from \"clsx\";\n\ntype ObjectActionButtonProps = {\n disabled?: boolean;\n onClick: () => void | any;\n icon: React.ReactNode;\n label: string;\n [x: string]: any;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: \"0 15px\",\n height: 22,\n margin: 0,\n color: \"#5E5E5E\",\n fontWeight: \"normal\",\n fontSize: 14,\n whiteSpace: \"nowrap\",\n width: \"100%\",\n justifyContent: \"flex-start\",\n \"&:hover\": {\n backgroundColor: \"transparent\",\n color: \"#000\",\n },\n \"& .min-icon\": {\n width: 11,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n });\n\n// TODO: Create an mds version of this.\nconst ObjectActionButton = ({\n disabled,\n onClick,\n icon,\n label,\n classes,\n ...restProps\n}: ObjectActionButtonProps) => {\n return (\n \n );\n};\n\nexport default withStyles(styles)(ObjectActionButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport ObjectActionButton from \"./ObjectActionButton\";\nimport { withStyles } from \"@mui/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { detailsPanel } from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nconst styles = () =>\n createStyles({\n ...detailsPanel,\n });\n\nexport interface MultiSelectionItem {\n action: () => void;\n label: string;\n disabled: boolean;\n icon: React.ReactNode;\n tooltip: string;\n}\n\ninterface IActionsListSectionProps {\n items: MultiSelectionItem[];\n title: string | React.ReactNode;\n classes: any;\n}\n\nconst ActionsListSection = ({\n items,\n classes,\n title,\n}: IActionsListSectionProps) => {\n return (\n \n
\n 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 onDelete={() => {\n onDeleteTag(tagKey, tag);\n }}\n />\n \n );\n }\n return null;\n })}\n \n
\n \n \n \n \n \n Add New Tag\n \n \n {\n setNewKey(e.target.value);\n }}\n />\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 withStyles(styles)(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 { Button } from \"mds\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n decodeURLString,\n deleteCookie,\n encodeURLString,\n getCookieValue,\n performDownload,\n} from \"../../../../../../common/utils\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport { InspectMenuIcon } from \"../../../../../../icons/SidebarMenus\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { PasswordKeyIcon } from \"../../../../../../icons\";\nimport { Box, DialogContentText } from \"@mui/material\";\nimport KeyRevealer from \"../../../../Tools/KeyRevealer\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\n\ninterface IInspectObjectProps {\n classes: any;\n closeInspectModalAndRefresh: (refresh: boolean) => void;\n inspectOpen: boolean;\n inspectPath: string;\n volumeName: string;\n}\n\nconst InspectObject = ({\n classes,\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 \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 \n ) : null}\n \n );\n};\n\nexport default withStyles(styles)(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 Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { Button } from \"mds\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport { EditIcon } from \"../../../icons\";\nimport {\n containerForHeader,\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { IFileInfo } from \"../Buckets/ListBuckets/Objects/ObjectDetails/types\";\nimport { encodeURLString } from \"../../../common/utils\";\nimport { download } from \"../Buckets/ListBuckets/Objects/utils\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n setNewObject,\n updateProgress,\n} from \"./objectBrowserSlice\";\nimport { makeid, storeCallForObjectWithID } from \"./transferManager\";\nimport { useAppDispatch } from \"../../../store\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\n\ninterface IRenameLongFilename {\n open: boolean;\n bucketName: string;\n internalPaths: string;\n currentItem: string;\n actualInfo: IFileInfo;\n closeModal: () => void;\n}\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...modalStyleUtils,\n ...formFieldStyles,\n ...spacingUtils,\n ...containerForHeader(theme.spacing(4)),\n })\n);\n\nconst RenameLongFileName = ({\n open,\n closeModal,\n currentItem,\n internalPaths,\n actualInfo,\n bucketName,\n}: IRenameLongFilename) => {\n const classes = useStyles();\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\n const identityDownload = encodeURLString(\n `${bucketName}-${\n actualInfo.name\n }-${new Date().getTime()}-${Math.random()}`\n );\n\n const ID = makeid(8);\n\n const downloadCall = download(\n bucketName,\n internalPaths,\n actualInfo.version_id,\n parseInt(actualInfo.size || \"0\"),\n newFileName,\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\n storeCallForObjectWithID(ID, downloadCall);\n dispatch(\n setNewObject({\n ID,\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: newFileName,\n type: \"download\",\n waitingForFile: true,\n failed: false,\n cancelled: false,\n errorMessage: \"\",\n })\n );\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 { useSelector } from \"react-redux\";\nimport { Box } from \"@mui/material\";\nimport { withStyles } from \"@mui/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n actionsTray,\n buttonsStyles,\n detailsPanel,\n spacingUtils,\n textStyleUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IFileInfo } from \"../ObjectDetails/types\";\nimport { download, extensionPreview } from \"../utils\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\n\nimport {\n decodeURLString,\n encodeURLString,\n getClientOS,\n niceBytes,\n niceBytesInt,\n niceDaysInt,\n} from \"../../../../../../common/utils\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\n\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport {\n DeleteIcon,\n DownloadIcon,\n LegalHoldIcon,\n MetadataIcon,\n ObjectInfoIcon,\n PreviewIcon,\n RetentionIcon,\n ShareIcon,\n TagsIcon,\n VersionsIcon,\n} from \"../../../../../../icons\";\nimport { InspectMenuIcon } from \"../../../../../../icons/SidebarMenus\";\nimport api from \"../../../../../../common/api\";\nimport ShareFile from \"../ObjectDetails/ShareFile\";\nimport SetRetention from \"../ObjectDetails/SetRetention\";\nimport DeleteObject from \"../ListObjects/DeleteObject\";\nimport SetLegalHoldModal from \"../ObjectDetails/SetLegalHoldModal\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../../../common/SecureComponent\";\nimport PreviewFileModal from \"../Preview/PreviewFileModal\";\nimport ObjectMetaData from \"../ObjectDetails/ObjectMetaData\";\nimport ActionsListSection from \"./ActionsListSection\";\nimport { displayFileIconName } from \"./utils\";\nimport TagsModal from \"../ObjectDetails/TagsModal\";\nimport InspectObject from \"./InspectObject\";\nimport Loader from \"../../../../Common/Loader/Loader\";\nimport { selDistSet } from \"../../../../../../systemSlice\";\nimport {\n makeid,\n storeCallForObjectWithID,\n} from \"../../../../ObjectBrowser/transferManager\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n setLoadingObjectInfo,\n setLoadingVersions,\n setNewObject,\n setSelectedVersion,\n setVersionsModeEnabled,\n updateProgress,\n} from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport RenameLongFileName from \"../../../../ObjectBrowser/RenameLongFilename\";\n\nconst styles = () =>\n createStyles({\n ObjectDetailsTitle: {\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n width: 26,\n height: 26,\n minWidth: 26,\n minHeight: 26,\n },\n },\n objectNameContainer: {\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n alignItems: \"center\",\n marginLeft: 10,\n },\n headerForSection: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n paddingBottom: 15,\n borderBottom: \"#E2E2E2 2px solid\",\n fontWeight: \"bold\",\n fontSize: 18,\n color: \"#000\",\n margin: \"20px 22px\",\n },\n capitalizeFirst: {\n textTransform: \"capitalize\",\n },\n ...buttonsStyles,\n ...actionsTray,\n ...spacingUtils,\n ...textStyleUtils,\n ...detailsPanel,\n });\n\nconst emptyFile: IFileInfo = {\n is_latest: true,\n last_modified: \"\",\n legal_hold_status: \"\",\n name: \"\",\n retention_mode: \"\",\n retention_until_date: \"\",\n size: \"0\",\n tags: {},\n version_id: null,\n};\n\ninterface IObjectDetailPanelProps {\n classes: any;\n internalPaths: string;\n bucketName: string;\n versioning: boolean;\n locking: boolean;\n onClosePanel: (hardRefresh: boolean) => void;\n}\n\nconst ObjectDetailPanel = ({\n classes,\n internalPaths,\n bucketName,\n versioning,\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\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) {\n objectNameArray = actualInfo.name.split(\"/\");\n }\n\n useEffect(() => {\n if (distributedSetup && allInfoElements && allInfoElements.length >= 1) {\n let infoElement =\n allInfoElements.find((el: IFileInfo) => el.is_latest) || emptyFile;\n\n if (selectedVersion !== \"\") {\n infoElement =\n allInfoElements.find(\n (el: IFileInfo) => el.version_id === selectedVersion\n ) || emptyFile;\n }\n\n setActualInfo(infoElement);\n }\n }, [selectedVersion, distributedSetup, allInfoElements]);\n\n useEffect(() => {\n if (loadingObjectInfo && internalPaths !== \"\") {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects?prefix=${internalPaths}${\n distributedSetup ? \"&with_versions=true\" : \"\"\n }`\n )\n .then((res: IFileInfo[]) => {\n const result = get(res, \"objects\", []);\n if (distributedSetup) {\n setAllInfoElements(result);\n setVersions(result);\n const tVersionSize = result.reduce(\n (acc: number, currValue: IFileInfo) => {\n if (currValue?.size) {\n return acc + currValue.size;\n }\n return acc;\n },\n 0\n );\n\n setTotalVersionsSize(tVersionSize);\n } else {\n setActualInfo(result[0]);\n setVersions([]);\n }\n\n dispatch(setLoadingObjectInfo(false));\n })\n .catch((error: ErrorResponseHandler) => {\n console.error(\"Error loading object details\", error);\n dispatch(setLoadingObjectInfo(false));\n });\n }\n }, [\n loadingObjectInfo,\n bucketName,\n internalPaths,\n dispatch,\n distributedSetup,\n selectedVersion,\n ]);\n\n let tagKeys: string[] = [];\n\n if (actualInfo && actualInfo.tags) {\n tagKeys = Object.keys(actualInfo.tags);\n }\n\n const openRetentionModal = () => {\n setRetentionModalOpen(true);\n };\n\n const closeRetentionModal = (updateInfo: boolean) => {\n setRetentionModalOpen(false);\n if (updateInfo) {\n 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 downloadObject = (object: IFileInfo) => {\n const identityDownload = encodeURLString(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`\n );\n\n if (\n object.name.length > 200 &&\n getClientOS().toLowerCase().includes(\"win\")\n ) {\n 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 parseInt(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\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 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 \n \n \n );\n};\n\nexport default withStyles(styles)(DaysSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { useSelector } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport Grid from \"@mui/material/Grid\";\nimport LinearProgress from \"@mui/material/LinearProgress\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nimport { IFileInfo } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport api from \"../../../../../../common/api\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport PredefinedList from \"../../../../Common/FormComponents/PredefinedList/PredefinedList\";\nimport DaysSelector from \"../../../../Common/FormComponents/DaysSelector/DaysSelector\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport { ShareIcon } from \"../../../../../../icons\";\nimport {\n selDistSet,\n setModalErrorSnackMessage,\n setModalSnackMessage,\n} from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\nconst CopyIcon = React.lazy(() => import(\"../../../../../../icons/CopyIcon\"));\n\nconst styles = (theme: Theme) =>\n createStyles({\n shareLinkInfo: {\n fontSize: 14,\n fontWeight: 400,\n },\n copyShareLink: {\n display: \"flex\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n },\n copyShareLinkInput: {\n \"& div:first-child\": {\n marginTop: 0,\n },\n \"@media (max-width: 900px)\": {\n minWidth: 250,\n },\n },\n copyShareLinkBtn: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"@media (max-width: 900px)\": {\n marginTop: 10,\n },\n },\n ...modalStyleUtils,\n ...formFieldStyles,\n });\n\ninterface IShareFileProps {\n classes: any;\n open: boolean;\n bucketName: string;\n dataObject: IFileInfo;\n closeModalAndRefresh: () => void;\n}\n\nconst ShareFile = ({\n classes,\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\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects?prefix=${encodeURLString(\n dataObject.name\n )}${distributedSetup ? \"&with_versions=true\" : \"\"}`\n )\n .then((res: IFileInfo[]) => {\n const result = get(res, \"objects\", []);\n\n const latestVersion = result.find(\n (elem: IFileInfo) => elem.is_latest\n );\n\n if (latestVersion) {\n setVersionID(latestVersion.version_id);\n return;\n }\n\n // Version couldn't ve retrieved, we default\n setVersionID(\"null\");\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(error));\n });\n\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(\"null\");\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(dataObject.version_id || \"null\");\n setIsLoadingVersion(false);\n }, [bucketName, dataObject, distributedSetup, 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\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects/share?prefix=${encodeURLString(\n dataObject.name\n )}&version_id=${versionID}${\n selectedDate !== \"\" ? `&expires=${diffDate}s` : \"\"\n }`\n )\n .then((res: string) => {\n setShareURL(res);\n setIsLoadingFile(false);\n })\n .catch((error: ErrorResponseHandler) => {\n dispatch(setModalErrorSnackMessage(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};\n\nexport default withStyles(styles)(ShareFile);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, LinearProgress } from \"@mui/material\";\nimport { BucketObjectItem } from \"../ListObjects/types\";\nimport { extensionPreview } from \"../utils\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport clsx from \"clsx\";\n\nconst styles = () =>\n createStyles({\n iframeContainer: {\n border: \"0px\",\n flex: \"1 1 auto\",\n width: \"100%\",\n height: 250,\n backgroundColor: \"transparent\",\n borderRadius: 5,\n\n \"&.image\": {\n height: 500,\n },\n \"&.text\": {\n height: 700,\n },\n \"&.audio\": {\n height: 150,\n },\n \"&.video\": {\n height: 350,\n },\n \"&.fullHeight\": {\n height: \"calc(100vh - 185px)\",\n },\n },\n iframeBase: {\n backgroundColor: \"#fff\",\n },\n iframeHidden: {\n display: \"none\",\n },\n });\n\ninterface IPreviewFileProps {\n bucketName: string;\n object: BucketObjectItem | null;\n isFullscreen?: boolean;\n classes: any;\n}\n\nconst PreviewFile = ({\n bucketName,\n object,\n isFullscreen = false,\n classes,\n}: IPreviewFileProps) => {\n const [loading, setLoading] = useState(true);\n\n let path = \"\";\n\n if (object) {\n const encodedPath = 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 const objectType = extensionPreview(object?.name || \"\");\n\n const iframeLoaded = () => {\n setLoading(false);\n };\n\n return (\n \n {loading && (\n \n \n \n )}\n
\n \n );\n};\nexport default withStyles(styles)(PreviewFile);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport PreviewFileContent from \"./PreviewFileContent\";\nimport { BucketObjectItem } from \"../ListObjects/types\";\nimport { ObjectPreviewIcon } from \"../../../../../../icons\";\n\ninterface IPreviewFileProps {\n open: boolean;\n bucketName: string;\n object: BucketObjectItem | null;\n onClosePreview: () => void;\n}\n\nconst PreviewFileModal = ({\n open,\n bucketName,\n object,\n onClosePreview,\n}: IPreviewFileProps) => {\n return (\n \n }\n >\n \n \n \n );\n};\n\nexport default PreviewFileModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { BucketObjectItem } from \"./ListObjects/types\";\nimport { IAllowResources } from \"../../../types\";\nimport { encodeURLString } from \"../../../../../common/utils\";\nimport { removeTrace } from \"../../../ObjectBrowser/transferManager\";\n\nexport const download = (\n bucketName: string,\n objectPath: string,\n versionID: any,\n fileSize: number,\n overrideFileName: string | null = null,\n id: string,\n progressCallback: (progress: number) => void,\n completeCallback: () => void,\n errorCallback: (msg: string) => void,\n abortCallback: () => void\n) => {\n const anchor = document.createElement(\"a\");\n document.body.appendChild(anchor);\n let basename = document.baseURI.replace(window.location.origin, \"\");\n\n let path = `${\n window.location.origin\n }${basename}api/v1/buckets/${bucketName}/objects/download?prefix=${objectPath}${\n overrideFileName !== null && overrideFileName.trim() !== \"\"\n ? `&override_file_name=${encodeURLString(overrideFileName || \"\")}`\n : \"\"\n }`;\n if (versionID) {\n path = path.concat(`&version_id=${versionID}`);\n }\n\n var req = new XMLHttpRequest();\n req.open(\"GET\", path, true);\n req.addEventListener(\n \"progress\",\n function (evt) {\n let percentComplete = Math.round((evt.loaded / fileSize) * 100);\n\n if (progressCallback) {\n progressCallback(percentComplete);\n }\n },\n false\n );\n\n req.responseType = \"blob\";\n req.onreadystatechange = () => {\n if (req.readyState === 4) {\n if (req.status === 200) {\n const rspHeader = req.getResponseHeader(\"Content-Disposition\");\n\n let filename = \"download\";\n if (rspHeader) {\n let rspHeaderDecoded = decodeURIComponent(rspHeader);\n filename = rspHeaderDecoded.split('\"')[1];\n }\n\n if (completeCallback) {\n completeCallback();\n }\n\n removeTrace(id);\n\n var link = document.createElement(\"a\");\n link.href = window.URL.createObjectURL(req.response);\n link.download = filename;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n } else {\n if (req.getResponseHeader(\"Content-Type\") === \"application/json\") {\n const rspBody: { detailedMessage?: string } = JSON.parse(\n req.response\n );\n if (rspBody.detailedMessage) {\n errorCallback(rspBody.detailedMessage);\n return;\n }\n }\n errorCallback(`Unexpected response status code (${req.status}).`);\n }\n }\n };\n req.onerror = () => {\n if (errorCallback) {\n errorCallback(\"A network error occurred.\");\n }\n };\n req.onabort = () => {\n if (abortCallback) {\n abortCallback();\n }\n };\n\n return req;\n};\n\n// Review file extension by name & returns the type of preview browser that can be used\nexport const extensionPreview = (\n fileName: string\n): \"image\" | \"text\" | \"audio\" | \"video\" | \"none\" => {\n const imageExtensions = [\n \"jif\",\n \"jfif\",\n \"apng\",\n \"avif\",\n \"svg\",\n \"webp\",\n \"bmp\",\n \"ico\",\n \"jpg\",\n \"jpe\",\n \"jpeg\",\n \"gif\",\n \"png\",\n \"heic\",\n ];\n const textExtensions = [\"pdf\", \"txt\", \"json\"];\n const audioExtensions = [\"wav\", \"mp3\", \"alac\", \"aiff\", \"dsd\", \"pcm\"];\n const videoExtensions = [\n \"mp4\",\n \"avi\",\n \"mpg\",\n \"webm\",\n \"mov\",\n \"flv\",\n \"mkv\",\n \"wmv\",\n \"avchd\",\n \"mpeg-4\",\n ];\n\n let fileExtension = fileName.split(\".\").pop();\n\n if (!fileExtension) {\n return \"none\";\n }\n\n fileExtension = fileExtension.toLowerCase();\n\n if (imageExtensions.includes(fileExtension)) {\n return \"image\";\n }\n\n if (textExtensions.includes(fileExtension)) {\n return \"text\";\n }\n\n if (audioExtensions.includes(fileExtension)) {\n return \"audio\";\n }\n\n if (videoExtensions.includes(fileExtension)) {\n return \"video\";\n }\n\n return \"none\";\n};\n\nexport const sortListObjects = (fieldSort: string) => {\n switch (fieldSort) {\n case \"name\":\n return (a: BucketObjectItem, b: BucketObjectItem) =>\n a.name.localeCompare(b.name);\n case \"last_modified\":\n return (a: BucketObjectItem, b: BucketObjectItem) =>\n new Date(a.last_modified).getTime() -\n new Date(b.last_modified).getTime();\n case \"size\":\n return (a: BucketObjectItem, b: BucketObjectItem) =>\n (a.size || -1) - (b.size || -1);\n }\n};\n\nexport const permissionItems = (\n bucketName: string,\n currentPath: string,\n permissionsArray: IAllowResources[]\n): BucketObjectItem[] | null => {\n if (permissionsArray.length === 0) {\n return null;\n }\n\n // We get permissions applied to the current bucket\n const filteredPermissionsForBucket = permissionsArray.filter(\n (permissionItem) =>\n permissionItem.resource.endsWith(`:${bucketName}`) ||\n permissionItem.resource.includes(`:${bucketName}/`)\n );\n\n // No permissions for this bucket. we can throw the error message at this point\n if (filteredPermissionsForBucket.length === 0) {\n return null;\n }\n\n const returnElements: BucketObjectItem[] = [];\n\n // We split current path\n const splitCurrentPath = currentPath.split(\"/\");\n\n filteredPermissionsForBucket.forEach((permissionElement) => {\n // We review paths in resource address\n\n // We split ARN & get the last item to check the URL\n const splitARN = permissionElement.resource.split(\":\");\n const urlARN = splitARN.pop() || \"\";\n\n // We split the paths of the URL & compare against current location to see if there are more items to include. In case current level is a wildcard or is the last one, we omit this validation\n\n const splitURLARN = urlARN.split(\"/\");\n\n // splitURL has more items than bucket name, we can continue validating\n if (splitURLARN.length > 1) {\n splitURLARN.every((currentElementInPath, index) => {\n // It is a wildcard element. We can stor the verification as value should be included (?)\n if (currentElementInPath === \"*\") {\n return false;\n }\n\n // Element is not included in the path. The user is trying to browse something else.\n if (\n splitCurrentPath[index] &&\n splitCurrentPath[index] !== currentElementInPath\n ) {\n return false;\n }\n\n // This element is not included by index in the current paths list. We add it so user can browse into it\n if (!splitCurrentPath[index]) {\n returnElements.push({\n name: `${currentElementInPath}/`,\n size: 0,\n last_modified: new Date(),\n version_id: \"\",\n });\n }\n\n return true;\n });\n }\n\n // We review prefixes in allow resources for StringEquals variant only.\n if (\n permissionElement.conditionOperator === \"StringEquals\" ||\n permissionElement.conditionOperator === \"StringLike\"\n ) {\n permissionElement.prefixes.forEach((prefixItem) => {\n // Prefix Item is not empty?\n if (prefixItem !== \"\") {\n const splitItems = prefixItem.split(\"/\");\n\n let pathToRouteElements: string[] = [];\n\n splitItems.every((splitElement, index) => {\n if (!splitElement.includes(\"*\") && splitElement !== \"\") {\n if (splitElement !== splitCurrentPath[index]) {\n returnElements.push({\n name: `${pathToRouteElements.join(\"/\")}${\n pathToRouteElements.length > 0 ? \"/\" : \"\"\n }${splitElement}/`,\n size: 0,\n last_modified: new Date(),\n version_id: \"\",\n });\n return false;\n }\n if (splitElement !== \"\") {\n pathToRouteElements.push(splitElement);\n }\n\n return true;\n }\n return false;\n });\n }\n });\n }\n });\n\n return returnElements;\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 from \"react\";\nimport { LoginMinIOLogo } from \"../../../../icons\";\nimport { useSelector } from \"react-redux\";\nimport { AppState } from \"../../../../store\";\n\ninterface IAutoColorIcon {\n marginRight: number;\n marginTop: number;\n}\n\nconst AutoColorIcon = ({ marginRight, marginTop }: IAutoColorIcon) => {\n let tinycolor = require(\"tinycolor2\");\n\n const colorVariants = useSelector(\n (state: AppState) => state.system.overrideStyles\n );\n\n const isDark =\n tinycolor(colorVariants?.backgroundColor || \"#fff\").getBrightness() <= 128;\n\n return (\n \n );\n};\n\nexport default AutoColorIcon;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 )}\n \n \n \n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n noContentPadding?: boolean;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n noContentPadding,\n titleIcon = null,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n \n );\n};\n\nexport default withStyles(styles)(ModalWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { cloneElement } from \"react\";\nimport { Tooltip } from \"@mui/material\";\n\ninterface ITooltipWrapperProps {\n tooltip: string;\n children: any;\n errorProps?: any;\n}\n\nconst TooltipWrapper = ({\n tooltip,\n children,\n errorProps = null,\n}: ITooltipWrapperProps) => {\n return (\n \n \n {errorProps ? cloneElement(children, { ...errorProps }) : children}\n \n \n );\n};\n\nexport default TooltipWrapper;\n","// This file is part of MinIO Console Server\n// Copyright (c) 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 { Box } from \"@mui/material\";\nimport { Button } from \"mds\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { CopyIcon } from \"../../../icons\";\n\nconst KeyRevealer = ({ value }: { value: string }) => {\n const [shown, setShown] = useState(false);\n\n return (\n \n {}}\n value={value}\n overlayIcon={}\n extraInputProps={{\n readOnly: true,\n }}\n overlayAction={() => navigator.clipboard.writeText(value)}\n />\n\n \n );\n};\n\nexport default KeyRevealer;\n"],"names":["CreatePathModal","withSuspense","React","withStyles","theme","createStyles","objectBrowserCommon","slashSpacingStyle","margin","classes","bucketName","internalPaths","existingFiles","hidePathButton","additionalOptions","dispatch","useAppDispatch","navigate","useNavigate","rewindEnabled","useSelector","state","objectBrowser","rewind","versionsMode","versionedFile","useState","createFolderOpen","setCreateFolderOpen","paths","splitPaths","split","filter","path","lastBreadcrumbsIndex","length","breadcrumbsMap","map","objectItem","index","subSplit","slice","join","route","encodeURLString","Fragment","className","style","cursor","to","onClick","setVersionsModeEnabled","status","objectName","toString","versionsItem","listBreadcrumbs","breadcrumbsMain","modalOpen","folderName","onClose","Grid","item","xs","breadcrumbs","IconButton","sx","border","backgroundColor","borderLeft","borderRadius","width","height","marginRight","breadcrumbsList","dir","text","id","icon","fill","marginTop","variant","setSnackBarMessage","color","Tooltip","title","disabled","hasPermission","IAM_SCOPES","whiteSpace","label","breadcrumbsSecond","listUploadIcons","uploadPath","forceDisable","uploadFileFunction","uploadFolderFunction","anchorEl","setAnchorEl","openUploadMenu","Boolean","handleCloseUpload","uploadObjectAllowed","uploadFolderAllowed","uploadEnabled","TooltipWrapper","tooltip","undefined","event","currentTarget","Menu","open","anchorOrigin","vertical","horizontal","transformOrigin","MenuItem","ListItemIcon","ListItemText","useStyles","makeStyles","detailsList","borderColor","borderWidth","borderStyle","borderBottomLeftRadius","borderBottomRightRadius","transitionDuration","overflowX","overflowY","position","opacity","marginLeft","minWidth","borderLeftWidth","closePanel","right","top","children","months","value","days","Array","from","_","num","currentYear","Date","getFullYear","years","numYear","SelectStyled","root","input","borderBottom","fontSize","InputBase","DateSelector","forwardRef","ref","disableOptions","addSwitch","onDateChange","useImperativeHandle","resetDate","dateEnabled","setDateEnabled","month","setMonth","day","setDay","year","setYear","useEffect","valueSplit","parseInt","currentDate","parse","isNaN","parsedMonth","parsedDay","monthForString","dayForString","parsedDate","toISOString","dateString","validDate","isValid","isDateDisabled","clsx","fieldContainer","fieldContainerBorder","labelContainer","container","InputLabel","htmlFor","inputLabel","tooltipContainer","placement","HelpIcon","FormSwitchWrapper","indicatorLabels","checked","name","onChange","e","target","switchOnly","FormControl","dateInput","Select","displayEmpty","option","dayNumber","fieldBasic","tooltipHelper","flex","display","alignItems","justifyContent","paddingBottom","marginBottom","formFieldStyles","modalStyleUtils","spacingUtils","dateSelector","paddingLeft","closeModalAndRefresh","objectInfo","statusEnabled","setStatusEnabled","type","setType","date","setDate","isDateValid","setIsDateValid","isSaving","setIsSaving","alreadyConfigured","setAlreadyConfigured","retention_mode","toLowerCase","retention_until_date","valueDate","getMonth","getDate","dateElement","useRef","resetForm","current","showSwitcher","ModalWrapper","spacerBottom","noValidate","autoComplete","onSubmit","preventDefault","formFieldRow","RadioGroupSelector","currentSelection","selectorOptions","modalButtonBar","selectedObject","versionId","version_id","expireDate","api","expires","mode","then","res","catch","error","setModalErrorSnackMessage","addRetention","disableRetention","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","versioning","selectedVersion","useApi","err","setErrorSnackMessage","deleteLoading","invokeDeleteApi","deleteVersions","setDeleteVersions","ConfirmDialog","confirmText","isOpen","titleIcon","isLoading","onConfirm","recursive","decodeURLString","endsWith","confirmationContent","DialogContentText","description","actualInfo","legalHoldEnabled","setLegalHoldEnabled","get","propertiesIcon","capitalizeFirst","textTransform","titleItem","detailsPanel","linear","metaData","setMetaData","metadata","invokeMetaDataApi","metaKeys","Object","keys","loadMetaData","useCallback","element","renderItem","isArray","decodeURIComponent","Box","metadataLinear","Table","table","TableBody","TableRow","TableCell","component","scope","align","padding","fontWeight","restProps","Button","startIcon","items","titleLabel","objectActions","actionItem","action","fileName","minHeight","fileNameText","overflow","textOverflow","strings","FileBookIcon","FileCodeIcon","FileConfigIcon","FileDbIcon","FileFontIcon","FileImageIcon","FileLockIcon","FileMissingIcon","FileMusicIcon","FilePdfIcon","FilePptIcon","FileTxtIcon","FileVideoIcon","FileXlsIcon","FileZipIcon","extensionToIcon","extensions","displayFileIconName","returnOnlyIcon","elementString","ObjectBrowserIcon","ObjectBrowserFolderIcon","lowercaseElement","etc","ext","indexOf","splitItem","newTileHeader","tagsForLabel","currentTagsContainer","noTagsForObject","deleteTag","onCloseAndUpdate","distributedSetup","selDistSet","newKey","setNewKey","newLabel","setNewLabel","isSending","setIsSending","deleteEnabled","setDeleteEnabled","deleteKey","setDeleteKey","deleteLabel","setDeleteLabel","currentTags","tags","currTagKeys","currentItem","pop","tagsFor","plural","cleanObject","verID","SecureComponent","scopes","resource","flexFlow","tagKey","tag","matchAll","errorProps","deleteIcon","onDelete","Chip","size","Close","onDeleteTag","InputBoxWrapper","placeholder","trim","newTag","newTagList","closeInspectModalAndRefresh","inspectOpen","inspectPath","volumeName","isEncrypt","setIsEncrypt","decryptionKey","setDecryptionKey","insFileName","setInsFileName","makeRequest","url","fetch","method","performInspect","file","volume","urlOfInspectApi","ok","json","resErr","errorMessage","message","detailedError","code","blob","filename","headers","decryptKey","getCookieValue","performDownload","deleteCookie","KeyRevealer","containerForHeader","spacing","closeModal","newFileName","setNewFileName","acceptLongName","setAcceptLongName","identityDownload","getTime","Math","random","ID","makeid","downloadCall","download","progress","updateProgress","instanceID","completeObject","msg","failObject","cancelObjectInList","storeCallForObjectWithID","setNewObject","done","percentage","prefix","waitingForFile","failed","cancelled","doDownload","modalFormScrollable","emptyFile","is_latest","last_modified","legal_hold_status","ObjectDetailsTitle","objectNameContainer","headerForSection","buttonsStyles","actionsTray","textStyleUtils","locking","onClosePanel","loadingObjectInfo","shareFileModalOpen","setShareFileModalOpen","retentionModalOpen","setRetentionModalOpen","tagModalOpen","setTagModalOpen","legalholdOpen","setLegalholdOpen","inspectModalOpen","setInspectModalOpen","setActualInfo","allInfoElements","setAllInfoElements","objectToShare","setObjectToShare","versions","setVersions","setDeleteOpen","previewOpen","setPreviewOpen","totalVersionsSize","setTotalVersionsSize","longFileOpen","setLongFileOpen","objectNameArray","infoElement","find","el","result","tVersionSize","reduce","acc","currValue","setLoadingObjectInfo","console","tagKeys","loaderForContainer","textAlign","Loader","objectResources","multiActionButtons","object","getClientOS","includes","downloadObject","is_delete_marker","extensionPreview","ShareFile","dataObject","updateInfo","closeAndReload","setLoadingVersions","setSelectedVersion","reload","PreviewFileModal","content_type","onClosePreview","TagsModal","reloadObjectData","iconLocation","fullWidth","detailContainer","overflowWrap","niceBytes","niceBytesInt","lastModified","currentTime","modifiedTime","difTime","formatTime","niceDaysInt","calculateLastModifyTime","etag","displayParsedDate","displayNiceBytes","String","listModeColumns","elementKey","renderFunction","enableSort","renderFullObject","contentTextAlign","rewindModeColumns","modalBasic","versionID","objectPath","restoreOpen","restoreLoading","setRestoreLoading","RecoverIcon","confirmButtonProps","wrapText","bgColor","mainFileVersionItem","intermediateLayer","borderBottomColor","versionContainer","buttonContainer","maxWidth","versionData","ctrItem","content","left","collapsableInfo","flexDirection","versionItem","versionInfo","isSelected","checkable","isChecked","onCheck","onShare","onDownload","onRestore","onPreview","globalClick","key","disableButtons","versionItemButtons","pill","md","CheckboxWrapper","stopPropagation","overrideCheckboxStyles","noTopMargin","button","buttonDisabled","setDeleteLoading","typeConfirm","setTypeConfirm","selectedVersions","selectedObjectsRequest","versionsContainer","noBottomBorder","versionsVirtualPanel","flexGrow","screenTitleContainer","bottom","sortByLabel","hrClass","tableStyles","objectBrowserExtras","searchVersions","loadingVersions","restoreVersionOpen","setRestoreVersionOpen","restoreVersion","setRestoreVersion","sortValue","setSortValue","deleteNonCurrentOpen","setDeleteNonCurrentOpen","selectEnabled","setSelectEnabled","selectedItems","setSelectedItems","delSelectedVOpen","setDelSelectedVOpen","decodedInternalPaths","filteredPrefixes","onShareItem","onPreviewItem","onRestoreItem","onDownloadItem","onGlobalClick","filteredRecords","version","totalSpace","sort","a","b","dateA","dateB","onCheckVersion","filteredItems","cloneState","push","DeleteNonCurrent","reloadAfterDelete","DeleteSelectedVersions","reloadOnComplete","LinearProgress","ScreenTitle","listIcon","titleSpacer","subTitle","bucketDetails","detailsSpacer","actions","SelectWrapper","options","containerStyle","rowCount","rowHeight","rowRenderer","isScrolling","isVisible","versOrd","HistoryIcon","RefreshIcon","DeleteIcon","DeleteMultipleObjects","RewindEnable","browsePaper","backgroundImage","badgeOverlap","screenTitle","paddingTop","paddingRight","searchField","labelStyle","breadcrumbsContainer","parentWrapper","fullContainer","hideListOnSmall","baseDnDStyle","outline","activeDnDStyle","acceptDnDStyle","defLoading","Typography","params","useParams","location","useLocation","rewindDate","dateToRewind","bucketToRewind","searchObjects","showDeleted","detailsOpen","objectDetailsOpen","selectedInternalPaths","loading","loadingObjects","simplePath","loadingBucket","selBucketDetailsLoading","bucketInfo","selBucketDetailsInfo","allowResources","session","features","selFeatures","obOnly","records","setRecords","deleteMultipleOpen","setDeleteMultipleOpen","loadingStartTime","setLoadingStartTime","loadingMessage","setLoadingMessage","loadingVersioning","setLoadingVersioning","isVersioned","setIsVersioned","loadingLocking","setLoadingLocking","lockingEnabled","setLockingEnabled","rewindSelect","setRewindSelect","selectedObjects","setSelectedObjects","selectedPreview","setSelectedPreview","sortDirection","setSortDirection","currentSortField","setCurrentSortField","iniLoad","setIniLoad","canShareFile","setCanShareFile","canPreviewFile","setCanPreviewFile","quota","setQuota","downloadRenameModal","setDownloadRenameModal","pathSegment","pathname","fileUpload","folderUpload","setAttribute","quotaVals","setObjectDetailsView","displayDeleteObject","displayListObjects","setBucketDetailsLoad","callback","delay","savedCallback","setInterval","clearInterval","useInterval","timeDelta","now","ceil","updateMessage","is_versioned","object_locking_enabled","decodedIPaths","setSelectedObjectView","setSimplePathHandler","setSearchObjects","setLoadingObjectsList","pathPrefix","decodedPath","currentTimestamp","urlTake","resetRewind","rewindParsed","currDateISO","objects","folders","files","forEach","record","recordsInElement","pathTest","found","pathPrefixChopped","i","parentPath","permitItems","permissionItems","setBucketInfo","handleUploadButton","newFiles","uploadObject","folderPath","uploadPromise","Promise","resolve","reject","uploadUrl","blobFile","Blob","encodedPath","filePath","fileWebkitRelativePath","relativeFolderPath","finalFolderPath","pathClean","startsWith","identity","xhr","XMLHttpRequest","areMultipleFiles","errorMessages","withCredentials","onload","removeTrace","response","JSON","detailedMessage","upload","addEventListener","floor","loaded","total","onerror","onloadend","onabort","formData","FormData","append","storeFormDataWithID","uploadFilePromises","openList","allSettled","results","errors","totalFiles","successUploadedFiles","onDrop","acceptedFiles","newFolderPath","useDropzone","noClick","getRootProps","getInputProps","isDragActive","isDragAccept","dndStyles","useMemo","pageTitle","currentPath","sortASC","sortListObjects","payload","reverse","concat","forceRefresh","splitURLS","URLItem","tableActions","idElement","newPath","sendOnlyId","itemsToDownload","filteredItem","fileObject","refresh","PageLayout","creation_date","access","actionsSection","Badge","badgeContent","invisible","multiple","closeMenu","click","tableBlock","borderTop","setShowDeletedObjects","overrideLabelClasses","overrideShowDeleted","TableWrapper","itemActions","columns","entityName","idField","customPaperHeight","onSelect","targetD","elements","customEmptyMessage","sortConfig","currentSort","currentDirection","triggerSort","sortData","newSortDirection","sortBy","onSelectAll","rowStyle","delete_flag","parentClassName","configureBucketAllowed","searchBar","SearchBox","setSearchVersions","AutoColorIcon","PageHeader","BackLink","IAM_PAGES","IAM_PERMISSIONS","IAM_ROLES","SettingsIcon","middleComponent","dateInputContainer","durationInputs","validityIndicator","invalidDurationText","reverseInput","validityText","validTill","initialDate","maxDays","entity","selectedDays","setSelectedDays","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","setValidDate","moment","dateSelected","setDateSelected","hours","minutes","add","calculateNewTime","format","valid","extraInputProps","min","max","noLabelMinWidth","validityLabel","CopyIcon","shareLinkInfo","copyShareLink","copyShareLinkInput","copyShareLinkBtn","shareURL","setShareURL","isLoadingVersion","setIsLoadingVersion","isLoadingFile","setIsLoadingFile","selectedDate","setSelectedDate","dateValid","setDateValid","setVersionID","latestVersion","elem","slDate","currDate","diffDate","dateContainer","newDate","PredefinedList","actionButton","setModalSnackMessage","iframeContainer","iframeBase","iframeHidden","isFullscreen","setLoading","basename","document","baseURI","replace","window","origin","objectType","iframeLoaded","maxHeight","autoPlay","controls","muted","playsInline","onPlay","src","alt","onLoad","allowTransparency","wideLimit","PreviewFileContent","fileSize","overrideFileName","progressCallback","completeCallback","errorCallback","abortCallback","anchor","createElement","body","appendChild","req","evt","percentComplete","round","responseType","onreadystatechange","readyState","rspHeader","getResponseHeader","link","href","URL","createObjectURL","removeChild","rspBody","fileExtension","fieldSort","localeCompare","permissionsArray","filteredPermissionsForBucket","permissionItem","returnElements","splitCurrentPath","permissionElement","splitURLARN","every","currentElementInPath","conditionOperator","prefixes","prefixItem","splitItems","pathToRouteElements","splitElement","tinycolor","require","colorVariants","system","overrideStyles","isDark","getBrightness","WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","predefinedList","multiLine","prefinedContainer","predefinedTitle","includesActionButton","innerContentMultiline","innerContent","overlayShareOption","deleteDialogStyles","customDialogSize","snackBarCommon","noContentPadding","openSnackbar","setOpenSnackbar","modalSnackMessage","modalSnackBar","customSize","paper","detailedErrorMsg","scroll","reason","titleText","closeContainer","closeButton","disableRipple","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","adornment","adornmentPosition","overrideClass","inputProps","disableUnderline","InputProps","cloneElement","shown","setShown","sm","overlayIcon","readOnly","overlayAction","navigator","clipboard","writeText"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1440.1c1567d3.chunk.js b/portal-ui/build/static/js/1440.1c1567d3.chunk.js
deleted file mode 100644
index c778d9e5f..000000000
--- a/portal-ui/build/static/js/1440.1c1567d3.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1440],{23804:function(e,t,n){"use strict";n(72791);var o=n(11135),r=n(25787),i=n(61889),c=n(80184);t.Z=(0,r.Z)((function(e){return(0,o.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,n=e.iconComponent,o=e.title,r=e.help;return(0,c.jsx)("div",{className:t.root,children:(0,c.jsxs)(i.ZP,{container:!0,children:[(0,c.jsxs)(i.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,o]}),(0,c.jsx)(i.ZP,{item:!0,xs:12,className:t.helpText,children:r})]})})}))},25702:function(e,t,n){"use strict";n.r(t);var o=n(29439),r=n(1413),i=n(72791),c=n(60364),a=n(16871),s=n(75952),l=n(11135),d=n(25787),u=n(26181),h=n.n(u),m=n(61889),f=n(47919),p=n(86856),v=n(23814),x=n(92983),Z=n(81207),b=n(23804),j=n(60680),k=n(38442),S=n(56087),g=n(75578),C=n(87995),z=n(9859),I=n(25469),E=n(27454),F=n(80184),y=(0,g.Z)(i.lazy((function(){return n.e(455).then(n.bind(n,80455))}))),P=(0,g.Z)(i.lazy((function(){return Promise.all([n.e(3801),n.e(1918),n.e(6172),n.e(2661)]).then(n.bind(n,82661))})));t.default=(0,d.Z)((function(e){return(0,l.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},v.qg),v.OR),{},{twHeight:{minHeight:400}}))}))((function(e){var t=e.classes,n=(0,I.TL)(),r=(0,a.UO)(),l=(0,c.v9)(z.HQ),d=(0,i.useState)(!1),u=(0,o.Z)(d,2),v=u[0],g=u[1],T=(0,i.useState)(!0),N=(0,o.Z)(T,2),O=N[0],w=N[1],A=(0,i.useState)([]),_=(0,o.Z)(A,2),H=_[0],M=_[1],B=(0,i.useState)(!1),R=(0,o.Z)(B,2),V=R[0],K=R[1],L=(0,i.useState)(null),U=(0,o.Z)(L,2),D=U[0],G=U[1],q=r.bucketName||"",Q=(0,k.F)(q,[S.Ft.S3_GET_BUCKET_NOTIFICATIONS]);(0,i.useEffect)((function(){l&&w(!0)}),[l,w]),(0,i.useEffect)((function(){O&&(Q?Z.Z.invoke("GET","/api/v1/buckets/".concat(q,"/events")).then((function(e){var t=h()(e,"events",[]);w(!1),M(t||[])})).catch((function(e){w(!1),n((0,C.Ih)(e))})):w(!1))}),[O,n,q,Q]);var W=[{type:"delete",onClick:function(e){K(!0),G(e)}}];return(0,F.jsxs)(i.Fragment,{children:[V&&(0,F.jsx)(y,{deleteOpen:V,selectedBucket:q,bucketEvent:D,closeDeleteModalAndRefresh:function(e){K(!1),e&&w(!0)}}),v&&(0,F.jsx)(P,{open:v,selectedBucket:q,closeModalAndRefresh:function(){g(!1),w(!0)}}),(0,F.jsxs)(m.ZP,{container:!0,children:[(0,F.jsxs)(m.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,F.jsx)(j.Z,{children:"Events"}),(0,F.jsx)(k.s,{scopes:[S.Ft.S3_PUT_BUCKET_NOTIFICATIONS,S.Ft.ADMIN_SERVER_INFO],resource:q,matchAll:!0,errorProps:{disabled:!0},children:(0,F.jsx)(E.Z,{tooltip:"Subscribe to Event",children:(0,F.jsx)(s.z,{id:"Subscribe-bucket-event",onClick:function(){g(!0)},label:"Subscribe to Event",icon:(0,F.jsx)(f.Z,{}),variant:"callAction"})})})]}),(0,F.jsx)(m.ZP,{item:!0,xs:12,children:(0,F.jsx)(k.s,{scopes:[S.Ft.S3_GET_BUCKET_NOTIFICATIONS],resource:q,errorProps:{disabled:!0},children:(0,F.jsx)(x.Z,{itemActions:W,columns:[{label:"SQS",elementKey:"arn"},{label:"Events",elementKey:"events",renderFunction:function(e){return(0,F.jsx)(i.Fragment,{children:e.join(", ")})}},{label:"Prefix",elementKey:"prefix"},{label:"Suffix",elementKey:"suffix"}],isLoading:O,records:H,entityName:"Events",idField:"id",customPaperHeight:t.twHeight})})}),!O&&(0,F.jsxs)(m.ZP,{item:!0,xs:12,children:[(0,F.jsx)("br",{}),(0,F.jsx)(b.Z,{title:"Lambda Notifications",iconComponent:(0,F.jsx)(p.Z,{}),help:(0,F.jsxs)(i.Fragment,{children:["MinIO bucket notifications allow administrators to send notifications to supported external services on certain object or bucket events. MinIO supports bucket and object-level S3 events similar to the Amazon S3 Event Notifications.",(0,F.jsx)("br",{}),(0,F.jsx)("br",{}),"You can learn more at our"," ",(0,F.jsx)("a",{href:"https://docs.min.io/minio/baremetal/monitoring/bucket-notifications/bucket-notifications.html?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})]})]})]})}))},60680:function(e,t,n){"use strict";n(72791);var o=n(11135),r=n(25787),i=n(80184);t.Z=(0,r.Z)((function(e){return(0,o.Z)({root:{padding:0,margin:0,fontSize:".9rem"}})}))((function(e){var t=e.classes,n=e.children;return(0,i.jsx)("h1",{className:t.root,children:n})}))},26759:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var r=o(n(45649)),i=n(80184),c=(0,r.default)((0,i.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");t.Z=c},70366:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var r=o(n(45649)),i=n(80184),c=(0,r.default)((0,i.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");t.Z=c},97911:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var r=o(n(45649)),i=n(80184),c=(0,r.default)((0,i.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");t.Z=c},94454:function(e,t,n){"use strict";n.d(t,{Z:function(){return I}});var o=n(4942),r=n(63366),i=n(87462),c=n(72791),a=n(94419),s=n(12065),l=n(97278),d=n(76189),u=n(80184),h=(0,d.Z)((0,u.jsx)("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),m=(0,d.Z)((0,u.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),f=(0,d.Z)((0,u.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox"),p=n(14036),v=n(31402),x=n(66934),Z=n(21217);function b(e){return(0,Z.Z)("MuiCheckbox",e)}var j=(0,n(75878).Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),k=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size"],S=(0,x.ZP)(l.Z,{shouldForwardProp:function(e){return(0,x.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.indeterminate&&t.indeterminate,"default"!==n.color&&t["color".concat((0,p.Z)(n.color))]]}})((function(e){var t,n=e.theme,r=e.ownerState;return(0,i.Z)({color:(n.vars||n).palette.text.secondary},!r.disableRipple&&{"&:hover":{backgroundColor:n.vars?"rgba(".concat("default"===r.color?n.vars.palette.action.activeChannel:n.vars.palette.primary.mainChannel," / ").concat(n.vars.palette.action.hoverOpacity,")"):(0,s.Fq)("default"===r.color?n.palette.action.active:n.palette[r.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==r.color&&(t={},(0,o.Z)(t,"&.".concat(j.checked,", &.").concat(j.indeterminate),{color:(n.vars||n).palette[r.color].main}),(0,o.Z)(t,"&.".concat(j.disabled),{color:(n.vars||n).palette.action.disabled}),t))})),g=(0,u.jsx)(m,{}),C=(0,u.jsx)(h,{}),z=(0,u.jsx)(f,{}),I=c.forwardRef((function(e,t){var n,o,s=(0,v.Z)({props:e,name:"MuiCheckbox"}),l=s.checkedIcon,d=void 0===l?g:l,h=s.color,m=void 0===h?"primary":h,f=s.icon,x=void 0===f?C:f,Z=s.indeterminate,j=void 0!==Z&&Z,I=s.indeterminateIcon,E=void 0===I?z:I,F=s.inputProps,y=s.size,P=void 0===y?"medium":y,T=(0,r.Z)(s,k),N=j?E:x,O=j?E:d,w=(0,i.Z)({},s,{color:m,indeterminate:j,size:P}),A=function(e){var t=e.classes,n=e.indeterminate,o=e.color,r={root:["root",n&&"indeterminate","color".concat((0,p.Z)(o))]},c=(0,a.Z)(r,b,t);return(0,i.Z)({},t,c)}(w);return(0,u.jsx)(S,(0,i.Z)({type:"checkbox",inputProps:(0,i.Z)({"data-indeterminate":j},F),icon:c.cloneElement(N,{fontSize:null!=(n=N.props.fontSize)?n:P}),checkedIcon:c.cloneElement(O,{fontSize:null!=(o=O.props.fontSize)?o:P}),ownerState:w,ref:t},T,{classes:A}))}))},26769:function(e,t,n){var o=n(39066),r=n(93629),i=n(43141);e.exports=function(e){return"string"==typeof e||!r(e)&&i(e)&&"[object String]"==o(e)}}}]);
-//# sourceMappingURL=1440.1c1567d3.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1440.2f369689.chunk.js b/portal-ui/build/static/js/1440.2f369689.chunk.js
new file mode 100644
index 000000000..c31d46acd
--- /dev/null
+++ b/portal-ui/build/static/js/1440.2f369689.chunk.js
@@ -0,0 +1,2 @@
+(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1440],{23804:function(e,t,n){"use strict";n(72791);var o=n(11135),i=n(25787),r=n(61889),c=n(80184);t.Z=(0,i.Z)((function(e){return(0,o.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,n=e.iconComponent,o=e.title,i=e.help;return(0,c.jsx)("div",{className:t.root,children:(0,c.jsxs)(r.ZP,{container:!0,children:[(0,c.jsxs)(r.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,o]}),(0,c.jsx)(r.ZP,{item:!0,xs:12,className:t.helpText,children:i})]})})}))},25702:function(e,t,n){"use strict";n.r(t);var o=n(29439),i=n(1413),r=n(72791),c=n(60364),a=n(16871),s=n(75952),l=n(11135),d=n(25787),u=n(26181),h=n.n(u),m=n(61889),f=n(47919),p=n(86856),v=n(23814),x=n(92983),Z=n(81207),b=n(23804),j=n(60680),k=n(38442),S=n(56087),g=n(75578),C=n(87995),z=n(9859),I=n(25469),E=n(27454),F=n(80184),y=(0,g.Z)(r.lazy((function(){return n.e(455).then(n.bind(n,80455))}))),P=(0,g.Z)(r.lazy((function(){return Promise.all([n.e(3801),n.e(1918),n.e(6172),n.e(2661)]).then(n.bind(n,82661))})));t.default=(0,d.Z)((function(e){return(0,l.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},v.qg),v.OR),{},{twHeight:{minHeight:400}}))}))((function(e){var t=e.classes,n=(0,I.TL)(),i=(0,a.UO)(),l=(0,c.v9)(z.HQ),d=(0,r.useState)(!1),u=(0,o.Z)(d,2),v=u[0],g=u[1],T=(0,r.useState)(!0),N=(0,o.Z)(T,2),O=N[0],w=N[1],A=(0,r.useState)([]),_=(0,o.Z)(A,2),H=_[0],M=_[1],B=(0,r.useState)(!1),R=(0,o.Z)(B,2),V=R[0],K=R[1],L=(0,r.useState)(null),U=(0,o.Z)(L,2),D=U[0],G=U[1],q=i.bucketName||"",Q=(0,k.F)(q,[S.Ft.S3_GET_BUCKET_NOTIFICATIONS]);(0,r.useEffect)((function(){l&&w(!0)}),[l,w]),(0,r.useEffect)((function(){O&&(Q?Z.Z.invoke("GET","/api/v1/buckets/".concat(q,"/events")).then((function(e){var t=h()(e,"events",[]);w(!1),M(t||[])})).catch((function(e){w(!1),n((0,C.Ih)(e))})):w(!1))}),[O,n,q,Q]);var W=[{type:"delete",onClick:function(e){K(!0),G(e)}}];return(0,F.jsxs)(r.Fragment,{children:[V&&(0,F.jsx)(y,{deleteOpen:V,selectedBucket:q,bucketEvent:D,closeDeleteModalAndRefresh:function(e){K(!1),e&&w(!0)}}),v&&(0,F.jsx)(P,{open:v,selectedBucket:q,closeModalAndRefresh:function(){g(!1),w(!0)}}),(0,F.jsxs)(m.ZP,{container:!0,children:[(0,F.jsxs)(m.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,F.jsx)(j.Z,{children:"Events"}),(0,F.jsx)(k.s,{scopes:[S.Ft.S3_PUT_BUCKET_NOTIFICATIONS,S.Ft.ADMIN_SERVER_INFO],resource:q,matchAll:!0,errorProps:{disabled:!0},children:(0,F.jsx)(E.Z,{tooltip:"Subscribe to Event",children:(0,F.jsx)(s.z,{id:"Subscribe-bucket-event",onClick:function(){g(!0)},label:"Subscribe to Event",icon:(0,F.jsx)(f.Z,{}),variant:"callAction"})})})]}),(0,F.jsx)(m.ZP,{item:!0,xs:12,children:(0,F.jsx)(k.s,{scopes:[S.Ft.S3_GET_BUCKET_NOTIFICATIONS],resource:q,errorProps:{disabled:!0},children:(0,F.jsx)(x.Z,{itemActions:W,columns:[{label:"SQS",elementKey:"arn"},{label:"Events",elementKey:"events",renderFunction:function(e){return(0,F.jsx)(r.Fragment,{children:e.join(", ")})}},{label:"Prefix",elementKey:"prefix"},{label:"Suffix",elementKey:"suffix"}],isLoading:O,records:H,entityName:"Events",idField:"id",customPaperHeight:t.twHeight})})}),!O&&(0,F.jsxs)(m.ZP,{item:!0,xs:12,children:[(0,F.jsx)("br",{}),(0,F.jsx)(b.Z,{title:"Lambda Notifications",iconComponent:(0,F.jsx)(p.Z,{}),help:(0,F.jsxs)(r.Fragment,{children:["MinIO bucket notifications allow administrators to send notifications to supported external services on certain object or bucket events. MinIO supports bucket and object-level S3 events similar to the Amazon S3 Event Notifications.",(0,F.jsx)("br",{}),(0,F.jsx)("br",{}),"You can learn more at our"," ",(0,F.jsx)("a",{href:"https://min.io/docs/minio/linux/administration/monitoring/bucket-notifications.html?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})]})]})]})}))},60680:function(e,t,n){"use strict";n(72791);var o=n(11135),i=n(25787),r=n(80184);t.Z=(0,i.Z)((function(e){return(0,o.Z)({root:{padding:0,margin:0,fontSize:".9rem"}})}))((function(e){var t=e.classes,n=e.children;return(0,r.jsx)("h1",{className:t.root,children:n})}))},26759:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var i=o(n(45649)),r=n(80184),c=(0,i.default)((0,r.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");t.Z=c},70366:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var i=o(n(45649)),r=n(80184),c=(0,i.default)((0,r.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");t.Z=c},97911:function(e,t,n){"use strict";var o=n(64836);t.Z=void 0;var i=o(n(45649)),r=n(80184),c=(0,i.default)((0,r.jsx)("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumn");t.Z=c},94454:function(e,t,n){"use strict";n.d(t,{Z:function(){return I}});var o=n(4942),i=n(63366),r=n(87462),c=n(72791),a=n(94419),s=n(12065),l=n(97278),d=n(76189),u=n(80184),h=(0,d.Z)((0,u.jsx)("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),m=(0,d.Z)((0,u.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),f=(0,d.Z)((0,u.jsx)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox"),p=n(14036),v=n(31402),x=n(66934),Z=n(21217);function b(e){return(0,Z.Z)("MuiCheckbox",e)}var j=(0,n(75878).Z)("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary"]),k=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size"],S=(0,x.ZP)(l.Z,{shouldForwardProp:function(e){return(0,x.FO)(e)||"classes"===e},name:"MuiCheckbox",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.indeterminate&&t.indeterminate,"default"!==n.color&&t["color".concat((0,p.Z)(n.color))]]}})((function(e){var t,n=e.theme,i=e.ownerState;return(0,r.Z)({color:(n.vars||n).palette.text.secondary},!i.disableRipple&&{"&:hover":{backgroundColor:n.vars?"rgba(".concat("default"===i.color?n.vars.palette.action.activeChannel:n.vars.palette.primary.mainChannel," / ").concat(n.vars.palette.action.hoverOpacity,")"):(0,s.Fq)("default"===i.color?n.palette.action.active:n.palette[i.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==i.color&&(t={},(0,o.Z)(t,"&.".concat(j.checked,", &.").concat(j.indeterminate),{color:(n.vars||n).palette[i.color].main}),(0,o.Z)(t,"&.".concat(j.disabled),{color:(n.vars||n).palette.action.disabled}),t))})),g=(0,u.jsx)(m,{}),C=(0,u.jsx)(h,{}),z=(0,u.jsx)(f,{}),I=c.forwardRef((function(e,t){var n,o,s=(0,v.Z)({props:e,name:"MuiCheckbox"}),l=s.checkedIcon,d=void 0===l?g:l,h=s.color,m=void 0===h?"primary":h,f=s.icon,x=void 0===f?C:f,Z=s.indeterminate,j=void 0!==Z&&Z,I=s.indeterminateIcon,E=void 0===I?z:I,F=s.inputProps,y=s.size,P=void 0===y?"medium":y,T=(0,i.Z)(s,k),N=j?E:x,O=j?E:d,w=(0,r.Z)({},s,{color:m,indeterminate:j,size:P}),A=function(e){var t=e.classes,n=e.indeterminate,o=e.color,i={root:["root",n&&"indeterminate","color".concat((0,p.Z)(o))]},c=(0,a.Z)(i,b,t);return(0,r.Z)({},t,c)}(w);return(0,u.jsx)(S,(0,r.Z)({type:"checkbox",inputProps:(0,r.Z)({"data-indeterminate":j},F),icon:c.cloneElement(N,{fontSize:null!=(n=N.props.fontSize)?n:P}),checkedIcon:c.cloneElement(O,{fontSize:null!=(o=O.props.fontSize)?o:P}),ownerState:w,ref:t},T,{classes:A}))}))},26769:function(e,t,n){var o=n(39066),i=n(93629),r=n(43141);e.exports=function(e){return"string"==typeof e||!i(e)&&r(e)&&"[object String]"==o(e)}}}]);
+//# sourceMappingURL=1440.2f369689.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1440.1c1567d3.chunk.js.map b/portal-ui/build/static/js/1440.2f369689.chunk.js.map
similarity index 51%
rename from portal-ui/build/static/js/1440.1c1567d3.chunk.js.map
rename to portal-ui/build/static/js/1440.2f369689.chunk.js.map
index 2a91a1fe4..c31e63035 100644
--- a/portal-ui/build/static/js/1440.1c1567d3.chunk.js.map
+++ b/portal-ui/build/static/js/1440.2f369689.chunk.js.map
@@ -1 +1 @@
-{"version":3,"file":"static/js/1440.1c1567d3.chunk.js","mappings":"sKA0EA,KAAeA,EAAAA,EAAAA,IApDA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXC,KAAM,CACJC,OAAQ,oBACRC,aAAc,EACdC,gBAAiB,UACjBC,YAAa,GACbC,WAAY,GACZC,cAAe,GACfC,aAAc,IAEhBC,UAAW,CACTC,SAAU,GACVC,WAAY,OACZC,aAAc,GACdC,QAAS,OACTC,WAAY,SACZ,cAAe,CACbC,YAAa,GACbC,OAAQ,GACRC,MAAO,KAGXC,SAAU,CACRR,SAAU,GACVL,YAAa,IAzBJ,GAoDf,EAhBgB,SAAC,GAAuD,IAArDc,EAAoD,EAApDA,QAASC,EAA2C,EAA3CA,cAAeC,EAA4B,EAA5BA,MAAOC,EAAqB,EAArBA,KAChD,OACE,gBAAKC,UAAWJ,EAAQlB,KAAxB,UACE,UAAC,KAAD,CAAMuB,WAAS,EAAf,WACE,UAAC,KAAD,CAAMC,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQV,UAAtC,UACGW,EACAC,MAEH,SAAC,KAAD,CAAMI,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQD,SAAtC,SACGI,QAKV,G,0UCtBKK,GAAcC,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,kBAAM,8BAAN,KACtCC,GAAWF,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,kBAAM,4EAAN,KAwLzC,WAAe/B,EAAAA,EAAAA,IAtLA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,0BACR+B,EAAAA,IACAC,EAAAA,IAFO,IAGVC,SAAU,CACRC,UAAW,OALF,GAsLf,EAzK0B,SAAC,GAAqC,IAAnCf,EAAkC,EAAlCA,QACrBgB,GAAWC,EAAAA,EAAAA,MACXC,GAASC,EAAAA,EAAAA,MAETC,GAAgBC,EAAAA,EAAAA,IAAYC,EAAAA,IAElC,GAAoDC,EAAAA,EAAAA,WAAkB,GAAtE,eAAOC,EAAP,KAA2BC,EAA3B,KACA,GAA0CF,EAAAA,EAAAA,WAAkB,GAA5D,eAAOG,EAAP,KAAsBC,EAAtB,KACA,GAA8BJ,EAAAA,EAAAA,UAAwB,IAAtD,eAAOK,EAAP,KAAgBC,EAAhB,KACA,GAAoCN,EAAAA,EAAAA,WAAkB,GAAtD,eAAOO,EAAP,KAAmBC,EAAnB,KACA,GAA0CR,EAAAA,EAAAA,UAA6B,MAAvE,eAAOS,EAAP,KAAsBC,EAAtB,KAEMC,EAAahB,EAAOgB,YAAc,GAElCC,GAAgBC,EAAAA,EAAAA,GAAcF,EAAY,CAC9CG,EAAAA,GAAAA,+BAGFC,EAAAA,EAAAA,YAAU,WACJlB,GACFO,GAAiB,EAEpB,GAAE,CAACP,EAAeO,KAEnBW,EAAAA,EAAAA,YAAU,WACJZ,IACES,EACFI,EAAAA,EAAAA,OACU,MADV,0BACoCL,EADpC,YAEGM,MAAK,SAACC,GACL,IAAMC,EAASC,IAAIF,EAAK,SAAU,IAClCd,GAAiB,GACjBE,EAAWa,GAAU,GACtB,IACAE,OAAM,SAACC,GACNlB,GAAiB,GACjBX,GAAS8B,EAAAA,EAAAA,IAAqBD,GAC/B,IAEHlB,GAAiB,GAGtB,GAAE,CAACD,EAAeV,EAAUkB,EAAYC,IAEzC,IAqBMY,EAAe,CAAC,CAAEC,KAAM,SAAUC,QAjBb,SAACC,GAC1BnB,GAAc,GACdE,EAAiBiB,EAClB,IAgBD,OACE,UAAC,EAAAC,SAAD,WACGrB,IACC,SAACtB,EAAD,CACEsB,WAAYA,EACZsB,eAAgBlB,EAChBmB,YAAarB,EACbsB,2BAhB2B,SAACC,GAClCxB,GAAc,GACVwB,GACF5B,GAAiB,EAEpB,IAcIH,IACC,SAACb,EAAD,CACE6C,KAAMhC,EACN4B,eAAgBlB,EAChBuB,qBA5BwB,WAC9BhC,GAAsB,GACtBE,GAAiB,EAClB,KA6BG,UAAC,KAAD,CAAMtB,WAAS,EAAf,WACE,UAAC,KAAD,CAAMC,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQa,YAAtC,WACE,SAAC,IAAD,sBACA,SAAC,IAAD,CACE6C,OAAQ,CACNrB,EAAAA,GAAAA,4BACAA,EAAAA,GAAAA,mBAEFsB,SAAUzB,EACV0B,UAAQ,EACRC,WAAY,CAAEC,UAAU,GAP1B,UASE,SAAC,IAAD,CAAgBC,QAAS,qBAAzB,UACE,SAAC,IAAD,CACEC,GAAI,yBACJf,QAAS,WACPxB,GAAsB,EACvB,EACDwC,MAAO,qBACPC,MAAM,SAAC,IAAD,IACNC,QAAS,uBAKjB,SAAC,KAAD,CAAM7D,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,IAAD,CACEmD,OAAQ,CAACrB,EAAAA,GAAAA,6BACTsB,SAAUzB,EACV2B,WAAY,CAAEC,UAAU,GAH1B,UAKE,SAAC,IAAD,CACEM,YAAarB,EACbsB,QAAS,CACP,CAAEJ,MAAO,MAAOK,WAAY,OAC5B,CACEL,MAAO,SACPK,WAAY,SACZC,eA/EM,SAAC7B,GACrB,OAAO,SAAC,EAAAS,SAAD,UAAWT,EAAO8B,KAAK,OAC/B,GA+Ea,CAAEP,MAAO,SAAUK,WAAY,UAC/B,CAAEL,MAAO,SAAUK,WAAY,WAEjCG,UAAW/C,EACXE,QAASA,EACT8C,WAAW,SACXC,QAAQ,KACRC,kBAAmB5E,EAAQc,gBAI/BY,IACA,UAAC,KAAD,CAAMpB,MAAI,EAACC,GAAI,GAAf,WACE,mBACA,SAAC,IAAD,CACEL,MAAO,uBACPD,eAAe,SAAC,IAAD,IACfE,MACE,UAAC,EAAAgD,SAAD,sPAKE,mBACA,kBANF,4BAO4B,KAC1B,cACE0B,KAAK,wGACLC,OAAO,SACPC,IAAI,aAHN,2BARF,iBAwBf,G,mFCjMD,KAAepG,EAAAA,EAAAA,IAlBA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXC,KAAM,CACJkG,QAAS,EACTC,OAAQ,EACR1F,SAAU,UALD,GAkBf,EAJmB,SAAC,GAAwC,IAAtCS,EAAqC,EAArCA,QAASkF,EAA4B,EAA5BA,SAC7B,OAAO,eAAI9E,UAAWJ,EAAQlB,KAAvB,SAA8BoG,GACtC,G,yCCpCGC,EAAyBC,EAAQ,OAKrCC,EAAQ,OAAU,EAElB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAEhDG,EAAcH,EAAQ,OAEtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,mBACD,iBAEJN,EAAQ,EAAUG,C,yCCfdL,EAAyBC,EAAQ,OAKrCC,EAAQ,OAAU,EAElB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAEhDG,EAAcH,EAAQ,OAEtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,mBACD,eAEJN,EAAQ,EAAUG,C,yCCfdL,EAAyBC,EAAQ,OAKrCC,EAAQ,OAAU,EAElB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAEhDG,EAAcH,EAAQ,OAEtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,sEACD,cAEJN,EAAQ,EAAUG,C,2KCVlB,GAAeI,EAAAA,EAAAA,IAA4BC,EAAAA,EAAAA,KAAK,OAAQ,CACtDF,EAAG,+FACD,wBCFJ,GAAeC,EAAAA,EAAAA,IAA4BC,EAAAA,EAAAA,KAAK,OAAQ,CACtDF,EAAG,wIACD,YCFJ,GAAeC,EAAAA,EAAAA,IAA4BC,EAAAA,EAAAA,KAAK,OAAQ,CACtDF,EAAG,kGACD,yB,4CCRG,SAASG,EAAwBC,GACtC,OAAOC,EAAAA,EAAAA,GAAqB,cAAeD,EAC5C,CACD,IACA,GADwBE,E,SAAAA,GAAuB,cAAe,CAAC,OAAQ,UAAW,WAAY,gBAAiB,eAAgB,mBCFzHC,EAAY,CAAC,cAAe,QAAS,OAAQ,gBAAiB,oBAAqB,aAAc,QA6BjGC,GAAeC,EAAAA,EAAAA,IAAOC,EAAAA,EAAY,CACtCC,kBAAmB,SAAAC,GAAI,OAAIC,EAAAA,EAAAA,IAAsBD,IAAkB,YAATA,CAAnC,EACvBE,KAAM,cACNV,KAAM,OACNW,kBAAmB,SAACC,EAAOC,GACzB,IACEC,EACEF,EADFE,WAEF,MAAO,CAACD,EAAO9H,KAAM+H,EAAWC,eAAiBF,EAAOE,cAAoC,YAArBD,EAAWE,OAAuBH,EAAO,QAAD,QAASI,EAAAA,EAAAA,GAAWH,EAAWE,SAC/I,GATkBX,EAUlB,kBACDxH,EADC,EACDA,MACAiI,EAFC,EAEDA,WAFC,OAGGI,EAAAA,EAAAA,GAAS,CACbF,OAAQnI,EAAMsI,MAAQtI,GAAOuI,QAAQC,KAAKC,YACxCR,EAAWS,eAAiB,CAC9B,UAAW,CACTrI,gBAAiBL,EAAMsI,KAAN,eAA0C,YAArBL,EAAWE,MAAsBnI,EAAMsI,KAAKC,QAAQI,OAAOC,cAAgB5I,EAAMsI,KAAKC,QAAQM,QAAQC,YAA3H,cAA4I9I,EAAMsI,KAAKC,QAAQI,OAAOI,aAAtK,MAAwLC,EAAAA,EAAAA,IAA2B,YAArBf,EAAWE,MAAsBnI,EAAMuI,QAAQI,OAAOM,OAASjJ,EAAMuI,QAAQN,EAAWE,OAAOe,KAAMlJ,EAAMuI,QAAQI,OAAOI,cAEzU,uBAAwB,CACtB1I,gBAAiB,iBAGC,YAArB4H,EAAWE,QAAX,2BACKgB,EAAAA,QADL,eACmCA,EAAAA,eAAkC,CACpEhB,OAAQnI,EAAMsI,MAAQtI,GAAOuI,QAAQN,EAAWE,OAAOe,QAFxD,qBAIKC,EAAAA,UAA6B,CACjChB,OAAQnI,EAAMsI,MAAQtI,GAAOuI,QAAQI,OAAOzD,WAL7C,GAbA,IAsBGkE,GAAkCnC,EAAAA,EAAAA,KAAKoC,EAAc,CAAC,GAEtDC,GAA2BrC,EAAAA,EAAAA,KAAKsC,EAA0B,CAAC,GAE3DC,GAAwCvC,EAAAA,EAAAA,KAAKwC,EAA2B,CAAC,GAsK/E,EApK8B3H,EAAAA,YAAiB,SAAkB4H,EAASC,GACxE,IAAIC,EAAsBC,EAEpB9B,GAAQ+B,EAAAA,EAAAA,GAAc,CAC1B/B,MAAO2B,EACP7B,KAAM,gBAGR,EAQIE,EAPFgC,YAAAA,OADF,MACgBX,EADhB,IAQIrB,EANFI,MAAAA,OAFF,MAEU,UAFV,IAQIJ,EALFzC,KAAM0E,OAHR,MAGmBV,EAHnB,IAQIvB,EAJFG,cAAAA,OAJF,WAQIH,EAHFkC,kBAAmBC,OALrB,MAK6CV,EAL7C,EAMEW,EAEEpC,EAFFoC,WANF,EAQIpC,EADFqC,KAAAA,OAPF,MAOS,SAPT,EASMC,GAAQC,EAAAA,EAAAA,GAA8BvC,EAAOT,GAE7ChC,EAAO4C,EAAgBgC,EAAwBF,EAC/CC,EAAoB/B,EAAgBgC,EAAwBH,EAE5D9B,GAAaI,EAAAA,EAAAA,GAAS,CAAC,EAAGN,EAAO,CACrCI,MAAAA,EACAD,cAAAA,EACAkC,KAAAA,IAGIhJ,EA/EkB,SAAA6G,GACxB,IACE7G,EAGE6G,EAHF7G,QACA8G,EAEED,EAFFC,cACAC,EACEF,EADFE,MAEIoC,EAAQ,CACZrK,KAAM,CAAC,OAAQgI,GAAiB,gBAA1B,gBAAmDE,EAAAA,EAAAA,GAAWD,MAEhEqC,GAAkBC,EAAAA,EAAAA,GAAeF,EAAOrD,EAAyB9F,GACvE,OAAOiH,EAAAA,EAAAA,GAAS,CAAC,EAAGjH,EAASoJ,EAC9B,CAoEiBE,CAAkBzC,GAClC,OAAoBhB,EAAAA,EAAAA,KAAKM,GAAcc,EAAAA,EAAAA,GAAS,CAC9CjE,KAAM,WACN+F,YAAY9B,EAAAA,EAAAA,GAAS,CACnB,qBAAsBH,GACrBiC,GACH7E,KAAmBxD,EAAAA,aAAmBwD,EAAM,CAC1C3E,SAA0D,OAA/CiJ,EAAuBtE,EAAKyC,MAAMpH,UAAoBiJ,EAAuBQ,IAE1FL,YAA0BjI,EAAAA,aAAmBmI,EAAmB,CAC9DtJ,SAAwE,OAA7DkJ,EAAwBI,EAAkBlC,MAAMpH,UAAoBkJ,EAAwBO,IAEzGnC,WAAYA,EACZ0B,IAAKA,GACJU,EAAO,CACRjJ,QAASA,IAEZ,G,wBClHD,IAAIuJ,EAAanE,EAAQ,OACrBoE,EAAUpE,EAAQ,OAClBqE,EAAerE,EAAQ,OA2B3BsE,EAAOrE,QALP,SAAkBsE,GAChB,MAAuB,iBAATA,IACVH,EAAQG,IAAUF,EAAaE,IArBrB,mBAqB+BJ,EAAWI,EACzD,C","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/BucketEventsPanel.tsx","screens/Console/Common/PanelTitle/PanelTitle.tsx","../node_modules/@mui/icons-material/ArrowDropDown.js","../node_modules/@mui/icons-material/ArrowDropUp.js","../node_modules/@mui/icons-material/ViewColumn.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../node_modules/lodash/isString.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useParams } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Button } from \"mds\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport AddIcon from \"../../../../icons/AddIcon\";\nimport LambdaIcon from \"../../../../icons/LambdaIcon\";\nimport { BucketEvent, BucketEventList } from \"../types\";\nimport {\n actionsTray,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport api from \"../../../../common/api\";\n\nimport HelpBox from \"../../../../common/HelpBox\";\nimport PanelTitle from \"../../Common/PanelTitle/PanelTitle\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { selBucketDetailsLoading } from \"./bucketDetailsSlice\";\nimport { useAppDispatch } from \"../../../../store\";\nimport TooltipWrapper from \"../../Common/TooltipWrapper/TooltipWrapper\";\n\nconst DeleteEvent = withSuspense(React.lazy(() => import(\"./DeleteEvent\")));\nconst AddEvent = withSuspense(React.lazy(() => import(\"./AddEvent\")));\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...searchField,\n ...actionsTray,\n twHeight: {\n minHeight: 400,\n },\n });\n\ninterface IBucketEventsProps {\n classes: any;\n}\n\nconst BucketEventsPanel = ({ classes }: IBucketEventsProps) => {\n const dispatch = useAppDispatch();\n const params = useParams();\n\n const loadingBucket = useSelector(selBucketDetailsLoading);\n\n const [addEventScreenOpen, setAddEventScreenOpen] = useState(false);\n const [loadingEvents, setLoadingEvents] = useState(true);\n const [records, setRecords] = useState([]);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedEvent, setSelectedEvent] = useState(null);\n\n const bucketName = params.bucketName || \"\";\n\n const displayEvents = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_NOTIFICATIONS,\n ]);\n\n useEffect(() => {\n if (loadingBucket) {\n setLoadingEvents(true);\n }\n }, [loadingBucket, setLoadingEvents]);\n\n useEffect(() => {\n if (loadingEvents) {\n if (displayEvents) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/events`)\n .then((res: BucketEventList) => {\n const events = get(res, \"events\", []);\n setLoadingEvents(false);\n setRecords(events || []);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingEvents(false);\n dispatch(setErrorSnackMessage(err));\n });\n } else {\n setLoadingEvents(false);\n }\n }\n }, [loadingEvents, dispatch, bucketName, displayEvents]);\n\n const eventsDisplay = (events: string[]) => {\n return